execution

publicité
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
Pointage vers l’instruction suivante
Exécution de l’instruction
Réalisation du contrôleur
LCO
PSR
LEC
LMM
CRI
CRA
PSR
LEC
LMM
CEA
+1
PSR
EDA
ECR
EMM
Entrées venant du
champ de code-op du
registre instruction
Sorties de contrôle du
chemin de données
CRA
PSR
LEC
LMM
CEA
Registre d’état
État suivant
Cycle de base
Recherche de l’instruction
Pointage vers l’instruction suivante
Exécution de l’instruction
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
Recherche de l’instruction
LCO
PSR
LEC
LMM
CRI
CRA
PSR
LEC
LMM
CEA
+1
Pointage vers l’instruction suivante
Exécution de l’instruction
PSR
EDA
ECR
EMM
XXXX
CRA
PSR
LEC
LMM
CEA
2
LCO
PSR
LEC
LMM
CRI
Cycle de base
Recherche de l’instruction
Pointage vers l’instruction suivante
Exécution de l’instruction
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
Recherche de l’instruction
LCO
PSR
LEC
LMM
CRI
CRA
PSR
LEC
LMM
CEA
+1
Pointage vers l’instruction suivante
PSR
EDA
ECR
EMM
Exécution de l’instruction
COP=C6
CRA
PSR
LEC
LMM
CEA
4
Inc
Cycle de base
Recherche de l’instruction
Pointage vers l’instruction suivante
Exécution de l’instruction
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
Recherche de l’instruction
LCO
PSR
LEC
LMM
CRI
CRA
PSR
LEC
LMM
CEA
+1
Pointage vers l’instruction suivante
Exécution de l’instruction
COP=C6
PSR
EDA
ECR
EMM
CRA
PSR
LEC
LMM
CEA
0
CAD
PSR
LEC
LMM
CEA
CRA
EDA
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
+1
PSR
EDA
ECR
EMM
XXXX
CRA
PSR
LEC
LMM
CEA
CRA
PSR
LEC
LMM
CEA
2
LCO
PSR
LEC
LMM
CRI
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
F800
F810
Chargeur
F820 en Mémoire
FB00
FB01
FB02
08
04
-3AF800
C6F810
32F820
L’architecture
Compteur
Ordinal
LCO
CC
O
Accumulateur
Bus d’adresses
PSR
CRA
Registre adresse
1
U.A.L.
CAD
H
CEB
EDA
LEC
Registre
mot
Registre
Instruction
CEA
CRI
Bus de données
ECR
LMM
EMM
Charger le programme
FB00
1
LCO
CC
O
Accumulateur
Bus d’adresses
PSR
CRA
Données
F800
08
F810
04
F820
00
Instructions
FB00
3A F8 00
FB01
C6 F8 10
FB02
32 F8 20
Registre adresse
Compteur
Ordinal
U.A.L.
CAD
H
CEB
EDA
LEC
Registre
mot
Registre
Instruction
CEA
CRI
Bus de données
ECR
LMM
EMM
Extraction de l ’instruction
Compteur
Ordinal
1
FB00
LCO
Mémoire centrale
CC
O
Accumulateur
Bus d’adresses
PSR
CRA
FB00
Unité Centrale
Données
F800
F810
F820
Instructions
FB00
FB01
FB02
+1
08
04
00
3A F8 00
C6 F8 10
32 F8 20
U.A.L.
CAD
H
CEB
EDA
3A
CEA
F8 00
CRI
Bus de données
LEC
ECR
3A F8 00
Registre
Instruction
LMM
Registre
mot
EMM
Le compteur ordinal est incrémenté
Compteur
Ordinal
+1
FB01
LCO
Mémoire centrale
CC
O
Accumulateur
Bus d’adresses
PSR
CRA
FB00
Unité Centrale
Données
F800
F810
F820
Instructions
FB00
FB01
FB02
+1
08
04
00
3A F8 00
C6 F8 10
32 F8 20
U.A.L.
CAD
H
CEB
3A
EDA
CEA
F8 00
CRI
Bus de données
LEC
ECR
3A F8 00
Registre
Instruction
LMM
Registre
mot
EMM
Le chargement : les signaux à piloter
Compteur
Ordinal
LCO
Mémoire centrale
CC
O
Accumulateur
08
1
FB01
Bus d’adresses
PSR
CRA
FB00
Unité Centrale
Données
F800
F810
F820
Instructions
FB00
FB01
FB02
+1
08
04
00
3A F8 00
C6 F8 10
32 F8 20
U.A.L.
CAD
H
CEB
3A
EDA
CEA
F8 00
CRI
Bus de données
LEC
ECR
08
Registre
Instruction
LMM
Registre
mot
EMM
Extraction de l ’instruction
Compteur
Ordinal
LCO
Mémoire centrale
CC
O
Accumulateur
08
1
FB01
Bus d’adresses
PSR
CRA
FB01
Unité Centrale
Données
F800
F810
F820
Instructions
FB00
FB01
FB02
+1
08
04
00
3A F8 00
C6 F8 10
32 F8 20
U.A.L.
CAD
H
CEB
C6
EDA
CEA
F8 10
CRI
Bus de données
LEC
ECR
C6 F8 10
Registre
Instruction
LMM
Registre
mot
EMM
²
Compteur
Ordinal
FB02
LCO
+1
Mémoire centrale
CC
O
Accumulateur
Bus d’adresses
PSR
CRA
FB00
Unité Centrale
Données
F800
F810
F820
Instructions
FB00
FB01
FB02
+1
08
04
00
3A F8 00
C6 F8 10
32 F8 20
U.A.L.
CAD
H
CEB
C6
EDA
CEA
F8 00
CRI
Bus de données
LEC
ECR
3A F8 00
Registre
Instruction
LMM
Registre
mot
EMM
Exécution
Compteur
Ordinal
LCO
Mémoire centrale
CC
O
Accumulateur
12
1
FB02
Bus d’adresses
PSR
CRA
F810
Unité Centrale
Données
F800
F810
F820
Instructions
FB00
FB01
FB02
+1
08
04
00
3A F8 00
C6 F8 10
32 F8 20
U.A.L.
08
04
CAD
H
CEB
C6
EDA
CEA
F810
CRI
Bus de données
LEC
ECR
04
Registre
Instruction
LMM
Registre
mot
EMM
Extraction de l ’instruction
Compteur
Ordinal
1
FB02
LCO
CC
O
Accumulateur
Bus d’adresses
12
Mémoire centrale
PSR
CRA
FB02
Unité Centrale
Données
F800
F810
F820
Instructions
FB00
FB01
FB02
+1
08
04
00
3A F8 00
C6 F8 10
32 F8 20
U.A.L.
CAD
H
CEB
EDA
32
CEA
F8 20
CRI
Bus de données
LEC
ECR
32 F8 20
Registre
Instruction
LMM
Registre
mot
EMM
Le compteur ordinal est incrémenté
Compteur
Ordinal
1
FB03
LCO
CC
O
Accumulateur
Bus d’adresses
12
Mémoire centrale
PSR
CRA
FB02
Unité Centrale
Données
F800
F810
F820
Instructions
FB00
FB01
FB02
+1
08
04
00
3A F8 00
C6 F8 10
32 F8 20
U.A.L.
CAD
H
CEB
EDA
32
CEA
F8 20
CRI
Bus de données
LEC
ECR
32 F8 20
Registre
Instruction
LMM
Registre
mot
EMM
Exécution
Compteur
Ordinal
LCO
Mémoire centrale
CC
O
Accumulateur
12
1
FB03
Bus d’adresses
PSR
CRA
F820
Unité Centrale
Données
F800
F810
F820
Instructions
FB00
FB01
FB02
+1
08
04
12
3A F8 00
C6 F8 10
32 F8 20
U.A.L.
CAD
H
CEB
32
EDA
CEA
F820
CRI
Bus de données
LEC
ECR
12
Registre
Instruction
LMM
Registre
mot
EMM
Le programme est terminé
Compteur
Ordinal
1
FB03
LCO
Mémoire centrale
CC
O
Accumulateur
Bus d’adresses
PSR
CRA
F800
Unité Centrale
Données
F800
F810
F820
Instructions
FB00
FB01
FB02
Contrôleur
08
04
12
3A F8 00
C6 F8 10
32 F8 20
U.A.L.
CAD
H
CEB
EDA
LEC
Registre
mot
Registre
Instruction
CEA
CRI
Bus de données
ECR
LMM
EMM
La micro-programmation
Commande 1
Phase i
Phase i+1
Commande 2
0
1
Adresse suivante
0
0
1
1
0
Adresse suivante
0
1
1
0
0
1
1
1
Chargement RA
Mémoire de micro-programme
Micro-commande
Chargement drapeaux
Adresse de la microinstruction suivante
Compteur
Commandes
Commande n
Adresse
Décodeur
Registre
instruction
Téléchargement