Zurück zum Inhaltsverzeichnis

Von Neumann Operationsprinzip

Rechner, deren physische Komponenten nach der von Neumann Struktur zusammengesetzt sind, funktionieren nach dem von Neumann Prinzip.

Datenstruktur: von Neumann Variable

Bei der von Neumann Maschine nehmen die Zellen des Arbeitsspeichers das Programm und auch die Daten auf. Daher gibt es beim von Neumann Operationsprinzip lediglich eine Struktur der Daten, die von Neumann Variable, mit den beiden Komponenten:
  • Identifikator; dieser ist eine Adresse, die eine Speicherzelle eindeutig identifiziert.

  • Wert, der dem Inhalt der Speicherzelle entspricht. Dieser Wert ist eine unstrukturierte Bitkette.

Zwei Phasen Schema

Die wesentliche Aufgabe eines Computers ist, gespeicherte Informationen, d.h. Daten, zu verarbeiten.

Diese Verarbeitung wird beim von Neumann Rechner vom Steuerwerk nach einem strengen sequentiellen zwei Phasen Schema vorgenommen:
  • Interpretationsphase (fech-phase): Maschinenbefehl (aus dem Speicher) holen.
  • Ausführungsphase (execution-phase): Maschinenbefehl (auf dem Prozessor) ausführen.
Die Maschinenbefehle setzen sich dabei zusammen aus dem Operationscode (Operationsteil) und keinem, einem oder zwei Operanden.


Man sagt hier: der Operationscode ist vom Datentyp Befehl und der (Direkt-)Operand vom Datentyp Datum.

Da aber nicht nur Direktoperanden erlaubt sind, sondern auch Adressangaben, d.h. Verweise auf Speicherzellen, gibt es auch den Datentyp Adresse. Eine Operation wird beim Datentyp Adresse auf den Inhalt der Speicherzelle(n) ausgeführt (vgl. das Beipiel Additionsoperation).

Eine von Neumann Maschine besitzt also drei verschiedene Maschinen-Datentypen, mit denen sie operiert:
  • Befehl
  • Datum
  • Adresse
Bei modernen Rechnern dauert die fech-phase, also das Holen der Daten aus dem Speicher, erheblich länger als die Ausführung des Befehls. Dies wird als der von Neumann Flaschenhals bezeichnet.


Die Datenstruktur der von Neumann Variable besitzt den Datentyp nicht explizit, da es durch das feste Operationsprinzip der von Neumann Maschine klar wird, um welchen Typ es sich handelt. Der Wert der von Neumann Variable wird also unterschiedlich als Befehl, Datum oder Adresse interpretiert.
Hierfür besitzt das Steuerwerk zwei Zustände:
  • Befehlszustand für Befehle
  • Datumszustand für Daten und Adressen
Je nach Zustand werden unterschiedliche Arbeitsschritte im Rechner ausgeführt. Dabei gibt es spezielle Register auf dem Steuerwerk.

Befehlszustand

Das Programm, d.h. eine Abfolge von Befehlen, steht im Arbeitsspeicher, wobei diese in der Regel hintereinander ausgeführt werden ( implizite Sequentialität). An welcher Speicherstelle des Programms sich der Rechner befindet, ist in einem Register, dem Befehlszähler, vermerkt.

Im Befehlszustand wird der Inhalt der von Neumann Variable als Befehl interpretiert und die folgenden beiden Arbeitsschritte ausgeführt:
  • In der Holphase wird der Befehl aus dem Speicher geholt und in ein Register, das sogenannte Befehlsregister, geladen. Danach wird der Befehlszähler um eins erhöht oder bei einem expliziten Sprungbefehl auf die im Befehl stehende Sprungzieladresse gesetzt.
  • Die Startphase bewirkt den Start der Befehlsausführung. Anschließend geht das Steuerwerk in den Datumszustand über.

Datumszustand

Im Datumszustand werden die Werte der von Neumann Variable als Datum oder Adresse interpretiert. Die Unterscheidung zwischen diesen beiden Typen hängt von dem vorangegangenen Befehl ab. Der Datumszustand entspricht der Ausführung des Befehls. Dabei werden folgende Arbeitsschritte durchgeführt:
  • In der Holphase wird die reale Adresse der Daten (Adressen) berechnet. Diese werden dann vom Arbeitsspeicher in Datenregister oder Adressregister abgelegt.
  • In der Verarbeitungsphase wird das Datum verarbeitet bzw. die Adresse verändert. Bei der Verarbeitung eines Datums wird noch unterschieden, ob es sich um ein binär codiertes Zeichen oder um eine Dualzahl handelt (vgl. Informationsdarstellung). Die Verarbeitung der Dualzahlen wird weiter in Gleitpunkt- und Ganzzahlarithmetik unterteilt.
  • Ablagephase Die geänderten Daten oder Adressen werden von den Datenregister bzw. Adressregister in den Arbeitsspeicher geschrieben.
Nach Beendigung des Datumszustands wird wieder in den Befehlszustand gewechselt. Es erfolgt also ein ständiger Wechsel zwischen den beiden Zuständen:
Befehlszustand, Datumszustand, Befehlszustand, Datumszustand, Befehlszustand, Datumszustand ...

Dabei wird immer mit dem Befehlszustand begonnen. Dies entspricht dem oben erwähnten Zwei Phasen Schema .

Befehlssatz

Die Befehle lassen sich grob in folgende vier Klassen einteilen:
  • Verarbeitungsbefehle
    • Arithmetische und logische Befehle
    • Schiebebefehle
    • Vergleichbefehle
  • Transportbefehle
    • Externer Datentransport (E/A System, Arbeitsspeicher)
    • Externer Datentransport (Register - Register)
  • Sprungbefehle. Diese dienen dazu in Abhängigkeit von Werten den linearen Kontrollfluss des Programs zu verlassen.
  • Systembefehle. Beipiel: Unterbrechungsbearbeitung, Speicherverwaltung




Zurück zum Inhaltsverzeichnis

Home Klick hier!



Copyright (C) 2005 Christian Herta. Alle Rechte vorbehalten! All rights reserved!