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: TampA←IP ; TampB←Reg1 ; UAL←TampA+TampB ; IP←UAL;
(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: TampA←RegA ; TampB←Reg0 ; UAL←TampA+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: Adresse←RegB ; ; ; ; 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: ; ; UAL←Donnée ; RegA←UAL ;
(signaux: ; ; C=001, M=1 ; RI10)
µ
µµ
µ-programmes simples 2/2
1 / 41 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!