Tests et comparatifs : Processeurs

Lien, les puces à quatre cœurs d'Intel passent au sans plomb et accélèrent : http://www.01net.com/editorial/364566/les-puces-a-quatre-coeurs-d-intel-passent-au-sans-plomb-et-accelerent/

Intel Core 2 Quad : 4 fois mieux ?

Par : Florian Charpentier le 02/11/2006 à 00:00

Lorsque le président d’Intel fit la première démonstration publique de son processeur quad-core à San Francisco il y a un mois, notre surprise fut grande de le voir faire venir Remedy afin d’exécuter le futur thriller psychologique du développeur, le très impressionnant Alan Wake (voir la vidéo). Alors même que les jeux comptent parmi les applications les plus lourdes et complexes à être optimisées pour générer plusieurs threads, et que leurs développeurs ont multipliés les déclarations assassines sur l’orientation prise par les fondeurs de processeurs ces derniers mois. Les finlandais à l’origine des fameux Max Payne nous expliquaient tout le bien qu’ils pensaient du futur processeur à 4 cores d’Intel, son importance pour la physique et comment le thread généré par la création d’une tornade – via le moteur Havok – monopolisait à lui seul 80 % d’un core entier ! Alan Wake devrait enfin générer 5 threads au total (physique, audio, rendu – préparation des données à envoyer au GPU –, gestion des flux – chargements sur le DVD/disque dur et décompression –, et génération du terrain) et tourner très difficilement sur les processeurs à un seul core.

 

 

La situation a-t-elle évoluée si rapidement ces derniers temps que les jeux arrivent déjà à la limite des dual-core, et que les développeurs n’attendent que la démocratisation des quad-core pour atteindre un nouveau pallier de réalisme ? Ce n’est que ce qu’Intel voudrait nous faire croire aujourd’hui. La réalité est que même avec les derniers jeux/patchs actuels, les processeurs dual-core n’offrent sur leurs prédécesseurs qu’un gain très faible une fois en conditions réelles de jeu (ie. en haute résolution - compter 10 % sous Oblivion en 1280*1024 par exemple). La réalité est qu’aussi impressionnant soit-il, Alan Wake ne dispose même pas de date de sortie et ne verra peut-être pas le jour avant 2008. La réalité est que malgré la très rapide transition au dual-core, indéniable, Intel lui-même prévoit que les Core 2 Quad ne représenteront que 3 % du volume de processeurs vendus en 2007.

Voyons voir cependant par nous même (et non selon Intel…) quelles performances nous offrent les quad-core à l’heure actuelle, alors qu’une bonne partie d’entre vous hésite à franchir le pas du dual-core.

Effectivement, il faut nous rappeler qu’Intel n’en est pas à son coup d’essai concernant les processeurs capables d’exécuter de manière concurrente 4 threads. Le constructeur profita en effet de la spécificité de l’HyperThreading pour disposer d’un tel processeur dès le lancement des dual-core, à savoir avril 2005 et le Pentium XE 840. Autre processeur basé sur l’architecture Netburst, sortie la même année mais tirant cette fois partie du 0.065µ et d’un cache doublé : le Pentium XE 955. Mauvaise nouvelle : la gestion de 4 threads n’est pas le seul point commun entre ces processeur et le Core 2 Quad, puisque le tarif l’est également, actuellement. Baptisé Core 2 Extreme, le QX6700 reste en effet vendu 999 $. Cependant, dès janvier 2007 le Core 2 Quad Q6600 ferra son apparition, et sera vendu à 851 $, moyennant une baisse en fréquence de 266 MHz. Il faudra a priori attendre bien plus tard (2008 et le Penryn) pour voir arriver des versions vraiment abordables.

 

Le Core 2 Quad

 

Grosse différence toutefois, alors que l’HyperThreading ne consiste qu’à créer 2 cores logiques pour un core physique, le Core 2 Quad (nom de code : Kentsfield) qu’Intel lance aujourd’hui dispose bien de 4 cores séparés, l’HyperThreading n’étant pas supporté par l’architecture Core 2 faute d’utilité. Au niveau architecture, c’est simple : le Core 2 Quad ne consiste qu’en l’assemblement de deux dies contenant chacun un Conroe (Core 2 Duo 4 Mo), de la même manière que le Pentium D 9xx (Presler) rassemblait deux dies Cedar Mill (Pentium 4 0.065µ).

 

De bas en haut : le Core 2 Duo et le Core 2 Quad, une fois le heatspreader retiré

 

Comme pour le Pentium D, nous pouvons donc de nouveau regretter le manque d’élégance de cette solution, puisque chaque die (regroupant 2 cores donc) devra recourir au FSB pour communiquer l’autre. Une approche qui s’oppose au partage de la mémoire cache L2, voir L3 comme le prévoit AMD pour son quad-core (K8L). Toutefois, nous l’avons vu en pratique, cela n’a pas empêché le Pentium D d’offrir des gains assez proches de 100 % sur les applications tirant réellement partie d’un parallélisme de threads. Intel va d’ailleurs dans ce sens en affirmant que le FSB actuel reste suffisant pour les processeurs multicores, la limite se situant du côté de la bande passante mémoire. Ce qui est pourtant inexact, ne serait-ce que théoriquement vu le débit du FSB 1066 MHz (8,6 Go/s) qui est atteint dès l’utilisation de deux barrettes de DDR-2 533 MHz et largement dépassé par la DDR-2 800 MHz (12,9 Go/s) pourtant supportée officiellement par l’i975X.

L’explication du constructeur est intéressante, puisqu’il nous fournit pour celle-ci des graphes d’occupation du FSB (bande passante utilisée) lors de l’exécution d’une même application dans 4 cas : sur un Pentium D 9xx (Presler), puis avec un Core 2 Duo (Conroe), en activant puis désactivant dans les deux cas le second core. Pour rappel, l’architecture de ces deux processeurs et leur recours au cache L2 peut être résumé via le schéma suivant.

 

 

Voici le graphe d’occupation du FSB :

 

 

Malgré son cache partagé qui lui évite plein de recours au FSB, on constate que c’est le Core 2 Duo qui utilise le plus le FSB (jusqu’à environ 3,5 Go/s contre 2,5 Go/s au maximum pour le Presler, soit bien en-dessous des limites de l’i975X), malgré le caractère multi-threadé évident de l’application ! La raison ? Le Pentium D ne dispose tout simplement pas de la puissance de calcul nécessaire pour générer un gros besoin en ressources, les données nécessaires à l’exécution du programme restant aussi importantes mais leur chargement étant plus étalé dans le temps (phénomène bien visible avec les 2 processeurs lors de la désactivation d’un core). Au contraire, le Core 2 Duo exécute sa tâche bien plus rapidement et sollicite donc plus le FSB.

Cet exemple montre bien que si l’augmentation du nombre de cores, et donc de la puissance de calcul, augmente également l’occupation du FSB, un processeur utilisant un cache L2 partagé ne saturera pas forcément moins ce bus qu’un processeur doté de caches indépendants. Les communications inter-cores du second génèreront effectivement une plus grosse utilisation du FSB (plus de données y transiteront au total), mais si ce dernier dispose d’une puissance de calcul plus faible, ses besoins en données seront plus étalés et la bande passante nécessaire plus faible.

Cadencé à 2.66 GHz, le QX6700 représente une baisse de fréquence par rapport au précédent Extreme Edition, le Core 2 Extreme X6800 (2.93 GHz). L’explication est simple, il s’agit de conserver une dissipation thermique acceptable : le TDP du QX6700 atteint 130 W, soit tout simplement le double de celui du E6700, contre 75 W pour le X6800 selon Intel. En outre, cette limitation est sans doute ce qui permet à ce processeur de se satisfaire des étages d’alimentation (VRM 11) des cartes mères actuelles. En pratique, ce sont les chipsets i965 et i975X qui sont compatibles avec le Core 2 Quad, contrairement à ce qui était initialement prévu (i975X seulement). Côté cartes mères, dans la grande majorité des cas une simple mise à jour du bios suffira.

 

 

Spécifications des processeurs Intel

CPU

Core 2 Duo X6800

Core 2 Extreme QX6700

Fréquence

2.93 GHz

2.66 GHz

Cache L1

2 x 64 Ko

4 x 64 Ko

Cache L2

4096 Ko

2 x 4096 Ko

FSB

1066 MHz

1066 MHz

Socket

LGA 775

LGA 775

Voltage

0,85 – 1,3525 V

1,35 V max

TDP

75 W

130 W

Nombre de transistors

291 millions

2 x 291 millions

Process

.065µ strained silicon

.065µ strained silicon

Surface

143 mm²

2 x 143 mm²

Support du Vanderpool

Oui

Oui

Support de l’EIST

Oui (coef 6 - 11x)

Oui (6 - 10x)

Support de l’HyperThreading

Non

Non

Nombre de cores

2

4

Prix

999 $

999 $

 

Le test

Pour ce test, nous avons utilisé la carte mère Intel D975XBX2 (Bad Axe II), celle-ci permettant un overclocking très complet et plus très éloigné de celui des cartes mères traditionnellement propice à cette activité. Le chipset i975X dispose par ailleurs d’excellentes propensions à la montée en fréquence, et est très répandu.

 

 

En ce qui concerne le processeur, nous avons utilisé un Core 2 Extreme QX6700 en stepping 7. Supportant bien sûr l’EIST il peut descendre jusqu’à 6x. En vu d’évaluer les performances du Core 2 Quad Q6600 qui arrivera le 8 janvier à 851 $, nous avons donc utilisé cette possibilité afin d’atteindre la fréquence de 2.4 GHz.

 

Configurations

 

 

 

Notre premier test consistant en le rendu d’une image sous 3DSMax 7 affiche un résultat extrêmement impressionnant pour les Core 2 Quad : le QX6700 se montre ici 79 % plus rapide que le X6800, pourtant plus rapide mais doté de "seulement" 2 cores… Evidemment, de par leur nature les logiciels de rendu offline restent ceux qui bénéficient le mieux de l’augmentation du nombre de cores. Cela étant, rappelons que le Pentium XE 955 gère lui aussi 4 threads, et reste pourtant loin derrière ici.

Au final, il convient de souligner les énormes sauts de performances observés sous ce test au cours des deux dernières années : de 3 minutes et 51 secondes pour un Athlon 64 3000+ Venice (cf ce comparatif), le temps d’attente n’est plus aujourd’hui que de 33 secondes… impressionnant !

 

 

Surprise ! Lors de l’utilisation du moteur de rendu Mental Ray, les Core 2 Quad perdent toute leur avance, et se retrouvent en fait au même niveau de performance que les Core 2 Duo de fréquence équivalente. Une situation qui en rappelle une autre… en effet, le Pentium XE 955 perd lui aussi de nombreuses places entre le précédent test et l’actuel (comme nous l’avions également relevé lors de son évaluation). Ici, tout concourre à nous laisser penser que seuls 2 threads sont générés, le léger gain de performance observé entre les Core 2 Duo et Quad provenant du fait que ces derniers utiliseraient leur 2 dies, et donc 4 Mo de cache pour chaque core et non pour les deux.

 

 

Un seul core étant utilisé par Winrar 3.51 (contrairement à sa dernière version optimisée multi-threads, malheureusement inutilisable dans la mesure où tous les précédents processeurs ont été testés avec la version 3.51), les Core 2 Quad se comportent ici comme les Core 2 Duo de même fréquence. C’est précisément dans ce type d’application qu’un quad-core à base de mémoire cache L2 partagée (de 8 Mo donc) se serait révélé utile, vu la gourmandise de Winrar en ce type de mémoire…

 

 

Effectuant une compression audio sans perte, LA Win rentre dans la catégorie "application mono-thread non optimisée". En toute logique, l’architecture même du Core 2 Quad explique dans ce cas ses performances similaires à celles du Core 2 Duo de fréquence équivalente, et donc le fait que le QX6700 reste derrière le X6800 pourtant plus vieux et de même tarif…

 

 

Au contraire, manifestement multithreadé, Mainconcept H.264 qui effectue comme son nom l’indique la compression d’une vidéo en H.264 haute résolution, signe un nouveau record pour les Core 2 Quad ! A fréquence équivalente, ces derniers se révèlent ainsi 56 % à 58 % plus performants queles Core 2 Duo. D’ailleurs, le Pentium XE 955 parvient ici à dépasser l’Athlon X2 4600+, ce qui est déjà beaucoup mieux que sur le précédent test.

 

 

 

Sans surprise, Trackmania ne tire pas partie du passage de 2 à 4 cores, ne tirant pas partie par ailleurs du passage de 1 à 2 cores… les performances restent donc du même ordre qu’avec les Core 2 Duo ici.

 

 

Sous Oblivion, si les quad-core ne sont pas vraiment plus véloces en 640*480, en revanche les scores obtenus en 1600*1200 semblent aller dans le sens d’un très léger gain par rapport aux dual-core de même fréquence… cela dit, vu les écarts (moins de 2 %), difficile de déterminer si nous ne nous trouvons pas en réalité dans la marge d’erreur, relativement importante, de ce test.

Certes, le Core 2 Duo s’est déjà distingué de par sa consommation particulièrement faible. Mais en placer deux derrière le même heatspreader peut faire peur, et le doublement du TDP, atteignant la même valeur que le Pentium XE 955, n’est pas là pour rassurer…

 

 

Effectivement, l’augmentation de la consommation n’est pas neutre. Si au repos, celle-ci est vraiment négligeable (ce qui montre au passage l’efficacité de la désactivation des parties inactives de chaque core, en charge on passe de 177 W à 241 W lors du passage de 2 à 4 cores. Une augmentation conséquente, mais on notera toutefois avec intérêt qu’on reste en-dessous du niveau des processeurs gérant 4 threads (mais via seulement 2 cores), mais aussi et surtout de l’Athlon 64 FX-62 ! En pratique, la consommation est donc élevée mais pas démesurée, d’autant que pour atteindre ce niveau, il faut impérativement que les 4 cores soient pleinement sollicités, ce qui est très rarement le cas.

A noter que suite à un bug sur la carte mère de test, la régulation de la vitesse de rotation du ventilateur en fonction de la température des cores n’était pas active, ce qui engendrait une nuisance sonore très forte pendant tous les tests (même une fois réduit à 60 %), et des relevés de températures sans intérêt (environ 50°C pendant les tests).

Au passage, notez que lorsqu’on limite le nombre de sessions CPU Bun à 2 (au lieu de 4 donc), la consommation atteint environ 195 W, soit bien plus que le E6700, ce qui tend à montrer que lorsque 2 threads doivent être traités par le Core 2 Quad, ce dernier les répartit efficacement (un par die), à l’inverse du Pentium XE 840.

 

Overclocking

 

Après une légère augmentation de la tension processeur (ce qui nous a permis d’aller plus loin qu’avec les Core 2 Duo) et avec le ventirad Intel d’origine mais lancé à fond (plus de 5000 rpm !), nous avons pu passer de la fréquence d’origine de 2.66 GHz (10 x 266) à 3.48 GHz (10 x 348). Soit une augmentation de 31 %, forcément impressionnante et qui montre bien que si Intel a limité son Core 2 Extreme à 2.66 GHz, c’est bien afin de ne pas augmenter démesurément la consommation de son processeur et la pression sur l’étage d’alimentation de la carte mère ainsi que sur le ventirad (comme pour les Pentium D en somme). AMD est encore très loin de pouvoir produire un processeur quad-core - 1 an a priori -, inutile donc de ternir l’image de processeurs efficaces des Core 2 avec un monstre de performance. Mais les overclockeurs vont donc à nouveau pouvoir s’en donner à cœur joie avec le Core 2 Quad.

 

 

 

 

A noter : à cette fréquence, notre premier test sous 3DSMax est expédié en 25 secondes, encore 32 % de gain de temps !

Au final, ce qui frappe le plus avec le Core 2 Quad d’Intel est sans doute son caractère prématuré. Celui-ci ressort tout d’abord au niveau de l’architecture même de ce quad-core, qui ne consiste qu’en l’association de deux dies Conroe façon Pentium D 9xx. Ne disposant d’aucune mémoire cache partagée entre les 4 cores, il dissipe une quantité assez importante de chaleur, et ne peut par ailleurs être vendu qu’au tarif horriblement élevé de 999 $. Ensuite, malgré ces défauts, les résultats de nos tests montrent bien que la transition aux logiciels optimisés multi-threads est loin d’être achevée : seules 2 applications (dont aucun jeu) sur 8 marquent réellement un gain de performance par rapport au Core 2 Duo de fréquence équivalente. Or, comme le QX6700 dispose d’une fréquence plus faible que le X6800 (2.66 GHz contre 2.93 GHz), cela signifie que malgré son prix identique, le Core 2 Extreme lancé aujourd’hui par Intel se retrouve dans une majorité de cas derrière son prédécesseur.

Malgré cela, on ne peut fondamentalement pas reprocher grand-chose à Intel puisque c’est bien les applications qui sont en retard et non le processeur qui est intrinsèquement mauvais, d’autant que le fondeur a lancé son premier processeur gérant 4 threads il y a un an et demi. Certes, nous aurions clairement préféré qu’il poursuive plus longtemps la montée en fréquence de ses Core 2 Duo (afin, notamment d’enclencher la baisse des prix des modèles les moins puissants) avant de s’attaquer aux Core 2 Quad, mais il reste cohérent dans sa démarche de pousser avant tout l’augmentation du nombre de cores.

Intel Core 2 Extreme QX6700

Le Core 2 Extreme QX6700, premier processeur à 4 cores d’Intel, augmente encore le fossé séparant le matériel des logiciels à même de l’exploiter, hormis quelques exceptions. Disposant d’un an d’avance sur ceux-ci comme sur AMD, il capitalise sans forcer sur les qualités du Core 2 Duo, mais son intérêt reste pour l’instant essentiellement technologique.

 

Les plus   

Performances ultimes sur les applications réellement multi-threads Potentiel d’overclocking et consommation au repos

 

Les moins 

Prix largement excessif Performances inférieures au précédent Core 2 Extreme (X6800) dans de nombreuses applications

 

 

Après la sortie du premier processeur dual-core en avril 2005, et celle du premier quad-core aujourd’hui même, quelles perspectives pouvons nous attendre pour le futur ? Sans donner d’indications précises, Intel a précisé plusieurs fois vouloir s’orienter vers le massivement multi-cores, que ce soit pour les serveurs que pour le grand public.

 

 

Rien que sur la roadmap officielle, la notation de la légende "4+ cores" (et non "4 cores") montre bien qu’Intel a en tête l’idée de passer à 8 cores une fois en 0.045µ, soit avec Penryn (shrink des processeurs actuels), soit via la prochaine architecture Nehalem, et probablement en 2008 donc.

 

 

C’est également en cette fin d’année 2008 qu’AMD a annoncé la sortie de son Fusion, processeur intégrant un core graphique et destiné à l’entrée de gamme. Il serait assez étonnant qu’Intel laisse longtemps AMD faire cavalier seul sur ce terrain, d’autant qu’il faut nous rappeler qu’Intel a déjà eut un projet identique dans ses cartons, le Timna (abandonné en 2000). L’arrivée de ce produit pourrait marquer l’arrêt de la "bête" multiplication du nombre de cores, au profit de la spécialisation de certains de ces cores (réseau, cryptage, multimédia, décompression vidéo, rendu 3D, etc.). Si cette orientation semble dès aujourd’hui très clair vu les annonces du constructeur, elle pourrait donc se faire plus tôt que l’on pourrait penser.

Il semble par ailleurs raisonnable d’imaginer qu’Intel aurait bien du mal à justifier l’intérêt d’un processeur octo-core doté de 8 cores identiques à la façon du Core 2 Quad, vu l’intérêt déjà relatif que nous venons de trouver à ce dernier pour le grand public (nous). En effet, même si la programmation multi-threads aura de toute évidence fait du chemin à cette date, il faut bien garder en tête qu’on ne pourra pas multiplier à l’infini le nombre de threads générés par certains programmes, et en particulier des jeux.

 

 

Alan Wake semble globalement générer autant de threads que de différents moteurs composants le jeu, ce qui est la première étape d’une programmation SMT, puisque ces moteurs sont en grande partie indépendants. Pour aller plus loin, il faudra diviser chaque moteur en plusieurs tâches, et c’est à ce moment que le problème devrait intervenir. D’une part, parce qu’on ne peut pas tout décomposer à l’infini (ex : utiliser plus de 2 cores afin de gérer l’IA de 2 bots – joueurs dirigés par l’ordinateur – dans une partie en réseau). D’autre part, parce qu’avant même d’en arriver là, il faut bien garder en tête le fait que la programmation multi-threads consomme plus de ressources. Et que de ce fait, à un moment donné il sera plus long de diviser une tâche en plusieurs sous-tâches, les faire parvenir à chaque core (peut-être déjà occupés par d’autres tâches) et de synchroniser enfin le résultat plutôt que d’exécuter directement cette tâche par un core.

Voilà pourquoi il nous paraît raisonnable de penser que dès le passage aux octo-core et en 2008/2009, nous devrions apercevoir les premiers processeurs intégrant un core spécialisé.