Académique Documents
Professionnel Documents
Culture Documents
COURS ARPA Chap 3
COURS ARPA Chap 3
Exemple :
Dans ler processeur MIPS, l’instruction passe par 5 étages. Chaque étage dure
un cycle. Le temps d’exécution de N instructions dure :
Te = N*Tc
1C = T = 1/f
4
Npc
Mux1
+
Comp Cond
Control
ctx2
ctx3
aluo
ctpc
p
ctrf
MUX2
ctmr
ctx4
RegFile
I-Memory
Pc A
D-Memory
IR
Alu
Alu
lmd
Mux4
B
Mux3
out
16 32
Sign
Im
extend
F D E M WF D E MWF D E M WF D E MWF D E MW
Te = 5 * 5 cycles = 25 cycles
Architecture Pipelinée
La technique de pipeline constitue la caractéristique d'optimisation des
performances la plus importante des microprocesseurs modernes.
Cette technique permet à plusieurs instructions de chevaucher en exécution
Ce chevauchement est appelé : Parallélisme au niveau instruction
En anglais : Instruction level parallelism : ILP
La technique de pipeline permet d'augmenter la capacité de traitement du
processeur central (throughput) en réduisant le nombre de cycles par
instruction (CPI).
Le CPI idéal dans une architecture pipeline est égale à un (1) : CPI = 1
Cela signifie qu'a chaque cycle d'horloge, le processeur exécute une
instruction
FD D E E M MW
4
+
Controe
Mux0
Mux2
Memory
RegFile
I-
Pc
D-Memory
Alu
Mux4
Mux3
16 Sign 32
F D E M W
F D E M W
F D E M W
F D E M W
F D E M W
Te = K + N-1
(K : Nombre d’étages, N : Nombre d’Instructions)
Limites du pipeline
Il existe des situations, appelées aléas (hasards) qui empêchent la technique de
pipeline de réaliser des performances idéales.
Certains hasards peuvent être traités en temps réel pour laisser le pipeline
continuer son fonctionnement régulier. Alors que d'autres hasards,
malheureusement, interrompent le pipeline (situation appelée: stalling). Par
conséquent, la vitesse d'exécution attendue se dégrade
Il existe trois types de hasards qui peuvent se provoquer dans les
architectures pipelines.
Les Hasards structuraux : Proviennent du conflit des ressources hardwares :
Ex : Tentatives d’acces simultanés à la mémoire
les hasards de données : Apparaissent quand une instruction dépendant
des résultats d'une autre instruction précédente se trouvant encore dans
le pipe. Il existe trois types de hasards de données dépendant de l'ordre
des opérations de lecture/écriture dans le programme.
Soient i et j, deux instructions telle que l'instruction i s'exécute avant
l'instruction j, alors les différents hasards de données qui peuvent se
produire sont les suivants:
Architecture Superscalaire
Les machines superscalaires étendent les machines pipelines, en mettant
plusieurs pipelines en parallèle. Cela signifie que ces machines peuvent initier
plusieurs instructions durant le même cycle d'horloge.
+
Controle
ALU
Mux1
Mux3
Memory
RegFile
I-
D-Memory
Pc
Mux4
Mux3
ALU
Sign
Sign
Execute
Decode
WBack
Memory Access
Fetch-64-Bit
Instruction
64
Dual Port
64
Execute
Decode
32
WBack
Logical Structure of the dual-Issue Microarchitecture
I1 I2 F D E M W
F D E M W
F D E M W
I3 I4
F D E M W
F D E M W
I5 I6 F D E M W
F D E M W
I7 I8 F D E M W
F D E M W
I9 I10 F D E M W
Te = K+ N/P -1
Ces processeurs sont construits par la réplication de plusieurs pipelines qui fonctionnent en parallèle. Ils
utilisent un ordonnancement statique (static sheduling) qui initie et exécute des instructions dans l'ordre
du programme. En absence de hasards, Le nombre d’instructions qui peuvent être exécutés
simultanément dépend du nombre de pipelines et la longueur de ces derniers
Un exemple d’architecture est donné ci-après
UF1
Predicte Branchs
Lire Opérandes
Recherche
Décodage
Registres
DM
UF2
Reorganisation
Reorder-Buffer
Station2
des resultats
Recherche
Decodage
UF3
Rgistres
Station3
UF2
Station4
UF1