Information Technology Reference
In-Depth Information
Zugriff benötigt und daher nicht gespeichert. Für viele Anwendungen wäre eine
Speicherung jedoch vorteilhaft, z.B. wenn Adressen iterativ erzeugt werden müssen.
Deshalb bieten einige Prozessoren die Möglichkeit, das Ergebnis einer Adressbe-
rechnung als Seiteneffekt eines indirekten Zugriffs zu speichern. Hierbei werden
zwei Varianten unterschieden: Bei der sog. Prämodifikation (z.B. Prädekrementie-
rung oder Präindizierung ) wird zuerst die Adressberechnung durchgeführt, das
Ergebnis gespeichert und gleichzeitig als effektive Adresse für den indirekten
Zugriff verwendet, bei der sog. Postmodifikation (z.B. Postinkrementierung oder
Postindizierung ) wird ein vor dem Zugriff erzeugtes Ergebnis als effektive Adresse
für den indirekten Zugriff verwendet, anschließend die Adressberechnung durchge-
führt und das Ergebnis schließlich gespeichert.
Unmittelbare Adressierung (immediate addressing)
Hierbei ist im Befehl eine Konstante codiert, die unmittelbar als Operand verarbeitet
wird (Bild 1.10a). Da die Konstante Teil des Befehls ist, kann ihr der Befehlsspei-
cherraum und eine zur jeweiligen Befehlsadresse relative effektive Adresse zuge-
ordnet werden. Auf Konstanten kann naturgemäß nur lesend zugegriffen werden,
weshalb Ergebnisse nicht unmittelbar adressierbar sind. In seiner Wirkung sinnlos
ist die unmittelbare Adressierung eines Sprungziels, da hierbei der Befehl, zu dem
verzweigt wird, direkt im Sprungbefehl codiert sein und statt des Sprungs ausge-
führt werden müsste.
Direkte Adressierung (direct addressing)
Bei der direkten Adressierung ist die effektive Adresse für Zugriffe auf den Daten-
oder Befehlsadressraum direkt im Befehl codiert (Bild 1.10b). Damit auf den
gesamten Speicherraum zugegriffen werden kann, sind direkte Adressen i.Allg.
zwischen 16 und 64 Bit breit. Einige Prozessoren erlauben auch die Verwendung
direkter Adressen mit einer geringeren Anzahl von Bits, mit denen nicht auf den
gesamten, sondern nur auf einen kleinen Teil des Speicherraums zugegriffen werden
kann. Je geringer nämlich die Breite einer Adresse, umso weniger Speicherplatz
wird für den Befehl benötigt und umso mehr dieser Befehle können pro Zeiteinheit
über einen Bus begrenzter Breite transportiert werden.
In Sprungbefehlen wird die direkte Adressierung benutzt, um zu einer absoluten
Zieladresse im Befehlsspeicherraum zu verzweigen. Um das erwartete Ergebnis zu
erzielen, muss das in seiner Struktur meist starre Programm an einer zu allen direk-
ten Sprungzielen korrespondierenden effektiven Adressen beginnen und kann nicht
verschoben werden. Ein solches Programm wird als nicht relokatibel bezeichnet.
1. Die indirekte Adressierung lässt sich auch zur Nachbildung der direkten und unmittelbaren
Adressierung verwenden. Ein direkter Zugriff auf ein Datum oder Befehl ist nämlich nichts
anderes als ein indirekter Zugriff auf eine konstante Adresse. Des Weiteren ist die unmittelbare
Adressierung dadurch nachbildbar, dass alle benötigten Konstanten z.B. als Teil des Pro-
gramms codiert werden und darauf direkt oder indirekt zugegriffen wird.
Search WWH ::




Custom Search