„„„„Unité de commandeavec registre d’adresseSystème microprogramméRépertoire d’instructionsProgramme et format des instructionsRéalisationandre.stauffer@epfl.chSystème microprogramméLa réalisation microprogrammée de l’unité de commande d’un système numérique est basée sur l’utilisation d’une mémoire morte et d’un registre d’adresseLes mots de la mémoire morte représentent chacun une instruction du programmeLes instructions du programme se composent de trois types de champs: - le champ de test- le champ d’adresse- le champ de commande1Système microprogramméLa réalisation microprogrammée de l’unité de commande d’un système numérique se caractérise par son répertoire d’instructionsLa conception s’effectue à partir de l’organigrammefonctionnel en accomplissant les étapes suivantes:- rédaction du programme original- détermination du format et des champs des instructions- adaptation et codage du programme original- déclaration des registres et des ressources de l’unité decommande- schéma et table des opérations de l’unité de commande- réalisation de l’unité de commande à l’aide decomposants combinatoires et séquentiels Répertoire d’instructionsUnité de commande à deux instructions avec registre d’adresseIFT=0THEN GOTOADR0ELSEGOTOADR1ADR TADR1 ADR0instruction de test2Répertoire d’instructionsUnité de commande à deux instructions avec registre d’adresseDOOPANDGOTOADR1ADR OPADR1instruction de commandeProgramme et ...
Système microprogrammé Répertoire d’instructions Programme et format des instructions alisationRé
andre.stauffer@epfl.ch
Système microprogrammé
La réalisation microprogrammée de l’unité de commande d’un système numérique est basée sur l’utilisation d’une mémoire morte et d’un registre d’adresse
Les mots de la mémoire morte représentent chacun une instruction du programme
Les instructions du programme se composent de trois types de champs: -le champ de test -le champ d’adresse -le champ de commande
1
Système microprogrammé La réalisation microprogrammée de l’unité de commande d’un système numérique se caractérise par son répertoire d’instructions La conception s’effectue à partir de l’organigramme fonctionnel en accomplissant les étapes suivantes: - rédaction du programme original - détermination du format et des champs des instructions - adaptation et codage du programme original - déclaration des registres et des ressources de l’unité de commande - schéma et table des opérations de l’unité de commande - réalisation de l’unité de commande à l’aide de composants combinatoires et séquentiels
Répertoire d’instructions Unité de commande à deux instructions avec registre d’adresse
IF T=0 THEN GOTO ADR0 ELSE GOTO ADR1
ADR T ADR1 ADR0
instruction de test
2
Répertoire d’instructions Unité de commande à deux instructions avec registre d’adresse
operation description S(3:0) OP0 NOP 0000 OP1 F <= 1 0001 OP2 A <= 0, B <= X, C <= Y, F <= 0, I <= 0 0010 OP3 (A,B)<= (A,B) * 2, B(0) <= 0 0011 OP4 B(0) <= 1 0100 OP5 A <= A + C 0101 OP6 A <= A - C 0110 OP7 A<= A + C, I <= I + 1 0111 OP8 A <= A - C, I <= I + 1 1000
table des opérations du diviseur
Programme et format WAIT: DO OP1 AND GOTO NEXT IF E=0 THEN GOTO WAIT ELSE GOTO EXECUTE EXECUTE: DO OP2 AND GOTO NEXT DO OP3 AND GOTO NEXT DO OP6 AND GOTO LOOP LOOP: IF A(7)=0 THEN GOTO SUBC ELSE GOTO ADDC ADDC: DO OP3 AND GOTO NEXT DO OP7 AND GOTO TEST TEST: IF I7=0 THEN GOTO LOOP ELSE GOTO NEXT IF A(7)=0 THEN GOTO INCB ELSE GOTO NEXT DO OP5 AND GOTO WAIT SUBC: DO OP4 AND GOTO NEXT DO OP3 AND GOTO NEXT DO OP8 AND GOTO TEST INCB: DO OP4 AND GOTO WAIT programme original du diviseur
4
Programme et format 0 DO OP1 AND GOTO 1 1 IF E=0 THEN GOTO 0 ELSE GOTO 2 2 DO OP2 AND GOTO 3 3 DO OP3 AND GOTO 4 4 DO OP6 AND GOTO 5P 5 IF A(7)=0 THEN GOTO 11 ELSE GOTO 6 6 DO OP3 AND GOTO 7 7 DO OP7 AND GOTO 8 8 IF I7=0 THEN GOTO 5 ELSE GOTO 9 9 IF A(7)=0 THEN GOTO 14 ELSE GOTO 10 10 DO OP5 AND GOTO 0 11 DO OP4 AND GOTO 12 12 DO OP3 AND GOTO 13 13 DO OP8 AND GOTO 8 14 DO OP4 AND GOTO 0 adressage décimal des instructions Programme et format 0 TEST ADR0 ADR1 10 9 8 7 4 3 0 1 - OP ADR1 10 7 4 3 0 format des instructions du programme 5
L’unité de commande microprogrammée avec registre d’adresse nécessite les registres et les ressources suivants:
-un registre 4 bits AR3:0 comme registre d’adresse de la mémoire morte -une mémoire morte M de 15 mots de 11 bits pour le programme de l’unité de commande -un multiplexeur AM pour sélectionner l’une ou l’autre des adresses 4 bits fournies par la mémoire morte -un opérateur logique S pour annuler les 4 bits de commande lors des instructions de test - un multiplexeur T pour sélectionner les variables de test
déclaration des ressources et des registres
6
Réalisation
E A(7) I7 T AM AR3:0
M
S
schéma de l’unité de commande
Réalisation
operation description OP1 AR := 0, AM = -, S = -OP2 AR <= AM, AM = M(AR)ADR0, S = 0 OP3 AR <= AM, AM = M(AR)ADR1, S = 0 OP4 AR <= AM, AM = M(AR)ADR1, S = M(AR)OP
CLR IC 1 -0 0 0 0 0 1
table des opérations de l’unité de commande
T -0 1 0
7
Réalisation
Opération effectuée par le registre d’adresse AR: AR <= AM
Table des opérations du composant séquentiel 4 bits correspondant:
operation CLEAR LOAD
description Q(3:0) := 0000 Q(3:0) <= D(3:0)
Réalisation Registre d’adresse AR3:0
symbole VHDL
CLR 1 0
8
Réalisation Registre d’adresse AR3:0
architecture RTL
Réalisation
Opérations effectuées par le multiplexeur d’adresse AM: AM M(AR)ADR0 = AM = M(AR)ADR1
Table des opérations du composant combinatoire 4 bits correspondant:
operation SELECT 0 SELECT 1
description Y(3:0) = D0(3:0) Y(3:0) = D1(3:0)
S 0 1
9
Réalisation
Multiplexeur d’adresse AM
symbole VHDL
Réalisation
Multiplexeur d’adresse AM
architecture RTL
10
Réalisation
Opérations effectuées par l’opérateur logique S pour le contrôle des bits de commande: S = 0 S = M(AR)OP
Table des opérations du composant combinatoire 4 bits correspondant: