Comment ça marche : les processeurs dual core
En intégrant deux coeurs au lieu d'un dans leurs processeurs, AMD et Intel contournent les limites des puces traditionnelles. A la clé, une puissance de calcul plus élevée et un fonctionnement plus fluide des logiciels.

Stanislas Odinot , L'Ordinateur Individuel, le 20/07/2005 à 07h00

Ils arrivent ! Dès cet été, certains PC de bureau seront équipés de processeurs « dual core » (double coeur, en français) tels que l'Athlon 64 X2 d'AMD et le Pentium D d'Intel. Les portables leur emboîteront le pas quelques mois après. Intel et AMD en sont convaincus : d'ici à deux ans, tous les ordinateurs seront dotés de ce nouveau type de puce. Pour quels bénéfices ? Augmenter la puissance de calcul et, surtout, faire fonctionner de manière plus « fluide » plusieurs logiciels en même temps.

Dérivé de celui des ordinateurs à deux processeurs (biprocesseurs), utilisé depuis longtemps, le principe du double coeur est très simple : il consiste à faire tenir l'équivalent de deux processeurs dans un même circuit intégré (une seule puce, donc). Pour prendre une image, c'est un peu comme si l'on doublait les unités de travail dans une fabrique. Un processeur peut en effet être considéré comme une sorte d'usine. De l'extérieur, on ne voit qu'un bâtiment auquel aboutissent différentes voies de communication ; dans le cas d'un processeur, c'est le boîtier « à pattes » que l'on insère dans son support, sur la carte mère, et qui échange des informations avec les autres composants (mémoire, circuit graphique, etc.) via différents « bus » (équivalents à des « fils électriques »).

Traiter plus de données simultanément

Comme dans une usine abritant des unités de montage avec des machines outils et des salles de stockage temporaire, le boîtier du processeur contient un ensemble complexe d'unités de calcul et de mémoires composées de minitransistors - plusieurs millions dans les modèles actuels - intégrés dans un pavé de silicium de seulement quelques millimètres carrés. C'est précisément cette partie « productive » que l'on appelle le coeur. L'intérêt du dual core est évident : en utilisant deux coeurs au lieu d'un, un processeur peut traiter plus de données simultanément.

Pourquoi procéder ainsi ? Parce que le modèle à simple coeur utilisé sur les processeurs classiques a atteint ses limites. Jusqu'alors, les concepteurs de processeurs augmentaient la puissance de calcul de leurs puces en les faisant travailler à une fréquence plus élevée (des mégahertz puis des gigahertz), comme quand on augmente la cadence de travail dans une usine. L'ennui, c'est qu'en faisant grimper la fréquence, on augmente aussi la chaleur dissipée par le circuit intégré (chaque transistor consommant et dégageant une certaine quantité d'énergie à chaque cycle d'horloge), ce qui engendre des problèmes de refroidissement. D'où l'idée d'arrêter la course à la fréquence et de doubler les coeurs des processeurs.

Un gain en puissance qui n'est pas toujours garanti

A priori, on pourrait penser qu'en procédant ainsi on double la puissance de calcul. La réalité est plus nuancée. Car pour profiter pleinement de deux coeurs, comme de deux processeurs ou de deux chaînes de production dans une usine, il faut leur donner du grain à moudre, en leur faisant partager des tâches ou en les faisant travailler en parallèle. Or, la plupart des logiciels actuels ne sont pas conçus pour exploiter deux processeurs ou deux coeurs : ils travaillent principalement de façon « séquentielle », en enchaînant des tâches élémentaires (des threads, ou « processus légers » dans le jargon informatique) qui ne peuvent pas être traitées indépendamment les unes des autres et donc pas réparties entre deux unités de calcul. Les logiciels de ce type ne tirent pas vraiment parti des processeurs dual core puisqu'ils n'utilisent qu'un seul coeur... tant qu'ils fonctionnent seuls.

Tout change en effet quand on fait tourner simultanément plusieurs logiciels, comme on le fait lorsqu'on utilise en même temps un navigateur Web, un traitement de texte, un lecteur audio et un programme de décompression de données, par exemple, avec un système d'exploitation multitâche comme Windows, Mac OS ou Linux. Dans ce genre de situation - très fréquente aujourd'hui -, un processeur classique (monocoeur, donc) donne l'illusion de tout faire en même temps.

En réalité, chaque logiciel travaille en alternance, le processeur basculant constamment d'un programme à un autre. Sous le contrôle du système d'exploitation, qui gère les priorités des différents programmes, il consacre ainsi de courtes périodes de temps à chaque tâche. Et c'est parce qu'il fait tout cela très rapidement (plusieurs millions de fois par seconde) qu'on a une impression de simultanéité. Toutefois, comme certaines tâches sont plus gourmandes en calcul - ou d'une priorité plus élevée - que d'autres, le processeur peut être très occupé ; voilà pourquoi l'ordinateur manque parfois de réactivité quand on utilise plusieurs programmes simultanément.

Vers des processeurs à huit coeurs

Et c'est cet aspect que le dual core va sensiblement améliorer, le système d'exploitation pouvant répartir les logiciels entre les deux coeurs. Ainsi, quand on fait tourner deux programmes « classiques » en même temps, chacun utilise un coeur comme s'il disposait d'un processeur entier pour lui seul. Même au-delà de deux logiciels, on obtient un fonctionnement plus fluide, le processeur n'étant pas complètement « bloqué » quand l'un de ses coeurs est monopolisé par un calcul lourd. D'autres programmes peuvent cependant tirer parti du dual core, même quand ils opèrent seuls : ce sont les logiciels dits « multithreads », capables de lancer plusieurs tâches indépendantes en même temps (des programmes multitâches, en quelque sorte). Dans ce cas, les threads sont répartis entre les deux coeurs du processeur, ce qui augmente la vitesse d'exécution globale du logiciel. Ce sont ces programmes que l'on dit « optimisés pour le dual core ».

Pour l'heure, les programmes multithreads sont encore peu nombreux (il s'agit surtout de logiciels de traitement audio ou vidéo), mais ils devraient se multiplier avec la généralisation des processeurs dual core dans les ordinateurs grand public. En outre, l'apport du double coeur est déjà bien réel aujourd'hui puisque les systèmes d'exploitation actuels sont eux-mêmes multithreads.

On le voit, le dual core améliorera sensiblement les performances et le confort d'utilisation des ordinateurs. Et ce n'est qu'un début : AMD et Intel annoncent déjà des puces à quatre et même à huit coeurs pour 2007. Le multitâche ne sera alors plus une illusion mais une réalité...

Hyper-threading : un faux dual core

En 2002, Intel avait déjà réalisé un premier pas en direction du dual core avec l'hyper-threading (souvent estampillé HT sur les processeurs), une technologie dont ont bénéficié de nombreux Pentium 4. Le principe : doubler, non pas le coeur complet d'un processeur, mais certaines de ses unités internes. En simulant ainsi la présence d'un deuxième processeur (appelé processeur « logique », par opposition à processeur physique), cette technique permet aux logiciels de réaliser plusieurs tâches en parallèle.

Les programmes qui ont été adaptés pour profiter de l'hyper-threading sont multithreads ; ils tirent donc naturellement parti des processeurs dual core. Intel a intégré sa technologie hyper-threading sur certains de ses processeurs dual core (comme le Pentium 4 Extreme Edition 840).

Mais face à cette configuration particulière, Windows XP, qui gère alors quatre processeurs (deux logiques, ceux de l'hyper-threading, et deux physiques, les coeurs), patine un peu : de nombreux tests ont montré que la cohabitation de ces deux technologies ralentit même l'exécution de certains logiciels...


 01banner_vertical200blanc_original.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

accueil/association/services/promotion/contact/webmaster