270 likes | 382 Views
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. Recherche de l’instruction. Pointage vers l’instruction suivante. Exécution de l’instruction. Cycle de base.
E N D
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
Recherche de l’instruction Pointage vers l’instruction suivante Exécution de l’instruction Cycle de base
LCO PSR LEC LMM CRI CRA PSR LEC LMM CEA +1 PSR EDA ECR EMM CRA PSR LEC LMM CEA Registre d’état Réalisation du contrôleur Sorties de contrôle du chemin de données État suivant Entrées venant du champ de code-op du registre instruction
Recherche de l’instruction Pointage vers l’instruction suivante Exécution de l’instruction Cycle de base 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 LCO PSR LEC LMM CRI CRA PSR LEC LMM CEA +1 PSR EDA ECR EMM CRA PSR LEC LMM CEA 2 XXXX
Recherche de l’instruction Pointage vers l’instruction suivante Exécution de l’instruction Cycle de base 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 LCO PSR LEC LMM CRI CRA PSR LEC LMM CEA Inc +1 PSR EDA ECR EMM CRA PSR LEC LMM CEA 4 COP=C6
Recherche de l’instruction Pointage vers l’instruction suivante Exécution de l’instruction Cycle de base 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 LCO PSR LEC LMM CRI CRA PSR LEC LMM CEA +1 PSR EDA ECR EMM CRA PSR LEC LMM CEA 0 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 LCO PSR LEC LMM CRI CRA PSR LEC LMM CEA +1 PSR EDA ECR EMM CRA PSR LEC LMM CEA 2 XXXX
Compilateur Assembleur Chargeur en Mémoire Un exemple complet { int a=8, b=4, c; c=a+b; } ? LD A,(F800h) ADD A,(F810h) st (F820h),A Hiérarchie de traduction 08 04 -- 3AF800 C6F810 32F820 08 F800 04 F810 -- F820 3AF800 FB00 C6F810 FB01 32F820 FB02
L’architecture Compteur Ordinal 1 LCO CCO Accumulateur Bus d’adresses Registre adresse PSR CRA U.A.L. CAD LEC ECR H Registre mot Registre Instruction CEB EDA CEA CRI LMM EMM Bus de données
Charger le programme FB00 Données F800 08 F810 04 F820 00 Instructions FB00 3A F8 00 FB01 C6 F8 10 FB02 32 F8 20 Compteur Ordinal 1 LCO CCO Accumulateur Bus d’adresses Registre adresse PSR CRA U.A.L. CAD LEC ECR H Registre mot Registre Instruction CEB EDA CEA CRI LMM EMM Bus de données
Extraction de l ’instruction Compteur Ordinal Unité Centrale Mémoire centrale 1 FB00 Données F800 08 F810 04 F820 00 Instructions FB003A F8 00 FB01 C6 F8 10 FB02 32 F8 20 LCO CCO Accumulateur Bus d’adresses FB00 PSR CRA +1 U.A.L. LEC CAD 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é Compteur Ordinal Unité Centrale Mémoire centrale +1 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 Bus d’adresses FB00 PSR CRA +1 U.A.L. LEC CAD ECR H Registre mot 3A F8 00 CEB Registre Instruction 3A F8 00 EDA CEA CRI LMM EMM Bus de données
Le chargement : les signaux à piloter Compteur Ordinal Unité Centrale Mémoire centrale 1 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. LEC CAD ECR H Registre mot 08 CEB Registre Instruction 3A F8 00 EDA CEA CRI LMM EMM Bus de données
Extraction de l ’instruction Compteur Ordinal Unité Centrale Mémoire centrale 1 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. LEC CAD ECR H Registre mot C6 F8 10 CEB Registre Instruction C6 F8 10 EDA CEA CRI LMM EMM Bus de données
² Compteur Ordinal Unité Centrale Mémoire centrale FB02 +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. LEC CAD ECR H Registre mot 3A F8 00 CEB Registre Instruction C6 F8 00 EDA CEA CRI LMM EMM Bus de données
Exécution Compteur Ordinal Unité Centrale Mémoire centrale 1 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 Registre Instruction C6 F810 EDA CEA CRI LMM EMM Bus de données
Extraction de l ’instruction Compteur Ordinal Unité Centrale Mémoire centrale 1 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. LEC CAD 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é Compteur Ordinal Unité Centrale Mémoire centrale 1 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. LEC CAD ECR H 32 F8 20 Registre mot CEB 32 F8 20 Registre Instruction EDA CEA CRI LMM EMM Bus de données
Exécution Compteur Ordinal Unité Centrale Mémoire centrale 1 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 Registre Instruction 32 F820 EDA CEA CRI LMM EMM Bus de données
Le programme est terminé Compteur Ordinal Unité Centrale Mémoire centrale 1 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. LEC CAD ECR H Registre mot CEB Registre Instruction EDA CEA CRI LMM EMM Bus de données
sinus.xls sinussimulation.xls cacher.xls Simulateur
La micro-programmation Commande 1 Commande 2 Commande n 0 1 Adresse suivante Phase i 0 1 0 Phase i+1 1 0 1 1 Adresse suivante 0 1 0 1 1 0 Micro-commande Chargement RA Chargement drapeaux Adresse de la micro- instruction suivante Mémoire de micro-programme Registre instruction Décodeur Compteur Commandes Adresse