CISC (Complex Instruction Set Computer)
Abból indultak ki, hogy ha egy-egy új processzor utasításkészletébe egyre több összetett utasítást tesznek bele, mely összetett utasításban elvégzett műveletet a régebbi processzor csak több utasítással tudta végrehajtani, akkor az új utasításokat használó alkalmazások gyorsabban fognak majd lefutni. Pl.: Intel x86, IBM Z család.
Problémák:
• A nyolcvanas évek végén tanulmányok kimutatták, hogy az alkalmazások programjainak túlnyomó részét (általában több mint 70%-át) az egyszerű memóriakezelő (LOAD, STORE) és elágazás utasítások (BRANCH) teszik ki. Ezeknek a gyakran használt utasítások végrehajtási idejének csökkentése tehetné lényegesen gyorsabbá a programvégrehajtást, nem pedig az új, bonyolult utasítások bevezetése.
• Az egy-egy processzorban előforduló bonyolult funkciókat megvalósító CISC utasításokat sem az assembly, sem a magas szintű programnyelven íródott programok nem használták, vagy csak igen ritkán. Tehát a processzorok összetett utasításai használatából adódó gyorsítási lehetőséget a programok a gyakorlatban nem használták ki. Ennek oka az assembly programok esetén elsősorban az volt, hogy egy-egy új processzor megjelenésekor újonnan bevezetett utasításokat a programozók nem ismerték vagy idegenkedtek a használatuktól. A magas szinten megírt programok esetén a fordító programok okozták a gondot: a fordító programokat nem, vagy csak részben tudták az egyes processzorokra optimalizálni.
• A „jól strukturált” programokban szereplő gyakori szubrutinhívások lényegesen lelassították a programfuttatást. Ennek az az oka, hogy a szubrutinhívások esetén a processzor regisztereit el kell menteni annak érdekében, hogy a szubrutinból történő visszatérés után változatlan állapotból lehessen továbbfolytatni a program végrehajtását. További lassító tényező szubrutin hívások használatakor a hívási paraméterek átadása, amely megint csak további memória kezelő utasításokat jelent.
RISC (Reduced Instruction Set Computer)
A processzor utasításokat végrehajtó részét az utasításkészlet csökkentése egyszerűbbé tette. Az így felszabaduló tranzisztorok felhasználásával további regisztereket lehetett a processzorokba integrálni. A nagyszámú regiszter használata csökkentette a programok futtatása során szükséges memória-műveletek számát. A RISC típusú processzorok tehát kevés számú, és a CISC típusú processzoroknál rövidebb végrehajtási idejű utasítást tartalmaztak. Pl.: Power PC, Sun (Sparc CPU), Motorla 680000, stb.
Tulajdonságok:
memória elérés csak load és store műveletek segítségével
regiszter orientált utasításkészlet (olyan utasítások, melyek operandusai a regiszterekben vannak)
Pipeline: egy utasítás fetch fázisa párhuzamosan tud az előtte lévő utasítás execution fázisával végrehajtódni…