RISC architektura
RISC označuje jednu z architektur procesorů. Zkratka pochází z anglického Reduced Instruction Set Computer, v překladu počítač s redukovanou instrukční sadou. Jejím protikladem jsou počítače s komplexní instrukční sadou(Complex Instruction Set Computers, CISC).
Shrnutí typických rysů procesorů architektury RISC
- všechny instrukce mají jednu pevně danou délku
- procesor komunikuje s pamětí po sběrnici,
- redukovaná sada strojových instrukcí obsahuje hlavně jednoduché instrukce
- délka provádění jedné instrukce je vždy jeden cyklus (tj. délka v bitech všech instrukcí je stejná)
- žádná instrukce neprovádí naráz aritmetickou operaci a práci s pamětí (přičti a ulož do paměti atd.)
- mikroinstrukce jsou hardwarově implementovány na procesoru, čímž je velmi výrazně zvýšena rychlost jejich provádění
- nemají žádnou formu nepřímého adresování paměti
- velký počet registrů
- registry jsou pouze víceúčelové (nezáleží, který z nich instrukce využije, což zjednodušuje návrh překladačů)
- využívají řetězení instrukcí (pipelining)
Složení RISC procesorů
- RISC jádro - hlavní funkční jednotka, je určena pro aritmeticko-logické operace a posuvy na 32b datech, 32b adresové výpočty pro přístup k instrukcím a datům a pro řízení činnosti procesoru
- VCP – vektorový koprocesor vykonávající aritmetické a logické operace na 64b pakovaných slovech
- LMI a GMI – 2 identická programovatelná rozhraní pro externí paměť. Procesor podporuje 32b a 64b přístup k paměti. V druhém případě se přistupuje k 2ma sekvenčně uloženým paměťovým slovům. Paměťové adresování se provádí přes společnou 15b adresovou sběrnici pracující v módu časového sdílení. Adresování je stránkované.
- CP0 a CP1 – 2 identické komunikační porty, každý zajišťuje přenos dat pomocí obousměrné 8b sběrnice mezi procesorem a externím zařízením. Komunikační porty jsou kompatibilní s porty TMS320C4x. Každý komunikační port obsahuje DMA jednotku která umožňuje 64b přenos dat mezi portem a externí pamětí.
Důvody pro vznik architektury RISC
Během 70. let 20. století vědci (např. Seymour Cray) ukázali, že většina programů prováděných na tehdejších počítačích využívala pouze malou část (jen asi 30 %) ze všech dostupných strojových instrukcí procesoru. Bylo tomu tak proto, že tehdejší překladače nedokázaly efektivněji využít všech instrukcí.
Také složitý přístup do paměti zpomaloval provádění operací. Z toho vyplynulo, že složitější operace (mikrokód) efektivněji vykoná posloupnost jednodušších instrukcí, které lze provádět s vyšší frekvencí.
V roce 1975 vytvořil 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
Ke konci 90. let, kdy se produkce procesorů CISC eskalovala k technickým parametrům, které se přiblížily svým výrobním limitům, bylo velmi obtížné dále zvyšovat jejich výkon při současném dodržení implementace kompletní instrukční sady. Implementace komplexnějších (a méně využívaných) CISCových instrukcí měla negativní vliv na technologii výroby a potažmo koncovou cenu procesoru, ale též spotřebu a spolehlivostí (uplatňovaly se různé přechodové jevy, rostl ztrátový výkon a další vlivy, které při menších frekvencích šlo zanedbat) nebo delikátností a náročností na provozní podmínky. Nejsložitější CISCOvé instrukcě pracující s porty či pamětí přitom (stejně jako jejich RISCový ekvivalent) trvaly více taktů. RISCové procesory s tím nejlepším návrhem oproti tomu mohly s výhodou využívat orthogonalitu, čímž dokázaly komplexní instrukční sady částečně kompenzovat. Oproti těm CISCovým však stály zlomek jejich ceny, byly spolehlivější a přitom použitelnější do drsnějších podmínek a měly menší spotřebu.
Historie
Jedním z prvních RISCových strojů byl Superpočítač CDC 6600 navržený v roce 1964. Jeho CPU měla 74 operačních kódů (tj. částí instrukcí), v porovnání se 400 u 8086.
V dnešní době je prakticky každý moderní procesor založen na architektuře RISC, přestože pro ně mnohdy neplatí její základní charakteristiky – instrukční sady jsou rozšířeny o speciální povely pro práci s multimédii (MMX, SSE, 3DNow!), a instrukce trvají různě dlouhou dobu. Na druhou stranu ale masivně využívají pipelining – instrukce jsou načítány až 31 kroků dopředu a průběžně distribuovány mezi výkonné jednotky. Výstupy jsou poté řazeny tak, aby byl zachován sled jejich postupného zpracování.
Zastoupení RISC procesorů
Mezi nejznámější výrobce procesorů RISC patří IBM (např. řada PowerPC), Intel (většina jeho procesorů je ale řazena mezi CISC, nebo označována jako tzv. „post-RISC“) a Sun Microsystems (např. řada Sparc). V 32bitových RISC procesorech zabírají 75% podíl procesory ARM.
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.
Výhody a nevýhody
Výhody
- RISC procesory jsou rychlejší (při srovnatelném kmitočtu)
- Jednodušší hardware
- Rychlejší návrh procesoru
- Nižší náklady na vývoj a výrobu
Nevýhody
- Programy pro RISC jsou delší a komplexnější, než pro CISC
- Programátoři musejí dávat pozor, aby procesor často nečekal dlouho na dokončení instrukce
- Vyžaduje velmi rychlé paměti pro rychlé načítání instrukcí
Zdroj
Otázky k opakování z referátů mikroprocesorové techniky TVY
KKVaem <a href="http://scwdimvmgriy.com/">scwdimvmgriy</a>, [url=http://hqxnajzinamg.com/]hqxnajzinamg[/url], [link=http://rfftdskmylak.com/]rfftdskmylak[/link], http://sahwojimlkzc.com/
--Arni 27. 5. 2010, 13:49 (UTC)