[vorheriger Abschnitt][nächster Abschnitt][Inhalt]


4.1 Adressierungsarten

Sobald ein Rechner während der Ausführung eines Maschinenbefehls laden oder speichern soll, muß er gleich Antworten auf zwei Fragen finden: „Woher?" und „Wohin?".
Wie wir in 3 Der Von-Neumann-Rechner gesehen haben, können Quell- und Zielort sowohl eine Zelle eines RAMs als auch ein Register sein (mit Ein-/Ausgabe über die Grenzen des VNR-Modells hinaus befaßt sich 4.2 Prinzipien der Ein-/Ausgabe). Für die Auswahl aus den Zellen eines RAMs benötigt man eine Adresse, ein Binärwort also. Ebenfalls ein Binärwort benötigt man zur Auswahl zwischen mehreren Allzweckregistern – praktisch jeder real-existente Prozessor besitzt mehr Register als nur den Akkumulator des VNR-Konzeptes. Dieses Binärwort wird im Steuerwerk zu einer Belegung der oe- und we-Leitungen aller Allzweckregister decodiert, so daß genau das gewünschte Register auf Schreiben oder Lesen eingestellt wird. Da wir oben gesehen haben, daß ein RAM nichts anderes als n Register mit einer Auswahllogik vermittels oe und we ist (wiewohl einerseits meistens platzsparender zu realisieren als n Register und somit preisgünstiger, andererseits aber auch langsamer), darf auch ein Binärwort zur Registerauswahl als Adresse bezeichnet werden.
Wenn man nun, in einem konkreten Rechner, beide Arten von Adressen auf die gleiche Länge bringt, indem man die kürzere von beiden mit Nullen auffüllt, kann man diese Adresse um ein weiteres Bit für die Auswahl „RAM oder Register?" ergänzen. Damit darf man die Fragen „Woher?" und „Wohin?" allgemeingültig als Probleme der Adressierung bezeichnen.
Das ändert sich auch nicht, wenn man sich daran erinnert, daß der VNR auch einen Fall kennt, in dem ein Quellwert direkt aus dem Befehlsregister stammt (LDA absolut). Man braucht lediglich eine be-stimmte Adresse für diesen Fall zu reservieren, das Steuerwerk sorgt bei Anliegen dieser Adresse für das Treiben des Datenbusses durch das niederwertige Byte etc. des Befehlsregisters.
Das folgende Applet zeigt die Varianten, die der ehemals verbreitete Motorola 68000 allein für den Fall kennt, einen Wert in ein Register laden zu sollen.


Hier sollte die Ausgabe des Java-Applets &Adressierungsarten& erscheinen. Wenn Sie statt dessen diesen Text sehen, unterst&tzt ihr Browser kein Java!


[vorheriger Abschnitt][nächster Abschnitt][Inhalt] Carsten Kelling 1996 ([EMail senden]); letzte Änderung: 17. September 1997