PS4: Hardware-Optimierungen für Spitzen-Spieleleistung
Mark Cernys Vision beim Design der PS4-Hardware: Einfach zu programmieren, hohe Transferraten und effizient beim gleichzeitigen Ausführen von 3D-Grafik- und GPGPU-Code.
Seit Jahren hinken die aktuellen Wohnzimmer-Konsolen Xbox 360 und Playstation 3 den grafischen Fähigkeiten von Spiele-PCs hinterher. Immerhin steht die Ablösung bald bevor: Microsoft will am 21. Mai erste Details zur Xbox 720 verraten und Sony plant offenbar noch in diesem Jahr in bestimmten Ländern die PS4 auszuliefern. Nun gab der Lead Architect der PS4, Entwicklerlegende Mark Cerny, weitere Details in einem Interview mit dem Online-Magazin Gamasutra preis.
Cerny war es besonders wichtig, Spieleentwicklern eine leicht programmierbare Hardware in die Hände zu geben. Als abschreckendes Beispiel diente dabei die PS3, deren für damalige Verhältnisse hohe theoretische 3D-Leistung sich wegen der kompliziert zu programmierenden CELL-Hardware nur schwer in der Praxis freisetzen ließ. Daher entschied sich Sony bei der PS4 für x86-CPUs, versuchte durch spezielle Hardware-Techniken Flaschenhälse zu beseitigen und die Spieleleistung im Vergleich mit aktuellen Spiele-PCs stark zu erhöhen. Außerdem wollte man die Multiplattformentwicklung vereinfachen: Eine PC-3D-Engine ließe sich in Wochen – und nicht Monaten – auf die PS4 portieren, erklärte Cerny.
Das Herz der PS4 ist ein AMD-Kombiprozessor mit einer Achtkern-Jaguar-CPU und einer modernen DirectX-11.1-GPU. Letztere nutzt eine überarbeitete GCN-Architektur und hat 1152 Shader-Rechenkerne, die bei 800 MHz theoretisch 1,843 Billionen Berechnungen pro Sekunde packen. Die reine Grafikleistung läge damit in etwa auf dem Niveau aktueller 150-Euro-Grafikkarten. Doch Sony beziehungsweise AMD hat an bestimmten Stellschrauben gedreht und will die Spieleleistung der PS4 auf eine höhere Ebene hieven.
So bietet die PS4 etwa Unified Memory – das heißt CPU und GPU können gemeinsam auf 8 GByte GDDR5-Speicher zugreifen. Dessen Transferrate von 176 GByte/s (256 Bit, 2750 MHz) reicht zum nativen Rendern in der Full-HD-Auflösung (1920×1080 Pixel) aus. Für Cerny war GDDR5-Speicher erste Wahl, um die Speicherbandbreite als typischen Flaschenhals beim Einsatz hochaufgelöster Texturen zu verhindern. Alternativ hätte man laut Cerny auch nur 128 Datenleitungen in Verbindung mit einem zusätzlichen, extrem schnellen eDRAM für den Framebuffer nutzen können; das wäre einfacher zu produzieren, hätte jedoch den Programmieraufwand für Entwickler erhöht.
Die GPU kann Cerny zufolge außerdem über einen zusätzlichen Bus ohne Umwege über deren L1- oder L2-Cache direkt in den Systemspeicher schreiben oder Werte auslesen, was das Synchronisieren der Daten zwischen CPU und GPU vereinfachen soll. Überdies verbesserte man die Cache-Verwaltung beim Ausführen mehrerer Kontexte, was Overhead reduziert und das gleichzeitige Ausführen von GPU-Render- und -Rechenaufgaben beschleunigt. In Spielen lassen sich dadurch beispielsweise grafisch aufwendige Szenen mit GPGPU-beschleunigten Physikeffekten ausstatten, ohne dass die Performance allzu stark in den Keller geht. Höchstwahrscheinlich werden PS4-Spiele daher verstärkt auf schicke physikalische Effekte setzen.
Dafür spricht auch, dass AMD die GCN-Technik in der PS4-GPU diesbezüglich aufgebohrt hat. Demnach wurde die Anzahl der möglichen Compute-Aufträge in den Queues von 2 auf 64 Stück erhöht – besonders für asynchrone GPGPU-Berechnungen ist das wichtig. Laut Cerny profitiert davon aber nicht nur die Spiel-Engine, sondern auch laufende Middleware, etwa für Physikberechnungen. Bis Programmierer die Hardware-Funktionen, die übrigens bereits zwischen 2009 und 2010 für den PS4-Chip entwickelt wurden, tatsächlich voll ausnutzen, dürften noch ein paar Jährchen vergehen, Cerny schätzt frühestens 2015. Die ersten PS4-Spiele werden ihren Fokus hauptsächlich auf Grafik- und nicht so stark auf Compute-Berechnungen legen. Cernys Vision sind Spiele, die dutzende Compute-Berechnungen gleichzeitig auf die GPU auslagern, etwa für Physik-, Kollisions- und Audioberechnungen. (mfi)