NVIDIA GeForce 6800 Ultra

Par Julien Jay
le 14 avril 2004 à 15h00
0

Les pipes, le chip, la mémoire et l'interface



0000009600083420-photo-nv40-puce-gf6800u.jpg
Souvenez-vous... Le GeForce FX 5950 Ultra (NV38) dispose d'une architecture de type 4x2 (4 pixel pipelines avec 2 unités de texture par pipe) qui peut fonctionner en mode 8x0 en ne traitant que des données Z ou les textures. Chez ATI, la gamme des R3xx dispose pour sa part d'une véritable architecture 8x1. Pour revenir dans la course, NVIDIA se devait de mettre le paquet sur la puissance brute en dotant son chip du plus grand nombre possible de pipes. Le résultat est ahurissant puisque le NV40 qui nous préoccupe aujourd'hui est, tenez-vous bien, doté de 16 pixels pipelines comportant chacun une unité de texturing. Les pipelines sont arrangés pour former quatre groupes SIMD de 4 pipelines ce que NVIDIA appelle les Quad Pipelines. L'architecture du GeForce 6800 Ultra est donc de type 16x1 et peut fonctionner en 32x0 selon le même principe que le NV3x. Ces seize pipelines, et c'est important de le préciser, sont entiers, non limités, fonctionnent à pleine vitesse et sont épaulés de 32 registres. Ils peuvent tous travailler avec une précision de calcul maximale de 128 bits même à pleine fréquence. Le fillrate théorique du GeForce 6800 Ultra est donc de 6.4 gigapixels par seconde pour une puissance géométrique de 600 millions de polygones par seconde. Voilà donc un véritable progrès qui explique en partie la taille imposante du processeur et de son die, d'autant que le GeForce 6800 intègre en plus six unités de vertex. Chacune de ces six unités est de type MIMD (multiple instruction data) et dispose d'un Vertex Texture Fetch relié à une mémoire cache L2 dédiée aux textures pour réduire au maximum les problèmes de latence.

Avec un tel nombre de pipelines, il n'est pas surprenant d'apprendre que le NV40 comporte le nombre record de 222 millions de transistors. Mesurant 40 mm x 40 mm le die de la puce reste fabriqué en 0.13µ par et est cadencé à 400 MHz. Physiquement, le NV40 conserve un packaging de type "flip-chip" mais son die est apparent, alors qu'une sorte de "placer" métallique recouvre les extrémités de la puce. Ce nombre élevé de transistors implique une forte consommation électrique et NVIDIA conseille d'ailleurs de disposer d'une alimentation de 450 Watts minimum, la puce et sa mémoire consommant en théorie entre 100 et 110 Watts ! Dans les faits vous devriez pouvoir vous en sortir avec une alimentation 350 Watts pour peu que votre système ne soit pas trop chargé. Question mémoire, le NV40 dispose d'une interface 256 bits et fait appel à de la GDDR3 cadencée à 1.1 GHz. La mémoire GDDR3 représente une évolution significative de la DDR2, puisque grâce à une plus grande finesse de gravure, les puces sont plus rapides et chauffent moins. Cela se ressent directement sur la bande passante mémoire, le NV40 pouvant délivrer près de 35.2 Go par seconde. Précisons que le GeForce 6800 dispose d'un contrôleur mémoire Crossbar fonctionnant sur quatre voies. Toutefois et malgré une fréquence élevée de 550 MHz, il aurait fallu que la DDR3 tourne à 600 MHz pour que les seize pipes du NV40 soient pleinement exploités. L'architecture a donc encore un certain potentiel d'évolution avec les prochaines montées en puissance tant de la mémoire que de l'interface qui est pour l'instant en AGP 8x.

000000C800083422-photo-nv40-die.jpg

Le die du NV40

Pour cette première version, le GeForce 6800 Ultra se limite à l'interface AGP 8x, faute de plates-formes PCI-Express disponibles. L'utilisation du bus AGP 8x se fait de manière native, NVIDIA n'ayant pas recours avec le NV40 au fameux bridge (ou HSI), du moins pour le moment. Du coup toutes les fonctionnalités classiques de l'AGP 8x sont supportées comme les fast writes. Il faudra vraisemblablement attendre l'arrivée du NV45 pour que le PCI-Express soit supportée nativement par les GeForce 6 haut de gamme.


Une architecture superscalaire massivement parallèle !



Le NV40 se distingue de ses prédécesseurs grâce à son architecture de type superscalaire. Celle-ci se caractérise par la présence de deux unités de shaders par texturing unit qui permettent d'exécuter un maximum de quatre instructions par cycle soit un total de huit opérations par pixel. Cette architecture superscalaire a toutefois une limite, puisque lorsque le GPU doit traiter à la fois des pixels et des textures, il ne peut alors exécuter que quatre opérations par pixel.

000000C800083675-photo-nv40-deux-unit-s-de-shaders-par-tmu.jpg

Typiquement les architectures DirectX 9.0 peuvent fonctionner en mode 'Co-Issue' c'est-à-dire exécuter deux instructions indépendantes au sein de la même unité de shaders en mode 3/1 (trois opérations + une opération). Le NV40 redéfinit le fonctionnement Co-Issue en autorisant de plus larges combinaisons avec un fonctionnement 3/1 ou 2/2. Mais grâce à la seconde unité de shaders, NVIDIA parvient à autoriser l'exécution de deux instructions dans le même cycle d'horloge dans les deux unités de shaders et ce aussi bien en mode 3/1 qu'en mode 2/2. Dès lors, le NV40 peut traiter en Dual-Issue quatre instructions par pixel et par cycle contre deux instructions par pixel et par cycle pour le R3xx, ceci dans le but d'augmenter le parallélisme pour des performances toujours plus élevées. Le Dual-Issue permet donc au NV40 d'être plus souple et plus flexible à programmer. Pour avoir une idée tangible du gain de performance induit par le Dual Issue et l'architecture superscalaire, on peut prendre un shader comportant 26 opérations arithmétiques et quatre textures. Un NV35 le traitera en douze passes, alors que le NV40 s'acquittera de cette tâche en seulement six passes... En d'autres termes, cette architecture parallèle permet à chacun des pipelines du NV40 d'exécuter différentes instructions, sur différents jeux de données en même temps.

0000008C00083436-photo-nv40-architecture-superscalaire.jpg

Une des autres avancées de l'architecture NV40 tient à ce que NVIDIA appelle l'Opportunistic Instruction Execution. Il s'agit en fait d'une fonction de prefetching ou de prédicition de branchement en français dans le texte qui permet au processeur de deviner quelles données seront requises par l'étape suivante d'un shader en cours d'exécution. Grâce à cette fonction le processeur précharge les données qu'il estime bientôt nécessaires ce qui permet d'accélérer encore les temps d'exécution et donc les performances des shaders.
Modifié le 01/06/2018 à 15h36
Cet article vous a intéressé ?
Abonnez-vous à la newsletter et recevez chaque jour, le meilleur de l’actu high-tech et du numérique.

Dernières actualités Cartes graphiques NVIDIA

Nvidia augmente (légèrement) la puissance de certaines RTX 2060/2070/2080... sans augmenter le prix
Test MSI GE75 Raider 8SE : que vaut la RTX 2060 sur PC portable ?
GTX 1650 : côté multimédia, la puce entrée de gamme de NVIDIA hérite de la génération Volta
NVIDIA : les GTX 1660 Ti et 1650 intégrées à plus à 80 modèles de laptops dès aujourd’hui
GTX 1650 : sortie le 24 avril à partir de 150€
Nvidia donne plus d'infos sur les prestations des GeForce GTX sous DXR
Acer : un PC portable gamer doté d'une GeForce GTX 1650 en fuite
NVIDIA : la GTX 1650 se concrétise, lancement pressenti ce 22 avril
NVIDIA annonce la compatibilité du ray tracing sur les GTX Pascal et Turing
NVIDIA lance officiellement la GeForce GTX 1660
NVIDIA (très très) loin devant AMD sur les ventes de cartes graphiques
#Rediff | Test MSI GS65 Stealth 8SF : un coup d'éclat sous RTX 2070
Test NVIDIA GeForce GTX 1660 Ti : la carte graphique de la raison
Pilotes GeForce 419.35 WHQL : des optims pour Apex Legends, DMC 5 et The Division 2
Nouvelle baisse consécutive des ventes de GPU, alors que les ventes d'ordinateur progressent
scroll top