Nvidia GeForce GTX 980 et GTX 970 : le GM204 Maxwell et les Gigabyte G1 Gaming en test

Publié le 19/09/2014 (Mise à jour le 30/01/2015) par
Imprimer
GM204 : 5.2 milliards de transistors
Avec Maxwell, nom de code sa nouvelle architecture, Nvidia continue l'effort entrepris lors du passage de Fermi vers Kepler, pour une meilleure efficacité énergétique. C'est d'autant plus nécessaire que le procédé de fabrication n'évolue pas et reste la même variante du 28 nanomètres de TSMC (HP) que pour l'ensemble des GPU précédents, contrairement à ce que nous aurions pu penser.

Pour rappel, voici la liste des GPU conçus par Nvidia en 28 nanomètres :

GK110 : 7.1 milliards de transistors pour 551 mm²
GM204 : 5.2 milliards de transistors pour 398 mm²
GK104 : 3.5 milliards de transistors pour 294 mm²
GK106 : 2.5 milliards de transistors pour 214 mm²
GM107 : 1.9 milliards de transistors pour 148 mm²
GK107 : 1.3 milliards de transistors pour 118 mm²
GK208 : 1.0 milliards de transistors pour 79 mm²


Le GM204 de Nvidia.

Un petit calcul rapide montre que les 4 GPU les plus récents de Nvidia, à savoir les GK110, GK208, GM107 et GM204, affichent une densité de transistors un peu plus élevée que celle de ses premières puces fabriquées en 28 nm. Ceci peut s'expliquer par une petite évolution des règles de design et sur un effort d'optimisation plus poussé mais aussi par la proportion de mémoire SRAM (plus dense que les autres circuits) qui peut être plus élevée.

Le GM204 se place à mi-chemin entre les GK110 et GK104 en termes de coûts de production, tout en ayant pour ambition de devancer le premier dans le cadre ludique.


Le plein de ROP
Pour rappel, alors que les GPU Kepler reposaient sur des blocs fondamentaux appelés SMX (Streaming Multiprocessor), qui contiennent unités de calcul et autres unités de texturing, ceux-ci sont appelés SMM dans le cas de la génération Maxwell. Ils ont subi un régime assez drastique afin de les simplifier suffisamment pour pouvoir en augmenter significativement le nombre.

Tout comme les SMX, les SMM sont organisés en petits groupes, appelés GPC (Graphics Processing Cluster). Chaque GPC inclus un moteur de rastérisation qui reçoit les triangles traités par les SMX/SMM, les découpes en pixels avec lesquels il forme de petits groupes qui sont renvoyés vers les SMX/SMM en vue de leur calcul. Voici une représentation visuelle du GM204 (notez que la représentation miniature des SMM est basée sur la version officielle qui n'est pas tout à fait correcte) :


Voici pour comparaisons les spécificités de tous les GPU 28 nm de la marque :

GK110 : 5 GPC, 15 SMX, 48 ROP, bus 384-bit, 1536 Ko de L2
GM204 : 4 GPC, 16 SMM, 64 ROP, bus 256-bit, 2048 Ko de L2
GK104 : 4 GPC, 8 SMX, 32 ROP, bus 256-bit, 512 Ko de L2
GK106 : 3 GPC, 5 SMX, 24 ROP, bus 192-bit, 384 Ko de L2
GM107 : 1 GPC, 5 SMM, 16 ROP, bus 128-bit, 2048 Ko de L2
GK107 : 1 GPC, 2 SMX, 16 ROP, bus 128-bit, 256 Ko de L2
GK208 : 1 GPC, 2 SMX, 8 ROP, bus 64-bit, 512 Ko de L2

Alors que le GM107 était passé à 1 Mo de L2 par partition mémoire de 64-bit, le GM204 s'en contente de 512 Ko, soit 2 Mo au total pour les 2 GPU Maxwell. Par contre, Nvidia passe de 8 à 16 ROP par partition mémoire, soit 64 au total. De quoi booster largement le fillrate, ce qui profite notamment aux plus hautes résolutions.

Pour éviter d'être trop limité par le bus mémoire 256-bit et la bande passante qui y est liée, Nvidia a amélioré quelque peu ses techniques de compression sans perte du framebuffer. Plus spécifiquement, c'est le codage différentiel pour les couleurs, également appelé compression delta, qui progresse, exactement comme l'a fait AMD avec Tonga.

Le principe de base consiste à ne pas enregistrer directement la couleur mais sa différence par rapport à une autre qui fait office de repère. Ce n'est bien entendu utile que quand l'écart entre deux couleurs est suffisamment faible, de manière à ce que cette information représente moins de bits que la couleur en elle-même. Ce type d'approche est exploitée depuis plusieurs générations de GPU mais les nouvelles puces Maxwell exploitent un algoritme plus flexible, capable de profiter de cette compression (2:1) dans plus de cas.

5.33 triangles et 64 pixels par cycle
Avec 4 GPC, le GM204 est capable d'afficher jusqu'à 4 triangles par cycle, tout comme le GK104. Si ce débit brut ne progresse pas, en pratique Nvidia a apporté quelques améliorations pour faciliter un rendement plus élevé. Par ailleurs notez que chaque moteur de rastérisation est capable de générer jusqu'à 16 pixels par cycle contre 8 sur Kepler, de quoi pouvoir alimenter les 64 ROP.

A noter que tout comme les SMX, les SMM sont capables de débiter 128 bits de couleur par cycle, ce qui équivaut à 4 pixels 32-bit ou à 2 pixels HDR. Avec 16 SMM, le débit de 64 pixels par cycle peut donc être soutenu. Par contre, dans le cas de la GeForce GTX 970 qui se contente d'un GM204 limité à 13 SMM, le débit de pixel maximum est de 52 par cycle.

Du côté du traitement de la géométrie, les SMX sont capables de charger un vertex tous les deux cycles, mais ce débit a été réduit à un vertex tous les 3 cycles pour chaque SMM (ce qui correspond au chargement de 1 triangle par cycle quand le maillage des objets est optimisé). Comme nous le disions plus haut, le débit de triangles affichés à l'écran est de 4 par cycle et 12 SMM permettent donc de le maintenir (sauf si plus d'un SMM est désactivé par GPC). Par contre, dans le rendu 3D en temps réel, il n'y a pas que des triangles qui sont réellement rendus et affichés, nombreux sont ceux qui sont masqués parce qu'ils sont en dehors du champ de vision ou parce qu'ils tournent le dos à la caméra (c'est le cas statistiquement de la moitié des triangles qui composent personnages et autres objets).

Le débit du culling, qui consiste à éjecter du pipeline de rendu ces triangles masqués, est donc important lui aussi. Cette opération est traitée au niveau des SMX/SMM avec le débit maximal de ceux-ci. Le SMX pouvait donc éjecter du rendu un triangle tous les 2 cycles, contre un tous les 3 cycles pour le SMM. Une GTX 980, avec 16 SMM peut ainsi traiter jusqu'à 5.33 triangles/cycle quand ceux-ci ne poursuivent pas leur chemin jusqu'au rendu final, contre 4.33 triangle/cycle pour la GTX 970.
Vos réactions

Top articles