Depuis les années 80, des pipelines ont été mis en en place pour accélerer le traitement des opérations. L’exécution de chaque instruction est découpée en étages. Différentes instructions s’exécutent simultanément à différents étages.
Ceci permet d’augmenter la vitesse de traitements de donnée. De plus cela augmente le nombre d’instruction par cycle que l’on peut traiter (d’après la formule de Hennessy-Paterson):
On va maintenant voir un tableau résumant les différents étages du pipeline et le découpage des instructions :
Instruction ALU | Instruction mémoire | Branchement |
---|---|---|
Lecture instruction et incrémentation PC | Lecture instruction et incrémentation PC | Lecture instruction et incrémentation PC |
Décodage instruction et lecture opérande | Décodage instruction et lecture opérande | Décodage instruction, cacul branchemenet et copie dans PC. |
Exécution | Calcul adresse et accès mémoire | Exécution |
Rangement du résultat | Rangement du résultat |
L’évolution de performance des processeurs est la combinaison du progrès technologique et des améliorations architecturales.
Voici la formule associé :
te : temps d’éxécution d’un programme.
ni : nombre d’instructions exécutées
CPI : nombre moyen de cycles par instruction
Tc : temps de cycle
LI/CP DI/LR EX ER
LI/CP DI/LR EX1 EX2 … ER
LI/CP DI/LR CA AM ER
LI/CP DI/CAB/EX
LI/CP : Lecture Instruction/
Incrémentation pc
DI/LR : Décodage Instruction/
Lecture registres
EX : Exécution (ALU)
CA : Calcul Adresse
CAB : Calcul Adresse Brcht.
AM : Accès mémoire
ER : Ecriture Registre
li | di | ex | mm | rr | ||||
li | di | ex | mm | rr | ||||
li | di | ex | mm | rr | ||||
li | di | ex | mm | rr | ||||
li | di | ex | mm | rr |
Comme on peut voir on a une latence de 5 cycles, c’est à dire qu’il faut 5 cycles pour traiter toute les insctructions
Le débit du pipeline est de 1 cycle par instruction.
Les différentes étapes sont donc la lecture d’instruction (li), décodage instruction (di), lecture registres (lr), l’exécution (ex), la mémoire (mm), la réécriture du registres (rr).