Architecture des Ordinateurs
et Systèmes d’Exploitation
Cours n°3
La couche micro-programmée
De la micro-instruction au langage machine
Ph. Leray 3ème année
Architecture des Ordinateurs et Systèmes d'Exploitation Ph. Leray
Reg A
Reg B
Reg C
INST
IP
SP
0
1
...
...
BD
BA
UAL
Donnée
Adresse
OF
CF
ZF
SF
PF
MUX
Tamp A
Tamp B
Flags
Unité de Traitement
Chemin de données : rappel
Bus 1
C2C1C03
M10
FI(IE)
TB(IE)
TA(IE)
AI(IE) n
RO(OE)
Bus 2
RI(IE)
n
DII(IE)
DIE(IE)
DO(OE)
Architecture des Ordinateurs et Systèmes d'Exploitation Ph. Leray
Séquencement des actions : µ
µµ
µ-instruction
Exemple : Reg A
Reg A + Reg B Signaux
Actions : Transfert (Bus 1) Reg A
Tamp A RO10 , TA
Transfert (Bus 1) Reg B
Tamp B RO11 , TB
Choix UAL (C=100, M=0, Flags) C2C1C0 ,M, FI
Transfert (Bus 2) UAL
Reg A RI10
Une micro-instruction = ensemble des actions faisant fonctionner une
fois le chemin de données
µ
µµ
µ- instruction = 5 sous-cycles:
1. Transfert n°1 par le Bus 1
2. Transfert n°2 par le Bus 1
3. Opération UAL
4. Transfert résultat par le Bus 2 (+ observation des FLAGS)
5. Accès à la mémoire (READ / WRITE)
Architecture des Ordinateurs et Systèmes d'Exploitation Ph. Leray
1. Faire l’addition de 2 registres et mettre le résultat dans l’un des deux
ex : IP
IP + Reg1
10: TampAIP ; TampBReg1 ; UALTampA+TampB ; IPUAL;
(signaux: RO1 , TA ; RO4 , TB ; C=100 , M=0 , FI ; RI1 )
2. Faire des sauts conditionnels :
Conditions possibles = FLAGS en sortie de l ’UAL (Bus 2)
ex : Si RegA=0 aller en 30
10: TampARegA ; TampBReg0 ; UALTampA+TampB; on ZF jmp 30 ;
(signaux: RO10 , TA ; RO3 , TB ; C=100 , M=0 , FI ; )
(NB: Il faut faire une opération pour calculer ZF mais UAL TampA n ’en est pas une)
µ
µµ
µ-programmes simples 1/2
Architecture des Ordinateurs et Systèmes d'Exploitation Ph. Leray
3. Envoyer le contenu d’une case mémoire d’adresse XX dans un registre
(Hypothèse: l’adresse XX est dans un autre registre)
ex : RegA
[RegB]
il faut commencer par mettre RegB dans Adresse et déclencher une opération de lecture (Un
accès à la mémoire (READ / WRITE) prend 2 cycles)
10: AdresseRegB ; ; ; ; READ
(signaux: AI , TB ; ; ; ; DIE)
11: ; ; ; ; READ
la valeur est ensuite disponible dans Donnée. Pour l ’envoyer dans un autre registre, il faut
passer par l ’UAL
12: ; ; UALDonnée ; RegAUAL ;
(signaux: ; ; C=001, M=1 ; RI10)
µ
µµ
µ-programmes simples 2/2
1 / 41 100%