Szerző: Bodnár Ádám

2001. január 11. 11:54

Bemutató: PowerPC G4+ processzor

A hétfőn bejelentett új Power Mac asztali gépek lelke a PowerPC G4+ processzor. Cikkünkben megpróbáljuk közelebbről is bemutatni ezt az Intel és AMD processzorok árnyékában méltatlanul mellőzött chipet olvasóinkak.

PowerPC G4+. A név valami hihetetlen erőt, magabiztosságot és nyugalmat sugároz. Azonban az Apple legújabb generációs asztali gépeiben található processzor törzskönyvében a sokkal prózaibb Motorola MPC7450 név szerepel. Bárhogy is legyen, a G4 egy letisztult, átgondolt koncepció alapján épült chipsorozat, amely méltatlanul kevés figyelmet kap az x86-os Intel Pentium III vagy AMD Athlon árnyékában. Cikkünkben szeretnénk kicsit közelebbről bemutatni ezt a chipet olvasóinkak, ezzel is kifejezve szimpátiánkat a Mac platform iránt.

A cikk fogyasztásához javaslom átolvasásra a Pentium 4 chipről szóló leírásunkat, ugyanis ott több olyan magyarázat magtalálható, amelyeknek ismerete fontos lehet ezen anyag maradéktalan élvezetéhez.


PowerPC G4: a negyedik generáció

A Motorola MPC7450 chipet 0,18 mikronos csíkszélességgel rézalapú technológiával gyártják. A mag liliputi méretű, mindössze 106 mm2. A processzor 32+32 kbyte elsőszintű és 256 kbyte órajelen működő másodszintű cache-el készül. A nyolc utasan asszociatív másodszintű gyorsítótár 256 bites buszon csatlakozik az elsőszintű cache-hez. Az MPC7450 harmadszintű cache-t is támogat, amelynek mérete legfeljebb 2 Mbyte lehet és amelyhez az adatút 64 bit széles.

A processzorok órajele 533 MHz-től 733 MHz-ig terjed, a 64 bites MPX/60x rendszerbusz sebessége 133 MHz. A chipeket 483 lábú CBGA (ceramic ball grid array) tokozásban hozza forgalomba a Motorola. Az MPC7450 szoftveresen kompatibilis a PowerPC 603e, PowerPC 740, PowerPC 750 (G3) és PowerPC 740x (G4) chipekre írt programokkal. A PowerPC G4 sorozat (így az MPC7450 is) 162 SIMD utasítást kapott, amely utasításkészlet az AltiVec névre hallgat.

[oldal:Az MPC7450 felépítése]

Az MPC7450 egy post-RISC szuperskalár futószalag-processzor. Az utasításkészlete bár meglehetősen nagy, de azonos vagy közel azonos méretű utasításokból áll, így a dekódolás hardveresen elvégezhető. A processzor 7 fokozatú futószalagot használ, ennek megfelelően az elágazásbecslés nem olyan kritikus, mint a super-pipeline (pl. AMD Athlon) vagy a hyper-pipeline (Pentium 4) megvalósítású processzorok esetében.

A G4 valódi dinamikus elágazásbecslést használ, azaz a korábbi elágazásbecslések eredménye alapján jelzi előre a soron következő elágazások végrehajtásának menetét. A korábbi becslések eredményeit tároló puffer (branch target buffer) 512 bejegyzést tartalmaz.

Az MPC7400 összesen tíz végrehajtóegységet tartalmaz, amelyek a következők:

  • 1 címgenerátor (a LOAD/STORE egységben)
  • 4 fixpontos végrehajtóegység
  • 1 lebegőpontos végrehajtóegység
  • 4 AltiVec végrehajtóegység

A PowerPC G4+ órajelenként átlagosan három utasítás (és egy elágazó utasítás) kibocsátásáea képes, szemben a G4-gyel, amelynél ez csak 2+1 utasítás.


A Motorola MPC7450 processzor belső felépítése

Az MPC7450 LOAD/STORE egysége letisztult tervezésű és egyszerű felépítésű. Az LSU (LOAD/STORE Unit) végzi el a címszámítást és tartalmaz egy hat elemű ütemezőt a memóriaelérések pontos időzítéséhez.

A PowerPC G4+ az összes STORE műveletet a program által meghatározott sorrendben végzi el, de lehetőség van órajelenként legfeljebb egy LOAD utasítás nem-sorrendi (out-of-order) végrehajtására. Az egy LSU végzi el az összes (egész, lebegőpontos és vektoros) végrehajtóegység adatokkal való kiszolgálását.

Az MPC7450 négy teljesen pipeline-olt integer végrahajtóegységgel rendelkezik, melyek közül csak az egyik képes az összes egész operandusú utasítás elvégzésére, a másik három csak egyszerűbb utasítások végrehajtására alkalmas.

Ami a lebegőpontos végrehajtóegységeket illeti, ezekből a G4-nek mindössze egy adatott meg, ami azt jelenti, hogy a processzor órajelenként "csak" egy kétszeres pontosságú lebegőpontos utasítás végrehajtására képes (az AMD Athlon-nak három lebegőpontos végrehajtóegysége van).

[oldal:A G4+ igazi ereje: a Velocity Engine]

A Motorola által a PowerPC G4 mikroprocesszorokba beépített SIMD utasításkészletet az AltiVec névvel illette. Az utasításkészlet 162 fix- és lebegőpontos SIMD utasítást tartalmaz. Azonban az utasítások végrehajtása merőben eltér az Intel és AMD által megvalósított úttól, ugyanis amíg a Pentium és Athlon processzorokban az MMX, SSE és 3Dnow! utasításokat a lebegőpontos végrehajtóegységek végzik el, addig a G4-ben dedikált SIMD hardver áll rendelkezésre. Ezt a jól csengő Velocity Engine névvel illették a marketingesek.

A Velocity Engine az MPC7450 esetében gyakorlatilag négy teljesen pipeline-olt 128 bites SIMD végrehajtóegységet és a hozzájuk tartozó 32 darab 128 bites regisztert és 6 virtuális regisztert jelent. Az ütemező órajelenként két utasítást képes a végrehajtóegységeknek feldolgozásra átadni.

Az AltiVec utasításkészlet 162 utasítás tartalmaz. Az utasításkészlet által feldolgozott vektorok 4,8 vagy 16 komponensből állnak, az utasítások legfeljebb három forrásopernadust és egy céloperandust határoznak meg. Az AltiVec utasításokat négy csoportra oszthatjuk:

  • intra-vektor aritmetikai műveletek
  • intra-vektor nem-aritmetikai műveletek (logikai műveletek valamint shift, rotate, compare, stb.)
  • inter-vektor aritmetikai műveletek
  • inter-vektor nem-aritmerikai műveletek

    Az intra-vektor műveletek egy forrásvektorral rendelkeznek, és ennek a vektornak a komponenseivel dolgoznak. Az inter-vektor műveletek esetében több forrásvektorról beszélünk. Az AltiVec inter-vektor nem-aritmetikai műveletek közül érdemes kiemelni a permutációt, amely két forrásvektor komponenseit tetszőleges sorrendben helyezi el a célvektorban.

    A négy AltiVec SIMD vektoros végrehajtóegység más és más feladat ellátására hivatott. Egyikük csak az inter-vektor műveletek végrehajtására szolgál, ezen felül van egy egyszerű és egy komplex fixpontos és egy lebegőpontos SIMD végrehajtóegység. A SIMD végrehajtóegységek felé órajelenként két utasítás dispatch-elhető.

    [oldal:Folytatás - AltiVec]

    A négy AltiVec végrehajtóegység egymástól független és teljesen pipeline-olt, ezért optimális körülmények között a G4 egyszerre négy (egy intra-vektor, egy egyszerű fixpontos, egy komplex fixpontos és egy lebegőpontos) AltiVec utasítást képes elvégezni. Ráadásul az AltiVec végrehajtóegységek rendkívül gyorsak is, az egyszerűbb utasítások késleltetése 1 órajelciklus, az összetettebbeké pedig 3-4.

    Fontos továbbá tudni, hogy a 128 bites SIMD regiszterekben akár egyszerre négy előjeles vagy előjel nélküli 32 bites egész vagy egyszeres pontosságú lebegőpontos érték tárolható.

    A gyakorlatban ez azt jelenti, hogy az MPC7400 processzor ideális esetben egyszerre akár nyolc 32 bites lebegőpontos és nyolc 32 bites fixpontos operandussal is dolgozhat, ami a 3D grafikai és multimédiás alkalmazások futtatása esetén hatalmas fegyvertény lehet. Az AltiVec dedikált utasításokat tartalmaz az 1/5/5/5 formátumú 16 bites pixelek kezelésére.

    Mindent egybevetve a PowerPC G4 sorozat igazán megnyerő darabja az MPC7450 processzor, amely átgondolt tervezésével, letisztult kialakításával bárkit levesz a lábáról. A dedikált AltiVec vektoros egységének köszönhetően pedig a teljesítményére sem lehet panasz. Az fps-őrültek itt találhatnak egy-két Quake 3 teszteredményt, amelyek az Apple 733 MHz-es Power Mac gépén készültek.


    Az MPC7450 a Motorola fotósának pózol

    Reméljük, cikkünkkel kicsit közelebb tudtuk hozni olvasóinkhoz ezt a chipet, és meg tudtuk mutatni, hogy nem csak az Intel (x86) által kijelölt út a járható a nagy számítási teljesítmény eléréséhez.

    Véleményedet elmondhatod a Fórumban!

  • Nagyon széles az a skála, amin az állásinterjú visszajelzések tartalmi minősége mozog: túl rövid, túl hosszú, semmitmondó, értelmetlen vagy semmi. A friss heti kraftie hírlevélben ezt jártuk körül. Ha tetszett a cikk, iratkozz fel, és minden héten elküldjük emailben a legfrissebbet!

    a címlapról