Cours L1.2. Introduction générale.
Architecture parallèle
Le traitement des besoins informatiques a conduit à faire évoluer les ordinateurs vers des
puissances de plus en plus grandes. L’un des points essentiels de ces développements porte
sur l’architecture des machines, ie la manière dont sont agencés les différents composants :
processeurs, mémoires, connexions, canaux d’entrée et sortie …
Le mode de fonctionnement classique consiste à faire effectuer, séquentiellement, un
programme par la machine. A tout instant du programme, une seule instructions, portant sur
une seule variable ou un couple de variables, est exécutée. Si le traitement comporte plusieurs
opérations, celles-ci doivent être effectuées séquentiellement, une opération ne pouvant
commencer que lorsque la précédente est terminée.
Une telle machine nécessite un seul processeur, un compteur d’instructions et une mémoire
contenant, à la fois, les données et les instructions (et les entrées, sorties). Ce type
d’architecture est le SISD : Single Instruction, Single Data stream.
Pour accélérer ce traitement, une solution consiste à le répartir sur plusieurs processeurs. Il y a
différentes façons de procéder.
La plus simple, équivalent du travail à la chaîne dans les usines, consiste à répartir sur
différents processeurs, le traitement portant sur une donnée.
Structure MISD : Multiple Instruction Single Data Stream, plus connue sous le nom de
« pipe-line », par analogie avec les canalisations où le carburant liquide s’écoule et ressort à la
sortie. Ce type d’architecture permet de multiplier la capacité de traitement par le nombre de
processeurs mis bout à bout, une fois la chaîne amorcée
A l’inverse, il est souvent avantageux de faire effectuer simultanément la même instruction
sur des données différentes : on peut alors parler d’architecture parallèle. Dans ce cas de
figure, les données sont intrinsèquement structurées en ensembles ordonnées et homogènes
appelés « vecteurs », destinés à subir le même traitement. Toutes ces données arrivent
simultanément dans un ensemble de processeurs élémentaires, dit « processeur vectoriel », où
elles sont traitées en même temps selon une instruction unique. L’ensemble des processeurs
élémentaires est coordonné par un superviseur. Ce parallélisme est également appelé SIMD :
Single Instruction Multiple Data Stream.
Le quatrième grand type d’architecture, dit parallélisme concurrent ou asynchrone, encore
désigné par MIMD (Multiple Instruction Multiple Data stream) se rencontre dans les
problèmes décomposables en sous-problèmes. Plusieurs instructions différentes, portant
chacune sur une donnée ou un groupe de données, sont exécutées indépendamment l’une de
l’autre.
D. La mémoire centrale
Partie de l’ordinateur dans laquelle programmes et données sont rangés. Le processeur lit et
écrit dans la mémoire.
La mémoire est formée d’un certain nombre de cellules, chacune de ces cellules contenant un
certain nombre d’informations. Chaque cellule a un numéro (son adresse), qui permet à un
programme de la référencer. Toutes les cases ou cellules de la mémoire contiennent le même