Pipeline (architecture des processeurs)

Page d'aide sur l'homonymie Pour les articles homonymes, voir Pipeline.
Plan d'un pipeline générique à trois étapes

En microarchitecture, un pipeline (ou chaîne de traitement [1]), est l'élément d'un processeur dans lequel l' exécution des instructions est découpée en plusieurs étapes. Le premier ordinateur à utiliser cette technique est l' IBM Stretch, conçu en 1961. Avec un pipeline, le processeur peut commencer à exécuter une nouvelle instruction sans attendre que la précédente soit terminée. Chacune des étapes du pipeline est implémentée par un circuit intégré indépendant, appelé étage. Le nombre d'étages d'un pipeline est appelé sa profondeur.

Analogie

Le pipeline est un concept s'inspirant du fonctionnement d'une ligne de montage. Considérons que l'assemblage d'un véhicule se compose de trois étapes (avec éventuellement des étapes intermédiaires) : 1. Installation du moteur. 2. Installation du capot. 3. Pose des pneus.

Un véhicule dans cette ligne de montage ne peut se trouver que dans une seule position à la fois. Une fois le moteur installé, le véhicule Y continue pour une installation du capot, laissant le poste « installation moteur » disponible pour un prochain véhicule X. Le véhicule Z se fait installer ses pneumatiques (roues) tandis que le second (Y) est à l'étape d'installation du capot. Dans le même temps un véhicule X commence l'étape d'installation du moteur.

Si l'installation du moteur, du capot et des roues prennent respectivement 20, 5 et 10 minutes, la réalisation de trois véhicules prendra, s'ils occupent un à un toute la chaîne de production, 105 minutes = (20 + 5 + 10) × 3. Si on place un véhicule dans la chaîne de production dès que l'étage auquel le véhicule doit accéder est libre (principe du pipelining), le temps total pour réaliser les trois véhicules est de 75 minutes.

Dans d'autres langues