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 ».
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 :
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).
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 :
Complètement connecté. | |||