Intel Core 2 Duo

Publié le 22/06/2006 par et
Imprimer
Windows x64 & EM64T
Introduit par AMD en 2003, l’AMD64 ISA tarde à faire son chemin sur le marché des PC de bureau. Pour rappel, il s’agit d’une une extension aux 64 bits du jeu d’instruction x86. Ainsi, les registres généraux, des petites zones mémoires qui stockent de manière temporaire les adresses mémoires et les entiers, passent de 32 à 64 bits. Intel propose depuis début 2005 une fonction comparable et compatible, l’EM64T, mais cette fonction n’était disponible que sur Netburst et pas sur Mobile. Avec Core, l’EM64T est étendue à toutes les plates-forme.

Le fait de traiter des données 64 bits n’est pas en soit une nouveauté. Ainsi, depuis son introduction, le x87 qui se charge des calculs en virgule flottante va jusqu’à travailler en 80 bits en interne. De plus, certaines instructions MMX/SSE/SSE2 permettaient également de travailler sur des entiers 64 bits. Toutefois l’usage de ce type de donnée est désormais généralisé à toutes les données stockées dans les GPR ce qui procure deux avantages :
  • Une accélération des calculs sur les nombres entiers. En effet, dans les applications nécessitant des calculs sur des entiers très importants (la limite est tout de même de 4.29e9 en 32 bits, et atteint 1.84e19 en 64 bits), le fait de coder l’entier sur 64 bits permet au processeur de pouvoir manipuler plus simplement et plus rapidement ce type de nombre, sans avoir à doubler le nombre de registres et de cycles d’horloges nécessaires aux calculs. Ceci ne devrait toutefois concerner que des applications bien spécifiques comme l’encryptage de données ou les calculs scientifiques.

  • Le fait de stocker les adresses mémoire en 64 bits permet de dépasser la limite de 4 Go liée au codage binaire sur 32 bits pour la passer à 256 Teraoctet du fait d’une "limitation" à 48 bits du codage de la mémoire virtuelle. On notera toutefois qu’Intel a de son côté pu outrepasser cette limite de 4 Go sur ces Xeon pour atteindre 64 Go, même si ce mode à des limitations. Là encore, ceci ne sera pas vraiment utile pour le commun des mortels.

  • En fait le principal intérêt de l’EM64T comme de l’AMD64, c’est le nombre de registres. En effet, en mode x86, les processeurs disposent de 8 registres x87 80 bits, de 8 registres généraux 32 bits et de 8 registres SSE 128 bits. Avec l’AMD64 et l’EM64T, on reste à 8 registres x87 80 bits, par contre on passe à 16 registres généraux 64 bits et 16 registres SSE 128 bits. L’augmentation du nombre de registres disponibles permet de limiter le nombre d’instructions destinées à libérer ces derniers et à les copier en mémoire, et donc d’augmenter les performances.

    Enfin, l’arrivée de l’EM64T et de l’AMD64 permet de faire une rupture avec la sacro sainte compatibilité x86. De nombreux exécutables sont encore compilés de manière à être compatible avec le jeu d’instruction x86 tel qu’il était avec le 386. Il a connu des améliorations depuis, qui ne sont pas forcément utilisées par les développeurs lors de la compilation. Désormais, la question ne se posera plus.


    Quels sont les gains de performances en pratique ? Pour le savoir, nous avons installé Windows XP x64 sur un Core 2 Duo E6600, un Pentium D 950 et un Athlon FX-60 et avons testé trois logiciels en 32 bits et en 64 bits : Mathematica 5.2 (calculs scientifiques), CineBench 9.5 (rendu 3d) et Far Cry (jeu).


    Sous Mathematica, les performances sont très variables puisque l’on gagne 2.7% sur Core, 8.6% sur Netburst que sur K8 la vitesse est réduite de 2.9%. Cinebench est plus à l’avantage d’AMD avec un gain de 11.5% sur la vitesse de rendu, contre 8.6% sur Pentium D et 4.6% sur Core 2 Duo. C’est enfin sur Pentium D que Far Cry profite le plus du 64 bits avec 6.5% de mieux, contre 3.2% de plus sur Athlon 64 FX et 0.3% (!) sur Core.

    Les performances sont donc très variables d’un processeur à l’autre et d’un logiciel à l’autre, et on observe même dans un cas une baisse des performances. Globalement et ironiquement c’est le Pentium 4 qui offre les gains les plus homogènes, ceci pouvant s’expliquer du fait de la présence du Trace Cache qui stocke les instructions telles qu’elles sont décodées.

    Au contraire dans une architecture plus classique telle que le Core ou le K8 les instructions sont stockées avant le décodage dans le L1I, alors que l’AMD64 et l’EM64T impacte négative les performances du décodage puisque ces instructions sont codées sur plus d´octets que les instructions x86 classiques, ce qui augmente la charge au niveau du décodage. D’ailleurs, il semblerait que sur Core 2 Duo beaucoup de cas de fusions ne sont pas activés en 64 bits.

    Bien entendu cette charge sur les décodeurs est généralement compensée par la diminution du nombre total d´instructions en 64 bits, mais au final les gains de performances peuvent donc varier d’une architecture à une autre. En l’occurrence, Core semble moins tirer avantage que les autres architectures du 64 bits, mais dans tous les cas étant donné ses performances 32 bits et les gains globalement faibles offert par le 64 bits quelque soit l’architecture cela n’a rien de dramatique.
    Les configurations de test
    Après ces tests spécifiques nous avons bien entendu fait passer aux Core 2 Duo notre suite de tests habituelle. Pour toutes les configurations DDR2, nous avons utilisés de la DDR2-667 4-4-4-12, mais également de la DDR2-800 4-4-4-12 pour les solutions les plus haut de gamme en AM2 et Core 2 Duo.

    Les configurations utilisées étaient les suivantes :

    Commun :
    - ATI Radeon X850 XT PE
    - 2 x Raptor 74 Go
    - Windows XP SP2 Français

    Intel Socket 775 Core 2 Duo :
    - Carte mère ASUSTeK P5W DH (i975X)
    - 2 x 512 Mo DDR2-667 4-4-4
    - 2 x 512 Mo DDR2-800 4-4-4

    Intel Socket 775 :
    - Carte mère ASUSTeK P5WD2-E (i975X)
    - 2 x 512 Mo DDR2-667 4-4-4

    Intel Socket mPGA479 :
    - Carte mère Gigabyte GA-I8I945GTMF-YRH
    - 2 x 512 Mo DDR2-667 4-4-4

    AMD Socket AM2 :
    - Carte mère ASUS M2N32-SLI Deluxe
    - 2 x 512 Mo DDR2-667 4-4-4
    - 2 x 512 Mo DDR2-800 4-4-4

    AMD Socket 939 :
    - Carte mère ASUS A8N SLI Premium
    - 2 x 512 Mo DDR-400 2-2-2
    Vos réactions

    Top articles