Information Technology Reference
In-Depth Information
besteht sogar die Möglichkeit, dass ein Prozessor, der auf Operanden doppelt indi-
rekt zugreifen kann, eine aufwendigere Struktur besitzt und daher langsamer arbei-
tet, als ein Prozessor der nur einfach indirekt auf Operanden zugreifen kann. Des-
halb werden komplizierte Adressierungsarten meist nicht vorgesehen, wenn sie
durch einfachere Adressierungsarten, ohne Nachteile für die Geschwindigkeit, mit
der ein Zugriff erfolgt, in ihrer Funktion nachgebildet werden können.
Natürlich sind beliebig komplizierte Adressierungsarten denkbar, die nicht ohne
Geschwindigkeitsnachteil durch die auf den letzten Seiten beschriebenen einfachen
Adressierungsarten nachgebildet werden können. Sie werden trotzdem gewöhnlich
nicht realisiert, weil man sie selten benötigt und von Hochsprachenübersetzern,
selbst wenn sie Verwendbar wären, oft nicht berücksichtigt würden. Dies gilt jedoch
nicht unbedingt für in Assembler programmierte Spezialanwendungen, in denen
Adressierungsarten vorteilhaft einsetzt werden können, die in Standardanwendun-
gen kaum von Bedeutung sind.
Zähler
Index
Index
0011 2
1100 2
1100 2
+
0001 2
0 100 2
RC+
1000 2
(gespiegelte Eins)
0010 2
0010 2
a
Übertrag
Bitmuster spiegeln
b
Übertrag
Bild 1.14. Reverse-Carry-Addition. Aus dem Index 1100 2 wird der Index 0011 2 . a Ein Zähler wird
inkrementiert und das Bitmuster des Ergebnisses gespiegelt. b Eine gespiegelte Eins wird addiert
und der Übertrag von rechts nach links weitergereicht
Ein Beispiel hierfür ist die sog. Reverse-Carry-Adressierung (auch Bit-Reverse-
Adressierung ) vieler Signalprozessoren, die sich speziell für die Fast-Fourier-
Transformationen ( FFT ) nutzen lässt. Auf eine Basisadresse wird ein Index addiert,
den man ermittelt, indem ein gedachter Zähler inkrementiert und das sich einstel-
lende Bitmuster gespiegelt verwendet wird. Tatsächlich ist der separate Zähler sogar
überflüssig, wenn der Index direkt modifiziert wird, und zwar durch Reverse-Carry-
Addition einer gespiegelten Eins. Dabei wird der Additionsübertrag jeder Stelle von
links nach rechts anstatt von rechts nach links wie bei einer herkömmlichen Addi-
tion weitergereicht (Bild 1.14). - Zum Abschluss sind in Tabelle 1.2 die in diesem
Abschnitt beschriebenen Adressierungsarten zusammen mit den im Folgenden ver-
wendeten Schreibweisen und einer kurzen Erläuterung aufgelistet.
Tabelle 1.2. Einige in Programmiermodellen oft realisierte Adressierungsarten
Adressierungsart
Schreibweise
Beschreibung
Unmittelbar
Number
Zugriff auf einen direkt im Befehl codierten Operan-
den.
Registerdirekt
R n
Zugriff auf den Inhalt des Registers R n
Direkt
[ Memory ]
Zugriff auf den Datenspeicherraum. Die effektive
Adresse Memory ist direkt codiert.
 
Search WWH ::




Custom Search