Se connecter avec
S'enregistrer | Connectez-vous

L'architecture en détail

GeForce GTX 480 et 470 : révélation ou déception ?
Par , Chris Angelini

Si AMD avait pu se contenter de quelques retouches avec son RV870, NVIDIA a pour sa part du changer radicalement son architecture introduite avec le G80 il y a plus de 3 ans et qui était désormais en fin de cycle.  L'organisation des différentes unités a été complètement remaniée.Ainsi le GT200 offrait ce que NVIDIA appelle des TPC (Texture Processor Cluster) qui étaient constitués d'une unité de textures et de 3 unités de calculs : les Streaming Multiprocessor. Si NVIDIA conserve le terme de Streaming Multiprocessor avec le GF100, ces derniers sont désormais beaucoup plus puissants.

Les Streaming Multiprocessors

Alors que sur le GT200 un Streaming Multiprocessor était constitué d'une unité SIMD 8 voies,  de deux unités spécialeset d'une unité double précision, sur le GF100 il est désormais équipé de deux unités SIMD 16 voies et de quatre unités spéciales. Il n'y a donc plus d'unité de calculs dédiée spécifiquement à la double précision, les calculs FP64 étant désormais effectués par les mêmes unités à un débit deux fois moins élevé.

L'augmentation de la puissance de calcul n'est pas la modification la plus notable, en effet désormais les unités de texture sont directement implémentées dans le SM alors qu'auparavant elles étaient découplées : 3 SM partageant huit unités de texture. Sur le GF100 chaque multiprocesseur dispose de ses 4 propres unités de texture ce qui explique également pourquoi leur nombre global a diminué par rapport à l'architecture précédente (8 unités par TPC sur le GT200 soit 80 en tout, contre 4 unités par SM sur le GF100 soit 60 sur la GTX 480). Autre nouveauté : l'apparition de 16 unités de chargement/rangement (load/store) permettant de calculer des adresses en mémoire cache ou en RAM pour 16 threads à chaque cycle.

Concrètement cette réorganisation permet à NVIDIA de proposer une architecture beaucoup plus élégante et plus efficace que la précédente, désormais les SM sont vraiment des processeurs indépendants alors qu'auparavant ils reposaient sur un sous-système mémoire partagé par groupe de 3 SM.

La taille du fichier de registres a également augmenté. Ainsi de 16 384 registres 32 bits par multiprocesseur on passe désormais à 32 768, dans le même temps le nombre de threads actifs par multiprocesseur a également augmenté par rapport au GT200, de 1024 threads (24 warps de 32 threads) on passe désormais à 1536 (48 warps de 32 threads). Le nombre de registres disponibles par threads est donc désormais de 21 contre 16 auparavant (et 10 sur le G80). Vérifions maintenant l’augmentation de cette puissance de calculs via quelques shaders.

Sur un shader désormais très simple d’éclairage par pixel de niveau DirectX9, la dernière carte de NVIDIA s’avère 55 % plus performante que la GeForce GTX 280. Cet écart grimpe toutefois à 82 % avec un shader plus lourd de textures procédurales :