Vous êtes sur la page 1sur 32

EXECUTION D'UN PROGRAMME

Objectif : Comprendre à l ’aide


d ’un exemple simple le
déroulement de l’éxécution
des instructions d’un
programme
L’architecture
PROCESSEUR
Compteur
Ordinal CO
Lecture Compteur Ordinal Chargement Compteur

Registre adresse
LCO Ordinal CCO
Accumulateur AX

décodeur
Bus d’adresses

CRA
H : Horloge PSR
Pointage sur registre Mémoire
EDA

Contrôleur
U.A.L. décodeur CAD Chargement ADresse ECR
LECture LEC ECRiture

CEB Registre
Registre
co adresse Instruction RI mot
EMM
CEA CRI Ecriture
Lecture Mot Mémoire LMM
Mot
Memoire

Bus de données
Elements constituant l’architecture:
• CO : Compteur Ordinal
• Bus d’adresses
• Registre d’adresses
• Mémoire
• Registre mot
• Bus de données
• RI : Registre Instructions
• Controleur : C’est un circuit électronique qui envoie
des impulsions électriques qui activent les liaisons
entre les différents éléments de l’architecture.
• UAL : Unité Arithmétique et Logique
• AX : registre Accumulateur (AL etAH)
Impulsions électriques de l’architecture:

Les differentes impulsions sont écrites sur


le schémas de l’architecture. Celles qui
manquent les voici :
• CRI : Chargement du Registre Instruction
• CAD ; Chargement ADresse
• CEA : Chargement de l’Entrée A de l’UAL
• CEB : Chargement de l’Entrée B de l’UAL
• CRA : Chargement du Registre Accumulateur
• EDA : Enregistrement de la Donnée de
l’Accumulateur vers la mémoire
Il ne faut pas oublier un élement très important qui
est l’horloge qui a un signal periodique.
Un autre élément aussi et qui est le décodeur qui se
trouve à l’entrée du contrôleur.
L’instruction se compose de deux parties : la partie
code opération (co) et la partie adresse.
le décodeur sert à décoder la partie co (code
opération) de l’instruction.
Signal d’horloge
A chaque impulsion d’horloge et selon le
résultat obtenu du décodage, certains signaux
(impulsions électriques) seront envoyés aux
différends éléments de l’architecture pour
provoquer les actions nécessaires à l’exécution de
l’instruction.
Il y’a un autre décodeur à l’entrée de la
mémoire pour décoder les adresses provenant du
CO (Compteur Ordinal) via le bus adresses et
contenues dans le registre adresses. Et ceci pour
pouvoir trouver la donnée dans la mémoire.
Cycle de base de l’exécution du programme

Recherche de l’instruction

Pointage vers l’instruction suivante

Exécution de l’instruction
Cycle de base

Recherche de l’instruction

Pointage vers l’instruction suivante

Exécution de l’instruction
Recherche de l’instruction :

L’adresse de l’instruction à
exécuter est dans le compteur ordinal;
L’adresse est mise sur le bus
adresse par l’impulsion LCO;
Après l’adresse passe dans le
registre adresse par l’impulsion PSR;
Elle est décodée par le
décodeur de la mémoire;
Après l’instruction passe de la mémoire
vers le registre mot par l’impulsion LEC;
Après elle passe sur le bus de données
par l’impulsion LMM;
Après elle est mise dans le registre
instruction par l’impulsion CRI.
Cycle de base

Recherche de l’instruction

Pointage vers l’instruction suivante

Exécution de l’instruction
Pointage vers l’instruction suivante

Le compteur ordinal est


incrémenté de 1 pour passer à l’adresse
de l’instruction suivante.
Remarque : Pour une
instruction conditionnelle (Si Alors
Sinon), le compteur ordinal n’est pas
incrémenté, mais chargé avec l’adresse
de l’instruction à exécuter.
Cycle de base

Recherche de l’instruction

Pointage vers l’instruction suivante

Exécution de l’instruction
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 aller chercher l’opérande :
1) CAD pour charger l’adresse de
l’opérande sur le bus adresse;
2) PSR pour mettre l’adresse dans le
registre adresse:
Après l’adresse de l’opérande est
décodée par le décodeur de la mémoire:
3) LEC copie l’opérande dans le
registre mot mémoire;
4) LMM met l’opérande sur le bus de
données;
5) CEA charge l’opérande par l’entrée
A dans l’UAL.
6) CRA va mettre cette opérande dans
l’accumulateur pour attendre la deuxième
opérande.
Cycle de base

Recherche de l’instruction

Pointage vers l’instruction suivante

Exécution de l’instruction

Et on recommence pour
l’instruction suivante …
Un exemple complet
Programme source Code en hexa
mov ax,[F800h] Assembleur 3AF800
add ax,[F810h]
mov [F820h],ax
C6F810

32F820
mov ax,[F800h] : mettre dans le registre ax le contenu de
l’adresse mémoire F800

add ax,[F810h] : additionner à ax le contenu de l’adresse F810

mov [F820h],ax ; mettre le contenu de ax dans la case


mémoire d’adresse F820
L’architecture

Compteur
Ordinal
LCO CCO

Registre adresse
Accumulateur
Bus d’adresses
EDA PSR
CRA

U.A.L.
CAD LEC ECR
Registre
CEB Registre mot
Instruction
CEA CRI LMM EMM

Bus de données
Charger le programme

Compteur FB00
Ordinal
Opérandes
LCO CCO
F800 08
Accumulateur F810 04
Bus d’adresses F820 00
PSR Instructions
EDA CRA FB00 3A F8 00
FB01 C6 F8 10
FB02 32 F8 20

U.A.L.
CAD LEC ECR
Registre
CEB Registre mot
Instruction
CEA CRI LMM EMM

Bus de données
Extraction de l ’instruction 1

Unité Centrale Compteur


FB00 Mémoire centrale
Ordinal

LCO CCO Données


F800 08
Accumulateur F810 04
Bus d’adresses F820 00

FB00
PSR
Instructions
CRA
EDA FB00 3A F8 00
FB01 C6 F8 10
FB02 32 F8 20

U.A.L.
CAD LEC ECR

Registre
CEB Registre 3A F8 00
3A F8 00 mot
Instruction

CEA CRI LMM EMM

Bus de données
Le compteur ordinal est incrémenté

Unité Centrale Compteur


FB01 +1 Mémoire centrale
Ordinal

CCO Données
LCO
F800 08
Accumulateur F810 04
Bus d’adresses F820 00

FB00
PSR
Instructions
EDA CRA
FB00 3A F8
00
FB01 C6 F8 10

U.A.L. FB02 32 F8 20

CAD LEC ECR

Registre
CEB Registre 3A F8 00
3A F8 00 mot
Instruction

CEA CRI LMM EMM

Bus de données
Exécution de l’instruction 1

Unité Centrale Compteur


FB01 Mémoire centrale
Ordinal

LCO CCO Données


F800 08
Accumulateur F810 04
08 Bus d’adresses F820 00

FB00
PSR
Instructions
EDA CRA
FB00 3A F8
00
FB01 C6 F8 10

U.A.L. FB02 32 F8 20

CAD LEC ECR

Registre
CEB Registre 08
3A F8 00 mot
Instruction

CEA CRI LMM EMM

Bus de données
Extraction de l ’instruction 2

Unité Centrale Compteur


FB01 Mémoire centrale
Ordinal

LCO CCO Données


F800 08
Accumulateur F810 04
08 Bus d’adresses F820 00

FB01
PSR
Instructions
EDA CRA
FB00 3A F8 00
FB01 C6 F8 10
FB02 32 F8 20

U.A.L.
CAD LEC ECR

Registre
CEB Registre C6 F8 10
mot
C6 F8 10 Instruction

CEA CRI LMM EMM

Bus de données
Le compteur ordinal est incrémenté

Unité Centrale Compteur


FB02 Mémoire centrale
Ordinal

LCO CCO Données


F800 08
Accumulateur F810 04
Bus d’adresses F820 00

FB00
PSR
Instructions
CRA
EDA FB00 3A F8
00
FB01 C6 F8 10

U.A.L. FB02 32 F8 20

CAD LEC ECR

Registre
CEB Registre 3A F8 00
C6 F8 00 mot
Instruction

CEA CRI LMM EMM

Bus de données
Exécution de l’instruction 2

Unité Centrale Compteur


FB02 Mémoire centrale
Ordinal

LCO CCO Données


F800 08
Accumulateur F810 04
12 Bus d’adresses F820 00

F810
PSR
EDA Instructions
CRA
FB00 3A F8
00
FB01 C6 F8 10

U.A.L. FB02 32 F8 20

08 04 CAD LEC ECR

Registre
CEB Registre 04
C6 F810 mot
Instruction

CEA CRI LMM EMM

Bus de données
• L’opérande 4 est présentée à l’entrée A se
l’UAL par l’impulsion CEA;
• L’opérande 8 qui était dans l’accumulateur
est présentée à l’entrée B de l’UAL par les
impulsions EDA et CEB;
• Le résultat de l’addition 12 est mis dans
l’accumulateur ax par l’impulsion CRA.
Extraction de l ’instruction 3

Unité Centrale Compteur


FB02 Mémoire centrale
Ordinal

LCO CCO Données


F800 08
Accumulateur F810 04
F820 00
12 Bus d’adresses

FB02
PSR
EDA Instructions
CRA
FB00 3A F8 00
FB01 C6 F8 10
FB02 32 F8 20

U.A.L.
CAD LEC ECR

Registre
CEB Registre 32 F8 20 mot
32 F8 20 Instruction

CEA CRI LMM EMM

Bus de données
Le compteur ordinal est incrémenté

Unité Centrale Compteur


FB03 Mémoire centrale
Ordinal

LCO CCO Données


F800 08
Accumulateur F810 04
F820 00
12 Bus d’adresses

FB02
PSR
EDA Instructions
CRA
FB00 3A F8 00
FB01 C6 F8 10
FB02 32 F8 20

U.A.L.
CAD LEC ECR

Registre
CEB Registre 32 F8 20 mot
32 F8 20 Instruction

CEA CRI LMM EMM

Bus de données
Exécution de l’instruction 3

Unité Centrale Compteur


FB03 Mémoire centrale
Ordinal

LCO CCO Données


F800 08
Accumulateur F810 04
12 Bus d’adresses F820 12

F820
PSR
Instructions
EDA CRA
FB00 3A F8
00
FB01 C6 F8 10

U.A.L. FB02 32 F8 20

CAD LEC ECR

Registre
CEB Registre 12
32 F820 mot
Instruction

CEA CRI LMM EMM

Bus de données
• Pour l’enregistrement du résultat 12 dans
l’adresse F820 :
• F820 est mis sur le bus adresse par
l’impulsion CAD;
• Le résultat 12 est mis sur le bus données par
l’impulsion EDA;
• Et ensuite enregistré à F820 par les
impulsions EMM et ECR.
Le programme est terminé

Unité Centrale Compteur


FB03 Mémoire centrale
Ordinal

LCO CCO Données


F800 08
Accumulateur F810 04
Bus d’adresses F820 12

F800
PSR
Instructions
EDA CRA
FB00 3A F8
00
Contrôleur FB01 C6 F8 10

U.A.L. FB02 32 F8 20

CAD LEC ECR

Registre
CEB Registre mot
Instruction

CEA CRI LMM EMM

Bus de données

Vous aimerez peut-être aussi