AMD Radeon RX 480 im Test: Schnell und effizient mit 8 GByte für 260 Euro
2/14Die vierte Generation von GCN wird schneller
Polaris basiert auf der „4th Generation“ Graphics Core Next – die HD 7900 basiert auf der ersten Generation, die R9 290 auf der zweiten und die R9 Fury auf der dritten Generation –, die die größten Änderungen seit der ersten Version beinhalten soll. AMD spricht davon, dass die Compute Units bei gleichem Takt bis zu 15 Prozent schneller arbeiten sollen als die Pendants auf der Hawaii-GPU. Dies will man durch verschiedene Änderungen erreicht haben.
Größere Änderungen hat es an den Geometrieeinheiten gegeben. Laut Mike Mantor, Senior Follow und Hauptverantwortlicher für Graphics Core Next, ist der Primitive Discard Accelerator nun deutlich besser als bei den älteren GPUs. Dieser ist nun dazu in der Lage, im finalen Bild nicht sichtbare Dreiecke deutlich früher als zuvor zu verwerfen. Vor allem in Verbindung mit MSAA soll es große Fortschritte gegeben haben, die teils um den Faktor drei die Geometrieleistung bei GCN verbessern. Zudem gibt es einen neuen Index-Cache, der bei kleinen Geometrieaufgaben Kopiervorgänge vermeiden soll. Durch die Änderungen soll zudem die Tessellation-Leistung auf Polaris massiv angestiegen sein.
Höhere Auslastung der Einheiten und mehr Effizienz
AMD ist bei der vierten GCN-Generation das Problem der schlechten Einheitenauslastung angegangen, das vor allem bei niedrigen Auflösungen ein Problem ist. Durch Änderungen am Instruction Prefetch gibt es so weniger sogenannte „Pipeline stalls“ – also eine Blockade der Recheneinheiten. Darüber hinaus wurde die Instruction Buffer Size erhöht, um die Single-Thread-Geschwindigkeit zu erhöhen. Zudem wurde der Umgang mit dem L2-Cache verbessert, auf den nun unter anderem effizienter zugegriffen werden kann.
Polaris kann darüber hinaus nun wie aktuelle GPUs von Nvidia auf sogenannte Load-Store-Einheiten zurückgreifen, die die Quell- und Zieladressen von einzelnen Threads innerhalb eines Taktes berechnen können. Jede Compute Unit kann auf 16 L/S-Einheiten zurückgreifen, sodass es deren 576 auf Polaris 10 und 256 auf Polaris 11 gibt. Jede Einheit hat einen 32 Byte großen Speicher.
Die vierte GCN-Generation liefert native Unterstützung für FP16- und Int16-Rechenaufgaben (halbe Präzision). Die Performance gegenüber FP32-Berechnungen steigt zwar nicht an, doch die Leistungsaufnahme wird verringert und der Speicher- sowie Registerbedarf fällt kleiner als bei FP32-Berechnungen aus. Bei Aufgaben mit doppelter Genauigkeit liegt die Leistung wie bis jetzt auch bei 1/16 der einfachen Präzision.
Ein 256-Bit-Speicherinterface mit neuer Kompression
Polaris 10 bietet die Rechenleistung der Hawaii-GPU, besitzt aber nur ein 256 Bit Speicherinterface im Vergleich zur 512-Bit-Variante der älteren GPU. Um dies auszugleichen, hat AMD einen neuen Speichercontroller entwickelt und bei diesem die Speicherkompression verbessert. Während Tonga bei der Delta Color Compression (Vergleich verschiedener Pixel mit zusammengefassten Delta-Werten) nur Farbwerte im Verhältnis 2:1 komprimieren konnte, kann Polaris nun auch mit 4:1 und 8:1 komprimieren – dieselbe Änderung wie Nvidia bei Pascal vorgenommen hat.
AMD ist nicht nur die komprimierbaren Farbverhältnisse angegangen, sondern auch, wie der Treiber mit der Komprimierung bei Polaris umgeht. AMD nennt hierzu einige Zahlen: Während zum Beispiel Tonga und Fiji bei derselben Speicherbandbreite knapp 20 Prozent mehr rausholen können als noch Hawaii (Hawaii nutzt keine Komprimierung), sollen es bei Polaris nicht ganz 40 Prozent sein.
Diesbezüglich soll auch die Verdopplung des L2-Caches hilfreich sein, der auf Polaris 10 zwei Megabyte groß ist. Doch dieser soll nicht nur die Speicherbandbreite unterstützen, sondern auch beim Energiesparen helfen. Durch den Cache soll die Leistungsaufnahme bei Speicherzugriffen rund 40 Prozent geringer ausfallen. Apropos Cache: Pro Compute Unit steht bei Polaris weiterhin 16 Kb L1-Cache zur Verfügung. Diesbezüglich hat es also keine Änderungen gegeben. Ebenfalls unverändert geblieben ist die DirectX-12-Unterstützung. Polaris kann somit mit dem Feature-Level 12_0 umgehen.
Der eigentliche Aufbau der GPU bleibt unverändert
Am eigentlichen Aufbau der GPUs hat sich dagegen nichts verändert. Jede Polaris-GPU hat einen Graphics Command Processor zur Verteilung der Grafik-Aufgaben. Zudem gibt es vier ACE-Einheiten (für Async Compute) sowie zwei Hardware Scheduler (für Async Compute, Virtualisierung und mehr) und einen Global Data Share, also einen Zwischenspeicher, auf den alle Compute Units zugreifen können.
Bei Polaris 10 gibt es vier Shader Engines, die neben neun einzelnen Compute Units jeweils eine Geometry Engine und einen Rasterizer bieten. Pro Shader-Engine gibt es zwei Render Backends mit jeweils acht ROPs – also insgesamt 32 ROPs. Es gibt acht 32 Bit breite Speichercontroller, die zusammen das 256 Bit Interface ergeben.
Polaris 11 verfügt über dasselbe Front End wie der größere Bruder. Es gibt jedoch nur noch zwei Shader Engines mit je acht Compute Untis. Anstatt vier Render Back Ends gibt es deren zwei (16 ROPs) und der L2-Cache wurde auf ein Megabyte halbiert. Das Speicherinterface ist 128 Bit breit, das auf Polaris 11 anders als bei Polaris 10 interessanterweise nicht aus einzelnen 32-Bit-Controllern, sondern aus zwei 64 Bit breiten Controllern besteht. Bei den Features selbst gibt es wiederum keine Unterschiede zwischen den beiden GPUs.
AMD Radeon R9 380X | AMD Radeon R9 390X | AMD Radeon RX 480 (8 GB) | Nvidia GeForce GTX 970 | |
---|---|---|---|---|
Chip: | Tonga | Hawaii | Polaris 10 | GM204 |
Transistoren: | ca. 5,0 Mrd. | ca. 6,2 Mrd. | ca. 5,7 Mrd. | ca. 5,2 Mrd. |
Fertigung: | TSMC 28 nm HP | Globalfoundries 14 nm | TSMC 28 nm HP | |
Shader-Einheiten: | 2.048 | 2.816 | 2.304 | 1.664 |
Basis-Chiptakt: | – | 1.120 MHz | 1.050 MHz | |
Maximaler Chiptakt: | 970 MHz | 1.050 MHz | 1.266 MHz | 1.178 MHz |
TFLOPs (FP32): | 4,0 TFLOPs | 5,9 TFLOPs | 5,8 TFLOPs | 3,9 TFLOPs |
TFLOPs (FP16): | ? | |||
KI-Kerne: | ? | |||
TFLOPs (FP16) mit KI: | ? | |||
Raytracing: | ? | |||
ROPs: | 32 | 64 | 32 | 56 |
Pixelfüllrate: | 31 GPix/s | 67 GPix/s | 41 GPix/s | 61 GPix/s |
TMUs: | 128 | 176 | 144 | 104 |
Texelfüllrate: | 124 GTex/s | 185 GTex/s | 182 GTex/s | 123 GTex/s |
DirectX (Feature-Level): | 12_0 | 12_1 | ||
Speichergröße: | 4 GB GDDR5 | 8 GB GDDR5 | 4 GB GDDR5 | |
Speichertakt: | 2.850 MHz | 3.000 MHz | 4.000 MHz | 3.506 MHz |
Speicherinterface: | 256 Bit | 512 Bit | 256 Bit | 224 Bit |
Speicherbandbreite: | 182 GB/s | 384 GB/s | 256 GB/s | 196 GB/s |
Leistungsaufnahme Typisch/Maximal: | 190 Watt/? | 275 Watt/? | 150 Watt/? | ?/145 Watt |