Microprocesseur multi-cœur

Microprocesseur multi-cœur
Page d'aide sur l'homonymie Pour les articles homonymes, voir Cœur (homonymie), Dual, Quad (homonymie), Tetra et Core.
Un processeur Dual-core (Intel Conroe).
Un processeur quad-core AMD Opteron.

Un microprocesseur multi-cœur (multi-core en anglais) est un processeur possédant plusieurs cœurs physiques.

Sommaire

Origines

Le terme « multi-cœur » est employé pour décrire un processeur composé d’au moins deux cœurs (ou unités de calcul) gravés au sein de la même puce.

On doit à IBM le premier processeur multi-cœur à avoir été commercialisé : il s'agit du POWER4, en 2001.

Les premiers exemplaires de processeurs multi-cœurs d’Intel et d’AMD sont arrivés sur le marché des ordinateurs personnels en 2005[1]. Il s’agissait de cœurs homogènes, c’est-à-dire identiques. Le cas de cœurs différents et spécialisés dans des domaines bien précis (audio, affichage, calcul pur, etc) a été exploité pour le processeur Cell conçu par IBM, Sony et Toshiba. Ce type d’architecture permet d’augmenter la puissance de calcul sans augmenter la fréquence d’horloge, et donc de réduire la quantité de chaleur dissipée par effet Joule (comme pour les systèmes multiprocesseur).

Les premières puces double cœur basées sur l’architecture x86 sont apparues en 2005 sur le marché des serveurs (Opterons d’AMD). Elles sont apparues parce qu’en pratique la course au GHz est devenue trop onéreuse et compliquée. La génération de processeurs de cette époque ne possédait qu’un seul cœur et avait une consommation qui pouvait dépasser largement les 100 W (notamment sur les processeurs Intel Pentium 4). Elle devait donc faire face à de graves problèmes de refroidissement des circuits[2]. La solution qui a semblé la plus évidente a été de privilégier non plus la fréquence, mais de multiplier la puissance grâce à une architecture parallèle, de façon à pouvoir augmenter le nombre d’opérations exécutées simultanément en un cycle d’horloge.

Évolution de la technologie

Depuis le lancement du premier ordinateur sur le marché, les demandes en capacité de calcul sont devenues de plus en plus importantes. Le multitraitement symétrique (SMP) a longtemps été utilisé pour améliorer les performances et l’efficacité informatiques en répartissant les charges sur plusieurs processeurs. Le SMP est particulièrement efficace dans les environnements multiprocessus où plusieurs tâches (processus) doivent être gérées simultanément.

Avec l’évolution des demandes de performances applicatives, les concepteurs de processeurs sont confrontés à un problème : L’augmentation des capacités informatiques est tributaire de la puissance, et le fait d’augmenter la puissance nécessite de gérer aussi les niveaux de dissipation. À cela s’ajoutent les demandes des industriels qui souhaitent des ordinateurs moins encombrants, à savoir plus de serveurs par baie, des ordinateurs portables plus fins et plus légers, et un encombrement réduit pour les systèmes de bureau. Le traitement multi-cœur contribue à relever ces défis. Cette évolution technologique augmente les performances et la productivité dans des ordinateurs de plus petite taille capables d’exécuter simultanément plusieurs applications complexes et de réaliser davantage de tâches en moins de temps.

Atout principal

Dans le monde numérique actuel, la demande en matière de simulations 3D complexes, fichiers multimédias en continu, niveaux supplémentaires de sécurité, interfaces utilisateur plus sophistiquées, bases de données plus volumineuses et nombre plus important d’utilisateurs en ligne commence à dépasser les capacités des processeurs mono-cœurs.

Les processeurs multi-cœurs favorisent un véritable fonctionnement multitâche. Sur les systèmes mono-cœurs, le fonctionnement multitâche peut dépasser les capacités de l’UC, entraînant une baisse des performances liée à la mise en attente des opérations à traiter. Sur les systèmes multi-cœurs, dans la mesure où chaque cœur dispose de sa propre mémoire cache, le système d’exploitation dispose de suffisamment de ressources pour traiter en parallèle les tâches les plus exigeantes en calculs.

La technologie multi-cœur peut améliorer l’efficacité du système et augmenter les performances applicatives des ordinateurs qui exécutent plusieurs applications en même temps.

Les contraintes logicielles

Malheureusement, cette approche comporte quelques désavantages, puisque les programmes doivent être repensés pour pouvoir exploiter pleinement les caractéristiques de ces processeurs. Dans le cas contraire, ils utilisent seulement un des cœurs, engendrant une baisse de performance par rapport aux attentes.

En 2006, très peu de logiciels gèrent le bi-cœurs, et globalement les logiciels ne sont pas conçus pour tirer le maximum de cette technologie (excepté dans le monde GNU/Linux où les applications sont portées en très grande majorité -près de 99,8 %- sous plusieurs types d’architectures). Une fois effectuée une mise à niveau de tous les programmes vers la nouvelle architecture, les performances se détacheront nettement dans les applications gourmandes comme les jeux vidéo. À terme, les quadri-cœurs, formés de 4 cœurs, remplaceront les bi-cœurs, car le passage à cette architecture ne demande quasiment pas de modification logicielle.

Le marché des télécommunications a été l’un des premiers à adopter les processeurs multi-cœurs, aussi bien pour la couche d’acheminement des données que pour la couche de commande. Depuis, ces MPU sont en train de remplacer rapidement les processeurs réseaux (NP) qui étaient basés sur des architectures propriétaires à base de microcode et picocode. 6WIND[3] a été la première société à fournir du logiciel réseau embarqué optimisé pour ces architectures multi-cœurs.

La programmation parallèle bénéficie également directement de plusieurs cœurs. Des modèles de programmation comme OpenMP, MPI ou OpenHMPP peuvent être utilisés sur ces plates-formes multi-cœurs. D’autres efforts de recherche sont également menés, par exemple le système Codeplay Sieve, les langages Ateji PX, Cray, Fortress de Sun et X10 d’IBM.

Processeurs multi-cœurs existants

Il existe actuellement plusieurs architectures de processeurs multi-cœurs. Outre les modèles d’Intel et AMD déjà cités, Sun Microsystems a développé sa gamme Niagara et Niagara II ; IBM a développé sa gamme de PowerPC et sa ligne CellBE, commercialisée par IBM sous forme de serveur lame, par Mercury sous forme de châssis renforcé.

L’industrie cherche dans le même temps à multiplier le nombre de cœurs présents sur un processeur, comme par exemple Intel dans son projet Tera-Scale.

Exemples commerciaux

  • (en) 6WINDGate, Plan donnée et plan de contrôle embarqué parallèle de 6WIND pour les processeurs réseaux multi-cœurs
  • (fr) National Instruments, Tutoriel sur les principes fondamentaux de la programmation multi-cœur

Notes et références

Voir aussi

Articles connexes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Microprocesseur multi-cœur de Wikipédia en français (auteurs)

Игры ⚽ Поможем сделать НИР

Regardez d'autres dictionnaires:

  • Microprocesseur Multi Cœur — Pour les articles homonymes, voir Cœur (homonymie), Dual, Quad, Tetra et Core. Un microprocesseur multi cœur (multi core en anglais) est un processeur possédant plusieurs cœurs physiques. Sommaire …   Wikipédia en Français

  • Microprocesseur multi cœur — Pour les articles homonymes, voir Cœur (homonymie), Dual, Quad, Tetra et Core. Un microprocesseur multi cœur (multi core en anglais) est un processeur possédant plusieurs cœurs physiques. Sommaire …   Wikipédia en Français

  • Microprocesseur multicœur — Microprocesseur multi cœur Pour les articles homonymes, voir Cœur (homonymie), Dual, Quad, Tetra et Core. Un microprocesseur multi cœur (multi core en anglais) est un processeur possédant plusieurs cœurs physiques. Sommaire …   Wikipédia en Français

  • Microprocesseur à quatre cœurs — Microprocesseur multi cœur Pour les articles homonymes, voir Cœur (homonymie), Dual, Quad, Tetra et Core. Un microprocesseur multi cœur (multi core en anglais) est un processeur possédant plusieurs cœurs physiques. Sommaire …   Wikipédia en Français

  • Multi-processeurs — Multiprocesseur Un ordinateur multiprocesseur est doté de plusieurs processeurs. Un ordinateur monoprocesseur n en comporte qu un seul, un bi processeur deux. Sommaire 1 But 2 Topologie d interconnexion 3 Processeurs multicœurs …   Wikipédia en Français

  • Coeur (microprocesseur) — Microprocesseur multi cœur Pour les articles homonymes, voir Cœur (homonymie), Dual, Quad, Tetra et Core. Un microprocesseur multi cœur (multi core en anglais) est un processeur possédant plusieurs cœurs physiques. Sommaire …   Wikipédia en Français

  • Cœur (microprocesseur) — Microprocesseur multi cœur Pour les articles homonymes, voir Cœur (homonymie), Dual, Quad, Tetra et Core. Un microprocesseur multi cœur (multi core en anglais) est un processeur possédant plusieurs cœurs physiques. Sommaire …   Wikipédia en Français

  • Microprocesseur — Un microprocesseur est un processeur dont les composants ont été suffisamment miniaturisés pour être regroupés dans un unique circuit intégré. Fonctionnellement, le processeur est la partie d’un ordinateur qui exécute les instructions et traite… …   Wikipédia en Français

  • Processeur multi cœur — Microprocesseur multi cœur Pour les articles homonymes, voir Cœur (homonymie), Dual, Quad, Tetra et Core. Un microprocesseur multi cœur (multi core en anglais) est un processeur possédant plusieurs cœurs physiques. Sommaire …   Wikipédia en Français

  • Optimisation des performances des architectures multi-cœurs — Un microprocesseur multi cœur (multi core en anglais) est un processeur possédant plusieurs cœurs physiques. Depuis l’arrivée des premiers microprocesseurs double cœurs en 2005, le nombre de cœurs ne cesse d’augmenter dans l’objectif d’améliorer… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”