A POWER3 egy 32/64 bites mikroprocesszor, mely a PowerPC utasításkészlet-architektúra (ISA) 64 bites verzióját implementálja, beleértve az ISA összes (akkori) opcionális utasítását, mint például a POWER ISA a POWER2 által megvalósított verziójában szereplő utasítások, a PowerPC ISA opcionális utasításait azonban nem tartalmazza. Az IBM tervezte és kizárólag maga gyártotta. 1998. október 5-én jelent meg, az RS/6000 43P Model 260 felsőkategóriás grafikus munkaállomásban mutatkozott be.New IBM POWER3 chip.
Neve kezdetben PowerPC 630 volt, de később átkeresztelték POWER3-ra, feltehetően azért, hogy megkülönböztessék ezt és az általa felváltott szerver-orientált POWER processzorokat az inkább fogyasztói irányultságú 32 bites PowerPC processzoroktól. A POWER3 volt a POWER2 P2SC származékának utódja és ezzel lezárult az IBM sokáig elhúzódó áttérése a POWER architektúráról a PowerPC-re, melynek az eredeti tervek szerint már 1995-ben be kellett volna fejeződnie. A POWER3 processzort az IBM RS/6000 család szervereiben és munkaállomásaiban alkalmazták, 200 MHz-en. A Digital Equipment Corporation (DEC) Alpha 21264 és a Hewlett-Packard (HP) PA-8500 processzorokkal versengett.
Leírás
A POWER3 a PowerPC 620-on, egy korábbi 64 bites PowerPC implementáción alapult, ami későn jelent meg, gyengén teljesített és üzletileg is sikertelen volt. Mint a PowerPC 620-nak, a POWER3-nak is három fixpontos egysége van, de az egyetlen lebegőpontos egységet (FPU) felváltották két lebegőpontos szorzó-összeadó egységgel, és a kialakításhoz hozzáadtak még egy extra betöltő-tároló egységet (tehát a processzorban kettő van), amitől a lebegőpontos teljesítmény javulását várták. A POWER3 egy szuperskalár kialakítás, mely az utasításokat sorrendtől eltérő (out-of-order) módon hajtja végre. Hét fokozatú fixpontos (integer) futószalagja van, egy minimális nyolc fokozatú betöltő-tároló futószalagja és egy tíz fokozatú lebegőpontos futószalagja.
Az utasításfeldolgozás belépő rétege két fokozatból áll: lehívás és dekódolás. Az első fokozatban nyolc utasítás hívódik le egy 32 KiB-os utasítás-gyorsítótárból és egy 12 bejegyzéses utasításpufferbe kerül. A második fokozatban az utasításpufferből négy utasítást dekódol a dekódoló egység és bocsát ki az utasítássorokba. Az utasításkibocsátásnak van néhány korlátja: a két integer (egész, fixpontos) utasítássor közül az egyik csak egyetlen utasítást fogadhat, a másik max. négy utasítást fogadhat, és ugyanígy viselkedik a lebegőpontos utasítássor is. Ha a sorokban nincs elég használaton kívüli bejegyzés, az utasítások nem bocsáthatók ki. A belépő rétegnek egy rövid futószalagja van, ami kis, háromciklusos ciklusveszteséget eredményez téves elágazásbecslés esetén.
A harmadik fokozatban az utasítássorokban végrehajtásra kész utasítások operandusait kiolvassa a rendszer a regisztertárakból. Az általános célú regisztertár/regiszterfájl 48 regisztert tartalmaz, melyből 32 általános célú regiszter és 16 átnevezőregiszter a regiszterátnevezés céljaira. Az adatok kiolvasásához és az eredmények írásához szükséges portok számának csökkentése érdekében az általános célú regisztertárat megduplázták, tehát ennek két szinkronizált példánya van a processzorban; az első három integer végrehajtóegységet támogat, míg a második a két betöltő/tároló egységet támogatja. Ez az összeállítás egy másik modern mikroprocesszoréra, a DEC Alpha 21264-éra hasonlít, de annál egyszerűbb, mivel nem igényel extra órajelciklust a két regisztertár-másolat szinkronizálásához, mert mindez belefért a POWER3 hosszabb ciklusidejébe (az Alpha órajele ekkoriban kb. 500–600 MHz körül járt: a POWER3 kisebb órajelfrekvenciája hosszabb ciklusidővel jár). A lebegőpontos regisztertár 56 regisztert tartalmaz, amelyből 32 operatív lebegőpontos regiszter és 24 átnevezőregiszter. Összehasonlítva a PowerPC 620-szal, ennek több átnevezőregisztere van, mely több utasítás végrehajtását engedi meg soron kívül, így javítva a teljesítményt.
A végrehajtás a negyedik fokozatban kezdődik. Az utasítássorok kiküldenek max. nyolc utasítást a végrehajtó egységekhez. Az egész utasításokat három egész (fixpontos) egység hajtja végre (az IBM a „fixpontos egység” elnevezést preferálja). Ezek közül kettő egyforma és az összes egész műveletet végrehajtja, a szorzás és osztás kivételével. Az ezek által végrehajtott minden utasításnak egyciklusos késleltetése van. A harmadik egység hajtja végre a szorzás és osztás műveleteket. Ezek az utasítások nem futószalagosak és többciklusos látenciájuk van. A 64 bites szorzás késleltetése kilenc ciklus, a 64 bites osztásé 37 ciklus.
A lebegőpontos utasításokat két lebegőpontos egység (FPU) hajtja végre. Az FPU-k képesek az összevont szorzás-összeadás végzésére, ennek során a szorzás és az összeadás egyidejűleg történik. Az ilyen utasításoknak, a különálló összeadással és szorzással együtt, négy ciklusos késleltetése van. Az osztás és négyzetgyökvonás utasításokat ugyanazok az FPU-k hajtják végre, de ezeket a műveleteket célhardver segíti. Az egyszeres pontosságú (32 bites) osztás és négyzetgyökvonás utasítások késleltetése 14 ciklus, miközben a dupla pontosságú (64 bites) osztás és négyzetgyökvonás utasítások késleltetése rendre 18 és 22 ciklus.
A végrehajtás befejeződése után az utasítások véglegesítésük előtt pufferekben tárolódnak, azaz mielőtt eredményük láthatóvá válik a szoftver számára. A fixpontos utasítások végrehajtása az ötödik fokozatban, a lebegőpontos utasítások végrehajtása a nyolcadik fokozatban ér véget. A véglegesítés a hatodik fokozatban történik az egész, a kilencedik fokozatban a lebegőpontos műveletek számára. A visszaírás a véglegesítés utáni fokozatban történik. A POWER3 ciklusonként max. négy utasítást képes befejezni.
A PowerPC 620 adat-gyorsítótárat technikai és tudományos alkalmazások céljaira optimalizálták. Kapacitását kétszeresére, 64 KiB-ra növelték, hogy javítsa a gyorsítótár-találati arányt; a gyorsítótár kétportos, nyolc átlapolt kialakítású bankkal implementált, hogy képes legyen két betöltést vagy két kiírást végrehajtani egy ciklus alatt, bizonyos esetekben; a sorméretet 128 bájtra növelték. A második szintű gyorsítótár sínjének szélességét szintén kétszeresére, 256 bitre növelték, hogy kompenzálják a gyorsítótár nagyobb sorhosszúságát és megtartsák a négyciklusos látenciát a gyorsítótár újratöltésére.
A POWER3 15 millió tranzisztort tartalmaz egy területű lapkán. Az IBM CMOS-6S2 folyamatával gyártották, ami egy hibrid CMOS folyamat, melyben -es csíkszélességet és -es fémrétegeket alkalmaznak. A folyamatban öt alumínium vezetőréteget alakítanak ki. Tokozása ugyanolyan csatlakozós CCGA (Ceramic Column Grid Array, kerámiatok, több sorban rövid kivezetésekkel), mint amibe a P2SC került, csak eltérő lábkiosztással.
POWER3-II
A POWER3-II egy javított POWER3, melyben a maximális órajelfrekvenciát -re növelték (a processzornak 333, 375, 400 és órajelű változatai is készültek). Ez tranzisztort tartalmaz, mérete . Ezt az IBM CMOS7S folyamatával gyártották, ami egy -es CMOS folyamat hat rétegű réz fémezéssel. Ezt a POWER4 processzor követte a 2001-ben.
Jegyzetek
Fordítás
Források További információk
- gives more information about POWER1, POWER2, and POWER3 O'Connell, F. P.; White, S. W. (6 November 2000). "POWER3: The next generation of PowerPC processors". IBM Journal of Research and Development, Volume 44, Number 6. Song, Peter (17 November 1997). "IBM's Power3 to Replace P2SC". Microprocessor Report International Business Machines Corporation (5 October 1998). New IBM POWER3 chip. (sajtóközlemény)
Kapcsolódó szócikkek IBM POWER utasításkészlet-architektúra PowerPC Power Architektúra IBM Power mikroprocesszorok
Kategória:IBM Kategória:IBM mikroprocesszorok Kategória:PowerPC mikroprocesszorok Kategória:64 bites mikroprocesszorok