Information Technology Reference
In-Depth Information
muss. In vielen Prozessorarchitekturen wird deshalb die direkte Adressierung nicht
ausgerichteter Einheiten verboten und der für den Verschnitt erforderliche Speicher-
mehrbedarf als Verlust in Kauf genommen. Bemerkenswert ist, dass dieses Verbot
auch Zugriffe auf nicht ausgerichtete Einheiten betrifft, die sich mit derselben Effi-
ziens wie Zugriffe auf ausgerichtete Einheiten durchführen lassen. So sind z.B. für
das Lesen oder Schreiben der in Bild 1.9 dargestellten ausgerichteten und nicht aus-
gerichteten Langworte immer zwei Schritte notwendig.
Trotzdem ist es von Vorteil, den Zugriff auf nicht ausgerichtete Langworte grund-
sätzlich zu verbieten. Falls man nämlich mit fortschreitender Technik den Datenbus
eines Prozessors von 32 auf 64 Bit Breite vergrößert, und zwar unter Wahrung der
Kompatibilität (d.h. existierende Programme können weiterhin ausgeführt werden),
wäre es notwendig, Zugriffe auf nicht ausgerichtete Langworte zu ermöglichen,
wenn diese nicht bereits in allen denkbaren Ausprägungen für den Prozessor mit 32-
Bit-Datenbus explizit verboten worden wären. Merkmale die vorgesehen werden
und sich erst in Zukunft positiv auswirken, bezeichnet man als skalierbar .
Es gibt einen zweiten Grund dafür, weshalb es von Vorteil ist, Zugriffe auf nicht
ausgerichtete Langworte zu verbieten: Adressräume werden nämlich oft in Seiten
verwaltet, deren einheitliche Größe eine Potenz von Zwei ist (siehe Abschnitt 2.3.2).
Langworte, die ausgerichtet sind, liegen vollständig innerhalb einer solchen Seite,
weshalb auf sie einfacher zugegriffen werden kann, als auf Langworte die nicht aus-
gerichtet sind und die dabei zwei benachbarte Seiten kreuzen. Zum Abschluss sei
darauf hingewiesen, dass man aus denselben Gründen auch den Zugriff auf nicht
ausgerichtete Halbworte, die im Prinzip in einem Schritt zugreifbar wären, verbietet.
1.2.3 Adressierungsarten
In einer Adressierungsart ist definiert, wie die im Befehl codierten Parameter zu
interpretieren sind, um Speicherraum und effektive Adresse eines Zugriffs zu extra-
hieren. Die Menge der erlaubten Adressierungsarten ist u.a. davon abhängig, auf
welche Speicherräume zugegriffen werden kann. Hauptsächlich sind die Adressie-
rungsarten jedoch auf die Problemstellungen abgestimmt, die ein Prozessor norma-
lerweise bearbeitet. Wegen der angestrebten Allgemeinverwendbarkeit stehen des-
halb die wichtigsten Adressierungsarten in nahezu allen herkömmlichen Prozesso-
ren zur Verfügung. Hierzu gehören die unmittelbare Adressierung zur Verarbeitung
von im Befehl codierten konstanten Werten, die direkte Adressierung für Zugriffe
auf Daten oder Befehle, mit einer im Befehl codierten konstanten effektiven
Adresse und die indirekte Adressierung für Zugriffe auf Daten oder Befehle, mit
einer effektiven Adresse, die dynamisch, d.h. zur Laufzeit erzeugt wird. Andere
Adressierungsarten können nachgebildet werden, indem eine beliebige Adresse
zunächst programmiert berechnet und auf die entsprechende Speicherzelle anschlie-
ßend indirekt zugegriffen wird 1 .
Zur Vereinfachung verfügen viele Prozessoren über indirekte Adressierungsarten,
bei deren Interpretation häufig benötigte Adressberechnungen implizit ausgeführt
werden. Das Ergebnis dieser Adressberechnungen wird oft ausschließlich für den
Search WWH ::




Custom Search