AMD Radeon R9 290X: Titán és Góliát

A GCN rendszerek különbségei

A GCN architektúra lassan két évvel ezelőtti debütálása komoly hatással volt a piacra, hiszen egy alapjaiban új elvek szerint tervezett rendszerről hullt le a lepel, mely már inkább az általános számítások hatékonyságát helyezte előtérbe, de természetesen a grafikáról sem feledkezett meg. A GCN architektúrát részletesen elemeztük korábbi cikkünkben. Mára kiderült, hogy a fejlesztés meghatározza majd a következő évtizedet, hiszen az új generációs konzolok közül a Microsoft Xbox One és a Sony PlayStation 4 is erre a rendszerre épít. Ennek megfelelően senki sem számította arra, hogy az architektúra helyett valami újat húzna elő az AMD, de a technológia azért fejlődik, így a GCN is átesett a maga kis ráncfelvarrásán.

Manapság több helyen is megjelenik, hogy különböző GCN verziók vannak, ami önmagában igaz, de ezeket az AMD nem számokkal jelzi. Mielőtt az újításokat megvizsgálnánk, mindenképp tisztázni kell, hogy konkrétan milyen GCN rendszerek léteznek. A legegyszerűbb a GCN S.I.-vel (Southern Islands) kezdeni, ami az alapot képviseli, és a fent linkelt cikkben erről írtunk. A GCN S.I.-re épül a Cape Verde (Radeon HD 7750 és 7770), a Pitcairn (Radeon HD 7850, 7870 és R9 270X) valamint a Tahiti (Radeon HD 7950, 7970 és R9 280X) kódnevű cGPU is. Technikai értelemben ezek tartalmazzák az első verziójú utasításarchitektúrát és a szintén első verziójú ACE egységeket.

A következő lépcsőt a Bonaire (Radeon HD 7790 és R7 260X), az Oland (Radeon R7 240 és 250) és a Hainan (erre még nem épül dobozos termék) kódnevű cGPU képviseli, melyek vegyítik az új GCN C.I. (Sea Islands) utasításarchitektúrát az eredeti ACE egységekkel. Ez amolyan átmenet az igazi szintlépés és az első GCN fejlesztés között. A legmodernebb kategóriát az új GCN C.I. utasításarchitektúra és a továbbfejlesztett ACE egységek párosítása jelenti. Ide tartozik a Kabini és a Temash kódnevű SoC APU-k IGP-je, valamint az új generációs konzolokban található APU-k integrált grafikus vezérlője, és persze jelen cikkünk alanya, a Hawaii kódnevű cGPU is.

A fentieket mindenképp fontosnak tartottuk tisztázni, így remélhetőleg a jövőben egyszerűbben azonosítják be a felhasználók a különböző GCN architektúrákat. Az is kiderült, hogy az új GCN C.I. verzió társítható az eredeti ACE egységekkel, de ez egyébként fordítva nem igaz, tehát a továbbfejlesztett ACE egységek csak az újabb utasításarchitektúrával működnek. Már csak annyi kérdés lehet, hogy mi a különbség a GCN S.I. és az újabb C.I. között. Nos, a felújítás során számos változás érte a memóriacímzést. Többek között megjelent egy memóriafigyelő, mellyel a shader észlelheti, ha egy memóriaterülethez hozzáférés történt. Jelentősen javult a hardver debugolhatósága, mivel a debugger státuszbitekkel ruházhatja fel a wavefrontokat, így a kód egy része tetszőlegesen kihagyható vagy lefuttatható. Ez jelentősen leegyszerűsítheti a komplex programok debugolását, főleg akkor, ha alacsony szintű interfészen keresztül történik a hardver programozása. Mindezek mellett megjelent a rossz memóriacímre való hivatkozás detektálása és jelentése, illetve az úgynevezett unaligned (illesztetlen) memóriaelérés támogatása. Ezek a funkciók elsősorban az új generációs konzolok miatt kerültek be, mert az Xbox One és a PlayStation 4 APU-jaiban található IGP-ket a fejlesztők később assembly szinthez közel programozzák majd, tehát alapvetően fontos, hogy a hardverhez közeli programozás a lehető legegyszerűbb legyen.

Mindezek mellett a GCN C.I. utasításarchitektúrában bemutatkozik az eszköz egységes címzése is, amivel az adott kernel vagy shader az LDS-t (helyi adatmegosztás), a privát memóriát, a videomemóriát és a rendszermemóriát egyetlen címezhető lineáris memóriaként láthatja. Ehhez tartozik az új FLAT utasításformátum, és az összes utasítás elérhető vele. Ezek az utasítások nem használnak erőforráskonstanst, amely meghatározná egy felület alapvető címzését, vagyis az adott shadernek például nem kell tudnia, hogy egy pointer mely fizikai területre mutat. Ez is inkább egy konzolokhoz, illetve az integrációhoz tervezett funkció, de hasznos lehet a dedikált grafikus vezérlő szintjén is. Legfőbb előnye, hogy eléggé leegyszerűsíti az egyes függvényhívásokat, így a fejlesztők újszerűen kezdhetnek el gondolkodni, ami új algoritmusokhoz vezethet.

A GCN C.I. utasításarchitektúra szintén bevezeti a rendszermemória egységes címzését, amivel a grafikus vezérlő elérheti a koherens rendszermemóriát. Ennek nem sok haszna van egy VGA-ban, így ez is inkább az Xbox One és a PlayStation 4 APU-ján belül lesz lényeges funkció, hiszen erre építették mindkét konzolt. Fontos megjegyezni, hogy ez a rendszer megfelelő HSA-MMU mellett dolgozik teljes funkcionalitással, így PC-n majd a Kaveri APU IOMMU v2.5-ös egységével lesznek kihasználhatók a legfőbb előnyei.

A GCN architektúra sarkalatos pontjának számítanak még az ACE egységek, melyek úgymond opcionális részei a rendszernek, vagyis implementációjuk nem kötelező, tehát egy adott GPU működik nélkülük is, de olyan előnyt kínálnak, hogy az általános számítások felé haladó világban ezeket már nem lehet kihagyni. Az AMD azonban meglehetősen finoman állt hozzá az új irányokhoz, így a Cape Verde, a Bonaire, a Pitcairn és a Tahiti cGPU-k két ACE-t kaptak. Ezek a parancsprocesszorhoz szorosan kapcsolódtak, és az erőforrás allokációjával, a kontextusváltással és a feladat prioritásával kapcsolatban hoztak döntéseket. Természetesen az ACE out of order logikát alkalmazott az erőforrások mielőbbi felszabadítása érdekében. Egyszerűen összefoglalva elmondható, hogy minél több ACE egység van az adott lapkában, annál hatékonyabb a multiprocesszorok úgymond etetése. Viszont ennek az előnye igazából akkor jön ki, ha az adott program rengeteg általános számítási feladattal dolgozik, és azok különböző kontextusból származnak.

A továbbfejlesztett ACE egységet az AMD már elhelyezte a Kabini és a Temash kódnevű SoC APU-k IGP-jében, valamint az Xbox One és a PlayStation 4 APU-jában, de csak most, a Hawaii kódnevű lapka megjelenésével döntötte el a cég, hogy részletesen beszámol a változásokról. Az ACE alapvető funkciója nem változott, viszont számos újítást mutatott be.

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