Information Technology Reference
In-Depth Information
1.2.2 Ausrichtung (alignment)
Falls in einem byteweise organisierten Speicherraum auf Einheiten zugegriffen
wird, die breiter als ein Byte sind, ist die Anzahl der Schritte, die für den Zugriff
benötigt werden davon abhängig, wie viele Bytes unter einer gemeinsamen effekti-
ven Eintragsadresse parallel gelesen oder geschrieben werden können. Da die
Anzahl der maximal parallel zugreifbaren Bytes nur von der Breite des i.Allg. ein-
zelnen Datenbusses abhängt, kann immer dann auf eine Einheit in einem Schritt
zugegriffen werden, wenn sie vollständig in den parallel adressierten Bytes enthal-
ten ist. Diese Bedingung ist erfüllt, wenn die Einheit, auf die zugegriffen werden
soll, ausgerichtet ( aligned ) ist, d.h. ihre effektive Adresse dem ganzen vielfachen
ihrer Breite entspricht.
Demnach darf eine Einheit als nicht ausgerichtet ( misaligned ) bezeichnet werden,
wenn ihre effektive Adresse nicht dem ganzen Vielfachen ihrer Breite entspricht. In
Bild 1.9 sind einige Beispiele für ausgerichtete und nicht ausgerichtete 16- (Halb-
wort), 32- (Wort) und 64-Bit-Einheiten (Langwort) dargestellt, und zwar für einen
Speicher, der in einem byteweise organisierten Speicherraum liegt, auf den aber
über einen 32-Bit-Datenbus zugegriffen werden kann.
Ausgerichtete Daten (Aligned data)
Adresszählung (linksbezogen)
Adresszählung (rechtsbezogen)
Adresse = 8
n
Langwort
Wort
Halbworte
31
0
31
0
Nicht ausgerichtete Daten (misaligned data)
Adresszählung (linksbezogen)
Adresszählung (rechtsbezogen)
Adresse = 8
n
Langwort
Wort
Halbworte
31
0
31
0
Bild 1.9. Ausgerichtete (oben) und nicht ausgerichtete 16-, 32- und 64-Bit-Daten (unten) in einem
Speicher der byteadressierbar und über einen 32-Bit-Bus angebunden ist. Dargestellt ist die Aus-
richtung der Daten für linksbezogene und rechtsbezogene Byteordnung
Soll der Speicher lückenlos genutzt werden, muss es möglich sein, auf ausgerichtete
und nicht ausgerichtete Einheiten gleichermaßen zuzugreifen, wobei das Lesen oder
Schreiben nicht ausgerichteter Einheiten oftmals langsamer erfolgt als das auf aus-
gerichtete Einheiten. Außerdem ist der Realisierungsaufwand größer, wenn zusätz-
lich zu ausgerichteten auch auf nicht ausgerichtete Einheiten zugegriffen werden
Search WWH ::




Custom Search