Intel Pentium III E

Publié le 25/10/1999 par
Imprimer

ATC - Advanced Transfert Cache

coppermine_katmai.jpg (25985 octets)Le cache de second niveau, qui fait office de mémoire tampon entre la mémoire vive et le cpu, était externe au processeur dans le cas du Pentium III. Avec le Pentium III E, c´est différent. En effet, le cache de second niveau est directement intégré sur le même die (couche de silicium) que le processeur, comme c´était déjà le cas pour le Celeron. Toutefois, afin de ne pas avoir un processeur trop gros (le PIII E est tout de même composé de 28 Millions de transistors), ce cache n´est que de 256 Ko, contre 512 Ko auparavant. Mais heureusement, si ce cache de second niveau est plus petit, il est aussi beaucoup plus rapide.

En effet, ce cache fonctionne plus vite, à la fréquence du processeur, alors qu´il était cadencé à ½ de cette dernière auparavant. De plus, il s´agit désormais d´un cache 256 bits, contre 128 bits auparavant. La bande passante théorique du cache de second niveau passe donc de 2.8 Go /s sur un PIII 700 à 11.2 Go /s sur un PIII 700 E (il faut deux cycles au processeur pour lire / écrire une ligne de cache). Ce n´est pas le seul changement, puisque le temps de latence de ce cache est réduit de 4 fois par rapport au Pentium III standard.

Dernier changement, et non des moindres, le cache L2 du PIII E est de type "8 Way Set Associative ", contre "2 Way Set Associative" pour le PIII. What ? Il s´agit en fait de la méthode utilisée par le cache de second niveau pour "cacher" la mémoire vive. Il existe 3 techniques de Mapping :

  • Direct Mapped Cache :

Un cache de 256 Ko est divisée en 8192 lignes de 32 octets (256 bits), dans le cas du PIIIE. Chacune de ses lignes de 32 octets devra cacher, si vous disposez de 128 Mo de mémoire, 16384 octets de mémoire vive. Avec cette méthode, le temps de recherché nécessaire pour vérifier si la donnée requise par le CPU est bien dans le cache est très bonne, mais le pourcentage de chance pour que cette donnée soit effectivement dans le cache (Hit Ratio) est faible.

  • Fully Associative Cache

Cette méthode rompt avec la rigidité du Direct Mapped Cache. Ainsi, chaque ligne de chaque peut cacher n´importe quelle adresse mémoire … d´ou un Hit Ratio excellent, malheureusement au dépend de la vitesse de recherche.

  • N-Way Set Associative Cache

Le cache est découpé en parties de "N" lignes. Si ce chiffre correspond à 8, comme c´est le cas du PIIIE, le cache sera divisé en 1024 parties (sets) de 8 lignes, ce qui nous fait donc 256 octets par set. Chacun ce ces sets devra cacher 128 Ko de mémoire vive.

La vitesse de recherche sera donc légèrement moins bonne qu´avec le Direct Mapped Cache (il va falloir chercher dans 8 lignes de cache pour une adresse mémoire donnée) mais largement meilleure qu´avec le Fully Associative Cache (qui correspond en fait à un 8192 Set Associative Cache).

Le Hit Ratio sera quand à lui bien meilleur qu´avec un Direct Mapped Cache (qui correspond en fait à un 1 Way Set Associative Cache), sans atteindre bien sur les performances d´un Fully Associative Cache. Il s´agit donc d´un compromis !

Lorsque l´on passe d´un "2 Way Set Associative Cache" (Pentium III) à un "8 Way Set Associative Cache", on augmente donc le temps nécessaire pour savoir si la donnée requise par le CPU est dans le cache de second niveau, mais il y a plus de chance que ce soit le cas !

ASB - Advanced System Buffering

Le rôle d´un buffer est de stocker temporairement une donnée, avant qu´elle puisse être écrite en mémoire par exemple. Augmenter le nombre de buffer permet tout simplement d´éviter les temps morts, qui peuvent arriver lorsque le processeur doit écrire dans un buffer alors qu´ils sont pleins. Avec le PIIIE, les Fills Buffers passe de 4 à 6, les Writback buffers passent de 1 à 4 et le Bus Queue de 4 à 8.

Vos réactions

Top articles