Le troisième processeur gérant 4 threads
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.
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µ).

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.

