Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties
Contrôle 2 Mise en place du contrôle En fonction du code-op il faut : 1.Contrôler l’UAL, en envoyant les signaux de bits de contrôle qui correspondent à l’opération à réaliser. 2.Contrôler les multiplexeurs et éléments de mémorisation du chemin de données pour piloter les transferts de données.
Contrôle 3 Contrôle de l'UAL Fonction 000Et 001Ou 010Addition 110Soustraction 111Positionner si inférieur Entrée de contrôle de l'UAL Entrée de contrôle de l'UAL
Contrôle 4 Contrôle de l'UAL Code-op instruction UALOp Contrôle Opération de l'instruction Code fonction Actions UAL désirées Entrée contrôle UAL LW 00 XXXXXXaddition010 SW00XXXXXXaddition010 BEQ01Branc. si =XXXXXXsoustraction110 type R10addition100000addition010 type R10soustraction100010soustraction110 type R10ET100100et000 type R10OU100101ou001 type R10Positionne si <101010posit.si <111 Rang. mot Charg. mot Remarque : Utilisation d’outils de CAO pour réaliser la fonction est nécessaire.
Contrôle 5 Contrôle de l'UAL PLA Champ Fonct Contrôle Code-op UALOp Entrée de contrôle de l'UAL
Contrôle 6 Le bloc de contrôle de l'UAL opération2 opération1 opération0 F3 F2 F1 F0 UALOp0 UALOp1 Champ Fonct Contrôle Code-op UALOp Entrée de contrôle de l'UAL
Contrôle 7 Mise en place du contrôle du chemin de données Il faut maintenant introduire des signaux de contrôle pour pouvoir piloter les différents multiplexeurs
Contrôle 8 Les lignes de contrôle Mémoire d'instructions adresse à lire Registres Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à Ecrire Ins 31-0 Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDestLireMem MemversReg ALUop EcriMemALUSrcEcrireReg CPSrc
Contrôle 9 Le chemin de données avec le contrôle Mémoire d'instructions adresse à lire Registres Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr Ins 31-0 Ins Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg Mémoire de données
Contrôle 10 Détermination des signaux de contrôle Pour déterminer les signaux de contrôle, on va décomposer étape par étape une instruction : de type R de chargement …
Contrôle 11 Résumé des étapes suivies pour les divers types Nom de l’étape Extraction de l’instruction Décodage de l’instruction, extraction des regis Exécution, Accès mémoire ou terminaison d’une instructionde type R Ecriture arrière Action pour les types R SortieUAL = A op B Reg[RI[15-11]] = SortieUAL RI = Mem[CP] CP=CP+4 A=Reg[RI[25-21]] B= Reg[RI[20-16]]
Contrôle 12 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à lire Ins 31-0 Ins Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg Exécution d’un type R $1=$2+$ decvalfonct1320
Contrôle 13 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à lire Ins 31-0 Ins Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg 4 C CP decvalfonct1320
Contrôle 14 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à lire Ins 31-0 Ins Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg 4 C decvalfonct1320
Contrôle 15 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à lire Ins 31-0 Ins Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg 4 C decvalfonct1320
Contrôle 16 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr Ins 31-0 Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg C Décodage Don.à Ecrire Code_op $2 $ decvalfonct1320
Contrôle 17 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à lire Ins 31-0 Ins Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg C $2+$ decvalfonct1320
Contrôle 18 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr Ins 31-0 Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg C Don.à Ecrire $2+$ decvalfonct1320
Contrôle 19 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg Récapitulatif : En un seul cycle C Don.à Ecrire $2 $3 $2+$3 CP decvalfonct1320
Contrôle 20 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr Ins 31-0 S C.ALU 0 Don.à ecr. Ad. ecr. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg Récapitulatif : En un seul cycle C Don.à Ecrire $2+$3 CP+4
Contrôle 21 La fonction contrôle OP5 OP4 Op3 Op2 Op1 Op0 RegDst UALSrc MemversReg EcrireReg LireMem EcrireMem Branchement UALOp1 UALOp0 Entrées Sorties Format R
Contrôle 22 Résumé des étapes suivies pour les divers types Nom de l’étape Extraction de l’instruction Décodage de l’instruction, extraction des regis calcul d’adresses ou branchement Accès mémoire ou terminaison d’une Instruction de type R Ecriture arrière Action pour les REF mémoire RI = Mem[CP] CP=CP+4 A=Reg[RI[25-21]] B= Reg[RI[20-16]] Dest=CP+(ext-signe(RI[15-0])<<2) SortieUAL=A+ext- sig([15-0]) donnée-mémoire= Mem[SortieUAL] ou Mem[sortieUAL] =B Reg[RI[20-16]]= donnée-mém
Contrôle 23 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à lire Ins 31-0 Ins Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg 1 Instruction de Chargement lw $1,100($2)
Contrôle 24 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à lire Ins 31-0 Ins Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg 4 C CP
Contrôle 25 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à lire Ins 31-0 Ins Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg 4 C
Contrôle 26 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr Ins 31-0 Ins Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg C Don.à Ecrire $2 100(32)
Contrôle 27 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à lire Ins 31-0 Ins Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg 0 1 C $2+100 Ad. lec. V
Contrôle 28 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr Ins 31-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg C Don.à Ecrire V 1V1V
Contrôle 29 Récapitulatif : en un seul cycle Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à Ecrire Ins 31-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg C V $2 100 $2+100 V
Contrôle 30 Les signaux non sélectionnés Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à Ecrire Ins 31-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg C V $2 100 $2+100 V
Contrôle OP5 OP4 Op3 Op2 Op1 Op0 RegDst UALSrc MemversReg EcrireReg LireMem EcrireMem Branchement UALOp1 UALOp0 Entrées Sorties Format R LW
Contrôle 32 Résumé des étapes suivies pour les divers types Nom de l’étape Extraction de l’instruction Décodage de l’instruction, extraction des regis Exécution, calcul d’adresses ou branchement Accès mémoire ou terminaison d’une instructionde type R Ecriture arrière Action pour les types R SortieUAL = A op B Reg[RI[15-11]] = SortieUAL Action pour les REF mémoire RI = Mem[CP] CP=CP+4 A=Reg[RI[25-21]] B= Reg[RI[20-16]] Dest=CP+(ext-signe(RI[15-0])<<2) SortieUAL=A+ext- sig([15-0]) donnée-mémoire= Mem[SortieUAL] ou Mem[sortieUAL] =B Reg[RI[20-16]]= donnée-mém Action pour les branchements if(A=B) then CP = Dest
Contrôle 33 La fonction de contrôle x 1 x x 0 x OP5 OP4 Op3 Op2 Op1 Op0 RegDst UALSrc MemversReg EcrireReg LireMem EcrireMem Branchement UALOp1 UALOp0 Entrées Sorties Format R LW SW Beq Elle est complètement définie par la table de vérité
Contrôle 34 Mise en oeuvre du contrôle Sorties RegDst UALSrc MemversReg EcrireReg LireMem EcrireMem Branchement UALOp1 UALOp0 format R lwsw beq Entrées Op5 Op4 Op3 Op2 Op1 Op0
Contrôle 35 Ajouter Beq Mémoire d'instructions adresse à lire Registres Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr Ins 31-0 Ins Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ALU ADD CP RegDest LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg Mémoire de données
Contrôle 36 Ajouter Beq Mémoire d'instructions adresse à lire Registres Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr Ins 31-0 Ins Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ALU ADD CP RegDest LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg Mémoire de données
Contrôle 37 Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à lire Ins 31-0 Ins Ins Ins Ins Ins 15-0 Ins S C.ALU 0 Don.à ecr. Ad. ecr. Ad. lec. Don. lue ADD ALU D ADD CP RegDest Branchement LireMem MemversReg ALUop EcriMem ALUSrc EcrireReg