Über HT4U.net | Hersteller-Datenbank | Weblinks   RSS Feed
 Style: 1024  |  1280
 

NVIDIA G80 - GeForce 8800 im Test

Technik - Direct3D 10 und Unified Shader (Fortsetzung)

Ein wesentlicher Vorteil einer solchen Unfied-Shader-Architektur ist die bessere Auslastung der Recheneinheiten. Im Hinterkopf muss man hierbei behalten, dass verschiedene 3D-Szenen stark abweichende Anforderungen an Pixel- und Geometrie-Leistung stellen. Bei aktuellen Spielen liegt die durchschnittlich geforderte Pixel-Shader-Leistung deutlich über den Forderungen an die Geometrie-Leistung. Aus diesem Grund übersteigt auch die Anzahl der Pixel-Shader-Einheiten, die Zahl der Vertex-Shader-Einheiten bei herkömmlichen Grafikkarten deutlich (Beim G71 beispielsweise 48 Pixel-Shader ggü. 8 Vertex-Shadern).


NVIDIA G80
Exemplarische Darstellung der Auslastung der verschiedenen Architekturen
(links: PS/VS-Architektur; rechts: Unified-Shader-Architektur)


Trotz dieser Anpassung des Verhältnisses von Pixel-Shader-Einheiten zu Vertex-Shader-Einheiten an die Anforderungen aktueller 3D-Spiele wird es bei einer fixen Einteilung der Shader-Einheiten bei variabler Beanspruchung nie zu einer optimalen Auslastung der Recheneinheiten kommen. Und genau an dieser Stelle setzt ein Unified-Shader-Chip an, da dieser aufgrund seiner Vereinheitlichung immer alle Einheiten für die Berechnungen verwenden kann (siehe obiges Schaubild). Hierbei spielt es keine Rolle, wie viele Einheiten für Pixel-Shader- und wie viele für Vertex-Shader-Berechnungen benötigt werden. Da es aber fürgewöhnlich auf dieser Welt nichts umsonst gibt, haben auch die Unified-Shader ihre Nachteile, welche in diesem Fall in der Herstellung liegen. Denn zwangsläufig werden für die generalisierten Einheiten natürlich mehr Transistoren zur Umsetzung benötigt als für spezialisierte Einheiten, wie sie Pixel- und Vertex-Shader sind.

Technik - Ein Blick auf die einzelnen Einheiten

Nachdem wir uns mit den Unified-Shadern beschäftigt haben, werden wir nun die einzelnen Einheiten des G80 in Form der GeForce 8800 GTX noch genauer betrachten. Womit wir auch bei der zweiten großen Überraschung bezüglich der Architektur angelangt wären: 128 Shader-Einheiten bei einem Shader-Takt von 1350 MHz. In Anbetracht von gerade einmal 56 Shader Einheiten (48 Pixel-Shader + 8 Vertex-Shader) bei einem Takt von 650 MHz beim ehemaligen Flaggschiff, der GeForce 7900 GTX, erscheinen diese Angaben auf den ersten Blick unglaublich. Wenden wir uns der Problematik also etwas sorgfältiger zu.


NVIDIA G80
Überblick über die komplette Pipeline des G80


Der G80 verfügt über verschiedene Taktdomänen. Dies war zwar auch bereits bei der GeForce 7900 GTX der Fall, die einen um 40 MHz höher liegenden Vertex-Shader-Takt aufweisen konnte, allerdings galt für die Pixel-Shader-Einheiten der normale Kerntakt. Aber wie ist es nun möglich, dass die GeForce 8800 GTX über mehr als doppelt so viele Shader-Einheiten wie der Vorgänger bei zirka doppelt so hohem Takt verfügt? Nein, es ist kein Wunder. Die Begründung liegt in der Funktionsweise der verwendeten Recheneinheiten, denn NVIDIA setzt beim G80 nicht mehr auf Vektorprozessoren sondern auf einfach gestricktere Skalarprozessoren (von NVIDIA als Streamprozessoren bezeichnet).

Während ein Vektorprozessor in der Lage ist eine mathematische Operation auf mehrere Elemente gleichzeitig durchzuführen, können Skalarprozessoren nur ein einzelnes Datum bearbeiten. Im Grafikbereich bisher übliche Vektorprozessoren können pro Takt einen Vektor mit vier Komponenten berechnen. Allerdings werden auch im Grafikbereich nicht immer vier gleichartige Rechnungen benötigt, weshalb es hier zu Defiziten bezüglich der Auslastung der Einheiten kommen kann. Aus diesem Grund können die letzten GPU-Generation durch so genanntes „Co-Issuing“ auch einen Vektor mit drei Komponenten und zusätzlich einen Skalar berechnen (NVIDIA beherrscht seit dem NV40 sogar die Aufteilung in Vec2 + Vec2). Diese Problematik mit brachliegenden Recheneinheiten wird mit den Skalarprozessoren nun gänzlich umschifft, denn hier können die Einheiten beliebig eingesetzt werden und garantieren somit eine volle Auslastung.


NVIDIA G80
Vergleich zwischen Vektorprozessor und Skalarprozessor pro Taktzyklus


Betrachtet man die 128 Shader-Einheiten unter den Aspekten des vorangegangen Absatzes erneut, so erscheinen die Zahlen schon deutlich weniger spektakulär. Geht man von einem Worst-Case-Szenario (durchgehend volle Auslastung der Vektorprozessoren bei herkömmlichen GPUs) für den G80 aus, könnten 128 Skalarprozessoren eben soviel leisten wie 32 gleichwertige Vektorprozessoren. Ein direkter Vergleich der Anzahl an Shader-Einheiten zum G71 würde an dieser Stelle jedoch leicht hinken, da der G80 pro Shadereinheit in einem Takt eine MADD-Operation (Multiplikation+Addition) und zusätzlich eine MUL-Operation (Multiplikation) beisteuern kann. Der G71 kann hingegen pro Shader-Einheit (insofern man 48-Shader-Einheiten beim G71 zählt) lediglich eine MADD-Operation berechnen. Allerdings darf der doppelt so hohe Shader-Takt des G80, welcher erst durch die vereinfachten Recheneinheiten ermöglicht wurde, bei diesen Überlegungen am Ende nicht vergessen werden.



Artikel Index:  
Vorherige Seite  Nächste Seite



 Preisvergleich

Werbung
Werbung
 



Werbung