434
C Seitenadressierung und Speicherverwaltungseinheiten
physikalischer
Adressraum
Adressraum
virtueller
Seitentabelle
frame
Offset
reale Adresse
Offset
Seite
virtuelle Adresse
......
......
Abb. C.1 Seitenadressierung: links: Adressberechnung; rechts: Abbildung der Adressräume
muss beim Prozesswechsel jeweils dafür gesorgt werden, dass ein Verweis auf die
relevante Seitentabelle gesetzt wird. Die Abbildung von virtuellen Adressen auf reale Adressen wird typischerweise durch eine spezielle Speicherverwaltungseinheit
(engl. Memory Management Unit (MMU)) unterstützt. Die MMU befindet sich zwischen den Prozessoren und dem Speicher. Sie übersetzt virtuelle Adressen in reale
Adressen. Für ihre Arbeit benötigt die MMU die Kenntnis der jeweils relevanten
Seitentabelle. Die Seitentabellen können groß werden und daher können spezialisierte schnelle und kleine Puffer für diese Tabellen erforderlich werden. Solche
Puffer nennt man Translation Look-aside Buffers (TLB) oder Address Translation
Memories (ATM). Für häufig benutzte Seitennummern sollen TLBs die benötigten
Adressumrechnungs-Informationen enthalten.
Für PCs wird der beschriebene Ansatz häufig mit demand paging kombiniert.
Hier müssen sich nicht alle benötigten Seiten auch im Hauptspeicher befinden. Wird
auf eine Seite zugegriffen, die sich nicht im Hauptspeicher befindet, spricht man
von einem Seitenfehler (engl. page fault). In einem solchen Fall muss die benötigte
Information von einem langsameren Hintergrundspeicher nachgeladen werden. Der
Begriff paging wird häufig mit demand paging gleichgesetzt. Allerdings ist es für
eingebettete Systeme wichtig, zwischen der reinen Partitionierung von Adressbereichen in Seiten und Seitenrahmen sowie dem automatischen Nachladen von einem
Hintergrundspeicher zu unterscheiden. Paging ist auch für den Speicherschutz nützlich. Seitentabellen enthalten häufig auch Informationen über Zugriffsrechte für den
jeweiligen Eintrag. So können wir zwischen Lese-, Schreib- und Ausführungsberechtigungen unterscheiden. Damit ist es möglich, die Adressbereiche zu schützen,
beispielsweise indem einem Prozess nur Leserechte eingeräumt werden. So können fehlerhafte, kompromittierende und/oder sicherheitskritische Zugriffe vermieden werden. Der zweite Aspekt wird beim Internet der Dinge zunehmend wichtig.
Weitere Informationen zur Speicherverwaltung können in Büchern zur Rechnerarchitektur (siehe z.B. Hennessy et al. [212]) nachgelesen werden
C Seitenadressierung und Speicherverwaltungseinheiten
physikalischer
Adressraum
Adressraum
virtueller
Seitentabelle
frame
Offset
reale Adresse
Offset
Seite
virtuelle Adresse
......
......
Abb. C.1 Seitenadressierung: links: Adressberechnung; rechts: Abbildung der Adressräume
muss beim Prozesswechsel jeweils dafür gesorgt werden, dass ein Verweis auf die
relevante Seitentabelle gesetzt wird. Die Abbildung von virtuellen Adressen auf reale Adressen wird typischerweise durch eine spezielle Speicherverwaltungseinheit
(engl. Memory Management Unit (MMU)) unterstützt. Die MMU befindet sich zwischen den Prozessoren und dem Speicher. Sie übersetzt virtuelle Adressen in reale
Adressen. Für ihre Arbeit benötigt die MMU die Kenntnis der jeweils relevanten
Seitentabelle. Die Seitentabellen können groß werden und daher können spezialisierte schnelle und kleine Puffer für diese Tabellen erforderlich werden. Solche
Puffer nennt man Translation Look-aside Buffers (TLB) oder Address Translation
Memories (ATM). Für häufig benutzte Seitennummern sollen TLBs die benötigten
Adressumrechnungs-Informationen enthalten.
Für PCs wird der beschriebene Ansatz häufig mit demand paging kombiniert.
Hier müssen sich nicht alle benötigten Seiten auch im Hauptspeicher befinden. Wird
auf eine Seite zugegriffen, die sich nicht im Hauptspeicher befindet, spricht man
von einem Seitenfehler (engl. page fault). In einem solchen Fall muss die benötigte
Information von einem langsameren Hintergrundspeicher nachgeladen werden. Der
Begriff paging wird häufig mit demand paging gleichgesetzt. Allerdings ist es für
eingebettete Systeme wichtig, zwischen der reinen Partitionierung von Adressbereichen in Seiten und Seitenrahmen sowie dem automatischen Nachladen von einem
Hintergrundspeicher zu unterscheiden. Paging ist auch für den Speicherschutz nützlich. Seitentabellen enthalten häufig auch Informationen über Zugriffsrechte für den
jeweiligen Eintrag. So können wir zwischen Lese-, Schreib- und Ausführungsberechtigungen unterscheiden. Damit ist es möglich, die Adressbereiche zu schützen,
beispielsweise indem einem Prozess nur Leserechte eingeräumt werden. So können fehlerhafte, kompromittierende und/oder sicherheitskritische Zugriffe vermieden werden. Der zweite Aspekt wird beim Internet der Dinge zunehmend wichtig.
Weitere Informationen zur Speicherverwaltung können in Büchern zur Rechnerarchitektur (siehe z.B. Hennessy et al. [212]) nachgelesen werden
