Az utasítás-végrehajtás gyorsítása pipelininggel

 

 

A pipelining átlapolt utasítás-végrehajtást magyarra fordítva csővonal, adatcsatornás vagy futószalag feldolgozásnak nevezhetjük. A futószalagos gyártásnál az egyes részműveleteket időben párhuzamosan hajtják végre.

A pipeline alapgondolata a párhuzamosítás, annak kihasználása, hogy az utasítás-feldolgozás különböző elemi lépéseit autonóm és párhuzamosan működtethető hardveralrendszerek hajthatják végre.

A gépi utasítások elemi lépései (előkészítés, dekódolás, operandusok címszámítása stb.) különböző hardver-erőforrásokat igényelnek. Ezért, ha egy utasításban egy elemi lépést végrehajtottunk (például első lépésben már kiolvastuk az utasítást a memóriából) és az ehhez szükséges hardveregység felszabadul, akkor ezt igénybe vehetjük egy következő utasítás elemi lépésének végrehajtására.

Példa a pipeline szervezésű utasítás-végrehajtásra:

Tegyük fel az egyszerűség kedvéért, hogy a CPU egy utasítást három fázisban hajt végre:

  • utasítás-kiolvasás (fetch: F)

  • dekódolás (decode: D)

  • végrehajtás (execute: E)

Az egyes fázisok egymással egy időben, párhuzamosan hajthatók végre, az első utasítás E fázisa alatt a második utasítás D fázisa és a harmadik utasítás F fázisa.


A pipeline utasítás-feldolgozást alkalmazó processzorokat utasításszinten párhuzamos működésű (Intruction Level Parallel), vagy ILP processzoroknak nevezzük.

Pipeline utasítás végrehajtás: animáció

Utasítás végrehajtás: animáció

Neumann-elvek

  1. Soros utasításvégrehajtás (az utasítások végrehajtása időben egymás után történik. Ellentéte a párhuzamos utasításvégrehajtás, amikor több utasítás egyidejűleg is végrehajtható)
  2. Kettes (bináris) számrendszer használata
  3. Belső memória (operatív tár) használata a program és az adatok tárolására
  4. Teljesen elektronikus működés
  5. Széles körű felhasználhatóság
  6. Központi vezérlőegység alkalmazása