Mardi 28 Mars 2017
  Recherche :

Accueil   |  News   |  Articles   |  Forum   |  A Propos

Utilisateurs Online : 73
BP % :
15 Derniers Articles




:: AMD / Intel ::

Actuellement
recommandé / conseillé :





Origine des visites
Origine des lecteurs d'x86


:: X86 Network ::
X86 Network :


:: News ::
Yonah et cache L2 : Sans ECC ?
10-05-2006 22:06:16 - Samuel D.

Indice de fiabilité : 4/8 (Possible)


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.




<<< News Suivante
Turion X2 : Le dbut de la fin ?
News Précédente >>>
Conroe devient Core 2 Duo




** Commentaires (4) **
  thiergau 11/05/2006 - 09:06:21
l'ECC est tout simplement indispensable sur le cache des processeurs avec plusieurs Mbits de cache, sinon on trouve ce type d'erreurs qui corrompt le cache:
http://en.wikipedia.org/wiki/Single_event_upset

je vois mal intel s'en passer... ou alors ils ont une solution differente pour s'en premunir, ce qui dans l'etat actuel de la recherche, serait une premiere...

  Supermattt 11/05/2006 - 10:29:09
Mais sur le dothan par exemple, s'il y n'ya qu'un seul bit de parité, on peut donc juste détecter les erreurs mais pas les corriger. Peut etre qu'intel aurait trouvé un autre moyen plus performant pour détecter les erreurs en amont?

  Foudge 11/05/2006 - 11:40:30
Ca change des millions en trop du Prescott :D

Post de M.arc sur son forum :
"En ce qui concerne la hausse de transistors ... certains peuvent penser que le le nombre de transistors do Dothan était gonflé, mais d'une on peut se demander quel en serait la raison et de deux la marge de manoeuvre ne devait pas être de plus de 5 millions de transistors ... ou on peut penser que le nombre de transistors du Yonah est sous évalué, mais là je vois encore moins l'interêt ... enfin reste bien entendu l'éventualité selon laquelle les deux cores peseraient moins de 39 millions de transistors. Ce serait peu face à un core de Dothan qui est de 26 millions mais assez proche du double d'un Banias qui fait 20 millions d'autant que même si Intel n'en parle pas vraiment on peut penser que certaines ressources sont mutualisées (pour une partie de la gestion du bus et du cache L2 par exemple) et qu'en sus on n'a jamais vraiment su à quoi pouvaient servir ces 6 millions de transistors supplémentaires lors du passage du Banias au Dothan. Enfin bref, perso ca me gonfle de faire des théories du complot à ce sujet, ce serait pas mal que Intel réponde clairement là dessus :o"

  Blue Apple 11/05/2006 - 17:14:23
"6 (SRAM 6T) * 9 (1 octet = 9 bits : 8 bits + ECC) * 1024 (Ko) * 1024 (Mo) * 2 (Mo) = 113.2 M de transistors"

Tiens, c'est nouveau, des lignes de cache sans adresses ou sans tag et logique pour effectuer un accès...

Pour info, si on tient compte de ces éléments (ECC + tags + logique de contrôle), il faut compter environ 8 transistors par bit d'information stockée.

Soit 128 millions pour 2 Mo, ce qui place le coeur du pentium M à grosso modo 12 millions, en ligne avec celui du PentiumIII (~10 millions) qui a une complexité similaire (contre ~20 millions pour le K7 et un poil plus pour le K8).