AMD Kaveri APUs im Test

Prozessoren | HT4U.net | Seite 8

Kaveri: Neuerungen rund um die iGPU



Gestern: VLIW-Technik


Mit jeder neuen APU-Generation von AMD können durchaus auch Neuerungen bei der integrierten Grafikeinheit Einzug nehmen, immer vorausgesetzt, dass AMDs Technik bei separaten Grafikkarten ebenfalls vorangeschritten ist und man diese adoptieren kann.

Bei der Grafikeinheit gab es mit Trinity Neuigkeiten. Setzte Llano noch auf die VLIW5-Architektur, wie sie etwa in der Radeon-HD-5000-Serie Verwendung fand, nutzten Trinity wie auch Richland die modernere VLIW4-Architektur der Radeon-HD-6900-Modelle (Northern Islands).

Ein Rückblick

Seit dem R600 – der Radeon-HD-2000-Serie – setzte AMD bei seinen GPU-Designs auf eine "Very-Long-Instruction-Word"-Befehlsarchitektur (VLIW). Grundlage hierfür stellen mehrere parallel ausgeführte Einheiten dar. Diese werden mit einem einzigen langen Befehl, bestehend aus mehreren Einzel-Instruktionen, gefüttert. Die Hardware-Grundlage bildeten bei AMD bisweilen Rechenwerke mit fünf parallelen Einheiten (4x ALU* und 1x SFU*) beziehungsweise Rechenwerke mit vier parallelen Einheiten (4x ALU).

Bild: AMD Radeon HD 7970 im Test

VLIW4-Rechenwerk (Cayman) in Gegenüberstellung mit VLIW5-Rechenwerk (Cypress)


Die einzelnen ALUs eines Rechenwerks werden von einem VLIW-Befehl mit unterschiedlichen unabhängigen Instruktionen gesteuert. Problematisch wird es jedoch, sobald zwei Instruktionen Datenabhängigkeiten aufweisen. Ist dies der Fall, so können diese, aufgrund der parallelen Ausführung in einem VLIW-Rechenwerk, nicht mehr in einem VLIW-Befehl gebündelt werden. In Anwendungsfällen mit vielen Datenabhängigkeiten zwischen den einzelnen Instruktionen kann dies dazu führen, dass nicht alle VLIW-ALUs ausgenutzt werden.

Um dies zu verhindern, ist eine komplexe Logik erforderlich, welche unabhängige Instruktionen zu VLIW-Befehlen zusammenfasst. Die Erzeugung dieser komplexen Befehle erfolgt jedoch nicht dynamisch zur Laufzeit, sondern wird vom Compiler übernommen und kostet somit keine zusätzlichen Transistoren.

Heute: GCN-Architektur



Mit Tahiti (Radeon-HD-7900-Serie) hat sich AMD jedoch von der VLIW-Architektur abgewendet und GCN (Graphics Core Next) eingeführt. Eben jene Technik steht der integrierten Grafikeinheit der neuen Kaveri-Modelle zur Seite.

Dabei handelt es sich um eine skalare Architektur aus Befehlssicht. Ab dem Tahiti-Chip werden keine VLIW-Befehle mehr genutzt, sondern Einzel-Instruktionen.


Bild: AMD Radeon HD 7970 im Test

Bisherige VLIW-Befehlsarchitektur im Vergleich zur skalaren Tahiti-Architektur


An dieser Stelle sollte man jedoch im Hinterkopf behalten, dass sich die Befehle stets auf eine Vielzahl von parallelen Rechenwerken beziehen – das sogenannte SIMD-Prinzip (Single Instruction, Multiple Data). Eine Anweisung (bisher VLIW, jetzt eine Einzel-Anweisung) wird gleichzeitig von mehreren parallelen Recheneinheiten auf verschiedene Daten angewandt. Wurde bei den letzten AMD-Designs eine VLIW-Instruktion an 16 Vec4-Rechenwerke verteilt, wird beim neuen GCN-Design eine Einzel-Instruktion auf ein Vec16-Rechenwerk angewandt.

Bild: AMD Radeon HD 7970 im Test

Vorteile der GCN-Architektur nach AMD


Natürlich bringt das neue GCN-Design Vorteile mit sich. Durch den Verzicht auf VLIW-Instruktionen kann eine höhere Auslastung der einzelnen Recheneinheiten gewährleistet werden, auch bei vielen Abhängigkeiten zwischen den einzelnen Instruktionen. Auch für den Entwickler ergeben sich durch eine einfachere Programmierung Vorteile. Die Kehrseite der Medaille ist der deutlich höhere Hardware-Aufwand. Das bisherige Design mit seiner Auslegung auf VLIW4-Befehle war speziell auf den Grafik-Spiele-Sektor angepasst und trotz seiner Limitierungen mit deutlich weniger Transistoraufwand konkurrenzfähig mit den Produkten von NVIDIA.

_____
* Der Begriff ALU steht für Arithmetic Logic Unit und bezeichnet ein Rechenwerk, das sowohl arithmetische (etwa Multiplikation, Addition) als auch logische Operationen (etwa Vergleich, Negation) durchführen kann. Die Special Function Unit (SFU) kann bei AMD zusätzlich auch Spezialfunktionen (etwa Wurzel, Kehrwert) beisteuern.