07/12/2005

C'est quoi un pipeline dans un processeur ?


 
C'est quoi un pipeline dans un processeur ?

Un Pipeline dans l’architecture des processeurs est une technique qui permet l’exécution de plusieurs instructions qui se chevauche à l’intérieur même du processeur. Pour caricaturer un exemple, c’est une canalisation ou tuyau (pipeline) à plusieurs étapes, étages (profondeur) ou seront traité les instructions par cycle dans un ordre bien défini et hiérarchisée. Voici ci-dessous un exemple de fonctionnement d’un processeur sans pipeline dont cinq cycles sont nécessaires pour accomplir 1 instruction :

 

 

 

Premier cycle IF : (Instruction Fetch) ce cycle va charger l’instruction à exécuter depuis la mémoire.

 

Deuxième cycle ID : (Instruction Décode) ce cycle va décoder l’instruction et adresser les registres (un registre est une case mémoire de plusieurs bits).

 

Troisième cycle EX : (Execute) va exécuter l’instruction, par la ou les unités arithmétiques et logiques.

 

Quatrième cycle MEM : (Mémory) va dénoter un transfert depuis un registre vers la mémoire dans le cas d’une instruction du type (STORE) qui correspond à l’instruction d’accès à l’écriture et de la mémoire vers un registre dans le cas d’une instruction de type (LOAD) qui correspond à l’instruction d’accès a la lecture.

 

Cinquième cycle W.B : (Write Back) va stocker le résultat dans un registre. La source peut être la mémoire ou bien le registre.

 

Dans notre exemple il faut 5 cycles pour exécuter 1 instruction, il faudra donc 15 cycles pour exécuter 3 instructions. Mais avec un pipeline il en est tout autres, car celui-ci est découpé en plusieurs étages ou étapes pour pouvoir contenir plusieurs instructions dont chacune aura une étape différente. Pour ce faire on insère des registres tampons (Pipeline Registers) entre chaque unité à l’intérieur du processeur. Cela va permettre à 3 instructions de s’exécuter simultanément en 9 cycles au lieu de 15 cycles mais aussi au processeur de produire une instruction par cycle a partir du cinquième, malgré le fait que chacune d’entre elles nécessite 5 cycles pour s’exécuter complètement.

 

Comme je l’explique au  tout début, dans un pipeline plusieurs instructions peuvent s’exécuter et être chargées simultanément en se chevauchant car celui-ci est découpé en plusieurs étapes ou étages. On  parle alors de profondeurs de pipeline et on dit que le processeur est pipeliné.

 

Cliquez ! sur ce lien pour voir le schéma d'un exemple représentant le séquençage des instructions dans un processeur doté d'un pipeline à 5 étages. Il faut 15 cycles pour exécuter 5 instructions. À t = 5, toutes les unités du processeur sont sollicitées, et les 5 opérations ont lieu en même temps. 

 

http://upload.wikimedia.org/wikipedia/commons/2/21/Fivest...

 

 

Voici quelques correspondances de profondeurs de pipeline de processeurs

 

Intel Pentium 4 Prescott profondeur du pipeline 31 étapes.

Intel Pentium 4 profondeur du pipeline 20 étapes.

Intel Pentium II profondeurs du pipeline 14 étapes.

AMD Opteron profondeur du pipeline 12 étapes.

Intel Pentium III profondeur du pipeline 10 étapes.

 

Sujet non fermé.


10:47 Écrit par CPU History-fr | Lien permanent | Commentaires (0) |  Facebook |

Les commentaires sont fermés.