DEC Alpha - DEC Alpha

Alfa
Logo DEC Alpha Generation. Svg
Logo „Alpha Generation“ používané společností Digital
Návrhář Digital Equipment Corporation
Bity 64bitové
Představeno 1992 ; Před 29 lety ( 1992 )
Design RISC
Typ Registrace-registrace
Kódování Pevný
Endianness Bi
Rozšíření Byte/Word Extension (BWX), Square-root a Floating-Point Convert Extension (FIX), Count Extension (CIX), Motion Video Instructions (MVI)
Otevřeno Ano
Registry
Obecný účel 31 plus vždy nula R31
Plovoucí bod 31 plus vždy -0,0 F31
Mikroprocesorová fotografie DEC Alpha AXP 21064
Balíček pro mikroprocesor DEC Alpha AXP 21064
Holá matrice Alpha AXP 21064 namontovaná na vizitce s nějakou statistikou
Compaq Alpha 21264C

Alpha , původně známá jako Alpha AXP , je 64-bit s redukovanou instrukční sadou (RISC) architektury sad instrukcí (ISA), vyvinutý společností Digital Equipment Corporation (DEC). Alpha byla navržena tak, aby nahradila 32bitový počítač s komplexními instrukčními sadami VAX (CISC) a byla vysoce konkurenčním procesorem RISC pro pracovní stanice Unix a podobné trhy.

Alpha je implementována v sérii mikroprocesorů původně vyvinutých a vyrobených DEC. Tyto mikroprocesory jsou nejvýrazněji používány v různých pracovních stanicích a serverech DEC, které nakonec vytvořily základ pro téměř všechny jejich sestavy střední a vyšší úrovně. Několik dodavatelů třetích stran také vyrábělo systémy Alpha, včetně základních desek pro PC .

Mezi operační systémy, které podporují Alpha, patří OpenVMS (dříve známý jako OpenVMS AXP), Tru64 UNIX (dříve známý jako DEC OSF/1 AXP a Digital UNIX), Windows NT (ukončen po NT 4.0 ; a předběžné vydání Windows 2000 RC2 ), Linux ( Debian , SUSE , Gentoo a Red Hat ), BSD UNIX ( NetBSD , OpenBSD a FreeBSD až 6.x), Plan 9 od Bell Labs a také jádro L4Ka :: Pistachio .

Architektura Alpha byla prodána, spolu s většinou částí DEC, společnosti Compaq v roce 1998. Compaq, již zákazník společnosti Intel , vyřadil Alphu ve prospěch nadcházející architektury Hewlett-Packard /Intel Itanium a prodal veškeré duševní vlastnictví Alpha společnosti Intel v 2001, čímž byl produkt účinně zabit. Hewlett-Packard koupil Compaq později ten stejný rok, pokračující vývoj stávající produktové řady až do roku 2004 a prodej systémů založených na Alpha, převážně do stávající zákaznické základny, do dubna 2007.

Dějiny

HRANOL

Alpha se zrodil z dřívějšího projektu RISC pojmenovaný PRISM ( P arallel R educed I nstruction S et M achine), samotný produkt několika dřívějších projektů. PRISM byl zamýšlen jako flexibilní design, podporující po menším převodu jak unixové aplikace, tak i stávající software VAX/VMS společnosti Digital . Nový operační systém známý jako MICA by podporoval rozhraní ULTRIX i VAX/VMS nad běžným jádrem, což umožňuje software pro obě platformy snadno portovat do architektury PRISM.

Zahájen v roce 1985, design PRISM se během vývoje neustále měnil v reakci na změny na počítačovém trhu, což vedlo ke zdlouhavému zavádění jeho zavedení. Teprve v létě 1987 bylo rozhodnuto, že to bude 64bitový design, mezi nejranější takové návrhy ve formátu mikroprocesoru . V říjnu 1987 společnost Sun Microsystems představila Sun-4 , svoji první pracovní stanici využívající nový procesor SPARC . Sun-4 běží přibližně třikrát až čtyřikrát rychleji než jejich nejnovější modely Sun-3 pomocí Motorola 68020 , stejně jako jakékoli unixové nabídky od DEC. Plány se opět změnily; PRISM byl znovu sladěn jako 32bitová část a zaměřen přímo na unixový trh. To dále oddálilo design.

Tým v kanceláři Palo Alto, který sledoval, jak datum dodání PRISM stále sklouzává, a čelí možnosti dalších zpoždění, se rozhodl navrhnout vlastní pracovní stanici pomocí jiného procesoru RISC. Po due diligence vybrali MIPS R2000 a vybudovali pracovní pracovní stanici se systémem Ultrix v období 90 dnů. To vyvolalo prudkou debatu uvnitř společnosti, která vyvrcholila na schůzce managementu v červenci 1988. PRISM se zdálo být rychlejší než R2000, ale stroje R2000 mohly být na trhu do ledna 1989, tedy o rok dříve než PRISM. Když byl tento návrh přijat, jedna ze dvou původních rolí PRISM zmizela. Rozhodnutí vytvořit VMS PRISM již skončilo v tomto bodě, takže nezbyla žádná role. PRISM byl na schůzce zrušen.

RIZIKO VAX

Když se schůzka rozpadla, Boba Supnika oslovil Ken Olsen , který uvedl, že čipy RISC se zdají být budoucí hrozbou pro jejich řadu VAX. Požádal Supnik, aby zvážil, co by se dalo udělat s VAX, aby byla konkurenceschopná vůči budoucím systémům RISC.

To vedlo ke vzniku týmu „RISCy VAX“. Původně zvažovali tři koncepty. Jedním z nich byla zkrácená verze architektury sady instrukcí VAX (ISA), která poběží na systému podobném RISC a ponechá složitější instrukce VAX systémovým podprogramům. Dalším konceptem byl čistý systém RISC, který by za provozu překládal stávající kód VAX do vlastního ISA a ukládal jej do mezipaměti CPU . Nakonec tu stále byla možnost mnohem rychlejšího procesoru CISC s kompletním VAX ISA. Všechny tyto přístupy bohužel zavedly režijní náklady a nebyly by konkurenceschopné s počítačem čistě RISC, který provozuje nativní kód RISC.

Skupina poté považovala hybridní systémy, které kombinovaly jedno ze svých stávajících jednočipových řešení VAX a také čip RISC za koprocesor používaný pro potřeby vysokého výkonu. Tyto studie naznačovaly, že systém bude nevyhnutelně ochromen částí s nižším výkonem a nenabídne žádnou přesvědčivou výhodu. V tomto okamžiku Nancy Kronenberg poukázala na to, že lidé provozují VMS, nikoli VAX, a že VMS má jen několik hardwarových závislostí na základě modelování přerušení a stránkování paměti. Zdálo se, že neexistuje žádný pádný důvod, proč by VMS nemohlo být přeneseno na čip RISC, pokud by byly zachovány tyto malé bity modelu. Další práce na tomto konceptu naznačila, že to byl proveditelný přístup.

Supnik vzal výslednou zprávu do Strategy Task Force v únoru 1989. Byly vzneseny dvě otázky: mohl by výsledný design RISC být také lídrem v oblasti výkonu na unixovém trhu a měl by být stroj otevřeným standardem? A s tím bylo rozhodnuto přijmout architekturu PRISM s příslušnými úpravami. Tím se stal koncept „EVAX“, který navazuje na úspěšnou implementaci CMOS CVAX . Když vedení přijalo zjištění, rozhodlo se dát projektu neutrálnější název, odstranilo „VAX“ a nakonec se usadilo na Alpha. Brzy poté byly zahájeny práce na portu VMS pro novou architekturu .

Alfa

Nový design využívá většinu základních konceptů PRISM, ale byl přepracován tak, aby umožňoval běh programů VMS a VMS přiměřenou rychlostí bez jakékoli konverze. Primární architekti instrukční sady Alpha byli Richard L. Sites a Richard T. Witek. PRICM Epicode byl vyvinut do Alpha PALcode , který poskytuje abstrahované rozhraní pro funkce specifické pro implementaci platformy a procesoru.

Hlavním přínosem Alphy v mikroprocesorovém průmyslu a hlavním důvodem jejího výkonu není ani tak architektura, jako spíše její implementace. V té době (jako je tomu nyní) dominovaly mikročipovému průmyslu automatizované nástroje pro návrh a rozvržení. Designéři čipů ve společnosti Digital pokračovali v náročném návrhu ručního obvodu, aby se vypořádali se složitou architekturou VAX. Čipy Alpha ukazují, že ruční návrh obvodu aplikovaný na jednodušší a čistší architekturu umožňuje mnohem vyšší pracovní frekvence než ty, které jsou možné u automatizovanějších návrhových systémů. Tyto čipy způsobily renesanci vlastního návrhu obvodů v komunitě návrhářů mikroprocesorů.

Původně byly procesory Alpha označeny řadou DECchip 21x64 , přičemž „DECchip“ byl v polovině 90. let nahrazen výrazem „Alpha“. První dvě číslice „21“ znamenají 21. století a poslední dvě číslice „64“ znamenají 64 bitů. Alpha byla od začátku navržena jako 64bitová a neexistuje 32bitová verze. Prostřední číslice odpovídá generaci architektury Alpha. Interně byly procesory Alpha také identifikovány čísly EV , EV oficiálně znamená „Extended VAX“, ale s alternativním humorným významem „Electric Vlasic “, což je poctou experimentu Electric Pickle ve společnosti Western Research Lab.

Vylepšené modely

Prvních pár generací čipů Alpha patřilo k nejinovativnějším ve své době.

  • První verze, Alpha 21064 nebo EV4 , je prvním mikroprocesorem CMOS, jehož pracovní frekvence soupeřila s výkonnějšími minipočítači a sálovými počítači ECL .
  • Druhý, 21164 nebo EV5 , je prvním mikroprocesorem, který na čip umístil velkou sekundární mezipaměť.
  • Třetí, 21264 nebo EV6 , je prvním mikroprocesorem, který kombinuje jak vysokou pracovní frekvenci, tak složitější mikroarchitekturu mimo provoz .
  • 21364 nebo EV7 je první vysoce výkonný procesor mít on-chip řadič paměti .
  • Neprodukované 21464 nebo EV8 by byly první, které zahrnovaly simultánní multithreading , ale tato verze byla zrušena po prodeji DEC společnosti Compaq . Tarantula výzkumný projekt, který s největší pravděpodobností by byli povoláni EV9 by byli první Alpha procesor mají vektorovou jednotku .

Trvalá zpráva přisuzovaná zasvěcencům DEC naznačuje, že výběr tagu AXP pro procesor provedlo právní oddělení DEC, které stále vycházelo z fiaska s ochrannou známkou VAX . Po dlouhém hledání byl tag „AXP“ shledán zcela nezatíženým. V počítačovém průmyslu začal vtip, že zkratka AXP znamená „Téměř eXactly PRISM“.

Zásady návrhu

Architektura Alpha měla být vysoce výkonným designem. Digital zamýšlel architekturu podporovat tisícinásobný nárůst výkonu za pětadvacet let. Aby to bylo zajištěno, byly odstraněny všechny architektonické funkce, které bránily problémům s více instrukcemi, taktovací frekvencí nebo vícenásobným zpracováním. V důsledku toho Alpha nemá:

Kódy podmínek

Alpha nemá kódy podmínek pro celočíselné pokyny k odstranění potenciálního zúžení v registru stavu. Pokyny vedoucí k přetečení, jako je přidání dvou čísel, jejichž výsledek se nevejde do 64 bitů, zapisují 32 nebo 64 nejméně významných bitů do cílového registru. Přenos je generován provedením nepodepsaného porovnání výsledku s kterýmkoli operandem, aby se zjistilo, zda je výsledek menší než kterýkoli z operandů. Pokud byl test pravdivý, hodnota jedna se zapíše do nejméně významného bitu cílového registru, aby se indikovala podmínka.

Registry

Registry DEC Alpha
6 3 . . . 4 7 . . . 3 1 . . . 1 5 . . . 0 1 0 0 (bitová pozice)
Registry pro všeobecné použití
R0 R0
R1 R1
R2 R2
 
 
 
R29 R29
R30 R30
          R31 (nula) R31, vždy nula
Registry s plovoucí desetinnou čárkou
F0 F0
F1 F1
F2 F2
 
 
 
F29 F29
F30 F30
          F31 (nula) F31, vždy nula
Počitadlo programů
         PC 0 0 P rogram C ounter
Kontrolní registry
LR0 L ock R egister 0
LR1 L ock R egister 1
FPCR FP C ontrol R egister

Architektura definuje sadu 32 celočíselných registrů a sadu 32 registrů s plovoucí desetinnou čárkou kromě čítače programu , dvou registrů zámku a řídicího registru s plovoucí desetinnou čárkou (FPCR). Rovněž definuje registry, které byly volitelné, implementované pouze v případě, že to implementace vyžadovala. Nakonec jsou definovány registry pro PALcode .

Celočíselné registry jsou označeny R0 až R31 a registry s plovoucí desetinnou čárkou jsou označeny F0 až F31. Registry R31 a F31 jsou pevně zapojeny na nulu a zápisy do těchto registrů podle pokynů jsou ignorovány. Digital zvažoval použití kombinovaného registrového souboru, ale soubor s rozděleným registrem byl určen jako lepší, protože umožňuje dvoučipovým implementacím mít registrový soubor umístěný na každém čipu a celočíselné implementace vynechat soubor registru s plovoucí desetinnou čárkou obsahující registry s plovoucí desetinnou čárkou. Soubor rozděleného registru byl také určen jako vhodnější pro problém s více instrukcemi kvůli sníženému počtu portů pro čtení a zápis. Uvažovalo se také o počtu registrů na soubor registru, přičemž uchazeči byli 32 a 64. Digital dospěl k závěru, že 32 registrů bylo vhodnější, protože vyžadovalo menší prostor matrice , což zlepšuje hodinové frekvence. Tento počet registrů nebyl považován za hlavní problém, pokud jde o výkon a budoucí růst, protože třicet dva registrů by mohlo podporovat vydání alespoň osmicestných instrukcí.

Pult programu je 64-bitový registr, který obsahuje virtuální bajt adresy longword zarovnaný, to znamená, že nízké dva bity čítače programu jsou vždy nulové. Když je instrukce dekódována, počítač se zvýší o čtyři na adresu další instrukce. Příkaz lock a registr uzamčené fyzické adresy jsou používány instrukcemi typu load-locked a store-conditional pro podporu více procesorů. Řídicí registr s plovoucí desetinnou čárkou (FPCR) je 64bitový registr definovaný architekturou určenou pro použití implementacemi Alpha s hardwarem s pohyblivou řádovou čárkou vyhovujícím IEEE 754 .

Typy dat

V architektuře Alpha je bajt definován jako 8bitový datum (oktet), slovo jako 16bitový datum, dlouhé slovo jako 32bitový datum, čtyřúhelník jako 64bitový datum a oktaword jako 128-bit datum.

Architektura Alpha původně definovala šest datových typů:

  • Čtyřčíselné (64bitové) celé číslo
  • Celé číslo s dlouhým slovem (32bitové)
  • IEEE T s plovoucí desetinnou čárkou (dvojitá přesnost, 64bitová)
  • IEEE S s plovoucí desetinnou čárkou (jednoduchá přesnost, 32bitová)

Aby byla zachována úroveň kompatibility s VAX , 32bitovou architekturou, která Alpha předcházela, jsou zahrnuty dva další datové typy s plovoucí desetinnou čárkou:

  • VAX G s plovoucí desetinnou čárkou (dvojitá přesnost, 64bitová)
  • VAX F s pohyblivou řádovou čárkou (jednoduchá přesnost, 32bitová)
  • VAX H-plovoucí desetinná čárka (čtyřnásobná přesnost, 128bitová) nebyla podporována, ale na Alpha je k dispozici další 128bitová možnost s plovoucí desetinnou čárkou, X-floating point, ale ne VAX.
    H a X byly popsány jako podobné, ale ne identické. Softwarová emulace pro H-floating je k dispozici od DEC, stejně jako převodník úrovně zdrojového kódu s názvem DECmigrate.

Paměť

Alpha má 64bitový lineární virtuální adresní prostor bez segmentace paměti. Implementace mohou implementovat menší virtuální adresní prostor s minimální velikostí 43 bitů. Ačkoli nepoužité bity nebyly implementovány v hardwaru, jako jsou TLB , architektura vyžadovala implementace ke kontrole, zda jsou nulové, aby byla zajištěna kompatibilita softwaru s implementacemi s větším (nebo plným) virtuálním adresním prostorem.

Formáty instrukcí

Alpha ISA má pevnou délku instrukce 32 bitů. Má šest formátů instrukcí.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Typ
Opcode Ra Rb Nepoužitý 0 Funkce RC Celočíselné ovládání
Opcode Ra Doslovný 1 Funkce RC Celočíselný provoz, doslovný
Opcode Ra Rb Funkce RC Operace s plovoucí desetinnou čárkou
Opcode Ra Rb Přemístění Formát paměti
Opcode Ra Přemístění Formát pobočky
Opcode Funkce Formát CALL_PAL

Celočíselný provozní formát je používán celočíselnými instrukcemi. Obsahuje pole 6bitového operačního kódu, za ním následuje pole Ra, které určuje registr obsahující první operand a pole Rb, určuje registr obsahující druhý operand. Další je 3bitové pole, které je nepoužité a vyhrazené. 1bitové pole obsahuje „0“, které odlišuje tento formát od formátu celočíselného literálu. Následuje pole 7bitové funkce, které se používá ve spojení s operačním kódem k určení operace. Poslední pole je pole RC, které určuje registr, do kterého má být zapsán výsledek výpočtu. Pole registru jsou dlouhá 5 bitů, potřebných k adresování 32 unikátních míst, 32 celočíselných registrů.

Celočíselný literální formát používají celočíselné instrukce, které používají literál jako jeden z operandů. Formát je stejný jako celočíselný operační formát s výjimkou nahrazení 5bitového pole Rb a 3 bitů nevyužitého prostoru 8bitovým doslovným polem, které je nulově rozšířeno na 64bitový operand.

Operační formát s plovoucí desetinnou čárkou používají pokyny s plovoucí desetinnou čárkou. Je podobný formátu s celočíselným provozem, ale má 11bitové funkční pole umožněné pomocí doslovných a nepoužitých bitů, které jsou vyhrazeny pro celočíselný pracovní formát.

Formát paměti se používá většinou k načítání a ukládání pokynů. Má 6bitové pole opcode, 5bitové pole Ra, 5bitové pole Rb a 16bitové pole posunutí.

Pokyny větve mají 6bitové pole opcode, 5bitové pole Ra a 21bitové pole posunutí. Pole Ra určuje registr, který má být testován instrukcí podmíněné větve, a pokud je podmínka splněna, čítač programu se aktualizuje přidáním obsahu pole posunutí s čítačem programu. Pole posunutí obsahuje celé číslo se znaménkem a je -li hodnota celého čísla kladná, je -li braní přijato, čítač programu se zvýší. Pokud je hodnota celého čísla záporná, pak se programový čítač sníží, pokud je převzata větev. Rozsah větve je tedy ± 1 Mi instrukce, nebo ± 4 MiB. Architektura Alpha byla navržena s velkým rozsahem jako součást výhledu architektury do budoucnosti.

Formát CALL_PAL používá CALL_PALinstrukce, která slouží k volání podprogramů PALcode . Formát zachovává pole opcode, ale nahrazuje ostatní 26bitovým funkčním polem, které obsahuje celé číslo určující podprogram PAL.

Instrukční sada

Pokyny k ovládání

Tyto řídicí instrukce skládají z podmíněných a nepodmíněných větví a skoky. Podmíněné a bezpodmínečné větvící instrukce používají formát instrukce větve, zatímco skokové instrukce používají formát instrukcí paměti.

Podmíněné větve otestují, zda je nejméně významný bit registru nastaven nebo vymazán, nebo porovnají registr jako podepsané čtyřslovné slovo s nulou a větví, pokud je zadaná podmínka pravdivá. Podmínky, které jsou k dispozici pro porovnávání registru s nulou, jsou rovnost, nerovnost, menší než, menší nebo rovna, větší nebo rovná a větší než. Nová adresa se vypočítá zarovnáním dlouhého slova a znaménkem prodlužujícím 21bitový posun a přidáním na adresu instrukce za podmíněnou větví.

Bezpodmínečné větve aktualizují čítač programu o novou adresu vypočítanou stejným způsobem jako podmíněné větve. Rovněž uloží adresu instrukce následující bezpodmínečné větve do registru. Existují dva takové pokyny a liší se pouze v nápovědách uvedených pro hardware predikce větví.

Existují čtyři instrukce ke skoku. Všichni provádějí stejnou operaci, ukládají adresu instrukce po skoku a poskytují čítači programu novou adresu z registru. Liší se radami poskytovanými hardwaru predikce větví. K tomu slouží pole nevyužitého posunutí.

Celočíselná aritmetika

Celočíselné aritmetické instrukce provádějí sčítání, násobení a odčítání u dlouhých a čtyř hesel; a srovnání na čtveřicích. Pro rozdělení neexistují žádné pokyny, protože architekti považovali implementaci rozdělení v hardwaru za nepříznivou pro jednoduchost. Kromě standardních pokynů pro sčítání a odčítání existují ještě zmenšené verze. Tyto verze před přidáním nebo odečtením posunou druhý operand doleva o dva nebo tři bity. Pokyny Multiply Longword a Multiply Quadword zapisují do cílového registru nejméně 32 nebo 64 bitů 64- nebo 128bitového výsledku. Protože je užitečné získat nejvýznamnější polovinu, je k dispozici instrukce Unsigned Multiply Quadword High (UMULH). UMULH se používá k implementaci více přesných aritmetických a dělících algoritmů. Koncept samostatné instrukce pro násobení, která vrací nejvýznamnější polovinu výsledku, byl převzat z PRISM .

Pokyny, které fungují na dlouhých slovech, ignorují nejvýznamnější polovinu registru a 32bitový výsledek se před zápisem do cílového registru rozšíří o znaménko. Ve výchozím nastavení pokyny pro sčítání, násobení a odčítání, s výjimkou UMULH a zmenšených verzí pro sčítání a odčítání, nezachytávají při přetečení. Pokud je taková funkce vyžadována, jsou k dispozici verze těchto pokynů, které provádějí detekci přetečení a zachycení při přetečení.

Porovnávací pokyny porovnávají dva registry nebo registr a doslovný zápis a do cílového registru zapisují „1“, pokud je zadaná podmínka pravdivá, nebo „0“, pokud ne. Podmínky jsou rovnost, nerovnost, menší nebo rovna a menší než. S výjimkou pokynů, které specifikují předchozí dvě podmínky, existují verze, které provádějí porovnávání podepsaných a nepodepsaných.

Celočíselné aritmetické instrukce používají celé instrukční formáty obsluhy.

Logické a posunové

Logické instrukce se skládají z těch, které provádějí bitové logické operace a podmíněné pohyby v celočíselných registrech. Bitové logické instrukce provádějí AND , NAND , NOR , OR , XNOR a XOR mezi dvěma registry nebo registrem a literálem. Pokyny k podmíněnému přesunu testují registr jako podepsané čtyřslovné slovo na nulu a přesouvají se, pokud je zadaná podmínka pravdivá. Uvedené podmínky jsou rovnost, nerovnost, menší nebo rovna, menší než, větší nebo rovná a větší než. Pokyny k řazení provádějí aritmetický posun doprava a logické posunutí doleva a doprava . Částka posunu je dána registrem nebo doslovně. Logické a směnové instrukce používají celé instrukční formáty.

Rozšíření

Byte-Word Extensions (BWX)

Pozdější Alphas zahrnují rozšíření o bajtová slova, sadu instrukcí pro manipulaci s 8bitovými a 16bitovými datovými typy. Tyto pokyny byly poprvé zavedeny v mikroprocesoru 21164A (EV56) a jsou přítomny ve všech následujících implementacích. Tyto pokyny provádějí operace, které dříve vyžadovaly implementaci více pokynů, což zlepšuje hustotu kódu a výkon určitých aplikací. BWX také usnadňuje emulaci strojového kódu x86 a psaní ovladačů zařízení .

Mnemotechnická pomůcka Návod
LDBU Načtěte nulově rozšířený bajt z paměti a zaregistrujte se
LDWU Načtěte z paměti slovo s nulovým rozšířením a zaregistrujte se
SEXTB Sign Extend Byte
SEXTW Podepsat Prodloužit slovo
STB Uložit bajt od registrace do paměti
STW Uložte slovo z registru do paměti

Motion Video Instructions (MVI)

Motion Video Instructions (MVI) bylo rozšíření sady instrukcí k Alpha ISA, které přidalo pokyny pro operace s jednou instrukcí a více dat (SIMD). Alpha implementace, které implementují MVI, v chronologickém pořadí, jsou Alpha 21164PC (PCA56 a PCA57), Alpha 21264 (EV6) a Alpha 21364 (EV7). Na rozdíl od většiny ostatních SIMD instrukční sady stejného období, jako MIPS ' MDMX nebo SPARC ' s Visual Instruction Set , ale jako PA-RISC je multimediální zrychlení Extensions (MAX-1, MAX-2), MVI byla jednoduchá instrukční sada složený z několika instrukcí, které fungují na celočíselných datových typech uložených ve stávajících celočíselných registrech.

Jednoduchost MVI je dána dvěma důvody. Za prvé, Digital určil, že Alpha 21164 již byla schopná provádět dekódování DVD pomocí softwaru, takže pro tento účel nevyžaduje hardwarová opatření, ale byla neúčinná v kódování MPEG-2 . Druhým důvodem je požadavek na zachování rychlých cyklů implementací. Přidání mnoha instrukcí by komplikovalo a rozšířilo logiku dekódování instrukcí, což by snížilo frekvenci hodin implementace.

MVI se skládá ze 13 pokynů:

Mnemotechnická pomůcka Návod
MAXSB8 Maximální počet podepsaných bytů ve vektoru
MAXSW4 Maximálně podepsané slovo vektor
MAXUB8 Maximální počet vektorů bez znaménka
MAXUW4 Maximální počet vektorů bez znaménka
MINSB8 Minimum vektoru podepsaného bajtu
MINSW4 Minimum podepsaného slova vektor
MINUB8 Minimum vektoru bez znaménka
MINUW4 Minimum vektoru nepodepsaného slova
PERR Chyba pixelu
PKLB Zabalte dlouhá slova na bajty
PKWB Zabalte slova do bajtů
UNPKBL Rozbalte bajty na dlouhá slova
UNPKBW Rozbalte bajty na slova

Rozšíření s pohyblivou řádovou čárkou (FIX)

Rozšíření s plovoucí desetinnou čárkou (FIX) jsou rozšířením architektury Alpha. Představuje devět instrukcí pro odmocninu s plovoucí desetinnou čárkou a pro přenos dat do az celočíselných registrů a registrů s plovoucí desetinnou čárkou. Alpha 21264 (EV6) je první mikroprocesor pro provádění těchto pokynů.

Mnemotechnická pomůcka Návod
FTOIS Plovoucí desetinná čárka na celé číslo Přesunout, S_floating
FTOIT Plovoucí desetinná čárka na celé číslo Move, T_floating
ITOFF Celé číslo s pohyblivou čárkou Register Move, F_floating
ITOFS Celé číslo s pohyblivou čárkou Register Move, S_floating
ITOFT Celé číslo s pohyblivou čárkou Register Move, T_floating
SQRTF Druhá odmocnina F_floating
SQRTG Druhá odmocnina G_floating
SQRTS Druhá odmocnina S_floating
SQRTT Druhá odmocnina T_floating

Count Extensions (CIX)

Count Extensions (CIX) je rozšíření architektury, které zavádí tři instrukce pro počítání bitů. Tyto instrukce jsou kategorizovány jako celočíselné aritmetické instrukce. Poprvé byly implementovány na Alpha 21264A ( EV67 ).

Mnemotechnická pomůcka Návod
CTLZ Počítat nulu
CTPOP Počet obyvatel
CTTZ Count Trailing Zero

Implementace

V době svého oznámení byla Alpha ohlašována jako architektura na dalších 25 let. Ačkoli to nemělo být, Alpha má přesto přiměřeně dlouhý život. První verze, Alpha 21064 (jinak známá jako EV4 ) byla představena v listopadu 1992 s frekvencí až 192 MHz; mírné zmenšení matrice ( EV4S , zmenšené z 0,75 µm na 0,675 µm) proběhlo na 200 MHz o několik měsíců později. 64bitový procesor byl superpipelinovaný a superskalární design, stejně jako ostatní designy RISC, ale přesto je všechny překonal a DEC to nabídlo jako nejrychlejší procesor na světě. Pečlivá pozornost věnovaná návrhu obvodů, charakteristickému znaku konstrukčního týmu Hudson, jim jako obrovské centralizované hodinové obvody umožňovala provozovat CPU vyššími rychlostmi, přestože mikroarchitektura byla dosti podobná ostatním čipům RISC. Pro srovnání, levnější Intel Pentium běžel na 66 MHz, když byl spuštěn následující jaro.

Alpha 21164 nebo EV5 byly k dispozici v roce 1995 na procesoru frekvencích až do 333 MHz. V červenci 1996 byla trať naražena na 500 MHz, v březnu 1998 na 666 MHz. Také v roce 1998 byl Alpha 21264 ( EV6 ) vydán na frekvenci 450 MHz, nakonec dosáhl (v roce 2001 s 21264C / EV68CB ) 1,25 GHz. V roce 2003 byla uvedena na trh Alpha 21364 nebo EV7 Marvel , v podstatě jádro EV68 se čtyřmi meziprocesorovými komunikačními spoji 1,6 GB/s pro lepší výkon víceprocesorového systému, běžící na frekvenci 1 nebo 1,15 GHz.

V roce 1996 byla výroba čipů Alpha licencována společnosti Samsung Electronics Company . Po koupi Digital od Compaq byla většina produktů Alpha umístěna u API NetWorks, Inc. (dříve Alpha Processor Inc.), soukromé společnosti financované společnostmi Samsung a Compaq. V říjnu 2001 se společnost Microway stala výhradním poskytovatelem prodeje a služeb produktové řady Alpha založené na API NetWorks.

Dne 25. června 2001, Compaq oznámil, že Alpha bude vyřazen v roce 2004 ve prospěch společnosti Intel ‚s Itanium , zrušil plánovanou EV8 čip, a prodal veškerý Alpha duševní vlastnictví společnosti Intel . Společnost HP, nový vlastník Compaqu později téhož roku, oznámila, že vývoj řady Alpha bude pokračovat ještě několik let, včetně vydání varianty EV7 1,3 GHz s názvem EV7z . To by byla konečná iterace Alpha, 0,13 µm EV79 by byl také zrušen.

Alpha je také implementována do Piranha , prototypu výzkumu vyvinutého skupinami Compaq pro firemní výzkum a nonstop vývoj hardwaru v Western Research Laboratory and Systems Research Center. Piranha je vícejádrový design pro úlohy zpracování transakcí, který obsahuje osm jednoduchých jader. Bylo to popsáno na 27. výročním mezinárodním sympoziu o počítačové architektuře v červnu 2000.

Historie modelu

Modelka Modelové číslo Rok Frekvence [MHz] Proces [µm] Tranzistory [miliony] Velikost zápustky [mm 2 ] IO piny Výkon [W] Napětí Dcache [KB] Icache [KB] Scache Bcache JE
EV4 21064 1992 100–200 0,75 1,68 234 290 30 3.3 8 8 - 128 kB - 16 MB  
EV4S 21064 1993 100–200 0,675 1,68 186 290 27 3.3 8 8 - 128 kB - 16 MB  
EV45 21064A 1994 200–300 0,5 2,85 164 33 3.3 16 16 - 256 kB - 16 MB  
LCA4 21066 1993 100–166 0,675 1,75 209 21 3.3 8 8 -    
LCA4 21068 1994 66 0,675 1,75 209 9 3.3 8 8 -    
LCA45 21066A 1994 100–266 0,5 1,8 161 23 3.3 8 8 -    
LCA45 21068A 1994 100 0,5 1,8 161 3.3 8 8 -    
EV5 21164 1995 266–500 0,5 9.3 299 296 56 3,3/2,5 8 8 96 kB Až 64 MB R.
EV56 21164A 1996 366–666 0,35 9,66 209 31–55 3,3/2,5 8 8 96 kB Až 64 MB R, B.
PCA56 21164PC 1997 400–533 0,35 3.5 141 264 26–35 3,3/2,5 8 16 - 512 kB - 4 MB R, B, M
PCA57 21164PC   600–666 0,28 5.7 101 283 18–23 2,5/2,0 16 32 - 512 kB - 4 MB R, B, M
EV6 21264 1998 450–600 0,35 15.2 314 389 73 2.0 64 64 - 2–8 MB R, B, M, F
EV67 21264A 1999 600–750 0,25 15.2 210 389   2.0 64 64 - 2–8 MB R, B, M, F, C.
EV68AL 21264B 2001 800–833 0,18 15.2 125     1.7 64 64 - 2–8 MB R, B, M, F, C, T
EV68CB 21264C 2001 1000–1250 0,18 15.2 125   65–75 1,65 64 64 - 2–8 MB R, B, M, F, C, T
EV68CX 21264D               1,65 64 64 - 2–8 MB R, B, M, F, C, T
EV7 21364 2003 1000–1150 0,18 130 397 125 1.5 64 64 1,75 MB - R, B, M, F, C, T
EV7z 21364 2004 1300 0,18 130 397 125 1.5 64 64 1,75 MB - R, B, M, F, C, T
Zrušeno
EV78/EV79 21364A V plánu pro rok 2004 1700 0,13 152 300 120 1.2 64 64 1,75 MB - R, B, M, F, C, T
EV8 21464 Plánováno na rok 2003 1200–2 000 0,125 250 420 1800 ?? 1.2 64 64 3 MB - R, B, M, F, C, T
Modelka Modelové číslo Rok Frekvence [MHz] Proces [µm] Tranzistory [miliony] Velikost zápustky [mm²] IO piny Výkon [W] Napětí Dcache [KB] Icache [KB] Scache Bcache JE
Rozšíření ISA
  • R - Hardwarová podpora zaokrouhlování na nekonečno a záporné nekonečno.
  • B- BWX, „Byte/Word Extension“, přidání instrukcí umožňujících 8- a 16bitové operace z paměti a I/O
  • M - MVI, „multimediální“ instrukce
  • F - FIX, instrukce pro přesun dat mezi celočíselnými a plovoucí desetinnými čárkami a pro odmocninu
  • C - CIX, instrukce pro počítání a hledání bitů
  • T - podpora předběžného načtení s úmyslem upravit, aby se zlepšil výkon prvního pokusu o získání zámku

Výkon

Pro ilustraci srovnávacího výkonu systémů založených na Alpha jsou níže uvedena některá čísla výkonu SPEC (SPECint95, SPECfp95). Výsledky SPEC tvrdí, že hlásí naměřený výkon celého počítačového systému (CPU, sběrnice, paměť, optimalizátor kompilátoru), nejen CPU. Mějte také na paměti, že měřítko a měřítko se změnily od roku 1992 do roku 1995. Čísla však poskytují hrubý dojem o výkonu architektury Alpha (64bitová) ve srovnání se současnými nabídkami HP (64bitové) a Intel ( 32bitové). Snad nejzjevnějším trendem je, že zatímco Intel se vždy mohl rozumně přiblížit Alpha v celočíselném výkonu, ve výkonu s pohyblivou řádovou čárkou byl rozdíl značný. Na druhé straně je HP ( PA-RISC ) také poměrně blízko Alpha, ale tyto CPU běží na výrazně nižších taktech (MHz). V tabulkách chybí dvě důležité hodnoty: spotřeba energie a cena CPU.

Alfa systémy

První generace systémů založených na DEC Alpha zahrnuje pracovní stanice řady DEC 3000 AXP a servery nižší třídy, servery střední třídy řady DEC 4000 AXP a servery DEC řady 7000 AXP a 10 000 AXP . Systémy DEC 3000 AXP používají stejnou sběrnici TURBOchannel jako předchozí modely DECstation založené na MIPS , zatímco 4000 je založen na FutureBus+ a 7000/10000 sdílí architekturu s odpovídajícími modely VAX .

DEC také produkoval PC -jako Alpha pracovní stanice s EISA sběrnicí, DECpc AXP 150 (kódové označení „Jensen“, také známý jako DEC 2000 AXP). Toto je první systém Alpha, který podporuje Windows NT . DEC později produkoval Alpha verze jejich Celebris XL a Digital Personal Workstation PC linek, s 21164 procesory.

Digital také vyráběl jednodeskové počítače založené na VMEbus pro vestavěné a průmyslové použití. První generace zahrnuje 21068 AXPvme 64 a AXPvme 64LC a 21066 AXPvme 160. Ty byly představeny 1. března 1994. Pozdější modely jako AXPvme 100, AXPvme 166 a AXPvme 230 jsou založeny na procesoru 21066A , zatímco Alpha VME 4/224 a Alpha VME 4/288 jsou založeny na procesoru 21064A. Poslední modely, Alpha VME 5/352 a Alpha VME 5/480, jsou založeny na procesoru 21164.

Čip 21066 je použit v kompaktní pracovní stanici DEC Multia VX40/41/42 a notebooku ALPHAbook 1 od Tadpole Technology.

V roce 1994 uvedla společnost DEC na trh novou řadu systémů AlphaStation a AlphaServer . Ty používají procesory 21064 nebo 21164 a zavedly sběrnici PCI , rámcové vyrovnávací paměti kompatibilní s VGA a klávesnice a myši ve stylu PS/2 . Řada AlphaServer 8000 nahrazuje DEC 7000/10000 AXP a také využívá autobusy XMI a FutureBus+.

AlphaStation XP1000 je první pracovní stanice založená na procesoru 21264. Pozdější modely AlphaServer/Station založené na 21264 jsou kategorizovány do rodin DS (serverový server), ES (podnikový server) nebo GS (globální server).

Konečný čip 21364 je použit v modelech AlphaServer ES47, ES80 a GS1280 a AlphaStation ES47.

Řada OEM základních desek byla vyrobena společností DEC, například 2106 a 21068 na bázi AXPpci 33 „NoName“, která byla součástí významného posunu na trh OEM společností, AlphaPC 164 se sídlem 21164 a AlphaPC 164LX, AlphaPC 164SX na bázi 21164PC a AlphaPC 164RX a AlphaPC 264DP na bázi 21264. Několik třetích stran, jako jsou Samsung a API, také vyrábělo základní desky OEM, jako jsou API UP1000 a UP2000.

Aby společnost DEC pomohla třetím stranám při vývoji hardwaru a softwaru pro tuto platformu, vyrobila zkušební desky, jako jsou EB64+ a EB164 pro mikroprocesory Alpha 21064A a 21164.

Procesory 21164 a 21264 používala společnost NetApp v různých síťových úložných systémech, zatímco procesory 21064 a 21164 používal Cray ve svých masivně paralelních superpočítačích T3D a T3E .

Superpočítače

Nejrychlejší superpočítač založený na procesorech Alpha je ASCI Q v Los Alamos National Laboratory. Stroj byl postaven jako klastr HP AlphaServer SC45/GS. To mělo 4096 Alpha (21264 EV-68, 1,25 GHz) CPU, a dosáhl R max o 7.727 TFLOPS .

Poznámky

Reference

externí odkazy