AMD Radeon HD 4870 & 4850

Publié le 25/06/2008 par
Imprimer
Architecture Radeon HD 4800
Avec les Radeon HD 4000 et plus particulièrement avec le RV770, AMD devait repartir de l'architecture de base des générations précédentes, sans quoi le développement aurait été trop long et tout l'investissement du côté logiciel aurait pu être oublié. Du coup la base reste la même, à savoir des multiprocesseurs 16-way dont chacun des 16 processeurs est une unité de calcul MIMD vec5.


Un processeur et ses 5 unités de calcul.

Petite amélioration cependant, AMD a étendu le support des instructions sur les entiers à toutes les sous unités. Si une unité reste plus évoluée avec le support des fonctions spéciales, le support des entiers est maintenant intégré à toutes les unités de calcul. Là où AMD a le plus travaillé c'est sur la simplification de l'implémentation hardware de ces multiprocesseurs. Tout en conservant un rendement similaire (et même un meilleur rendement dans le cas des opérations sur les entiers donc) AMD est parvenu à réduire significativement leur taille.

AMD s'en est ensuite pris à ses unités de texturing. Elles étaient trop grosses et pas spécialement efficaces malgré le découplage. AMD a donc décidé d'abandonner celui-ci, pourtant plus élégant et de recoupler un bloc d'unités de filtrage par multiprocesseur qui en aura donc l'exclusivité. Toujours par souci d'économie, AMD est revenu en arrière sur 2 autres points : les samplers scalaires ont été effacés du design et le filtrage FP16 a été réduit à demi vitesse. Les blocs d'unités de texturing sont ainsi devenus 70% plus légers. Pour compenser en partie les différentes pertes AMD a revu la structure de ses caches pour maximiser le rendement autant que possible de "ce qui reste".


2 multiprocesseurs et leurs unités de texturing.

AMD a ainsi pu rendre la base de son architecture nettement plus économe. A tel point que selon les bruits de couloir qui nous parviennent, au départ AMD visait l'implémentation de 6 multiprocesseurs, soit de 96 processeurs vec5 et 24 unités de texturing, ou encore de 480 processeurs scalaires pour donner un équivalent avec les GeForce. Par rapport à la taille de la puce fixée par le pin out, ses connexions, AMD a "malheureusement" fait un trop bon travail. Du coup les unités prenaient moins de place que prévu et une partie du die était inoccupée.

Comment le remplir ? En rajoutant 4 multiprocesseurs de plus ! AMD a probablement dû pousser un peu, mais ils sont rentrés. Du coup AMD nous arrive avec un RV770 qui contient pas moins de 160 processeurs vec5, soit 800 processeurs scalaires, et 40 unités de texturing. Un net bon avant par rapport à la génération précédente.


Gros défaut de cette précédente génération : les ROPs. L'efficacité de ceux-ci est en effet questionnable, surtout avec antialiasing. Si AMD n'a jamais détaillé ouvertement le problème, mais a avoué qu'il y en avait un, il semble évident qu'une partie des ROPs ne fonctionne pas ce qui grève les performances avec antialiasing. Nous supposons qu'il s'agit de l'unité de MSAA resolve ou de downsampling, dont le travail est de ramener l'image à la taille d'affichage, ce qui la filtre et fait disparaître l'aliasing.


Avec le RV770, AMD introduit de nouveaux ROPs, et indique avoir corrigé le problème, encore une fois sans le détailler. Qui plus est, AMD double les débits de ses ROPs avec antialiasing, en FP16 et en Z-only. Si leur nombre reste à 16 ils gagnent donc nettement en capacité.

Enfin, et c'est une surprise pour nous, AMD abandonne le ring bus tant vanté avec les précédentes générations. Si le ring bus est une solution très élégante, il est beaucoup plus gourmand en transistors qu'un contrôleur mémoire classique, tout en n'apportant en pratique que peu de gains. Du coup il passe à la trappe et AMD revient à un système plus simple dont le rendement a cependant été bien travaillé. Le bus mémoire externe, lui, ne bouge pas et reste de 4x 64 bits soit 256 bits.
Vos réactions

Top articles