Multiprocesseur - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Un ordinateur multiprocesseur est doté de plusieurs processeurs, il est donc doté d'une architecture parallèle. Alors qu'un ordinateur monoprocesseur ne compte qu'un seul processeur, un ordinateur multiprocesseur en compte au moins deux. Dans un tel cas, l'ordinateur pourra plus précisément être qualifié de « bi-processeur ».

But

Dans tout système informatique certaines formes de parallélismes sont exploitables, elles sont justement mises en valeur par ce type d'ordinateur. Le parallélisme peut être exploité à plusieurs niveaux :

  1. Ressources du processeur : quand celui-ci possède plusieurs unités utilisables en même temps, ce qui est typiquement le cas des processeurs avec un pipeline.
  2. Instruction : des instructions indépendantes peuvent être exécutés concurremment.
  3. Tâches (ou processus) : plusieurs processus sont susceptibles de pouvoir être exécutés par un processeur au même moment.
  4. ...

Processeurs multicœurs

2 processeurs non multicœurs, chacun occupant un support.
2 processeurs, chacun multicœur, chacun occupant un support.

Les systèmes multiprocesseurs consomment beaucoup d'énergie et dégagent beaucoup de chaleur. Ces deux facteurs sont limitant dans les contextes où les processeurs sont étroitement confinés (serveurs lames par exemple), soit en très grand nombre (datacenter regroupant des milliers d'ordinateurs, ou superordinateurs massivement parallèles).

La technologie nommées multicœurs (multicore en anglais) permet d'assembler deux cœurs de processeurs côte-à-côte sur le silicium : le support (la connectique qui relie le processeur à la carte électronique) lui ne change pas. Certains éléments, comme par exemple l'antémémoire (la mémoire cache) peuvent être mis en commun.

Les processeurs multicœurs sont cadencés à des fréquences inférieures à celle des monoprocesseurs, d'où une consommation et un dégagement de chaleur réduits.

Il est possible de remplacer, en utilisant exactement les mêmes supports, les deux processeurs précédents par leur équivalent multicœurs. Ceux-ci pourront par exemple fonctionner à la fréquence de 2,8 GHz. La machine résultante sera donc toujours dotée de deux processeurs, mais de quatre cœurs, toutefois la fréquence de calcul vaudra toujours 2,8 GHz (chaque cœur du processeur aura la même fréquence que les autres cœurs car la fréquence de calcul est propre au processeur et non pas à chaque cœur), seule la puissance du processeur (exprimée en FLO/s ou FLOPS) sera multiplié par le nombre de cœurs. Par exemple si un processeur monocœur cadencé à 1 GHz et ayant une puissance de 10GFlops est remplacé par un processeur dual-core (à 2 cœurs) cadencé à 1 GHz et dont la puissance de chaque cœur vaut 10 GFlops alors la puissance total du processeur dual-core vaudra 10GFlops + 10GFlops = 20 GFlops.

Associé à la technique de l'hyperthreading, cette technologie est en plein essor. Sun Microsystems étudie en 2008 la construction de multicœurs en trois dimensions, c’est-à-dire avec une zone de recouvrement des deux cœurs (donc superposés) permettant de mettre en place des canaux de communication entre eux.

Ces architectures ne sont intéressantes que pour les programmes qui se prêtent simultanément aux deux techniques précitées (multicœurs et hyperthreading).

Topologie d'interconnexion

Une des caractéristiques importantes des ordinateurs multiprocesseur et simple processeur est la topologie du réseau qui relie les processeurs entre eux. À peu près toutes les topologies ont été utilisées, on peut néanmoins en illustrer quelques unes :

Page générée en 0.136 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise