En 1966, m.J. Flynn a classé les formes d'architecture informatique parallèle en quatre groupes qui est basé sur le nombre d'instructions et d'éléments de données et la concurrence dans les séquences (ou flux) de traitement, les données et les instructions. Le cœur des systèmes implémentant l'informatique parallèle est: l'unité de contrôle; l'élément de traitement ou le processeur; Et la mémoire. Selon le type d'architecture, un système peut utiliser un processeur unique ou multiple et une mémoire partagée ou distribuée.
En informatique parallèle, un travail est décomposé en parties et les pièces sont décomposées en une série d'instructions. Les instructions de chaque partie sont exécutées sur différents CPU simultanément et les pièces sont exécutées simultanément.[1]
Comment fonctionne Misd
Dans MISD, il existe plusieurs éléments de traitement qui ont leur propre unité de contrôle et sa mémoire locale qui permet à chaque processeur de gérer les instructions indépendamment. Pour accélérer le processus de résolution de problèmes, le problème est divisé en sous-problèmes et chaque sous-problème a son propre ensemble de programmes ou de flux d'instructions. Différents flux d'instructions sont transmis à l'unité de contrôle de chaque processeur et, à son tour, les unités de contrôle envoient les flux d'instructions aux processeurs. Chaque processeur fonctionne donc sur les données indépendamment et traite les flux d'instructions de manière asynchrone. Dans la plupart des cas, la sortie d'un processeur devient une entrée du processeur suivant, ce qui signifie que les processeurs exécutent différents programmes ou résolvent différents sous-problèmes du problème principal.
Source de l'image: Java T Point
Comment MISD diffère des autres classes
Chaque système informatique qui relève de la classification de Flynn gère les instructions et les flux de données différemment. Voici un aperçu des trois autres classes de systèmes informatiques dans la taxonomie de Flynn. Sur la base de leurs descriptions, vous verrez comment chacun diffère de MISD.
SISD (instruction unique, données uniques)
Comme son nom l'indique, il n'y a qu'une seule instruction et un flux de données pour le système informatique SSID. Il s'agit d'un ordinateur uniprocesseur qui est également connu comme un ordinateur séquentiel car les instructions sont traitées de manière séquentielle. La mémoire principale stocke les données et les instructions tandis que l'unité de commande décode les instructions, puis envoie les instructions au processeur. Ce type d'architecture se trouve principalement dans les ordinateurs conventionnels, les mini-ordinateurs et les postes de travail.
Source de l'image: Java T Point
SIMD (instruction unique, données multiples)
Contrairement à SISD, ce système informatique a plusieurs processeurs. Les processeurs exécutent une seule instruction sur différents flux de données. Il y a une mémoire et une unité de contrôle qui récupère les données de la mémoire et envoie les mêmes instructions à tous les éléments de traitement. Bien que les processeurs reçoivent les mêmes instructions de l'unité de contrôle, ils fonctionnent sur différents éléments de données. Ce type d'architecture est généralement implémenté sur des ordinateurs ou des applications utilisées dans l'informatique scientifique telle que la machine de traitement des vecteurs de Cray, où plusieurs vecteurs et matrices sont impliqués.
Source de l'image: Java T Point
MIMD (instruction multiple, données multiples)
Dans ce modèle informatique parallèle, plusieurs processeurs qui ont leur propre unité de contrôle mais ne peuvent pas nécessairement avoir leur propre module de mémoire. Chaque processeur exécute un ensemble distinct d'instructions et de flux de données qui rendent les machines MIMD capables de gérer tout type d'application. Il existe deux catégories dans MIMD en fonction du type de mémoire utilisé - MIMD à mémoire partagée et MIMD à mémoire distribuée.
MIMD à mémoire partagée - Les processeurs sont connectés à une seule mémoire. La communication entre les processeurs se fait par la mémoire globale, donc tous les processeurs y ont accès. Toutes les transactions et modifications des données stockées dans la mémoire globale sont visibles pour tous les processeurs.
MIMD de mémoire distribuée - Chaque processeur a sa propre mémoire qui stocke les données. Les données stockées sur la mémoire locale du processeur ne sont pas visibles pour tous les processeurs. Étant donné que la mémoire n'est pas partagée, la communication entre les processeurs passe par le canal de communication inter-processus (IPC).
Source de l'image: Java T Point
Où est mal utilisé?
Alors que les autres classes sont utilisées dans des systèmes informatiques génériques, MISD est plus théorique et non pratiquement utilisé dans de nombreuses applications. Il a été mis en œuvre dans des tableaux systolique qui est un système idéal pour des applications telles que l'intelligence artificielle, le traitement d'image, la reconnaissance des modèles et d'autres tâches qui imitent le traitement des cerveaux animaux. Dans les tableaux systolique, le processeur lit les données d'un autre processeur, effectue une opération et envoie une sortie qui sera utilisée par un autre processeur. La structure générale des tableaux systolique reflète celui de l'architecture MISD. Cependant, il existe un argument quant à savoir si MISD est en effet l'architecture derrière les tableaux systolique car les données d'entrée sont généralement un vecteur et non une seule valeur de données. Pourtant, d'autres diraient qu'un vecteur d'entrée est considéré comme un ensemble de données unique qui qualifie les tableaux systolique en tant que machines MISD. Quoi qu'il en soit, les tableaux systolique restent l'exemple classique de l'architecture MISD.
MISD est également connu comme l'architecture derrière les systèmes de contrôle de vol de la navette spatiale en raison de sa meilleure mise à l'échelle et de sa meilleure utilisation des ressources de calcul.
Généralement, l'architecture MISD est rarement utilisée et seules quelques machines sont construites en utilisant cette architecture. La plupart de ces systèmes ne sont pas disponibles dans le commerce.
Conclusion
MISD est l'une des quatre architectures informatiques parallèles classées par m.J. Flynn où plusieurs éléments de traitement traitent différents ensembles de flux d'instructions à partir d'un seul flux de données. Chaque processeur a sa propre unité de contrôle et sa mémoire, et les éléments de traitement traitent les flux d'instructions indépendamment. Parmi les quatre classes, MISD est le type d'architecture le moins utilisé avec seulement deux exemples proéminents d'applications où il est utilisé - des réseaux systolique et des systèmes de contrôle de la navette spatiale. Même à ce jour, pas beaucoup d'applications utilisent MISD, mais elle est particulièrement utile pour les applications hautement spécialisées.
Sources:
[1] geeks pour les geeks. Architecture informatique | Taxonomie de Flynn. 6 janvier 2020. https: // www.geeksforgeeks.org / ordinateur-architecture-flynns-taxonomy /. Consulté le 22 mars 2022