Principe simple => plusieurs processeurs et une mémoire commune
Dans cette architecture, chaque proc. exécute son programme relativement indépendamment des autres.
Selon l'accession aux ressources, on distingue 3 classes :
Fortement couplée : mémoire commune accessible par tous.
Légerement couplée : des plages mémoires sont reservées pour chaque proc. Un réseau de communication relie tous les proc entre eux.
"Closely coupled" : des plages mémoires sont reservées ou non pour chaque proc mais absence de réseau de communication entre les proc.
L'architecture multiprocesseurs illustre surtout la classe "Fortement couplée".
L'hyper cube :
C'est un "cube" de dimension N (N = nb de sommets)
N=1 ; N=2 ; N=4 ; N=8 ; N=16 ...
Chaque noeud ou sommet du cube est un proc. Leur nb est une puissance de deux.
Les proc sont numérotés grâce à des valeurs binaires de telle façon que l'on connait la distance qui les sépare entre eux.
Elle est égale aux nbs de bits de même poids dont la valeur diffère (= distance de Hamming).
Etudions les bits (de la droite vers la gauche) sur cet exemple :
Proc-a 0010
Proc-b 0100
0010 ... 0100 => distance=0
0010 ... 0100 => distance=1
0010 ... 0100 => distance=1
0010 ... 0100 => distance=0
Au total distance=2
L'avantage de cette méthode de numérotation est qu'avec un algorithme de routage on peut se déplacer dans l'hyper cube sans table de routage.