100% ont trouvé ce document utile (1 vote)
191 vues2 pages

Architecture des Microprocesseurs et Pipelining

Ce document traite de l'architecture des microprocesseurs pipelinés. Il présente plusieurs exercices sur le pipelining, les dépendances entre instructions, et les diagrammes d'exécution pipelinée pour des séquences d'instructions.

Transféré par

Sabri Mahmoud
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 DOC, PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
191 vues2 pages

Architecture des Microprocesseurs et Pipelining

Ce document traite de l'architecture des microprocesseurs pipelinés. Il présente plusieurs exercices sur le pipelining, les dépendances entre instructions, et les diagrammes d'exécution pipelinée pour des séquences d'instructions.

Transféré par

Sabri Mahmoud
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 DOC, PDF, TXT ou lisez en ligne sur Scribd

Architecture des Microprocesseurs

TD

[Link] égal
Un processeur non pipeliné possède un temps de cycle de 10 ns. Quels seront les temps de
cycle des versions pipelinées du processeur avec un pipeline de 2, 4, 8 et 16 étages, si la
logique de chemin de données est répartie de manière égale entre les étages du pipeline (on
considère que le temps de stabilisation après le passage dans chaque étage est de 0,5 ns) ? En
outre quel est le temps d’exécution d’une instruction complète pour chacune des versions
pipelinées ?

[Link] et fréquence d’horloge


Pour le processeur de l’exercice précédent, combien d’étages de pipeline sont requis pour
atteindre un temps de cycle de 2 ns ? Combien en faut-il pour un temps de cycle de 1 ns ?

[Link] inégal
Supposons qu’un processeur non pipeliné possède un temps de cycle de 25 ns et que le
chemin de données est constitué de modules dont les temps d’exécution sont respectivement
2, 3, 4, 7, 3, 2 et 4 ns (dans cet ordre). Il est alors possible de mettre en place un pipeline à 7
étages correspondant à ces 7 modules. On suppose que le temps de stabilisation après le
passage dans un étage est de 1 ns.
– Quel est le temps de cycle minimal qui peut être atteint en implémentant le pipeline sur ce
processeur ?
– 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 ?
Si le pipeline est limité à deux étages, quel est le temps de cycle minimal ?
Le temps de cycle minimal est alors de 17 ns. (16 ns+1 ns de stabilisation).
– Quel est alors le temps d’exécution d’une instruction complète ?

1
[Link]é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
– Identifiez tous les aléas LAE (Lecture Après Écriture).
– Identifiez tous les aléas EAL (Écriture Après Lecture).
– Identifiez tous les aléas EAE (Écriture Après Écriture).
– Identifiez tous les aléas de contrôle.

[Link]écution pipelinée
En utilisant le pipeline donné dans le cours (5 étages), donnez le diagramme d’exécution
du fragment de code suivant :
ADD r1, r2, r3 ! r1 <- r2 + r3
SUB r4, r5, r6 ! r4 <- r5 - r6
MUL r8, r9, r10 ! r8 <- r9 * r10
DIV r12, r13, r14 ! r12 <- r13 / r14

[Link]écution pipelinée avec aléas


En utilisant le pipeline donné dans le cours (5 étages), donnez le diagramme d’exécution
du fragment de code suivant:
ADD r1, r2, r3 ! r1 <- r2 + r3
SUB r4, r5, r6 ! r4 <- r5 - r6
MUL r8, r9, r4 ! r8 <- r9 * r4
DIV r12, r13, r14 ! r12 <- r13 / r14

Vous aimerez peut-être aussi