Vous êtes sur la page 1sur 6

Devoir surveillé Examen Session : Principale Contrôle

Niveau d’Etude :1 ING Semestre : 2


Matière : Architectures avancées des processeurs Date : 31 Mai 2022
Nombre de pages : 3 Durée : 1h30
Enseignants responsables : H. Ben Fradj Documents : non autorisés
et Z. Ben Azouz

N.B : Les réponses non justifiées ne seront pas prises en compte

Exercice 1 : 10 points (0.25 pour chaque signal)


On propose d’étudier l’exécution de la séquence d’instructions suivante sur un processeur
multicycle (figure 1) implémentant un sous ensemble du jeu d’instructions MIPS.
L’architecture de l’UAL est illustrée sur la figure 2.

Loop Lw $1 , 2B0C ($2)


Srl $3,$1, 3
ori $5, $3, 0x8000
Sw $5, 0xD56A($6)
Beq $5,$9, loop
J 0x02A3BDE

On suppose que S4 = MemRead


Donner les valeurs des signaux de commande :

1. S3, S6, S12, S13 pendant le dernier cycle d'exécution de l'instruction Srl
S3 = X
S6 = 0
S12 = 1
S13 = 1
2. S1, S2, S8, S10, S11, S14 pendant le deuxième cycle d'exécution de l'instruction beq
S1 = 0
S2 = 0
S8 = X
S10 = 11
S11 = 0
S14 = 010 (add)
3. S3, S4, S5, pendant l'avant dernier cycle d'exécution de l'instruction Lw
S3 = 1
S4 = Memread = 1
S5 = Memwrite = 0

1
4. S10, S11, S14, S15 pendant le troisième cycle de l'instruction xori
S10 = 10
S11 = 1
S14 = 001 (or)
S15 = 0

5. S3, S4, S5, S6 pendant le dernier cycle de l'instruction Sw


S3 = 1
S4 = Mread=0
S5 = 1
S6 = X

6. S1, S2, S8, pendant le dernier cycle de l'instruction J.


S1 = 0
S2 = 1
S8 = 10

7. S1, S2, S3, S4, S5, S7, S8, S10, S11, S14, pendant le premier cycle de instruction J
S1 = 0
S2 = 1
S3 = 0
S4 = 1
S5 = 0
S7 = 1
S8 = 00
S10 = 01
S11= 0
S14 = 010 (add)

8. S1, S8, S10, S11, S14, S15 pendant le troisième cycle de l’instruction beq
S1 = 1
S8 = 01
S10 = 00
S11 = 1
S14= 110 (sub)
S15 = X

2
3
Figure 1 : Chemin de données d’un processeur MIPS

Figure 2 : Architecture de l’UAL

Exercice 2 : Pipeline (10 points) Commenté [ZBA1]: Je propose que l'Ex1 soit sur 10 pts et le
deuxième sur 10
Soit à étudier l’exécution de la séquence d’instructions sur le processeur en pipeline MIPS à 5
Commenté [HBF2R1]:
étages traité dans le cours :

LW $1, 100 ($2)


Sw $1, 100($4)
Lw $3, 200($1)
SUB $4, $3, $1
ADD $3, $4, $3
1. Déterminer les différentes dépendances de données de type LAE entre ces instructions.
Il est à noter que chaque fausse dépendance indiquée impliquera une réduction de la
note. (1.5 points)

SW/LW $1 : $1
LW $3/ LW $1 : $1

SUB/LW $1 : $1

SUB/LW $3 : $3

4
ADD/LW $3 : $3
ADD/SUB : $4

2. Donner le diagramme d’exécution de cette séquence d’instructions pour les trois cas
suivants :
a. On suppose que le processeur utilise uniquement la solution matérielle
d’insertion de suspension. Déduire le CPI, si on néglige la première instruction.
(3 points)
b.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
LI lw sw lw lw sb ad ad

DI lw sw sw lw sb sb ad ad
EX lw sw lw sb ad
M lw sw lw sb ad

ER lw sw lw sb ad

CPI = (18-5) / 4 = 3.25


c. On suppose que le processeur possède des circuits de renvoi vers l’UAL et la
mémoire de donnée. Préciser dans chaque cas de renvoi, à partir de quel
registre du pipeline il a été effectué et vers quel étage. Déduire le CPI, si on
néglige la première instruction. (3 points)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
LI lw sw lw sb ad ad

DI lw sw lw sb sb ad ad
EX lw sw lw sb ad
M lw sw lw sb ad

ER lw sw lw sb ad

CPI = (11-5) /4 = 1,5


Renvois :
Cycle 5 : $1 de M/ER vers la mémoire pour sw et vers l’UAL pour lw$3
Cycle 7 : $3 de M/ER vers l’UAL pour sb
Cycle 9 : $4 de M/ER vers l’UAL pour add

d. On suppose que le processeur possède tous les circuits de renvoi possibles.


Comparer le nombre total de cycles pris pour l’exécution de ces instructions
dans ce cas, à celui requis sur le processeur multicycle présenté dans l’exercice
1. (2.5 points)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
LI lw sw lw sb ad ad

DI lw sw lw sb sb ad
EX lw sw lw sb ad
M lw sw lw sb ad

ER lw sw lw sb ad

5
Renvois :
Cycle 5 : de M/ER vers la mémoire pour sw et vers l’UAL pour lw$3
Cycle 7 : de M/ER vers l’UAL pour sb et vers l’étage décodage pour add
Cycle 8 : de EX/M vers l’UAL pour add

Multicycles prend 22 cycles VS 10 cycles

Vous aimerez peut-être aussi