Académique Documents
Professionnel Documents
Culture Documents
Cette architecture est celle d’une machine “pédagogique”. Elle est dotée de :
- 32 registres entiers 32 bits (R0 est spécial et important : son contenu est 0 !) ;
- 32 registres flottants 32 bits (non représentés dans la figure) ;
- Les instructions arithmétiques et logiques ne peuvent pas s’effectuer en
mémoire ;
- Les opérations arithmétiques et logiques comportent 3 opérandes ;
- Les modes d’adressage sont les suivants :
o Immédiat : add r1,r2,#5 ; // r1 := r2+5
o Par registres : add r1,r2,r3 ; // r1 := r2+r3
o Déplacement : lw r1,22(r2) ; // r1 := [r2+22]
o Indirection : sw 0(r1),r2 ; // r2 ! [r1]
o Absolu : lw r12,2004(r0) ; // r12 := [2004]
I/Pipeline d’instructions
Soit la boucle suivante :
etiq : LW R1, 10(R2)
ADDI R1, R1, #1
SW R1, 10(R2)
ADDI R2, R2, #4
SUB R4, R3, R2
LW R5, 10(R6)
BNZ R4, etiq
1- La spécification des instructions est donnée par le tableau suivant :
Instructions pouvant Signification Cycle du pipeline
être pipelinées où l’opération
termine (le résultat
étant disponible 1
cycle plus tard)
LW R1, 10(R2) R1 :=Mem[10+R2] W
ADDI R1, R1, #1 R1 :=R1+1 W
SW R1, 10(R2) Mem[10+R2] :=R1 M
SUB R4, R3, R2 R4 :=R3-R2 W
BNZ R4, etiq Branchement si non zéro E
Dresser dans un tableau la trace de l’exécution de cette boucle en utilisant au besoin
des suspensions (rupture de séquence). Pour l’instruction de branchement, considérez
que le pipeline suspend en attendant la fin de toutes les instructions de la boucle. En
déduire le nombre de cycles d’horloge requis pour l’exécution de cette boucle
Cycle d’horloge 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
LW R1, 10(R2) F D E M W
ADDI R1, R1, #1 F D ! ! E M W
SW R1, 10(R2) F ! ! D E ! M W
ADDI R2, R2, #4 F D ! E M W
SUB R4, R3, R2 F ! D ! ! E M W
LW R5, 10(R6) F ! ! D E M W
BNZ R4, etiq F D ! E M W
LW R1, 10(R2) ! ! ! F D
Ou
Instruction x
Pas de prédiction du
branchement ->
exécution de la
boucle en 15 cycles
d’horloge
LW R1, 10(R2) F D E M W
Avec prédiction de
branchement
exécution de la
boucle en 12 cycles
d’horloge