Register (im Prozessor)        zurück ]      [ Stichworte ]      [ Die Hyper-Bibliothek ]      [ Systemtheorie ]         [ Meine Bücher ]
bildbildHomonyme: siehe Register
bildVerzeichnis, Aktenordnerunterteilungen, Speichertyp (im Prozessor)

 
bild

Vorbemerkungen
Als Register bezeichne ich auch "Speicher" innerhalb eines Prozessors. Der eigentliche Rechner im Prozessor ist ein Halbaddierer, der zwei Eingangssignale in ein Ausgangssignal verwandelt (= compute, rechnen), was ich dann gegebenenfalls so deuten kann, dass 2 und 3 addiert und 5 ausgegeben wird. Nun ist die eine Frage, wie der Halbaddierer "rechnet" und die andere, woher er die Eingangssignale hat und wohin er das Ausgangssignal schickt. Ich bezeichne diese beiden Orte als "Signalspeicher" oder eben als Register.
Ein Register hilft mir, Daten zu finden. Im Prozessor findet der Rechner seine Daten im Register und das Ausgabegerät findet seine Daten auch in einem Register. Register steht metaphorisch für "dort sind die Daten". Im Prozessor ist das Register invers, die Daten sind immer am gleichen Ort, aber situationsabhängig verschieden. Der Rechner sucht immer ein ganz bestimmtes Datum im Register. Das Register könnte also immer eine bestimmte Registerkarte aufschlagen - oder aber invers den entsprechenden Wert immer in das aufgeschlagene Register schreiben.

========= ============
 

Das Register im Prozessor besteht aus einer Menge von Schaltern, die als Wort (ein oder mehrere Bytes) ein Datum repäsentieren, welches mit der Recheneinheit in unmittelbarer Verbindung steht.

Anschaulich ist das noch bei den ersten Computern, die noch keinen Arbeitsspeicher im heutigen Sinne hatten. Sämtliche Daten und das Programm selbst waren auf anderen "Speichern", wie zum Beispiel Lochkarten abgelegt. Damit das Rechenwerk eine Operation ausführen konnte, mussten die Daten in "elektrische Schaltlogik" eingelesen werden, das heisst, die Daten mussten "elektrisch" repräsentiert werden - was eben in Registern geschieht.
Das Kartenlesegerät übersetzt die Lochkarte in Signale, die verrechnet werden.

Die eigentlichen Registern sind im Befehlscode des Rechenwerks hart codiert. Bei den meisten Architekturen sind folgende Spezialregistertypen anzutreffen:

Das Befehlszählregister enthält die Speicheradresse des derzeitigen oder des nächsten auszuführenden Befehls – ein Sprungbefehl setzt dieses Register einfach auf einen neuen Wert;
Das Befehlsregister enthält den aktuellen Befehl
Segmentregister, eine Spezialität der x86-Plattform, die die oberen 16 Bit einer 20-Bit-Adresse enthalten, ihr Inhalt muss also mit 16 multipliziert und dann zu einem segmentinternen Offset addiert werden, um den endgültigen Speicherplatz zu erreichen (auf diese Weise konnten mit reinen 16-Bit-Registerladebefehlen 20 Bit Adressraum abgedeckt werden, also 1 MB);
und andere

bild bild
Bildquelle: Wikipedia

 
[wp] [ ]