Microsoft Xbox 360 im Test: Auf dem Weg zur Marktführerschaft?
7/28Grafikchip
Bei der ersten Spielekonsole von Microsoft, der Xbox, setzte der Großkonzern auf nVidia als Grafikchippartner, die für das neuartige Projekt einen modifizierten NV25-Chip entwickelten, der auf den Namen NV2A hört. Jener hatte frappierende Ähnlichkeiten mit einer GeForce 4 und auch deren Vorgängerkarte, einer GeForce 3. Diese Chips wurden nur in einigen Punkten für den Betrieb in einer Spielekonsole modifiziert. Beim Nachfolger, der Xbox 360, setzt Microsoft nicht mehr auf die Grafikkraft aus Kalifornien, sondern wechselt zur Konkurrenz aus Kanada, ATi. Jene entwickelten einen neuartigen Chip, der speziell auf die Bedürfnisse einer Konsole angepasst wurde, weswegen er größtenteils über eine andere Architektur verfügt, als ATi in den Desktop-Chips einsetzt.
Jener neue Grafikchip wurde unter dem internen Codenamen „C1“ entwickelt, in der Öffentlichkeit wird dagegen eher der Name „Xenos“ in den Mund genommen. Der C1 wird im 90-nm-Prozess bei TSMC gefertigt und stellt kein gewöhnliches Einkern-Prinzip mehr dar, der Chip besteht vielmehr aus zwei Teilen. Einer stellt den eigentlichen „Shader-Core“ dar, während der Andere größtenteils ein 10 MB großer eDRAM-Speicher ist; später dazu mehr. Jener Chip verfügt voraussichtlich über ungefähr 232 Millionen Transistoren, während der Memorycontroller etwa 70 bis 80 fasst. Etwas unsicher bleibt dabei, ob ATi mit der Angabe der 232 Mio. Transistoren nur den eigentlichen Shader-Core oder diesen in Kombination mit dem Speicher und dessen Logik meint.
Der Shader-Core, den ATi als „Parent-DIE“ bezeichnet, verfügt über eine so genannte Unified-Shader-Architektur und ist somit einer herkömmlichen Desktop-Grafikkarte, wie etwa einer Radeon X1800, ein Schritt voraus. Diese setzen noch auf eine klassische Aufteilung zwischen Pixel- und Vertex-Shader, während der C1 nicht mehr zwischen den Shadern unterscheidet, womit jede Shader-Einheit Pixel- sowie Vertex-Operationen verarbeiten kann. Die Verteilung übernimmt dabei der Grafikchip selber. Jener ist wahrscheinlich mit 500 MHz getaktet, wobei diese Angabe aber noch von der damaligen Präsentation stammt. Neuere Informationen wollte ATi uns leider nicht mitteilen. Auf dem C1 sind drei SIMD-Arrays verbaut, wovon jede 16 ALU-Einheiten für Pixel- und Vertex-Operationen besitzt – mit den insgesamt 48 ALUs wird deutlich, dass ATi einen sehr Shader-starken Chip produziert hat. Der R520 hat beispielsweise pro Pipeline nur eine Arithmetic Logical Unit. Jede einzelne ALU kann eine Vektor (vec4)- und Skalar-Berechnung zur selben Zeit durchführen.
Weiterhin verfügt der Xenos über insgesamt 16 Texture-Mapping-Units, die pro Takt einen bilinear gefilterten Pixel berechnen können. Falls beispielsweise trilinear oder gar anisotrop gefiltert werden soll, benötigen die TMUs für einen Pixel mehrere Takte zur Fertigstellung. Neben dem Parent-DIE existiert, wie bereits erwähnt, der so genannte „Daughter-DIE“, der den Speichercontroller und den eDRAM beinhaltet. Beide Chipteile werden in einem Package gefertigt und über einen „Fast-Interlink“ miteinander verbunden. Warum ATi diesen etwas merkwürdigen Weg gewählt hat, bleibt rätselhaft, jedoch liegt die Vermutung nahe, dass dies die Chipausbeute verbessern soll. Es ist leichter, zwei fehlerfreie kleinere DIEs herzustellen, als einen komplexen DIE. Der Daughter-DIE beinhaltet dabei die 10 MB eDRAM von NEC, die im 90-nm-Prozess hergestellt werden und mit 500 MHz takten. Der Speicher fällt mit 10 Megabyte zwar reichlich klein aus, allerdings bietet dieser eine extrem schnelle Speicheranbindung an die ROPs: Auf satte (wenn auch theoretische) 256 GB/s kann der Speicher bei der Kommunikation mit den Raster-Operationseinheiten zurückgreifen, was in diesem Bereich des Chips einen extrem schnellen Datenaustausch zulässt.
Profitieren sollen durch die hohe Speicherbandbreite die Z- sowie Stencil-Berechnungen, aber auch die gesamten Anti-Aliasing-Berechnungen, die allesamt auf dem eDRAM durchgeführt werden. Deutlich langsamer sind die restlichen Anbindungen des Chips an die interne oder externe „Außenwelt“. So ist der Parent-DIE aufgrund des Taktes von 500 MHz und einem 256 Bit breiten Speicherinterface mit 32 GB/s an den Daughter-DIE angebunden. Die Bandbreite zur CPU liegt bei noch geringeren 10,8 GB/s auf dem Hin- sowie Rückkanal, wobei zwischen diesen beiden Elementen auch keine so große Bandbreite vorhanden sein muss. Ebenfalls interessant ist der Fakt, dass der Xenos über keinen eigenen VRAM – vom eDRAM einmal abgesehen – verfügt, sondern sich den Hauptspeicher mit der CPU teilen muss. Somit arbeitet die Xbox 360 mit einer „Unified Memory Architecture“, kurz UMA. Jener GDDR3-Hauptspeicher ist 512 MB groß und wird von Samsung produziert. Dieser taktet mit 700 MHz und wird über eine herkömmliche Crossbar, die in zwei 64-Bit-Blöcken aufgeteilt ist, was ein 128 Bit Speicherinterface ergibt, mit dem Grafikchip verbunden. Die Speicherbandbreite zwischen dem C1-Grafikchip und dem Hauptspeicher beträgt schlussfolgernd 22,4 GB/s. Der Speichertransfer der Grafikkarte wird von der CPU verwaltet.
Der Xenos-Chip von ATi lässt sich den Fähigkeiten zu Folge nicht einer Direct3D9-GPU zuordnen; der Chip entspricht eher dem D3D10-Standard. So muss beispielsweise eine herkömmliche D3D9-Grafikkarte einen Pixel- und Vertex-Shader mit 65535 Instruktionen ausführen können. Der C1 in der Xbox 360 kann dagegen Shader-Programme mit mehr als 500000 Anweisungen bearbeiten, wobei man hier nicht mehr strikt zwischen Pixel- und Vertex-Programmen unterscheidet. Darüber hinaus besitzt der C1 ein Feature namens „Memexport“, durch das die GPU Vektor-Daten direkt in den Arbeitsspeicher schreiben und von diesem lesen kann, was eventuell selbst eine D3D10-Grafikkarte nicht beherrschen wird. Weitere, detailliertere Ausführungen über die API-Funktionen wollen wir uns an dieser Stelle sparen, da dies den Umfang des Abschnittes zu sehr in die Länge ziehen würde.
Der Grafikchip von ATi beherrscht bis zu 4-fach Anti-Aliasing, wobei der Spieleentwickler entscheiden kann, ob dieses auf 2xAA oder gar 1xAA reduziert werden soll. Dabei ist das Samplemuster, im Gegensatz zum neuen R5x0-Chip, nicht frei programmierbar, womit diese nicht mehr nachträglich verändert werden können. Die verwendeten Sample-Muster sind leider nicht bekannt. Da die Kantenglättung des C1 aufgrund der extremen Speicherbandbreite im eDRAM ausgeführt wird, soll 4-faches Anti-Aliasing in der Auflösung 1280x720 gegenüber 2-fachem AA nur einen Leistungsverlust von fünf Prozent aufweisen – ob dies den Tatsachen entspricht, wird sich aber noch zeigen müssen. Der aufmerksame Leser mag bereits verwirrt sein: Wie passt denn überhaupt Anti-Aliasing unter der 720p-Auflösung in einen nur 10 MB großen Speicher? „Gar nicht“ ist die Antwort, bereits bei 2x-Anti-Aliasing benötigt man in dieser Auflösung einen mindestens 14 MB großen RAM.
Um diesen Nachteil auszugleichen, wendet ATi einen raffinierten Trick an. Der C1 teilt das Bild, wenn der eDRAM nicht mehr ausreicht, in Kacheln („Tiles“) ein, führt diverse Z-Operationen zur Entdeckung unsichtbarer Pixel durch und nach dem AA-Algorithmus wird dieser Tile in den Systemspeicher geschrieben, bevor der nächste Tile berechnet wird. Somit reichen gar die 10 Megabyte an eDRAM aus und der Performanceverlust durch diese Methode soll, wie bereits erwähnt, recht gering sein. Der C1 rendert jeglichen Shader-Code, wie auch der R520, nur mit voller Präzision, also dem Format FP32. FP16-Code kann der Xenos dagegen nicht ausführen. Weiterhin bietet der Chip die Kompressionsverfahren „S3TC“ sowie „3Dc“. Auch FP16-HDRR (64 Bit), wie es der R5x0 und der NV4x/G70 verarbeiten können, soll mit dem Xenos möglich sein. Allerdings wird der Grafikchip laut ATi meistens in einem „FP10“ genannten Modus High-Dynamic-Range-Rendering berechnen. Dieser soll zwar einige Nachteile haben, aber dafür den knappen Speicher schonen und dabei eine sehr gute Performance haben. Anti-Aliasing soll bei jedem HDRR-Modus möglich sein.
Insgesamt hat ATi einen hoch modernen Chip produziert, der vor allem in Shader-Berechnungen seine Stärken haben wird. Ob dies reichen wird, um anspruchsvolle Xbox-360-Spiele flüssig darzustellen und die Konkurrenz in Form des „RSX-Chips“ von nVidia in der Playstation 3 zu schlagen, wird sich erst in einigen Monaten zeigen.