CISC és RISC architektúrájú processzorok

CISC processzorok

A szoftverfejlesztők igényeinek megfelelően kezdetben a gyártók állandóan bővítették a számítógépek utasításkészletét, amely egyre több és bonyolultabb utasítást tartalmazott. Ezek hardver-megvalósítását mikroprogram-vezérléssel kellett megoldani, azaz egy gépi utasítás végrehajtását több elemi lépésre felbontották, és az ezeket végrehajtó mikroutasításokat egy csak olvasható memóriában (ROM = Read Only Memory) tárolták. Így alakultak ki a komplex utasításkészletű számítógépek (CISC = Complex Instruction Set Computer).

A CISC processzorok tehát nagy számú utasítást tartalmazó utasításkészlettel rendelkeznek, az utasítások szerkezete bonyolult, többfajta memóriacímzési módot tesznek lehetővé, az utasításvégrehajtás mikroprogramvezérelt.

A CISC processzorokra példa a mikroszámítógépek köréből a Pentium és a vele kompatibilis processzorcsalád.

RISC processzorok

A mikroprogram-vezérelt utasításvégrehajtás komoly korlátává vált a számítógép-teljesítmény növelésének. Ezért olyan architektúrát terveztek, amelynél csak a gyakori, „egyszerű” utasítások szerepeltek az utasításkészletben. Ezzel lehetővé vált a mikroprogramozás kiküszöbölése, azaz magas szintű programnyelvről fordítás lényegében a korábbi mikroutasítások szintjére történt. Így jöttek létre a RISC processzorok, azaz redukált utasításkészletű számítógépek (Reduced Instruction Set Computer).

A RISC processzorok utasításkészlete csökkentett, egyszerűsített, a memóriahozzáférés csak két utasítással: memóriából való adatbetöltés (LOAD) és memóriába való adatírás (STORE) történhet, a műveleti vezérlés huzalozott (azaz beépített áramkörökkel végrehajtott) vagy horizontális (egyszerűsített) mikroprogram-vezérelt.

A RISC processzorokra példák a SPARC, MIPS, POWER PC különböző változatai. (Ezeket hétköznapi szóhasználattal sokszor UNIX gépeknek is nevezik.)

A CISC és RISC processzorok összehasonlító jellemzőit a következő táblázat foglalja össze:

CISC processzorok

RISC processzorok

Összetett utasítások, amelyek végrehajtása több gépi ciklust igényel.

Egyszerű utasítások, amelyek végrehajtása1 gépi ciklust igényel.

Bármely, erre alkalmas utasítás igénybe veheti a tárolót.

Csak a LOAD/STORE utasítások fordulhatnak a memóriához.

A futószalag (pipelining) feldolgozás kismértékű.

Erőteljes futószalag (pipelining) feldolgozás.

Változó hosszúságú utasítások.

Rögzített utasításhossz.

Sokféle utasítás és címzési mód.

Kevés utasítás és címzési mód.

Bonyolult mikroprogram, egyszerű fordítóprogram.

Bonyolult fordítóprogram, egyszerű mikroprogram.

Kis számú regiszter.

Nagy méretű regisztertár.

Tárolóvédelem hardveruton.

Tárolóvédelem szoftver segítségével.

 

 

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