A POWER3 egy 32/64 bites mikroprocesszor, amely 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.[1] 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, amelynek 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.

Két 375 MHz-es IBM POWER3-II processzor egy RS/6000 44P 270 CPU modulján

LeírásSzerkesztés

 
A POWER3 processzor logikai vázlata

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, amely 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árom ciklusos 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, amelybő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, amely 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, ami 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ét portos, 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 270 mm² területű lapkán. Az IBM CMOS-6S2 folyamatával gyártották, ami egy hibrid CMOS folyamat, 0,25 µm-es csíkszélességet és 0,35 µm-es fémrétegeket alkalmaznak benne. A folyamatban öt alumínium vezetőréteget alakítanak ki. Tokozása ugyanolyan 1088 csatlakozós CCGA – (Ceramic Column Grid Array, kerámia tok, több sorban rövid kivezetésekkel) – mint amibe a P2SC került, csak eltérő lábkiosztással.

POWER3-IISzerkesztés

 
POWER3-II

A POWER3-II egy javított POWER3, amelyben a maximális órajelfrekvenciát 450 MHz-re növelték (a processzornak 333, 375, 400 és 450 MHz-es órajelű változatai is készültek).[2] Ez 23 millió tranzisztort tartalmaz, mérete 170 mm². Ezt az IBM CMOS7S folyamatával gyártották, ami egy 0,22 µm-es CMOS folyamat hat rétegű réz fémezéssel. Ezt a POWER4 processzor követte a 2001-ben.

JegyzetekSzerkesztés

  1. New IBM POWER3 chip.
  2. IBM Power3-II Family Processors (angol nyelven). Stanford VLSI Group

FordításSzerkesztés

Ez a szócikk részben vagy egészben a POWER3 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. Ez a jelzés csupán a megfogalmazás eredetét jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

ForrásokSzerkesztés

További információkSzerkesztés

Kapcsolódó szócikkekSzerkesztés