2.3.2 Basisregister

Das Basisregister (engl. base register) ist ein spezielles Register auf der CPU. Es wurde in früheren Rechnern eingesetzt, da damit (unter anderem) zwei Probleme sehr einfach gelöst werden konnten. (In heutigen Rechnern findet es üblicherweise keinen Einsatz mehr, es wurde durch die MMU abgelöst.)

Bei den beiden erwähnten Problemen handelt es sich um:

  • Wie können mehrere Prozesse gleichzeitig im Hauptspeicher platziert werden?
  • Wie können Prozesse temporär aus dem Hauptspeicher ausgelagert werden? (Üblicherweise geschieht die Auslagerung auf die Festplatte, von der sie zu einem späteren Zeitpunkt wieder eingelagert werden.)

Beide Fälle werden auf den kommenden Seiten ausführlich erläutert, zunächst jedoch ein wenig Information vorab.


Definition: Basisregister

Definition

Das Basisregister befindet sich auf der CPU und enthält als Wert die Adresse der Speicherstelle mit dem ersten Befehl des aktiven Prozesses.

Solange sich nur ein einzelnes Programm im Hauptspeicher befindet, ist der Wert des Basisregisters gleich Null, denn ab Speicherstelle 0 beginnt das Programm. In den folgenden Unterkapiteln wird beschrieben, wie auch mehrere Programme gleichzeitig im Hauptspeicher Platz finden. In dieser Situation kann sich der Wert des Basisregisters ändern.


Indizierte Adressierung mit Verschiebung

Das Basisregister wird zur bereits bekannten indizierten Adressierung mit Verschiebung genutzt. Dabei wird diese Adressierungsart "versteckt" eingesetzt, d.h. per Definition werden die Operanden aller Befehle immer als Verschiebung betrachtet, bei der Befehlsausführung wird automatisch der Inhalt des Basisregisters hinzuaddiert. Eine Ausnahme bilden lediglich die unmittelbar adressierten Operanden, da diese keine Speicherzelle adressieren, sondern als konkrete Zahl (Konstante) interpretiert werden müssen.


Das Basisregister auf der CPU

Die folgende Abbildung zeigt die CPU mit dem neu eingeführten Basisregister. In vorangegangenen Bildern zur CPU war an dieser Stelle das Register R3 angesiedelt. Man kann sich gerne vorstellen, dass das Register R3 weiterhin auf der CPU existiert, nur eben aus Platzgründen nicht mehr eingezeichnet ist.

Cpu11-base.jpg