1 Fonctionnement du processeur : exécution des instructions

publicité
Fonctionnement du processeur : exécution des
instructions
• Rappels : structure du processeur et interfaçage avec la mémoire
• Exécution des instructions machines. Notion de séquenceur.
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
1
Fonctionnement du processeur : exécution des
instructions
Ä Rappels : structure du processeur et interfaçage avec la mémoire
• Exécution des instructions machines. Notion de séquenceur.
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
2
1
Processeur (Unité Centrale)
Y1
Z
P
Unité Arithmétique
et Logique
Opération
Y2
S
W
Bus Interne
Données
Registres
Commandes
horloge
Unité de Commande
Séquenceur
Décodeur
RI
CO
RAD
RDO
Commandes Lecture/Ecriture
Adresses
Données
Bus Processeur /Mémoire
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
3
Processeur (Unité Centrale)
horloge
Unité de Commande
Séquenceur
Décodeur
RI
CO
RAD
RDO
Commandes Lecture/Ecriture
Adresses
Données
Bus Processeur /Mémoire
L'unité de commande est chargée de la reconnaissance des instructions et de
leur exécution par le processeur au rythme de l'horloge
Les registres :
- RI (registre instruction) : contient l'instruction en cours d'exécution
- CO (compteur ordinal ) : contient l'adresse en MC de la prochaine instruction
- RAD (registre adresse) et RDO (registre de données) : registres d'interfaçage
avec la mémoire centrale
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
4
2
Processeur (Unité Centrale)
R7
R0
RSP
RB
RIX
Registres :
- les registres généraux R0 à R7
- le registre de pile RSP
- les registres d'adressage : RB (regsitre de base) et RIX (registre d'index)
Joëlle Delacroix
Architecture des machines et systèmes Informatiques A0, 2001/2002
5
Processeur (Unité Centrale)
Y1
Z
P
Unité Arithmétique
et Logique
Opération
Y2
S
W
L'unité Arithmétique et Logique (UAL) constitue l'unité d'exécution du processeur.
Elle est composée :
- de l'ensemble des circuits permettant de réaliser les opérations arithmétiques
(addition, multiplication, division,…) et les opérations logiques (complément à 2, inverse,
OU, ET, …) sur les opérandes Y1 et Y2
- d'un registre d'état PSW qui contient des indicateurs positionnés par le résultat Z
des opérations effectuées :
- O : positionné à 1 si Overflow , 0 sinon
- Z : positionné à 1 si résultat opération nul, 0 sinon
S
O C
Z
Architecture des machines et systèmes Informatiques A0, 2001/2002
- C : positionné à 1 si carry, 0 sinon
- S : positionné à 0 si résultat opération positif, 1 sinon
Joëlle Delacroix
6
3
L'Unité de Commande
horloge
Unité de Commande
Séquenceur
Décodeur
RI
CO
RAD
RDO
Commandes Lecture/Ecriture
Adresses
Données
Bus Processeur /Mémoire
L'unité de commande est chargée de la reconnaissance des instructions et de
leur exécution par le processeur au rythme de l'horloge
Ce travail s'effectue pour chaque instruction machine en trois phases :
- Fetch : charger une instruction
- Décodage : reconnaître l'instruction
²
- Exécution : réaliser l'instruction
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
7
Registres
Ouvrir / Fermer les registres
Micro commandes
L' unité de commande :
Horloge
Séquenceur
Compteur Ordinal
Décodeur
Registre Instruction
Bus
•Charger une instruction :
fetch
•Décoder l'instruction :
décodage
•Exécute l'instruction:
exécution
Micro commandes
Activer une opération sur les opérandes
UAL
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
8
4
Les étapes d’exécution d’une instruction
(Chargement/Décodage/Exécution)
Début
Charger
la prochaine instruction à exécuter
depuis la mémoire dans le
registre instruction,
le Compteur Ordinal pour qu’il pointe
sur la prochaine
instruction à exécuter,
Modifier
Décoder
l’instruction qui vient d’être chargée,
Charger
les données éventuelles dans les registres
internes,
l’instruction,
Exécuter
Fetch
Décodage
Exécution
Fin
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
9
Liaison processeur - mémoire centrale
Y1
Z
Opération
P
Y2
S
W
horloge
S
E
L
E
C
T
I
O
N
Séquenceur
Décodeur
RI
CO
RAD
RDO
Commandes Lecture/Ecriture
Adresses
Données
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
10
5
Liaison processeur - mémoire centrale
•
Opération de lecture
• Adresse du mot à lire -->
RAD
• Activer la commande de
lecture
ð le contenu de RAD est
déposé sur le bus
d'adresses et présenté à la
mémoire
• Le mot lu est déposé sur le
bus de données puis copié
dans RDO
Architecture des machines et systèmes Informatiques A0, 2001/2002
•
Opération d'écriture
• Adresse où écrire --> RAD
• Mot à écrire --> RDO
• Activer la commande
d'écriture
ð le contenu de RAD est
déposé sur le bus
d'adresses et le contenu de
RDO sur le bus de
données. Ils sont présentés
à la mémoire
Joëlle Delacroix
11
Fonctionnement du processeur : exécution des
instructions
• Rappels : structure du processeur et interfaçage avec la mémoire
Ä Exécution des instructions machines. Notion de séquenceur.
Ä Principe de l'exécution d'une instruction
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
12
6
Chargement/Décodage/Exécution
Y
Z
10 Load D R B
PSW
Add D R A
12 Store D R C
11
3
R
13
A 14
B 15
Horloge
Séquenceur
Décodeur
CO
5
3
16
RI
C 17
RDO
RAD
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
13
Tops horloge
Les étapes d’exécution d’une instruction
(Chargement/Décodage/Exécution)
Début
Charger
Modifier
la prochaine instruction à exécuter
depuis la mémoire dans le
registre instruction,
le Compteur Ordinal pour qu’il pointe
sur la prochaine
instruction à exécuter,
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
Fetch
14
7
Chargement/Décodage/Exécution
(CO) = (CO) + 1
1
Add
Z
10 Load D R B
PSW
Add D R A
12 Store D R C
11
3
R
CO --> RAD
lecture
Horloge
CO
Décodeur
13
A 14
B 15
5
3
16
RI
C 17
RDO
RAD
Lecture
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
15
Tops horloge
Chargement/Décodage/Exécution
(CO) = (CO) + 1
1
Z
10 Load D R B
PSW
R
Add D R A
12 Store D R C
11
3
13
(CO)=(CO)+1
Horloge
CO
Décodeur
A 14
B 15
3
16
RI
RDO
5
C 17
RAD
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
16
Tops horloge
8
Chargement/Décodage/Exécution
Y
Z
10 Load D R B
PSW
Add D R A
12 Store D R C
11
3
R
13
Fin de lecture
RDO --> RI
Horloge
CO
Décodeur
A 14
B 15
Add D R A
16
RDO
C 17
5
3
RAD
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
17
Tops horloge
Les étapes d’exécution d’une instruction
(Chargement/Décodage/Exécution)
Début
Charger
Modifier
la prochaine instruction à exécuter
depuis la mémoire dans le
registre instruction,
le Compteur Ordinal pour qu’il pointe
sur la prochaine
instruction à exécuter,
Fetch
CO --> RAD
Lecture
RDO --> RI
CO = CO + 1
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
18
9
Les étapes d’exécution d’une instruction
(Chargement/Décodage/Exécution)
Début
Décoder
l’instruction qui vient d’être chargée,
Charger
les données éventuelles dans les registres
Exécution
internes,
l’instruction,
Exécuter
Décodage
Fin
Add D R A : l'adressage est un mode direct. Un premier opérande
est le contenu de R. le deuxième opérande est un mot mémoire
d'adresse A : ramener cet opérande au niveau du CPU nécessite
une opération de lecture en MC à l'adresse A.
Joëlle Delacroix
Architecture des machines et systèmes Informatiques A0, 2001/2002
19
Chargement/Décodage/Exécution
Y
Z
10 Load D R B
PSW
R
Add D R A
12 Store D R C
11
3
13
A --> RAD
lecture
Horloge
CO
Décodeur
A 14
B 15
Add D R A
16
RDO
C 17
5
3
A
Lecture
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
20
Tops horloge
10
Chargement/Décodage/Exécution
5
Z
10 Load D R B
PSW
Add D R A
12 Store D R C
11
3
R
13
5 --> RDO
Horloge
CO
Décodeur
A 14
B 15
Add D R A
16
RDO
C 17
5
3
RAD
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
21
Tops horloge
Les étapes d’exécution d’une instruction
(Chargement/Décodage/Exécution)
Début
Décoder
l’instruction qui vient d’être chargée,
Charger
les données éventuelles dans les registres
Exécution
internes,
l’instruction,
Exécuter
Décodage
Fin
Add D R A : l'opération est une addition : il faut amner les deux
opérandes à l'UAL et activer le circuit d'addition. Puis stocker le
résultat dans R.
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
22
11
Chargement/Décodage/Exécution
5
Add
8
10 Load D R B
3
PSW
R
Add D R A
12 Store D R C
11
3
13
Horloge
CO
Décodeur
Add D R A
RDO --> Y
R --> ual
ADD
la sorite de l'ual
devient égale à 8
A 14
B 15
5
3
16
C 17
RDO
RAD
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
23
Tops horloge
Chargement/Décodage/Exécution
5
8
10 Load D R B
PSW
R
Add D R A
12 Store D R C
11
8
13
Sortie Ual --> R
Horloge
CO
Décodeur
A 14
B 15
Add D R A
16
RDO
C 17
5
3
RAD
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
24
Tops horloge
12
Chargement/Décodage/Exécution
Y
Z
10 Load D R B
PSW
R
Add D R A
12 Store D R C
11
8
13
A 14
B 15
Horloge
Séquenceur
Décodeur
CO
5
3
16
RI
C 17
RDO
RAD
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
25
Tops horloge
Fonctionnement du processeur : exécution des
instructions
• Rappels : structure du processeur et interfaçage avec la mémoire
Ä Exécution des instructions machines. Notion de séquenceur.
Ä Principe de l'exécution d'une instruction
ÄLes micro-commandes
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
26
13
Registre (principe de fonctionnement)
Barrière d’entrée
Signal d’entrée
Bit
Bus
Registre
Signal de sortie
Barrière de sortie
Joëlle Delacroix
Architecture des machines et systèmes Informatiques A0, 2001/2002
27
Exécution : Registre (principe de fonctionnement)
Barrière d’entrée
Signal d’entrée
Horloge
RIen :
RIsor :
Signal d’entrée Séquenceur
du registre RI
Signal de sortie
du registre RI
Décodeur
Registre
Signal de sortie
Bus
Barrière de sortie
R1en
R1
R1sor
(R2)
R2en
R1sor,R2en
R2
R2sor
(R1)
Bus
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
28
14
UAL (principe de fonctionnement)
Retenue RazY Yen
Zen
+ -
Zsor
Y
Bus données
1er Opérande
Selection
Z
*
Résultat
/
2eme Opérande
Bus commande
Registre d’état (PSW)
Joëlle Delacroix
Architecture des machines et systèmes Informatiques A0, 2001/2002
29
(Adresse)RIsor, RADen, Lect, AttenteMémoire
Y
Z
10 Load D R B
PSW
R
Add D R A
12 Store D R C
11
3
13
A --> RAD
lecture
Horloge
CO
Décodeur
A 14
B 15
Add D R A
16
RDO
C 17
5
3
A
Lecture
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
30
Tops horloge
15
Add D R A
RazY
Ret
Yen
Y
Z
Zsor Zen
PSW
Ren
R
Rsor
Horloge
Séquenceur
Décodeur
RDOsor
RADen
COen
CO
COsor
RIen
RI
RIsor
1 COsor, RADen, Lect, RazY, Ret, Add,Zen
2 Zsor, COen, AttenteMémoire
3
4
5 RDOsor, RIen
6 (adresse)RIsor,RADen, Lect, AttenteMémoire
7
8
9 RDOsor, Yen
10 Rsor, Add, Zen
Load D R B
11 Zsor,Ren
Add D R A
Store D R C
5
3
RDO
RAD
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
31
Fonctionnement du processeur : exécution des
instructions
• Rappels : structure du processeur et interfaçage avec la mémoire
Ä Exécution des instructions machines. Notion de séquenceur.
Ä Principe de l'exécution d'une instruction
ÄLes micro-commandes
Ä Notion de séquenceur
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
32
16
Séquenceur cablé
Horloge
Signal mémoire
prête
Générateur d'étapes
Séléction de l'instruction
Add D, R, A
RI
Yen
RazY
Ret
Zen
Zsor
Ren
Rsor
Lect
Add
COen
COsor
RIen
RIsor
RADen
RADsor
AttenteMemoire
COen
Zsor
Att.
Mem
Joëlle Delacroix
Architecture des machines et systèmes Informatiques A0, 2001/2002
33
Add D,R,A
1
+
Add
D, R, A
RI
Horloge
Générateur
d'adresse
initiale
Micro-CO
Signal mémoire prête
00000
00001
00010
00011
00100
00101
00110
0111000110100100
0000100001000001
0000000000010010
0000000100001101
1000000000000010
0001001010000000
0000110000000000
00111 0111000110100100
01001 0000100001000001
01010 0000000000010010
01011 0000000100001101
01100 0000010000000010
01101
01110
01111
Mémoire
10000
de
micro-programme
Fetch
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
Yen
RazY
Ret
Zen
Zsor
Ren
Rsor
Lect
Add
COen
COsor
RIen
RIsor
RADen
RDOsor
AttMem
Load D,R,B
Architecture des machines et systèmes Informatiques A0, 2001/2002
Séquenceur micro-programmé
Joëlle Delacroix
34
17
Résumé
•
Le processeur est chargé d'exécuter les instructions des programmes
chargés en mémoire centrale.
•
L'exécution d'une instruction par le processeur se déroule en trois étapes :
• le chargement (fetch) qui place l'instruction dans RI
• le décodage et l'exécution en elle-même, qui pemet de récupérer en mémoire
centrale les opérandes de l'opération puis sa réalisation
•
•
•
Les différents composants du processeur sont pilotés par le séquenceur
qui est "le chef d'orchestre" du processeur et bat la mesure au rythme de
l'horloge du processeur. Le séquenceur active les micro-commandes pour
piloter les différents éléments du processeur.
Les mico commandes sont : les barrières de registre, les opérations sur
l'UAL, les opérations sur la mémoire...
Architecture des machines et systèmes Informatiques A0, 2001/2002
Joëlle Delacroix
35
18
Téléchargement