Objectif Comprendre à l ’aide d ’un exemple simple le déroulement des instructions au niveau microprogramme
Les microprogrammes Le cycle de base Un exemple complet L ’exécution
Cycle de base Recherche de l’instruction Exécution de l’instruction Pointage vers l’instruction suivante
Réalisation du contrôleur +1 LCO PSR LEC LMM CRI CRA CEA EDA ECR EMM Sorties de contrôle du chemin de données État suivant Registre d’état Entrées venant du champ de code-op du registre instruction
Cycle de base Recherche de l’instruction Exécution de l’instruction Pointage vers l’instruction suivante L’adresse de l’instruction à exécuter est dans le compteur ordinal L’adresse est mise dans le registre d’adresse de la mémoire L’instruction passe de la mémoire au registre instruction par l’intermédiaire du registre mot
Le fonctionnement LCO PSR LEC LMM CRI 2 XXXX LCO PSR LEC LMM CRI CRA CEA +1 PSR EDA ECR EMM CRA PSR LEC LMM CEA 2 XXXX
Cycle de base Recherche de l’instruction Exécution de l’instruction Pointage vers l’instruction suivante Le compteur ordinal est incrémenté de 1 pour pointer sur l’adresse de l’instruction suivante. Remarque : Pour une instruction conditionnelle (Si Alors Sinon), le compteur ordinal n’est pas incrémenté, il est chargé avec l’adresse de l’instruction à exécuter.
Le fonctionnement Inc 4 COP=C6 LCO PSR LEC LMM CRI CRA PSR LEC LMM CEA +1 PSR EDA ECR EMM CRA PSR LEC LMM CEA 4 COP=C6
Cycle de base Recherche de l’instruction Exécution de l’instruction Pointage vers l’instruction suivante La partie code de l’opération (ce que doit faire l’instruction) du registre instruction est décodée. Le contrôleur envoie les signaux de contrôle pour piloter le chemin de données. Les données se propagent à travers le chemin de données. Il est nécessaire de mettre au point,une méthodologie de synchronisation, pour définir à quel moment les signaux peuvent être lus et écrits.
Le fonctionnement CAD PSR LEC LMM CEA CRA EDA COP=C6 LCO PSR LEC LMM CRI CRA PSR LEC LMM CEA +1 PSR EDA ECR EMM CRA PSR LEC LMM CEA COP=C6
Cycle de base Recherche de l’instruction Pointage vers l’instruction suivante Exécution de l’instruction Et on recommence
Le fonctionnement LCO PSR LEC LMM CRI 2 XXXX LCO PSR LEC LMM CRI CRA CEA +1 PSR EDA ECR EMM CRA PSR LEC LMM CEA 2 XXXX
Hiérarchie de traduction Un exemple complet { int a=8, b=4, c; c=a+b; } ? Compilateur LD A,(F800h) ADD A,(F810h) st (F820h),A Hiérarchie de traduction Assembleur 08 04 -- 3AF800 C6F810 32F820 08 F800 04 F810 -- F820 3AF800 FB00 C6F810 FB01 32F820 FB02 Chargeur en Mémoire
L’architecture Compteur Ordinal Accumulateur Bus d’adresses U.A.L. 1 LCO CCO Accumulateur Bus d’adresses Registre adresse PSR CRA U.A.L. CAD LEC ECR H Registre mot CEB Registre Instruction EDA CEA CRI LMM EMM Bus de données
Charger le programme Compteur Ordinal Accumulateur Bus d’adresses Données F800 08 F810 04 F820 00 Instructions FB00 3A F8 00 FB01 C6 F8 10 FB02 32 F8 20 FB00 1 LCO CCO Accumulateur Bus d’adresses Registre adresse PSR CRA U.A.L. CAD LEC ECR H Registre mot CEB Registre Instruction EDA CEA CRI LMM EMM Bus de données
Extraction de l ’instruction Unité Centrale Compteur Ordinal 1 Mémoire centrale FB00 Données F800 08 F810 04 F820 00 Instructions FB00 3A F8 00 FB01 C6 F8 10 FB02 32 F8 20 LCO CCO Accumulateur Bus d’adresses FB00 PSR CRA +1 U.A.L. CAD LEC ECR H 3A F8 00 Registre mot CEB 3A F8 00 Registre Instruction EDA CEA CRI LMM EMM Bus de données
Le compteur ordinal est incrémenté Unité Centrale Compteur Ordinal Mémoire centrale FB01 +1 Données F800 08 F810 04 F820 00 Instructions FB00 3A F8 00 FB01 C6 F8 10 FB02 32 F8 20 LCO CCO Accumulateur Bus d’adresses FB00 PSR CRA +1 U.A.L. CAD LEC ECR H 3A F8 00 Registre mot CEB 3A F8 00 Registre Instruction EDA CEA CRI LMM EMM Bus de données
Le chargement : les signaux à piloter Unité Centrale Compteur Ordinal 1 Mémoire centrale FB01 Données F800 08 F810 04 F820 00 Instructions FB00 3A F8 00 FB01 C6 F8 10 FB02 32 F8 20 LCO CCO Accumulateur 08 Bus d’adresses FB00 PSR CRA +1 U.A.L. CAD LEC ECR H 08 Registre mot CEB 3A F8 00 Registre Instruction EDA CEA CRI LMM EMM Bus de données
Extraction de l ’instruction Unité Centrale Compteur Ordinal 1 Mémoire centrale FB01 Données F800 08 F810 04 F820 00 Instructions FB00 3A F8 00 FB01 C6 F8 10 FB02 32 F8 20 LCO CCO Accumulateur 08 Bus d’adresses FB01 PSR CRA +1 U.A.L. CAD LEC ECR H Registre mot CEB C6 F8 10 Registre Instruction C6 F8 10 EDA CEA CRI LMM EMM Bus de données
² FB02 Unité Centrale Mémoire centrale Compteur Ordinal +1 Données Instructions FB00 3A F8 00 FB01 C6 F8 10 FB02 32 F8 20 LCO CCO Accumulateur Bus d’adresses FB00 PSR CRA +1 U.A.L. CAD LEC ECR H 3A F8 00 Registre mot CEB C6 F8 00 Registre Instruction EDA CEA CRI LMM EMM Bus de données
Exécution Unité Centrale Mémoire centrale 12 F810 08 04 04 Compteur Ordinal 1 Mémoire centrale FB02 Données F800 08 F810 04 F820 00 Instructions FB00 3A F8 00 FB01 C6 F8 10 FB02 32 F8 20 LCO CCO Accumulateur 12 Bus d’adresses F810 PSR CRA +1 U.A.L. 08 04 CAD LEC ECR H 04 Registre mot CEB C6 F810 Registre Instruction EDA CEA CRI LMM EMM Bus de données
Extraction de l ’instruction Unité Centrale Compteur Ordinal 1 Mémoire centrale FB02 Données F800 08 F810 04 F820 00 Instructions FB00 3A F8 00 FB01 C6 F8 10 FB02 32 F8 20 LCO CCO Accumulateur 12 Bus d’adresses FB02 PSR CRA +1 U.A.L. CAD LEC ECR H 32 F8 20 Registre mot CEB 32 F8 20 Registre Instruction EDA CEA CRI LMM EMM Bus de données
Le compteur ordinal est incrémenté Unité Centrale Compteur Ordinal 1 Mémoire centrale FB03 Données F800 08 F810 04 F820 00 Instructions FB00 3A F8 00 FB01 C6 F8 10 FB02 32 F8 20 LCO CCO Accumulateur 12 Bus d’adresses FB02 PSR CRA +1 U.A.L. CAD LEC ECR H 32 F8 20 Registre mot CEB 32 F8 20 Registre Instruction EDA CEA CRI LMM EMM Bus de données
Exécution Unité Centrale Mémoire centrale 12 F820 12 Compteur Ordinal FB03 Données F800 08 F810 04 F820 12 Instructions FB00 3A F8 00 FB01 C6 F8 10 FB02 32 F8 20 LCO CCO Accumulateur 12 Bus d’adresses F820 PSR CRA +1 U.A.L. CAD LEC ECR H 12 Registre mot CEB 32 F820 Registre Instruction EDA CEA CRI LMM EMM Bus de données
Le programme est terminé Unité Centrale Compteur Ordinal 1 Mémoire centrale FB03 Données F800 08 F810 04 F820 12 Instructions FB00 3A F8 00 FB01 C6 F8 10 FB02 32 F8 20 LCO CCO Accumulateur Bus d’adresses F800 PSR CRA Contrôleur U.A.L. CAD LEC ECR H Registre mot CEB Registre Instruction EDA CEA CRI LMM EMM Bus de données
La micro-programmation Commande 1 Commande 2 Commande n Phase i 1 1 Adresse suivante Phase i+1 1 1 1 Adresse suivante 1 1 1 Micro-commande Chargement RA Chargement drapeaux Mémoire de micro-programme Adresse de la micro- instruction suivante Registre instruction Compteur Décodeur Commandes Adresse