Téléchargez l'application
Tom's Hardware sur l'App Store
Toute l'actu informatique de référence sur votre iPhone
Oui Non

Des unités remaniées : Pixel Shader

par
Encore une fois les unités de Pixel Shaders ont bénéficié de toutes les attentions de la part des ingénieurs de NVIDIA. Non seulement leur nombre augmente de 50 % mais elles se voient également optimisées, résultat des analyses menées par les ingénieurs sur plus de 1300 shaders fréquemment utilisés.

Au premier abord le diagramme des nouvelles unités de Pixel Shaders ne laisse apparaître aucun changement :

On retrouve donc les deux unités indépendantes du NV40 (dual issue) chacune capable d’exécuter deux instructions simultanément sur chaque pixel (co-issue). Ainsi chaque unité peut opérer soit sur un vecteur de 4 éléments, soit sur un vecteur de 3 éléments et un scalaire ou même sur deux vecteurs de 2 éléments ce qui procure une grande flexibilité permettant de tirer au mieux parti des ressources.

La première unité n’est cependant pas toujours exploitable pour des opérations arithmétiques, elle est en effet mise à contribution lors de l’opération d’échantillonnage d’une texture dans laquelle elle se charge de la correction de perspective des coordonnées de textures. Mais si cela n’est pas nécessaire elle peut effectuer à la fois un calcul d’adresse pour l’unité de texture ET une instruction arithmétique. Notons qu’en parallèle elle peut également normaliser un vecteur FP16 gratuitement et qu’elle peut exécuter des opérations complexes (calcul d’inverse ou de racine carrée inverse).

C’est cette première unité qui a bénéficié des retouches des ingénieurs : alors que dans le NV40 elle ne pouvait exécuter que des multiplications, elle est désormais également capable d’effectuer des additions. Et comme les additionneurs ont été ajouté en cascade par rapport aux multiplicateurs elle peut aussi effectuer des MAD (multiply-add) tout comme l’unité 2. Ce type d’opération : r = a * b + c est particulièrement utile dans les applications multimédia et notamment la 3D. C’est pour cette raison que les ingénieurs ont câblé une instruction de multiplication-addition qui est apparue il y a fort longtemps dans les DSP (Digital Signal Processor) mais aussi dans le jeu d’instructions de certains processeurs généralistes comme notamment le PowerPC.

La seconde unité n’a pas été modifiée : elle est donc toujours capable d’effectuer cette fameuse instruction MAD ou un produit scalaire par cycle, mais elle est aussi capable d’effectuer des opérations complexes sur le canal alpha à la place du MAD (EXP, LOG, SINCOS).

Pour être complet signalons également la présence pour chaque unité d’une mini-ALU capable de se charger de l’exécution des modifiers : des instructions simples appliquées au résultat d’une opération ce qui permet de décharger les unités principales de ce genre de tâches.

En ce qui concerne la fameuse limitation du nombre de registres par pixel qui avait tant fait parler d’elle à l’époque du GeForce FX, elle est toujours présente et n’a pas bougée depuis le GeForce 6. Ainsi le pipeline est conçu en réservant un maximum de 4 registres FP32 (8 FP16) par pixels, si ce nombre est dépassé alors le nombre de pixels en cours de traitement qui peuvent être conservés dans le pipeline diminue. Or comme nous l’avons vu dans la section sur l’accès aux textures dans un Vertex Shader, le nombre de pixels est particulièrement important pour pouvoir masquer la latence d’accès aux textures. De la même façon la bande passante vers le fichier de registres est limitée et peut être saturée si toutes les unités lisent des vecteurs FP32. Toutes ces mesures sont le résultat des compromis qu’ont du faire les ingénieurs de NVIDIA pour garantir une efficacité maximale avec des ressources limitées mais même si l’utilisation du FP16 peut encore quelque peut améliorer les performances du G70 ou du NV40, cela n’a rien à voir avec ce dont il était question à l’époque du NV35.

Tout ce qu’il faut retenir de ce concentré de jargon technique c’est que les unités de Pixel Shader déjà redoutablement efficaces du NV40 ont encore été améliorées.

Partager:
Soyez le premier à laisser un commentaire !
X
Valider

Commentaires

Les offres du moment

Newsletters


OK