AMD Kabini APU az asztalon

Jaguar, a serdülő nagymacska

Az 2011 januárjában megjelent, meglehetősen nagy sikert arató Brazos platform alapját képező, Bobcat kódnevű CPU-magok kialakításakor a tervezőknek számos kompromisszumot kellett kötniük a fogyasztás alacsonyan tartása végett. Az egyenesági leszármazottnak tekinthető Jaguar magok kialakításakor a 40 nm-ről 28 nm-es gyártástechnológiára való áttérés lehetőséget teremtett, hogy az előd számos teljesítménybeli kerékkötőjétől megszabadulhassanak. A két generáció közötti változások hasonlítanak az K8-alapú Athlon64 és a K10-alapú Phenom processzorok közti fejlődésre, azaz a processzormag felépítése alig változott, miközben a Jaguar számos ponton kiegészíti a Bobcat képességeit. A Jaguar továbbra is 2 utasítás szélességű, alacsony fogyasztású CPU-mag, viszont néhány ponton a korszerű követelményekhez igazították.


[+]

A modern programok – legyen szó akár játékokról, akár médiafogyasztásról – nagyban építenek a 128 bites SIMD egész számos és egyszeres pontosságú (azaz SSE utasításokat használó) feldolgozásra, ezen a területen a Bobcat nem jeleskedett, köszönhetően a 64 bites FPU-jának. Ez azt jelenti, hogy a fogyasztás leszorítása érdekében az FPU 64 bites végrehajtókat tartalmazott, ehhez igazodva a 128 bites utasításokat az utasításdekóder két 64 bites műveletre törte el, amelyek végrehajtása egymás után történhetett.

Hasonlóan a K8->K10 átmenethez a Jaguar FPU-jában már 128 bites végrehajtó egységeket találunk, így az SSE-utasításcsaládok műveleteit egy menetben végre tudja hajtani. Ehhez alkalmazkodva az utasítások órajelenként 128 bit adatot tudnak írni és/vagy olvasni az L1 cache-ből, megduplázva a Bobcat 64 bites sávszélességét.

Mindennek a sebességre, illetve IPC-re gyakorolt jótékony hatása mellett további következménye, hogy lehetőség nyílt a – jelenleg ugyan még csekély elterjedtséggel rendelkező – 256 bites AVX utasításkészlet támogatására, ezen utasításokat két 128 bites félre törve, ahogyan azt a Bulldozer-Piledriver-Kaveri processzorok is teszik; ezzel, valamint az SSE4.1, az SSE4.2, az AES készletek révén a Jaguar magok a támogatott utasításkészletek terén szinte utolérték nagyobb testvéreiket, egyedül az FMA-utasítások nem támogatottak.


[+]

Az említett 128 bites végrehajtókat alacsony órajelre optimalizálták: általánosságban elmondható, hogy a műveletvégrehajtáshoz kevesebb órajelre van szükségük, mint magas órajelre tervezett nagytestvéreinek.

Művelet Jaguar K10 Bulldozer
Integer SIMD szorzás 2 órajel 3 órajel 4 órajel
Integer SIMD ALU műveletek 1 órajel 2 órajel 2 órajel
Egyszeres pontosságú lebegőpontos SIMD összeadás 3 órajel 4 órajel 5 órajel
Egyszeres pontosságú lebegőpontos SIMD szorzás 2 órajel 4 órajel 5 órajel
Dupla pontosságú lebegőpontos SIMD összeadás 3 órajel 4 órajel 5 órajel
Dupla pontosságú lebegőpontos SIMD szorzás 3 órajel 4 órajel 5 órajel

Látható tehát, hogy a Jaguar FPU-ja kiemelkedően teljesít a fent említett egész számos és egyszeres pontosságú lebegőpontos SIMD végrehajtás terén az 1-2 GHz-es órajeltartományban.

A 2 db egész számokon dolgozó skalár ALU végrehajtó nagyrészt megegyezik a Bobcat egységeivel, kiegészítették viszont a K10-ben bemutatkozott dedikált osztóművel, valamint képességeiket kibővítették a CRC32, POPCNT/LZCNT, illetve a Piledriverben megjelent bitmanipulációs (BMI1) csoporttal.


[+]

További hátráltató tényezője a Bobcatnek az L2 cache volt, amely magonként 512 KB méretű, és a fogyasztást szem előtt tartva a mindenkori magórajel felén működött. A Jaguar immár magórajelen működő, 2 MB méretű, a magok között megosztott L2 cache-sel rendelkezik, és legfejlebb 4 mag dolgozhat ebbe a tárhelybe. Ugyan nyers hozzáférési sebességben (25 vs. 17 órajel) elmarad a Bobcat másodszintű gyorsítótárától, de összteljesítmény szempontjából négyszeres kapacitása révén jócskán ellensúlyozni tudja ezt a hátrányt.

Nem utolsósorban az utasításdekóder kiegészült egy 4 x 32 bájtos ciklustárolóval, amely az L1I-ből utoljára kiolvasott nyers, még lefordítatlan x86/x64 utasításokat tartalmazza, egyfajta "L0" utasításcache szerepét játszva. Ezáltal a legfeljebb 128 bájt méretű ciklusok lefuttatása nem igényel L1I-hozzáférést, csökkentve ezzel a fogyasztást. Ehhez hasonló – bár némileg több megkötéssel bíró – cache-t a korábbi Core 2 processzorokban láthattunk.


[+]

A fent részletezett módosítások mellett az AMD mérnökei néhány fokozattal meghosszabbították a processzor futószalagját, legalább 2 db lépcsővel (1 az utasításdekódernél és 1 az FPU-ban) kiegészítve azt, annak érdekében, hogy a Jaguar magok a nagyobb komplexitás ellenére is magasabb órajelen működhessenek. Feltehetően a tervezők így megpróbáltak elébe menni annak a K8->K10 váltásnál bekövetkezett fiaskónak, miszerint első – Phenom/Barcelona – körben az alacsonyabb elérhető órajel elrejtette a következő – Phenom II – iterációban már egyértelműen megmutatkozó mikroarchitekturális előnyöket.


[+]

A fenti táblázatból kiderül, hogy az ecsetelt módosítások ellenére jelentősen csökkent egyetlen mag mérete, ami természetesen leginkább a csíkszélességváltásnak köszönhető. Ilyen kis területigény mellett nem is csoda, hogy az Xbox One és a Playstation 4 központi egysége egyaránt 8 darab Jaguar magot vonultat fel.

A cikk még nem ért véget, kérlek, lapozz!

  • Kapcsolódó cégek:
  • AMD

Azóta történt

Előzmények

Hirdetés