Semestrální práce z předmětu
Procesory
RISC všech předních výrobců na
trhu i ve vývoji organizace,
základní charakteristiky a ceny - Technické
prostředky informačních systémů
Obsah
1.OBSAH2
2.PŘEDMLUVA3
3.TEORETICKÝ VÝKLAD PROBLEMATIKY4
3.1.technologie zaměřené na urychlení výkonu procesoru4
3.1.1.Úvod4
3.1.2.Typy použitých pamětí a jejich hierarchie4
3.1.3.Obvodové a mikroprogramové řízení procesorů5
3.1.4.Koprocesory6
3.1.5.Proudové provádění instrukcí (instruction pipeline, pipelining)6
3.1.6.Adresní režimy operandů7
3.2.Charakteristika architektury RISC, rozdíly mezi architekturami RISC/CISC/postCISC8
3.3.Shrnutí10
4.HISTORIE ARCHITEKTURY RISC11
5.VÝKONOVÉ SROVNÁNÍ PROCESORŮ CISC, RISC A POST CISC12
6.PROCESORY RISC NA TRHU A VE VÝVOJI14
3.4.Procesory DEC Alphaä14
3.5. Procesory MIPSä 36452ysx78hpv7d 17
3.6.Procesory IBM/Motorola/Apple PowerPC20
3.7.Procesory SunSPARCä a UltraSPARCä24
3.8.Procesory Hewlett-Packard PA-RISCä26
3.9.Procesory Motorola 8800028
3.10.Procesory Acorn RISC Machine ARMä28
3.11.Procesory Intel 860 a 96030
7.LITERATURA31
Předmluva
Informace týkající se problematiky procesorů RISC jsem čerpal z celé řady zdrojů – jak z tištěných, tak i z elektronických médií. Ideově jsem vyšel ze skript určených pro výuku kurzu IT_220 Technické prostředky informačních systémů na VŠE. Materiál ze skript jsem poté podstatně rozšířil o poznatky z několika publikací zabývajících se architekturou počítačového systému a procesorů, které byly vydány jak v českém, tak i anglickém jazyce. Tyto jsem vyhledal v registrech knihovny VŠE Praha a Národní knihovny v Praze v Klementinu. Tato literatura poskytla pro mou práci jistý teoretický základ, který jsem se snažil doplnit o aktuální informace ze světa vývoje a výroby procesorů s architekturou RISC. Informace tohoto druhu jsem se pak snažil získat za vydatné pomoci Internetu, a to jak na stránkách českých (stránky věnované procesorům a hardwaru vůbec), tak zahraničních (stránky výrobců procesorů s architekturou RISC a stránky serverů věnované testům výkonnosti různých rodin procesorů). Kompletní přehled literatury uvádím v poslední kapitole práce. Součástí práce je také příloha v podobě článku zabývajícího se jedním ze zástupců architektury RISC.
teoretický výklad problematiky
technologie zaměřené na urychlení výkonu procesoru
Úvod
Bezesporu nejvýznamnější snahou architektů počítačových systémů a procesorů je snaha dosáhnout co nejvyššího výkonu procesoru, potažmo počítačového systému, a to za předpokladu dosažení takové ceny použité technologie, která bude akceptovatelná konečným spotřebitelem. Cest k dosažení potřebné rychlosti počítače je v zásadě několik, přičemž celou řadou těchto cest se v minulosti vývoj procesorové architektury RISC vydal. Nutno dodat, že řada výše zmíněných (a níže popisovaných) technologií byla do procesorů RISC s úspěchem implementována. Právě z důvodu implementace těchto technologií do procesorů RISC se budu těmito technologiemi postupně zabývat a ihned v následující subkapitole přejdu jednak k podrobné charakteristice architektury RISC, tak i ke shrnutí souvislostí mezi těmito dvěma subkapitolami.
Typy použitých pamětí a jejich hierarchie
Kriteriálním faktorem ovlivňujícím konečný výkon počítačového systému je struktura a technologie konstrukce pamětí, které má systém pro svou práci k dispozici. Úzkým místem, oslabujícím výpočetní výkon systému jako celku je nesoulad mezi délkou cyklu činnosti CPU (vyjádřenou jako reciproká hodnota taktovací frekvence procesoru, čili 1/F), generovanou zdrojem časových pulsů, a vybavovací dobou hlavní paměti RAM. Pokud by tato vybavovací doba byla delší než délka cyklu procesoru, musel by procesor ihned po zpracování instrukce typu PROCESOR-PAMĚŤ (např. instrukce sloužící k vyhledání samotných operandů v hlavní paměti, vyhledání adresy operandu v hlavní paměti aj.) jistou dobu čekat, než bude tato operace vlivem delší vybavovací doby paměti provedena. V praxi je pak takováto situace řešena několika způsoby - zařazením tzv. čekacích stavů procesoru mezi jednotlivé procesorem prováděné instrukce a de facto dočasným nevyužitím potenciálu procesoru, využitím rychlejší paměti (=paměti s kratší vybavovací dobou) CACHE (která je umístěna co nejblíže samotnému procesoru - mezi procesor a RAM) a konečně využitím paměťových registrů, které jsou přímo součástí procesoru. Zkracování vybavovací doby RAM není pro vysoké výrobní náklady perspektivní.
Řešení pomocí paměti CACHE spočívá v tom, že jsou data (a instrukce) potřebná k činnosti procesoru přesunuta do této paměti, která dociluje podstatně kratší vybavovací doby než paměť hlavní. Je samozřejmé, že ne všechny data a instrukce požadované procesorem jsou vždy v CACHE paměti k dispozici – naopak, někdy se musí procesor přesto obracet na hlavní paměť RAM (procento úspěšnosti nalezení dat v CACHE dosahuje asi 95%). Paměti CACHE se potom dělí v zásadě do dvou skupin – paměti L1 (level 1)a paměti L2 (level 2). Jako L1 se označuje CACHE umístěná přímo v procesoru a jako L2 potom CACHE umístěná na základní desce počítače, neboť procesor samotný je pro její umístění v něm samotném příliš malý. Jistými extrémy jsou procesory, které mají na čipu umístěny paměti L1 a L2 a mimo čip potom pamět L3. Na tomto místě je nutno poznamenat, že procesory RISC disponují vysokými kapacitami paměti CACHE (např. procesory DEC Alpha 16 – 64 KB CACHE L1, 96 KB – 16 MB CACHE L2, PowerPC potom 4 – 64 KB CACHE, Sun UltraSPARC 16 KB L1 a 512 KB – 16 MB L2, pro srovnání Pentium III 32 KB L1 a 512 KB L2). Mimoto mají procesory RISC paměť CACHE dělenou na instrukční a datovou část na základě tzv. Harvardského konceptu paměti (DEC Alpha, SG MIPS, Sun SPARC a UltraSPARC a později i PowerPC). Faktem však je, že tohoto konceptu dnes využívají i post-CISCové/post-RISCové procesory rodiny x086 (např. AMD Athlon).
Paměti CACHE mívají opět polovodičovou konstrukci a pro zrychlení své činnosti disponují tzv. nedestruktivním čtením.
Pro zefektivnění práce procesoru slouží i paměťové bloky umístěné přímo v procesoru (tzv. registry). Tyto sice disponují velice malou kapacitou (jedno slovo či několik byte) ale nízkou vybavovací dobou. Procesory RISC pracují díky své krátké instrukční sadě zejména s instrukcemi typu REGISTR-REGISTR, a proto kladou i větší nároky na počet těchto paměťových jednotek než procesory architektury CISC (specifikace počtu registrů jednotlivých implementací architektury RISC se nacházejí v sekci věnované jednotlivým typům procesorů). S hlavní pamětí je procesor v kontaktu pouze prostřednictvím instrukcí typu LOAD/STORE. I tento faktor přispívá k podstatnému urychlení jejich provozu.
Obvodové a mikroprogramové řízení procesorů
Dalším prvkem architektury, který může podstatně ovlivnit výkon procesoru, je způsob jeho řízení. Obecně rozlišujeme dva druhy řízení procesoru – řízení mikroprogramové a řízení pomocí pevných logických obvodů (pevné řízení, resp. obvodové řízení).
Princip mikroprogramového řízení spočívá v rozkladu instrukcí na elementární části, které jsou poté procesorem prováděny. Instrukce se mohou podle svého charakteru takto rozložit až na 100 mikroinstrukcí. Tyto instrukce jsou poté uloženy v tzv. paměti mikroinstrukcí, která je součástí řadiče procesoru. Paměť mikroinstrukcí je konstruována jako rychlá paměť s velice krátkou vybavovací dobou, která spolu s obvody řadiče zajišťuje efektivnost mikroprogramového řízení. Velkou výhodou tohoto způsobu řízení procesoru je zjednodušení jeho logické struktury, neboť ke změnám v řízení procesoru může dojít pouhými změnami v algoritmech samotných instrukcí. Nevýhodou je naopak zpomalení provádění instrukcí procesorem o dobu rovnající se vybavovací době paměti mikroinstrukcí.
Alternativou tomuto typu řízení procesoru je tzv. obvodové řízení. Řízení je v tomto případě realizováno přímo obvodovými prostředky řadiče, které jsou přímo napojeny na registry, v nichž je uložena adresa instrukce a instrukce samotná. Výhodou tohoto typu řízení je jeho větší rychlost, nevýhodou potom nemožnost jakkoli měnit řídicí signály procesoru bez zásahu přímo do logických obvodů řadiče. Faktem je, že právě tento typ řízení je v procesorech s architekturou RISC používán.
Koprocesory
Jedním z faktorů, kterým lze též účinně zvýšit výpočetní výkon procesoru, je vyčlenění určitého druhu jím vykonávaných operací z CPU do samostatných funkčních jednotek, zvaných koprocesory. Typickými operacemi vyčleňovanými do koprocesorů jsou především 3D grafické operace, operace s čísly s pohyblivou řádovou čárkou (Floating Point Operations) a konečně jisté druhy matematických funkcí (goniometrické funkce). Nutno říci, že koprocesory jsou na provádění určitého druhu funkcí specializovány a provádějí je proto velmi rychle, a to zcela nezávisle na procesoru (tj. paralelně). Zařazení koprocesorů různých typů je charakteristické pro některé implementace architektury RISC – například pro procesory SunSPARC. Součástí jejich architektury je volitelný typ koprocesoru. Jinak je však koprocesor relativně překonanou součástí procesorů vůbec a do budoucna se jeho použití v procesorech nepřipisuje význam.
Proudové provádění instrukcí (instruction pipeline, pipelining)
Dalším faktorem násobícím výkon procesoru je tzv. proudové provádění instrukcí (instruction pipeline). Architekti procesorů jsou schopni dekomponovat prakticky jakýkoli proces na dílčí části. Sériovým prováděním procesu by se potom dalo nazvat provedení všech fází jednoho procesu dříve, než začne být prováděna první fáze procesu následujícího. Procesor je však schopen zvýšit svůj výpočetní výkon pomocí pipeliningu, ve kterém se jednotlivé fáze za sebou následujících procesů překrývají a výkon procesoru tím de facto roste s počtem stupňů proudového provádění instrukcí, a to přímo úměrně (osmistupňový pipe by tedy byl zhruba osmkrát rychlejší než sériově pracující procesor). Toto tvrzení však nelze považovat za stoprocentně pravdivé, neboť existují jisté typy instrukcí, které mohou proudové provádění procesů narušit (viz. dále).
Jednotky proudového zpracování se obecně dělí na dva základní typy – aritmetické a instrukční (mimoto také na multifunkční, které mohou být kontrolní jednotkou konfigurovány pro provádění různých instrukcí a jednofunkční, které provádějí jednu konkrétní funkci) . Design aritmetických a instrukčních proudových jednotek se obecně velmi podstatně liší. Aritmetické jednotky se ukazují býti vhodné pro vektorové operace, zatímco instrukční proudové jednotky jsou nejvhodnější pro procesory s redukovanou instrukční sadou, tedy pro procesory architektury RISC. Proto se na ně krátce zaměřím.
Provádění každé jednotlivé instrukce je samotným procesorem vnímáno jako sled několika operací – v první fázi musí CPU vyhledat adresu instrukce v hlavní paměti (nebo v cache), poté musí analyzovat operační kód instrukce (tento jednoznačně definuje, co má procesor provést) a následně musí (v případě operativních instrukcí) determinovat adresu operandů (pokud ovšem nejsou operandy umístěny přímo v instrukci či nejsou implicitně zadány operačním kódem). Avšak právě stanovení adresy operandu může zabrat v zásadě nepředvídatelné množství času, neboť adresní režimy operandů mohou být různé a mohou vést i k dlouhým operacím s hlavní pamětí. Délka těchto operací potom může snadno převýšit délku jednoho cyklu procesoru. Tomu je však používáním přímého adresování operandů zabraňováno. Jsou zde však i další instrukce, jejichž provádění může trvat déle než jeden cyklus procesoru – např. operace s čísly s pohyblivou desetinnou čárkou. Obecně však platí, že procesory RISC jsou schopny provádět naprostou většinu operací během jednoho cyklu procesoru, nezřídka potom i rychleji.
Problémem pro proudové provádění instrukcí je existence dvou skutečností – jednak tzv. interinstrukční závislosti a za druhé tzv. požadavků na přerušení. V prvním případě se jedná o fakt, že např. jedna instrukce přebírá svůj operand z registru, kam jej má zapsat instrukce, jejíž provádění však ještě nebylo dokončeno. Procesory RISC se pochopitelně snaží zvýšeným počtem registrů riziku interinstrukční závislosti vyhnout. V případě druhém potom jde o skutečnost, že požadavkem na přerušení (pokud je hodnota testu pozitivní) musí dojít k vyprázdnění proudové jednotky a jejímu opětovnému naplnění, což samozřejmě trvá relativně dlouho (tzv. branch penalty) a práce systému se tím podstatně zpomaluje. I proto se nedá jednoznačně tvrdit, že vyšší počet stupňů proudové jednotky je pouze pozitivem. Naopak, rozhodování o počtu stupňů proudové jednotky je důležitým, kompromisním designérským rozhodnutím.
Procesory RISC (a procesory vůbec) se tomuto problému snaží vyhnout co největším zkrácením času potřebného k naplnění proudové jednotky (např. už RISC procesor ARM dokázal naplnit jednotku po 3 mikrosekundách). Počet stupňů proudové jednotky se však u jednotlivých RISC procesorů dosti různí – od 3 (ARM, Clipper) po 7 (SunSPARC) u starších typů a od 4 stupňů (IBM PowerPC) přes 6 stupňů (MIPS 64) po 14 stupňů (Sun UltraSPARC III) u novějších verzí procesorů RISC. Procesory typu post RISC/postCISC dosahují v tomto ohledu ještě vyšších hodnot – např. Intel Pentium 4 implementuje dvacetistupňovou proudovou jednotku.
Adresní režimy operandů
Unifikace adresních režimů operandů může rovněž vést k podstatnému urychlení činnosti počítačového systému. Samotných adresních režimů operandů rozeznáváme několik:
hodnota operandu je umístěna přímo v instrukci – tzv. přímé operandy,
adresa operandu je odvozena od části adresy uvedené přímo v instrukci (například přičtením hodnoty obsahu tzv. indexového registru) – tzv. indexové adresování,
v instrukci je obsažena adresa v paměti či adresa registru, která obsahuje adresu operandu – tzv. nepřímé adresování s využitím paměti,
operand je určen adresou registru, která je součástí instrukce – tzv. přímé adresování v registru,
tzv. auto indexování.
Tyto adresní režimy významným způsobem ovlivňují čas potřebný pro provedení jednotlivých instrukcí, a to zejména tím, zda vyžadují či naopak nevyžadují přístup do hlavní paměti. V procesorech RISC je tato otázka řešena unifikací adresního režimu operandu, popřípadě omezením množství druhů těchto adresních režimů.
Charakteristika architektury RISC, rozdíly mezi architekturami RISC/CISC/postCISC
První snahy o redukci instrukční sady (Instruction Set Architecure – ISA) se objevily kolem roku 1975. Díky stále rostoucí komplexnosti ISA tehdejších počítačových systémů začal jakýsi „ návrat k základům“ počítačové architektury. Několik počítačových architektů se nechalo inspirovat koncepcí počítače CDC 6000 a začalo zkoumat možnosti redukce instrukčních sad ostatních procesorů. Pro procesory, které z jejich snah vzešly, se uchytil termín Reduced Instruction Set Computers (RISC) – počítače s redukovanou instrukční sadou.
Idea redukce instrukční sady procesoru vzešla z následující úvahy:
Tc = čas potřebný pro realizaci určitého programu,
T = délka strojového cyklu,
Ci = počet strojových cyklů potřebných pro realizaci i – té instrukce,
N = počet instrukcí vykonaných procesorem.
Cílem architektů se pochopitelně stala minimalizace hodnoty Tc. RISC procesory sice principiálně zvyšují hodnotu N, neboť počet instrukcí vykonávaných procesorem se u procesorů RISC zvyšuje, ale na druhou stranu snižují hodnoty Tc a Ci. Ci dosahuje díky procesorům RISC nižších hodnot než 1 (řada procesorů RISC zpracovává i několik instrukcí během jednoho strojového cyklu), hodnotu Tc potom procesory RISC snižují použitím cache pamětí, preferencí pevného formátu instrukce (čímž snižují dobu potřebnou pro výpočet adresy dalších instrukcí) a implementací instrukcí, které umožňují vykonat celou sekvenci instrukcí dalších a tak eliminují přístupy procesoru do paměti RAM.
Procesory RISC mohou být definovány jako procesory naplňující většinu z níže uvedených charakteristik:
instrukce jsou konceptuálně jednoduché,
instrukce mají jednotnou délku,
instrukce podporují pouze jeden instrukční formát nebo malý počet instrukčních formátů,
instrukční sada je ortogonální (je minimalizováno překrývání funkčnosti jednotlivých instrukcí),
instrukce používají jeden nebo pouze málo adresovacích módů,
architektura procesoru je tzv. LOAD-AND-STORE architekturou, tj. pouze instrukce typu LOAD a STORE přistupují k hlavní paměti, všechny operační instrukce jsou typu REGISTER-TO-REGISTER a pracují pouze s operandy umístěnými v registrech,
ISA podporuje pouze dva nebo pouze několik formátů čísel (typicky formáty integer a floating-point).
Někdy se k těmto znakům procesorů RISC přidávají ještě další, ale jejich uvádění je v této souvislosti mírně zavádějící (z důvodů uvedených v závorkách):
téměř všechny typy instrukcí jsou vykonávány během jednoho cyklu procesoru (toto je však pouze implementační detail, ne strukturální charakteristika – mimoto je celá řada RISC procesorů schopna zpracovat i několik instrukcí během 1 strojového cyklu),
architektura se snaží co nejvíce využít silných stránek pro ni určeného softwarového vybavení (což by však měly konat v zásadě všechny počítačové architektury),
architektura disponuje vysokým počtem registrů (což však není kriteriálním znakem pouze této architektury, neboť vysoký počet registrů využívají i jiné architektury).
Mezi architekty procesorů vládnou pochopitelně spory týkající se faktu, která z procesorových architektur (RISC/CISC) je výhodnější, ať již z pohledu výrobních nákladů nebo z pohledu výkonu počítačového systému. Zastánci architektury CISC se odvolávají především na následující argumenty:
bohatší instrukční sady zvyšují počet kladů počítače neboť operace implementované v mikrokódu jsou prováděny rychleji než instrukce implementované v softwaru,
bohatší ISA nezvyšuje náklady implementace architektury nad náklady implementace architektury s užší ISA,
bohatší ISA je vyžadována pro zajištění dopředné kompatibility procesoru,
bohatší ISA zjednodušuje návrh kompilátorů sloužících pro překlad programů napsaných ve vyšších programovacích jazycích do strojového kódu.
Faktem ovšem je, že pokrok v technologiích a softwaru snižuje váhu některých těchto argumentů. Zářným příkladem této teze je vývoj v oblasti pamětí, jejichž výroba se podstatným způsobem zlevňuje a umožňuje implementovat i delší programy, které architektura RISC díky kratší instrukční sadě vyžaduje. V dřívější době byly paměti drahé (ve smyslu ceny za uložený MB) a vyžadovaly proto tvorbu kratších programů, které jsou typické pro architekturu CISC.
Dalším důvodem, který podstatně oslabil řady zastánců architektury CISC byl fakt, že statistická analýza činnosti kompilátorů poukázala na skutečnost, že kompilátory využívají pro svou činnost pouze těch nejjednodušších typů instrukcí (u procesoru IBM 370, který implementoval mikroprogramové řízení, bylo 90 % výpočetní kapacity procesoru naplněno zpracováním pouze takového počtu instrukcí, který tvořil asi 15 % kapacity ISA, tj. celé instrukční sady) a rovněž těch jednodušších adresních režimů. Kompilátory zdaleka nevyužívaly možností, které jim poskytovaly ISA, obsahující i složité instrukce. Proto začaly být využívány tzv. optimalizující kompilátory, vyvíjené spolu s procesorem a odstraňující výše zmíněné nedostatky – tj. nevyužívání kapacit procesoru, nevyužití celé ISA (resp. složitějších instrukcí, které ISA obsahovala) a nevyužití všech adresních režimů, které byly k dispozici.
Zastánci architektury RISC uvádějí ve prospěch této architektury zejména následující argumenty:
hardware používaný procesory RISC je jednodušší, je proto levnější než v případě architektury CISC,
instrukční paměti cache snadno odstraňují problém paměťové náročnosti redukované ISA,
kompilování pro procesor RISC (a vývoj kompilátoru samotného) je v případě architektury RISC jednodušší a tím i levnější,
vývojové náklady jsou v případě procesoru RISC nižší než v případě architektury CISC.
Je nutno poznamenat, že rozdíly mezi architekturou CISC a RISC se moderních implementacích rodiny procesorů x86 (Intel Pentium III, Pentium 4, AMD Athlon) se postupně smazávají, což vede k označování těchto procesorů jako procesorů typu post CISC či post RISC. I tyto procesory implementují některé prvky, které byly dříve typické pouze pro procesory RISC (harvardská struktura paměti, superproudové provádění instrukcí, instrukční a datové cache paměti aj.).
Shrnutí
Shrňme na závěr závěry kapitoly 3.1. , a 3.2. . Procesory RISC jsou procesory vyznačující se redukovanou instrukční sadou. Typický procesor RISC „umí“ relativně nízký počet instrukcí, ale provádí je velice rychle – i několik instrukcí během jednoho taktu procesoru. Pro některé účely použití jsou procesory RISC skutečně výkonnější, ale jedná se obecně pouze o část úloh – typicky o operace v pohyblivé řádové čárce.
Pro urychlení své činnosti využívá architektura procesorů RISC celou řadu prostředků – vyšší kapacity pamětí cache (pro minimalizaci frekvence přístupů procesoru k pomalé hlavní paměti), větší počet registrů (z důvodu zabránění meziinstrukčním závislostem), obvodové řízení, koprocesory, několik samostatných proudových jednotek a zjednodušené adresní režimy instrukcí a operandů. Tyto prostředky byly dostatečně diskutovány v sekci 3.1. .
Historie architektury RISC
Jak již bylo zmíněno, počátek vývoje procesorů architektury RISC se dá datovat zhruba do roku 1975. Jejich historický vývoj potom může být rozdělen v zásadě do tří konzistentních časových úseků – 1975 – 1982, 1982 – 1985 a konečně od roku 1985 po současnost.
První periodou vývoje procesorů RISC bylo období 1975 – 1982. Prvním procesorem, který splňoval charakteristické rysy této architektury byl superpočítač CRAY-1, vyvinutý firmou Control Data Corporation (CDC). V tomto období byly mimo jiné vyvinuty procesory IBM 801 (který se však na trhu neprosadil kvůli vysoké ceně), procesory RISC I, RISC II a první procesory úspěšné série MIPS (30 instrukcí, 10 – 30 tis. tranzistorů na čipu). Procesory byly plně srovnatelné s 16 bitovými procesory architektury CISC.
Období 1982 - 1985 je charakteristické vznikem prvních komerčně použitelných procesorů RISC. Tyto procesory implementovaly cache, koprocesory pro operace s pohyblivou řádovou čárkou, více instrukcí a více adresních režimů. Jako typické zástupce uveďme MIPS R2000, HP Spectrum, Fairchild Clipper, Ridge 32, procesory ARM, IBM RT PC a jiné.
Konečně období 1985 – 1995 je charakteristické prudkým nárůstem výkonů procesorů RISC (desítky MIPS a FLOPS). V tomto období se poprvé objevily procesory implementující rozšířené řetězové výpočty – tzv. superskalární a superproudové procesory. I taktovací frekvence procesorů prošla pozoruhodným vývojem – například vyvíjené mutace procesorů DEC/Compaq Alpha dosahují frekvence 1,6 GHz. Pokud jde o typy procesorů na trhu a ve vývoji, jedná se zejména o procesory DEC Alpha, IBM PowerPC, MIPS, SunSPARC a UltraSPARC, Motorola 88000, procesory ARM (Acorn RISC Machine), Intel i960, HP PA-RISC a procesor Crusoe. Těmto procesorům se budu podrobně věnovat v poslední kapitole této práce.
Výkonové srovnání procesorů CISC, RISC a post CISC
Pro srovnání výkonu procesorů je použito metodiky Standard Performance Evaluation Corporation (SPEC). Cílem organizace SPEC je zajistit, aby trh měl spravedlivou a použitelnou soustavu měřítek pro porovnání konkurenčních počítačových systémů. Zvolená metodika je snahou o kompromis mezi požadovanou striktní nestranností a snahou výrobců prezentovat své kvality.
Základem metodologie SPEC je poskytnutí srovnávací utility se soustavou zdrojových kódů založených na již existujících aplikacích, které jsou přenositelné na širokou škálu platforem. Tato utilita poté zkompiluje zdrojový kód do formátu potřebného pro systém, který je předmětem testu a testuje jeho maximální výkon. Použití všeobecně akceptovatelného a přenositelného kódu zároveň redukuje nebezpečí srovnání typu „pomeranč-jablko“.
Na druhou stranu je třeba upozornit, že SPECmark95 není pro srovnávání zcela ideální, neboť do jisté míry závisí na rychlosti busu a na rychlosti a kapacitě použité paměti cache. Hrubý výpočetní výkon procesorů pak zachycují následující grafy a tabulka:
Procesor |
Spec Int 95 |
Spec Fp 95 |
Alpha 21264/466 |
24.6 |
47.9 |
Alpha 21264/667 |
32.1 |
53.7 |
Alpha 21264A/667 |
37.5 |
65.5 |
Alpha 21264A/700 |
39.1 |
68.1 |
Alpha 21364/1000 (vývoj) |
70.0 |
120.0 |
AMD K7/550 |
25.1 |
20.6 |
AMD K7/800 |
35.0 |
25.4 |
AMD K7/1000 |
? |
29.4 |
Intel Pentium III/E 733/133 |
35.6 |
28.1 |
Intel Pentium III/E 800/100 |
38.3 |
24.5 |
Intel Pentium III/E 800/133 |
38.4 |
28.9 |
PowerPC 750/500/250/100 |
23.9 |
14.6 |
PowerPC 7400/450 |
21.4 |
20.4 |
Sun UltraSPARC-II/450 |
19.7 |
27.9 |
Sun UltraSPARC-III/600 |
35.0 |
60.0 |
HP PA-RISC 8500/400 |
30,2 |
48,6 |
HP PA-RISC 8500/440 |
34 |
51,4 |
| |