Evolution, cache et core
I) Evolution du Celeron
Après 4 années d'existence, le Celeron a déjà
connu beaucoup d'évolution. Nous avons donc pensé qu'un
petit récapitulatif de tout les différents types pouvait
être utile. Tout commence donc en 1998. Cette année la, Intel
décide que le marché des processeurs doit être segmenté
afin d'offrir a chaque catégorie d'utilisateur un processeur approprié.
Aprés quelques semaines de réflexion, c'est décidé
! L'entrée de gamme s'appellera "Celeron", le milieu
de gamme "Pentium" et le haut de gamme "Xeon". Ces
appellations sont d'ailleurs toujours en vigueur aujourd'hui. Ainsi; le
4 Mars 1998, le processeur Celeron fait son apparition officielle dans
un communiqué de presse d'intel. Le Xeon quant a lui, apparaîtra
le 20 Avril de cette même année sous le nom de "Pentium
II Xeon". Revenons au Celeron et voyons les différentes révision
ainsi que leurs caractéristiques :
-
Celeron "Covington"
: Le Covington fût donc le premier de la gamme Celeron.
D'une durée de vie trés courte, il était basé
sur le core du Pentium II mais, grossière erreur, n'était
pas doté de mémoire cache L2 ! Disponible en version
266 et 300 Mhz sous le format d'une cartouche S.E.P.P. (Single Edge
Pin Package), le Covington était concu à partir du core
Deschutes, gravé en 0.25 µm et alimenté en 2.0
Volts. A l'époque, la majorité des Pentium II disponible
étaient encore basé sur le core Klamath gravé
en 0.35 µm et alimenté en 2.8 Volts. Vu l'absence de
cache L2, ces processeurs s'overclockait trés bien à
413 Mhz (FSB de 103 Mhz au lieu de 66 Mhz) pour le modéle 266
voir à 465 Mhz pour le modele 300.
- Celeron "Mendocino"
: Réalisant rapidement l'erreur du Covington, Intel lanca
le Celeron "A" le 24 Aout 1998. D'abord cadencé à
300 et 333 Mhz, ils présentaient comme amélioration majeure
(et c'est peu dire), l'ajout de 128 ko de cache L2 fonctionnant à
la même vitesse que le core Deschutes sur lequel il était
basé. C'était une trés bonne affaire puisque le
principal concurent était le Pentium II classique, doté
certes de 512 ko de cache, mais fonctionnant à seulement la moitié
de la fréquence du CPU. Tout le monde se souviendra du fameux
Celeron 300A qui s'overclockait à l'époque à 450
Mhz sans probleme (503 pour les plus chanceux). Ce Celeron, qui était
tout d'abord disponible au format S.E.P.P destiné au Slot 1 comme
les premiers Covington, s'adapta rapidement au nouveau Socket 370 qu'Intel
venait de lancer (PPGA). Le dernier exemplaire de la gamme fût
le Celeron 533 Mhz qui marqua la limite du core Deschutes.
- Celeron "Coppermine"
: Enfin ! Beaucoup l'attendait et c'est le 29 Mars 2000 qu'Intel
annonce le passage au core Coppermine de son Celeron. Version "light"
des Pentiums III Coppermine, le Celeron exploite le meme core, gravé
en 0.18 µm, ainsi que le meme packaging (FC-PGA) mais reste doté
de 128 ko de cache L2. De plus, une latence est rajoutée au cache
du processeur afin de ne pas faire trop d'ombre à son grand frére.
Le Celeron Coppermine fût donc lancé en masse en version
566 et 600 Mhz (la version 533 Mhz est trés rare). Comme toujours,
la premiere version d'un nouveau core s'est avérée trés
overclockable. Le Celeron 566 acceptait sans trop de difficultés
de fonctionner à 850 Mhz (FSB de 100 Mhz). Cependant, le bus,
toujours limité à 66 Mhz des Celeron commencait à
etre juste, surtout comparé aux Pentium III "B" et
"EB" équipé d'un FSB de 133 Mhz. Intel décida
donc début 2001 à sortir le Celeron 800 Mhz, doté
d'un FSB de 100 Mhz. Tous ces CPUs étaient alimentés avec
une tension comprise entre 1.6 et 1.75 Volts.
- Celeron "Tualatin"
: Derniere évolution du core P6, le celeron Tualatin
opére une quasi-fusion avec le Pentium III. En effet, il se dote
de 256 ko de cache L2 et du core Tualatin gravé en 0.13 µm.
Un Heat-Spreader est désormais inclus. Les Celerons Tualatins
necessitent toutefois une évolution des cartes mères Socket
370 pour pouvoir fonctionner. En effet, l'alimentatation de cette révision
FC-PGA2 requiert une alimentation et parfois un chipset differents des
Coppermines. Les Celerons Tualatin sont disponibles de 1.0 Ghz à
1.4 Ghz. La limite d'overclocking du core est d'environ 1.5 Ghz.
- Celeron "Willamette"
: Mai 2002, le Celeron évolue encore une fois pour
cette adopter l'architecture NetBurst des Pentium 4. Le "Celeron
P4" est né. Malheureusement, il est doté sur l'antique
core Willamette, gravé en 0.18 µm et s'overclocke peu,
ce qui ne parvient donc pas a combler ses faibles performances dues
au cache L2 de 128 ko alors que l'architecture du Pentium 4 est trés
sensible à la quantité de mémoire cache. Le Celeron
Willamette n'aura donc qu'une durée de vie trés courte
(quatre mois) et ne sera disponible qu'en version 1.7 et 1.8 Ghz en
Socket 478.
- Celeron "Northwood"
: Annoncé mi-Septembre 2002, le Celeron Northwood
se dote du core Northwood en révision C1 et de la gravure 0.13
µm qui l'accompagne. C'est cette version que nous testons aujourd'hui
et qui est disponible actuellement en version 2.0 Ghz. Le Celeron 2
Ghz est alimenté en 1.525 Volts
II) Le Cache L2
(by Franck)
L'historique des modèles de Céléron
a révélé que ceux-ci sont hérités des
modèles de Pentium !!! ou de Pentium 4 dont une partie du cache
L2 est désactivée, à l'exception du Céléron
Tualatin dont le cache est en tout point semblable à celui du Pentium
!!! Tualatin avec 256Ko de L2. Les modèles de Céléron
P4 n'échappent pas à la règle. Ainsi, le premier
modèle de Céléron P4, basé sur le core Willamette,
voit son cache dérivé des 256Ko du Pentium 4 Willamette,
organisés en 8 blocs de 32Ko chacun, mais dont 4 blocs ont été
désactivés. Ce Céléron se retrouve ainsi avec
4 blocs de 32Ko, soit 128Ko gérés en 4-way associative.
Qu'en est-il du cache L2 du Céléron Northwood ? Une fois
n'est pas coutume, Intel n'a pas délivré beaucoup d'informations
sur le cache L2 de son dernier processeur, si ce n'est la taille de 128Ko.
Les descripteurs de cache (qui fournissent les informations sur l'organisation
du cache L2) renvoyés par le Céléron Northwood ne
sont pas encore documentés, ce qui explique notamment que la plupart
des logiciels de détection ne voient tout simplement pas de L2
sur ce Céléron. Il nous faut donc recourir à d'autres
programmes afin d'en savoir plus sur ce cache. L'utilisation d'un test
de latence permet de fournir quelques informations.
stride 4 8 16 32 64 128 256 512
size (Kb)
1 3 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2
4 2 2 2 2 2 2 2 2
8 2 2 2 4 2 2 2 2
16 2 3 4 15 17 18 19 19
32 3 3 4 17 18 19 20 18
64 2 3 4 18 19 18 19 18
128 4 4 9 18 19 18 18 18
256 5 10 19 38 72 233 233 234
512 6 10 20 39 73 231 235 241
1024 6 10 20 38 73 232 235 241
2048 6 10 19 39 73 231 226 241
4096 6 10 20 39 73 235 224 241
8192 6 10 20 39 74 231 228 240
16384 6 11 19 39 72 231 230 241
32768 6 11 20 39 74 231 227 241
2 cache levels detected
Level 1 size = 8Kb latency = 2 cycles
Level 2 size = 128Kb latency = 18 cycles
Le test révèle bien un L2 de 128Ko. De plus, les résultats
obtenus aux différentes valeurs de sauts (stride) permettent de
déterminer la taille des lignes du cache L2. En effet, si on regarde
par exemple la dernière ligne, on s'aperçoit que les temps
d'accès plafonnent à partir de sauts de 128 octets, ce qui
signifie que la taille d'une ligne de cache a été dépassée.
Elle est donc égale à 128 octets, valeur que l'on retrouve
sur le Pentium 4 (rappelons qu'une ligne de cache d u Pentium 4 est origanisée
en deux secteurs de 64 octets, ce qui porte sa taille effective à
128 octets). La latence du L2 du Céléron est de 18 cycles,
ce qui est une fois de plus conforme à ce que l'on trouve sur un
Pentium 4.
Le mode associatif du cache du Céléron est en revanche
plus difficile à déterminer de façon logicielle.
Cependant, si l'on se réfère à ce qui a été
dit plus haut, le cache L2 du Céléron Northwood est dérivé
de celui du Pentium 4 du même nom, soit 512Ko géré
en 8-way, donc organisés en 8 blocs de 64Ko. Pour réduire
ce cache à 128Ko, il suffit donc de ne garder que 2 de ces 8 blocs,
et l'on obtient ainsi 128Ko de L2 gérés en mode 2-way associative.
Afin de vérifier cela, nous avons comparé les résultats
d'un Céléron P4 Willamette overclocké à 2GHz
(17x117) et de notre Céléron à 2GHz au CPUMark99.
Ce bench a la particularité de solliciter de façon assez
intensive les caches, et les résultats dépendent donc en
grande partie de la taille de de l'organisation du L2.
Le Céléron Willamette dépasse le Céléron
Northwood de plus de 5,5% à fréquence égale. Malgré
le fait que le Céléron Willamette utilise un FSB légèrement
supérieur (117MHz au lieu de 100), cela ne justifie pas un tel
écart, car en effet l'overclock du Céléron Willamette
apporte un gain de performance directement proportionnel à la fréquence
du processeur. Il est donc fort probable que la différence de performances
soit en partie imputable à la différence de gestion du cache
L2, à savoir 4-way pour le Céléron Willamette et
2-way pour le Céléron Northwood.
Si cela s'avère, quelle est l'influence d'une telle gestion en
mode 2-way ?
La diminution de l'associativité d'un cache a pour effet d'augmenter
le nombre de conflits, augmentant ainsi le taux d'échecs ; ainsi,
une gestion en 2-way présente plus de "cache miss" qu'une
gestion en mode 4-way, et rend le cache L2 globalement moins efficace.
Cela risque d'être fortement préjudiciable aux performances
globales du Céléron Northwood, car comme nous l'avons déjà
vu le cache L2 a une importance toute particulière dans l'architecture
Netburst.
III) Le Core Northwood C1
Terminons par un mot sur le core C1 du Northwood. Apparu avec les Pentiums
4 2.5/2.6/2.66/2.8 Ghz, le core C1 est l'avant derniere évolution
avant le Prescott qui sera gravé en 0.09 µm. La derniere
évolution sera bien sûr le core Northwood supportant l'Hyper-Threading
qui devrait apparaitre d'ici quelques semaines avec le Pentium 4 3.06
Ghz. Les cores C1 se distinguent aussi par un changement de CPUID, passant
de 0F24h à 0F27h. A la sortir du Pentium 4 2.8 Ghz, beaucoup de
sites ont mesuré une difference de quelques 2% à 3% à
fréquence égale avec l'ancien core B0. Aprés beaucoup
de tergiversations, il semblerait que cette trés légére
augmentation de performance proviennent de la correction d'un bug dans
le core qui desactivait dans certaines conditions de la Data Prefetch.
Le Core C1 permet aussi à Intel de depasser la barre des 3 Ghz,
innacessible au core B0 et B0 Shrink. Comme nos collegues d'Holicho
l'ont bien démontrer, cette révision montre ses limites
aux alentours de 3.4 Ghz en air cooling et plus de .... 4.4 Ghz avec un
refroidissement extreme !
Pentium 4 2.8 Ghz @ 3.45 Ghz (Air Cooling)
|
Pentium 4 2.5 Ghz @ 4.4 Ghz (Azote liquide)
|
Suite ( Overclocking
- Benchmark 1/2 )
|