System- und Speicherarchitektur
Es gibt verschiedene System- und Speicherarchitekturstile, die beim Entwerfen des Programms oder des gleichzeitigen Systems berücksichtigt werden müssen. Dies ist sehr wichtig, da ein System- und Speicherstil für eine Aufgabe geeignet sein kann, für andere Aufgaben jedoch fehleranfällig sein kann.
Computersystemarchitekturen, die Parallelität unterstützen
Michael Flynn gab 1972 Taxonomie für die Kategorisierung verschiedener Stile der Computersystemarchitektur. Diese Taxonomie definiert vier verschiedene Stile wie folgt:
- Einzelbefehlsstrom, Einzeldatenstrom (SISD)
- Einzelbefehlsstrom, Mehrfachdatenstrom (SIMD)
- Mehrfachbefehlsstrom, Einzeldatenstrom (MISD)
- Mehrfachbefehlsstrom, Mehrfachdatenstrom (MIMD).
Einzelbefehlsstrom, Einzeldatenstrom (SISD)
Wie der Name schon sagt, würden solche Systeme einen sequentiellen eingehenden Datenstrom und eine einzelne Verarbeitungseinheit haben, um den Datenstrom auszuführen. Sie sind wie Einprozessorsysteme mit paralleler Computerarchitektur. Es folgt die Architektur von SISD -
Vorteile von SISD
Die Vorteile der SISD-Architektur sind folgende:
- Es benötigt weniger Strom.
- Es gibt kein Problem mit komplexen Kommunikationsprotokollen zwischen mehreren Kernen.
Nachteile von SISD
Die Nachteile der SISD-Architektur sind folgende:
- Die Geschwindigkeit der SISD-Architektur ist genau wie bei Single-Core-Prozessoren begrenzt.
- Es ist nicht für größere Anwendungen geeignet.
Einzelbefehlsstrom, Mehrfachdatenstrom (SIMD)
Wie der Name schon sagt, würden solche Systeme mehrere eingehende Datenströme und eine Anzahl von Verarbeitungseinheiten haben, die zu einem bestimmten Zeitpunkt auf einen einzelnen Befehl einwirken können. Sie sind wie Multiprozessorsysteme mit paralleler Computerarchitektur. Es folgt die Architektur von SIMD -
Das beste Beispiel für SIMD sind die Grafikkarten. Diese Karten haben Hunderte von einzelnen Verarbeitungseinheiten. Wenn wir über den Rechenunterschied zwischen SISD und SIMD sprechen, dann für das Hinzufügen von Arrays[5, 15, 20] und [15, 25, 10],Die SISD-Architektur müsste drei verschiedene Addiervorgänge ausführen. Andererseits können wir mit der SIMD-Architektur dann in einem einzigen Addiervorgang hinzufügen.
Vorteile von SIMD
Die Vorteile der SIMD-Architektur sind folgende:
Dieselbe Operation an mehreren Elementen kann nur mit einer Anweisung ausgeführt werden.
Der Durchsatz des Systems kann durch Erhöhen der Anzahl der Kerne des Prozessors erhöht werden.
Die Verarbeitungsgeschwindigkeit ist höher als bei der SISD-Architektur.
Nachteile von SIMD
Die Nachteile der SIMD-Architektur sind folgende:
- Es gibt eine komplexe Kommunikation zwischen der Anzahl der Prozessorkerne.
- Die Kosten sind höher als bei der SISD-Architektur.
MISD-Stream (Multiple Instruction Single Data)
Systeme mit MISD-Stream haben eine Anzahl von Verarbeitungseinheiten, die unterschiedliche Operationen ausführen, indem sie unterschiedliche Anweisungen für denselben Datensatz ausführen. Es folgt die Architektur von MISD -
Die Vertreter der MISD-Architektur existieren kommerziell noch nicht.
MIMD-Stream (Multiple Instruction Multiple Data)
In dem System, das eine MIMD-Architektur verwendet, kann jeder Prozessor in einem Multiprozessorsystem verschiedene Befehlssätze unabhängig voneinander auf dem unterschiedlichen Datensatz parallel ausführen. Dies steht im Gegensatz zur SIMD-Architektur, bei der eine einzelne Operation für mehrere Datensätze ausgeführt wird. Es folgt die Architektur von MIMD -
Ein normaler Multiprozessor verwendet die MIMD-Architektur. Diese Architekturen werden grundsätzlich in einer Reihe von Anwendungsbereichen verwendet, wie z. B. computergestütztes Design / computergestützte Fertigung, Simulation, Modellierung, Kommunikationsschalter usw.
Speicherarchitekturen, die Parallelität unterstützen
Bei der Arbeit mit Konzepten wie Parallelität und Parallelität müssen die Programme immer beschleunigt werden. Eine von Computerdesignern gefundene Lösung besteht darin, Mehrfachcomputer mit gemeinsamem Speicher zu erstellen, dh Computer mit einem einzigen physischen Adressraum, auf den alle Kerne eines Prozessors zugreifen. In diesem Szenario kann es verschiedene Architekturstile geben. Im Folgenden sind die drei wichtigen Architekturstile aufgeführt:
UMA (Uniform Memory Access)
In diesem Modell teilen sich alle Prozessoren den physischen Speicher einheitlich. Alle Prozessoren haben die gleiche Zugriffszeit auf alle Speicherwörter. Jeder Prozessor kann einen privaten Cache-Speicher haben. Die Peripheriegeräte folgen einer Reihe von Regeln.
Wenn alle Prozessoren gleichen Zugriff auf alle Peripheriegeräte haben, wird das System als a bezeichnet symmetric multiprocessor. Wenn nur ein oder wenige Prozessoren auf die Peripheriegeräte zugreifen können, wird das System als bezeichnetasymmetric multiprocessor.
Ungleichmäßiger Speicherzugriff (NUMA)
Im NUMA-Multiprozessormodell variiert die Zugriffszeit mit dem Ort des Speicherworts. Hier wird der gemeinsam genutzte Speicher physisch auf alle Prozessoren verteilt, die als lokale Speicher bezeichnet werden. Die Sammlung aller lokalen Speicher bildet einen globalen Adressraum, auf den alle Prozessoren zugreifen können.
Nur Cache-Speicherarchitektur (COMA)
Das COMA-Modell ist eine spezielle Version des NUMA-Modells. Hier werden alle verteilten Hauptspeicher in Cache-Speicher konvertiert.