23

News des 23. Juni 2010

Wir kommen noch einmal zurück auf die Spezifikationen zur GeForce GTX 460 und die sich daraus ergebenden Erkenntnisse zum GF104-Chip von nVidia: Die zugrundeliegende Quelle in Form des Heise Newstickers hat die Anzahl der Textureneinheiten der GeForce GTX 460 zwar nicht explizit erwähnt, aus der angegebenen Texturierleistung von 37,8 GPix/sec ergibt sich auf dem Chiptakt von 675 MHz jedoch eindeutig die Anzahl von 56 aktiven TMUs bei der GeForce GTX 460 – und damit klar mehr als bei der GF100-basierten GeForce GTX 465 mit deren 44 TMUs. Sofern man davon ausgeht, daß der GF104-Chip im Vollausbau über 384 Shader-Einheiten verfügt, würde dieser dann auch 64 Textureneinheiten im Vollausbau haben – genausoviel im übrigen wie der GF100-Chip im Vollausbau.

nVidia hat damit an den Shader-Clustern des GF100-Chip herumgewerkelt – mit dem Resultat, daß einer dieser Shader-Cluster nicht mehr 32 Shader-Einheiten und 4 TMUs wie noch beim GF100-Chip trägt, sondern beim GF104-Chip ein Shader-Cluster wahrscheinlich 24 Shader-Einheiten und 4 TMUs umfaßt. Ganz sicher ist dies nicht, es könnte auch ein Modell mit 48 Shader-Einheiten und 8 TMUs sein – dies würde allerdings eine etwas größere Anpassungsarbeit erfordern und zudem die Tesselations-Leistung bei den kommenden kleineren Fermi-Chips minimieren. Denn schließlich verfügt jeder der Shader-Cluster über seine eigene Tesselationseinheit, was die starke Tesselations-Leistung der GF100-basierten Grafikkarten erklärt. Mit dem GF104-Chip und dem Modell von 24 Shader-Einheiten samt 4 TMUs in einem Shader-Cluster würde nVidia die Tesselations-Leistung relativ gesehen sogar steigern, da bei diesem Modell die Anzahl der Shader-Cluster und damit der Tesselationseinheiten zwischen GF100- und GF104-Chip mit 16 identisch wäre.

Shader-Cluster von GF100 und GF104

Der GF104-Chip hätte in diesem Modell (taktnormiert) keine höhere Tesselationsleistung als der GF100-Chip, aber immerhin die gleiche – was angesichts der geringeren Anzahl an Shader-Einheiten und des niedrigeren Preispunkte entsprechender Grafikkarten auch beachtbar ist. Wie gesagt gibt es hier auch einen Gegenentwurf, wo ein GF104 Shader-Cluster aus 48 Shader-Einheiten und 8 TMUs besteht, in diesem hätte der GF104-Chip dann nur 8 Shader-Cluster sowie 8 Tesselationseinheiten, ergo die Hälfte des GF100-Chips. Dies ist eine denkbare Variante, weil sie Transistoren spart, allerdings untergräbt sie die mittel- und langfristigen Aussichten von DirectX11-Tesselation etwas: Denn bei den kleineren Fermi-Abwandlungen GF106 und GF108 werden natürlich entsprechend weniger Shader-Cluster verbaut werden, je nach Denkmodell beim GF108-Chip um den Faktor 3 oder 4 weniger.

Bei einer gegenüber dem GF100-Chip abgesenkten Tesselationsleistung des GF104-Chips würde der GF108-Chip dann bei einer Tesselationsleistung von nur noch 1/6 oder 1/8 zum GF100-Chip landen – und damit nominell auf dem Niveau von ATIs RV870/Cypress-Chip, der in dieser Frage bekannterweise als unmodern gilt, was ATI auch mit der nachfolgenden Southern-Islands-Generation entscheidend ändern will. Dies aber würde nVidias Ansinnen konterkarieren, mit der Fermi-Generation eine durchgehend überzeugende Tesselationsleistung zu bieten – vor allem, weil Tesselation ein Feature ist, welches sich schlecht zwischen Grafikchips verschiedener Preissegmente skalieren läßt. Denn während die bei LowCost-Grafikchips üblicherweise benutzte kleinere Auflösung oder/und der Verzicht auf Anti-Aliasing die Leistungsanforderungen an diesen Chip derart absenken, daß auch dieser kleinere Chip noch moderne Spiele ableisten kann, lassen sich mit diesen Maßnahmen die Anforderungen an die Tesselation kaum senken.

GF104 GF100
Shader-Cluster mit 24 Shader-Einheiten, 4 Textureneinheiten und einer Tesselationseinheit pro Shader-Cluster Shader-Cluster mit 32 Shader-Einheiten, 4 Textureneinheiten und einer Tesselationseinheit pro Shader-Cluster
Verhältnis SM zu TMU 6:1 Verhältnis SM zu TMU 8:1
taktnormiert 33 Prozent höhere Texturier- und Tesselations-Leistung des GF104-Chips gegenüber dem GF100-Chip pro Shader-Einheit taktnormiert 33 Prozent höhere Shader-Leistung des GF100-Chips gegenüber dem GF104-Chip pro Shader-Cluster

Sprich: Ob LowCost-Grafikkarte auf niedriger Auflösung oder HighEnd-Grafikkarte auf hoher Auflösung mit Anti-Aliasing, die Anforderungen an beide Grafikkarten bezüglich der Tesselationsleistung sind immer dieselben (sofern man nicht den Tesselationsgrad heruntersetzt, was aber den Sinn von Tesselation untergräbt). Wenn man DirectX11-Tesselation als durch die Spieleentwickler breit genutztes Feature durchsetzen will, müssen demzufolge auch die LowCost- und Mainstream-Grafikkarten über eine ausreichende Tesselationsleistung verfügen. Daß diese bei LowCost-Grafikkarten nie ganz so hoch sein kann wie bei HighEnd-Grafikkarten, ist klar, aber das vorhin genannte Verhältnis von 1/6 bis 1/8 der Tesselationsleistung des GF100-Chips beim GF108-Chip erscheint als zu niedrig für diese Anforderung.

Sofern nVidia es also Ernst meint mit der hohen Tesselationsleistung bei der Fermi-Generation, sollten der Abschlag der LowCost- und Mainstream-Modelle bei der Tesselationsleistung nicht zu hoch ausfallen, was letztlich dem Modell mit 24 Shader-Einheiten und 4 TMUs in einem Shader-Cluster bei GF104, GF106 und GF108 in die Hände spielt – dann hätte der GF108-Chip immerhin noch 1/3 oder 1/4 der Tesselationsleistung des GF100-Chips. Letztlich entspricht dies auch dem Grundgedanken des GF104-Chips, welcher bei diesem Modell der Shader-Cluster mehr Texturierleistung und mehr Tesselationsleistung pro Shaderleistung gegenüber dem GF100-Chip auf die Waage bringt – alles vorteilhaft für die noch folgenden kleineren Grafikchips der Fermi-Generation. Was gleich auch das Stichwort für die nächste offene Frage ist: Mit welcher Anzahl an Shader-Einheiten die Chips GF106 und GF108 antreten werden.

Hierzu sind wir bisher von glatten Halbierungen des GF104-Chips ausgegangen, den wir wie gesagt auf 384 Shader-Einheiten im Vollausbau einschätzen: Beim GF106 wären dies dann 192 Shader-Einheiten und beim GF108 ergo 96 Shader-Einheiten. Es gibt hierzu aber auch andere denkbare Modelle – wenngleich das hier und da genannte Modell mit 256 Shader-Einheiten für den GF106 und 128 Shader-Einheiten beim GF108 zwar auf den ersten Blick rund aussieht, aber technisch nahezu unmöglich ist: Alle Rechen-Einheiten im GF104-Chip müssten hierfür um den Faktor 1,5 (GF106) bzw. 3 (GF108) geteilt werden, was schon allein bei den Textureneinheiten scheitert: 64 TMUs lassen sich nunmal schlecht durch 1,5 oder 3 teilen. Allerdings ist die zugrundeliegende Idee einer näheren Zusammenrückung der Chips GF104, GF106 und GF108 nicht so abwegig und auch die Stückelungen 1/1,5 und 1/3 sind doch machbar.

Modell 1
Stückelung 1/2/4
Modell 2
Stückelung 1/1,5/3
GF104 4 Raster Engines, 384 Shader-Einheiten, 64 TMUs, 32 ROPs, 256 Bit DDR Interface (bis GDDR5) 3 Raster Engines, 360 Shader-Einheiten, 60 TMUs, 32 ROPs, 256 Bit DDR Interface (bis GDDR5)
GF106 2 Raster Engines, 192 Shader-Einheiten, 32 TMUs, 24 ROPs, 192 Bit DDR Interface (bis GDDR5) 2 Raster Engines, 240 Shader-Einheiten, 30 TMUs, 24 ROPs, 192 Bit DDR Interface (bis GDDR5)
GF108 1 Raster Engine, 96 Shader-Einheiten, 16 TMUs, 16 ROPs, 128 Bit DDR Interface (bis GDDR5) 1 Raster Engine, 120 Shader-Einheiten, 20 TMUs, 16 ROPs, 128 Bit DDR Interface (bis GDDR5)

Dafür müsste der GF104-Chip im Vollausbau nicht mit 384 Shader-Einheiten und 64 TMUs antreten, sondern schlicht "nur" mit 360 Shader-Einheiten und 60 TMUs. Die beiden letztgenanten Werte lassen sich perfekt durch 1,5 oder 3 teilen, so daß der GF106-Chip dann mit 240 Shader-Einheiten und 40 TMUs sowie der GF108 mit 120 Shader-Einheiten und 20 TMUs antreten könnte. Alle diese genannten Werte würden im übrigen perfekt zu Shader-Clustern mit jeweils 24 Shader-Einheiten und 4 TMUs passen (bei 360 Shader-Einheiten für den GF104-Chip ist gar nur noch dieses Modell möglich), alle entsprechenden Verhältnisse der Einheiten untereinander ergeben ganze Zahlen, sind also technisch machbar. Es bleibt natürlich abzuwarten, welche Anzahl an Hardware-Einheiten nVidia diesen Chips wirklich mit auf den Weg gegeben hat, denkbar sind derzeit wie gesagt die Varianten 384-192-92 oder 360-240-120, nicht aber 384-256-128 (Anzahl der Shader-Einheiten, jeweils in der Reihenfolge GF104-GF106-GF108).