Professional Documents
Culture Documents
STRUCTURE DU PROCESSEUR
Jolle Delacroix
Opration Y2
PSW
Bus Interne
Donnes Registres Commandes
horloge
Squenceur Dcodeur
RI
CO RAD RDO
Unit de Commande
Squenceur Dcodeur
RI
CO RAD RDO
Unit de Commande
L'unit de commande est charge de la reconnaissance des instructions et de leur excution par lunit de traitement au rythme de l'horloge Les registres : - RI (registre instruction) : contient l'instruction en cours d'excution - CO (compteur ordinal ) : contient l'adresse en MC de la prochaine instruction - RAD (registre adresse) et RDO (registre de donnes) : registres d'interfaage avec la mmoire centrale
Architecture des machines NFA004, 2006/2007 Jolle Delacroix 3
RSP RB R0 R1
Le registre est lentit de base manipule par le processeur. Aucune opration nest directement ralise sur les cellules mmoires.
R2
Registres : - les registres gnraux R0, R1, R2 - le registre de pile RSP (Register Stack Pointer) - les registres d'adressage : RB (registre de base)
Jolle Delacroix
Opration Y2
PSW
L'unit Arithmtique et Logique (UAL) constitue l'unit d'excution du processeur. Elle est compose : - de l'ensemble des circuits permettant de raliser les oprations arithmtiques (addition, multiplication, division,) et les oprations logiques (complment 2, inverse, OU, ET, ) sur les oprandes Y1 et Y2 - d'un registre d'tat PSW qui contient des indicateurs positionns par le rsultat Z des oprations effectues :
- O : positionn 1 si Overflow, 0 sinon - Z : positionn 1 si rsultat opration nul, 0 sinon - C : positionn 1 si carry, 0 sinon - S : positionn 0 si rsultat opration positif, 1 sinon
Jolle Delacroix 5
O C
Processeur (Brochage)
Microprocesseur
Adresses
Donnes
Read Write
Alimentation et masse
Vcc GND
D0 D1 D2 D3 D4 D5 D6 D7
Jolle Delacroix
CONTEXTE
Le programme compos dinstructions machine et de donnes a t charg en mmoire centrale par un outil CHARGEUR Le compteur ordinal CO est charg avec ladresse en Mmoire centrale du mot contenant la premire instruction du programme Lexcution du programme seffectue instruction par instruction, sous le pilotage de lunit de commande du processeur. Le traitement dune instruction par le processeur se dcoupe en trois tapes : )FETCH : linstruction est lue en mmoire centrale et copie dans le registre RI du processeur )DECODAGE : linstruction est reconnue par lunit de dcodage )EXECUTION : lopration correspondant linstruction est ralise
Jolle Delacroix
CONTEXTE
RB Y1 Z PSW Y2
10 11 12
Load Im R 3 Add D R A
R
Horloge
Store B R X 13 STOP
CO
A 14
15 16
Squenceur Dcodeur
10
RI RDO RAD
C 17
C A D
9
adresses donnes
Architecture des machines NFA004, 2006/2007 Jolle Delacroix
Fetch
Modifier
Dcoder
Dcodage Excution
10
Fetch
Modifier
Horloge Squenceur Dcodeur Compteur Ordinal : contient ladresse de la prochaine instruction a excuter Registre Instruction : contient linstruction en cours dexcution Bus
Jolle Delacroix
11
10 11 12
Load Im R 3 Add D R A
R
Horloge
Store B R X 13 STOP
CO
A 14
CO --> RAD lecture 15 16
Squenceur Dcodeur
10
RI RDO
C 17
C A D
12
10
lecture
RAD
10
Architecture des machines NFA004, 2006/2007 Jolle Delacroix
adresses donnes
10 11 12
Load Im R 3 Add D R A
R
Horloge
Store B R X 13 STOP
CO
Squenceur Dcodeur
10
RI Load RDO Load RAD
A 14
15 16
C 17
C A D
13
lecture
Load Im R 3
Architecture des machines NFA004, 2006/2007 Jolle Delacroix
adresses donnes
10 11 12
Load Im R 3 Add D R A
R
Horloge
Store B R X 13 STOP
CO
Incrment CO
A 14
15 16
Squenceur Dcodeur
11
RI Load INCO RDO Load RAD
C 17
C A D
14
adresses donnes
Architecture des machines NFA004, 2006/2007 Jolle Delacroix
Fetch
Modifier
Dcodage Excution
Dcodage Excution
LOAD Im R 3 : l'opration est un chargement de registre. La valeur 3 est place dans le registre R. R3
Architecture des machines NFA004, 2006/2007 Jolle Delacroix 17
10 11 12
Load Im R 3 Add D R A
3
Horloge
Store B R X 13 STOP
CO
3R
A 14
15 16
Squenceur Dcodeur
11
Load Im R 3 RDO RAD
C 17
C A D
18
adresses donnes
Architecture des machines NFA004, 2006/2007 Jolle Delacroix
Add D R A : Fetch
RB Y1 Z PSW Y2
10 11 12
Load Im R 3 Add D R A
3
Horloge
Squenceur Dcodeur
11, 12
INCO
Store B R X 13 STOP A 14
15 16 5
RI
Add D R A
RDO
Add D R A
C 17
C A D
Jolle Delacroix 19
RAD 11
lecture
11 Add D R A
Architecture des machines NFA004, 2006/2007
Dcodage Excution
Add D R A : l'adressage est un mode direct. Un premier oprande est le contenu de R. Le deuxime oprande est un mot mmoire d'adresse A : ramener cet oprande au niveau du CPU ncessite une opration de lecture en MC l'adresse A. Jolle Delacroix 20
10
Y2
Load Im R 3 Add D R A
11 12
3
Horloge
A RAD lecture
CO
Store B R X 13 STOP A 14
15 16 5
Dcodeur
Add D R A
RDO A
C 17
C A D
Jolle Delacroix 21
Lecture
A
10 11 12
Load Im R 3 Add D R A
3
Horloge
5 RDO
CO
Store B R X 13 STOP A 14
15 16 5
Dcodeur
Add D R A
RDO 5 A
C 17
C A D
Jolle Delacroix 22
5
Architecture des machines NFA004, 2006/2007
Dcodage Excution
Add D R A : l'opration est une addition : il faut amener les deux oprandes l'UAL et activer le circuit d'addition. Puis stocker le rsultat dans R.
Architecture des machines NFA004, 2006/2007 Jolle Delacroix 23
10 11 12
Load Im R 3 Add D R A
3
Horloge
CO Add
RDO Y1 R Y2 ADD Z8
Store B R X 13 STOP A 14
15 16 5
Dcodeur
Add D R A
RDO 5 A
C 17
C A D
Jolle Delacroix
24
10
PSW Y2
Load Im R 3 Add D R A
11 12
8
Horloge
ZR
Store B R X 13 STOP A 14
5 15 16
CO
Dcodeur
Add D R A
RDO 5 A
C 17
C A D
Jolle Delacroix
25
Store B R X : Fetch
RB Y1 Z PSW Y2
10 11 12
Load Im R 3 Add D R A
8
Horloge
Store B R X 13 STOP A 14
12, 13
INCO
Squenceur Dcodeur
RI
Store B R X
RDO
Store B R X
15 16
C 17
C A D
RAD 12
lecture
12 Store B R X
Architecture des machines NFA004, 2006/2007 Jolle Delacroix 26
Dcodage Excution
Store B R X : l'adressage est un mode bas. On crit le contenu de R dans le mot mmoire dadresse C = (RB) + X
Jolle Delacroix
27
10 11 12
Load Im R 3 Add D R A
8
Horloge
Store B R X 13 STOP A 14
CO
Store B R X
Add
Dcodeur
RB Y1 X Y2 ADD ZC
15 16
RDO RAD
C 17
C A D
Jolle Delacroix
28
10
PSW Y2
Load Im R 3 Add D R A
11 12
8
Horloge
Store B R X 13 STOP A 14
CO
Store B R X
Dcodeur
15 16
RDO 8 RAD C
C 17
8
C A D
Ecriture
C 8
Architecture des machines NFA004, 2006/2007 Jolle Delacroix 29
Jolle Delacroix
30
L' unit de commande : Charger une instruction : Dcoder l'instruction : Excuter l'instruction: fetch dcodage excution
Micro commandes
UAL
Activer une opration sur les oprandes Activer une opration sur la mmoire Ouvrir / Fermer les registres
Jolle Delacroix
31
Signal dentre
Ouvrir/ fermer
Barrire dentre
Bit
Registre
Bus
Signal de sortie
Ouvrir/ fermer
Barrire de sortie
Jolle Delacroix
32
R1en : R1sor :
R1
Bus
Dcodeur
Signal de sortie
Barrire de sortie
(R2) Bus
(R1)
R1sor,R2en
Jolle Delacroix 33
R2sor
RazY1
+ Zsor
Y1en
Bus donnes
Selection opration
Rsultat
Y2en
RazY1 Zsor
RBUALen RB Y1en
Microcommandes
RADen RDOen, RDOsor RIen RIsor, Xsor COen, COsor INCO Entre dans RAD Entre dans RDO, Sortie de RDO Entre dans RI, Sortie de RI Sortie partie basse (X) de RI Entre dans CO, Sortie de CO Incrmentation du CO Entre dans R, Sortie de R Entre dans RSP, Sortie de RSP Incrmentation RSP Dcrmentation RSP Entre Oprandes Y1, Y2 dans UAL Sortie du rsultat Z de lUAL Entre dans RB, Sortie de RB Entre de RB dans UAL Mise 0 de loprande Y1 Lecture/criture vers MC Opration sur UAL
Y2en
RSP R
Horloge
Ren, Rsor RSPen,RSPsor INCRSP DECRSP Y1en, Y2en Zsor RBen, RBsor RBUALen RazY1 LEC/ECR Add, And, Mul, Or, Xor
CO INCO
Dcodeur
LEC/ECR
RI
RIen
Jolle Delacroix
35
Microcommandes
RazY1 Zsor RBUALen RB Y1en Add, Mul, And PSW INCRSP DECRSP Y2en RBsor RBen
LOAD Im R 3 Fetch
Co RAD lecture RDO RI Incrment CO X (3) R Co RAD lecture RDO RI Incrment CO X RAD lecture RDO Y1 R Y2 Addition ZR Co RAD lecture RDO RI Incrment CO X Y2 RBUAL Addition ZRAD R RDO Ecriture
COsor, RADen LEC RDOsor, RIen INCO Xsor, Ren COsor, RADen LEC RDOsor, RIen INCO Xsor, RADen LEC RDOsor, Y1en Rsor, Y2en Add Zsor, Ren COsor, RADen LEC RDOsor, RIen INCO Xsor, Y2en RBUALen Add Zsor, RADen Rsor, RDOen ECR
36
RSP R
Horloge
CO INCO
Dcodeur
LEC/ECR
RI
RIen
Jolle Delacroix
Lactivation des micro-commandes composant une instruction machine seffectue au rythme de lhorloge du processeur A chaque top horloge, le squenceur active un sous-ensemble de microcommandes composant une instruction
Excution
Architecture des machines NFA004, 2006/2007
Le concepteur de processeur
Construit le circuit squenceur Il programme lactivation des micro-commandes en fonction des tops horloge. Il cherche minimiser le temps dexcution de chaque instruction, donc le nombre de tops horloge ncessaire pour excuter chaque instruction
Choisit des conventions de reprsentations des nombres, caractres Complment 2, ASCII, IEEE754
Jolle Delacroix
39
Le concepteur du processeur programme lactivation des micro-commandes en fonction des tops horloge. Il cherche minimiser le temps dexcution de chaque instruction, donc le nombre de tops horloge ncessaire pour excuter chaque instruction
R1
R1sor
10
10
R2 R2sor
15
??
15
R1sor, R2sor
Deux registres ne peuvent ouvrir leur porte de sortie sur un mme cycle
Architecture des machines NFA004, 2006/2007
La mmoire a un cycle 3 fois plus long que celui du processeur : le processeur attend la mmoire centrale durant deux cycles processeur
Jolle Delacroix 40
LOAD Im R 3 Fetch
Excution
1 cycle Attente mmoire (2 cycles) 1 cycle 1 cycle 5 cycles 1 cycle Attente mmoire (2 cycles) 1 cycle 1 cycle Attente mmoire (2 cycles) 1 cycle 1 cycle 1 cycle 10 cycles 1 cycle Attente mmoire (2 cycles) 1 cycle 1 cycle 1 cycle 1 cycle Attente mmoire (2 cycles) 9 cycles
ADD D R A Fetch
Excution
Co RAD lecture RDO RI Incrment CO X RAD lecture RDO Y1 R Y2 Addition ZR Co RAD lecture RDO RI Incrment CO X Y2 RBUAL Addition ZRAD R RDO Ecriture
I1 : COsor, RADen, LEC I2 : RDOsor, RIen, INCO I3 : Xsor, RADen, LEC I4 : RDOsor, Y1en I5 : Rsor, Y2en, Add I6 : Zsor, Ren I1 : COsor, RADen, LEC I2 : RDOsor, RIen, INCO
STORE B R X Fetch
Excution
Jolle Delacroix
41
fonction perimetre (a, b : in integer) return integer is begin perimetre := (2 * a) + (2 * b); end;
Compilateur
processeur
COsor, RADen, LEC RDOsor, RIen R1sor, Y1en Xsor, Y2en, Mul Zsor, R1en
Assembleur
011011100000.10010 001110111101.11011 001111110001.11101
Mmoire centrale
Squenceur : microprogrammation
Bus
traduction
Architecture des machines NFA004, 2006/2007 Jolle Delacroix 42
Squenceur micro-programm
Il est constitu :
dune mmoire qui contient les micro-programmes de chaque instruction machine; dun micro-compteur ordinal qui pointe sur la microinstruction excuter.
Une micro-instruction :
est une chaine binaire dont la taille est gale au nombre de micro-commandes disponibles; Un bit 0 indique que la micro-commande ne doit pas tre active; un bit 1 indique que la micro-commande doit tre active au cours du cycle processeur.
Jolle Delacroix
43
Add D R A
RI DRA
Horloge
Signal mmoire prte
Add
Micro-CO
00000 000000101001000001 00001 000000000010001010 00010 000010100001000101 00011 100000000000001000 00100 001001010000000000 00101 000110000000000000 00110 000000101001000001 00111 000000000010001010 01001 000000000001001000 01010 01011 0000000100001101 01100 0000010000000010 01101 01110 01111 Mmoire 10000 de micro-programme
Fetch
0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 Y1en RAZY1 Y2en Zsor Ren Rsor Lec Add COen COsor RIen RIsor RADen RDOen RDOsor Xsor INCO AttMem
Load Im,R 3
Squenceur micro-programm
Jolle Delacroix
44
Jolle Delacroix
45
Notion dinterruptions
Lexcution dun programme seffectue instruction aprs instruction.
Une interruption est un mcanisme permettant de stopper lexcution du programme en cours afin daller excuter une tche juge plus prioritaire. Une interruption permet de signaler un vnement survenu sur la machine et dexcuter un traitement spcifique (programme de service ou routine dinterruption) li cet vnement .
Elle travaille
Architecture des machines NFA004, 2006/2007
DRING !
Notion dinterruptions
Une interruption est un mcanisme permettant de stopper lexcution du programme en cours afin daller excuter une tche juge plus prioritaire. Elle est caractrise par un numro et un traitement associ (la routine ou traitant dinterruption)
On distingue principalement deux types dvnements : Les interruptions externes ou matrielles sont mises par les priphriques du processeur (fin dcriture disques, plus de papier imprimante). Ce sont les IRQs. Les interruptions internes ou logicielles sont mises par le processeur lui-mme lorsquil rencontre une erreur dans lexcution du programme (division par zro, accs mmoire illgal). Ce sont les trappes.
Jolle Delacroix
47
Notion dinterruptions
Une interruption est un mcanisme permettant de stopper lexcution du programme en cours afin daller excuter une tche juge plus prioritaire. Elle vite au processeur de scruter les priphriques
Y-a-t-il le feu chez vous ?
Notion dinterruptions
Liste des IRQs sur un processeur Intel famille x86 :
IRQ 0 1 3 4 5 6 7 8 9 10 11 12 13 14 15
Architecture des machines NFA004, 2006/2007
Priphrique Horloge interne clavier port de communication COM2/COM4 port de communication COM1/COM3 libre contrleur de disquettes port imprimante LPT1 CMOS (Horloge temps rel) libre libre libre port souris PS2/libre processeur numrique de donnes(Coprocesseur arithmtique) contrleur de disques durs primaire (IDE) contrleur de disques durs secondaire (IDE)
Jolle Delacroix 49
Intr?
UE
Un priphrique signale un vnement au processeur en mettant une interruption matrielle. Le processeur teste sa ligne dentre dinterruption (INTR) avant de commencer le traitement de linstruction suivante du programme quil excute.
Architecture des machines NFA004, 2006/2007 Jolle Delacroix 50
Les interruptions
Mmoire centrale
Numro 1 2 3 4 adresse 1000 1100 1500 2000
CPU
INTR
INTA
IRQ numro
UE
1. L'UE envoie un signal d'interruption : INTR 2. Le CPU acquitte avec le signal INTA 3. L'UE transmet un numro d'interruption. Ce numro indexe une table en mmoire centrale le vecteur d'interruption, qui pour chaque numro dinterruption donne l'adresse de la routine associe en mmoire centrale.
Jolle Delacroix
51
Les Interruptions
IRQ 3
0017
Programme
1002 Latence
Interruption n3
CO <-- 0017
1002
CO <-- 1002
9 La table des vecteurs dinterruptions est ladresse 00000 sur un pc; Elle occupe 1 Ko (256 entres de 4 octets)
Jolle Delacroix 52
Code ascii
IRQ 1
Programme X
Routine IRQ 1
Excutions du CPU
Architecture des machines NFA004, 2006/2007 Jolle Delacroix 53
Alimentation et masse
Vcc GND
INTR INTA
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15
Microprocesseur
D0 D1 D2 D3 D4 D5 D6 D7
Adresses
S O C Z I
Une interruption masque nest pas prise en compte par le processeur lorsque celle-ci survient. EI : Enable Interrupt
les interruptions sont dmasques
DI : Desable Interrupt
les interruptions sont masques
Jolle Delacroix
55
Fin traitement IRQ 2, Reprise traitement IRQ 5 Fin traitement IRQ 5, Traitement IRQ 6, puis IRQ 7
Architecture des machines NFA004, 2006/2007 Jolle Delacroix 58
Le contrleur dinterruption
La gestion des priorits entre interruptions matrielles est la charge dun circuit spcifique : le contrleur dinterruption. Il reoit les interruptions dlivres par les priphriques du processeur, mmorise les interruptions reues, arbitre les priorits et dlivre linterruption la plus prioritaire au processeur.
IRR ISR
IMR
UE UE UE UE UE UE UE UE
IRR : registre des requtes dinterruptions ISR : registre des interruptions en cours IMR : registre des interruptions masques
Jolle Delacroix
59
Le contrleur dinterruption
CPU
INTR, INTA
ISR IRR
IRR Arrive IRQ5, IRQ6 Arrive IRQ7 Arrive IRQ2 Fin IRQ2 (EOI) Fin IRQ5 (EOI) Fin IRQ6 (EOI) Fin IRQ 7 (EOI) Irq 2 vers cpu EOI vers ctleur EOI vers ctleur Irq 6 vers cpu EOI vers ctleur Irq 7 vers cpu EOI vers ctleur Irq 5 vers cpu 01100000 11000000 11000100 11000000 11000000 10000000 00000000
Jolle Delacroix
ISR Traitement IRQ5 Traitement IRQ5 Traitement IRQ2 Traitement IRQ5 Traitement IRQ6 Traitement IRQ7 00100000 00100000 00100100 00100000 01000000 10000000 00000000
IRR 01000000
11000000
10000000 00000000
60
RSP
Pile
Jolle Delacroix 61
40 10 2
123
RSP 123 40 10 2
Jolle Delacroix
62
RSP est dcrment. Le contenu du mot dont ladresse est (RSP) est mis dans le registre R1.
RSP R1
123
Jolle Delacroix
40 10 2
63
1002
1002
0035 Le traitement de lIRQ est termin. On retourne dans le programme utilisateur ladresse o il a t interrompu. On remet dans CO la valeur crite au sommet de pile
Jolle Delacroix
64
10 20 30 40 50 60 70 80
50
10 20 30 40 50 60 70 80
1000 1001 1002 1003 1004 1005
Routine irq1 Routine irq2 Routine irq3 Routine irq4 Routine irq5 Routine irq6 Routine irq7 Routine irq8
I1 I2 I3 I4 I5 I6
55
IRQ 2
CO
55
1002
20
CO 1002
1002
29
55
CO
1002
Jolle Delacroix
59
1002
65
EI : Autoriser les interruptions DI : Masquer les interruptions RTI : retour de traitant dinterruption POP Rg1 R1 : Le sommet de pile est mis dans R1 PUSH Rg1 R1 : R1 est plac au sommet de la pile
Jolle Delacroix
66