Benutzer-Werkzeuge

Webseiten-Werkzeuge


rechner:registermaschine:start

Dies ist eine alte Version des Dokuments!


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.

Akkumulator, Befehlsregister, Befehlszähler, Statusregister, Befehlszyklus

rechner/registermaschine/start.1761670020.txt.gz · Zuletzt geändert: von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki