Jiří Marchalín Historie procesorů od počátku až po současnost 2004
1
Mikroprocesor, srdce počítače, prošel od svého prvního uvedení na trh, bouřlivým vývojem. V průběhu vývoje od počátku k dnešním procesorům kráčely nohy vývojářů po různých cestách, ne všechny však vedly k cíli. Některé vývojové větve zanikly, jiné nesplnily účel, ke kterému byly vytvořeny a jiné se neopomenutelně zapsaly do počítačové historie. Toto je skromný výtah nejslavnějších procesorů z jejich nepřeberného množství. Záznamy o mikroprocesorech jsou řazeny chronologicky, tak jak byly postupně uváděny na trh. V průběhu vývoje mikroprocesorů výrobci postupně opouštěli staré technologie a přecházeli k novým, aby se krátce poté jiní výrobci vrátili k těmto opuštěným technologiím zpět. Mikroprocesory se dají jednoduše rozdělit do dvou základních skupin podle navržené architektury a to RISC a CISC. Jedná se víceméně o soubor pravidel a parametrů, které musí mikroprocesor splňovat, tedy o strategii a návrh. V poslední době se objevuje ještě určitá kombinace těchto architektur nazvaná "post-RISC" a také architektura EPIC. První z těchto architektur je tzv. Complex Instruction Set Computer (CISC). Základní charakteristikou je poměrně rozsáhlá instrukční sada stroje a její komplexnost. Na každý obtížnější problém, jako je například násobení dvou čísel, existuje zvláštní instrukce. Dalšími specifiky jsou vysoký počet adresovacích módů a proměnná délka instrukcí. Zastánci ostatních architektur považují tuto vlastnost za hlavní nevýhodu celé architektury. V současné době používá architekturu CISC pouze řada mikroprocesorů x86 firmy Intel. V minulých letech to byly mikroprocesory použité v platformách Amiga a Atari. Postupný úpadek architektury CISC způsobil hlavně výrazný pokles pamětí RAM z 5000USD za 1 MB v roce 1977 na nepatrný zlomek v současné době. Také postupný nárůst výkonu a sofistikovanější kompilátory přinesly pád této ze začátku slibné vývojové větvi. Další architektura je tzv. Reduced Instruction Set Computer (RISC). První návrh RISC procesoru byl roku 1974 představen Johnem Cockem z firmy IBM. Jednalo se o mikroprocesor IBM 801, který se nikdy nedostal do prodeje, ale představuje významnou událost ve vývoji mikroprocesorů. John Cock si všiml, že většina programátorů si k řešení konkrétního problému osvojí poměrně malou část instrukční sady. RISCový stroj proto obsahuje pouze malý počet jednoduchých instrukcí a je na programátorovi, jak se s nimi vypořádá. Všechny instrukce mají pevnou délku, v poslední době většinou 32 bitů. Všechny instrukce jsou jednoduché, tzn. žádná neprovádí více věcí najednou, narozdíl od komplexní instrukce v CISC. Omezená sada jednoduchých instrukcí a jejich pevná délka výrazně zrychlí práci procesoru, jak při dekódování instrukce tak při jejím načítání. To má za následek, že RISC procesor na stejné pracovní frekvenci je výrazně rychlejší než srovnatelný CISC procesor. Mezi RISCové procesory se řadí zejména ARM (Advanced RISC Machine/Acorn RISC Machine) a SPARC (Scalable Processor ARCihtecture).
2
Sekvence instrukcí pro násobení dvou čísel v pseudokódu CISC RISC
MULTIPLY 3, 4 % instrukce vynásobí 3 a 4
LOAD
R1, 3
% do registru 1 uloz 3
LOAD
R2, 4
% do registru 2 uloz 4
MUL
R1, R2
% R1 = R1 * R2
STORE R1, Mem % Mem = R1
Při pohledu na výsledný program se může zdát, že CISC je v mnohém výhodnější, ale právě přísné oddělení instrukcí pro vyzvednutí (LOAD) a uložení (STORE) redukuje práci procesoru na minimum. V momentě kdy je provedena instrukce MULTIPLY procesor vymaže obsahy registrů. Pokud jeden z operandů má být použit v dalším výpočtu, procesor musí data znovu nahrát z paměti do registrů. V RISC architektuře zůstává registr naplněn daty z předchozí operace do doby, než je registr potřeba. V poslední době se na trhu objevují mikroprocesory hlásící se ke kombinaci těchto architektur a to post-RISC. Mikroprocesory RISC dostaly komplexnější instrukční sady a CISC se staly výkonnějšími. Výsledkem je, že mnoho procesorů zůstává v zařazení CISC nebo RISC pouze s ohledem na jejich předchůdce ve stejné vývojové řadě. Příkladem může být PowerPC 601, které ačkoliv se jedná o RISCový mikroprocesor zpracovává více instrukcí než mikroprocesor Pentium firmy Intel, který je zařazen jako CISC. Proto Intel označuje své procesory od řady Pentium jako CRISC, což se dá vyložit jako ComplexReduced Instruction Set, čili post-RISC. Naproti tomu procesory firmy AMD, používají architekturu RISC. To je také jeden z důvodů jejich větší rychlosti při stejné frekvenci s procesory Intel. Stále však zůstává zachována zpětná kompatibilita s procesory firmy Intel díky překladovým tabulkám instrukcí. EPIC (Explicitly Parallel Instruction Computing) nazývaná též „IA-64“ je zcela nová architektura speciálně určená pro 64 bitové procesory. Mikroprocesor s touto architekturou zpracovává instrukce paralelně, ale neobsahuje žádnou hardwarovou jednotku k detekci instrukcí, které je možné takto zpracovat. Jinými slovy je detekce paralelních instrukcí plně v rukou kompilátoru. Dalším jsou tzv. „Bundled Instructions“ (svazky instrukcí). Intrukce, které jsou prováděny společně jsou uloženy do jednoho dlouhého instrukčního slova pro rychlejší zpracování. Jedná se o tzv. LIW kódování („Long Instruction Word“). Každý takto vytvořený svazek obsahuje příznak („flag“), zda může být proveden paralelně, tento příznak nastavuje kompilátor. Postup vykonání svazků je plně v kompetenci mikroprocesoru. Výhodou je, že mikroprocesor neztrácí žádný čas určováním, která instrukce se může provést paralelně v superskalární architektuře. Nevýhodou je pak potřeba sofistikovanějšího kompilátoru.
3
70. léta 20. století Intel 4004 (1971) Vůbec první procesor v podobě jak ho známe dnes představila firma Intel roku 1971. Jednalo se o 4 bitový procesor s frekvencí 108kHz a názvem 4004. Obsahoval 2300 tranzistorů a jeho výkon odpovídal 0.06 MIPS. Byl zhotoven na objednávku japonské firmy Busicom, která jej implementovala do svých kalkulaček. Intel 4004 obsahoval 16 registrů o velikosti 4 bity. 45 jedno a dvou bitových instrukcí. 4 úrovňový adresový zásobník a 12 bitový programový čítač.
Intel 4004
Intel 8008 (1972) Roku 1972 přišla firma Intel s rychlejším procesorem nazvaným 8008. Byl to již 8 bitový procesor pracující na frekvenci 200kHz. Uměl zpracovávat 50 instrukcí zpracovávajících data („data processing“). 8008 mohl adresovat 16 kB paměti, což se v roce 1972 jevilo jako enormně velký rozsah. Měl také šest 8 bitových registrů nazvaných B,C,D,E,H,L a 8 bitový akumulátor. Programový čítač měl 8 úrovní. Obě tato pole registrů byla implementována jako dynamický paměťový modul a procesor měl skrytou fázi oživení této paměti v průběhu vyzvedávání instrukcí.
Intel 8008
Intel 8080 (1974) Roku 1974 byl vyroben nástupce 8008 a zároveň první procesor použitý v osobním počítači Intel 8080, konkrétně v počítači Altair 8800 firmy MITS. Obsahoval 4500 tranzistorů a rozvinutější paralelizaci úkonů.
4
Obsahoval 7 registrů (A-E, H,L a páry: BC, DE a HL, které mohly být kombinovány jako 16 bitové. Prodejní verze byla opatřena umělohmotným obalem k lepší ochraně procesoru před vnějšími vlivy.
Intel 8080
Motorola 6800 (1975) Krátce po uvedení 8080 přišla se svým procesorem firma Motorola. Roku 1975 s modelem 6800. Uměl zpracovat 78 instrukcí, včetně poněkud mysteriózní sady nazvané „Halt and Catch fire“, jejíž počátky sahají až k IBM 360. Jednalo se o sadu instrukcí, které umožnily zvyšovat rychlost sběrnice až k její maximální hranici. Původně se jednalo o sadu instrukcí řídící testy sběrnic. U některých konfigurací mohlo dojít až k vyhoření sběrnice, odtud název této sady. Registry byly zanedbatelně malé, k dispozici byly pouze dva 8 bitové akumulátory a 16 bitový indexový registr.
Motorola 6800
Fairchild F8 (1975) Jednoduchý 8 bitový procesor firmy Fairchild Semiconducor byl díky absenci adresové sběrnice, a tím i nízké ceně, přímo předurčen k úspěchu. Měl 8 bitový akumulátor a 64 osmi bitových registrů, tzv. „scratchpad RAM“ přístupných přes ISAR registr ve skupinách po osmi. Řešení umožnilo nepoužívat RAM pro malé programy. A zároveň umožnilo připojení druhého procesoru, kterým byl většinou F 3851.
Fairchild F8
5
Intersil 6100 (1975) Jeden z velmi mála 12 bitových mikroprocesorů na trhu byl model od firmy Intersil navržený pro počítač PDP8 firmy DEC. Byla to přesná kopie PDP-8E a obsahovala stejnou instrukční sadu. První implementace pracovaly na frekvenci 4 MHz, pozdější řada A a C na 8 a 3.3 MHz. Obsahoval pouhé 3 registry, akumulátor, programový čítač a registr MQ. Každá instrukce četla akumulátor a registr MQ a zapisovala zpět do akumulátoru. Měl 12 bitovou adresovou sběrnici a omezení adresace RAM na pouhé 4 kB. Paměťová reference byla 7 bitová začínající od 0 nebo od adresy v programovém čítači. Zajímavostí tohoto procesoru byla absence zásobníku. Rutiny uložené v programovém čítači obsahovaly v prvním slově vlastní kód. Následník tohoto čipu, mikroprocesor 6102 (6120) přidal 3 adresové linky a velikost adresovatelné RAM se tak zvýšila na 32kB. Dále přibyly dva registry IFR, který obsahoval instrukci a DFR obsahující data.
Intersil 6100
MOS Technology 6502 (1975) Osmi bitový procesor firmy MOS byl navržen jako přímá konkurence mikroprocesorů 6800 firmy Motorola a 8080 firmy Intel. Konkuroval hlavně cenou, která se v době vzniku pohybovala na 25$, zatímco oba konkurenční procesory stály 179$. V rámci konkurenčního boje se jejich cena posléze snížila na 79$. 6502 pracoval s malými časovými okamžiky kdy bylo zaručeno, že nedojde k přerušení a k požadavku na sběrnici. To ho předurčilo k domácímu použití. Protože obsluha videovýstupu mohla těchto malých časových okamžiků využít k výpisu aniž by bylo nutné zastavit mikroprocesor. Mikroprocesor 6502, ačkoliv jménem není příliš znám, sloužil v mnoha převratných počítačích. Prvním z nich byla herní konzole Atari 2600. Dále v herních konzolách Nintendo a ve slavných domácích počítačích firmy Commodore.
6
Architektura byla 8 bitová se 16 bitovou adresovou sběrnicí. Taktovací frekvence byla 1 MHz. Model 6502 také obsahoval velmi málo registrů. V tehdejších dobách byla rychlost RAM výrazně vyšší než rychlost procesoru. Zdálo se proto rozumné implementovat spíše operace s pamětí, než zvyšovat počty a velikost registrů. K dispozici byl 8 bitový akumulátor, dva 8 bitové registry X a Y, dále 8 bitový příznakový registr („status register“) a 8 bitový ukazatel na pozici v zásobníku („stack pointer“). V poslední řadě se pod pláštěm skrýval 16 bitový programový čítač („program counter“).
MOS 6502
TMS 9900 (1976) Jeden z prvních skutečně 16 bitových mikroprocesorů vydala firma Texas Instruments v červnu roku 1976. Používal se v mikropočítačích a měl 15 bitovou adresaci a dva integrované 16 bitové registry. Unikátním řešením bylo ponechání všech uživatelsky přístupných registrů v paměti. Těchto registrů bylo 16 a ukládaly se v RAM. Malý adresový prostor a nutnost rychlé RAM nepřinesly tomuto procesoru valný úspěch v boji s jeho hlavním konkurentem 8086 firmy Intel.
TMS 9900
Intel 8085 (1976) Po velkém úspěchu 8080 přišla firma Intel s inovací nazvanou 8085.
Intel 8085
7
Zilog Z80 (1976) Zilog byl vylepšením 8080 navržený bývalými inženýry z firmy Intel. Také používal 8 a 16 bitovou adresaci a uměl provádět veškeré operace 8080 a navíc 80 dalších svých instrukcí. Používal 16 bitovou adresaci. Obsahoval zdvojenou registrovou sadu, se dvěma banky datových registrů – A a F. Dále měl dva indexové registry IX a IY a 2 typy tzv. vektorových přerušení, přímý nebo přes 8 bitový registr. Prvotní implementace měla pracovní frekvenci 2.5 MHz, která byla posléze ve verzi Z80-H zvýšena až na 8 MHz. Zilog Z80 jako mnoho procesorů této doby měl velmi mnoho nezdokumentovaných instrukcí. V této době bylo snahou i chybný operační kód vyhodnotit. Zlom nastal až s příchodem mikroprocesoru 80186. Ve snaze dobýt pozice nejlevnějších počítačů, obsahoval Z80 vlastní generátor oživujících cyklů pro paměť RAM.
Zilog Z80
Intel 8086 (1978) Pod pracovním názvem iAPX 86 se skrýval první 16 bitový procesor firmy Intel. Byl vydán roku 1978 a byl založen na architektuře procesorů 8080 a 8085. Položil základy architektury zvané x86 a svou snahou o zpětnou kompatibilitu s předchozími procesory předurčil vznik instrukční asymetrie. Byl složen z 29 tisíc tranzistorů a jeho pracovní frekvence byla 5, 8 nebo 10 MHz v závislosti na počítači. V původní implementaci v počítači IBM dosahoval frekvence 5.77 MHz. Obsahoval stejný počet registrů jako 8085, tedy 4 16 bitové registry přístupné jako sada dvou 8 bitových polí. Fáze vyzdvižení a provedení instrukce byly rozděleny, jednalo se o jednoduchou formu pipelining. Instrukce měly proměnnou délku od 1 do 4 bytů.
8
Většina instrukcí mohla přistupovat pouze k jedné položce v paměti, proto musel být jeden z operandů vždy registr. Celkem 4 segmentové registry umožnily přistupovat k paměti o velikosti až 1 MB. Procesor rovněž neobsahoval žádnou implementaci pro práci s pohyblivou řádovou čárkou, tzv. „floating point“. Mohl být ale připojen ke koprocesoru, tím byl Intel 8087
Intel 8086
MIL-STD-1750 (1979) STD 1750 firmy Military Artifical Intelligence byl vytvořen pro potřeby amerického letectva. Je 16 bitový a jako většina tehdejších mikroprocesorů byl inspirován architekturou PDP-11. Jeho šestnáct 16 bitových registrů mohlo reprezentovat osm 32 bitových registrů reprezentovaných jako uspořádané dvojice registrů R0+R1, R1+R2..., které byly 16 bitové. Pouze registry 12 - 15 mohly být použity k uložení adresy a R0 nemohl být použit jako index. R15 byl implicitně používán jako tzv. „stack pointer“, což byl ukazatel na zásobník. Programový čítač nebyl uživatelsky přístupný. Adresový prostor byl 16 bitů, ale integrovaná hardwarová správa paměti (MMU = Memory Management Unit) měla 20 bitovou adresaci. Zajímavým řešením bylo rozdělení uložení dat a instrukcí v paměti. Tzv. "PSW" (= Processor Status Word) vybíralo jednu z celkem 16 stránkovacích skupin. Každá stránkovací skupina obsahovala 16 registrů pro data a 16 registrů pro program. STD 1750 nabízel 16 operačních módů, supervisor, 14 uživatelských módů a jeden mód „key“ s číslem 15, který mohl přistupovat pouze ke stránce číslo 15. Fotografie není k dispozici Intel 8088 (1979) V roce 1980 byl uveden procesor 8088, který byl v podstatě odlehčenou verzí 8086. S 16 bitovými registry a 8 bitovou sběrnicí. Hlavním rozdílem byla velikost tzv. „prefetch queue“, která byla u 8086 6 bytů a u 8088 pouhé 4 byty. Procesor pracoval na frekvenci 4.77 MHz. 9
U počítačových implementací se neujal a byl nahrazen mnohem oblíbenějším procesorem Motorola 68000.
Intel 8088
AMD Am2901 (1979) Roku 1979 vstupuje na trh dnešní „dvojka“ ve výrobě operačních systémů, firma Advanced Micro Devices, se svým prvním procesorem Am2901. Byl to jednoduchý 4 bitový procesor. Obsahoval šestnáct 4 bitových registrů a 4 bitovou aritmeticko logickou jednotku. V témže roce vydala firma AMD svůj první koprocesor AMD 9511 pro operace v pohyblivé řádové čárce, který implementoval 32 bitovou aritmetiku. Fotografie není k dispozici
80. léta 20. století Intel 8087 (1980) Roku 1980 vydala firma Intel 16 bitový matematický koprocesor ke svým modelům 8086 a 8088. Obsahoval 60 instrukcí pro operace s plovoucí řádovou čárkou a stal se tak zakladatelem rodiny koprocesorů řady x87. Původní procesor 8087 byl navržen tak, aby mohl paralelně sdílet sběrnici spolu s procesorem 8086. Monitoroval a zachytával příchozí instrukce pro operace s pohyblivou řádovou čárkou. Identifikaci těchto instrukcí zajišťovala zvláštní instrukční sada obsažená v procesoru 8086 „ESC #“ pokrývající operační kódy D8…DF. Tyto instrukce nemohl procesor 8086 provést. Instrukce pro koprocesor se 10
zapisovaly s předponou “F”(„float“). Tedy instrukce pro součet dvou operandů ADD byla pro operaci v pohyblivé řádové čárce zapsána jako FADD.
Intel 8087
Motorola 68000 (1982) První série spatřila světlo světa roku 1982. Jedná se první exemplář úspěšné rodiny procesorů 68000. Pracovní frekvence byla 8 MHz a 16 bitová architektura předznamenala úspěch této řady. Měl 24 bitové adresování paměti a lineární adresovací prostor, kdy může být adresována celá paměť, na rozdíl od segmentového přístupu u 8086. První implementace obsahovaly 32 bitové registry, rozdělené mezi datové a adresové. Jeden z registrů byl rezervován pro ukazatel na pozici v zásobníku, tzv. „stack pointer“. V případě,že byl zásobník naplněn, ukazatel byl přenastaven na nejčastěji používanou položku. Tento procesor na rozdíl od řady x86 ovládal dva operační módy, tzv. „supervisor“ a „user“. Mód „user“ zakazoval některé instrukce k přímému použití.
Motorola 68000
Intel 80186 (1982) Roku 1982 přišla firma Intel na trh s nástupcem 8086. Tento 16 bitový procesor obsahoval 16 bitovou sběrnici a pouze několik instrukcí navíc. V tomto procesoru byla implementována detekce chybných instrukcí, nazvaná „fault tolerance protection“. Předchozí procesory 8086/8088 žádnou detekci chyb neobsahovaly a v případě přijetí chybné instrukce se zastavily, případně zhroutily. Poprvé se u procesorů Intel objevuje integrovaná kontrola přerušení a DMA. Dále časovač a logické jádro. Pracovní frekvence byla mezi 4 a 40 MHz v závislosti na implementaci. 11
Intel 80186
Intel 80188 (1982) Tento procesor byl pouze levnější variantou 80186 s 8 bitovou sběrnicí.
Intel 80188
Intel 80286 (1982) Jeden z nejúspěšnějších 16 bitových procesorů firmy Intel vydaný roku 1982. Tento mikroprocesor si vybrala firma IBM k implementaci do IBM AT počítačů. První verze pracovaly na frekvenci 6 a 8 MHz, pozdější implementace až na 20MHz. 24 bitová adresace dovolila adresovat 16 MB paměti a 1GB virtuální paměti. Byl vyroben ze 134 000 tranzistorů 1.5 micronovou technologií. Nízká cena a podpora firmy IBM přinesly firmě Intel a tomuto fenomenálnímu procesoru obrovský úspěch mezi uživateli, tím méně mezi programátory. Mikroprocesor obsahoval tzv. „Virtual Memory Handler“ neboli virtuální pamět, která otevřela cestu k takřka neomezené paměti systému. Paměť je emulována a pokud není k dispozici RAM, je její nepoužívaný, ale obsazený obsah uložen na pevný disk a paměť je uvolněna k použití Velkou nevýhodou byl tzv. chráněný režim („protected mode“) nezbytný pro jakýkoliv skutečný operační systém. Intel 80286 sice měl chráněný režim a umožňoval překlopení do tohoto režimu z reálného, ale návrat zpět už nebyl možný bez resetu mikroprocesoru.
12
Nepřehlédnutelnou zvláštností je, že 80286 byl navržen až po návrhu 80386, ale ten byl zatím příliš složitý a drahý pro sériovou výrobu.
Intel 80286
Intel 80386 (1985) Roku 1986 vydala firma Intel první 32 bitový mikroprocesor. Tovární označení bylo „P3“ někdy též i386,což znamenalo 3 generaci řady x86. Procesor 80186 nebyl do této řady započítán pro jeho malou odlišnost od 8086 a celkový neúspěch. Procesor přinesl 32 bitovou architekturu a hardwarovou správu paměti, tzv. „Memory Management Unit“. Implementace hardwarového řízení paměti přinesla oproti starším procesorům řady x86 řadu výhod. Mezi nejdůležitější patřil multiprocessing.
80386 SX
80386 DX
AMD 29000 (1987) Model AMD 29000 je odvozený z „Berkeley RISC design“ jako například IBM 801. Jedná se o přímého nástupce modelu 2900/2901 z roku 1979. Mikroprocesor měl velký počet registrů rozdělených na globální a lokální sady. Zajímavostí je, že žádný z registrů nesloužil jako příznakový registrů. V průběhu přerušení se obsahy registrů vymazaly a zároveň všechny registry mohly být veřejně nepřístupné v tzv. „protected mode“. Řada 29000 nebyla příliš komerčně úspěšná a tak v roce 1995 firma AMD upustila od jejího dalšího vývoje. AMD 29050-40GC
13
Intel 80486 (1989) 80486 je první plně 32 bitový procesor řady x86, který se od předchozích výrazně odlišuje. Má optimalizovanou instrukční sadu, rozšířenou sběrnici a volitelně integrovanou jednotku pro operace v pohyblivé řádové čárce (FPU). Rozdíl mezi řadami SX a DX je právě v absenci této jednotky v řadě SX. Nejpomalejší procesory 80486 (SX) byly pomalejší než nejrychlejší procesory 80386. 80486SX Všechny procesory 80486 byly vyráběny s FPU.Pokud se při testech ukázalo, že je tato jednotka vadná, laserem bylo přerušeno napájení a přístup ke sběrnici. Procesor byl označen jako SX a dále distribuován. 80486DX Nejpodstatnější změnou bylo integrování Datové a instrukční cache přímo do procesoru. Její velikost byla 8kB a byla typu SRAM. Byla navržena k uchovávání nejčastěji používaných instrukcí. Dalším vylepšením byl tzv. „pipelining“ a 32 bitová sběrnice umožnila adresaci 4GB paměti. 80486DX2 Procesor z roku 1992 je zcela shodný s předchozím typem 80486DX, pouze s jednou odlišností. Jako první procesor používá tzv. „clock doubling“, tedy provede 2 cykly za 1 cyklus paměťové sběrnice. Rychlost procesoru je proto nastavena na dvojnásobek rychlosti sběrnice a je to také důvodem pomalosti 80486DX2 vůči 80486DX na stejné frekvenci.
80486DX4 Stejně jako 80846 využívá násobení cyklů. V tomto provedení „triple clock“, tedy 2 cykly za 1 cyklus sběrnice. Většinou se použil násobitel 3x25 = 75 MHz nebo 3x33.3 ~ 100MHz.
14
80486DX4 75 MHz
80486DX4 100MHz
90. léta 20. století DEC Alpha (1992) Architektura Alpha byla konstruována pro velmi dlouhý nepřetržitý operační provoz, podle DEC až na 25 let. Pro srovnání dnešní mikroprocesory jsou konstruovány na operační dobu kolem 10 let. Prvním mikroprocesorem této řady byl DEC EV4 21064. Alpha je 64 bitová architektura s délkou instrukcí 32 bitů. Nemá žádnou zpětnou podporu 8 a 16 bitových operací, nicméně kvůli kompatibilitě se 8 a 16 bitové se operace konvertovaly. První model pracoval na taktovací frekvenci 200 MHz. Vnitřní superskalární architektura využívala „superpipeline“. Roku 1992 byl EV4 21064 nejrychlejším procesorem na světě. Roku 1996 přichází model 21164PC s taktovací frekvencí 500 MHz, roku 1998 byl následován modelem 21264 o frekvenci 666 MHz. O 2 roky později přichází na trh verze s taktovací frekvencí 731 MHz. V létě roku 2001 byl oznámen vývoj 1000 MHz EV7 21364, jeho prodej byl zahájen až na podzim roku 2003. Poté co firmu DEC odkoupila firma Compaq, byl zahájen vývoj procesoru IA-64, který má sérii Alpha definitivně nahradit po roce 2004. DEC Alpha EV4 21064
15
AMD Am486 (1993) Roku 1993 přichází firma Advanced Micro Devices na trh se svým klonem procesoru Intel 80486. Tato firma vyráběla klony procesorů Intel již od řady 8080, nicméně nedostalo se jim velké přízně. Architektura byla téměř shodná s 80486, ale přestože se jednalo o klon, přinesl model Am486 několik zlepšení. Mezi hlavní výhody patřila 8 kB vyrovnávací paměť typu „write back“,tj. se zpožděným zápisem. Standardní 80486 měly tzv. „write through cache“. V tomto režimu jsou data zapisována jak do vyrovnávací paměti, tak do hlavní systémové paměti (RAM). To celkově zpomaluje, protože RAM bývá řádově pomalejší. V případě strategie zpožděného zápisu nejsou data nahrávána z vyrovnávací paměti do RAM do té doby než je to nezbytně nutné. Tato vyrovnávací paměť, jak systém „write-through“ tak „write-back“ se označuje jako paměť první úrovně, tzv. L1. Dalším vylepšením bylo snížení spotřeby na 3 volty, oproti Intel 80486.
AMD Am486
Intel Pentium (1993) První exemplář Pentia byl dodán v roce 1993. Původní název byl i586, resp. 80586, ale byl přejmenován kvůli patentování jména, jelikož číselný název se patentovat nedá. Superskalární architektura umožnila paralelní provádění v tomto případě dvou skalárních instrukcí. Obsahoval dvě 32 bitové „pipelines“, tedy linky zpracování a predikci skoku. Predikce skoku je jedna z nejvýznamnějších vlastností novodobých mikroprocesorů. Predikční jednotka určuje nejpravděpodobnější adresu následující instrukce. Predikční jednotka analyzuje předchozí výskyt instrukcí v paměti a extrapoluje z těchto dat budoucí chování programu. Dále byla integrována 16 kB vyrovnávací paměť, kde byly uloženy nejčastěji prováděné instrukce. Mikroprocesor měl integrováno osm 32 bitových registrů a osm 80 bitových registrů pro operace
16
s plovoucí řádovou čárkou. Celkově obsahoval 3,1 milionu tranzistorů a pouze 2,3 milionu připadalo na logické jádro. Jeho pracovní frekvence byla 66 MHz. Pentium vypadalo jako dokonalý mikroprocesor, až do roku 1994, kdy byla objevena závažná chyba v operaci dělení v plovoucí řádové čárce, FDIV instrukce. Tato chyba vyvolala velkou vlnu vzniku různých vtipů na adresu Intelu. Chyba spočívala ve výpočtu rovnice z = (x/y)*y – x, která se ne vždy rovnala 0 pro velký počet číslic za desetinnou čárkou. Intel Pentium
Intel Pentium Pro (P6) (1995) Nástupce mikroprocesoru Pentium odráží věčnou snahu vývojářů o zachování kompatibility a zároveň se snahou implementovat nové, většinou rychlejší technologie. Dokladem toho je vnitřní překladač CISC ~ RISC v jádru tohoto mikroprocesoru. Hlavním rozdílem technologie RISC oproti CISC je stejná délka instrukce a tím rychlejší dekódování instrukce. Dále je to jednodušší instrukční sada oproti komplexní sadě v technologii CISC. Pentium Pro obsahoval tří cestné superskalární vyhodnocení instrukcí a jejich spekulativní provádění. Tato technologie umožňuje za jistých okolností zrychlit práci mikroprocesoru. Je založena na vyhodnocení instrukcí, které zatím nejsou potřeba a mikroprocesor je udržován v neustálém chodu. Samozřejmostí zůstala predikce skoku.
AMD Am5x86 (1995) Jeden z nejpovedenějších mikroprocesorů firmy Advanced Micro Devices, někdy též nazývaný 80486DX5. Ačkoliv se zasazoval do patice určené pro 80486 nejednalo se o klon. Jediné co měl společné s jakýmkoliv procesorem Intel byla stejná patice a instrukční sada x86.
17
Tento procesor byl taktován pouze na jediné frekvenci 133MHz. Byl navržen pro 33MHz sběrnici. Jako jeho označení bylo někdy používáno „P75“. U tohoto procesoru je poprvé patrný tzv. „P rating“. Bylo to přejmenování procesorů firmy AMD na název ekvivalentní stejně výkonným procesorům firmy Intel. Odlišná architektura a jiná taktovací frekvence neprávem v očích zákazníků evokovala dojem, že AMD vydává pomalejší a horší procesory. Ve skutečnosti byl výkonnostní rozdíl dán příklonem ke strategii RISC a tím i nižší taktovací frekvenci.
AMD Am5x86
AMD-K5 (1995) K5 je snahou firmy Advanced Micro Devices konkurovat drahým procesorům Pentium firmy Intel. Nejedná se o klon v pravém slova smyslu, architektura je zcela odlišná, založená na strategii RISC. Stejně jako mikroprocesor Pentium vykonává instrukční sadu řady x86. K5 měl 6 výkonných jednotek, z nichž 5 bylo pro celočíselné operace a jedna pro operace v pohyblivé řádové čárce. Pro srovnání Pentium mělo pouze dvě výkonné jednotky. AMD se snažilo, aby K5 v mnohém předčilo Pentium, tomu odpovídá i dvojnásobně velká vyrovnávací paměť 16 kB, čtyřcestné asociativní mapování, přejmenování registrů a spekulativní vykonávání instrukcí v souladu se strategií RISC. Přes veškerou snahu se nepodařilo vyrobit kvalitní mikroprocesor. K5 měl velké problémy s kompatibilitou a trpěl velmi mnoha neduhy. Jedním z nich byl například nezdokumentovaný násobitel, pokud byl nastaven na 3, ve skutečnosti pracoval pouze s hodnotou 2. Firma AMD reagovala na debakl ohlášením K5-PR200, ale tento model nebyl nikdy uveden.
AMD K5
18
AMD-K6 (1996) Model K6 přinesl zlom ve vývoji procesorů této firmy. Roku 1996 koupila firma AMD firmu NexGen a získala přístup k jejich procesorům Nx686. AMD zcela zastavilo vlastní vývoj K6 a za pomoci inženýru z NexGen zahájilo nový vývoj Nx686/K6. Tím nepřímo přiznali, že vlastní mikroprocesory nejsou příliš dobré. Po debaklu s K5 to byl troufalý tah. AMD opustilo od značkování podle tzv. „P rating“ a zachovalo plně název K6. K interpretaci instrukční sady používal „x86 překlad/emulaci“, nazývanou RISC86 emulace. Nejzajímavější vlastností K6 je tzv. „split rail voltage“. Dřívější procesory potřebovaly většinou 5V, s příchodem výkonnějších procesorů došlo paradoxně ke snížení spotřeby. Prvním krokem bylo snížení na 3.3. Z důvodu kompatibility bylo nutné rozdělit voltáž na dvě („dual voltage“) a více („split rail voltage“). Rozdělení používalo dvě různá napětí. Externí napájení bylo je typicky vyšší, 3,3V a interní napětí obvykle od 2.5V do 2.9V. K6 při frekvenci 200MHz používalo napětí 2.9V, 233MHz už 3.2V a 266MHz překvapivě pouhé 2.2V. Mikroprocesor umožňoval adresovat až 4GB paměti a byl vyroben 0,25 micronovou technologií. K6 byl zajímavou alternativou k procesoru Pentium Pro firmy Intel, poměr cena/výkon byl nadprůměrně dobrý. AMD-K6
AMD-K6-2 (1996) K6-2 je přímým nástupcem K6, vnitřní architektura je zcela shodná. Je zajímavý implementací instrukční sady 3DNow! pro zpracování multimediálních aplikací.
19
3DNow! byla odpověď na instrukční sadu MMX firmy Intel, přínosem oproti MMX bylo 21 nových instrukcí pro operace v plovoucí řádové čárce, MMX pracuje pouze s celočíselnými operacemi. Taktovací frekvence se zvýšila až na 550 MHz. AMD-K6-2
Intel Pentium II (1998) Pentium II umělo provádět všechny instrukce svých předchůdců řady x86. Při vývoji Pentia II bylo přihlíženo k různým zákazníkům na trhu a tak vznikly celkem čtyři verze, Klamath, Xeon, Celeron a Mobile. Generace těchto mikroprocesorů přišla se zajímavým řešením zapojení do základní desky. Oproti všem předchozím mikroprocesorům nebyla patice přímo na základní desce, ale mikroprocesor se zasazoval do zvláštního boxu nazvaného "doughterboard" (~ "motherboard"). Poté se procesor v boxu zasadil do základní desky. Toto řešení přetrvalo dlouhou dobu a neslo název "slot 1"/PPGA ("Plastic Pin Grid Array") Levnější varianta tohoto modelu Celereon neobsahovala ocrhanný plastový box a měla menší vyrovnávací pamět. Pentium 2 obsahoval rozšířenou instrukční sadu MMX, MultiMedia EXtension a 2 úrovně vyrovnávací paměti, tzv. L1 a L2 cache. Oproti Pentiu "1" měl navíc dynamické vykonávání instrukcí a duální nezávislou sběrnici. Superskalární architektura umožňovala paralelní vykonání některých skalárních instrukcí. Procesor měl 7,5 miliónu tranzistorů.
20
První Pentia 2 nesly kódové označení Klamath a nastoupily s frekvencí 233, 266, 300 a 333 MHz s rychlostí sběrnice 66 MHz. Druhá generace vyrobená technologií 0.25 micronu přinesla frekvence 350, 400 a 450 MHz s rychlostí sběrnice 100 MHz.
Pentium 2
Celeron
Intel Pentium III (1999) Tento procesor je přechodem v návratu Intelu ke klasickým paticím na základní desce. Pentium 3 byl vyráběn ve dvou provedeních jak pro Slot 1 tak pro novou patici nazvanou FCPGA ("Flip Chip Pin Grid Array"). Přinesl 500 MHz pracovní frekvenci s rychlostí sběrnice 100 nebo 133 MHz. Jeho vyrovnávací pamět byla 512 kB. Jeho architektura byla v mnohém podobná Pentiu 2, navíc měl integrováno sériové číslo a 70 nových instrukcí Internet Streaming SIMD. V polovině roku 2000 byla vydána verze s pracovní frekvencí 1,13 GHz a Pentium 3 se tak stal nejvýkonějším procesorem pro osobní počítače. Pentium III Slot 1
Pentium III FC-PGA
21. století AMD Athlon K7 (1999-2004) Namísto K7 je přímým nástupcem K6 a je někdy též označován jako „Athlon Classic“. Název Athlon byl odvozen jako zkratka slova „Decathlon“. Taktovací frekvence začínala na 550MHz a 650MHz a později až na 1000MHz. Je kompatibilní s instrukční sadou x86 a zasazuje se do stejné patice jako Pentium 2, nazývané Slot 1. 21
K7 prošel zásadními změnami oproti staršímu modelu K6. AMD výrazně zlepšilo jednotku pro operace v plovoucí řádové čárce a zvýšilo velikost vyrovnávací paměti typu L1 na 128 kB. Stejně jako v Pentiu 2 a 3 byla použita vyrovnávací paměť typu L2 velikosti 512 kB. Tato paměť byla umístěna vně procesoru, ale stále na jednom modulu. Obvyklá rychlost byla poloviční k jádru procesoru. V roce 1999 byl Athlon nejrychlejším procesorem pro instrukční sadu x86. AMD Athlon K7
AMD Athlon Thunderbird (2000) Druhá generace Athlonu s jádrem Thunderbird přišla se zcela novou paticí PGA („pin grid array“) nazývanou „Socket A“. Taktovací frekvence začínala od 700 MHz až do 1400 MHz. Hlavní rozdíl oproti první generaci athlonu byla odlišně řešená vyrovnávací paměť. AMD změnilo 512 kB paměť na 256 kB, nicméně byla plně integrována přímo v procesoru. Toto řešení přineslo výrazné zrychlení této paměti. AMD Athlon Thunderbird
AMD Duron (2000) Podle vlastních slov AMD je Duron levnější variantou k procesoru Athlon. Jde o analogii Pentium/Celeron. Duron je kompatibilní s paticí Athlonu a pracuje na stejných základních deskách. Vizuálně se liší malým štítkem na jádru. Obsahuje 128 kB vyrovnávací paměť, tzv. L1, ale pouze 64 kB typu L2. Původní Duron pracoval pouze s frekvencí 100 MHz FSB („Front Side Bus“), pozdější verze až se 133MHz. První jádro Duronu se jmenovalo Spitfire a pracovalo na taktovací frekvenci od 650 do 950 MHz, založené na jádře Athlonu „Thunderbird“. Druhá generace nazvaná „Morgan“ pracovala na frekvenci 22
1000 až 1300 MHz a byl založené na jádře Athlon XP „Palomino“. V roce 2003 AMD vydalo Duron s jádrem „Applebred“ s frekvencí od 1400 do 1800 MHz založené na jádře Athlon XP „Thoroughbread“. AMD Duron
Intel Pentium IV (2000) Pentium 4 je sedmou generací procesorů založených na architektuře x86. Je to zcela nový procesor a tudíž nemá žádného předchůdce. Původní Pentium 4 neslo označení Willamette a jeho taktovací frekvence dosahovala 1400 až 1500 MHz. První generace Pentií 4 měla jádro označované jako Willamette. První série byla velkým zklamáním. Nejenom, že v rychlostních testech nebylo Pentium 4 schopné překonat konkurenční AMD Athlon, ale dokonce ani Pentia 3 taktovaná na vysokých frekvencích. Taktovací frekvence byla 1300 MHz, posléze až frekvence 1700 MHz, která konečně postavila Pentium 4 alespoň na úroveň Pentia 3. Teprve modely s taktovací frekvencí 2.0 GHz byly schopným konkurentem k ostatním procesorům. V říjnu roku 2001 přichází na trh nový model s jádrem Northwood. Bylo vyrobené 0.13 mikronovou technologií a umožňovalo zvýšení taktovací frekvence až na 2.8 GHz a stalo se tak nejrychlejším procesorem pro instrukční sadu x86 na trhu. V dubnu roku 2002 byla zvýšena rychlost sběrnice ze 400 MHz až na 533 MHz. V srpnu téhož roku prolamuje firma Intel hranici 3 GHz. Zdá se, že architektura Pentia 4 stále nedosáhla svých technologických hranic. I přes vysoké taktovací frekvence se dařilo firmě AMD, s konkurenčními procesory na nyní již řádově nižší frekvenci, držet krok s Pentiem. Důvodem je poměrně malý počet provedených mikroinstrukcí za jeden takt procesoru Pentium. S nástupem 3.06 GHz modelu přichází Intel se zcela novou technologií nazvanou „Hyper Threading“. Procesor emuluje svou identickou kopii, respektive některé části. Operační systém se domnívá, že je spuštěn na stroji se dvěma „logickými“ procesory. Pozdější testy ukázaly, že Pentium 4 na 3.06 GHz s Hyper Threading je stejně výkonné jako Pentium 4 na 3.6 GHz bez Hyper Threading. 23
V dubnu roku 2003 nastupují modely pracující se sběrnicí 800 MHz a všechny modely nadále podporují Hyper Threading. Říjen roku 2004 byl ve znamení nového jádra procesoru Pentium 4. Intel ho pojmenoval Prescott, toto jádro vyrobené 90 nm technologií natolik změnilo architekturu Pentia 4, že široká zákaznická obec byla překvapena nepojmenováním „Pentia 4 Prescott“ Pentiem 5. Intel Pentium 4
AMD Athlon XP (2001) Athlon XP byl přímá odpověď na Pentium 4 firmy Intel. V průběhu svého vývoje přišel se třemi verzemi jádra. Prvním z nich bylo Palomino. Palomino bylo nabízeno s taktovacími frekvencemi začínajícími na 1333MHz a končícími na 1733MHz. Toto jádro bylo ve skutečnosti poprvé použito ve verzi Athlon MP. Největší nevýhodou bylo velice rychlé zahřívání na vysoké teploty. U Athlonů XP se AMD navrací k marketingovému tahu tzv. „Pentium Rating“. Athlon měl mnohem větší počet („IPC instructions per clock“) instrukcí provedených za jeden takt než Pentium. V očích zákazníků by nižší frekvence mohla evokovat pocit nižšího výkonu. Thoroughbread opustil výrobní linky roku 2002. Taktovací frekvence začínala na 1800MHz (v PR 2200) až do 2083 MHz (v PR 2600+). Barton je zatím poslední verzí jádra Athlonu XP. AMD Athlon XP
24
[Slovníček pojmů]
A Akumulátor – registr k uchovávání mezivýsledků. Bez akumulátoru je nutné uchovávat výsledek každé operace v hlavní paměti. Amiga – populární osobní počítač z roku 1982 Atari - výrobce osobních počítačů ze 70. a 80. let. Úspěch zaznamenaly zejména poslední modely Atari ST/XT a Atari Jaguar
B Berkeley RISC design - novější definice architektury RISC. Použitá u procesoru SPARC. Hlavním rozdílem je spoždění skoků.
C Cache - vyrovnávací paměť, obvykle rychlejší než hlavní paměť RAM. Clock doubling - provedení dvou instrukcí za jeden cyklus procesoru, analogicky Clock Triple = provedení tří instrukcí v jednom cyklu. CISC - architektura procesoru. Hlavnímu atributy jsou proměnná délka instrukcí a komplexní instrukční sada. Commodore - výrobce osobních počítačů v 80. letech, v roce 1984 došlo k fúzi s firmou Atari. Nejslavnějším počítašem byl Commodore 64.
D Dual voltage - některé procesory používaly dvojí napětí, externí (typicky vyšší) a interní z důvodu kompatibility. Daughterboard - analogie s "motherboard". Patice, do které se osazoval procesor a až poté se celá patice s procesorem osadila do základní desky.
E EPIC - architektura procesoru, hlavním atributem je absence rozhodování o paralelizaci.
F Floating point - operace v plovoucí řádové čárce 25
Fault tolerance protection - špatný formát instrukce nebo neplatná instrukce způsobí výjimku a procesor je zastaven nebo resetován. Flag - příznak předchozí operace, např. u procesoru ARM je Z-flag roven 0, pokud předchozí operace dělení neskončila výjimkou.
CH Chráněný režim - operační mód procesoru, kdy nejsou přístupny všechny registry.
I Indexový registr - tento registr je použit k uložení adresy v paměti. Může být cílovým nebo zdrojovým registrem operace, v takovém případě je použita hodnota uložená na uložené adrese.
M MIPS - Million operations per Second, jednotka určující výkon CPU. Ekvivalent pro operace v plovoucí řádové čárce je FLOPS. Memory Management Unit - hardwarová jednotka obsluhující paměť. Mezi její funkce patří například překlad adresy z virtuální paměti na fyzickou apod. Multiprocessing - provádění více operací najednou. Obvykle se používá pro multi-tasking. MMX - MultiMedia eXtensions je sada instrukcí u procesorů Intel Pentium. Podobně 3D Now! firmy AMD.
N Nintendo - japonský výrobce herních koznolí
O Operační mód - specifikuje přístupnost instrukcí a registrů.
P Post-RISC - architektura procesoru, spojuje CISC a RISC. Programový čítač - zvláštní registr, kde je uložena adresa právě provedené instrukce, kvůli skokům. Processor Status Word - příznakový registr procesoru, obsahuje "flagy". 26
Pipelining - zpracování instrukcí v řadě. Prefetch queue - fronta instrukcí k vyzvednutí P rating - obchodní označení procesorů firmy AMD, kdy se používá frekvence výkonostně ekvivaletního procesoru Pentium
R RISC - architektura procesoru, hlavním atributem je malý počet zpracovávaných instrukcí a pevná délka instrukce.
S Sběrnice - soustava vodičů zajišťující přenos mezi jednotlivými komponentami počítače. Status register - příznakový registr procesoru, obsahuje "flagy". Stack pointer - registr uchovávající informaci o pozici v zásobníku. SRAM - typ paměti, Serial RAM. Superpipeline - sekvence funkčních jednotek zpracovávajících jednotlivé kroky jako ve výrobní lince. Split rail voltage - více různých napětí pro mikroprocesor.
T Tranzistor - polovodičová součástka, poprvé uvedena v roce 1947. Triple clock - provedení tří instrukcí za jeden cyklus procesoru.
V Virtuální pamět - adresový prostor rozdělený na stránky, překlad zajišťuje hardwarová správa paměti MMU. W Write back - zápis z vyrovnávací paměti do RAM je proveden až když je záznam potřeba. Write through - zápis z vyrovnávací paměti do RAM je prováděn zároveň.
[použitá literatura a zdroje] [1] Christian Lederer http://www.cpu-museum.de/ Poděkování Christianu Ledererovi z Univerzity v Erlangenu za pomoc při hledání fotografie mikroprocesoru STD-MIT-1750 a ostatních fotografií použitých v této práci. [2] Christian Bassow http://www.cpu-museum.com/ [3] Dirk Oppelt http://www.cpu-collection.de/ 27
[4] http://www.redhill.net.au/ [5] http://library.thinkquest.org/ [6] http://www.fact-index.com/ [7] http://www.pcguide.com/ [8] http://www.wikipedia.org/wiki/
28