Petr Toufar
xtoufar1@fi.muni.cz

Historie RISC procesorů

Co je to RISC architektura?

RISC je architektura mikroprocesorů, která používá "omezenou" sadu instrukcí. Vychází ze statistických výzkumů, kdy se zjistilo, že 80% kódu programu využívá pouze 20% instrukcí CISC procesorů. Toto vedlo k tvorbě procesorů s omezenou instrukční sadou. Tyto procesory mají tyto společné rysy: Tyto vlastnosti umožňují optimalizovat architekturu mikroprocesoru a také překladače, takže pak dochází k větší paralelizaci instrukcí než u CISC procesorů.


Výhody a nevýhody

Zde bych rád uvedl několik základních výhod a nevýhod RISC architektury:
Výhody:
Nevýhody:

Počátek vývoje

Koncept RISC procesorů byl poprvé vyvinut Johnem Cockem z IBM Research v roce 1974. Právě jeho práce poprvé poukázala na to, že programy využívají v drtivé většině kódu jen omezenou sadu instrukcí. Procesor, který by byl vyvinut na tomto základě, by mohl podporovat pouze několik instrukcí, čímž by mohl mít méně tranzistorů a tedy tím by byl i levnější. Taktéž by vzhledem k menšímu počtu tranzistorů a instrukcí mohl dokončit práci mnohem rychleji. Termín RISC (zkratka pro Reduced Instruction Set Computer) byla vytvořena Davidem Pattersonem, učitelem na Berkeley, University of California.
Aby prokázál realizovatelnost své myšlenky, vytvořil v roce 1975 John Cocke prototyp prvního RISCového procesoru nazvaného 801. Tento procesor se nikdy komerčně neprodával. První "řádný" RISCový procesor byly procesory RISC 1 a RISC 2 vytvořené univerzitou v Berkeley v roce 1985. Z těchto procesorů se později vyvinula architektura SPARC.
RISCové procesory se prosadily hlavně ve velmi výkoných pracovních a grafických stanicích a serverech - hlavně procesory SPARC, Digital Alpha a SGI MIPS. Vyjímku tvoří procesory Motorola 68000 (resp. dnes IBM/Motorola PowerPC, G3 a G4), které jsou dnes díky počítačům Apple Macintosh po Intelu 2. nejrozšířenější procesory na světě.

Nejdůležitější RISC procesory

SPARC

V roce 1981 začali pracovat profesoři Patterson a Sequin z Berkeley univerzity na procesoru RISC I. Tento procesor vedl až k uvedení procesoru SPARC v roce 1987. Tento čip se stal "korunní" platformou hlavně pro Sun a jeho implementaci UNIXu - Solaris. SPARC není vyráběn jednou firmou (jako třeba Motorola 6800), ale je pouze navrhován Sunem a zadáván různým výrobcům. Z toho plyne rozdílné značení jednotlivých procesorů - SuperSPARC, HyperSPARC, TurboSPARC atd. Procesory SPARC, jak již název napovídá (Scalable Processor ARChitecture) je primárně určen do výkoných stanic a serverů s plnou podporou multiprocessingu.
Procesory SPARC jsou odlišné od většiny ostatních procesorů tím, že je netvoří jeden "všemocný" procesor, ale vzhledem k historickým důvodům jsou tvořeny několika čipy, z nichž každý provádí určité operace (např. UltraSPARC je tvořen z integer unit, coprocessor a floating point unit). Toto uspořádání má několik výhod (jednotlivé čipy obsahují méně tranzistorů, takže jsou levnější, spolehlivější a snazší pro návrh), ale i nevýhod (problémy s rychlostí komunikace mezi jednotlivými čipy, zajištění konzistence paměti a cache).
Dnešní procesory UltraSPARC jsou plně 64 bitové procesory, které určené do velmi výkoných síťových stanic a serverů s velkým počtem (až několik desítek) procesorů.

Řada Motorola 6800

Tento procesor z roku 1974 byl první z rodiny 6800, která je v podstatě až dodnes základem počítačů Apple Macintosh. Obsahoval 4000 tranzistorů a některé zajímavé vlastnosti - zatímco u procesorů Intel byly odlišné operace pro práci s pamětí (MOV) a I/O zařízeními (IN,OUT), tak Motorola 6800 mapovala I/O rozhraní do paměti a používala pro práci s nimi standardní operaci MOV.
Tento procesor měl 8 bitovou datovou sběrnici a pouze dva 8 bitové registry (A a B) a 16 bitový indexový registr (X). Byl používán hlavně v jednoúčelových aplikacích.
V roce 1979 představila Morotola 16-bitovou verzi tohoto procesoru označenou 68000. Obsahovala 32 bitovou instrukční sadu, 16 bitovou datovou a 24 bitovou adresovou sběrnici. Tento procesor byl využíván v prvních verzí UNIXu a byl použit Apple pro počítač Lisa a později Macintosh. Jeho nová generace se jmenuje PowerPC a byl to první mikroprocesor, který implementoval vykonávání instrukcí mimo pořadi (out of order execution).

Budoucnost

Dnes se rozdíl mezi RISC a CISC procesory začíná ztrácet. První náznak RISCové technoloie se objevil u procesorů Intel v roce 1989 u procesoru 80486, jehož FPU obsahovala hodně "natvrdo" vložené instrukční logiky (hard-wired instruction logic) a pipelining. Další výrobci, jako např. Cyrix, implementovali pipelining pro urychlení zpracování instrukcí. Procesor M1 také obsahoval velký počet (32) registrů k volnému využití a za pomocí technologie dynamického pojmenovávání registrů emulovat standardních 8 registrů.
V dnes běžně používaných procesorech Intel Pentium IV a AMD Athlon je implementováno ještě více know-how z oblasti RISC procesorů - např. vykonávaní instrukcí mimo pořadí (out-of-order execution), předpověď větvení (branch prediction), on-chip cache pracující na frekvenci procesoru, extrémně rychlé instrukce, zvětšená hloubka pipeline atd.
V budoucnu můžeme očekávat, že architektury RISC a CISC budou čím dál tím více splývat a nové procesory budou brát to nejlepší z obou "světů", aby dosáhly většího výkonu - a o výkon zde jde především.

Odkazy do Internetu a použité materiály