Vous êtes sur la page 1sur 19

Microprogrammation

Machine MIC-1

Architecture Mic-1

Cycles fonctionnels

Excution d'une micro-instruction


L'excution est divise en quatre tapes, correspondant chacune a un des quatre sous-cycles de l'horloge; CK1
CK4
Sous cycle CLK1 (couleur rouge sur la figure)
La micro-instruction est transfre de la mmoire de commande vers le registre de micro-instruction (RMI).
Ainsi, pour la mmoire de commande, le registre RMI joue le rle d'un registre de donne, tandis que le registre
MCO (microcompteur ordinal) joue le rle d'un registre d'adresse.
Sous cycle CLK2 (couleur orange)
Le compteur incrmental ajoute 1 au contenu de MCO
Les valeurs des champs A et B slectionnent, par l'intermdiaire des dcodeurs, les registres gnraux dont les
contenus sont transfrs sur les bus, puis sur les tampons A et B.
Sous cycle CLK3 (couleur vert fonc)
Les oprations sont excutes par l'UAL et le dcaleur, avec comme oprandes :
- le tampon B
- la sortie du multiplexeur qui est soit le tampon A, soit le contenu du registre de donne RDO.
- la donne du tampon B est transfre dans le registre d'adresse RAD si champ RAD est a 1 .
Sous cycle CLK4 (couleur vert clair)
La donne du bus C en sortie du dcaleur peut tre dcharge dans un des registres gnraux (dsign par le
champ C), lorsque VALC vaut 1, et dans RDO, si le champ RDO vaut 1.
Le dcodeur C est donc reli la fois aux champs C et VALC de la micro-instruction et au quatrime signal
d'horloge CK4.

Les Cycles fonctionnels

Fetch
Read Registers
Execute
Write

Recherche micro Instruction (couleur rouge clk1)


Lecture registres (couleur rouge clk2)
UAL ou (et) slection mmoire (couleur rouge clk3)
Registre ou lecture/criture mmoire (couleur rouge clk4)

Quelques exemples de microinstructions

LUAL avec 4 oprations possibles (sur des mots de 16 bits).


Une opration sur les entres A (en sortie de AMUX) et B (provenant du tampon B) est slectionne par la
configuration des deux lignes F0 et F1:
0A+B
1 A ET B
2A
3 NON A

Le dcaleur avec deux commandes S0 et S1 dont la configuration indique le sens du dcalage:


0
pas de dcalage
1
dcalage droite
2
dcalage gauche
3
inutilis

Exemple

La micro-instruction comporte :
ri+ri: les valeurs 3 dans les champs A et B commandent le transfert du contenu du registre
RI (de numro 3) sur les bus A et B, de faon positionner ces valeurs en entre de l'UAL.
La valeur 0 dans le champ UAL signifie l'excution d'une addition, qui permet dans ce cas d'effectuer
un premier dcalage gauche sur le contenu du registre RI.
decalg: la valeur 2 dans le champ DCAL permet d'obtenir le dcalage gauche
rit:=: le bit 1 dans le champ VALC valide le dchargement du rsultat (en sortie du dcaleur) situ sur
le bus C dans un des registres gnraux (ici RIT)
La valeur 4 dans le champ C indique l'adresse du registre
if n: reprsent par la valeur 1 dans le champ COND. Commande un saut lorsque N est gal a 1
Ceci se produit lorsque le bit numro 14, qui est le bit de poids fort du rsultat de l'addition ri+ri, vaut 1
goto 69: la valeur 69 dans le champ ADDR contient l'adresse du saut (adresse du micro-programme,
donc de la mmoire de commande).

Choix Format de linstruction couche 3

1- Oprande = une adresse pour CodeOp=0000 1110

Code Op

Adresse

xxxx

xxxx xxxx xxxx xxxx

2- Manipulation de la pile CodeOp=1111

Code Op

Adresse

1111

xxxx 0000 0000 0000

Opration accumulateur

1111

1100 xxxx xxxx xxxx

Incrmentation index

1111

1101 xxxx xxxx xxxx

Dcrmentation index

Instructions Oprations mmoire

Le mot de la mmoire centrale d'adresse x est not m[x]


Binaire

Mnmonique

Instruction

Opration

Instructions Opration manipulation


de la pile

La pile est situe a des adresses dcroissantes de la mmoire centrale


Il faut donc dcrmenter de 1 l'adresse du sommet de la pile pour y ajouter
une donne:

PP
4094
4095
4096

Empilement direct
Empilement indirect

: pp := pp-1;m[pp] := AC
: m[ac] := m[pp]; pp := pp + 1

Binaire

Mnmonique

Instruction

Opration

Interprtation d'une instruction du


langage machine

Le microprogramme est form d'une boucle (infinie) , comprenant quatre tapes:


Recherche de l'instruction en langage machine en mmoire centrale et copie de cette
instruction dans le registre RI
Prparation de linstruction suivante
Analyse des bits de poids forts de l'instruction, permettant d'obtenir le code de
l'opration (dcodage)
Traitement de l'instruction.
Voir exemple de programme dinterprtation