2.3.2 Basisregister

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
<p>
<p>
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.
Das {{#index:Basisregister}}'''Basisregister''' (engl. {{#index:base register}}'''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.
</p>
</p>


<p>
<p>
Bei den beiden erwähnten Problemen handelt es sich um:
Bei den beiden erwähnten Problemen handelt es sich um:
* Wie können mehrere Prozesse gleichzeitig im Hauptspeicher platziert werden?
* Wie können {{#index:mehrere Prozesse gleichzeitig im Hauptspeicher}}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.)
* Wie können Prozesse temporär aus dem Hauptspeicher {{#index:Prozess ausgelagern|auslagern, Prozess}}ausgelagert werden? (Üblicherweise geschieht die Auslagerung auf die {{#index:Festplatte, auslagern|Auslagern auf Festplatte}}Festplatte, von der sie zu einem späteren Zeitpunkt wieder {{#index:eingelagern, Prozess|Einlagern von Festplatte}}eingelagert werden.)
</p>
</p>


Zeile 16: Zeile 16:
<loop_area type="definition">'''Definition: Basisregister'''
<loop_area type="definition">'''Definition: Basisregister'''
<p>
<p>
Das Basisregister befindet sich auf der CPU und enhält als Wert die Adresse der Speicherstelle mit dem ersten Befehl des aktiven Prozesses.
Das Basisregister befindet sich auf der CPU und enhält als Wert die Adresse der Speicherstelle mit dem ersten Befehl des {{#index:aktiver Prozess<Prozess, aktiv}}aktiven Prozesses.
</p>
</p>
</loop_area>
</loop_area>
Zeile 26: Zeile 26:


<p>
<p>
Das Basisregister wird zur bereits bekannten [[Indizierte Adressierung mit Verschiebung|indizierten Adressierung mit Verschiebung]] genutzt. Dabei wird diese Adressierungsart "versteckt" eingesetzt, d.h. per Definition werden die Operanden aller Befehle immer als [[Indizierte Adressierung mit Verschiebung|Verschiebung]] betrachtet, bei der Befehlsausführung wird automatisch der Inhalt des Basisregisters hinzuaddiert. Eine Ausnahme bilden lediglich die [[Unmittelbare Adressierung|unmittelbar adressierten Operanden]], da diese keine Speicherzelle adressieren, sondern als konkrete Zahl (Konstante) interpretiert werden müssen.
Das Basisregister wird zur bereits bekannten {{#index:Indizierte Adressierung mit Verschiebung|Adressierung, indiziert mit Verschiebung}}[[Indizierte Adressierung mit Verschiebung|indizierten Adressierung mit Verschiebung]] genutzt. Dabei wird diese Adressierungsart "{{#index:versteckte Adressierung|Adressierung, versteckt}}versteckt" eingesetzt, d.h. per Definition werden die Operanden aller Befehle immer als [[Indizierte Adressierung mit Verschiebung|Verschiebung]] betrachtet, bei der Befehlsausführung wird automatisch der Inhalt des Basisregisters hinzuaddiert. Eine Ausnahme bilden lediglich die {{#index:Unmittelbare Adressierung|Adressierung, unmittelbar}}[[Unmittelbare Adressierung|unmittelbar adressierten Operanden]], da diese keine Speicherzelle adressieren, sondern als konkrete Zahl ({{#index:Konstante}}Konstante) interpretiert werden müssen.
</p>
</p>



Version vom 24. September 2013, 16:37 Uhr

Das {{#index:Basisregister}}Basisregister (engl. {{#index:base register}}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.

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

  • Wie können {{#index:mehrere Prozesse gleichzeitig im Hauptspeicher}}mehrere Prozesse gleichzeitig im Hauptspeicher platziert werden?
  • Wie können Prozesse temporär aus dem Hauptspeicher {{#index:Prozess ausgelagern|auslagern, Prozess}}ausgelagert werden? (Üblicherweise geschieht die Auslagerung auf die {{#index:Festplatte, auslagern|Auslagern auf Festplatte}}Festplatte, von der sie zu einem späteren Zeitpunkt wieder {{#index:eingelagern, Prozess|Einlagern von Festplatte}}eingelagert werden.)

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

Definition

Definition: Basisregister

Das Basisregister befindet sich auf der CPU und enhält als Wert die Adresse der Speicherstelle mit dem ersten Befehl des {{#index:aktiver Prozess<Prozess, aktiv}}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.

Das Basisregister wird zur bereits bekannten {{#index:Indizierte Adressierung mit Verschiebung|Adressierung, indiziert mit Verschiebung}}indizierten Adressierung mit Verschiebung genutzt. Dabei wird diese Adressierungsart "{{#index:versteckte Adressierung|Adressierung, versteckt}}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 {{#index:Unmittelbare Adressierung|Adressierung, unmittelbar}}unmittelbar adressierten Operanden, da diese keine Speicherzelle adressieren, sondern als konkrete Zahl ({{#index:Konstante}}Konstante) interpretiert werden müssen.

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



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png