Speicherverwaltungseinheit

Speicherverwaltungseinheit

Bei der Memory Management Unit (MMU), auch Speicherverwaltungseinheit, handelt es sich um eine Funktionseinheit von Mikroprozessoren, die zum Zugriff auf den Arbeitsspeicher oder sonstige Hardware das Übersetzen von virtuellen Adressen in physische Adressen bewerkstelligt. Sie ermöglicht damit den Zugriff auf den gesamten virtuellen Adressraum, den ein Betriebssystem mit Hilfe der virtuellen Speicherverwaltung zur Verfügung stellt.

Die MMU dient der Abschottung von Prozessen voneinander und vom Betriebssystem, außerdem kann durch die MMU jedem Prozess ein einheitliches Speicherbild präsentiert werden. Dadurch ist der sichere Betrieb im Multitasking wesentlich einfacher, da mittels Hardware verhindert wird, dass ein Fehler in einem Prozess zu einem direkten Zugriff auf Daten eines anderen Prozesses oder des Betriebssystems führt.

MMUs waren ursprünglich als externe Zusatzkomponente für Mikroprozessoren konzipiert. Sie sind heute jedoch in die meisten Hochleistungsprozessoren integriert. Bei Verwendung einer Harvard-Architektur existieren sogar zwei verschiedene MMUs innerhalb des Prozessors – eine für den Befehls- und eine für den Datenspeicher. Anwendungen für eingebettete Prozessoren und Microcontroller können meist auf eine Adressübersetzung verzichten, dementsprechend beinhaltet der größte Teil der Prozessoren für diesen Einsatzbereich keine MMU.

Funktionsprinzip

Prinzipschaubild einer MMU

Jede durch einen Prozess angeforderte virtuelle Adresse wird zuerst durch die Memory Management Unit in eine physische Adresse umgerechnet, bevor sie auf den Adressbus geschrieben wird. Die MMU verfügt über spezielle Cache-Speicher, den Translation Lookaside Buffer, welcher jeweils die letzten Adressübersetzungen in Form einer Tabelle abspeichert. Darüber hinaus enthält die MMU spezielle schnelle Register (wie etwa für Basisadressen und Offsets), um die Adressberechnung so effizient wie möglich ausführen zu können. Man unterscheidet die möglichen Arten der Adressübersetzung (engl.: address translation) nach der Art der verwendeten Seitentabellen.

Ursprünglich gab es zwei Methoden der Adressumsetzung, die nach Segmenten (segmented MMU) und die nach Seiten (paged MMU). Bei der Adressumsetzung nach Segmenten werden jeweils logische Speicherbereiche variabler Größe auf einen physischen Speicherbereich gleicher Größe umgesetzt. Da dieses Verfahren jedoch nicht gut mit der Speicherverwaltung moderner Betriebssysteme zusammenpasst, ist es kaum noch in Verwendung. Die Adressumsetzung nach Seiten verwendet feste Blockgrößen und ist heutzutage die übliche Methode. Den Mechanismus der Übersetzung von logischen Adressen in physische Adressen bezeichnet man daher auch als Paging.

Einer logischen Adresse muss nicht jederzeit eine physische zugeordnet sein. Wird eine solche Adresse angesprochen, erfolgt ein sogenannter Seitenfehler (engl.:"page fault", "page miss"), woraufhin das Betriebssystem die Daten von einem externen Speichermedium laden kann; dieser Vorgang läuft für eine Applikation transparent ab. Man spricht hier von Speichervirtualisierung.

Die MMU regelt auch Speicherschutzaufgaben. So können einzelne Speicherbereiche für die Ausführung von Code oder zum weiteren Beschreiben gesperrt werden.

Siehe auch


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

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

  • 68060 — Motorola MC 68EC060. Der Motorola 68060 ist ein 32 Bit Prozessor von Motorola. Er wurde 1994 als Nachfolger des Motorola 68040 veröffentlicht. Der 68060 ist der leistungsstärkste Prozessor der 680x0 Prozessorfamilie. Inhaltsverzeichnis …   Deutsch Wikipedia

  • Buffer-Overflow — Pufferüberläufe (engl. buffer overflow) gehören zu den häufigsten Sicherheitslücken in aktueller Software, die sich u. a. über das Internet ausnutzen lassen können. Im Wesentlichen werden bei einem Pufferüberlauf durch Fehler im Programm zu große …   Deutsch Wikipedia

  • Buffer Overflow — Pufferüberläufe (engl. buffer overflow) gehören zu den häufigsten Sicherheitslücken in aktueller Software, die sich u. a. über das Internet ausnutzen lassen können. Im Wesentlichen werden bei einem Pufferüberlauf durch Fehler im Programm zu große …   Deutsch Wikipedia

  • Buffer overflow — Pufferüberläufe (engl. buffer overflow) gehören zu den häufigsten Sicherheitslücken in aktueller Software, die sich u. a. über das Internet ausnutzen lassen können. Im Wesentlichen werden bei einem Pufferüberlauf durch Fehler im Programm zu große …   Deutsch Wikipedia

  • DSLinux — ist eine Portierung des Linux Betriebssystems für den Nintendo DS. Auch wenn das Projekt noch in einer sehr frühen Phase ist, wird bereits ein Großteil der Hardware des DS unterstützt. Touchscreen, Sound und die Wi Fi Funktionalität können… …   Deutsch Wikipedia

  • Heap-Overflow — Pufferüberläufe (engl. buffer overflow) gehören zu den häufigsten Sicherheitslücken in aktueller Software, die sich u. a. über das Internet ausnutzen lassen können. Im Wesentlichen werden bei einem Pufferüberlauf durch Fehler im Programm zu große …   Deutsch Wikipedia

  • Heap Overflow — Pufferüberläufe (engl. buffer overflow) gehören zu den häufigsten Sicherheitslücken in aktueller Software, die sich u. a. über das Internet ausnutzen lassen können. Im Wesentlichen werden bei einem Pufferüberlauf durch Fehler im Programm zu große …   Deutsch Wikipedia

  • IA-16 — Die Artikel IA 32 und X86 Prozessor überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen Baustein erst… …   Deutsch Wikipedia

  • Intel 80x86 — Die Artikel IA 32 und X86 Prozessor überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen Baustein erst… …   Deutsch Wikipedia

  • Intel x86 — Die Artikel IA 32 und X86 Prozessor überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen Baustein erst… …   Deutsch Wikipedia

Share the article and excerpts

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