0% ont trouvé ce document utile (0 vote)
74 vues3 pages

Architecture des Ordinateurs : Processeur DLX

Ce document décrit une architecture de processeur DLX avec plusieurs étages de pipeline. Il présente un code DLX et pose plusieurs questions sur le nombre de cycles d'exécution et la latence des instructions pour ce processeur.

Transféré par

eyagheribi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
74 vues3 pages

Architecture des Ordinateurs : Processeur DLX

Ce document décrit une architecture de processeur DLX avec plusieurs étages de pipeline. Il présente un code DLX et pose plusieurs questions sur le nombre de cycles d'exécution et la latence des instructions pour ce processeur.

Transféré par

eyagheribi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi