Université de Sousse / ISSAT Sousse Filière : Prepa-A2
TD N°3:
Architecture des ordinateurs
Exercice :
Soit un processeur DLX avec les caractéristiques suivantes :
5 étages au niveau du pipeline qui sont (IF, ID, EX, MEM, WB).
Une unité entière pour les calculs entiers
Une unité flottante pour les additions, soustractions
Une unité flottante pour les multiplications.
Le calcul du branchement se fait à l’étage ID.
L’exécution des Instructions prend 1 cycle sauf ADDF/MULTF prend 2 cycles.
1. Donner en se référant du code DLX 3 suivant, le contenu des registres destinations
suivants :
CODE DLX Registre destination Contenu de registre
add r1,r0,x R1
add r4,r0,#10 R4
loop:lf f1,0(r1) F1
sf s(r0),f5 F5
Page 1 sur 3
Université de Sousse / ISSAT Sousse Filière : Prepa-A2
Code DLX 3:
.data 0x1000
.global s
s: .word 0
.global x
x: .float 10,20,30,4,50,10,10,1,10,10
.global x1
X1: .float 1,1,1,0,0,0,1,1,0,1
.text
main:
add r1,r0,x
add r2,r0,x1
add r4,r0,#10
loop: lf f1,0(r1)
lf f2,0(r2)
multf f3,f1,f2
addf f5,f5,f3
addi r1,r1,#4
addi r2,r2,#4
sub r4,r4,#1
bnez r4,loop
sf s(r0),f5
trap 0
Sans tenir compte d’aucune technique d’optimisation,
2. Donner la latence entre lf f2,0(r2) et multf f3,f1,f2
3. Donner la latence entre multf f3,f1,f2 et addf f5,f5,f3
4. Donner le nombre de cycles par itération de boucle loop.
On considère que tous les forwardings (appelé aussi chemins de renvoi) possibles existent,
5. Réorganiser le code et donner le nombre de cycle par itération de boucle.
On considère maintenant un processeur superscalaire qui comporte deux unités pour addition
flottantes et deux unités pour multiplication flottantes.
6. Donner le code de la boucle déroulée 2 fois. (Renommer les registres Ri et Fj si
nécessaire).
7. Donner le nombre de cycles par itération de boucle après déroulage.
NB : tous calcul de nombre de cycles doit être présenter par un schéma décrivant les
étages de pipeline tout en indiquant les forwarding appliqués
MILI Manel 2 A.U : 2020/2021
Université de Sousse / ISSAT Sousse Filière : Prepa-A2
MILI Manel 3 A.U : 2020/2021