prix

Stéphane Charpentier, Guillaume Louel | 14/05/2007
Accès direct :

Architecture : Ring Bus, Textures

Interface mémoire



Au niveau de l’interface mémoire, ATI a choisit de capitaliser sur les développements réalisés pour les R520, à savoir un ring bus. Le concept du ring bus pourrait se comparer à celui d’un périphérique d’une grande métropole (à vous de choisir laquelle). Il s’agit de deux réseaux de voies circulaires, tournant chacun dans le sens inverse. Avec de manière ponctuelle, des entrées et sorties pour faire circuler les voitures. D’un point de vue routier, l’intérêt du périphérique est de pouvoir aller d’un point à un autre de la périphérie de la ville sans pour autant avoir à la traverser. Le ring bus utilise un concept similaire, les voitures représentant les données. Il relie les différentes puces mémoires qui sont représentées par les entrées/sorties des périphériques (les portes). Mais à l’image d’un périphérique routier, le nombre de voies du périphérique (admettons 2 x 4) n’est pas forcément lié au nombre de voies utilisées par les portes de sorties (1 ou 2). L’intérêt est de permettre une bonne circulation qui ne soit pas ralentie par un bouchon à une sortie donnée. Là, l’intérêt est le même puisque l’on a seize puces 32 bits, ce qui nous donne une interface « réelle » de type 512 bits. Le ring bus en lui-même est cependant plus large puisque de deux fois 512 bits (512 bits dans chaque sens). Encore une fois, il s’agit d’améliorer la fluidité, en clair, de cacher au mieux les problèmes de latences.

Image
Les puces mémoire de la Radeon HD 2900 XT

La première itération du ring bus d’ATI était de type partiel. En effet, les requêtes de données partaient directement vers les puces, le ring bus n’étant utilisé que comme voie de retour. Avec le R600, AMD en profite pour rendre son modèle totalement distribué : les requêtes et les réponses passent par le même bus. De son côté, le GeForce 8800 utilise le « classique » concept du crossbar pour son contrôleur mémoire : il relie directement les différents contrôleurs de la puce aux puces mémoires. Bien qu’assez efficaces d’un point de vue débit théorique, les crossbars sont assez complexes a développer.

schemas
Parmi les nouveautés de ce Ring Bus, un lien direct avec le bus PCI Express. De quoi améliorer les performances sous Crossfire et globalement la communication entre le GPU et le système


Pour résumer, ATI a choisi une solution élégante quand Nvidia reste plus pragmatique. ATI dispose d’un avantage sur les chiffres avec 512 bits effectifs pour son ring bus contre 384 et 320 bits respectivement pour les GeForce 8800 GTX et GTS. Malheureusement, ATI l’avait appris a ses dépens, le mieux est très souvent l’ennemi du bien. Le ring bus est par définition extrêmement programmable au point de vue des timings et les changements les plus minces peuvent améliorer ou détruire les performances. Cela avait été le cas avec les X1800 et X1900 lorsqu'ATI avait reprogrammé l’année dernière tous ses timings mémoire et obtenu des gains, parfois très élevés dans les applications ayant besoin de beaucoup de bande passante. En utilisant le ring bus pour les requêtes et les réponses, le problème des priorités devient encore plus complexe à gérer. Faut il faire passer les requêtes en priorité ? Dans quelles proportions ? AMD est pleinement conscient de cela, et n’hésite pas à transformer cette particularité en une force : il y aurait des gains de performances à trouver de ce côté. C’est en effet tout à fait possible, et s’il on peut prendre en considérations les promesses, il nous faut juger aujourd’hui l’état existant.

Textures : le point douloureux



C’était l’un des points les plus surprenants de l’architecture du 8800, Nvidia n’avait pas lésiné sur les unités de textures, n’hésitant pas à en placer 32 sur son modèle haut de gamme capable chacune de requérir, récupérer et filtrer une texture. Des unités qui sont, qui plus est, très efficaces. De ce côté, ATI utilise quatre grosses unités de textures qui contiennent chacune de quoi demander quatre informations de vertex et quatre de textures. Chacune dispose enfin de quatre unités de filtrage. Sur le nombre d’unité, AMD semble donc désavantagé mais dans la pratique, ce qui compte réellement, c’est la rapidité du filtrage des dites textures.

Image

Comme vous le voyez, les performances en multi texturing sont assez faibles, ce qui risque d’handicaper la HD 2900 XT dans les tests de jeux les plus anciens dont les performances ne sont pas limitées par les shaders.

http://www.matbe.com/images/biblio/divers/000000057024.png
Diagramme de fonctionnement des unités de textures/vertex avec les différents niveaux de cache

Réagissez à cet article ICI
 
 
 

Actualités relatives