Vorlesungsskripte aus dem DHBW-Studium
aus der Vorlesung Rechnertechnik vom 13.02.2018
In diesem Sinne sind nachrichtengekoppelte Multiprozessorsysteme vom Typ No-Remote-Memory-Access (NORMA). Bezüglich der Übertragungszeit von Nachrichten unterscheidet man folgende Typen:
Das NUCA-Modell kommt bei nachrichtengekoppelten Multiprozessoren am häufigsten vor. Es wird hier eine Nachricht i.a. vom Sende- bis zum Ziel-Prozessor über mehrere Zwischen-Prozessoren geleitet (multiple hops).
Sind die Prozessoren gleichartig, so spricht man von homogenen Multiprozessorsystemen, ansonsten von inhomogenen Multiprozessoren.
Die von Neumann Architektur ist eine Rechnerarchitektur mit minimalem Hardware-Aufwand; sie besteht aus folgenden Komponenten:
Funktion einer von-Neumann Architektur:
Der Datenprozessor hat die Aufgabe, Verarbeitungsdaten zu verarbeiten. Dazu besitzt er ein Rechenwerk und mindestens drei Register zur Aufnahme von Operanden. Register sind Speicher mit geringer Speicherkapazität, jedoch mit hoher Zugriffsgeschwindigkeit (kurze Zugriffszeiten).
Das Memory Buffer Register ist ein Puffer-Speicher, über den der Datenaustausch mit dem Speicher abgewickelt wird. Akkumulator und Multiplikationsregister dienen zur Aufnahme von Additions- und Multiplikationsoperanden (Verarbeitungsdaten) und der Ergebnisse nach der Verarbeitung. Im Steuerwerk des Befehlsprozessors werden die Maschinenbefehle dekodiert (entschlüsselt) und Steuersignale zur Ausführung der Befehle erzeugt. Dabei befindet sich der aktuell bearbeitete Maschinenbefehl im Befehlsregister (Instruction Register). Die Adresse, an welcher sich der nächste auszuführende Befehl im Speicher befindet, steht im Program Counter Register.
Ein typischer Befehlsablauf in einer von-Neumann Architektur sieht wie folgt aus:
Die Maschinenbefehle eines Programms werden also im Wechsel von Fetch- und Execution-Phasen ausgeführt, wobei diese Phasen bei realen CPUs deutlich komplizierter sind. So müssen häufig Adressberechnungen durchgeführt werden, oder es handelt sich um indirekte Adressen, die bei einem Befehl angegeben sind; d.h., dass der Inhalt einer Speicherzelle erst die Adresse der eigentlichen Operanden enthält.
Die Zeit für die Befehlsausführung ist bei den heutigen Prozessoren sehr gering im Vergleich zu Zugriffszeiten auf den Arbeitsspeicher. Daher spricht man bei der Kommunikation zwischen Prozessor und Arbeitsspeicher vom sogenannten “von-Neumann Flaschenhals”. Zur Verbesserung dieser Situation werden heutzutage eine Reihe von architektonischen Maßnahmen ergriffen, wie z.B. schneller Cache-Speicher für wiederholte Speicherzugriffe.
Wesentliche Eigenschaften des Operationsprinzips eines von-Neumann Rechners:
Als Beispiel für die Verarbeitung von Maschinenbefehlen betrachte man die Addition von einzugebenden Zahlen in einer Schleife, bis eine Null eingegeben wird und dann das Ergebnis der bis dahin addierten Zahlen ausgegeben wird.
Ein fiktiver Modellrechner soll u.a. über folgende mnemonischen Befehle verfügen:
Befehl | Beschreibung |
---|---|
CLA |
(Clear Accu) Setzt den Akkumulatorinhalt auf 0 zurück. |
INA |
(Input Accu) Liest einen Wert in den Akkumulator ein. |
OUT |
(Output Accu) Gibt den Wert des Akkumulators aus. |
ADD (addr) |
addiert den Inhalt der Speicherzelle, die durch die Adresse addr angesprochen wird, zum Inhalt des Akkumulators und legt das Ergebnis im Akkumulator ab. |
STR (addr) |
(Store) speichert den Akkumulatorinhalt im Arbeitsspeicher an die Stelle addr |
SKP (addr) |
springt unbedingt zur Adresse addr |
SKZ (addr) |
springt zur Adresse addr , wenn Akkumulatorinhalt 0 ist, sonst wird der nächste Befehl ausgeführt. |
HLT |
(halt) Programmende |