Bedobta a belépőszintre az Intel a dedikált GPU-ját

Az Iris Xe MAX egyelőre mobil termékekbe érkezik, de jövőre lesz asztali változat is, igaz csak az OEM-eknek.

Megújult architektúra

A grafikus számítások szempontjából az új Xe architektúra sokban hasonlít az elődökhöz, de érdemes kiemelni, hogy ez a dizájn az LP verzió, vagyis kifejezetten alacsony teljesítményszintre lett optimalizálva. A jövőre érkező HP variáns már nagyobb változásokat fog kínálni, ugyanakkor a mostanra letervezett struktúra azt is szolgálja, hogy később pusztán a shader tömbök számának növelésével lehessen skálázni a rendszert. Jelenleg viszont ez nem kritikus tényező, így a XeLP slice nevű shader tömbből mindössze egy található a lapkában. Ez egy igen nagy szerkezeti egység, és három nagyobb logikai részre osztható.

A legnagyobb előrelépés, hogy a geometria feldolgozásáért, tesszellálásért és raszterizálásért felelős setup motor immáron teljes egészében a shader tömbben található. Most ennek nincs jelentősége, de később majd lesz, hiszen így a shader tömb számának növelésével emelkedik a geometriai számításokra, illetve a raszterizálásra vonatkozó teljesítmény. Ráadásul az aktuális dizájn már most két háromszöget dolgoz fel órajelenként. A rendszerben található multiprocesszorokat az Intel subslice néven emlegeti, és ezekből maximum hat darab található a DG1-ben. A felépítésük meglehetősen komplex, hiszen minden ilyen részegység rendelkezik 16 darab feldolgozóegységgel, vagy ahogy az Intel hívja, EU-val (Execution Unit). A multiprocesszoron belüli feldolgozóegységeket nyolc darab textúrázócsatorna szolgálja ki, ezek mellett természetesen található egy 64 kB-os kapacitású L1 gyorsítótár, amely dinamikusan particionálható, így a meghajtó oldaláról tetszőlegesen beállítható, hogy a textúraadatok számára mekkora terület lesz fenntartva.

Hirdetés

Maguk a feldolgozóegységek a korábbi generációkhoz képest szintén változtak, mégpedig nem is kis mértékben, mivel az Intel két darab 128 bites vektormotor helyett mostantól egy 256 bitest alkalmaz. A helyzetet bonyolítja, hogy a feldolgozóegységek párosítva vannak, vagyis maguk a párok közös ütemezőt kaptak. Itt az Intel minden bizonnyal a tranzisztorokkal akart spórolni, hiszen az ütemező nem olcsó mulatság ebből a szempontból, így amellett tudták kvázi megduplázni a shader részelemek számát egy multiprocesszoron belül, hogy az ütemezők száma nem nőtt. Ráadásul a párosított feldolgozóegységek különálló vektormotorjai nem ugyanazt a regiszterterületet használják, ami elég nagy előny.

A logikai működést tekintve az Intel a frissített dizájnnal a függőséglimitre próbált reagálni, ami kifejezetten jellemző tényezője volt korábbi rendszereiknek. A régebbi feldolgozóegységek csak akkor voltak ideálisan kihasználva, ha az ütemező talált két olyan konkurens wave-et, amelyek futtathatók voltak egymás mellett. Ez a szituáció ugyan most is előfordulhat, hiszen egy ütemező etet két vektormotort, de a különálló regiszterterület miatt betölthető ezekre eltérő shader kód is. Ilyen formában ez már nagyon is komoly fegyvertény, mert a shaderek igen eltérők lehetnek egy programon belül. Némelyik kód nem igényel túl sok regisztert, de ennek az ellentéte is előfordulhat. Az Intel ugyan nem részletezte, hogy az Xe architektúrájukban egy feldolgozóegység mennyi regiszterterületet tartalmaz, az viszont biztos, hogy az új felépítéssel több működésbeli konfigurációra nyílik lehetőség.

A lényeg itt az, hogy ha túl sok regiszter szükséges egy shader futtatásához, akkor a statikus erőforrás-allokáció nem lesz optimális, vagyis relatíve kevés konkurens wave kezelhető egymás mellett egy vektormotorra levetítve. Esetlegesen annyira kevés, hogy az adatelérésből eredő késleltetés nem lapolható át megfelelő mértékben, ami a feldolgozóegység kihasználtságán jelentősen ront. Tulajdonképpen ez a kihasználtságlimit, amikor nincs elég konkurens wave ahhoz, hogy mindig dolgozzon a vektormotor. Erre az Xe architektúra olyan formában tud reagálni, hogy speciálisan fordítják le a kódot a hardverre, így aztán egy shader nem csak egy, hanem két, egymással párosított feldolgozóegységet is felhasználhat. Ezzel nő a regiszterterület optimális kihasználása, így pedig a konkurens wave-ek száma, méghozzá annak az árán, hogy újra képbe kerül a függőséglimit.

A legtöbb esetben valószínű, hogy különálló módon kezelik majd az egy multiprocesszoron belül található feldolgozótömböket, de bizonyos shadereknél érdemes a páros munkavégzésre szavazni, ami egy shader fordítón belül kezelhető döntés lesz.


[+]

A feldolgozóegységeken belüli 256 bites vektormotorok relatíve komplexek, és natívan támogatják a 32 és 16 bites lebegőpontos, illetve a 16 és 8 bites integer operációkat, egyedül a 32 bites integer a kakukktojás, mivel az ilyen adattípusra épülő feladatokat egy helyett két órajelciklus alatt, vagyis felezett sebességgel oldják meg. Az említett vektormotor mellett található még egy kétutas, ME nevű, trigonometrikus és transzcendens utasítások végrehajtásáért felelős, speciális funkciókat biztosító részegység.

A multiprocesszorok része az úgynevezett SLM (shared local memory) is, ami a helyi adatmegosztásra fenntartott memóriaterület. Ennek kapacitását az Intel nem adta meg, de minimum 32 kB-nak kell lennie.

A ROP blokkok tekintetében az Intel egy shader tömbbe hármat épített, ezek egyenként 8 blending egységgel rendelkeznek. Ha a DG1-es fejlesztést nézzük, akkor összességében egy shader tömbből áll az egész lapka, ezen belül pedig egy setup motor szolgál ki hat multiprocesszort és három ROP blokkot. A feldolgozó- és a blending egységek száma így összesen rendre 96 és 24, a textúrázócsatornák száma pedig 48. Mindezek munkáját egy 16 MB-os L3 gyorsítótár segíti, ami a célpiacot tekintve extrém nagynak tekinthető, de az Intel rendszereire mindig is jellemző volt, hogy annyira nem bántak hatékonyan a memóriaelérések átlapolásával, és a vállalat ezt továbbra is relatíve nagy gyorsítótárral próbálja kezelni. A rendszer egyébként 1,65 GHz-es maximális órajelen üzemel, ami a fentiek ismeretében a beépített 768 darab shader részelemre 2,5 TFLOPS-os szimpla pontosság melletti számítási teljesítményt, 79,2 gigatexel/s-os texel, valamint 39,6 gigapixel/s-os pixelkitöltési sebességet jelent.

A memóriavezérlő szempontjából érdekes lépés, hogy a DG1 LPDDR4X szabványú memóriákat támogat, méghozzá 4266 MHz-es effektív órajellel, a memóriabusz szélessége pedig 128 bit. Ez 68 GB/s-os memória-sávszélességet jelent. Ez valószínűleg elég, emellett a fejlesztés a mobil piac belépőszintjét célozza, ahol be kell férni 30 wattos keretbe, amit a DG1 meg is tesz a maga 25 wattjával. A GPU az adott processzorhoz x4-es PCI Express 4.0-s interfészen keresztül kapcsolható.

Megemlítendő még az úgynevezett copy engine is, ami gyakorlatilag két DMA motort jelent, a shared functions gyűjtőnevű rész pedig a parancsmotorokra vonatkozik, utóbbiakról egyelőre nincsenek részletes adatok.

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

  • Kapcsolódó cégek:
  • Intel

Azóta történt

Előzmények

Hirdetés