 |
Richard-Wossidlo-Gymnasium
Ribnitz-Damgarten
Fachbereich Informatik |
John-von-Neumann-Architektur
Analyse von Rechnern
Vergleicht man Rechenmaschinen
miteinander, wie etwa Abakus,
mechanischer Additionsapparat, Taschenrechner, LC-80, Z1013
und PC, so findet man erst im Computer die Maschine, die eine
Vielzahl unterschiedlicher Probleme lösen kann. Die Problemlösung wird
mit Hilfe von Programmen oder Algorithmen möglich. Dazu sind
dem elektronisch arbeitenden Gerät Daten und Programm in den Speicher
einzugeben, die wiederum binär codiert sein müssen. Diese Tatsachen
sind uns so alltäglich geworden, dass wir nicht mehr groß
darüber nachdenken müssen. In der Anfangszeit der Computer war das aber
noch ganz anders.
von-Neumann-Prinzipien
1945 stellte der in die USA ausgewanderte Ungar John von Neumann
in
First Draft of a report on the EDVAC das
Konzept für einen universellen, speicherprogrammierbaren Rechner
vor. Dieses Konzept schlägt sich auch heute noch in den
modernen Computern nieder.
Demnach gelten folgende Prinzipien
(Quelle: Duden Informatik):
- Ein elektronisch
arbeitender Rechner besteht stets aus:
- dem
Rechenwerk
(ALU - Arithmetic Logic Unit)
führt Rechenoperationen und
logische Verknüpfungen durch - dem Steuerwerk (Control
Unit)
interpretiert die Anweisungen eines Programms und
steuert die Befehlsabfolge - dem Speicherwerk (Memory)
speichert
sowohl Programme als auch Daten, die für das Rechenwerk zugänglich
sind - dem Eingabe-/Ausgabewerk (I/O Unit)
steuert
die Ein- und Ausgabe von Daten zum Anwender (Tastatur, Bildschirm)
oder zu anderen Systemen (Schnittstellen) - dem Verbindungssystem (BUS
- Bidirectional Universal Switch)
verbindet die Komponenten des Rechners
untereinander

- Ein
Rechner ist universell einsetzbar und löst eine Vielzahl
von Problemen. Dazu ist dem Gerät von außen ein Programm in
den Speicher einzugeben.
- Im Speicher liegen
Programme, Daten und Ergebnisse.
- Der Speicher
besteht aus gleichgroßen, fortlaufend
numerierten Zellen. Über die Nummer (Adresse) läßt
sich die Speicherzelle direkt lesen oder schreiben.
- Ein
Programm ist eine Folge von Anweisungen, das entsprechend
seiner Abarbeitungsfolge hintereinander im Speicher steht. Sprungbefehle
erlauben Abweichungen von der sequentiellen Abarbeitung
der Befehle.
- Es gibt mindestens
- arithmetische Befehle
für
Addition, Multiplikation, Konstanten laden, ... - logische Befehle
für
Vergleiche, sowie logisches not, and, or, .... - Transportbefehle
für
Bewegungen von Daten zwischen Speicherwerk und Rechenwerk sowie zur
Ein- und Ausgabe - bedingte Sprünge
für
die Implementierung von Wiederholungen und Bedingungen - sonstige Befehle
für
Bitschieben, Unterbrechen, Warten, ...
- Alle
Daten werden binär codiert. Dem Inhalt einer Speicherzelle kann man
nicht ansehen, ob es sich um einen Befehl, ein Datum oder eine Adresse
handelt.

Befehlsabarbeitung
Befehle
werden nach ihrer Länge
unterschieden. So gibt es z. B. in 8-Bit-CPUs 1-, 2-, 3- und 4-Byte-Befehle.
Diese bestehen stets aus einem Operationsteil der festlegt, was mit
welchen Daten zu tun ist und ggf. aus ein oder zwei Operanden.
Die Befehlsabarbeitung geschieht in
drei Phasen:
- Befehlsholphase
Laden eines Befehls aus dem Speicher
in das Steuerwerk - Dekodierphase
Interpretation des Befehl im Steuerwerk
- Ausführungsphase
Ausführung des Befehls
In der Literatur wird ggf.
zwischen der Dekodier- und Ausführungsphase eine weitere Phase eingebracht.
Diese Operandenholephase dient dem Nachladen notwendiger Operanden.
Quellen: