Correction Rattrapage 2013
Correction Rattrapage 2013
Correction Rattrapage 2013
Session de Rattrapage
Matière : Méthodologie de conception de processeur Durée : 2 H
Enseignants : Ben Abdessalem Imed, Latrach Lassaad, Mezghanni Dhafer, Date : 10 - 06 – 2013
Sghaier Nizar
Nbr pages : 10
Documents : Non autorisés
Note :
Exercice 1 : 3pts
1
Ne rien écrire ici
Exercice 2 : 5pts
2
machine à états d’un processeur MIPS multi-cycle.
2- Pour chacune des deux instructions spécifier les valeurs des signaux de contrôle 2
inst Me write Me read regDst Me/ Re Regwrite AlusrcA Alusrc B op
lui 0 1 1 1 1 1 0 add
lwptr 0 1 0 1 1 1 2 add
6
3- Compléter la machine à états pour implémenter les deux instructions: 2
7
Exercice 3 : 4pts
Multi-cycle Tex=2.35*200(0.2*5+0.1*4+0.5*4+0.15*3+0.0
5*3)=1880ns
Pipeline Tex=2.35*(200+4+0.15*30+0.7*40+10*2)
=526.5ns
8
Ne rien écrire ici
Problème : 8 pts
Soit le code suivant, pour le microprocesseur MIPS 64 présenté en classe (registres de 64
bits).
N.B : Les instructions sont le même microprocesseur MIPS 32 sauf on ajoute la lettre D avant
les instructions.
1- Si on exécute ce code avec comme valeur initiale R4=1, donnez les valeurs en 1.5
mémoire (valeurs décimales de blocs de 8 octets) de Mem[64] à Mem[128],
inclusivement. Donnez aussi les valeurs finales des registres R0 à R3 au moment
où l’instruction à la ligne 15 est atteinte.
9
2- Supposons que le code soit exécuté sur une implantation en pipeline en cinq 2
étages de base du MIPS, sans optimisation, ni envoi de données (sauf entre les
étages WB et ID, tel qu’indique ci-bas) ou prédiction de branchements. Calculez
le nombre de cycles d’horloge nécessaires pour que l’instruction à la ligne 15 du
code (étiquette fin) atteigne l’étage IF, si on utilise comme valeur initiale R4=0.
Dans cette implantation, considérez que toutes écritures aux registres se font à
l’étage WB. Ainsi, si une instruction dépend du résultat d’une instruction
antérieure, la deuxième instruction sera bloquée à l’étage ID pour la lecture du
registre tant que la première instruction n’aura pas atteint l’étage WB. De plus,
les décisions sur les branchements sont prises ´ a l’étage MEM. Supposez
également qu’un envoi de valeurs de registres entre les étages WB et ID est
effectué et que les transmissions de décisions de branchements entre les étages
MEM et IF sont instantanées.
10
3- Pourrait-on réduire le nombre de cycles d’horloge nécessaires à l’exécution du 1.5
programme selon les conditions présentée en (1), en changeant seulement
l’ordre d’exécution de ces instructions, et ce, sans changer la rectitude du
programme ? Si oui, indiquez précisément pourrait-on procéder à cette fin et le
nombre de cycles qui seraient sauvés.
10
4- Soit la figure suivante, qui présente la micro-architecture du MIPS (32 bits) implantée en
pipeliné.
11
Ne rien écrire ici
au début du cycle t + 5?
EX/MEM.ALUOutput(t+4) = 118.
EX/MEM.ALUOutput(t+5) = Valeur indéterminée car
ce registre n’est pas utilisé.
4-b Quelle est la valeur du registre ID/EX.Imm au début du cycle t + 2? 1
ID/EX.Imm(t+2) = 24.
4-c Quelle est la valeur du registre EX/MEM.Cond au début du cycle t + 7? 1
12