Pentium III-S et Celeron Tualatin | ||||||||||||||||||
By Franck | ||||||||||||||||||
Pentium III-S
: Le Test Le Pentium III-S a la particularité de posséder 512Ko de cache L2 sur la puce. Ce n'est pas le premier processeur à inclure une telle quantité de cache en full-speed, car ce fut déjà le cas pour certaines versions de Pentium Pro ainsi que pour le Pentium III Xeon. En revanche, c'est la première fois qu'une telle quantité de cache bénéficie de la technologie ATC.
En théorie, quels sont les avantages d'un cache deux fois plus
gros ? Cela signifie tout d'abord deux fois plus de données présentes
dans le cache, et donc un taux de réussite plus important. Cette
inflation de cache est d'autant plus appréciable qu'elle est accompagnée
du mécanisme automatique de préchargement des données.
Vérifions cela sur les courbes de débit et de latence.
Nous avons comparé les débits mémoire entre le Pentium III-S 1,13GHz et le Céléron Tualatin 1,2GHz.
Le débit maximum théorique est de 9064Mo/s pour le PIII-S (8x1133), pour une valeur lue de 8920Mo/s. Une fois de plus, on mesure ici les performances élevées du cache L1 en lecture. Le débit mémoire théorique est de 133x8 = 1066MHz, pour une value lue de 911Mo/s. Les 512Ko de L2 du Pentium III-S apparaissent nettement sur la courbe.
Nous remarquons également que la décroissance après
le L2 est beaucoup moins nette que dans le cas du Céléron,
pour lequel la décroissance s'effectue sur 32Ko passée la
barrière des 256Ko. Le Pentium III-S possède quant à
lui une décroissance beaucoup plus étendue, qui traduit
un taux d'échec moins important une fois passée la taille
du L2. Nous pouvons donner deux explications (complémentaires)
à ce phénomène :
Pour vérifier cela, nous avons regardé l'effet de l'ajout d'un prefetch logiciel sur la courbe d'un Pentium III Coppermine. Ainsi, pour chaque copie de blocs de 64 octets, nous avons ajouté deux instructions prefetcht1 (prefetch dans le cache L2 uniquement, afin de conserver le principe du prefetch hardware) afin de monter le bloc suivant depuis la mémoire centrale. Voyons ce que l'on obtient alors :
Les débits du L1 et du L2 diminuent fortement, ce
qui est normal, car la mesure prend également en compte les instructions
de prefetch qui s'ajoutent aux instructions de copie. En revanche, il
est intéressant de noter la différence de la pente de décroissance
passés les 256Ko. La courbe sans prefetch décroît
pour atteindre le pallier de la mémoire en 32Ko. La courbe avec
prefetch quant à elle décroît sur 64Ko, passant même
au dessus de la courbe d'origine entre 272Ko et 320Ko. On obtient donc
sur la courbe avec prefetch le même effet que celui observé
sur le Pentium III-S. On note cependant que cet effet n'est pas visible sur le Céléron
Tualatin. Comme le montre sa courbe de débit, il se comporte comme
un Pentium III Coppermine sans prefetch hardware, décroissant en
32Ko.
Une troisième raison pourrait être que le mécanisme de prefetch hardware est désactivé sur le Céléron Tualatin. Nous avons essayé d'en savoir plus à partir de la datasheet Intel sur le Céléron Tualatin (disponible ici), et à notre grande surprise, le Data Prefetch Logic n'est pas du tout mentionné, alors qu'il l'est dans les datasheets du Pentium III Tualatin (ici) et du Pentium III-S (ici). Tout ceci est très intrigant ! Cependant nous nous garderons de
conclure hâtivement, et essaierons d'en savoir plus à ce
sujet.
Nous avons mesuré les temps de latence en lecture du Pentium III-S et les avons comparés à ceux du Pentium III Coppermine.
Le cache L2 du PIII-S a un temps de latence moyen en de 8 cycles, contre 7 pour le Coppermine. Il s'agit là encore un effet de l'augmentation de la taille des blocs (mais négatif celui-ci). En effet, comme nous l'avons évoqué plus haut, le temps d'accès à un bloc augmente avec sa taille, et l'effet est une augmentation générale du temps d'accès au cache.
|
||||||||||||||||||
Fermer |