Inhaltsverzeichnis

Theoretische Registermaschine

Eine Registermaschine ist ein abstraktes Modell der theoretischen Informatik, das genutzt wird, um den Begriff der Berechenbarkeit zu definieren.

Eine Registermaschine besteht aus

  • einem Programm bestehend aus endlich vielen durchnummerierten Befehlen,
  • unendlich vielen durchnummerierten Speicherzellen, den Registern und
  • einem Befehlszähler, in dem die Nummer des nächsten auszuführenden Befehls gespeichert ist.

Jedes Register kann eine beliebig große natürliche Zahl speichern.

Die Registermaschine besitzt folgenden Befehlssatz:

Befehl Bedeutung
Increase Register i and jump to p Erhöht den Wert des Registers i um 1 und lädt dann die Adresse p in den Befehlszähler
Decrease Register i and jump to p Vermindert den Wert des Registers i um 1 (nur falls Wert von i > 0) und lädt dann die Adresse p in den Befehlszähler
if Value of i == 0 then jump to p else jump to q Falls der Wert des Registers i den Wert 0 hat, lade p in den Befehlszähler, ansonsten lade q in den Befehlszähler

Reale Registermaschine

Reale Computer sind auch Registermaschinen, aber in etwas anderer technischer Form. Sie bestehen

  • aus einem einzigen Register, dem Akkumulator,
  • dem Befehlszähler, der die Adresse des nächsten Befehls enthält,
  • dem Befehlsregister, das den aktuellen Befehl enthält,
  • dem Statusregister, dessen Bits entsprechend dem Ergebnis des letzten Rechenergebnisses gesetzt sind.

Der Akkumulator kann auf vielseitige Weise benutzt werden. Es existieren Befehle, um

  • Daten vom Arbeitsspeicher in den Akkumulator zu laden ("lesen"),
  • Daten vom Akkumulator in den Arbeitsspeicher zu schreiben,
  • Rechenoperationen mit dem Akkumulator auszuführen und
  • Logikoperationen mit dem Akkumulator auszuführen.

Befehlszyklus

FIXME (Kommt noch)