AMD Radeon RX 5700 (XT) “Navi” preview: heeft AMD de GPU sweet spot te pakken?

Door


Nieuwe compute units en cache

De RDNA compute units hebben voldoende gelijkenis met die van GCN, maar er zijn ook de nodige verschillen. Nog steeds zijn er 64 rekeneenheden aan boord, maar waar die bij GCN waren opgedeeld in vier blokken van 16, zijn het bij RDNA twee blokken van 32. Elk onderdeel van zo’n SIMD-unit (single instruction multiple data) is in feite een simpele 32-bit (single precision in jargon) rekeneenheid, waarbij al die rekeneenheden binnen een SIMD-unit zoals de naam al aangeeft dezelfde berekening uitvoeren op andere data.

Waar de vier blokken bij GCN één werkverdeler hadden (een zogenaamde decode and issue unit) heeft bij RDNA elk van beide SIMD32 blokken een eigen unit. Dat betekent dat er iedere klokslag nieuwe instructies voor 64 stuks data kunnen worden ingeschakeld, waar dat vroeger vier klokslagen voor vier blokken van 16 zou duren. Het maakt in de praktijk dat het de compiler van 3D-engines vaker zal lukken om alle rekeneenheden binnen een compute unit gelijktijdig van werk te voorzien en daarmee de in de gpu beschikbare rekenkracht beter te benutten. Een ander verschil: de taken van een enkele werkgroep (een set identiek instructies die afhankelijk zijn van hetzelfde stuk gedeelde geheugen) moesten bij GCN altijd op één SIMD uitgevoerd worden. Een wave of warp van 64 datapunten waarop dezelfde instructie moet worden uitgevoerd, moest zodoende worden opgeknipt in vier waves van 16 om zo achter elkaar door dezelfde SIMD unit heen te gaan. Dat betekent dus dat er voldoende werkgroepen tegelijkertijd beschikbaar moesten zijn om alle SIMD's in alle CU's tegelijkertijd bezig te kunnen houden. Bij RDNA kan een Wave 64 worden opgeknipt naar twee groepen van 32 en worden opgesplitst over de twee naastgelegen SIMD32 clusters. Op die manier kan hetzelfde werk in één in plaats van vier cycli worden voltooid. Al met al kunnen de SIMD clusters binnen RDNA veel beter gevuld blijven, wat een flinke prestatiewinst met zich meebrengt.

Ook nieuw is dat twee compute units aan elkaar geschakeld kunnen worden, indien de software/compiler dat zinnig acht. Ze delen dan hun periferie, zoals de instructie- en datacaches en de texture units. Wanneer een game op een bepaald moment gelimiteerd is door de snelheid waarop textures verwerkt kunnen worden, kan door zo’n aaneenschakeling de hoeveelheid texture verwerkingskracht per SIMD32 of SIMD64 verwerking verdubbeld worden.

Dan de cache-architectuur. De genoemde 128 kB L1 cache die per blok van 10 compute units zit is nieuw. Deze fungeert als extra, snellere buffer voor de verbinding richting ram, maar ook om sneller data tussen verschillende CU’s uit te wisselen. Verder heeft AMD de verbinding tussen de rekeneenheden en het eerste cache-niveau (L0) verdubbeld. Voor alle cacheniveaus is volgens AMD verder de toegangstijd ingekort.

Een andere verbetering is dat zo’n beetje overal binnen de gpu pixel-kleurdata met lossless compressie wordt opgeslagen. AMD gebruikt daarvoor delta color compression, wat in de basis betekent dat voor iedere pixel niet het absolute kleurniveau wordt opgeslagen maar het verschil met de voorgaande pixel. Daardoor zijn er onder de streep veel minder bits nodig. Het gebruik van gecomprimeerde kleurdata is niet nieuw; AMD, Nvidia en anderen doen het al jaren. Wel nieuw is dat het zoals geschreven nu in vrijwel de gehele chip is doorgevoerd, tot aan de displaycontrollers aan toe. Dat maakt dat zelfs de uiteindelijk volledig berekende beelden gecomprimeerd in de framebuffer worden opgeslagen en dat de display engine, die deze beelden moet doorsturen naar de aangesloten monitor, dus ook gecomprimeerd kan binnenladen. Het zorgt ervoor dat bij alle caches en bij het GDDR6-geheugen de hoeveelheid data wordt beperkt en daarmee de praktische doorvoersnelheid wordt verhoogd.


Vergelijken

In deze review besproken twee producten

  Product Laagste prijs

AMD Radeon RX 5700

Navi 10, 2304 cores, 1465 MHz, 8192 MB, 256 bit, DirectX 12 fl 12_1, PCI-Express 4.0 x16

Specificaties

AMD Radeon RX 5700 XT

Navi 10, 2560 cores, 1605 MHz, 8192 MB, 256 bit, DirectX 12 fl 12_1, PCI-Express 4.0 x16

Specificaties

Dossier

Lees ook deze 3d-chip artikelen op Hardware.Info

Vond je deze review nuttig?

Lees dan voortaan onze uitgebreidste reviews als eerste én steun deze site, met een abonnement op Hardware.Info Magazine - nu ook alleen digitaal beschikbaar!

*