S3 DeltaChrome vs. XGI Volari
10. Februar 2005 / von Robbitop / Seite 2 von 20
Die Architekturen
Achtung: Da der Aufbau der einzelnen Architekturen mittels synthetischer Messungen ermittelt worden sind und dies sicher noch deutlich genauer ginge, ist auch einiges an Spekulation bei der Betrachtung enthalten. Weiterhin sind alle vom Autor erstellten Blockbilder der Anschaulichkeit halber stark vereinfacht.
Da uns während dieses Artikels der komplette 3D-Teil mit vielen Bestandteilen eines Grafikbeschleunigers über den Weg laufen wird, sollten wir vorerst einen Blick auf ein Blockdiagramm werfen, was den ungefähren Aufbau von diesem beschreibt.
S3 Columbia (DeltaChrome S8) |
ATI RV360 (Radeon 9600) |
nVidia NV36 (GeForce 5700) |
XGI XG40 (Volari V8) |
|
Fertigungsverfahren | 130nm LV TSMC FSG | 130nm TSMC low-k | 130nm LV IBM FSG | 130nm LV TSMC FSG |
Transistoren | 60-80 Mill. | 75 Mill. | 82 Mill. | ~80 Mill. |
Chiptakt | 300 MHz | 325 MHz | 425 MHz | 300 MHz |
Speichertakt | 300 MHz DDR | 200 MHz DDR | 250 MHz DDR | 325 MHz DDR |
Speicheranbindung | 128 Bit DDR | 128 Bit DDR | 128 Bit DDR | 128 Bit DDR |
Quads | 2 | 1 | ½ | 1 |
TMUs | 8 fast-Tri | 4 bilineare | 4 bilineare | 8 bilineare |
ALUs | 8x Allzweck Vec4 ALU | 4x Allzweck Vec3+1 ALU + 4x TEX-Unit | 2x Shadercore + 2x FP32 MAD ALU | 4x Allzweck Vec4 MAD |
Rendergenauigkeit | FP24 | FP24 | FP16/FP32 | FP24 |
Vertexshader | 4x SIMD | 2x SIMD | 3x SIMD | 4x SIMD |
Memorycontroller | 1 x 256 Bit | 2 x 128 Bit | 2 x 128 Bit | 2 x 128 Bit |
EarlyZ | ja, Z First Pass | ja | ja | ja |
ROPs | 8 | 8 | 4 | 8 |
ROP Abbility NoAA | 8 Color + 8 Z oder 8 Stencil | 4 Color + 4 Z oder 4 Stencil | 4 Color + 4 Z oder 4 Stencil | 4 Color + 4 Z oder 4 Stencil |
ROP Abbility 2xMSAA | n/a | 4 Color + 4 Z oder 4 Stencil | 2 Color + 2 Z oder 2 Stencil | n/a |
Leistungsaufnahme | 4W laut S3 | 8W/19W | 10W/25W | ca. 40W |
Wie der Tabelle zu entnehmen sind die Spezifikationen unter dem Codenamen des eigentlichen Grafikcores aufgeführt, da die Marketingbezeichnung normalerweise die gesamte Karte umfasst. Es soll uns jedoch hier um die Cores per se gehen. Der S3 DeltaChrome ist der Columbia, die Radeon 9600 der RV360, die GeForce 5700 der NV36 und der Volari V8 der XG40.
Die Pipeline
Der Begriff "Pipeline" heißt streng übersetzt "die Rohrleitung". Im Prinzip kann man sich eine Pipeline auch wie eine Rohrleitung vorstellen. Zu berechnende Pixel kommen am Anfang hinein und wandern Takt für Takt durch diese. Am Ende sind fertig berechnete Pixel das Ergebnis. Da die Berechnung von Pixeln bis in den dreistelligen Bereich von Takten hineinreichen kann, teilte man die Berechnung dieser in viele einfache Schritte auf. Unnötige Latenzen werden dadurch minimiert.
Pixel-Pipelines in dem Sinne existieren allerdings seit einigen Jahren nicht mehr. Inzwischen sind alle Architekturen Quad-basiert. Eine dedizierte Steuerlogik für jede einzelne Pixelpipeline kostet Transistoren, die woanders besser eingesetzt werden können. Somit wird pro Quadpipeline immer ein ganzer Quad (2x2 Pixel) berechnet. Eine Quadpipeline besitzt vierfach ausgelegte Ausführungseinheiten.
In der Praxis existiert ein wichtiger Unterschied zwischen vier einzelnen Pixelpipelines und einer Quadpipeline. Da jeder Rasterizer dreiecksbasiert (Dreiecke sind die Grundflächen von Polygonen) rendert, kann es vorkommen, dass am Rand des Dreiecks weniger als 4 Pixel zu rendern sind (Abbildung siehe oben). Somit tritt an solchen Stellen ein entsprechender Verschnitt (in blauer Markierung der weiße Pixel) auf. Je kleiner die Dreiecke werden, desto stärker ist der Nachteil.
Wir wollen in diesem Artikel der Anschaulichkeit halber von Pixel-Pipelines als Teil einer Quadpipeline sprechen, auch wenn das in der Form nicht ganz akkurat ist.
DeltaChrome S8 | Radeon 9600 | GeForce 5700 | Volari V8 | |
Pixel-Pipelines | 8 | 4 | 2 | 4 |
TMUs je Pipeline | 1 trilinare TMU | 1 bilineare TMU | 2 bilineare TMU | 2 bilineare TMU |
ALUs je Pipeline | Allzweck Vec4 ALU | Allzweck Vec3+1 ALU + TEX-Unit | Shadercore + FP32 MAD ALU | Allzweck Vec4 ALU |
Pixelshader-Output je Takt | 8 | 12 | 6 | 4 |
Füllrate bilinear | 2,4 Gtex/s | 1,3 Gtex/s | 1,7 Gtex/s | 2,4 Gtex/s |
Füllrate trilinear | 2,4 Gtex/s | 0,65Gtex/s | 0,85Gtex/s | 1,2 Gtex/sek |
Setup | 8x1 | 4x1 | 4x1 / 2x2 | 8x1 / 4x2 |