Wissen Finden
auf Improve WiFi


Registermaschinen: 

Ähnlich wie Automaten modellieren auch Registermaschinen die Funktionsweise und Möglichkeiten eines Computers, nur dass eine Registermaschine deutlich mehr Möglichkeiten bietet und näher an der realen Hardware eines Computers bestehend aus Prozessor und Speicher ist.

  • Registermaschinen werden hauptsächlich dazu verwendet, die Verarbeitung von Algorithmen zu modellieren.
  • Algorithmen sind Befehlsketten welche in Abhängigkeit zu Eingabeparametern versuchen Probleme zu lösen. Diese Probleme sind in der Regel mathematische formuliert.
  • Eine Registermaschine basiert auf einem Register (besser gesagt mehreren Registern) und einem Programm. 

Registerarten:

Insgesamt kann man Register in 3 Arten unterteilen.


  • Befehlszähler
  • Arbeitsregister 
  • Speicherregister


Wie der Name schon verlauten lässt, zählt der Befehlsregister die Anzahl der Befehle.

Im Arbeitsregister werden Zwischenschritte einer Rechnung bzw. das Ergebnis der aktuellen Rechnung gespeichert.

Im Speicherregister werden Startwerte, Zwischenergebnisse und Endergebnisse gespeichert.

Zur Stelle im Video

--> Dabei sind unendlich viele Speicherregister möglich. 


Funktionsweise von Registermaschinen:

Registermaschinen können 3 verschiedene Kategorien von Befehlen entgegennehmen:


Die erste Befehlsart umfasst Eingabe- und Ausgabebefehle – konkret gemeint ist, dass man eine Eingabe wie Load, Cloud oder Store für einen Zahlenwert vornimmt und so Zahlenwerte aus dem Speicherregister oder als externe Konstanten in das Arbeitsregister lädt oder im Speicherregister speichert.

Die zweite Befehlskategorie sind die Arithmetischen Operatoren, welche dazu dienen, verschiedene Zahlenwerte miteinander zu Verknüpfen, Terme zu erstellen und schlussendlich auch zu berechnen.

Die letzte und dritte Befehlskategorie sind die Sprungbefehle. Ein Programm ist eine Abfolge von Befehlen. Mittels implementierte Sprungbefehle im Programm kann die Registermaschine im Programm abhängig von den Eingaben und Konfigurationen hin und herspringen, um so unnötige Befehle zu überspringen. 


Befehle und Konfigurationen:

Befehle führen dazu, dass eine Ausgangskonfiguration durch einen Befehl und dessen Ausführung in eine neue Konfiguration wechseln.

Ähnlich wie die Übergangsfunktion bei deterministischen endlichen Automaten bei gegebenen Zustand und Eingabe den neuen Zustand deterministisch determiniert, d.h. nur eine Möglichkeit für einen neuen Zustand zulässt, so sind auch die Befehle einer Registermaschine deterministisch. 

Bei gegebenen Zahlenwert und Stelle im Programm, d.h. bei gegebener Konfiguration, gibt ein Befehl deterministisch vor, wie die Konfiguration sich durch den Befehl im Verbund mit dem adressierten Zahlenwert verändert.

Stelle im Video



Eine Konfiguration ist eine Darstellungsweise für die in den 3 verschiedenen Arten von Registern gespeicherten Zahlenwerten, sprich dem Befehlsregister, dem Arbeitsregister und dem Speicherregister.

Allgemein schreiben wir für den Wert im Befehlsregister klein b, für den Wert im Arbeitsregister Co und für die theoretisch unendlich vielen Speicherregister C1…Cn, wobei n logischerweise eine natürliche Zahl sein muss.




https://youtu.be/3K81izqXNog?t=742