Qu'est ce qu'une résistance ? Comment calculer sa valeur ? Laquelle choisir ?

Introduction

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

Formule Hennessy-Patterson

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

 

Exécution des instructions

  • Instruction entière

LI/CP DI/LR EX ER

  • Instruction flottante

LI/CP DI/LR EX1 EX2 … ER

  • Instruction de mémoire

LI/CP DI/LR CA AM ER

  • Instruction branchement

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

Pipeline MIPS

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).