Information Technology Reference
In-Depth Information
Zugriffe auf den Daten- und Befehlsspeicherraum 2 32 Byte oder 4 GByte groß,
wobei als kleinste adressierbare Einheit das Byte verwendet wird 1 .
Oft ist es möglich, auf Daten und Befehle auch in Einheiten zuzugreifen, die breiter
als ein Byte sind, wobei die breiteren Einheiten durch Zusammenfassung einzelner
Bytes mit jeweils aufeinander folgenden Adressen gebildet werden. Die Art und
Weise des Zusammenfassens wird als Byteordnung ( byte ordering ) bezeichnet. Falls
die Bytes mit aufsteigenden Adressen von links nach rechts angeordnet werden,
wird dies als linksbezogene Byteordnung ( big endian byte ordering ) bezeichnet.
Falls umgekeht die Bytes mit aufsteigenden Adressen von rechts nach links ange-
ordnet werden, wird dies als rechtsbezogene Byteordnung ( little endian byte orde-
ring ) bezeichnet. Beide Anordnungen sind für die Einheiten 8, 16 und 32 Bit in Bild
1.7 dargestellt.
Linksbezogene Byteordnung
(big endian byte ordering)
N
8 Bit (Byte)
Adressraum
16 Bit (Halbwort)
N
N + 1
N
N + 1
N + 2
N + 3
32 Bit (Wort)
N
31
24
23
16
15
8
7
0
N + 1
N + 2
N + 3
Rechtsbezogene Byteordnung
(little endian byte ordering)
8 Bit (Byte)
N
N
N
7
0
16 Bit (Halbwort)
N + 1
N + 1
32 Bit (Wort)
N + 3
N + 2
31
24
23
16
15
8
7
0
Bild 1.7. Linksbündige und rechtsbündige Byteordnung für Einheiten der Breiten 8, 16 und 32 Bit
Links im Bild ist ein Ausschnitt aus einem Speicherraum gezeigt, in dem an Adresse
N das erste Byte eines maximal vier Byte breiten Datums oder Befehls gespeichert
ist. Wie die einzelnen Bytes bei einem Zugriff auf Einheiten der Breiten 8, 16 und
32 Bit anzuordnen sind, ist getrennt für die linksbezogene (oben) und rechtsbezo-
gene Byteordnung (unten) dargestellt. Die darin verwendete Adresszählung ent-
spricht jeweils der, die auch benutzt wird, wenn ein Speicherraum byteweise organi-
siert, die darin enthaltenen Komponenten jedoch über einen 16 oder 32 Bit breiten
Datenbus an den Prozessor angebunden sind.
Für einen Zugriff auf ein Byte muss die effektive Adresse zerlegt werden: Mit einem
Teil wird der 16 bzw. 32 Bit breite Eintrag adressiert, in dem das zu lesende oder zu
schreibende Byte enthalten ist (im Folgenden als Eintragsadresse bezeichnet). Mit
dem anderen Teil wird das Byte innerhalb des adressierten Eintrags ausgewählt (im
Folgenden als Byteindex bezeichnet). Falls in einem Eintrag W Bytes enthalten sind,
muss die effektive Adresse des Bytes durch W dividiert und der ganzzahlige Anteil
verwendet werden, um die Eintragsadresse zu erhalten. Der Byteindex ist gleich
dem Rest dieser ganzzahligen Division. Damit die Division einfach zu implementie-
ren ist, werden i.Allg. Datenbusse verwendet, deren Breiten, gemessen in Bytes,
1. Oft wird dies als Adressraumgröße bezeichnet. Da der Adressraum jedoch eine Wertemenge
möglicher Adressen ist, ist die Adressraumgröße gleich der Anzahl unterscheidbarer Adressen,
also z.B. 4G Adressen. Insbesondere spielt die Breite der adressierten Einheiten keine Rolle.
Search WWH ::




Custom Search