| [ Vendredi 23 novembre 2007 ] | par Guillaume Louel |
| Prix en boutique (hors frais de port) | ||
| G.SHDSL 8 PORT 10/100BASET ISDN PERPBACK-UP IOS ADVANCED IP SERVICE | Amazon.fr MarketPlace | 980.00 € |
Si l’on se place d’un haut niveau, les quatre cœurs du K8 sont indépendant des uns des autres, chacun disposant de 128 ko de cache de niveau 1 et de 512 Ko de cache de niveau 2. Contrairement aux Athlon X2 qui étaient relié par le cache L2, AMD a choisi de rajouter un niveau de cache supplémentaire (niveau 3 ou L3). C’est par ce dernier, d’une taille de 2 Mo, que l’interconnexion entre les cœurs se fait et qu’ils peuvent ainsi partager leurs données.
Vous l’aurez probablement remarqué si vous observez vos applications dans le gestionnaire des taches, Windows (et particulièrement Windows XP) a une fâcheuse tendance a « balader » les programmes d’un cœur à l’autre. Outre le flux d’instruction, il faut également transporter les données sur lesquelles travaillaient les programmes. Pour cela, des mécanismes existent pour gérer la cohérence de cache (les couches MESI et MOESI par exemple). C’est dans ce cadre qu’entre en compte le cache L3 proposé par AMD puisque c’est par ce dernier que se fera cette mise en cohérence des caches. Une stratégie intéressante et qui demandera moins de cycles d’horloge que chez Intel ou l’on doit repasser par le chipset, rappelons le.

Un mot sur les caches de niveau 1 et 2, ils sont toujours de type exclusifs, c'est-à-dire que les données qui sont dans le cache de niveau 1 ne seront pas dans le cache de niveau 2, contrairement à l’approche classique utilisée entre autre par Intel qui consiste à garder une copie du L1 dans le L2. La relation exclusive permet de gagner un peu de place dans le cache de niveau 2, au détriment de devoir gérer cette cohérence qui se traduit par une petite latence supplémentaire lors de certaines opérations. Intel ne s’embarrasse pas de ceci puisqu’il utilise une stratégie différente pour la taille de ses caches. Le cache de données du niveau 1 représente en effet un huitième du cache L2 d’un cœur chez AMD (64 ko sur 512 Ko). Chez Intel, on choisi (comme souvent) une solution plus brutale, le L1 ne représente qu’un 192eme du L2 (16 Ko contre 3 Mo sur un core Penryn). Plutôt que d’économiser des transistors contre un surcout, on rajoute de larges quantités de cache.
Un mot sur la rapidité des caches :

Comme vous pouvez le voir, le Phenom a copieusement réduit la latence du cache L2 introduit dans les cœurs Brisbane, version 65 nm de l’Athlon X2. AMD revient donc au niveau du cache d’Intel pour la rapidité. Pour le L3, la latence est plus élevée, ce qui est tout à fait normal pour ce type d’approche. Malheureusement pour AMD, la quantité de cache L3 partagée est égale a la taille du cache L2 de chacun des cores d’un Core 2 Duo « Conroe ». Qui est trois fois plus rapide. Force brute contre approche trop léchée, vous commencez à connaitre ce refrain…
| < | Natif, natif... | D’autres optimisations | > |







