Architecture système et mémoire
Il existe différents styles d'architecture de système et de mémoire qui doivent être pris en compte lors de la conception du programme ou du système simultané. C'est très nécessaire car un système et un style de mémoire peuvent convenir à une tâche, mais peuvent être sujets à des erreurs pour une autre tâche.
Architectures de système informatique prenant en charge la concurrence
Michael Flynn en 1972 a donné une taxonomie pour catégoriser différents styles d'architecture de système informatique. Cette taxonomie définit quatre styles différents comme suit -
- Flux d'instructions unique, flux de données unique (SISD)
- Flux d'instructions unique, flux de données multiples (SIMD)
- Flux d'instructions multiples, flux de données unique (MISD)
- Flux d'instructions multiples, flux de données multiples (MIMD).
Flux d'instructions unique, flux de données unique (SISD)
Comme son nom l'indique, ce type de système aurait un flux de données entrant séquentiel et une seule unité de traitement pour exécuter le flux de données. Ils ressemblent à des systèmes monoprocesseurs ayant une architecture de calcul parallèle. Voici l'architecture du SISD -
Avantages du SISD
Les avantages de l'architecture SISD sont les suivants -
- Cela nécessite moins d'énergie.
- Il n'y a pas de problème de protocole de communication complexe entre plusieurs cœurs.
Inconvénients du SISD
Les inconvénients de l'architecture SISD sont les suivants -
- La vitesse de l'architecture SISD est limitée, tout comme les processeurs monocœur.
- Il ne convient pas aux applications plus importantes.
Flux d'instructions unique, flux de données multiples (SIMD)
Comme son nom l'indique, ce type de système aurait plusieurs flux de données entrants et un nombre d'unités de traitement pouvant agir sur une seule instruction à tout moment. Ils ressemblent à des systèmes multiprocesseurs ayant une architecture de calcul parallèle. Voici l'architecture de SIMD -
Le meilleur exemple pour SIMD est les cartes graphiques. Ces cartes ont des centaines d'unités de traitement individuelles. Si nous parlons de différence de calcul entre SISD et SIMD, alors pour l'ajout de tableaux[5, 15, 20] et [15, 25, 10],L'architecture SISD devrait effectuer trois opérations d'ajout différentes. Par contre, avec l'architecture SIMD, on peut alors ajouter en une seule opération d'ajout.
Avantages de SIMD
Les avantages de l'architecture SIMD sont les suivants -
La même opération sur plusieurs éléments peut être effectuée en utilisant une seule instruction.
Le débit du système peut être augmenté en augmentant le nombre de cœurs du processeur.
La vitesse de traitement est supérieure à l'architecture SISD.
Inconvénients de SIMD
Les inconvénients de l'architecture SIMD sont les suivants -
- Il existe une communication complexe entre plusieurs cœurs de processeur.
- Le coût est plus élevé que l'architecture SISD.
Flux de données uniques à instructions multiples (MISD)
Les systèmes avec flux MISD ont un certain nombre d'unités de traitement effectuant différentes opérations en exécutant différentes instructions sur le même ensemble de données. Voici l'architecture de MISD -
Les représentants de l'architecture MISD n'existent pas encore commercialement.
Flux de données multiples à instructions multiples (MIMD)
Dans le système utilisant l'architecture MIMD, chaque processeur d'un système multiprocesseur peut exécuter différents ensembles d'instructions indépendamment sur les différents ensembles de données en parallèle. Elle est opposée à l'architecture SIMD dans laquelle une seule opération est exécutée sur plusieurs ensembles de données. Voici l'architecture de MIMD -
Un multiprocesseur normal utilise l'architecture MIMD. Ces architectures sont essentiellement utilisées dans un certain nombre de domaines d'application tels que la conception assistée par ordinateur / la fabrication assistée par ordinateur, la simulation, la modélisation, les commutateurs de communication, etc.
Architectures de mémoire prenant en charge la concurrence
Tout en travaillant avec des concepts tels que la concurrence et le parallélisme, il est toujours nécessaire d'accélérer les programmes. Une solution trouvée par les concepteurs d'ordinateurs est de créer des multi-ordinateurs à mémoire partagée, c'est-à-dire des ordinateurs ayant un seul espace d'adressage physique, auquel tous les cœurs d'un processeur ont accès. Dans ce scénario, il peut y avoir un certain nombre de styles d'architecture différents, mais voici les trois styles d'architecture importants:
UMA (accès mémoire uniforme)
Dans ce modèle, tous les processeurs partagent la mémoire physique de manière uniforme. Tous les processeurs ont le même temps d'accès à tous les mots mémoire. Chaque processeur peut avoir une mémoire cache privée. Les périphériques suivent un ensemble de règles.
Lorsque tous les processeurs ont un accès égal à tous les périphériques, le système est appelé symmetric multiprocessor. Lorsque seul un ou quelques processeurs peuvent accéder aux périphériques, le système est appeléasymmetric multiprocessor.
Accès mémoire non uniforme (NUMA)
Dans le modèle multiprocesseur NUMA, le temps d'accès varie en fonction de l'emplacement du mot mémoire. Ici, la mémoire partagée est physiquement répartie entre tous les processeurs, appelés mémoires locales. La collection de toutes les mémoires locales forme un espace d'adressage global auquel tous les processeurs peuvent accéder.
Architecture de mémoire cache uniquement (COMA)
Le modèle COMA est une version spécialisée du modèle NUMA. Ici, toutes les mémoires principales distribuées sont converties en mémoires cache.