„POWER3” változatai közötti eltérés

697 bájt hozzáadva ,  6 évvel ezelőtt
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 [[Digital Equipment Corporation|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 órajelfrekvenciaó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 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.
 
...<!-- ide jön a folytatás -->