Vous êtes sur la page 1sur 6

Cnam

m – Centre associé de Cliichy


ée universitaaire 2012‐2013
Anné
NSYY104
Archittecturess des systèmes informatiquess
TD 02 ‐ Pipeline

TD – Pipeeline
Corrigéé »
«C

1. Pipelining
g égal

U
Un processseur non piipeliné posssède un temps de cyc
cle de 10 n s. Quels se
eront les
ttemps de cycle
c des ve
ersions pipe
elinées du processeur
p avec un pi peline de 2,
2 4, 8 et
1
16 étages, si la logique de chemiin de donné
ées est rép
partie de m
manière éga
ale entre
lles étages du pipelin
ne (on con
nsidère qu
ue le temp
ps de stab
bilisation après
a le
p
passage da
ans chaque étage estt de 0,5 ns)) ?

E
En outre qu emps d’exé cution d’une instruction complètee pour chac
uel est le te cune des
vversions pip
pelinées ?

C
Correction : Relation

E
En appliqua
ant cette forrmule, on ob
btient des te
emps de cy
ycle de
 5,5
5 ns.
 3 ns.
 1,75
1 ns.
 1,125
1 ns.

Pour calculer le temps d’exécutio n d’une instruction com


P mplète, il suuffit de multtiplier le
ttemps de cycle
c par le
e nombre d
d’étages du
u pipeline, ce qui don ne 11, 12, 14 et 18
n
ns.

2. Pipeline et
e fréquenc
ce d’horlo
oge

P précédent, combien d’étages de ppipeline son


Pour le processeur de l’exercice p nt requis
p
pour atteind ps de cycle de 2 ns ?
dre un temp

C
Combien en
n faut-il pou
ur un temps de cycle de
e 1 ns ?

1
Cnam
m – Centre associé de Cliichy
ée universitaaire 2012‐2013
Anné
NSYY104
Archittecturess des systèmes informatiquess
TD 02 ‐ Pipeline

C
Correction :

E
En manipulant l’équatio
on précéde
ente, il vient :

L
L’application de cette que que 6,,67 étagess de pipeline sont
e formule nous indiq
n
nécessairess pour attein
ndre un tem
mps de cycle
e de 2 ns.

C
Ce résultat est arrond
di à 7 danss la mesure
e où un nom
mbre entierr d’étages doit
d être
iimplémenté
é.

L
La même formule
f indique que 2 0 étages sont
s nécess
saires pourr atteindre un
u cycle
d
d’horloge de
d 1 ns.

3. Pipelining
g inégal :

S
Supposons qu’un proc
cesseur non
n pipeliné possède un
n temps dee cycle de 25
2 ns et
q
que le chem
min de donn
nées est co
onstitué de modules do
ont les tempps d’exécuttion sont
rrespectivem
ment 2, 3, 4, 7, 3, 2 et 4 ns (dans cet ordre). Il est alorss possible de mettre
e
en place un
n pipeline à 7 étages ccorresponda
ant à ces 7 modules. O
On suppose que le
ttemps de stabilisatio
s n après le p
passage da
ans un étage
e est de 1 n
ns.

A. Que
el est le tem
mps de cyccle minimal qui peut être atteint een impléme
entant le
pipe
eline sur ce processeurr ?

Corrrection : Le temps de cycle minimal est déterm


miné par le
e temps
d’exxécution de l’étage le plus lent, auquel il convient d’aajouter le te
emps de
stab
bilisation. Ic
ci, l’étage 4 est le plus
s lent (7 ns
s), le tempss de cycle est
e donc
7+1 = 8 ns.

2
Cnam – Centre associé de Clichy
Année universitaire 2012‐2013
NSY104
Architectures des systèmes informatiques
TD 02 ‐ Pipeline

B. Si le processeur est divisé en un plus petit nombre d’étages qui lui permettent
toutefois d’atteindre le temps de cycle de la question précédente, quel sera le
temps d’exécution d’une instruction complète ?

Correction :
On peut regrouper dans un unique étage n’importe quel ensemble de
modules adjacents qui offriraient un temps d’exécution total inférieur ou égal à
7 ns. Ceci nous permet de créer un pipeline à 5 étages.

Le temps d’exécution d’une instruction complète est alors 8×5 = 40 ns. (cycle
d’horloge × nombre d’étages)

C. Si le pipeline est limité à deux étages, quel est le temps de cycle minimal ?

Correction :
Pour pouvoir obtenir un temps de cycle minimal, il faut diviser les modules en
étages ayant des temps d’exécution aussi égaux que possible. Pour deux
étages, on obtient des temps de 16 et 9 ns (ou l’inverse).

Le temps de cycle minimal est alors de 17 ns. (16 ns+1 ns de stabilisation)

D. Quel est alors le temps d’exécution d’une instruction complète ?

Correction : Le temps d’exécution d’une instruction complète est alors


2×17 = 34 ns.

3
Cnam – Centre associé de Clichy
Année universitaire 2012‐2013
NSY104
Architectures des systèmes informatiques
TD 02 ‐ Pipeline

4. Aléas d’instruction (dépendances d’instructions)

Soit la séquence suivante (en pseudo-assembleur) :


DIV r2, r5, r8 ! r2 <- r5 / r8
SUB r9, r2, r7 ! r9 <- r2 - r7
AND r5, r14, r6 ! r5 <- r14 & r6
MUL r11, r9, r5 ! r11 <- r9 * r5
BEQ r10, #0, r12 ! si (r10=0) goto r12
OR r8, r15, r2 ! r8 <- r15 | r2

A. Identifiez tous les aléas RAW  LAE (Lecture Après Écriture)


Correction :
Aléas RAW  LAE entre :
 DIV et SUB (r2),
 AND et MUL (r5),
 SUB et MUL (r9)
 DIV et OR (r2).

B. Identifiez tous les aléas WAR  EAL (Écriture Après Lecture).


Correction : Aléas WAR  EAL entre :
 DIV et AND (r5)
 DIV et OR (r8).

C. Identifiez tous les aléas WAW  EAE (Écriture Après Écriture).
Correction : Pas d’aléa WAW  EAE

D. Identifiez tous les aléas de contrôle.


Correction : Il n’y a qu’un aléa de contrôle entre BEQ et OR.

4
Cnam
m – Centre associé de Cliichy
ée universitaaire 2012‐2013
Anné
NSYY104
Archittecturess des systèmes informatiquess
TD 02 ‐ Pipeline

5. Exécution
n pipelinée
e

E
En utilisant un pipeline me d’exécuttion du fragment de
e à 5 étagess, donnez le diagramm
ccode suivan
nt :

ADD
D r1, r2, r3 2 + r3
! r1 <- r2
SUB
B r4, r5, r6 ! r4 <- r5
5 - r6
MUL
L r8, r9, r10
0 ! r8 <- r9
9 * r10
DIV r12, r13, r1
14 ! r12 <- r13 / r14

Correction : IlI n’existe aucun aléa


a dans ce code, ausssi, les instructions
trave
ersent le pip
peline à la ccadence d’u
un étage par cycle.

LI

LI : LLecture Instruction

DI : Décodage In
nstruction

LR : Lecture Regiistre

EX : Exécution dee l’instructio


on

ER : Ecriture Réssultat

5
Cnam
m – Centre associé de Cliichy
ée universitaaire 2012‐2013
Anné
NSYY104
Archittecturess des systèmes informatiquess
TD 02 ‐ Pipeline

6. Exécution
n pipelinée
e avec alé
éas
E
En utilisant un pipeline me d’exécuttion du fragment de
e à 5 étagess, donnez le diagramm
ccode suivan
nt :
ADD
D r1, r2, r3 ! r1 <
<- r2 + r3
SUB
B r4, r5, r6 ! r4 <
<- r5 - r6
MUL
L r8, r9, r4 ! r8 <
<- r9 * r4
DIV r12, r13, r1
14 ! r12
2 <- r13 / r14

Correcttion : Cette
e fois, le programme
p comporte un AW  LAE
u aléa RA E, entre l’ins
struction
SUB, qu
ui écrit r4 ett l’instruction MUL qui le lit.
L’instrucction MUL ne sera donc
d pas ccapable de
e lire ses registres dd’entrée av
vant que
l’instrucction SUB n’ait terminé l’étage ER
R, ce qui cré
ée un blocag
ge de pipelin
ine.

LI

LI : LLecture Instruction

DI : Décodage In
nstruction

LR : Lecture Regiistre

EX : Exécution dee l’instructio


on

ER : Ecriture Réssultat

Vous aimerez peut-être aussi