Cell- und RSX-Chip: Herzstück der PlayStation 3 im Test

Cell Broadband Engine™, das Herzstück der PlayStation 3
Cell Broadband Engine™, das Herzstück der PlayStation 3

Cell entstand aus der Zusammenarbeit von Sony, Toshiba und IBM. Das Ziel war es, einen Prozessor auf Basis der IBM Power Architektur (ein Backronym für Performance optimized with enhanced RISC) zu entwickeln, der sowohl in Spielekonsolen, als auch in Multimediageräten, sowie in Servern zum Einsatz kommen sollte. 2001 begann die Entwicklung des Cell, 2005 gab es erste lauffähige Exemplare, die mit über 4 Ghz liefen.

Cell besteht aus einem Power Processing Element (PPE) und 8 Synergistic Processing Elements (SPEs), von denen jede einen weiteren Risc-Prozessor darstellt. Allerdings nutzt man für die PlayStation 3 nur 7 SPEs, um die Fertigungsausbeute des Cell zu erhöhen. Für Spiele und Linux stehen sogar nur 6 SPEs zur Verfügung, da eine SPE in einem sogenannten Hypervisor-Modus läuft, welcher den Zugriff auf die Hardware regelt.

Jede SPE besteht aus einer Recheneinheit (ALU) mit einer 128 SIMD (Single Instruction Multiple Data), welche man als SPU (Synergistic Processing Unit) bezeichnet. Die SPEs beinhalten zudem je 256kb lokalen Speicher, die PPE hat 32kb L1 Cache, 512kb L2 Cache. Jede SPE hat dazu noch einen separaten DMA-Speichercontroller, um Daten zwischen den einzelnen SPEs auszutauschen, oder mit dem XDR-Hauptspeicher zu kommunizieren.Cell beinhaltet noch den Memory Interface Controller (MIC), dazu das Flex I/O (IOIF).

Der Prozessor taktet mit 3,2 Ghz, laut Sony soll er eine Fließkommaleistung von 218 GFLOPS bei einfacher Genauigkeit erreichen.

Die PPE des Cell ist ein General Purpose 64-bit RISC-Prozessor, welcher 2 Hardware-Threads ausführen kann. Die SPEs sind Special Purpose RISC-Prozessoren (meist Stream Processors genannt). Verbunden sind das PPE und die SPEs mit dem Element Interface Bus (EIB). Cell hat die Möglichkeit auf den 256MB großen GDRR3 Video-Ram zurückzugreifen, er kann das über den EIB, das Flex I/O (IOIF) und letztendlich über den RSX. Sollte RSX mal auf den 256MB großen XDR-Hauptspeicher zurückgreifen müssen, muss er das über das Flex I/O (IOIF), den EIB und letztendlich über den MIC machen, also quasi in umgekehrter Reihenfolge, wie auch diese Grafik sehr schön aufzeigt:

(click to enlarge)

Durch seine einmalige Architektur, eignet sich Cell für viele Aufgabenbereiche, wie Rendering, Data Manipulation (u.a. Bildbearbeitung, Videobearbeitung, Komprimierung/Dekomprimierung, Verschlüsselung/Entschlüsselung), Modellierung, komplexe Simulationen, sowie Physik. Auch für Programme wie Seti@Home, oder Folding@Home ist Cell bestens geeignet.

Cell kann auch Teile des Rendering übernehmen, so kann er den RSX entlasten. Theoretisch kann jede General-Purpose-CPU rendern, nur hapert es an der Geschwindigkeit. Die SPEs des Cell hingegen eignen sich besser dafür und sollen laut Sony sehr effektiv darin arbeiten.

Sie können beispielsweise das Lighting, die Animationen und einzelne Effekte, wie das Post Processing übernehmen. Auch das Pixel-Shading könnte Cell übernehmen und somit den RSX erheblich entlasten, allerdings sind die SPEs darin nicht so effektiv wie eine GPU. Unter einem Pixel-Shader versteht man ein Programm, das die Texturdarstellung verändert, um z.B. eine realistische Darstellung von Oberflächen- oder Material-Eigenschaften zu erreichen. Indem man Teile des Rendering auf die SPEs auslagert und den Rest vom RSX berechnen lässt, erhält man ein "Hybrid Real-Time Rendering-System", was auch die Unified Memory-Architektur des Systems erklärt. Die komplette Hardware-Konzeption der PS3 ist dafür ausgelegt. Bei dem Spiel Uncharted: Drakes Schicksal nutzt der Developer Naughty Dog 2 SPEs für verschiedene Grafikberechnungen, das Potential der restlichen SPEs liegt noch brach. Uncharted kann dennoch beeindrucken. Von den Texturen, den Animationen, der Weitsicht, dem Wasser, bis hin zu den restlichen Effekten, Drake's Fortune ist momentan eines der schönsten Spiele und in einigen Bereichen stellt es sogar die aktuelle Referenz, plattformübergreifend!

Echtzeitmomente aus Uncharted: Drakes Schicksal

Eine normale GPU kann Cell mit seinen SPEs natürlich nicht ersetzen, eine GPU ist gerade in der heutigen Zeit, wo das Pixel-Shading einen Großteil ausmacht, unersetzlich.

Für Spiele ist Cell also durchaus geeignet, allerdings hat er auch einen Schwachpunkt, denn er besitzt nur ein einziges Power Processing Element (PPE). Die Konkurrenz - namentlich Xbox 360 - hat mit Xenon 3 Power Processing Elements, dadurch ist die Xbox 360 in Sachen künstliche Intelligenz (KI) theoretisch überlegen. Komplexe KI sollte zwingend auf dem Power Processing Element (PPE) laufen. Einzelne Bereiche wie das Pathfinding, oder die Crowd-Simulation, kann man aber dennoch auf die SPEs auslagern, wie bei dem Spiel Heavenly Sword bereits verfahren wird.

Bei optimaler Anpassung der Spiele an die Architektur des Cell, zeigt die PS3 was wirklich in ihr steckt. Viele Multiplattformtitel die auf die PS3 umgesetzt werden, nutzen meist nur das Power Processing Element (PPE), die SPEs werden gar nicht erst genutzt. Das erklärt u.a. auch die schlechteren Multiplattformtitel gegenüber der Xbox 360. Es gibt zwar Ausnahmen, aber das nur vereinzelt. Die Xbox 360 hat hier Vorteile, sie ist das effizientere, durchdachtere System für Spiele. Die Architektur der Xbox 360 ist sehr 'clean', für die Microsoft-Konsole zu entwickeln soll bedeutend einfacher sein als für die PS3. Auch die SDKs (Entwicklungsumgebungen) der Xbox 360 sollen mit Abstand die Besten sein, allerdings kann und wird Sony hier noch aufholen.

Spiele von der Xbox 360 auf die PS3 umzusetzen ist nicht der Idealweg, was die Praxis schmerzlich offen legt. Die PlayStation 3 wird sich in Zukunft als Leadplattform etablieren (müssen), denn es ist (laut vielen Developer-Aussagen) wesentlich leichter Spiele von der PS3 auf die Xbox 360 umzusetzen, solang die Games nicht vollen Gebrauch von den SPEs machen. So bekommen beide Plattformen nahezu 100% identische Multiplattformtitel und so soll es ja eigentlich auch sein. Bei dem Publisher Midway (Epic Games u.a.) ist die PS3 bereits Leadplattform und das wird nicht der letzte Entwickler sein, der sich für diesen (logischen) Schritt entscheidet.


Querschnitt des Cell




Reality Synthesizer™ (RSX), die GPU der PS3 im Detail


Vieles las man über den RSX, er wäre schwach, sei nur DX9-fähig und könne kein Anti-Aliasing (Kantenglättung) in Kombination mit HDR-Rendering ausführen. Nahezu alle Aussagen, die man über den Grafikchip der PS3 so hört, sind falsch. Auch wird immer wieder gerne eine Vergleichstabelle zwischen dem Grafikprozessor der PS3 und der Xbox 360 zitiert, ohne aber zu wissen, dass solche Angaben die maximal theoretischen Leistungswerte der GPUs darstellen. Irrelevant für den Praxiseinsatz, zudem ist diese Vergleichstabelle falsch, da sie von einem runtergetakteten RSX-Chip ausgeht, ein Downgrade des RSX auf 500 Mhz hat aber nie stattgefunden. Für viele Leute war das aber schon Fakt, genau wie das angebliche Downgrade des Cell, was sich letztendlich ebenfalls als Fake-Meldung herausgestellt hat.

Kommen wir nun zu den ungefähren Specs des Chips. Leider gibt es keine genaueren Angaben, weder von Sony, noch von NVIDIA.

Der RSX, basierend auf NVIDIAs GeForce-7-Reihe (G7x), getaktet mit 550Mhz und wird in 90nm gefertigt. Er kann theoretisch 136 Shader-Operationen pro Takt ausführen, hat im Gegensatz zu seinen PC-Verwandten aber nur ein 128Bit Speicherinterface zum 256MB großen Video-Ram, die PC-Desktop-Derivate haben 256Bit. RSX hängt allerdings an zwei getrennten Buses. Die GPU kann auf 256MB GDDR3-Speicher zurückgreifen, der mit 700Mhz getaktet ist, zudem kann RSX auch auf den 256MB großen XDR-Hauptspeicher von Rambus zurückgreifen, der mit 3,2Ghz taktet. Der Zugriff von RSX auf den Hauptspeicher erfolgt über das Flex I/O des Cell, welche als Verbindungsstelle dient. RSX hat 24 Pixel-Pipelines, mit je zwei Shader-Einheiten (ALU) pro Pipeline und je einer Texture Mapping Unit (TMU), die das Texturieren der Dreiecke übernehmen, die TMUs sind u.a. auch für das Filtern ( z.b. Anisotrope Filterung) zuständig. Die ALUs sind allerdings nicht von den TMUs entkoppelt, was eine echte Schwäche des RSX darstellt, denn gleichzeitig rechnen und filtern kann RSX somit nicht. Beim Einsatz von AF wird die komplette Pixel-Pipeline blockiert, d.h. es gibt einen Leistungseinbruch. Diese Schwäche hat RSX von seinem G70-Derivat geerbt.

Der Chip hat zudem 8 Vertex-Shader und 8 Raster Operator Units (ROPs), welche beispielsweise auch für das Anti-Aliasing verantwortlich sind.

Da RSX ein modifizierter G70 ist, sollte man die GPU auch nicht direkt mit der GeForce 7 auf dem Desktop-PC vergleichen. RSX stehen 100% mehr „Total Texture Cache“ pro Pixel-Pipeline-Quad und 28% mehr „Post Transform and Lighting Cache“zur Verfügung. Neue Shader-Befehle (Extra texture lookup logic, Fast vector normalize) wurden ebenso hinzugefügt, die GeForce 7 auf dem Desktop-PC beherscht diese nicht.

Außerdem kann man auf Konsolen die Spiele auf die jeweilige Hardware perfekt zuschneiden, zudem ist RSX frei von Einschränkungen der PC-Welt. Auf der PS3 lassen sich Schwächen in der G7x-Architektur besser umgehen, als auf dem Desktop-PC. Konsole und Desktop-PC sind zwei komplett verschiedene Welten!

Die PlayStation 3 verwendet eine auf OpenGL ES basierende API (Application Programming Interface), die sich PSGL nennt. OpenGL ist - wie der Name schon vermuten lässt - im Gegensatz zu Direct X von Microsoft ein offener Standard. Zudem haben PS3-Entwickler noch die Möglichkeit eine andere API zu nutzen, diese nennt sich libgcm und soll sogar mehr Kontrolle über den RSX ermöglichen, zudem soll sie schneller sein, je nach Einsatzgebiet. Diese API findet man nur auf der PlayStation 3. Will man also alles aus RSX herausholen, sollten die Entwickler die libgcm-API nutzen. Für die Shader nutzt man die aktuelle Shader-Sprache C (Cg Version 1.4) von NVIDIA.



GT5 Prologue unterstützt 720p und 4xMSAA @ 60fps, zudem 1080p (upscaled 1280x1080) und 2xMSAA @ 60fps, die Replays laufen @ 30fps


Ein Vergleich mit der Konkurrenz, dem Grafikchip der Xbox 360:

Eins vorweg, es ist nicht möglich die beiden Grafikchips gegeneinander antreten zu lassen. Direkte Vergleiche in Benchmarks, oder in Spielen wie auf dem Desktop-PC sind also nicht möglich, daher kann man sowieso nur spekulieren. RSX und Xenos zu vergleichen ist sehr schwierig, da beide eine unterschiedliche Architektur aufweisen. Je nachdem wie man sie einsetzt, sollte mal RSX, mal Xenos die bessere Figur machen. Die Trumpfkarte des RSX ist die höhere Textur- und Pixel-Füllrate. RSX hat 24 TMUs (Texture Mapping Units), bei einem Takt von 550Mhz ergibt das eine Textur-Füllrate von 13,200 MPixels/sec.

Xenos besitzt 16 TMUs, bei einem Takt von 500Mhz ergibt sich daraus eine Textur-Füllrate von 8,000 MPixels/sec. Durch seinen 10% höheren Takt erreicht RSX auch eine leicht höhere Pixel-Füllrate. Beide GPUs haben 8 ROPs (Raster Opterator Units).

Vorteile hat Xenos mit seiner Unified-Shader-Architektur, dort sind Pixel- und Vertex-Shader vereinheitlicht, daraus kann man eine bessere Effizienz und Auslastung erreichen.


Xenos hat zudem noch 10MB embedded DRAM (eDRAM), welche theoretisch "Anti-Aliasing for free" ermöglichen, was natürlich Unsinn ist, "AA for free" gibt es nicht. Außerdem ist der eDRAM zu klein um Multisampling Antialiasing (MSAA) bei 720p sinnvoll zu nutzen. Erst mit dem sogenannten "Tiling" kann man hier Abhilfe schaffen, welches aber sehr schwer zu integrieren ist, denn die komplette Engine eines Spiels muss dafür ausgelegt sein. Bisher nutzen nichtmal Exklusiv-Titel wie Halo 3 Tiling, bei Multiplattformtiteln wiegt das Problem noch schwerer, denn die Spiele können dann nicht mehr so einfach auf den PC, oder die PS3 umgesetzt werden.

Im Gegensatz zu RSX, kann Xenos gleichzeitig rechnen und filtern, denn die ALUs sind von den TMUs entkoppelt, was keinen Leistungseinbruch wie beim RSX zur Folge hat. Allerdings können Developer dies auf der PlayStation 3 durch geschickte Optimierung zum Teil vermeiden.


Es wird immer wieder behauptet, die PS3 könne kein HDR-Rendering + Kantenglättung.

Zuerst einmal - was ist High Dynamic Range Rendering?

HDR-Rendering sorgt für realistische Überblendeffekte in Spielen, dabei wird die Szene in einem größerem Farbraum gerendert. Es gibt auf dem PC so einige Titel, die auf HDRR setzen. Zu nennen wäre natürlich der Titel Far Cry (ab Version 1.3), welcher quasi als erstes Spiel die Möglichkeit bot, HDRR zu bestaunen. Bei Far Cry wird FP16-HDRR (64Bit HDRR) verwendet. Der RSX würde hier kein MSAA anwenden können, Xenos in der Xbox 360 übrigens auch nicht. Der Grafikchip der Xbox 360 beherscht im Gegensatz zu RSX zudem kein FP16-Blending, dieses Feature ist essentiell wichtig beim Einsatz von FP16-HDRR, ohne FP16-Blending kostet FP16-HDRR zu viel Leistung und macht kaum Sinn. Aber auch auf RSX macht FP16-HDRR kaum Sinn, denn die Framebuffer-Bandbreite des RSX ist zu einfach zu gering. FP16-HDRR wird man weder auf der PlayStation 3, noch auf der Xbox 360 sehen, Kantenglättung ist technisch auf PS3 und Xbox 360 zudem nicht mehr möglich. Erst mit der nächsten Konsolengeneration werden wir HDRR mit sehr hohem Dynamikumfang in Kombination mit Kantenglättung bewundern dürfen. Auf Xbox 360 nutzt man meist FP10-HDRR (RSX kann dieses Format nicht), auf PS3 macht NAO32 am meisten Sinn.



Es gibt aber auch noch andere Ansätze, FP16-HDRR wie das in Far Cry nachzuahmen. Der Entwickler Valve veröffentlichte 2006 die auf Half-Life 2 basierende Tech-Demo Lost Coast, in der es das Source-High Dynamic Range Rendering zu bestaunen gibt. Bei diesem HDRR ist die Nutzung eines FP16-Buffer nicht nötig, da die Szene samt Tonemapping in einem Durchgang berechnet wird. Wird dieses HDRR verwendet, so kann der RSX, sowie Xenos problemlos MSAA anwenden. Das PS3-Spiel Heavenly Sword verwendet NAO32 + MSAA. NAO32 ist eine Alternative zu FP16/32 HDR-Rendering, für GPUs die kein MSAA in Kombination mit FP16/32 HDRR können und um kostbare Framebuffer-Bandbreite zu sparen. Ninja Theory entwickelte diese Alternative.

Auch Gran Turismo 5 Prologue nutzt eine Art HDRR + MSAA, bei 720p vierfaches MSAA, bei 1080p (upscaled 1280x1080) zweifaches MSAA und das mit bis zu 16 fotorealistischen Fahrzeugen gleichzeitg auf der Strecke bei 60fps. Im Showroom (u.a. auch Garage/Pits) läuft GT5 Prologue in echten 1080p, dafür keinerlei Kantenglättung. Uncharted Drake's Schicksal nutzt ebenfalls 2xMSAA in Kombination mit HDRR. Welche Art von HDRR GT5 Prologue und Uncharted Drake's Schicksal nun genau nutzen, darüber ist nichts bekannt, es könnte Vergleichbares wie NAO32 oder "HDRR - The Halo Way" sein. Im Endeffekt sollte es aber auch egal sein, denn es sieht in beiden Fällen umwerfend aus und das ist das was zählt, es zählt nicht der Weg, sondern das Ergebnis ,,,)

Das Hauptgegenargument von RSX ist also falsch, die PS3 kann HDR-Rendering und Kantenglättung und es wird auch bereits in Spielen verwendet.


Aus der Tech-Demo Lost Coast


Man muss mit dem Begriff High Dynamic Range sowieso sehr vorsichtig sein, denn eigentlich darf man erst FP32-HDRR (128Bit HDRR) als "echtes" High Dynamic Range Rendering bezeichnen und das kann Xenos überhaupt nicht, RSX kann das aber auch nur in der Theorie. Der Begriff HDRR ist aber schon so weit verbreitet und selbst Entwickler nutzen die allgemeine Bezeichnung für alle möglichen Arten von HDRR. Auch nutzt nicht jedes Spiel HDRR, nur weil es ein bischen blendet, bzw. überstrahlt, hier wird nämlich oft nur Bloom verwendet. Das ist im Grunde das Gleiche wie HDRR, nur es ist qualitativ deutlich schlechter als HDR-Rendering, zudem physikalisch nicht korrekt. Der Vorteil von Bloom: es kostet im Gegensatz zu HDRR nahezu keine Leistung.

Sehr beeindruckend fallen erste Echtzeit-Videos vom kommenden Ego-Shooter Killzone 2 aus. Killzone 2 nutzt Deferred Rendering und wird mit Anti-Aliasing laufen (welches AA zum Einsatz kommt, ist noch nicht 100% sicher, man munkelt Quincux, aber auch normales MSAA könnte zum Einsatz kommen). Eine intelligente Nutzung der Cell-Architektur und des RSX machen's möglich. Es wird 720p bei konstanten 30 Bildern pro Sekunde unterstützen. Mit Killzone 2 will Sony zeigen, zu was die PS3 fähig ist. An dem Titel sollen über 100 Leute arbeiten, es ist ein Prestigeobjekt für Sony, das zeigte auch die imposante Präsentation auf der E3 2007. Vor allem das Lighting, die Animationen und der Polygoncount der Playermodels können beeindrucken.


Die PS3 hat durch Cell noch sehr viel Potential, allerdings muss sich die Xbox 360 davor nicht verstecken, es wird sicher nie ein PS3 Spiel geben, welches sich dramatisch von den Spielen der Xbox abhebt, rein technisch gesehen. Die beiden Konsolen spielen in einer Liga, sie haben Vor- und Nachteile. Die PS3 zeigt allerdings schon mit ihren Exklusivtiteln was in ihr steckt. Die exklusiven Games sind technisch brillant, laufen flüssig und zeigen was möglich ist. Auch sollte man inzwischen verstehen, dass Multiplattformtitel, die auf die PS3 umgesetzt werden, nichts über ihre Leistungsfähigkeit aussagen, eben weil diese Spiele oft nur schlampig an die "andere" Architektur angepasst werden, ohne das Potential der PS3 auch nur ansatzweise ausschöpfen. Wer sich von der Leistungsfähigkeit der PlayStation 3 überzeugen will, sollte dies also anhand der PS3-Only-Games machen. Die PS3 ist nicht die erste Konsole mit vermeintlich stärkerer Hardware, die bei nahezu allen Multiplattformtiteln den Kürzeren zieht. Das wird sich sich erst ändern, wenn die PS3 Leadplattform ist, die SDKs besser werden und die Entwickler die Konsole besser "verstehen".

Auch wenn die PS3 keine sagenumwobene Wundermaschine geworden ist, wie es Sony 2005 propagiert hat, so ist sie dennoch ein potentes Stück Hardware. Lässt man sich auf ihre einzigartige Architektur ein, können grafisch unglaublich beeindruckende Games das Ergebnis sein. Zum Beispiel Ratchet and Clank: Tools of Destruction, das Spiel läuft butterweich und sieht schon fast aus wie ein Pixar-Movie. Sollten wir nicht schon seit dem N64 Pixar-Movie-like Games haben? Jedenfalls meinte das damals Nintendo, die Hersteller übertreiben generell wenn es um ihre Konsolen geht.


Der Reality Synthesizer ist eine solide GPU, mit Vor- wie Nachteilen. Füllratentechnisch ist die GPU der Konkurrenz zwar einen Schritt voraus, aber der Rest spricht für Xenos. Da man RSX und Xenos nicht direkt miteinander vergleichen kann, kann man sowieso nur spekulieren, welche GPU nun die bessere ist. Auch bringt es nichts, die Specs der beiden als Vergleich heranzuziehen, weil sie eben nur theoretisch sind. Es kommt letztendlich also auf die Developer an, wie so oft spielt die Hardware bei Konsolen eine untergeordnete Rolle, es liegt bei den Entwicklern was sie daraus machen.

Was die grafischen Fähigkeiten angeht, so hat die PS3 das größte Potential in dieser Generation, bedingt durch die Fähigkeit die Konsole als Hybrid Real-time Rendering System zu nutzen und einzelne Aufgaben von Cell schnell und effektiv berechnen zu lassen, dadurch kann man den RSX entlasten. Die SPEs des Cell sind zudem sehr flexibel. Ein Statement von Marco Salvi, einem Mitarbeiter von Ninja Theory: "CELL is, in many ways, way more flexible than a DX10 geometry (vertex shader + geometry shader) pipeline. Devs will exploit it in ways that even the original Cell designers had never imagined, it's only a matter of time."

Zum Abschluss kann ich nur sagen, dass es die PS3 nicht leicht im letzten Jahr hatte, viele Unwahrheiten wurden und werden über den schwarzen Kasten verbreitet. Ich hoffe, ich konnte euch mit diesen paar Zeilen einen etwas klareren Blick auf die PlayStation 3, ihre Hardware und die aktuelle Situation verschaffen.

written by Martin Koller, © neXGam.de
Userwertung
0 0 Stimmen
Wertung abgeben:
senden
Follow us
Anzeigen
neXGam YouTube Channel
Anzeigen