Se connecter avec
S'enregistrer | Connectez-vous

Le quad-core, et après ?

Intel Core 2 Quad : 4 fois mieux ?
Par

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é.