Polytech Marseille INFO3 TD d'Architecture : Contrôle des CPU 2018-19
TD7
Contrôle de la CPU « multi-cycles »
I Implémentation de la machine à états finis de la CPU « multi-cycles » On veut étudier le contrôle de la CPU MIPS dans sa version « multi-cycles ».
Les différentes étapes de l'exécution des instructions qui nous intéressent peuvent être décrites par une machine à états finis suivant le schéma suivant :
1
Polytech Marseille INFO3 TD d'Architecture : Contrôle des CPU 2018-19
Les états courants Statek de la machine à états finis sont identifiés par leur numéro, codé sur 4 bits : S3, S2, S1 et S0 tandis que les codes des opérations sont identifiés par les 5 bits Op4, Op3,Op2, Op1, Op0.
Pour chacune des lignes de contrôle de la CPU, quels sont les états courants Statek qui réclament une valeur vraie de cette ligne ?
Sorties État courant
PCWrite PCWriteCond IorD
MemRead MemWrite IRWrite MemtoReg PCSource1 PCSource0 ALUOp1 ALUOp0
2
Polytech Marseille INFO3 TD d'Architecture : Contrôle des CPU 2018-19 ALUSrcB1
ALUSrcB0 ALUSrcA RegWrite RegDest
En déduire les expressions des valeurs des lignes de contrôle en fonction des 4 bits S3, S2, S1 et S0. L'état « suivant » qu'occupera la FSM pour l'étape suivante est identifié par un numéro codé sur 4 bits : NS3,NS2, NS1, NS0.
Donner les expressions des états NextStatek (k=0 ...3) en fonction del'état courant Statek et du code opération Opl (l=0...5).
Sorties État courant Op
NextState0 NextState1 NextState2 NextState3 NextState4 NextState5 NextState6 NextState7 NextState8 NextState9
En déduire les valeurs des bits NSk (k=0...3) en fonction des bits d'état Sk (k=0...3) et des codes opératoires Opl (l=0...5)
3