Speicheradresse

Speicheradresse

Speicheradressen werden beim Datenzugriff zur Identifikation eines Speicherorts auf einem Speichermedium verwendet, beispielsweise zur Benennung einer Speicherzelle in einem RAM (siehe Speicherzugriff) oder eines Blocks auf einer Festplatte.

Speicheradressen werden meist in hexadezimaler Schreibweise angegeben. Sie beginnen meist bei null und werden in der Regel fortlaufend durchnummeriert.

Man unterscheidet zwischen logischen und physischen Speicheradressen. Die logische Adresse ist die, die ein Programm „sieht“. Durch die Speicherverwaltung des Betriebssystems werden diese logischen Adressen auf physische Adressen abgebildet. Diese Abbildung ist im Allgemeinen für jeden Prozess unterschiedlich und für den Prozess transparent. Damit ist es möglich, dass mehrere Prozesse die gleichen logischen Adressen verwenden, aber dabei auf unterschiedliche physische Adressen zugreifen. Auch ist es möglich, einem Prozess mehr logischen Speicher zuzuteilen, als physisch vorhanden ist. Beim Zugriff auf die physisch nicht vorhandenen Speicherbereiche löst die CPU automatisch eine Ausnahme aus, welche vom Betriebssystem abgefangen wird. Das Betriebssystem kann dann zusätzlichen Speicher bereitstellen, in dem es beispielsweise andere Speicherbereiche auf die Festplatte auslagert. Diese Technik wird Virtuelle Speicherverwaltung genannt.

Bestimmte physische Adressbereiche können aber in mehreren Prozessen im logischen Adressraum eingeblendet werden. Diese Technik wird auch Shared Memory genannt und ist eine Form der Interprozesskommunikation.

Segmentierte Adressen

Eine Besonderheit stellen Adressen dar, die aus einer Basisadresse und einem Versatz in Form eines ganzzahligen Wertes – auch Offset genannt – gebildet werden. Um die tatsächliche Speicheradresse zu errechnen, wird der Versatz (Offset) zur Basisadresse addiert. So wird bei der Segmentierung im Real Mode der x86-Prozessorfamilie eine Speicherstelle nach dem Schema Segment:Offset angegeben. Zusätzlich zu der Segmentadresse (Segmentnummer * 16) wird der Offset addiert. Die echte Adresse lässt sich also mittels Adresse = (Segmentnummer·16) + Offset berechnen.

Im Protected Mode lässt sich die Startadresse des Segmentes aus dem Segment selector ermitteln. Zu dieser Segmentstartadresse wird dann der Offset addiert, um eine lineare logische Speicheradresse zu erhalten.

Siehe auch: Segmentierung (Speicherverwaltung)


Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Speicheradresse — atmintinės adresas statusas T sritis automatika atitikmenys: angl. memory address; storage address vok. Speicheradresse, f rus. адрес запоминающего устройства, m; адрес памяти, m; адрес ячейки памяти, m pranc. adresse de mémoire, f …   Automatikos terminų žodynas

  • MOS Technology 6502 — MOS 6502 Prozessor MOS 6510 Prozessor Der MOS Technology 6 …   Deutsch Wikipedia

  • Big-Endian — Die Byte Reihenfolge (engl.: Byte Order oder Endianness) bezeichnet die Speicherorganisation für einfache Zahlenwerte, in erster Linie die Ablage von ganzzahligen Werten (Integer) im Arbeitsspeicher. Eine Festlegung des zu verwendenden… …   Deutsch Wikipedia

  • Big-endian — Die Byte Reihenfolge (engl.: Byte Order oder Endianness) bezeichnet die Speicherorganisation für einfache Zahlenwerte, in erster Linie die Ablage von ganzzahligen Werten (Integer) im Arbeitsspeicher. Eine Festlegung des zu verwendenden… …   Deutsch Wikipedia

  • Big Endian — Die Byte Reihenfolge (engl.: Byte Order oder Endianness) bezeichnet die Speicherorganisation für einfache Zahlenwerte, in erster Linie die Ablage von ganzzahligen Werten (Integer) im Arbeitsspeicher. Eine Festlegung des zu verwendenden… …   Deutsch Wikipedia

  • Big endian — Die Byte Reihenfolge (engl.: Byte Order oder Endianness) bezeichnet die Speicherorganisation für einfache Zahlenwerte, in erster Linie die Ablage von ganzzahligen Werten (Integer) im Arbeitsspeicher. Eine Festlegung des zu verwendenden… …   Deutsch Wikipedia

  • Bitadressierung — Die Byte Reihenfolge (engl.: Byte Order oder Endianness) bezeichnet die Speicherorganisation für einfache Zahlenwerte, in erster Linie die Ablage von ganzzahligen Werten (Integer) im Arbeitsspeicher. Eine Festlegung des zu verwendenden… …   Deutsch Wikipedia

  • Byte-Order — Die Byte Reihenfolge (engl.: Byte Order oder Endianness) bezeichnet die Speicherorganisation für einfache Zahlenwerte, in erster Linie die Ablage von ganzzahligen Werten (Integer) im Arbeitsspeicher. Eine Festlegung des zu verwendenden… …   Deutsch Wikipedia

  • Byte Order — Die Byte Reihenfolge (engl.: Byte Order oder Endianness) bezeichnet die Speicherorganisation für einfache Zahlenwerte, in erster Linie die Ablage von ganzzahligen Werten (Integer) im Arbeitsspeicher. Eine Festlegung des zu verwendenden… …   Deutsch Wikipedia

  • Byte order — Die Byte Reihenfolge (engl.: Byte Order oder Endianness) bezeichnet die Speicherorganisation für einfache Zahlenwerte, in erster Linie die Ablage von ganzzahligen Werten (Integer) im Arbeitsspeicher. Eine Festlegung des zu verwendenden… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”