Le célèbre dandu, lecteur assidu des forums d'x86-secret, a visiblement mis le doigt sur un point de détail comme on les aime. Cherchant à connaitre la taille du cœur d'exécution du Yonah, il est parvenu à une incohérence dans les calculs. En effet, on sait que le cœur du Yonah est très proche de celui du Pentium M Dothan et que les principales différences proviennent du cache.
Si l'on calcule la taille du cache L2, d'un Dothan qui contient 140 millions de transistors, on obtient ceci :
- Dothan_cache = 6 (SRAM 6T) * 9 (1 octet = 9 bits : 8 bits + ECC) * 1024 (Ko) * 1024 (Mo) * 2 (Mo) = 113.2 M de transistors
- Dothan_core = 140 - 113.2 = 26.8 M de transistors
Le core du Dothan occupe donc 26.8 M de transistors. Pour le Yonah (151.6 M de transistors), ce même calcul donne un étrange résultat :
- Yonah_cache = 6 (SRAM 6T) * 9 (1 octet = 9 bits : 8 bits + ECC) * 1024 (Ko) * 1024 (Mo) * 2 (Mo) = 113.2 M de transistors
- Yonah_core = (151.6 - 113.2)/2 = 19.2 M de transistors par core
Comment expliquer cette étrange diminution de presque 30% du nombre de transistors par core ? La réponse, après quelques recherches, semble se trouver dans les datasheets d'Intel. Pour le Core Duo, il n'est fait mention nulle par d'une fonctionnalité pourtant jugée indispensable par beaucoup : le cache L2 ECC. Ainsi, si l'on refait les calculs avec un cache simple, non ECC, on obtient :
- Yonah_cache2 = 6 (SRAM 6T) * 8 (1 octet = 8 bits) * 1024 (Ko) * 1024 (Mo) * 2 (Mo) = 100.7 M de transistors
- Yonah_core2 = (151.6 - 100.7)/2 = 25.5 M de transistors par core
Cette valeur semble bien plus proche de celle du Dothan et les quelques transistors en moins peuvent s'expliquer par la suppression de certains contrôleurs internes du à la redondance créée par le Dual Core (nul besoin de deux contrôleurs de bus par exemple).
Cette information pourrait être confirmée si l'on connaissait exactement le nombre de transistors que comporte le Xeon LV 'Sossaman', un Yonah qui lui, est bien équipé de L2 ECC selon Intel. Si celui-ci est composé de 113.2+(25.5*2) = 164 millions de transistors, tout pourrait s'expliquer.
Mais voila, Intel mentionne dans un specification update du Core duo (voir ici), un errata, le AE23, mentionnant un cache L2 ECC...
Il semble donc bien qu'Intel tente de cacher la véritable nature du cache L2 du Yonah. L'investigation est en cours. Un cache L2 non-ECC poserait un problème de fiabilité rare, mais évident.