Obsah
1. Společnost Hewlett-Packard a její vliv na vývoj mikroprocesorů s architekturou RISC
2. Mikroprocesor FOCUS aneb mikropočítač na jediném čipu
3. Problémy provázející použití procesoru FOCUS
4. Přechod na architekturu PA-RISC
5. 32bitové mikroprocesory s architekturou PA-RISC
6. Architektura 32bitových mikroprocesorů PA-RISC
8. Instrukce využívané matematickým koprocesorem
1. Společnost Hewlett-Packard a její vliv na vývoj mikroprocesorů s architekturou RISC
V předchozích částech seriálu o architekturách počítačů jsme se seznámili s původními mikroprocesory RISC-1 navrženými na universitě v Berkeley (David Patterson a Carlo H. Sequin), na něž navázaly dvě velmi úspěšné a známé série čipů – mikroprocesory řady MIPS (universita ve Stanfordu, vedoucí projektu John L. Hennessy) a taktéž mikroprocesory SPARC. Ovšem relativní jednoduchost a současně i výkonnost architektury RISC lákala k návrhu vlastních mikroprocesorů i další společnosti, jež se na začátku osmdesátých let minulého století zabývaly konstrukcí minipočítačů, pracovních stanic a posléze i osobních počítačů. Jednou z těchto společností je i firma Hewlett-Packard, která se v té době zabývala mj. i výrobou stolních a kapesních kalkulátorů, tiskáren (v roce 1984 byly na trh uvedeny modely jak laserových, tak i inkoustových tiskáren) a v neposlední řadě se některé divize Hewlett-Packard zabývaly taktéž výrobou minipočítačů, pracovních stanic a osobních počítačů.

Obrázek 1: Slavná garáž, v níž původně sídlila firmička Hewlett-Packard.
V oblasti výpočetní techniky měla firma Hewlett-Packard v první polovině osmdesátých let minulého století poměrně velmi dobrou pozici, protože vyráběla jak minipočítače řady HP 3000, tak i pracovní stanice HP 9000 Series 200 postavené na 32bitovém mikroprocesoru Motorola M68000, dále pracovní stanice HP 9000 Series 300 a HP 9000 Series 400 (i zde se využívaly 32bitové mikroprocesory firmy Motorola, konkrétně se jednalo o výkonnější čipy M68010 až M68040) a taktéž pracovní stanice HP 9000 Series 500, které byly postavené na mikroprocesorech FOCUS (viz též navazující kapitolu). Kromě toho společnost Hewlett-Packard vyráběla i osobní počítače kompatibilní s IBM PC, které původně obsahovaly mikroprocesor Intel 80286. Jednotlivé modely těchto osobních počítačů byly pojmenovány HP Vectra a toto pojmenování bylo později použito i u dalších osobních počítačů postavených na platformě x86.

Obrázek 2: Kapesní kalkulačka HP-35 znamenala pro mnoho inženýrů poměrně zásadní změnu jejich pracovních návyků, protože ti ji začali používat namísto logaritmických pravítek. O popularitě této kalkulačky svědčí i to, že dnes existuje několik jejích emulátorů a způsob zápisu aritmetických výrazů pomocí RPN firma HP používala i u mnoha dalších modelů kalkulaček.
2. Mikroprocesor FOCUS aneb mikropočítač na jediném čipu
V první kapitole jsme se zmínili o tom, že některé starší pracovní stanice vyráběné společností Hewlett-Packard (například se jednalo o počítač HP 9000 Series 520) používaly procesor nazvaný FOCUS. U tohoto procesoru se na chvíli zastavíme, protože jeho architektura je poměrně zajímavá. Tento procesor je důležitý taktéž z toho důvodu, že problémy, na které společnost Hewlett-Packard v souvislosti s těmito procesory narazila, vedly k pozdějšímu rozhodnutí o vývoji RISCových procesorů HP-PA. Mikroprocesory FOCUS byly postavené na zásobníkové architektuře (k níž se v tomto seriálu ještě jednou vrátíme). Ostatně se zásobníkovou architekturou, s níž úzce souvisí i obrácená polská notace (RPN – Reverse Polish Notation), měla firma HP velmi dobré zkušenosti, protože ji použila jak u svých stolních kalkulátorů, tak i o několik let později u slavných kapesních kalkulaček HP-35 a HP-65, na něž později navázaly další více či méně úspěšné modely.

Obrázek 3: Pracovní stanice Hewlett-Packard 9000 Series 300.
Mikroprocesor FOCUS (řízený mikroprogramem!) obsahoval celkem 39 registrů o šířce 32 bitů, přičemž 31 z těchto registrů bylo pracovních, dva registry tvořily operandy aritmeticko-logické jednotky a zbylé registry měly speciální použití (P – programový čítač, PB – bázová adresa, PL – program limit, nejvyšší adresovatelná buňka paměti, S – ukazatel na vrchol zásobníku atd.). Instrukční sada tohoto procesoru obsahovala 230 instrukcí o šířce 16 bitů, popř. 32 bitů. Tato sada byla navržena takovým způsobem, aby se všechny operandy aritmetických a logických operací načítaly z operační paměti na vrchol zásobníku a posléze se operace prováděly s nejvyššími prvky uloženými na tomto zásobníku, jak je tomu u zásobníkových procesorů zvykem. Původní verze procesoru FOCUS pracovala na hodinové frekvenci 18 MHz. K hlavnímu procesoru (CPU) se navíc připojovaly tři další čipy určené pro provádění operací s hodnotami s plovoucí řádovou čárkou.

Obrázek 4: Pracovní stanice Hewlett-Packard 9000 Series 400.
3. Problémy provázející použití procesoru FOCUS
Použití procesorů FOCUS v pracovních stanicích HP 9000 Series 500 provázelo několik problémů. První z těchto problémů byl v podstatě ryze technologický – hlavní procesor CPU i matematický koprocesor FPU (realizovaný v samostatných čipech) se přehříval, proto musely být všechny tyto čipy umístěny na speciálním plošném spoji, na němž byla nanesena jednomilimetrová vrstva mědi sloužící pro odvod či spíše rozvod a vyzáření tepla (čipy byly zasazeny přímo do této vrstvy). Dalším problémem byla i samotná komplexnost čipu, která vyplývala z toho, že procesor FOCUS obsahoval ve svém mikrokódu (jednalo se o přibližně devět tisíc 38bitových mikroinstrukcí) celou funkcionalitu procesorů řady HP 3000, což mj. znamenalo i to, že procesor obsahoval přibližně 450×000 tranzistorů. To bylo na začátku osmdesátých let minulého století takřka nepředstavitelné množství, ani ne tak z technologického hlediska, jako spíše z hlediska cenového (nehledě na již zmíněnou velkou spotřebu a tepelný výkon). Ostatně je poněkud paradoxní, že takto složitý byl právě zásobníkový procesor, protože tyto typy procesorů jsou obvykle ještě jednodušší než mnohé mikroprocesory s architekturou RISC.

Obrázek 5: Bližší pohled na case pracovní stanice HP 9000 Series 300.
Pro porovnání s ostatními známými mikroprocesory se můžeme podívat na následující tabulku, z níž je patrné, že počet 450×000 tranzistorů překonal až mikroprocesor Intel 80486 v roce 1989:
Mikroprocesor | Bitová šířka | Rok prodeje | Počet tranzistorů |
---|---|---|---|
Intel 8008 | 8 | 1972 | 3 500 |
MOS Technology 6502 | 8 | 1975 | 3 510 |
Motorola 6800 | 8 | 1974 | 4 100 |
Intel 8080 | 8 | 1974 | 4 500 |
Intel 8086 | 16 | 1978 | 29 000 |
Intel 8088 | 8/16 | 1979 | 29 000 |
Intel 80186 | 16 | 1982 | 55 000 |
Motorola 68000 | 32 | 1979 | 68 000 |
Intel 80286 | 16 | 1982 | 134 000 |
Intel 80386 | 32 | 1985 | 275 000 |
Intel 80486 | 32 | 1989 | 1 180 000 |
Pentium | 32 | 1993 | 3 100 000 |

Obrázek 6: Osobní počítač řady HP Vectra s pro někoho nezbytnou nálepkou s certifikátem nejmenovaného operačního systému
4. Přechod na architekturu PA-RISC
Společnost Hewlett-Packard z důvodů popsaných v předchozí kapitole hledala náhradu za sice zpětně kompatibilní, ale drahý a interně komplikovaný procesor FOCUS. Řešením bylo využití jednodušší a zpětnou kompatibilitou s minipočítači HP 3000 nezatížené architektury RISC nazvané PA-RISC (PA je zkratka sousloví Precision Architecture) a je zajímavé a vlastně i typické, že první modely procesorů PA-RISC z roku 1986 obsahovaly méně než třetinu tranzistorů (konkrétně 115 000) v porovnání s procesorem FOCUS, a to při větším výpočetním výkonu. Postupně se PA-RISC začaly používat i v pracovních stanicích, kde původně dominovaly mikroprocesory řady Motorola M68000. V souvislosti se zpětnou kompatibilitou může být pro někoho zajímavá informace, že stařičká architektura HP 3000, která byla uvedena na trh v roce 1971, byla podporována až do konce minulého roku a některé společnosti – třetí strany – dokonce zaručují podporu této platformy až do roku 2013, popř existuje i emulátor celé platformy pro počítače PC.

Obrázek 7: Kapesní kalkulačka HP-65 je skoro stejně tak známá, jako její předchůdce HP-35, ovšem z jiného důvodu – jednalo se o první kapesní programovatelnou kalkulačku, navíc s možností trvalého záznamu programů. Programy bylo možné ukládat na magnetické kartičky, přičemž čtečka a zapisovačka těchto paměťových kartiček byla přímo součástí kalkulačky. Zajímavé je, že se jednalo o první kalkulátory, které se dostaly do vesmíru, protože byly používány v některých letech programu Apollo jako záložní jednotky pro případ výpadku hlavního naváděcího počítače.
Mikroprocesory řady PA-RISC se v několika ohledech přibližovaly oběma hlavním vývojovým větvím RISCových procesorů, tj. jak sérii mikroprocesorů MIPS, tak i sérii mikroprocesorů SPARC. Velmi podobný byl především programátorský model mikroprocesorů – ty totiž obsahovaly, podobně jako obě zmíněné série, 32 pracovních registrů o šířce 32 bitů. Taktéž základní formát instrukcí byl podobný, protože všechny instrukce měly fixní šířku 32 bitů, což znamenalo, že se z operační paměti načítala vždy celá instrukce v jednom taktu, včetně operačního kódu i operandů. Samotná instrukční sada však byla v porovnání s MIPS i SPARC složitější, což byl (prý) důsledek pečlivé analýzy chování aplikací přeložených pro PA-RISC. Matematický koprocesor byl podobný koprocesoru SPARC – implementovány byly základní aritmetické instrukce a počet pracovních (FP) registrů byl zpočátku roven šestnácti, později byl jejich počet zvýšen na 32, tj. shodně s architekturou SPARC.

Obrázek 8: Čip (pevně naprogramovaný mikroprocesor) tvořící ústřední část kapesního programovatelného kalkulátoru HP-65.
5. 32bitové mikroprocesory s architekturou PA-RISC
První varianta mikroprocesoru řady PA-RISC, která nesla modelové označení TS-1, byla založena na obvodech TTL s nízkou a střední integrací, které byly umístěny na šesti deskách, takže se – striktně pojato – vlastně ani o plnohodnotný mikroprocesor nejednalo. Po této spíše testovací verzi se již pro další mikroprocesory PA-RISC začaly používat stejné technologie integrovaných obvodů VLSI, jaké používali i ostatní výrobci čipů. Mikroprocesory s označením NS-1 a NS-2 byly založeny technologii NMOS, zatímco mikroprocesory s označením CS-1 (testovací série) a PCX (prodávaný čip) používaly technologii CMOS. Celá 32bitová řada těchto mikroprocesorů byla zakončena čipem pojmenovaným PCX-L2, po němž již následovaly 64bitové varianty mikroprocesorů PA-RISC. V tabulce zobrazené pod tímto odstavcem jsou vypsány základní parametry 32bitových čipů řady PA-RISC:
# | Model procesoru | Označení | Rok výroby | Frekvence (MHz) | Výrobní proces [µm] | Počet tranzistorů |
---|---|---|---|---|---|---|
1 | TS-1 | × | 1986 | 8 | ? | 115 000 |
2 | CS-1 | × | 1987 | 8 | 1.6 | 164 000 |
3 | NS-1 | × | 1987 | 25/30 | 1.5 | 144 000 |
4 | NS-2 | × | 1989 | 27.5/30 | 1.5 | 183 000 |
5 | PCX | × | 1990 | 50 | 1.0 | 196 000 |
6 | PCX-S | PA-7000 | 1991 | 66 | 1.0 | 580 000 |
7 | PCX-T | PA-7100 | 1992 | 33–100 | 0.8 | 850 000 |
8 | PCX-T | PA-7150 | 1994 | 125 | 0.8 | 850 000 |
9 | PCX-T' | PA-7200 | 1994 | 120 | 0.55 | 1 260 000 |
10 | PCX-L | PA-7100LC | 1994 | 60–100 | 0.75 | 900 000 |
11 | PCX-L2 | PA-7300LC | 1996 | 132–180 | 0.5 | 9 200 000 |

Obrázek 9: Detail pohonné jednotky čtečky magnetických karet použitých v kapesním programovatelném kalkulátoru HP-65.
6. Architektura 32bitových mikroprocesorů PA-RISC
Mikroprocesory PA-RISC byly založeny na instrukční pipeline s pěti stupni (fázemi), podobně jako již popsané mikroprocesory MIPS, ovšem na rozdíl od těchto mikroprocesorů mohly být v případě PA-RISC instrukce pozastaveny předchozí instrukcí, což umožnilo relativně snadnou implementaci operací, jejichž provedení trvalo větší počet cyklů. Navíc u těchto mikroprocesorů existovaly mezi jednotlivými stupni pipeline „zkratky“ umožňující využití výsledků získaných v předchozí instrukci, aniž by bylo nutné čekat na úplné dokončení této instrukce, tj. na uložení výsledků zpět do registrů. Jedná se o takzvaný result forwarding, který sice vede ke komplikaci v návrhu mikroprocesorů, na druhou stranu však umožňuje eliminovat některé prázdné instrukce typu NOP, které by se jinak musely v určitých případech do programového kódu vkládat. Původně se v procesorech PA-RISC interně používala jediná sběrnice pro instrukce i data, později však došlo k oddělení interních sběrnic na instrukční sběrnici a datovou sběrnici.

Obrázek 10: Struktura moderní varianty multiprocesoru postaveného na čipech PA-RISC.
Jak jsme si již řekli v předchozích kapitolách, používaly mikroprocesory PA-RISC celkem 32 pracovních registrů o šířce 32 bitů, přičemž registr GR0 obsahoval konstantní nulu (poznávací to znak většiny RISCových procesorů :-) a registr GR31 obsahoval návratovou adresu při volání subrutiny (jump and link). Navíc měli programátoři k dispozici sedm „stínových registrů“ používaných v průběhu přerušení pro úschovu hodnot sedmi pracovních registrů. Kromě těchto registrů obsahovaly mikroprocesory PA-RISC i další typy registrů, z nichž některé jsou vypsány v tabulce pod tímto odstavcem:
Registry | Význam |
---|---|
GR 0..GR 31 | pracovní registry |
SHR 0..SHR 6 | stínové registry používané při přerušení |
SR 0..SR 7 | registry používané při skocích (space registers) |
PSW | Processor Status Word |
CR 0..CR 31 | řídicí registry |
FPR 0..FPR 31 | registry používané matematickým koprocesorem |

Obrázek 11: Procesor PA-RISC 7100LC.
7. Instrukční sada PA-RISC
Instrukční sada mikroprocesorů PA-RISC je oproti procesorům MIPS a SPARC složitější, protože obsahuje i relativně komplexní instrukce, v nichž se kombinuje více operací (například posun a následný součet). Ovšem základ instrukční sady se stále drží klasických RISCových tradic – základem jsou aritmetické a logické instrukce prováděné s dvojicí pracovních registrů s uložením výsledku do registru třetího (takzvané tříadresové operace), které jsou doplněny instrukcemi typu Load&Store a samozřejmě též nepodmíněnými a podmíněnými skoky. Instrukce typu Load&Store byly určeny pro načtení/uložení bajtu, 16bitového slova i 32bitového slova, přičemž u některých čipů bylo možné volbou jednoho bitu v PSW určit endianitu těchto operací. Zajímavá a důležitá je ovšem existence instrukce LOAD AND CLEAR WORD provádějící atomickou operaci načtení slova s jeho vynulováním, kterou lze využít pro implementaci semaforu, popř. i dalších synchronizačních nástrojů.

Obrázek 12: Procesor PA-RISC 7300LC.
Instrukce skoku se rozdělovaly podle toho, zda se jednalo o skok podmíněný nebo nepodmíněný. U nepodmíněných skoků bylo pro adresu vyhrazeno sedmnáct bitů v instrukčním slově, což umožňovalo skok v rozsahu ±256kB (skoky na adresy dělitelné čtyřmi), zatímco u podmíněných skoků byla relativní adresa uložena ve dvanácti bitech, takže skok bylo možné provést v adresním rozsahu ±8 kB. Zajímavá byla taktéž implementace operace porovnání současně se skokem, přičemž porovnávat se mohla hodnota jednoho pracovního registru buď s druhým pracovním registrem (COMPARE AND BRANCH IF TRUE = COMBT, COMPARE AND BRANCH IF FALSE = COMBF), popř. s konstantou (COMPARE IMMEDIATE AND BRANCH IF TRUE = COMIBT, COMPARE IMMEDIATE AND BRANCH IF FALSE = COMIBF). Kromě toho též existovaly skokové instrukce typu ADD AND BRANCH IF TRUE = ADDBT a ADD AND BRANCH IF FALSE = ADDBF.

Obrázek 13: Mikroprocesor s instrukční sadou MIPS. Čipy obsahující jádra těchto RISCových mikroprocesorů se v současnosti používají v mnoha vestavěných zařízeních, například přehrávačích videa, routerech atd. I když se jedná o málo známou skutečnost, patří mikroprocesory MIPS mezi jedny z nejrozšířenějších typů procesorů současnosti a možná i překonávají v celkovém počtu prodaných kusů architekturu i386/x86_64.
8. Instrukce využívané matematickým koprocesorem
První verze matematických koprocesorů pro mikroprocesory PA-RISC měly poměrně jednoduchou instrukční sadu obsahující instrukce pro provádění základních aritmetických operací s registry FPR0 až FPR15 a později též s registry FPR16 až FPR31 (všechny tyto registry měly šířku 64 bitů). Kromě čtveřice aritmetických operací součtu, rozdílu, součinu a mocniny měli programátoři k dispozici operaci pro výpočet absolutní hodnoty a taktéž instrukci pro výpočet druhé odmocniny. Kromě toho dokázal matematický koprocesor provádět různé konverze, zejména převody mezi numerickými hodnotami uloženými v systému plovoucí řádové čárky (FP – Floating Point) a hodnotami s pevnou řádovou čárkou (FX – Fixed Point). Všechny tyto operace, včetně operace pro zaokrouhlení výsledku či pro porovnání dvou číselných hodnot (k dispozici bylo všech šest testů na relace mezi dvojicí numerických hodnot), jsou vypsány v následující tabulce:
# | Instrukce | Význam |
---|---|---|
1 | COPR | Identifikace koprocesoru |
2 | FCPY | Kopie hodnoty |
3 | FABS | Výpočet absolutní hodnoty |
4 | FSQRT | Výpočet druhé odmocniny |
5 | FRND | Zaokrouhlení na celé číslo |
6 | FCNVFF | Konverze FP na FP |
7 | FCNVXF | Konverze FX na FP |
8 | FCNVFX | Konverze FP na FX |
9 | FCNVFXT | Konverze FP na FX s explicitním zaokrouhlením směrem k nule |
10 | FCMP | Porovnání dvou hodnot |
11 | FTEST | Test příznakových bitů |
12 | FADD | Součet dvou hodnot |
13 | FSUB | Rozdíl dvou hodnot |
14 | FMPY | Součin dvou hodnot |
15 | FDIV | Podíl dvou hodnot |

Obrázek 14: Mikroprocesor PA RISC firmy Hewlett-Packard, který je na této fotografii zobrazen spolu s dalšími podpůrnými obvody a paměťmi cache, jež jsou nedílnou součástí prakticky všech procesorů s architekturou RISC.
9. Odkazy na Internetu
- Hewlett Packard PA-8800 RISC (LOSTCIRCUITS)
http://www.lostcircuits.com/mambo//index.php?option=com_content&task=view&id=42&Itemid=42 - PA-RISC 1.1 Architecture and Instruction Set Reference Manual
http://h21007.www2.hp.com/portal/download/files/unprot/parisc/pa1–1/acd.pdf - Fotografie mikroprocesorů HP PA (stránka 1)
http://www.chipdb.org/cat-pa-risc-592.htm - Fotografie mikroprocesorů HP PA (stránka 2)
http://www.chipdb.org/cat-pa-risc-592.htm?page=2 - Fotografie mikroprocesorů HP PA (stránka 2)
http://www.chipdb.org/cat-pa-risc-592.htm?page=3 - PA-RISC (Wikipedia)
http://en.wikipedia.org/wiki/PA-RISC - The Great CPU List: Part VI: Hewlett-Packard PA-RISC, a conservative RISC (Oct 1986)
http://jbayko.sasktelwebsite.net/cpu4.html - HP 9000/500 FOCUS
http://www.openpa.net/systems/hp-9000_520.html - HP FOCUS Microprocessor (Wikipedia)
http://en.wikipedia.org/wiki/HP_FOCUS - HP 3000 (Wikipedia)
http://en.wikipedia.org/wiki/HP_3000 - The SPARC Architecture Manual Version 8 (manuál v PDF formátu)
http://www.sparc.org/standards/V8.pdf - The SPARC Architecture Manual Version 9 (manuál v PDF formátu)
http://developers.sun.com/solaris/articles/sparcv9.pdf - SPARC Pipelining
http://www.academic.marist.edu/~jzbv/architecture/Projects/S2002/SPARC/pipelining.html - SPARC Instruction
http://www.academic.marist.edu/~jzbv/architecture/Projects/S2002/SPARC/inst_set.html - OpenSPARC
http://www.opensparc.net/ - History of SPARC systems 1987 to 2010
http://www.sparcproductdirectory.com/history.html - Sun-1 (Wikipedia)
http://en.wikipedia.org/wiki/Sun-1 - Sun-2 (Wikipedia)
http://en.wikipedia.org/wiki/Sun-2 - Sun-3 (Wikipedia)
http://en.wikipedia.org/wiki/Sun-3 - Sun386i (Wikipedia)
http://en.wikipedia.org/wiki/Sun386i - Sun 386i/250
http://sites.inka.de/pcde/site/sun386i.html - SPARC Instruction Set
http://www.academic.marist.edu/~jzbv/architecture/Projects/S2002/SPARC/inst_set.html - MIPS Architecture Overview
http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/mips.html - MIPS Technologies R3000
http://www.cpu-world.com/CPUs/R3000/ - CPU-collection: IDT R3010 FPU
http://www.cpu-collection.de/?tn=0&l0=co&l1=IDT&l2=R3010+FPU - The MIPS R2000 Instruction Set
http://suraj.lums.edu.pk/~cs423a05/Reference/MIPSCodeTable.pdf - Maska mikroprocesoru RISC 1
http://www.cs.berkeley.edu/~pattrsn/Arch/RISC1.jpg - Maska mikroprocesoru RISC 2
http://www.cs.berkeley.edu/~pattrsn/Arch/RISC2.jpg - The MIPS Register Usage Conventions
http://pages.cs.wisc.edu/~cs354–2/beyond354/conventions.html - C.E. Sequin and D.A.Patterson: Design and Implementation of RISC I
http://www.eecs.berkeley.edu/Pubs/TechRpts/1982/CSD-82–106.pdf - Berkeley RISC
http://en.wikipedia.org/wiki/Berkeley_RISC - Great moments in microprocessor history
http://www.ibm.com/developerworks/library/pa-microhist.html - Microprogram-Based Processors
http://research.microsoft.com/en-us/um/people/gbell/Computer_Structures_Principles_and_Examples/csp0167.htm - Great Microprocessors of the Past and Present
http://www.cpushack.com/CPU/cpu1.html - A Brief History of Microprogramming
http://www.cs.clemson.edu/~mark/uprog.html - Architecture of the WISC CPU/16
http://www.ece.cmu.edu/~koopman/stack_computers/sec4_2.html - Zásobníkový procesor WISC CPU/16 (Root.CZ)
http://www.root.cz/clanky/programovaci-jazyk-forth-a-zasobnikove-procesory-16/#k03 - Writable instruction set, stack oriented computers: The WISC Concept
http://www.ece.cmu.edu/~koopman/forth/rochester87.pdf - The Great CPU List: Part X: Hitachi 6301 – Small and microcoded (1983)
http://jbayko.sasktelwebsite.net/cpu2.html#Sec2Part10 - What is RISC?
http://www-cs-faculty.stanford.edu/~eroberts/courses/soco/projects/2000–01/risc/whatis/ - RISC vs. CISC
http://www-cs-faculty.stanford.edu/~eroberts/courses/soco/projects/2000–01/risc/risccisc/ - RISC and CISC definitions:
http://www.cpushack.com/CPU/cpuAppendA.html - The Evolution of RISC
http://www.ibm.com/developerworks/library/pa-microhist.html#sidebar1 - SPARC Processor Family Photo
http://thenetworkisthecomputer.com/site/?p=243 - SPARC: Decades of Continuous Technical Innovation
http://blogs.oracle.com/ontherecord/entry/sparc_decades_of_continuous_technical - The SPARC processors
http://www.top500.org/2007_overview_recent_supercomputers/sparc_processors - Maurice V. Wilkes Home Page
http://www.cl.cam.ac.uk/archive/mvw1/ - Papers by M. V. Wilkes (důležitá je především jeho práce číslo 35)
http://www.cl.cam.ac.uk/archive/mvw1/list-of-papers.txt - Microprogram Memory
http://free-books-online.org/computers/advanced-computer-architecture/microprogram-memory/ - First Draft of a report on the EDVAC
http://qss.stanford.edu/~godfrey/vonNeumann/vnedvac.pdf - Introduction to Microcontrollers
http://www.pic24micro.com/cisc_vs_risc.html - Reduced instruction set computing (Wikipedia)
http://en.wikipedia.org/wiki/Reduced_instruction_set_computer - MIPS architecture (Wikipedia)
http://en.wikipedia.org/wiki/MIPS_architecture - Very long instruction word (Wikipedia)
http://en.wikipedia.org/wiki/Very_long_instruction_word - Classic RISC pipeline (Wikipedia)
http://en.wikipedia.org/wiki/Classic_RISC_pipeline - R2000 Microprocessor (Wikipedia)
http://en.wikipedia.org/wiki/R2000_(microprocessor) - R3000 Microprocessor (Wikipedia)
http://en.wikipedia.org/wiki/R3000 - R4400 Microprocessor (Wikipedia)
http://en.wikipedia.org/wiki/R4400 - R8000 Microprocessor (Wikipedia)
http://en.wikipedia.org/wiki/R8000 - R10000 Microprocessor (Wikipedia)
http://en.wikipedia.org/wiki/R10000 - SPARC (Wikipedia)
http://en.wikipedia.org/wiki/Sparc - CPU design (Wikipedia)
http://en.wikipedia.org/wiki/CPU_design - Control unit (Wikipedia)
http://en.wikipedia.org/wiki/Control_unit - Microcode (Wikipedia)
http://en.wikipedia.org/wiki/Microcode - Microsequencer (Wikipedia)
http://en.wikipedia.org/wiki/Microsequencer - Maurice Wilkes (Wikipedia)
http://en.wikipedia.org/wiki/Maurice_Wilkes - Micro-operation (Wikipedia)
http://en.wikipedia.org/wiki/Micro-operation - SPARC Tagged Data – otázka
http://compilers.iecc.com/comparch/article/91–04–079 - SPARC Tagged Data – odpověď #1
http://compilers.iecc.com/comparch/article/91–04–082 - SPARC Tagged Data – odpověď #2
http://compilers.iecc.com/comparch/article/91–04–088