AMD RX 5700 és 5700 XT: navigáció felfelé

Vajon mire elég az új architektúra és a korábban már bizonyított, 7 nm-es gyártástechnológia?

A Navi mélylélektana

Az új, Navi családba első körben egy lapka jön, Navi 10 jelzéssel. Ez egy 10,3 milliárd tranzisztorból álló, 251 mm²-es fejlesztés, amely a TSMC 7 nm-es node-ján készül. A rendszer gyakorlatilag mindenhol megváltozott a korábbi generációkhoz képest, és az AMD hivatalosan GFX IP 10-nek nevezi, míg a marketingben a már említett RDNA architektúra lesz használatos.


[+]

A Navi 10-es grafikus vezérlőben 20 darab úgynevezett WGP (Workgroup Processor) található. Ezek két darab CU-t, azaz Compute Unintot tartalmaznak, és ezekben belül van két darab, egymástól teljesen független, saját skalár egységekkel dolgozó, 32 utas, azaz 1024 bites, multiprecíziós SIMD motor. Egy WGP-ben 128 kB-os Local Data Share (LDS) található, amelyen a négy darab, egyenként 128 kB-os regiszterterülettel rendelkező SIMD motor osztozik. A helyi adatmegosztás mellett CU-nként egy darab 16 kB-os L0 adat gyorsítótár is fellelhető.

A WGP-n belül a saját regiszterterülettel és wave pufferrel rendelkező skalár egységekhez tartozik egy közös 16 kB-os skalár és egy 32 kB-os utasítás gyorsítótár. Előbbit csak a skalár feldolgozó éri el, míg utóbbit az összes feldolgozó hasznosíthatja, és természetesen mindkét gyorsítótár írható és olvasható is. Ezek mellett a textúrázást CU-nként egy blokk oldja meg, amely négy darab, csak szűrt mintákkal visszatérő, Gather4-kompatibilis textúrázó csatornát rejt.


[+]

Az látható, hogy van változás bőven a korábbi generációs architektúrához képest. A legfontosabb előnyöket az jelenti, hogy mostantól minden 1024 bites SIMD motorhoz tartozik egy skalár egység, és tulajdonképpen ez teszi lehetővé, hogy az adott wave ne csak 64 lane-ből, hanem 32-ből is állhasson.

A korábbi generációs architektúráknál, például a Vega esetében is azért volt egy wave-ben 64 lane, mert mindössze egy skalár egységen osztozott négy darab 512 bites SIMD motor. Tehát a wave-ek kiosztása úgy történt, hogy az első SIMD megkapta az első wave-et, majd ezen dolgozott négy órajelciklusig, amíg a skalár egységnek volt ideje úgymond megetetni a többi SIMD-et is. Mire tehát új wave-et kapott az első SIMD, addigra pont végzett a korábbi feladattal. És itt jön elő az, amit a negyedik oldal elején taglaltunk: hiába lenne kevesebb lane egy wave-ben, mondjuk 16, akkor is csak az történne, hogy az egyetlen egy skalár egység négy órajel alatt megeteti a négy SIMD-et, amelyek négy helyett már egy órajel alatt végeznek a munkával a kevesebb lane miatt. De hiába végeznek hamar, új wave-et nem tudnak kapni, mert a skalár egység el van foglalva, vagyis az elméleti teljesítmény 75%-a odaveszne.


[+]

A fentiek miatt tartozik mostantól minden SIMD-hez külön skalár egység, amely minden egyes órajelben tud biztosítani egy 32 lane-ből álló wave-et, amit aztán az adott SIMD egy órajel alatt le is tud futtatni. A 64 lane-ből álló wave-ek végrehajtása már két órajelig tart, vagyis itt azért egy órajelnyi üresjárata lehet a skalár feldolgozónak, de ez az újfajta dizájn átka, valahol meg kell fizetni a variálható wavefrontméret árát – valószínűleg számított rá az AMD, hogy ez a tranzisztorszám növelése lesz. A Navi egyébként maximum 20 konkurens wave-et tud kezelni feldolgozótömbönként.

Az SFU-k, vagyis a speciális funkciókért felelős egységek összesített száma nem változik. CU-nként továbbra is nyolc feldolgozóról beszélünk, csak a Navi esetében egy SIMD-hez tartozik mind, míg a korábbi architektúrában SIMD-enként néggyel lehetett számolni.


[+]

Jelentősen átalakult még a gyorsítótárak szervezése. A memóriavezérlőhöz egy 4 MB kapacitású, írható és olvasható másodlagos gyorsítótár és 4 darab ROP blokk kapcsolódik. Ezek a ROP blokkok úgynevezett pixelmotorokat tartalmaznak, egészen pontosan 4-et, és egy pixelmotor 4 blending, illetve 16 Z mintavételező egységből áll, ami összesen 64 blending és 256 Z mintavételezőt jelent. A ROP blokkok – a korábbi Vega architektúrához hasonlóan – ezúttal is a másodlagos gyorsítótár kliensei, vagyis a pixel- és textúraadatokra vonatkozó memóriaelérések koherensek. Ami itt érdekesség, hogy minden ROP blokk saját RB gyorsítótára egy olyan 128 kB-os L1 gyorsítótárhoz kapcsolódik, amelyet még öt darab WGP is elér, és ezek az egységek a raszterizálóval együtt ezen osztoznak. Strukturálisan ez viszonylag nagy átszervezés, de további tényező még, hogy a gyorsítótárak késleltetése 21-24%-kal csökkent a korábbi architektúrákhoz viszonyítva. Mindemellett az L1 gyorsítótárhoz kapcsolódik a CU-khoz tartozó L0 is, és utóbbi sávszélessége a korábbi generáció hasonló részegységéhez képest meg is duplázódott.


[+]

Természetesen megmaradt a Delta Color Compression technika, amely továbbra is teljes mértékben támogatja a 2:1, a 4:1 és a 8:1 arányú, veszteségmentes tömörítést, így jelentősen lehet vele csökkenteni a memóriabuszra vonatkozó terhelést. Sőt, a Navi esetében az AMD gyakorlatilag mindenhol DCC-t használ, ahol van értelme, így az egyes részegységek és a gyorsítótárak között is. Végül érdemes szót ejteni a memóriavezérlőről, amely 256 bites, és nyolc darab 32 bites buszon köthető rá egy-egy darab GDDR6 szabványú memórialapka.

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