Pentium 4 'Prescott' 2.8-3.4 Ghz
By Samuel D. - 02/02/2004
Sommaire:

 

Les secrets du Prescott :
Transistors surnuméraires

 

Après les multiples spéculations que nous avons pu lire ça et là sur les fameuses fonctionnalités cachées du prescott, il nous a parut intéressant de faire un point sur le nombre de transistors que contient le Prescott. Une fois celui-ci effectué, nous nous lancerons à quelques spéculations basées sur la photo du Die du prescott que nous avons pu obtenir. Après le travail remarquable de Hans De Vries à ce sujet sur Chip-Architect, nous essaierons donc de compléter ses informations avec ce que nous avons pu déduire.

  • Transistors Count : Le Mystère du Prescott

Le nombre de transistors contenus dans un die augmente régulièrement. Cependant, le prescott entraine ici une inconnue de taille que nous allons tenter d'expliquer. Dans un processeur, on peut séparer principalement deux grands groupes de transistors : Les caches et le reste. Dans la quasi-totalité des cas, le cache utilisent un trés grand nombre de transistors, pouvant aller jusqu'a la moitié dans certains cas. La mémoire cache des processeurs que nous connaissons est basée sur une archtiecture SRAM qui ne necessite pas de refresh. Trés rapide, chaque bit de mémoire est constitué de 6 transistors comme on peut le voir dans le schéma ci-dessous. On parle alors de SRAM6T :

SRAM 6T

Une fois ceci connu, nous pouvons facilement savoir combien de transistors représentent x Ko de mémoire cache. Puisqu'il fait 6 transitors pour faire un bit, il suffit de multiplier par 9 pour avoir le nombre de transistors necessaires pour 1 octet. A noter qu'on multiplie ici par 9 et non par 8 car la mémoire cache est de type ECC et necessite donc 9 bits pour faire un octet. Bref, il faut donc 54 transistors pour un octet de mémoire. Reste à multiplier par 1024 pour avoir le nombre de transistors necessaires à 1 Ko de mémoire cache : 55296. On peut ensuite facilement construire le tableau suivant :

 

Taille du cache :
Transistors (SRAM6T)
8 Ko
442368 (442 K)
16 Ko
884736 (884 K)
32 Ko
1769472 (1.8 M)
128 Ko
7077888 (7.1 M)
256 Ko
14155776 (14.2 M)
512 Ko
28311552 (28.3 M)
1024 Ko
56623104 (56.6 M)
2048 Ko
113246208 (113.2 M)

 

Comme on le voit, le cache L2 du Northwood était composé de 28.3 Millions de transistors alors que celui du Prescott est composé de 56.6 Millions de transistors. Maintenant, revenons dans un petit historique des différents modéles de Pentium 4. Tout d'abord était le Willamette. Intel indique que ce processeur contient 42 Millions de transistors. Un rapide calcul nous permet de dire qu'une fois les caches L1 et L2 retiré (respectivement 442 K et 14.2 M), le core du Willamette se composait de 42M - 14.2M - 442K = 27.36 millions de transistors.

Est ensuite arrivé le Northwood. Basé sur quelques améliorations au niveau architecture, il embarque 512 Ko de mémoire cache L2 et toujours 8 Ko de L1. 512 Ko de mémoire cache représentant 28.3M de transistors et Intel annoncant ce CPU comme contenant 55 millions de transistors, on peut en déduire que le core d'execution du Northwood contenait 55M - 28.3 M - 442K = 26.26 millions de transistors. Soit une baisse lègère, malgré les optimisations, face au Willamette due à l'amélioration de l'agencement des transistors. Ceci reste toutefois trés comparable. Voyons maintenant si ce raisonnement tiens avec les autres CPUs.

Prenons le cas du Celeron qu'Intel indique comme contenant 35 millions de transistors. Il ne dispose que de 128 Ko de cache L2 qui "consomment" 7.1 M de transistors. Son core d'execution hors cache est donc de 35M - 7.1M - 442K = 27.46 Millions de transistors. On reste ici, a quelques transistors prét dans la taille "standard" du core d'execution de l'architecture NetBurst, soit environ 27M de transistors. Terminons par le tout récent Pentium 4 EE, dispose d'un cache L3 énorme de 2 Mo et contenant, selon Intel, 169 millions de transistors. On obtient donc au final 169M - 113.2M (L3) - 28.3M (L2) - 0.44M (L1) = 27.06. De nouveau, on retombe sur la taille du core Northwood qui l'équipe, c'est à dire environ 27.1 millions de transistors. Récapitulons tout ça dans un tableau :

Nom :
Cache L1 :
Cache L2 :
Cache L3 :
Core d'execution :
Willamette
0.44M
14.2M
N/A
27.36M
Northwood
0.44M
28.3M
N/A
26.26M
Northwood/128
0.44M
7.1M
N/A
27.46M
Northwood/2M
0.44M
28.3M
113.2M
27.06M

Dans tout les cas, ce core est d'environ 27 millions de transistors. Or, trés logiquement, le Prescott, toujours basé sur cette architecture, ne devrait pas disposer d'un core d'executer trés supérieur aux 27M, avec les améliorations effectuées, on peut penser jusqu'a 30, mais certainement pas plus. Or, Intel annonce le prescott à pas moins de 125 Millions de transistors ! La prescott dispose de 16 Ko de mémoire cache L1 et de 1024 Ko de cache L2, un rapide calcul nous donne :

Nom :
Cache L1 :
Cache L2 :
Cache L3 :
Core d'execution :
Prescott
0.88M
56.6M
N/A
67.52M

Soit 67.52 millions de transistors !! Plus du double de la quantité attendue ! Dans l'espace en transistors du core d'execution du Prescott, on pourrait mettre sans probleme deux cores d'execution "Northwood" complet ! Ceci est clairement un énorme mystère puisque, meme en spéculant sur l'ajout du Yamhill (64 bits sur IA32) ou la taille du pipeline, il est impossible que le nombre de transistors dépassent les 40 millions en étant trés large. Certains parlent de bi-core intégré dés maintenant, mais désactivé. Difficile à croire...

 

Suite ( Les secrets du Prescott : Etude du die )

Fermer