objectif comprendre à l aide d un exemple simple le déroulement des instructions au niveau...
TRANSCRIPT
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
Registre d’étatRegistre d’étatEntrées venant du
champ de code-op du
registre instruction
Sorties de contrôle duchemin de données
État suivant
+1
LCOPSRLECLMMCRI
CRAPSRLECLMMCEA
CRAPSRLECLMMCEA
PSREDAECREMM
Cycle de base
L’adresse de l’instruction à exécuter est dans le compteur ordinalL’adresse est mise dans le registre d’adresse de la mémoireL’instruction passe de la mémoire au registre instruction par l’intermédiaire du registre mot
Recherche de l’instruction
Exécution de l’instruction
Pointage vers l’instruction suivante
Le fonctionnement
XXXX
+1
LCOPSRLECLMMCRI
CRAPSRLECLMMCEA
CRAPSRLECLMMCEA
PSREDAECREMM
LCOPSRLECLMMCRI
2
Recherche de l’instruction
Exécution de l’instruction
Pointage vers l’instruction suivante
Recherche de l’instruction
Exécution de l’instruction
Pointage vers l’instruction suivante
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.
Recherche de l’instruction
Exécution de l’instruction
Pointage vers l’instruction suivante
Le fonctionnement
COP=C6
+1
LCOPSRLECLMMCRI
CRAPSRLECLMMCEA
CRAPSRLECLMMCEA
PSREDAECREMM
4
IncRecherche de l’instruction
Exécution de l’instruction
Pointage vers l’instruction suivante
Recherche de l’instruction
Exécution de l’instruction
Pointage vers l’instruction suivante
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.
Recherche de l’instruction
Exécution de l’instruction
Pointage vers l’instruction suivante
Le fonctionnement
COP=C6
+1
LCOPSRLECLMMCRI
CRAPSRLECLMMCEA
CRAPSRLECLMMCEA
PSREDAECREMM
0
CADPSRLECLMMCEACRAEDA
Recherche de l’instruction
Exécution de l’instruction
Pointage vers l’instruction suivante
Recherche de l’instruction
Exécution de l’instruction
Pointage vers l’instruction suivante
Cycle de base
Et on recommence
Recherche de l’instruction
Exécution de l’instruction
Pointage vers l’instruction suivante
Le fonctionnement
XXXX
+1
LCOPSRLECLMMCRI
CRAPSRLECLMMCEA
CRAPSRLECLMMCEA
PSREDAECREMM
LCOPSRLECLMMCRI
2
Un exemple complet
Assembleur
Chargeuren Mémoire
Compilateur
Hiérarchie de traduction
?
{int a=8, b=4, c; c=a+b;}
LD A,(F800h)ADD A,(F810h)st (F820h),A
08 F80004 F810-- F8203AF800 FB00C6F810 FB0132F820 FB02
0804--3AF800C6F81032F820
H
Accumulateur
Compteur Ordinal
Registre mot
Bus de données
Bus d’adresses
Registre Instruction
U.A.L.
CRA
CEB
EDA CEA CRI LMM EMM
LEC ECRCAD
PSR
LCO CCO
Reg
istr
e ad
ress
e
1
L’architecture
H
Accumulateur
Compteur Ordinal
Registre mot
Bus de données
Bus d’adresses
Registre Instruction
U.A.L.
CRA
CEB
EDA CEA CRI LMM EMM
LEC ECRCAD
PSR
LCO CCO
Reg
istr
e ad
ress
e
1
DonnéesF800 08F810 04F820 00Instructions
FB00 3A F8 00FB01 C6 F8 10
FB02 32 F8 20
DonnéesF800 08F810 04F820 00Instructions
FB00 3A F8 00FB01 C6 F8 10
FB02 32 F8 20
FB00FB00
Charger le programme
H
Accumulateur
Compteur Ordinal
Mémoire centrale
Registre mot
Bus de données
Bus d’adresses
Registre Instruction
U.A.L.
CRA
CEB
EDA CEA CRI LMM EMM
LEC ECRCAD
PSR
LCO CCO
Unité Centrale
FB
00
1
DonnéesF800 08F810 04F820 00
Instructions
FB00 3A F8 00FB01 C6 F8 10
FB02 32 F8 20
FB00
3A F8 00 3A F8 00
Extraction de l ’instruction
+1
H
Accumulateur
Compteur Ordinal
Mémoire centrale
Registre mot
Bus de données
Bus d’adresses
Registre Instruction
U.A.L.
CRA
CEB
EDA CEA CRI LMM EMM
LEC ECRCAD
PSR
LCO CCO
Unité Centrale
FB
00
+1
DonnéesF800 08F810 04F820 00
Instructions
FB00 3A F8
00FB01 C6 F8 10
FB02 32 F8 20
FB01
3A F8 003A F8 00
Le compteur ordinal est incrémenté
+1
H
Accumulateur
Compteur Ordinal
Mémoire centrale
Registre mot
Bus de données
Bus d’adresses
Registre Instruction
U.A.L.
CRA
CEB
EDA CEA CRI LMM EMM
LEC ECRCAD
PSR
LCO CCO
Unité Centrale
FB
00
1
DonnéesF800 08F810 04F820 00
Instructions
FB00 3A F8
00FB01 C6 F8 10
FB02 32 F8 20
FB01
083A F8 00
Le chargement : les signaux à piloter
08
+1
H
Accumulateur
Compteur Ordinal
Mémoire centrale
Registre mot
Bus de données
Bus d’adresses
Registre Instruction
U.A.L.
CRA
CEB
EDA CEA CRI LMM EMM
LEC ECRCAD
PSR
LCO CCO
Unité Centrale
FB
01
1
DonnéesF800 08F810 04F820 00
Instructions
FB00 3A F8 00FB01 C6 F8 10
FB02 32 F8 20
FB01
C6 F8 10
Extraction de l ’instruction
08
C6 F8 10
+1
H
Accumulateur
Compteur Ordinal
Mémoire centrale
Registre mot
Bus de données
Bus d’adresses
Registre Instruction
U.A.L.
CRA
CEB
EDA CEA CRI LMM EMM
LEC ECRCAD
PSR
LCO CCO
Unité Centrale
FB
00
+1
DonnéesF800 08F810 04F820 00
Instructions
FB00 3A F8
00FB01 C6 F8 10
FB02 32 F8 20
FB02
3A F8 00C6 F8 00
²
+1
H
Accumulateur
Compteur Ordinal
Mémoire centrale
Registre mot
Bus de données
Bus d’adresses
Registre Instruction
U.A.L.
CRA
CEB
EDA CEA CRI LMM EMM
LEC ECRCAD
PSR
LCO CCO
Unité Centrale
F81
0
DonnéesF800 08F810 04F820 00
Instructions
FB00 3A F8
00FB01 C6 F8 10
FB02 32 F8 20
04C6 F810
12
1FB02
0408
Exécution
+1
H
Accumulateur
Compteur Ordinal
Mémoire centrale
Registre mot
Bus de données
Bus d’adresses
Registre Instruction
U.A.L.
CRA
CEB
EDA CEA CRI LMM EMM
LEC ECRCAD
PSR
LCO CCO
Unité Centrale
FB
02
1
DonnéesF800 08F810 04F820 00
Instructions
FB00 3A F8 00FB01 C6 F8 10
FB02 32 F8 20
FB02
32 F8 20 32 F8 20
Extraction de l ’instruction
12
+1
Le compteur ordinal est incrémenté
H
Accumulateur
Compteur Ordinal
Mémoire centrale
Registre mot
Bus de données
Bus d’adresses
Registre Instruction
U.A.L.
CRA
CEB
EDA CEA CRI LMM EMM
LEC ECRCAD
PSR
LCO CCO
Unité Centrale
FB02
1
DonnéesF800 08F810 04F820 00
Instructions
FB00 3A F8 00FB01 C6 F8 10
FB02 32 F8 20
FB03
32 F8 20 32 F8 20
12
+1
H
Accumulateur
Compteur Ordinal
Mémoire centrale
Registre mot
Bus de données
Bus d’adresses
Registre Instruction
U.A.L.
CRA
CEB
EDA CEA CRI LMM EMM
LEC ECRCAD
PSR
LCO CCO
Unité Centrale
F82
0
1
DonnéesF800 08F810 04F820 12
Instructions
FB00 3A F8
00FB01 C6 F8 10
FB02 32 F8 20
FB03
1232 F820
12
Exécution
+1
Contrôleur
H
Accumulateur
Compteur Ordinal
Mémoire centrale
Registre mot
Bus de données
Bus d’adresses
Registre Instruction
U.A.L.
CRA
CEB
EDA CEA CRI LMM EMM
LEC ECRCAD
PSR
LCO CCO
Unité Centrale
Le programme est terminé
F80
0
1
DonnéesF800 08F810 04F820 12
Instructions
FB00 3A F8
00FB01 C6 F8 10
FB02 32 F8 20
FB03
La micro-programmation
Phase i
Phase i+1
Micro-commande
Commande 2Commande 1 Commande n
0 1 0 0 1
1 0 1
1 0 1
1 0
1 0
Chargement RA Chargement drapeaux
Adresse suivante
Adresse suivante
CompteurCompteur DécodeurDécodeur Registreinstruction
Registreinstruction
AdresseCommandes
Mémoire de micro-programme Adresse de la micro-instruction suivante