Co je to rizikový procesor? Mikroprocesory s architekturou RISC. Klady a zápory architektury RISC

Předchozí díly:

Tvorba architektury RISC

Jak již bylo několikrát zmíněno, všechny procesory x86, řešení Motorola a naprostá většina čipů vydaných v 80. letech měly architekturu CISC (Complex Instruction Set Computing). Kombinace všech vlastností vedla k tomu, že čipy se staly nejen složitými a drahými na výrobu, ale také dosáhly svého výkonnostního stropu. Pro další zvýšení výkonu bylo nutné zvýšit počet tranzistorů, ale zvládnuté technologické standardy neumožňovaly vytvořit další komplexní řešení. Intel se s tím setkal při vydání rodiny i486. Pro zlepšení výkonu provedli změny v architektuře procesoru, přidali mezipaměť, násobiče a potrubí. Stručně řečeno, 486. „kameny“ obdržely některé „čipy“ architektury RISC. Americká společnost však nemá s vytvořením platformy RISC nic společného. Architektura vděčí za svůj vznik americkému inženýrovi Davidu Pattersonovi, který v letech 1980 až 1984 vedl projekt Berkeley RISC.

David Patterson - otec RISC

Prvotní myšlenkou, která se později stala tak rozsáhlým projektem Berkeley RISC, byla studie Motoroly 68000. Během pozorování se ukázalo, že programy prostě nevyužívají drtivou většinu instrukcí zabudovaných v procesoru. Například unixový systém použil při kompilaci pouze 30 % příkazů. Proto se v rámci projektu Berkeley RISC počítalo s vytvořením procesoru, který by obsahoval jen ty nejnutnější instrukce.

Po několika letech výzkumu a vývoje bylo vydáno několik vzorků procesorů, které daly jméno celé architektuře. Samotná zkratka RISC znamená Restricted (Reduced) Instruction Set Computer, což v překladu znamená „počítač s omezenou sadou instrukcí“. „Redukovaný soubor instrukcí“ neznamená, že počet instrukcí je menší než počet instrukcí na krystalech CISC. Rozdíl je v tom, že jakákoli instrukce platformy RISC je jednoduchá a provádí se v jednom hodinovém cyklu (alespoň by měla být vykonána), zatímco instrukce RISC by mohla trvat několik desítek hodinových cyklů. V tomto případě je délka příkazu pevná. Například 32 bitů. RISC má také mnohem více registrů obecný účel. Navíc se tato architektura vyznačuje propojováním. Právě jeho použití (spolu se zjednodušenými příkazy) umožňuje efektivně zvyšovat hodinová frekvence RISC procesory.

Projektový tým Berkeley RISC

Prvními řešeními byly RISC I a RISC II - duchovní dítě Pattersona a projektu RISC v Berkeley. První obsahoval více než 44 000 tranzistorů a pracoval na frekvenci 4 MHz. Při spouštění malých programů byl takový procesor v průměru dvakrát rychlejší než VAX 11/780 a zhruba čtyřikrát produktivnější než „kamenný“ Zilog Z8000. RISC II se lišil od svého předchůdce velký počet instrukce: 39 versus 32. Bylo to rychlejší. Jeho výhoda oproti procesoru VAX dosahovala 200 % a Motorola 68000 byla v některých programech asi čtyřikrát pomalejší.

Je třeba poznamenat, že Berkeley RISC byl součástí většího projektu s názvem VLSI. To také zahrnovalo projekt MIPS Stanfordské univerzity, který začal v roce 1981.

procesory MIPS

Vedoucím projektu MIPS byl vědec ze Stanfordské univerzity John Hannessy. Stejně jako u Berkeley RISC bylo cílem startupu prozkoumat a vytvořit procesor, který by používal pipeline a redukovanou sadu instrukcí. Architektura řešení MIPS také počítala s přítomností pomocných bloků v krystalu: například moduly pro práci s pamětí, celočíselnou ALU (aritmetická logická jednotka) a instrukčními dekodéry. Rozdíl mezi plánem MIPS a Berkeley RISC spočíval v použití prodlouženého potrubí. Architektura RISC v zásadě zahrnuje použití pipeline, ale Hannessy šel dále a navrhl pipeline v procesoru co nejvíce rozšířit, tedy „rozdělit“ provádění jedné operace ještě více. Tento přístup otevřel ještě větší prostor pro zvýšení taktovací frekvence. Prodloužení pipeline zároveň zajistilo efektivnější paralelizaci provádění příkazů. V té době byla paralelizace charakteristickým rysem architektury RISC, protože žádné procesory CISC tuto funkci neimplementovaly až do příchodu pipeline. Například v MIPS, stejně jako v RISC, jedna instrukce nemusela dokončit provádění, když začala jiná. V procesorech CISC bylo pro zahájení provádění jedné instrukce nutné dokončit zpracování další.

John Hannessy - tvůrce architektury MIPS a nyní prezident Stanfordské univerzity

V původní specifikaci procesory MIPS podpora pro takové základní operace, jako je násobení a dělení, nebyla poskytnuta. To bylo provedeno záměrně. Vývojáři se tak chtěli zbavit nutnosti používat tzv. potrubní zámky. Samotné zablokování bylo zavěšením dopravníku v případech, kdy nebylo možné operaci v určité fázi dopravníku dokončit v jednom taktu. První implementace architektury MIPS však pracovaly se zámky a dokonce podporovaly operace násobení a dělení. Nějakou dobu trvalo, než byla původní myšlenka implementována do procesorů.

V roce 1984 Hannessy opustil Stanford University a založil společnost MIPS Computer Systems, která začala vyrábět procesory se stejnou architekturou. O rok později byl vydán první produkt společnosti - 32bitový „kamenný“ R2000. Stal se prvním komerčně dostupným modelem RISC v historii. V roce 1988 se objevila další generace procesoru s názvem R3000. Oproti R2000 dostal podporu pro multiprocessing a instrukční a datovou cache. "Tři tisíce" se ukázaly jako komerčně úspěšné. Procesor byl použit v serverových systémech a pracovních stanicích od společností jako Silicon Graphics, DEC, Seiko Epson a mnoha dalších. R3000 se navíc stal srdcem herní konzole Sony PlayStation.

Procesor MIPS R3000

Vývoj další generace procesorů MIPS trval tři roky. Procesor R4000 byl představen v roce 1991. Měl 64bitovou architekturu, vestavěný koprocesor a pracoval s vyšším taktem než jeho předchůdci. Tak, minimální frekvence R4000 bylo 100 MHz. Mezipaměť instrukcí a dat měla každá 8 KB. O dva roky později byla představena upravená verze procesoru s indexem R4400. Nový krystal měl zdvojenou mezipaměť a podporoval větší vyrovnávací paměť druhé úrovně. Kromě toho byly opraveny četné chyby při práci v 64bitovém režimu.

Překvapivě, navzdory komerčnímu úspěchu svých procesorů, MIPS zažil finanční potíže a nakonec byl koupen společností SGI a přejmenován na MIPS Technologies. Poté se začaly vydávat licence na výrobu klonů společností třetích stran. Společnost QED (Quantum Effects Devices) tak vytvořila levné procesory MIPS, které byly použity v routerech Cisco. A NEC se zabýval výrobou „kamenného“ VR4300, který byl „registrován“ v herní konzoli Nintendo 64.

Byl použit procesor NEC VR4300 konzole Nintendo 64

V roce 1994 se objevil procesor R8000. Stal se prvním řešením MIPS se superskalární architekturou, což znamená paralelní provedení příkazy za předpokladu, že provedení jednoho příkazu nezávisí na výsledku jiného. Například R8000 dokázal zpracovat až čtyři instrukce za cyklus.

V lednu 1996 představil MIPS svůj procesor nové generace nazvaný R10000. „Deset tisíc“ používalo stejnou superskalární architekturu jako R8000 a ve skutečnosti šlo o upravenou verzi svého předchůdce. Procesor měl také instrukční a datovou mezipaměť po 32 KB a pracoval na frekvenci 175 MHz nebo 195 MHz. V roce 1997 se dokonce objevila verze čipu s frekvencí 250 MHz. Ale i na 195 MHz byl R10000 jedním z nejrychlejších procesorů své doby.

Procesor R10000 vyrobený společností Toshiba

Bohužel po uvedení R10000 SGI opustila architekturu MIPS. Všechny následující krystaly byly založeny na „desetitisícovém“ jádru a žádné neměly zásadní rozdíly. Například procesor R12000, představený v roce 1998, dostal další fázi v procesu a vylepšené zacházení s frontami instrukcí. Jeho takt byl 270 MHz, 300 MHz nebo 360 MHz. Po R12000 byly vydány další dvě generace procesorů MIPS: R14000 a R16000. Dostaly podporu pro rychlejší systémové sběrnice, zvýšené frekvence a větší vyrovnávací paměť. Například R16000 mohl běžet na 700 MHz a podporoval 64 KB instrukční a datové mezipaměti.

Poté MIPS začal prodávat licence pro 32bitové a 64bitové architektury MIPS32 a MIPS64.

procesory SPARC

Sun Microsystems se také rozhodl vyvinout architekturu - SPARC (Scalable Processor ARChitecture). Inženýři se tedy inspirovali projektem Berkeley RISC. A sám David Patterson se na projektu dokonce podílel jako konzultant. Výsledkem však bylo, že SPARC vypadal spíše jako architektura MIPS. Instrukční sadě platformy například také chyběly instrukce pro násobení a dělení. Charakteristickým rysem architektury SPARC bylo použití registrového okna, s jehož pomocí byl mírně pozměněn proces volání funkcí v programech. Při volání programů si procesor obvykle pamatoval svůj stav (to znamená, že si pamatoval stav některých obecných a speciálních registrů), přistoupil k provedení funkce a poté se vrátil do původního stavu před voláním funkce. A v procesorech SPARC, když byla volána funkce, byla potřebná data zapsána na konec okna registru a samotné okno registru bylo posouváno po souboru tak, aby data skončila na začátku okna. Tento přístup teoreticky poskytoval vyšší rychlost.

Procesor SPARC V7 vyrobený společností Fujitsu

První verze architektury se jmenovala SPARC V7. Stejnojmenný procesor na jeho základě se vyráběl do roku 1992. Pak se objevila další generace architektury - SPARC V8. Neprošla žádnými razantními změnami. Klíčové rozdíly bylo přidání operací násobení a dělení, stejně jako vylepšený výkon aritmetiky s pohyblivou řádovou čárkou. Stejně jako SPARC V7, i SPARC V8 zůstal 32bitovou architekturou, na které byl založen procesor microSPARC. Patřil do segmentu Low-End a byl používán v malých pracovních stanicích a vestavěných systémech. Od společností Texas Instruments a Fujitsu také vydalo vylepšené klony. Procesor SuperSPARC se stal produktivnějším řešením.

Na vytvoření další generace architektury s názvem SPARC V9 se již pracuje celou organizaci SPARC Architecture Committee, do které kromě samotného Sunu patřily společnosti jako Texas Instruments, Fujitsu, Philips a mnoho dalších. Platforma byla rozšířena na 64 bitů a byla superskalární s 9stupňovým potrubím. SPARC V9 poskytoval použití mezipaměti první úrovně, rozdělené na instrukce a data s kapacitou 16 KB, a také druhou úroveň s kapacitou 512-4096 KB. Implementací architektury byl procesor UltraSPARC s frekvencí 143-200 MHz.

Procesor UltraSPARC II

UltraSPARC nebyl jediným procesorem s architekturou SPARC V9. V roce 1997 byl představen UltraSPARC II.

ARM procesory

Historie dnes populárních procesorů ARM, respektive samotné architektury ARM, začíná u společnosti Acorn Computers a jejího počítače BBC Micro. Používal „kámen“ MOS Technology 6502, ale jeho výkon nestačil na vytvoření desktopu nové generace. Ostatní dostupné procesory z různých důvodů také nevyhovovaly požadavkům Acornu, a tak společnost začala uvažovat o vytvoření vlastního čipu. Po studiu různé architektury, inženýři Acorn vzali jako základ procesory RISC a stejný krystal MOS Technology 6502.

Mikropočítač BBC

Procesor MOS si například vypůjčil svou architekturu přístupu do paměti a instrukční sadu. Každá instrukce byla doplněna speciálním čtyřbitovým stavovým kódem. V závislosti na hodnotě kódu (pravda nebo nepravda) může být instrukce provedena nebo neprovedena. To umožnilo snížit počet přechodů při provádění operací, které negativně ovlivnily výkon architektury potrubí. Vývojáři také zahrnuli do počáteční revize týmy architektury, které prováděly několik základních operací. Zkrátka jsme se trochu odklonili od pravidel RISC. To však v konečném důsledku jen zlepšilo výkon procesoru.

Architektura byla dokončena v roce 1985 vytvořením procesoru ARM. První komerční verze se objevily v roce 1986 a nesly označení ARM2. Ve srovnání s procesory CISC byl ARM2 velmi jednoduchý – obsahoval pouze 30 000 tranzistorů. Zároveň spotřeboval velmi málo energie a zároveň byl poměrně produktivní. O něco později se objevily procesory ARM, ke kterým byly přidány 4 KB cache paměti, což dále zvýšilo výkon krystalů.

procesor ARM2

Koncem 80. let Acorn již nevyvíjel architekturu ARM sám – přidal se k ní Apple. V tomto ohledu se divize, která se zabývala přímo procesory ARM, transformovala na samostatnou společnost – Advanced RISC Machines. Prvním produktem nové společnosti byl jádro procesoru Procesor ARM6 a ARM610, který byl použit v jednom z prvních PDA na světě, Apple Newton.

Procesory ARM však již nemohly výkonově konkurovat řešením CISC a segmentu RISC dominovaly procesory s architekturou MIPS. Pak se ARM vydal jinou cestou. Společnost začala umisťovat ARM6 jako vestavěné jádro, které je jiné výrobce třetí strany mohl být použit v mých procesorech za málo peněz. Tato politika přinesla své ovoce a jádro ARM se stala velmi populární a samotná společnost se stala komerčně úspěšnou.

Společně s DEC byla vyvinuta architektura pro výkonnější ARM řešení s názvem StrongARM, což byla klasická skalární architektura s 5-stupňovým potrubím. Architektura měla jednotky správy paměti a podporovala mezipaměť instrukcí a dat o velikosti 16 KB.

První procesor na bázi StrongARM, SA-110, byl představen v únoru 1996. Běžel na taktech 100 MHz, 160 MHz nebo 200 MHz. „Rock“ byl použit v Apple MessagePad 2000, stejně jako v systémech Acorn Computer Risc PC a Eidos Optima. V průběhu roku 1996 zůstal SA-110 nejvýkonnějším mobilním procesorem.

Apple MessagePad 2000 používal procesor SA-110

V roce 1997 byla práva na architekturu StrongARM prodána společnosti Intel, která začala vyvíjet další generaci platformy. Byl představen v roce 2000, ale architektura (nebo spíše implementace architektury) měla jiný název - Xscale. Platforma prošla mnoha změnami. Například délka dopravníku byla zvýšena na 8 stupňů. Velikost mezipaměti pro instrukce i data se zvýšila na 32 KB. XScale byl použit v zařízeních, jako jsou RIM Blackberry, Dell Axim, mobilní telefon Motorola A780 a další zařízení.

procesory PowerPC

Abych byl naprosto přesný, první společností, která začala vyvíjet architekturu RISC, byla IBM. Již v roce 1974 začal vývoj procesoru IBM 801, který položil první základy této platformy. A projekt Berkeley RISC nakonec utvořil architekturu.

Na počátku 80. let používaly některé procesory IBM pro vestavěné systémy architekturu 801. Procesor na ní založený byl také „registrován“. Počítač IBM 9370.

V roce 1985 IBM začala vyvíjet další generaci architektury RISC. Projekt se jmenoval America Project. Vývoj procesoru a jeho instrukční sady skončil v roce 1990. Samotný krystal se nazýval POWER1 a byl používán na serverech a pracovních stanicích IBM. Měl poměrně vysokou úroveň výkonu, ale měl vícečipové uspořádání a skládal se z 11 různých čipů. V roce 1992 IBM představilo rozpočtovou verzi procesoru POWER1, který se vešel do jednoho čipu.

Procesor POWER1. Dokonce spíše čipset

V roce 1993 byla představena druhá generace architektury POWER2. Byl do něj přidán další blok aritmeticko-logických operací a výpočtů s plovoucí desetinnou čárkou. Rozšířena byla i sada příkazů: přibyla například operace výpočtu druhé odmocniny čísla na hardwarové úrovni. Takt procesoru se pohyboval od 55 MHz do 71 MHz a mezipaměť dat a instrukcí byla 256 KB a 32 KB. Stejně jako jeho předchůdce měl nový procesor vícečipové uspořádání. V květnu 1994 ale vyšla i jednočipová verze.

Ještě před vydáním POWER2 však IBM spolu s Apple a Motorola vytvořily alianci AIM a dohodly se na vytvoření vylepšené architektury založené na POWER. Všechny tři společnosti z toho profitovaly a získaly jeden z nejrychlejších RISC procesorů na trhu. Společně vyvinutá architektura se nazývala PowerPC. Kromě základní sady funkcí platformy POWER přidal podporu pro duální režimy (big-endian a little-endian), nové instrukce s plovoucí desetinnou čárkou a zpětnou kompatibilitu s provozem v 32bitovém režimu pro 64bitovou verzi architektura.

První generace procesoru PowerPC

Na rozdíl od jiných architektur RISC, které zabíraly úzké mezery na trhu, byl PowerPC postaven jako platformový konkurent x86. Jeho hlavním účelem byly osobní počítače. Takže procesor založený na PowerPC je docela dost dlouho používané v počítačích Apple Macintosh- do roku 2006.

Architektura až do roku 2001 konkurovala x86, ale poté už nedokázala držet krok s procesory Intel a AMD. Navzdory tomu byly procesory založené na PowerPC použity v herních konzolích Sony PlayStation 3 a Microsoft Xbox 360.

Konzole Sony PlayStation 3 a Microsoft Xbox 360 jsou poháněny procesorem PowerPC

V 90. letech se IBM podařilo vydat třetí generaci procesorů s názvem POWER3, která se ve skutečnosti stala implementací 64bitové architektury PowerPC. Čip byl vytvořen s ohledem na použití na serverech a pracovních stanicích, ale nakonec byla jeho hlavní aplikace systémy IBM RS/6000.

Procesory DEC Alpha

Architektura DEC VAX byla beznadějně zastaralá a na počátku 90. let společnost začala uvažovat o vývoji vlastní platformy RISC. Stala se Alpha, která vyšla v roce 1994. Prvním procesorem byl Alpha 21064 s kódovým označením EV4. Jedná se o 64bitovou superskalární matrici s propojenou architekturou. To znamená, že měl klasický RISC design. Procesor DEC se vyznačoval dobře fungujícím provozem všech svých jednotek. Takže na stejné frekvenci jako ostatní „kameny“ vykazoval EV4 vyšší výkon. Externí sběrnice procesoru byla 128bitová. Měl 16 KB datové a instrukční mezipaměti a byl vyroben pomocí technologie CMOS-4. Takt EV4 byl 150 MHz nebo 200 MHz. O něco později se objevila modifikace nazvaná 21064A, která mohla pracovat na rychlostech až 300 MHz, což krystalu dalo titul nejrychlejšího procesoru té doby. Hlavními aplikacemi EV4 byly servery a pracovní stanice.

procesor Alpha 21064

Alpha 21064A zůstal top modelem DEC, dokud nebyla vydána další generace procesorů, 21164 (EV5). Mělo dvě celočíselné jednotky a dvě jednotky s pohyblivou řádovou čárkou. EV5 již měl tři úrovně vyrovnávací paměti: dvě byly umístěny přímo v procesoru a třetí byla externí. L1 cache byla rozdělena na dvě části: datovou cache a instrukční cache, každá o velikosti 8 KB. Objem mezipaměti druhé úrovně byl 96 KB. Takt procesoru se pohyboval od 266 MHz do 333 MHz. Alpha 21164 převzala vedení od Alpha 21064A a byla nejrychlejší procesor před vydáním Pentia Pro. Odezva DEC však na sebe nenechala dlouho čekat – společnost vydala výkonnější procesor Alpha 21164A pracující na vyšších taktech (až 666 MHz). Procesor byl použit v pracovních stanicích a serverových počítačích od společností jako Digital, Network Appliance a Cray Research.

procesor Alpha 21264

V roce 1996 byla představena další generace procesorů DEC – Alpha 21264 (EV6). Čip doznal oproti předchozím modelům několika důležitých změn. Podporoval například provádění instrukcí mimo pořadí, což znamenalo kompletní reorganizaci jádra. Bloky Integer a load/store byly zkombinovány do jednoho modulu Ebox a bloky s pohyblivou řádovou čárkou byly přiděleny do modulu Fbox. Kromě samotných bloků tyto jednotky obsahovaly také soubory registrů. Struktura mezipaměti se opět stala dvouúrovňovou – nahradila tříúrovňovou organizaci mezipaměti v Alpha 21164. Mezipaměť první úrovně si zachovala rozdělení na paměť pro instrukce a pro data. Objem každé části byl 64 KB. Pokud jde o mezipaměť druhé úrovně, její objem by se mohl pohybovat od 1 MB do 16 MB. Procesor navíc získal podporu pro predikci větví. Postupem času vycházelo stále více nových verzí procesorů Alpha 21264, ve kterých byla především zvýšena taktovací frekvence. Poslední modifikací byla Alpha 21264E, která pracovala na frekvenci 1250 MHz.

Bohužel, řada procesorů Alpha 21264 se stala posledním „nezávislým“ DEC v historii. Počátkem roku 1998 byl DEC prohlášen za bankrot a byl získán společností Compaq.

Architektura Intel P5

Procesory s architekturou RISC z větší části obsadily své specializované místo, ale v stolní systémy krystaly s architekturou x86 se i tak nadále používaly. Jejich vývoj pokračoval, i když s určitými změnami.

Navzdory skutečnosti, že Intel vstoupil na trh RISC procesorů se svými řešeními i860 a i960, společnost stále hodně spoléhala na x86 krystaly. Další generací „kamenů“ bylo známé Pentium založené na architektuře P5, vydané v roce 1993.

Udělalo se hodně práce. Nejprve se P5 stal superskalárním. Architektura fungovala pomocí dvou potrubí, z nichž každý mohl provádět dvě operace za takt. Za druhé, datová sběrnice se stala 64bitovou, což umožnilo přenést dvojnásobné množství dat za cyklus. Za třetí, mezipaměť dat a instrukcí byly rozděleny do dvou samostatných bloků po 8 KB. Kromě toho byla do procesoru přidána jednotka pro predikci větvení a modul s pohyblivou řádovou čárkou se stal produktivnějším.

První procesory Pentium běžely na 60 MHz nebo 66 MHz. Jejich provoz přitom vyžadoval napětí 5 V, takže se velmi zahřívaly. Také první „pahýly“ se staly slavnými nefunkčnost jednotka s pohyblivou řádovou čárkou, což v některých případech při dělení čísel produkovalo nesprávné výsledky. Intel proto brzy uvedl na trh procesory s opravenou architekturou P54C.

CPU Intel Pentium

P54C se stal jakousi prací na chybách. Výroba nových procesorů byla převedena na procesní technologii 0,6 mikronu. Samotné krystaly nyní fungovaly při napětí 3,3 V, což vyřešilo problém s přehříváním. Pokud jde o změny na architektonické úrovni, byl u P54C přidán jeden a půl násobič - od této chvíle procesory pracovaly na vyšší frekvenci než systémová sběrnice. Rychlost procesoru byla 75 MHz, 90 MHz nebo 100 MHz. P54C byly instalovány také do konektorů Socket 5 nebo Socket 7 Na rozdíl od P5, který podporoval pouze Socket 4. Samotná architektura P54C se dočkala další aktualizace v roce 1995, kdy byla převedena na 350 nm procesní technologii. To umožnilo opět snížit spotřebu energie krystalů a také zvýšit jejich hodinovou frekvenci na 200 MHz.

Jedná se o zařízení, které je jedním nebo více velkými integrovanými obvody (LSI), které plní funkce počítačového procesoru Klasické výpočetní zařízení se skládá z aritmetické jednotky (AU), řídicí jednotky (CU), paměťové jednotky (SRAM). a vstupní/výstupní zařízení (I/O).

Existují procesory různých architektur.

CISC(angl. Complex Instruction Set Computing) je koncept návrhu procesoru, který se vyznačuje následující sadou vlastností:

· velký počet příkazy různého formátu a délky;

· zavedení velkého počtu různých režimů adresování;

· má složité kódování instrukcí.

Procesor CISC se musí vypořádat se složitějšími instrukcemi nestejné délky. Jedna instrukce CISC může být provedena rychleji, ale zpracování více instrukcí CISC paralelně je obtížnější.

Usnadnění ladění programů v assembleru znamená zahlcení mikroprocesorové jednotky uzly. Pro zlepšení výkonu je třeba zvýšit taktovací frekvenci a stupeň integrace, což vyžaduje vylepšenou technologii a v důsledku toho dražší výrobu.

Výhody architektury CISC

  1. Kompaktní instrukční sady snižují velikost programu a snižují počet přístupů do paměti.
  2. Instrukční sady zahrnují podporu pro programovací konstrukty na vysoké úrovni.

Nevýhody architektury CISC

  1. Nepravidelný tok příkazů.
  2. Vysoké náklady na hardware.
  3. Potíže s paralelizačními výpočty.

RISC(Redukovaná instrukční sada Computing). Procesor s redukovanou instrukční sadou. Systém příkazů je zjednodušen. Všechny příkazy mají stejný formát s jednoduchým kódováním. K paměti se přistupuje pomocí příkazů load a write, zbývající příkazy jsou typu registr-registr. Příkaz vstupující do CPU je již rozdělen do polí a nevyžaduje další dešifrování.

Část krystalu se uvolní pro umístění dalších součástí. Míra integrace je nižší než u předchozí architektonické varianty, takže pro vysoký výkon jsou povoleny nižší takty. Příkaz méně zahlcuje RAM, CPU je levnější. Softwarová kompatibilita zadané architektury nemají. Ladění RISC programů je obtížnější. Tato technologie může být implementována v softwaru kompatibilním s technologií CISC (například superskalární technologie).

Vzhledem k tomu, že instrukce RISC jsou jednoduché, je k jejich provádění potřeba méně logických hradel, což v konečném důsledku snižuje náklady na procesor. Ale většina software je dnes napsán a zkompilován speciálně pro procesory CISC od Intelu. Chcete-li použít architekturu RISC, musí být aktuální programy překompilovány a někdy přepsány.

Výhody architektury RISC

1.snížení nepravidelnosti toku příkazů

2. obohacení o prostorový paralelismus

Nevýhody architektury RISC

RŮZNÉ(Počítač víceúčelové sady instrukcí). Základna prvku se skládá ze dvou částí, které jsou buď vyrobeny v samostatných pouzdrech nebo kombinované. Hlavní částí je RISC CPU, rozšiřitelné připojením druhé části – mikroprogramové řídicí ROM. Systém získává vlastnosti CISC. Základní příkazy běží na RISC CPU a instrukce pro rozšíření jsou převedeny na adresu firmwaru. RISC CPU provádí všechny instrukce v jednom hodinovém cyklu a druhá část je ekvivalentní CPU s komplexní instrukční sadou. Přítomnost ROM odstraňuje nevýhodu RISC, která spočívá v tom, že při kompilaci z vysokoúrovňového jazyka je mikrokód generován z knihovny standardních funkcí, což zabírá mnoho místa v RAM. Vzhledem k tomu, že firmware již byl dešifrován a je přístupný programátorovi, není pro dešifrování vyžadován žádný čas načtení z paměti RAM.

redukovaná sada příkazů) se formoval koncem 70. a začátkem 80. let, kdy byly potřeba nové nápady ke zlepšení výkonu procesoru. Poznatky různých skupin výzkumníků byly shrnuty do podoby takzvaného pravidla „80/20“: 80 % doby provádění programu je věnováno provádění 20 % příkazů, které tvoří příkazový systém. To znamená, že pouze pětina všech příkazů hraje hlavní roli při určování výkonu procesoru, zatímco zbývající příkazy jsou poměrně vzácné a jejich doba provádění má významný dopad na výkon procesor nevykresluje. Na základě toho bylo rozhodnuto sestrojit procesor, ve kterém by se vzhledem k jeho hardwarové implementaci co nejrychleji vykonávala vybraná malá skupina příkazů a zbývající příkazy byly buď zcela odstraněny z příkazového systému, nebo implementovány na úrovni firmwaru. .

Výsledná ideologie RISC architektury spoléhal na následující zásady:

  • instrukční sada byla zredukována na 70-100 instrukcí (namísto několika stovek pro mikroprocesory CISC);
  • většina příkazů se provádí v 1 hodinovém cyklu a pouze několik - v několika nebo dokonce několika desítkách hodinových cyklů;
  • všechny příkazy pro zpracování dat pracují pouze s obsahem registrů procesoru a pro přístup k pomalejší paměti RAM jsou poskytovány pouze instrukce typu „načíst do registru“ a „zapsat do paměti“;
  • příkazy mají jednoduchý, jasně definovaný formát;
  • Zřídka používané instrukce, stejně jako příkazy, které se nevejdou do přijatého formátu, jsou vyloučeny ze sady příkazů;
  • složení instrukčního systému by mělo být vhodné pro použití optimalizačních kompilátorů z jazyků vyšší úrovně.

Tento přístup umožnil snížit objem hardwaru procesoru snížením řídicí jednotky přibližně 10krát, což se výrazně zvýšilo hodinová frekvence výkon procesoru a snížení jeho tvorby tepla.

Navzdory svému názvu je základem architektury RISC to, že veškeré zpracování je soustředěno pouze do vnitřních registrů mikroprocesoru.

Protože veškeré zpracování probíhá v registrech, není potřeba velké množství režimů adresování operandů a v příkazovém systému je možné používat tříadresové příkazy, které jsou z hlediska organizace výpočtu nejefektivnější. proces a zároveň nemají svou hlavní nevýhodu - dlouhá délka týmy. Jednoduchý formát příkazu lze snadno dekódovat v příslušné fázi potrubí. Připomeňme, že délka příkazu v architektuře IA-32 CISC se pohybuje od 1 do 15 bajtů a přítomnost, formát a účel mnoha příkazových polí jsou nejednoznačné a jsou určeny strukturou jiných polí.

Tento přístup přirozeně vyžadoval použití velké paměti registrů v mikroprocesoru (až 128 registrů). A pro zajištění koordinovaného provozu rychlých interních pipeline a relativně pomalé paměti RAM poskytují mikroprocesory RISC velkokapacitní vyrovnávací paměť.

Dostupnost velké množství registry poskytuje dobrý základ pro optimalizaci kompilátorů, které efektivně využívají všechny kanály mikroprocesorů.

Jednoduchý formát příkazů a zaměření na zpracování registrů umožnily bezbolestnou implementaci v procesorech RISC princip zpracování dopravníku informace.

Tato organizace zajistila výrazné zvýšení výkonu mikroprocesorů RISC ve srovnání s mikroprocesory architektury CISC. To vedlo k převaze tohoto typu MP v těch oblastech, kde výkon byl základním faktorem například u serverů. Své místo přitom nenašly na nejrozvinutějším počítačovém trhu – trhu osobních počítačů. Důvodů je několik:

  • vysoké náklady na RISC procesory a systémy na nich založené: zpočátku byly tyto procesory zaměřeny na výkonné pracovní stanice a servery, takže v nich vývojáři používali řešení, která byla pro osobní počítače příliš drahá; dokonce i speciální, „levné“ verze počítačů RISC stojí mnohem více než srovnatelné osobní počítače procesory Intel kvůli nízkým objemům výroby;
  • nedostatek rozsáhlého vývoje v oblasti softwaru: tradiční operační systém pro osobní počítače existoval DOS, ke kterému se později přidaly 16bitové verze WINdows, pro které bylo napsáno obrovské množství oblíbených a známých programů. Různé RISC platformy typicky využívaly nekompatibilní příchutě Unixu, pro které bylo podstatně méně programů, především vědeckých a technických (pro pracovní stanice) resp. síťové aplikace(pro servery);
  • Procesory RISC mají ze své základní podstaty instrukční sady nekompatibilní s x86, takže jediným způsobem, jak spustit kód x86, byla emulace, která snížila výkon o desítky až stovky procent, což negovalo rychlostní výhody RISC procesorů;
  • nezájem o pronikání na tento trh mezi samotnými výrobci RISC systémů: mnoho „seriózních“ společností jako DEC nebo Sun se domnívalo, že není třeba snižovat náklady na jejich RISC stanice, protože uživatelé si stále vybírají své systémy kvůli zjevným technickým výhodám .

Vývoj architektury mikroprocesorů RISC se ubíral několika směry. Zvýšením technologických možností výroby mikroprocesorů došlo k uvolnění požadavků na skladbu a formáty používaných příkazů. V současné době se jejich velitelské systémy rozšířily z původních 70-100 na 100-120. Zvýšil se také počet používaných formátů příkazů. Základní princip architektury RISC však zůstává nezměněn: zpracování dat se provádí pouze na obsahu vnitřních registrů MP bez přístupu k RAM.

Namísto požadavku na provedení příkazu v jednom cyklu se používá požadavek na získání dalšího výsledku v dalším cyklu práce, to znamená, že je vlastně fixní princip potrubí data.

Ke zpracování dat mikroprocesory nepřijímaly jeden, ale několik dopravníků s vlastními akčními členy.

Nejznámějšími RISC mikroprocesory jsou v současnosti řada MP SPARC od Sun Microsystems, Alpha 21x64 od Digital Equipment a Rx000 od MIPS Computer Systems. V posledních letech byly mikroprocesory RISC z rodiny PowerPC aktivně zaváděny do různých zařízení. Mezi společnosti vyrábějící mikroprocesory RISC patří také Intel a Hewlett Packard.

Společný projekt společností Apple, Motorola a IBM – mikroprocesor PowerPC (Performance Optimization With Enhanced RISC) – byl zaměřen na vytvoření levného, ​​ale výkonného RISC procesoru a platformy pro něj. Před příchodem architektury Intel NetBurst procesory PowerPC téměř vždy překonávaly čipy Intel ve výkonu s pohyblivou řádovou čárkou o desítky procent a přitom spotřebovávaly mnohem méně energie. Z různých důvodů zůstalo v konečné fázi tohoto projektu mezi vývojáři pouze IBM.

Podívejme se na organizaci provozu mikroprocesoru RISC na příkladu Power4 MP od spol.

Plán

Snížená architektura instrukční sady

1. Vlastnosti architektury RISC.

2. Registry v RISC procesorech.

3. Mikroprocesor R10000.

Moderní programovací technologie je zaměřena na jazyky vysoké úrovně (HLL), hlavním úkolem které - pro usnadnění procesu psaní programů. Více než 90 % celého programovacího procesu probíhá v Javě. Operace specifické pro počítačový program se bohužel liší od operací prováděných strojovými příkazy. Tento problém se nazývá sémantická mezera a to vede k nedostatečně efektivní realizaci programů.

Ve snaze překlenout sémantickou propast mezi jazyky na vysoké úrovni (HLL) a operacemi realizovanými strojovými příkazy rozšiřují vývojáři VM příkazový systém a doplňují jej o příkazy, které implementují složité operátory HLL na hardwarové úrovni, zavádějí další typy adresování, atd. Architektura počítačů, kde jsou tyto nástroje implementovány, se obvykle nazývá architektury s rozšířenou (úplnou) instrukční sadou (CISC- Počítač s komplexní instrukční sadou).

Systémy s architekturou CISC mají řadu nevýhod. To nás donutilo pečlivěji analyzovat programy získané po kompilaci z počítačového programu. Byl proveden soubor studií, v jejichž důsledku byly objeveny zajímavé vzorce:

1) implementace složitých příkazů ekvivalentních operátorům jaderných počítačů vyžaduje zvýšení kapacity řídicí ROM v mikroprogramové řídicí jednotce;

2) v kompilovaném programu jsou operátory RAM implementovány ve formě procedur (podprogramů), takže operace volání procedury a návratu z ní tvoří 15 až 45 % výpočetní zátěže;

3) téměř polovina operací při výpočtech jsou přiřazovací operace, což se omezuje na přenos dat mezi registry, paměťovými buňkami nebo registry a pamětí.

4) naprostá většina příkazů (více než 90–95 %), které tvoří program, tvoří relativně kompaktní podmnožinu příkazového systému stroje (20 %);

5) relativně malou sadu instrukcí lze efektivně implementovat do hardwaru tak, že každá operace je provedena v jednom (méně často dvou) taktu.

Podrobná analýza výsledky výzkumu vedly k vážné revizi tradičních architektonických řešení, která vyústila ve vznik redukované architektury instrukční sady(RISC - Počítač se sníženou instrukční sadou).

Hlavní úsilí v architektuře RISC je zaměřeno na vybudování nejúčinnějšího příkazového potrubí. To lze pro fázi vzorkování implementovat poměrně snadno. Je pouze nutné, aby měly všechny týmy standardní délka, která se rovná šířce datové sběrnice spojující CPU a paměť. Sjednocení doby provádění pro různé instrukce je mnohem obtížnější úkol, protože spolu s instrukcemi registru existují také instrukce, které přistupují do paměti.


Kromě stejných délek příkazů je důležité mít relativní jednoduchý dekódovací subsystém A řízení: komplexní řídicí zařízení (CD) zavede další zpoždění při generování řídicích signálů. Samozřejmou cestou k výraznému zjednodušení řídicího systému je snížení počtu prováděných úkonů. týmy, příkazové a datové formáty a také typy adresování.

Hlavním důvodem, který brání tomu, aby byly všechny fáze instrukčního cyklu zkráceny na jedinou periodu hodin, je potenciální potřeba přístupu do paměti pro načítání operandů a/nebo výsledků zápisu. Počet instrukcí, které přistupují k paměti, by měl být co nejvíce snížen. Proto je vhodné přistupovat do paměti pouze pomocí příkazů „Čtení“ a „Zápis“ a provádět všechny operace kromě „Čtení“ a „Zápis“ stejného typu – „registrovat-registrovat“.

Pro zjednodušení provádění většiny instrukcí a jejich převedení na typ registr-registr je nutné poskytnout CPU značný počet univerzálních registrů. Velký počet Registry v souboru registru CPU umožňují dočasné ukládání mezivýsledků použitých jako operandy v následných operacích a vedou ke snížení počtu přístupů do paměti, což urychluje provádění operací.

RISC procesory jsou založeny na tři principy:

1) minimalizace trvání cyklu;

2) dokončení provádění příkazu v každém hodinovém cyklu;

3) minimalizace počtu příkazů prostřednictvím efektivní kompilace.

Vlastnosti procesoru RISC:

1. Systém velení zahrnuje relativně malý počet jednoduché operace (ne více než 128).

2. Většina příkazů se provádí v jednom cyklu (alespoň 75 % příkazů);

3. Všechny příkazy mají standardní délku jednoho slova a pevný formát (počet formátů příkazů není větší než 4). To vám umožní načíst instrukci z paměti jedním přístupem a poté dešifrovat operační kód v jednom hodinovém cyklu.

4. Dekódování příkazů je implementováno v hardwaru.

5. Používá se omezený počet metod adresování (ne více než 4).

6. Příkazový systém poskytuje příkazy pro práci s pamětí, kopírování a zpracování.

7. Příkazy pro zpracování jsou odděleny od příkazů pro přístup do paměti. Při provádění operačních instrukcí musí být argumenty umístěny v paměti registru a výsledek je také umístěn registrovat paměť(příkazy registrace k registraci (příkazy R)).

8. Přístup do paměti pouze pomocí příkazů „Čtení“ a „Zápis“;

9. Všechny příkazy, s výjimkou „Čtení“ a „Zápis“, používají meziprocesorové převody mezi registry;

10. Relativně velký procesorový soubor obecných registrů.

11. Řídicí zařízení s „tvrdou“ logikou;

Jak již bylo uvedeno, instrukční sada procesorů RISC je výrazně menší než instrukční sada počítače s tradiční architekturou.

Vše operační týmy(pro RISC I) jsou 3-adresového typu R, při spuštění se nastaví určitá hodnota ve speciálním registru stavového kódu. Tyto příkazy mají formát znázorněný na obr. 4.1, a.

Nechť délka příkazu je 32 bitů, pak:

COp – operační kód – 7 bitů;

S 1 – zdrojový registr – 5 bitů;

S 2 – zdrojový registr – 13 bitů;

Rd – cílový registr – 5 bitů;

F 1 a F 2 – příznaky vlastností – každý 1 bit.

Architektura RISC je počítač s redukovanou instrukční sadou. Je to typ architektury mikroprocesoru, který používá malou, optimalizovanou sadu instrukcí, na rozdíl od předchozích typů architektur s rozšířenou sadou algoritmických dat. Termín RISC byl vytvořen Davidem Pattersonem z projektu RISC v Berkeley.

Definice

Počítač s instrukční sadou je zařízení, jehož architektura instrukční sady (ISA) má sadu atributů, které mu umožňují mít nižší cykly na instrukci (CPI) než počítač s komplexní instrukční sadou (CISC). Obecný koncept RISC je koncept počítače, který obsahuje malou sadu jednoduchých a obecné algoritmy, ale ne rozšířený soubor složitých a specializovaných sekvencí. Dalším společným rysem RISC je architektura load/store, kdy k paměti přistupují pouze specifické instrukce.

Historie a vývoj

První projekty RISC přišly od IBM, Stanfordu a UC-Berkeley v 70. a 80. letech. XX století. IBM 801, Stanford MIPS a Berkeley RISC I a II byly vyvinuty s podobnou filozofií, která se stala známou jako RISC. Některé konstrukční prvky byly společné většině procesorů RISC:


Přestože řada počítačů v 60. a 70. letech byla předchůdci RISC, moderní koncepce sahá až do 80. let 20. století. Zejména dva projekty na Stanfordu a na Kalifornské univerzitě tuto koncepční myšlenku rozšiřují. Stanfordův MIPS by se stal komerčně úspěšným modelem, zatímco University of Berkeley dala celému konceptu jméno, komercializované jako SPARC. Dalším úspěchem této éry bylo úsilí IBM, které nakonec vedlo k Power Architecture. Jak se tyto trendy vyvíjely na konci 80. let a zejména na počátku 90. let, mnoho podobné projekty, představující hlavní sílu na trhu unixových pracovních stanic, stejně jako vestavěných procesorů v laserové tiskárny, routery a podobné produkty.

Klady a zápory architektury RISC

Nejjednodušší způsob, jak prozkoumat silné a slabé stránky architektury RISC, je porovnat ji s její předchůdkyní architekturou CISC. Hlavním cílem architektury CISC je dokončit úkol na menším počtu montážních linek. Toho je dosaženo vytvořením výpočetního hardwaru, který dokáže porozumět a provádět řadu operací. Za tohle konkrétní úkol Procesor CISC je dodáván se specifickou instrukcí (MULT). Po provedení tato instrukce načte dvě hodnoty do samostatných registrů, vynásobí operandy v prováděcím modulu a poté uloží produkt do příslušného registru. Celý úkol násobení dvou čísel tak může být dokončen jedinou instrukcí: MULT 2: 3, 5: 2. Architektura CISC a RISC jsou předchozí a následující architektonická řešení.

MULT je to, co je známé jako "komplexní instrukce". Příkaz funguje přímo v paměťových bankách počítače a nevyžaduje, aby programátor explicitně volal jakékoli funkce načítání nebo ukládání. Je to velmi podobné příkazu v jazyce vyšší úrovně. Například pokud předpokládáme, že A představuje hodnotu 2:3 a b představuje hodnotu 5:2, pak je tento příkaz shodný s výrazem Ca = a * b.

Jednou z hlavních výhod tohoto systému je, že kompilátor musí vynaložit minimum práce, aby převedl formulaci jazyka na vysoké úrovni do sestavy. Vzhledem k tomu, že délka kódu je relativně krátká, je k uložení instrukcí potřeba velmi málo paměti RAM. Při porovnávání architektur procesorů CISC a RISC je kladen důraz na implementaci složitých instrukcí přímo v hardwaru.

RISC přístup

Procesory RISC používají pouze elementární instrukce, které se provádějí v jednom hodinovém cyklu. Výše popsanou instrukci MULT lze tedy rozdělit na tři samostatné instrukce: LOAD, která přesouvá data z paměťové banky do registru PROD, který najde součin dvou operandů umístěných uvnitř registrů, a STORE, která přesune data z registru. do paměťových bank. K provedení přesné série kroků popsaných v přístupu CISC by programátor musel nakódovat čtyři montážní linky:

ZÁTĚŽ A, 2:3.
ZÁTĚŽ B, 5:2.
PROD A, B.
OBCHOD 2:3, A.

Zpočátku se to může zdát mnohem méně efektivním způsobem operace se dokončí, protože existuje více řádků kódu a pro uložení instrukcí na úrovni sestavení je zapotřebí více paměti RAM. Kompilátor také musí vykonat více práce, aby převedl formulaci jazyka na vysoké úrovni do kódu této formy.

Srovnání CISC a RISC

Níže je srovnání architektur CISC a RISC:

  • Zaměřte se na hardware.
  • Zahrnuje hodiny komplexních instrukcí.
  • Ne velké velikosti kód, vysoký počet cyklů za sekundu.
  • Tranzistory používané k ukládání složitých instrukcí.
  • Důraz na software.
  • Zhuštěné pokyny, které nevyžadují mnoho času.
  • Nízký počet cyklů za sekundu, velká velikost kódu.
  • Utrácí více tranzistorů za paměťové registry.

Strategie RISC přináší některé velmi důležité výhody. Vzhledem k tomu, že každá instrukce vyžaduje k provedení pouze jeden hodinový cyklus, celý program se provede přibližně za stejnou dobu jako víceválcová instrukce MULT. Tyto RISC "zkrácené instrukce" vyžadují méně tranzistorů v hardwarovém prostoru než složité instrukce, takže více prostoru pro obecné registry. Protože se všechny instrukce provádějí ve stejnou dobu (např. jeden hodinový cyklus), je možné zřetězení.

Charakteristiky procesu

Oddělení instrukcí LOAD a STORE ve skutečnosti snižuje množství práce, kterou musí počítač vykonat. Po provedení instrukce MULT ve stylu CISC procesor automaticky vymaže registry. Pokud je potřeba některý z operandů použít pro další výpočet, musí procesor znovu načíst data z paměťové banky do registru. V RISC zůstane operand v registru, dokud se do něj nenačte jiná hodnota.

Přístup CISC se pokouší minimalizovat počet instrukcí pro každý program obětováním počtu cyklů na instrukci. RISC na druhé straně snižuje počet cyklů tím, že poskytuje instrukce pro každý program.

Obtíže komerční implementace

Navzdory výhodám zpracování založeného na RISC trvalo desítky let, než byly čipy RISK komerčně dostupné. To bylo z velké části způsobeno nedostatečnou softwarovou podporou.

Ačkoli řada Power Macintosh společnosti Apple, která používala čipy založené na RISC a Windows NT, je kompatibilní s RISC, Windows 3.1 a Windows 95 byly navrženy s ohledem na procesory CISC. Mnoho společností nebylo ochotno riskovat s nastupující technologií RISC. Bez komerční zájem vývojáři procesorů nebyli schopni vyrobit RISC čipy v dostatečném čase velké objemy aby jejich cena byla konkurenceschopná.

Další velkou překážkou byla přítomnost Intelu. I když se jejich čipy CISC stávaly stále objemnějšími a obtížněji se navrhovaly, Intel měl zdroje na vývoj výkonné procesory. I když čipy RISC možná předčily snahy Intelu v určité oblasti rozdíly nebyly dostatečně velké, aby přesvědčily kupující ke změně technologií.

Celková výhoda RISC

Dnes je Intel x86 jediným čipem, který si zachovává architekturu CISC. Důvodem je především pokrok v jiných oblastech výpočetní techniky. Cena RAM výrazně klesla. V roce 1977 stál 1 MB DRAM asi 5 000 $. V roce 1994 stálo stejné množství paměti pouze 6 USD (upraveno o inflaci). Technologie kompilátorů se také stala sofistikovanější, takže ideální se stalo použití RISC RAM a důraz na software.

Filosofie instrukční sady

Nepochopení definice RIZIKA je představa, že postupy jsou eliminovány, což má za následek omezenou sadu algoritmů. Rutinní rutiny RISC se v průběhu let zvětšily a mnoho z nich má nyní širší sadu funkcí než CPU CISC.

Termín "redukovaná sada rutin" odkazuje na skutečnost, že množství práce vykonávané každou instrukcí je sníženo (ne více než jeden paměťový cyklus) ve srovnání se složitými CISC rutinami, které vyžadují desítky cyklů k provedení jediné instrukce. Architektura RISC má obvykle oddělené algoritmy vstupu/výstupu a zpracování dat.

Formát instrukce

Většina architektur RISC má instrukce s pevnou délkou (typicky 32 bitů) a jednoduché kódování, díky čemuž je načítání logiky, dekódování a výstup mnohem jednodušší. Jednou z nevýhod 32bitových instrukcí je snížení hustoty kódu, což je nepříznivé pro vestavěné výpočty na pracovních stanicích a serverech. Architektury RISC byly původně navrženy pro službu. K vyřešení tohoto problému má několik architektur, jako je ARM, Power ISA, MIPS, RISC-V a Adipteva Epiphany volitelný zkrácený formát instrukce nebo funkci komprese instrukce. SH5 se také řídí tímto vzorem, i když se vyvíjel opačným směrem a k původnímu 16bitovému kódování přidal delší multimediální instrukce.

Použití zařízení

Pro kohokoli danou úroveň celkový výkončip RISC má obvykle mnohem méně tranzistorů vyhrazených pro logiku jádra, která původně umožňovala návrhářům zvětšit velikost registru a vnitřní paralelismus.

Další funkce, které se běžně vyskytují v architekturách RISC:

  • Průměrný výkon procesoru se blíží jedné instrukci za cyklus.
  • Jednotný formát instrukce – používá jedno slovo s operačním kódem na stejných pozicích pro snadnější dekódování.
  • Všechny obecné registry lze použít jako zdroj/cíl ve všech instrukcích, což zjednodušuje návrh kompilátoru (registry s pohyblivou řádovou čárkou jsou často uchovávány odděleně).
  • Jednoduché režimy se složitým adresováním, prováděné sekvencemi příkazů.
  • Více datových typů v hardwaru (např. bajtový řetězec nebo BCD).

Návrhy RISC také zavádějí Harvardský paměťový model, kde jsou instrukce a data koncepčně odděleny. To znamená, že změna paměti, ve které je kód uložen, nemusí mít vliv na instrukce prováděné procesorem (protože CPU má samostatnou instrukční a datovou mezipaměť), dokud nebude vydána speciální synchronizační instrukce. Na druhou stranu umožňuje současný přístup k mezipaměti, což často zlepšuje výkon.

Vlastnosti architektury RISC

V počáteční fázi rozvoje počítačového průmyslu se programovalo na resp strojový kód, která podporovala používání výkonných a snadno použitelných pokynů. Konstruktéři CPU se tedy pokusili navrhnout algoritmy, které by mohly dělat co nejvíce práce. S příchodem jazyků vyšší úrovně začali architekti vytvářet specifické instrukce k přímé implementaci určitých centrálních mechanismů. Druhým obecným cílem bylo poskytnout všechny možné režimy adresování pro každý algoritmus, známé jako ortogonalita, aby se usnadnila implementace kompilátoru.

Tehdejší postoj byl takový design železářské zboží byl vyzrálejší než návrh kompilátoru, takže sám o sobě je také důvodem k implementaci částí funkčnosti v hardwaru nebo mikrokódu, a ne pouze v paměťově omezeném kompilátoru (nebo v jeho generovaném kódu). Po příchodu RISC se tento přístup stal známým jako komplexní instrukční sada počítání nebo CISC.

Procesory také měly relativně málo registrů z několika důvodů:


Praktická aplikace

Architektury procesorů RISC se nyní používají na široké škále platforem, od chytrých telefonů a tabletů až po některé z nejvýkonnějších superpočítačů na světě, jako je 2011 Top 500 K Computer.

Na začátku 21. století byla většina nízkoprofilových a mobilních systémů založena na architektuře RISC. Příklady:

  • dominuje na trhu nízkoenergetických a levných vestavěných systémů (200-1800 MHz v roce 2014). Používá se v řadě většiny systémů Android, Apple iPhone a iPad, Microsoft Windows Phone (dříve Windows Mobile), zařízení RIM (topic.risc.architecture), Nintendo Game Boy Advance, DS/3DS a Switch.
  • Řada MIPS (v určitém okamžiku se používala v mnoha počítačích SGI) a nyní na PlayStation, PlayStation 2, Nintendo 64 (ipb.risc.architecture), herní konzole PlayStation Portable a obytné brány, jako je Linksys WRT54G.
  • Hitachi SuperH, používaný v Sega Super 32X, Saturn a Dreamcast (viewtopic.php.risc.architecture), je nyní vyvinut a prodáván společností Renesas jako SH4.
  • Atmel AVR se používá v různých produktové řady: Od ručních ovladačů Xbox po vozy BMW.
  • RISC-V (vbulletin.risc.architecture), pátý open-source Berkeley RISC ISA, s 32bitovým adresním prostorem, malým celočíselným jádrem instrukční sady, experimentálním „komprimovaným“ ISA pro hustotu kódu a navrženým pro standardní a vlastní rozšíření.
  • Pracovní stanice, servery a superpočítače.
  • MIPS (powered.by.smf.risc.architecture), Silicon Graphics (přestal vytvářet systémy založené na MIPS v roce 2006).
  • SPARC, Oracle (dříve Sun Microsystems) a Fujitsu (phorum.risc.architecture).
  • IBM Power Architecture, používaná ve většině superpočítačů IBM, serverech střední třídy a terminálových stanicích.
  • Hewlett-Packard PA-RISC (phpbb.risc.architecture), také označovaný jako HP-PA (ukončen koncem roku 2008).
  • Alpha, používaný v pracovních stanicích, serverech a superpočítačích od Digital Equipment Corporation, Compaq a HP (ukončeno v roce 2007).
  • RISC-V (powered.by.phpbb.risc.architecture), pátý Berkeley RISC ISA, je open source s 64 nebo 128bitovými adresními prostory a celým jádrem rozšířeným o plovoucí desetinnou čárku, atomizaci a vektorové zpracování a je určen pro rozšíření o instrukce pro sítě, vstup-výstup, zpracování dat. 64bitový superskalární design Rocket je k dispozici ke stažení.

Srovnání s jinými architekturami

Některé procesory byly speciálně navrženy s velmi malou sadou instrukcí, ale tyto návrhy se výrazně liší od tradičních architektur RISC, takže jim byla dána jiná data, jako je minimální sada instrukcí (MISC) nebo architektura iniciovaná transportem (TTA).

Architektury RISC mají tradičně malý úspěch na trzích stolních počítačů a komoditních serverů, kde platformy založené na x86 zůstávají dominantní architekturou procesorů. To se však může změnit, protože procesory založené na architektuře ARM jsou vyvíjeny pro systémy s vyšším výkonem. Výrobci včetně Cavium, AMD a Qualcomm vydali zařízení založená na architektuře ARM. ARM také spolupracoval s Cray v roce 2017 na vytvoření superpočítače založeného na architektuře ARM. Lídr počítačového průmyslu Microsoft oznámil, že v rámci partnerství s Qualcomm plánuje podporu PC verze Windows 10 na zařízeních založených na Qualcomm Snapdragon. Tato zařízení budou podporovat software Win32 založený na x86 pomocí emulátoru procesoru x86.

Ovšem kromě stolní arény architektura ARM RISC je široce používán v chytrých telefonech, tabletech a mnoha formách vestavěných zařízení. Také Intel Pentium Pro (P6) používá pro své procesory interní procesorové jádro RISC.

Zatímco původní návrhy architektury procesorů RISC se výrazně lišily od inovativních návrhů CISC, v roce 2000 byly procesory nejvyšší třídy v řadě RISC téměř k nerozeznání od nejvyšších procesorů řady CISC.




Nahoru