Athlon 64 Venice et Sempron Palermo

Les améliorations

Le core Venice (révision E3) amène principalement trois innovations outre le passage au 0.09µ : l’amélioration du contrôleur mémoire, le support des instructions SSE3 et l’utilisation du DSL.

Le contrôleur mémoire

Le nouveau contrôleur mémoire des Athlon 64 Venice gagne d’abord en compatibilité. Sur les cores actuels, le fait d’utiliser 4 barrettes mémoires nécessite au minimum de passer du timing 1T au timing 2T sur les barrettes de DDR400, voir de redescendre en outre en DDR333 si les 4 barrettes de mémoire installées sont double face. Or, le passage au timing 2T implique une diminution de la bande passante de l’ordre de 22 %, ce qui en pratique peut donner des pertes plus ou moins sensibles suivant le logiciel utilisé. Le nouveau contrôleur du core Venice permet de maintenir le timing 1T en cas d’installation de 4 barrettes DDR400, et de limiter le contrecoup au seul passage en 2T si ces barrettes sont double face.

Au niveau des performances maintenant, le prefetch des données (mécanisme de prédiction et de chargement des futures données demandées par le processeur) aurait été amélioré. On note également le doublement des write combining buffers. Ce sont ces améliorations qui expliquent principalement le gain de performance des nouveaux Athlon 64 sur les anciens, même si les benchmarks mémoire traditionnels ne seront probablement pas à même de le mesurer.

Le SSE3

Fidèle à sa stratégie de toujours, AMD continue de rajouter à ses processeurs les jeux d’instructions des Pentium, dès que ceux-ci commencent à être utilisés. Après le MMX, le SSE et le SSE2, c’est donc au tour du SSE3 d’être supporté par la révision E3, même si l’intégration de ce jeu d’instruction dans les logiciels semble encore bien limitée en l’état.

Pour rappel, les 13 instructions SSE3 ont été introduites via le Pentium 4 Prescott en tant qu’extensions au SSE2. Leur but reste d’accélérer et faciliter les tâches multimedia (calculs vidéos, audio, graphiques). Seules 11 instructions sont supportées par la révision E3 : les deux dernières concernent l’HyperThreading. Cette absence peut surprendre vu l’arrivée relativement proche des Athlon 64 X2 qui auraient techniquement les moyens de tirer partie de l’HyperThreading, mais cette technologie nécessite une implémentation spécifique et le support de ces deux instructions semble donc inutile.

Le Dual Stress Liner

Le Dual Stress Liner n’est pas une unité d’exécution mais un procédé de fabrication, mis au point conjointement par AMD et IBM. Assez proche du strained silicon, son effet principale peut être compris comme la réduction de la puissance dynamique (ie. effectivement utilisée) consommée par le processeur, alors que pour rappel le SOI permet pour sa part de diminuer les courants de fuite. Le DSL est toutefois supérieur au strained silicon dans la mesure où il fonctionne à la fois sur les transistors de type NMOS (comme le strained silicon) via le nitrure de tension, mais également sur les transistors PMOS via le nitrure de compression. Dans le premier cas, les atomes de silicium sont étirés, alors que dans le second ils sont resserrés.

Le nitrure de tension reprend le même principe que le strained silicon, en étirant les atomes

A gauche, la tension sur les NMOS, à droite la compression sur les PMOS

Au final, le DSL est utilisé par AMD pour augmenter la vitesse des transistors à consommation équivalente. Le communiqué officiel de l’IEDM (International Electronics Device Meeting) avance un chiffre qui revient souvent quand on parle du DSL, et qui est impressionnant en soit : l’augmentation de vitesse atteindrait 24 % à consommation identique. Difficile à vérifier en pratique toutefois, surtout à l’échelle d’un microprocesseur entier. Le DSL est pourtant clairement ce qui facilite l’utilisation du core E3 sur les Athlon 64 de forte fréquence, et permettra l’arrivée de l’Athlon FX 57.