Aufbau
Aufbau der von-Neumann-Architektur
Wie in der Einleitung bereits beschrieben, “arbeiten” die meisten Computer auf dem Grundprinzip der von-Neumann Architektur. Die von-Neumann Architektur hat nur einen einzelnen Bus, über den die Zentraleinheit auf Daten und Programme zugreift (das ist die eine Möglichkeit, wie ein Rechner aufgebaut werden kann, die Zusammenlegung). Im Prinzip besteht ein “von-Neumann-Computer” aus vier Komponenten, dem Rechenwerk, dem Steuerwerk, dem Speicherwerk und dem Ein- bzw. Ausgabewerk.
- Rechenwerk (Arithmetic Logic Unit): Durchführung von Rechen- und Vergleichsoperationen
- Steuerwerk (Control Unit): Interpretation von Programmbefehlen, Regelung des Zugriffs auf andere Komponenten, Takt und von-Neumann-Zyklus
- CPU (Central Processing Unit): Zusammenspiel aus ALU und CU
- BUS Datentransport zwischen Komponenten
- Speicherwerk Speichern von Programmen und Daten, ermöglicht Lese- und Schreibzugriff
- Ein-/ Ausgabewerk Steuert Ein- und Ausgabe von Daten
Von-Neumann-Flaschenhals
Bus-System kann nur einen Datentransport gleichzeitig durchführen. → sequentielle Abarbeitung
von-Neumann-Zyklus
Zum üben Johnny + Aufgaben im Moodle Kurs verwenden
- Sequenzielle (aufeinanderfolgend) durchführung der Befehle im von-Neumann-Rechner
- Ablauf im Steuerwerk:
Harvard-Architektur
Quelle
Die zweite Möglichkeit einen Rechner aufzubauen ist, dass Daten und Programme voneinander getrennt werden. Dies findet sich in der Harvard Architektur. Hier gibt zwei Datenbusse und i.d.R auch zwei Adressbusse, dabei erfolgt eine Separierung von Befehls- und Datenspeicher, auf die über getrennte Busse (deswegen zwei Datenbusse) zugegriffen wird. Im Prinzip ist ein “Harvard-Computer folgendermaßen aufgebaut:
- Zentraleinheit aus Rechenwerk und Steuerwerk
- Das Speicherwerk besteht aus getrennten Speichern für Daten u. Programme
- Eingabe-/Ausgabewerk
Das Rechenwerk kommuniziert mit dem Steuerwerk über den Befehlsbus und gibt “Steuerbefehle”, das Steuerwerk senden über den Datenbus “den Status” an das Rechenwerk. Das Rechenwerk kommuniziert über Datenbus mit dem Datenspeicher und das Steuerwerk über Befehlsbus mit dem Programmspeicher.
- Speicher für Daten und Programme getrennt
- Mehrere Bus-Systeme
- Steuerbus
- Datenbus
- Adressbus
Vergleich beider Architekturen
Harvard Architektur:
- Vorteile: Befehle und Daten können über zwei Busse gleichzeitig geladen werden, dadurch steigt die Rechenleistung bzw. -geschwindigkeit. Die Trennung von Datenspeicher und Programmspeicher sorgt dafür, dass bei fehlerhafter Software kein Programmcode überschrieben werden kann, sondern nur Daten.
- Nachteile: Der größte Nachteil der Harvard-Architektur ist, dass freier Programmspeicher kann nicht für Daten genutzt werden kann bzw. freier Datenspeicher nicht für Programme genutzt werden kann.
von-Neumann Architektur:
- Vorteile: Der größte Vorteil ist, dass nur ein Bus bzw. Speicher für Befehle und Daten vorhanden ist und somit flexible Aufteilung des Speichers zwischen Programmen und Daten möglich ist.
- Nachteile: Das Verbindungssystem (Daten und Befehlsbus) in der von-Neumann Arichtektur kann zum Engpass zwischen Steuerwerk und Rechenwerk führen (sog. von-Neumann Flaschenhals). Daneben laufen nun Programm und Daten über einen Bus und verlangsamt so die Programmusführung. Ein weiterer Nachteil ist, dass bei gemeinsamer Speicherung Programme und Daten nicht unterscheidbar sind, d.h. bei falscher Adressierung können Speicherinhalte verändert werden, die nicht geändert werden dürfen (z.B. Programme werden durch Daten überschrieben).