Alpha 21164

A Wikipédiából, a szabad enciklopédiából
Négy 300 MHz-es Alpha 21164 mikroprocesszor egy Cray T3E-600 processzorkártyán
Az Alpha 21164 lapka mikrofotója

Az EV5 kódnevén is ismert Alpha 21164 mikroprocesszort a Digital Equipment Corporation (DEC) fejlesztette ki és gyártotta az 1990-es évek második felében. Ez a processzor az Alpha utasításkészlet-architektúrát (ISA) valósítja meg; RISC típusú 64 bites architektúra, négyszeres kibocsájtású, sorrendi végrehajtású szuperskalár mikroprocesszor. A cég 1995 januárjában vezette be, az Alpha 21064A processzorok utódjaként, a Digital vezető csúcsmodelljének szerepére szánva. Utódja az Alpha 21264 lett 1998-ban.

Történet[szerkesztés | forrásszöveg szerkesztése]

Az Alpha 21164 első szilíciumcsipjei 1994 februárjában készültek el, és sikeresen indultak rajtuk az OpenVMS, Digital UNIX és Windows NT operációs rendszerek. Mérnöki mintáik 1994 vége felé készültek el, ezután 1995 januárjában mutatták be a 266 MHz-es induló változatot, amit 1995 márciusában a 300 MHz-es változat követett. A végső 333 MHz-es Alpha 21164-es modellt 1995. október 2-án jelentették meg, ez csak mintákban, kis példányszámban volt elérhető. Az Alpha 21164 processzort az Alpha 21164A jelű váltotta fel és ez a modell vált a Digital zászlóshajójává 1996-ban, mikor 400 MHz-es változata nagy mennyiségben is beszerezhetővé vált.

Felhasználása[szerkesztés | forrásszöveg szerkesztése]

A Digital az Alpha 21164 különböző órajelű változatait saját gépeiben: AlphaServer szerverekben, AlphaStation munkaállomásokban alkalmazta. A cég hasonlóan Alpha 21164 processzorokkal szerelte fel az Alpha VME 5/352 és Alpha VME 5/480 egykártyás számítógépeit valamint AlphaPC 164 és AlphaPC 164LX típusú alaplapjait. Az Alpha felhasználói partnere volt a Cray Research cég is, amely 300 MHz-es Alpha 21164 processzorokat alkalmazott a T3E-600 szuperszámítógép-modelljében. Független gyártók, mint pl. a DeskStation, szintén gyártottak Alpha 21164-processzoros munkaállomásokat.

Teljesítmény[szerkesztés | forrásszöveg szerkesztése]

Az Alpha processzorok folyamatosan tartották elsőbbségüket a mikroprocesszorok teljesítménye terén folyó versenyben; ezt az elsőséget a 275 MHz-es Alpha 21064A processzor vívta ki és a 21164-es vitte tovább, egészen az Intel Pentium Pro 1995 novemberi színrelépéséig, mikor egy 200 MHz-es Pentium Pro a SPECint95_base benchmark-csomagban felülmúlta a 300 MHz-es 21164 processzor teljesítményét. A rákövetkező évben megjelent 333 MHz-es 21164-es modell visszeszerezte az elsőséget a Pentium Pro-tól, ám később felülmúlta először a MIPS Technologies R10000-es processzora, majd ezután a Hewlett-Packard PA-8000 modellje, ugyanebben az évben.[1]

Leírás[szerkesztés | forrásszöveg szerkesztése]

Az Alpha 21164 négyszeres kibocsátású (four-issue) szuperskalár mikroprocesszor, amely legfeljebb négy utasítást képes átadni órajelciklusonként négy végrehajtó egységének: a két egészértékű (integer) és két lebegőpontos részegységnek. Az integer futószalag hét fokozatból áll, a lebegőpontos futószalagja tíz fokozatú. A 21164-es 43 bites virtuális címeket alkalmaz és 40 bites fizikai címet képes használni; ezáltal 8 TB virtuális memória és 1 TB méretű fizikai memória címzésére képes.

Fixpontos egység (integer unit)[szerkesztés | forrásszöveg szerkesztése]

A fixpontos (egészértékű) számító egység két fixpontos (egészértékű) futószalagot tartalmaz, valamint az egész regisztertárat (register file). A két futószalag nem egyenértékű – az egyik az összeadások, a másik a szorzások, tehát eltérő típusú utasítások végzésére szolgál, mégis mindkettő képes az általános összeadási, logikai, betöltő, összehasonlító és feltételes mozgató utasítások végrehajtására. Kizárólag a szorzó futószalag hajt végre biteltoló (shift), tároló (store) és szorzó utasításokat, a szorzást egy nem futószalagos szorzóegység végzi. Az összeadó futószalag kizárólagosan hajtja végre az ugró/elágazási utasításokat.

Az elágaztató, feltételes mozgató és szorzó utasítások kivételével az összes egyéb utasítás végrehajtása az ötödik futószalag-fokozatban kezdődik, egyciklusos latenciával. Az elágazási és feltételes mozgató utasítások végrehajtása a hatodik fokozatban kezdődik, hogy kibocsáthatók legyenek azzal az összehasonlító utasítással együtt, amelynek eredményétől függenek.

Az egész regisztertár negyven 64 bites regisztert tartalmaz, amelyből harminckettőt az Alpha Architektúra definiál, nyolc pedig a PALcode (Privileged Architecture Library code, hardver gyorsítási réteg a rendszerhívások céljaira) számára fenntartott gyors átmeneti tár (scratchpad memory) céljaira szolgál. A regisztertárnak négy olvasási portja és két írási portja van, amelyeket a két fixpontos futószalag egyenlően használ.[2]

Lebegőpontos egység[szerkesztés | forrásszöveg szerkesztése]

A lebegőpontos egység a két lebegőpontos futószalagból és a lebegőpontos regisztertárból áll. A két futószalag nem egyforma, az egyik a lebegőpontos utasításokat hajtja végre a szorzást kivéve, a másik pedig csak a szorzásokat végzi. Mindkét futószalagnak négy fokozata van. Az összeadó-futószalaghoz csatlakozik a nem-futószalagos működésű lebegőpontos osztó egység Az osztást kivéve minden lebegőpontos utasítás négy órajelciklusos latenciával rendelkezik. Az osztások latenciája változó, attól függően, hogy az éppen végrehajtott utasítás egyszeres vagy kétszeres pontosságú lebegőpontos adatokon történik éppen (ld.: IEEE lebegőpontos számformátum). A járulékos késleltetésekkel együtt az egyszeres pontosságű osztások latenciája 15–31 órajelciklus, míg a kétszeres pontosságú osztások 22–60 ciklusú latenciával bírnak.

Gyorsítótár[szerkesztés | forrásszöveg szerkesztése]

A 21164-es három szintű CPU-gyorsítótárral rendelkezik, két lapkára integrált és egy külső gyorsítótárral, amely opcionális. A gyorsítótárak és a hozzájuk tartozó logika 7,2 millió tranzisztorból áll.[3]

Az elsődleges gyorsítótár két külön tárra van bontva, külön az utasítások és az adatok számára: az utasítás-gyorsítótárra az I-cache, az adat-gyorsítótárra pedig a D-cache elnevezéssel hivatkoznak. Mindkettő mérete 8 KiB, direkt leképezésű tárak, sorhosszuk 32 bájt. A D-cache kétportos, a teljesítmény növelése érdekében, és a gyorsítótár megkettőzésével készült. Közvetlen átírás (write-through) visszaírási rendszert használ és on-read allokációt.

Az S-cache-ként is ismert másodlagos gyorsítótár szintén lapkára integrált, mérete 96 KiB. A 21164-esnek szüksége volt egy belső, integrált másodlagos gyorsítótárra, mert a processzor megnövekedett sávszélessége miatt egy külső másodlagos gyorsítótár nem tudta volna megfelelő gyorsasággal ellátni az adatok és utasítások beolvasását.[4] Ez a tár az eléréshez két órajelciklust igényel, a nagy méret miatt. A teljesítményt egy gyorsítótár-futószalag javítja. A belső másodlagos gyorsítótár egy másik előnye, hogy könnyen megvalósítható a többutas szervezés, és végeredményben ez a tár háromutas asszociatív szervezésű, amely nagyobb találati arányt biztosít, mint a közvetlen leképzésű gyorsítótárak.[5] Az S-cache, éppen nagy méretei miatt, két félben lett megvalósítva, amelyek oldalaikkal az I-box, E-box, F-box és M-box egységekkel érintkeznek, hogy a gyorsítótár két ciklus alatt biztosíthassa az adatokat.

A harmadik szintű gyorsítótár – a B-cache – egy külső egység, eleve külső SRAM memóriák használatára tervezték. A B-cache opcionális, és több Alpha 21164-et használó rendszerben nincs is meg. A B-cache mérete 1-től 64 MiB-ig terjedhet, kisebb méreteket nem támogat, mivel azokat fölöslegessé tette a lapkára integrált S-cache.[6] Ez a gyorsítótár közvetlen leképezésű, write-back visszaírási rendszert használ és on-write allokációt. A B-cache vezérlését egy lapkára integrált külső interfész egység végzi, nem úgy, mint a 21064-esnél, amely a feladathoz egy külső gyorsítótár-vezérlőt igényelt. A B-cache felépíthető szinkron és aszinkron SRAM-okból is, és rendszersínen keresztül érhető el.

Külső interfész[szerkesztés | forrásszöveg szerkesztése]

A külső interfész egy 128 bites rendszersín, amely a belső órajelfrekvenciának 3–15-tel való osztásából adódó órajelfrekvencián működik, azaz pl. 20-tól 100 MHz-ig terjedő órajelen 300 MHz-es belső (processzor-) órajelfrekvencia esetén. A rendszersín órajelét a processzor állítja elő.

Órajel[szerkesztés | forrásszöveg szerkesztése]

A belső órajel egy külső órajel-forrás kettővel való osztásával áll elő. Egy 300 MHz-es Alpha 21164-nek tehát egy 600 MHz-es órajelforrásra van szüksége.

Gyártás[szerkesztés | forrásszöveg szerkesztése]

Az Alpha 21164 processzor szilíciumlapkáján 9,3 millió tranzisztort tartalmaz, 16,5 × 18,1 mm (299 mm2) felületen, és ez közel járt a gyártási folyamat fizikai határaihoz. A lapkát a Digital ötödik generációs CMOS (CMOS-5 jelű) folyamatával gyártották amely egy 0.50 µm-es folyamat, négy alumínium vezetőréteggel.[7] A 21164-es processzor 3,3-voltos tápfeszültséget igényel; disszipációja 46 W 266 MHz-es, 51 W 300 MHz-en, és 56 W 333 MHz-es órajelen.

Tokozás[szerkesztés | forrásszöveg szerkesztése]

Az Alpha 21164 499 tűs keramikus, rácspontok közti (tűelrendezésű) pin grid array (IPGA) tokozásban jelent meg, mérete 57,40 × 57,40 mm. A tokhoz egy hőterelő is tartozik, amely a tokozásból kiálló két csapra erősíthető fel.

Származékai[szerkesztés | forrásszöveg szerkesztése]

Alpha 21164 (EV56)[szerkesztés | forrásszöveg szerkesztése]

500 MHz-es Alpha 21164 (EV56) mikroprocesszor

Az Alpha 21164 további fejlesztés alapjául szolgált, amely az EV56 kódnevet kapta. Az új processzort szintén Alpha 21164 néven hozták forgalomba, de eredetileg ez az Alpha 21164A jelű verzió volt. Ennek 366, 433, 500, 533, 600 és 666 MHz-es órajelű változatai vannak.[8][9]

Történet[szerkesztés | forrásszöveg szerkesztése]

Első leírása 1995 októberéből származik, amikor ismertették a Mikroprocesszor Fórumon. 1995. november 13-án a Digital bejelentette, hogy a minták még ugyanabban a hónapban elkészülnek. Az első, 366 MHz-en működő változatot 1996-ban mutatták be. 1966. július 8-án a Digital bejelentette, hogy a 433 MHz-es változat készen áll és egy 500 MHz-es változat is nagy tételben rendelkezésre áll 1996 szeptemberére. A 433 MHz-es változat egységára 1492 dollár volt, 1000-es tételben. A 500 MHz-es változatot 1997. március 31-én mutatták be és dobták piacra. A Samsung Electronics 1996 júniusában megállapodott a Digital-lal az Alpha 21164A másodlagos forrásként való gyártásában, így ez lett az egyetlen cég, amely a Digitalon kívül Alpha processzorokat gyártott (konkrétan a 666 MHz-es modellt). További 366 és 500 MHz közötti mintákat mutattak be 1996. november 11-én, amelyek nagy tételben 1997-ben voltak rendelhetők. Az Alpha 21164A processzorok a Digital Massachusetts-beli Hudson-ban lévő gyárában készültek, valamint a Samsung Kihueng-i gyárában, Dél-Koreában.

Az Alpha 21164A processzor felhasználói között megtalálható a Cray Research, a Digital, a Network Appliance (később NetApp), és a DeskStation. A Cray Research a 450, 600 és 675 MHz-es Alpha 21164A modelleket használta fel a késői T3E szuperszámítógépeiben. A Digital a különböző órajelű Alpha 21164A modelleket saját AlphaServer, AlphaStation, Celebris XL munkaállomásaiban és a Digital Personal Workstation-okba szerelte. A NetApp 400, 500 és 600 MHz-es Alpha 21164A-kat használt a NetApp filer tárolókban. A DeskStation az Alpha 21164A processzorokat a cég Raptor Reflex munkaállomásaiban alkalmazta.

Leírás[szerkesztés | forrásszöveg szerkesztése]

A leglényegesebb változás ebben a processzorban a Byte Word Extensions (BWX) megjelenése volt, amely az Alpha Architektúra egy olyan kiterjesztése volt, amely megkönnyítette a bájt és szó (2 bájt) méretű adatokhoz való hozzáférést. Ezeket az utasításokat a szorzó futószalag hajtja végre. Az Alpha 21164A 9,66 millió tranzisztort tartalmaz 14,4 × 14,5 mm (209 mm2) felületen.[10] A Digital a lapkát hatodik generációs, CMOS-6 jelű folyamatával készítette; ez egy 0,35 µm-es csíkszélességű CMOS folyamat, négy összekapcsoló fémréteggel. A Samsung-nál a processzorok a cég 0,35 µm-es, szintén négy fémrétegű folyamatával készültek, amit 1996-ban kifejlesztett 0,3 µm-es folyamatukból származtattak. Az Alpha 21164A processzor 3,3 voltos tápfeszültséget igényel; disszipációja 31,0 W 366 MHz-es, 36,0 W 433 MHz, 41,0 W 500 MHz, 43,5 W 533 MHz és 48,5 W 600 MHz-es órajelen.

Alpha 21164PC (PCA56)[szerkesztés | forrásszöveg szerkesztése]

Az Alpha 21164PC, kódnevén PCA56, az Alpha 21164A olcsóbb változata, melyet 1997. március 17-én jelentettek be. Ez a processzor a Digital és a Mitsubishi Electric Corporation közös fejlesztése, a modellt mindkét cég gyártotta. A Mitsubishi később – 1998 első felében – felmondta az együttműködést, beszüntette az Alpha 21164PC gyártását és kivonult az Alpha piacról, a cég piaci és gazdasági helyzetére hivatkozva.[11][12]

Az Alpha 21164PC 400, 466 és 533 MHz-es órajelfrekvenciákon üzemel. A főbb változtatások ebben a processzorban: az S-cache hiánya, a nagyobb I-cache, és a Motion Video Instructions (MVI) kiterjesztés beépítése voltak; ez utóbbi az Alpha Architektúra egy kiterjesztése, amelyben SIMD utasításokat vezettek be a MPEG kódolás gyorsítására. Az S-cache-től a tranzisztorszám csökkentése érdekében szabadultak meg, ami csökkentette a lapkaméretet és ezáltal az árat is. Az I-cache méretét viszont a duplájára növelték, 8 KiB-ről 16 KiB-ra, ami az S-cache hiányát volt hivatott kompenzálni, mivel az Alpha 21164 egyik teljesítményének egyik kulcseleme éppen az, hogy az I-cache és S-cache együttműködésével éri el a nagy teljesítményhez szükséges sávszélességet (ez biztosítja a megfelelő gyorsaságú adatáramlást). A B-cache méretét 512 KiB és 4 MiB közé redukálták, az 1 és 2 MiB méretet is támogatta. Ez a processzor 43 bites virtuális és 33 bites fizikai címeket használ.

Az Alpha 21164PC 3,5 millió tranzisztort tartalmaz 8,65 × 16,28 mm (141 mm2) lapkafelületen. A Digital ugyanazzal a CMOS-5 folyamattal gyártotta, mint az Alpha 21164-et. Az Alpha 21164PC 413 tűs IPGA tokozásba került, mérete 49,78 × 49,78 mm. 3.3 V-os tápfeszültséget igényel, disszipációja 26,5 W 400 MHz-en, 30,5 W 466 MHz-en és 35,0 W 533 MHz-en.

Az Alpha 21164PC a Digital AlphaPC 164SX alaplapjaiban való felhasználásra készült.

Alpha 21164PC (PCA57)[szerkesztés | forrásszöveg szerkesztése]

A Samsung Electronics tervezte és gyártotta a PCA57 jelű változatot, ami a PCA56 egy származtatott verziója, és a cég 0,28 µm-es CMOS folyamatához adaptálták. A PCA57 1998 vége felé jelent meg, 533, 600 és 666 MHz-es órajeleken működik. A PCA56-hoz képest javításokat is kapott: kétszeresére növelték benne az I-cache és D-cache méreteit, amik így rendre 32 KiB és 16 KiB. A PCA57 5,7 millió tranzisztort tartalmaz 6,7 × 15,0 mm (101 mm2) lapkafelületen. 2.5 V-os tápfeszültséget igényel, disszipációja 18 W 533 MHz-en, 20 W 600 MHz-en és 23 W 666 MHz-en.

A PCA57-est a Digital AlphaPC 164RX alaplapjában használták.

Csipkészletek[szerkesztés | forrásszöveg szerkesztése]

A Digital és a VLSI Technology fejlesztette a 21164 és származékaihoz való csipkészleteket. A Digital speciális alkalmazásspecifikus integrált áramköröket (application-specific integrated circuit, ASIC) is fejlesztett, amelyeket az AlphaServer család csúcsmodelljeiben, pl. az AlphaServer 8200 és 8400 modellekben használt fel.

21171[szerkesztés | forrásszöveg szerkesztése]

A 21171 számú, más néven Alcor, volt az első csipkészlet a 21164-hoz, ez 1995 januárjában jelent meg az általa támogatott mikroprocesszorral együtt. Tervezte és gyártotta a Digital. A 21171-es váltotta fel a DECchip 21071 jelű készletet, ezt úgy módosították, hogy támogassa a 21164 által használt sín-protokollt. Ez egy vezérlőáramkörből állt, amely magában foglalta a memória- és PCI vezérlőt, valamint négy adatszelet csipből, amelyek a 256 bites memóriasínt és a szokványos PCI sínt csatlakoztatták a rendszersínhez. A 21171 64 bit széles, 33 MHz-en futó PCI sínt támogat.

21172[szerkesztés | forrásszöveg szerkesztése]

A 21172-es, avagy másik elnevezésén az Alcor2, nem más, mint egy javított kivitelű 21171-es, amely támogatja a 21164A processzort.

Pyxis[szerkesztés | forrásszöveg szerkesztése]

A Pyxis csipkészlet, azaz a 21174-es, támogatja a 21164A és 21164PC mikroprocesszorokat. Az előző csipkészletekkel ellentétben ezt olcsóbb rendszerekhez tervezték, amely végső formájában egy 474 csatlakozójú CBGA tokozásban került forgalomba.[13] Költségérzékeny alkalmazásokban és belépő szintű munkaállomásokban (Digital Personal Workstation a-Series) használták fel és különféle alaplapokban, mint pl. az AlphaPC 164LX és 164SX. Bevezetésekor a 21174 ára 142 USD volt, 1000-es tételben.[14] A 21174 tartalmaz egy memóriavezérlőt és egy PCI vezérlőt. A memóriavezérlő legfeljebb 512 MiB SDRAM memóriát képes vezérelni, amelyhez a 128 bites memóriasínen keresztül csatlakozik. A memória ECC vagy paritásellenőrzéses védelemmel lehet ellátva. A PCI vezérlő konvencionális PCI vagy PCI-X sín használatát támogatja.

Polaris[szerkesztés | forrásszöveg szerkesztése]

A Polaris a VLSI Technology által személyi számítógépek számára kifejlesztett rendszervezérlő, amely támogatja a 21164A és 21164PC processzorokat. A Polaris 1997. június 16-án jelent meg.[15] Támogatja legfeljebb 768 MiB méretű EDO DRAM vagy legfeljebb 512 MiB SDRAM használatát. A memóriahozzáférés a 128 bit szélességű memóriasínen keresztül történik. Biztosít még egy 32 bites, 33 MHz-es hagyományos PCI sínt a be- és kimenethez.

A Polaris-t többek között a Digital is alkalmazta, az AlphaPC 164RX alaplapokban.

Jegyzetek[szerkesztés | forrásszöveg szerkesztése]

Fordítás[szerkesztés | forrásszöveg szerkesztése]

Ez a szócikk részben vagy egészben az Alpha 21164 című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel.

Források[szerkesztés | forrásszöveg szerkesztése]

További információk[szerkesztés | forrásszöveg szerkesztése]

  • Bannon, P., Saito, Y. (1997). "The Alpha 21164PC microprocessor". Proceedings of Compcon '97, pp. 20–27.
  • Bhandarkar, Dileep P. (1995). Alpha Architecture and Implementations. Digital Press.
  • Carlson, D. et al. (1998). "A 667 MHz RISC microprocessor containing a 6.0 ns 64 b integer multiplier". ISSCC Digest of Technical Papers, pp. 294–295.
  • Carlson, D.A.; Castelino, R.W.; Mueller, R.O. (November 1997). "Multimedia extensions for a 550-MHz RISC microprocessor". IEEE Journal of Solid-State Circuits 32 (11): pp. 1618–1624.
  • Jain, A.K. et al. (1997). "1.38 cm2 550 MHz microprocessor with multimedia extensions". ISSCC Digest of Technical Papers, pp. 174–175, 451.
  • Gronowski, Paul E. et al. (May 1998). "High-performance microprocessor design". IEEE Journal of Solid-State Circuits 33 (5): pp. 676–686.
  • Kobayashi, S. et al. (1997). "A 550 MHz Alpha microprocessor targeted at PC applications". Proceedings of the 1997 International Symposium on VLSI Technology, Systems, and Applications, pp. 203–207.
  • Alpha 21164 Microprocessor, Hardware Reference Manual (pdf), 3. (angol nyelven), Compaq [1996. március 4.] (1998. december). Hozzáférés ideje: 2013. november 17. 

Kapcsolódó szócikkek[szerkesztés | forrásszöveg szerkesztése]