Memory Management Unit - LinkFang.de





Memory Management Unit


Der Begriff Memory Management Unit (MMU, deutsch: Speicherverwaltungseinheit) benennt eine Hardwarekomponente eines Computers, welche den Zugriff auf den Arbeitsspeicher verwaltet.

Aufgaben

Zu ihren Aufgaben zählt die Umrechnung einer virtuellen Adresse in eine physische Adresse.[1]:39-40 Sie ermöglicht damit den Zugriff auf den gesamten virtuellen Adressraum, der von einem Betriebssystem mit Hilfe der virtuellen Speicherverwaltung zur Verfügung gestellt wird.

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

  • Programmen untereinander („horizontale Trennung“): Programme können (z. B. im Fehlerfall) nicht auf Speicher anderer Programme zugreifen.
  • Programmen gegen das Betriebssystem („vertikale Hierarchie“): Das Funktionieren des Betriebssystems darf nicht durch (fehlerhafte) Anwendungsprogramme gefährdet 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. Außerdem kann durch die MMU jedem Prozess ein initial unfragmentierter, exklusiver Speicherraum präsentiert werden.

Einsatz und Verwendung

MMUs waren ursprünglich als externe Zusatzkomponente für Mikroprozessoren konzipiert. Sie sind heutzutage in die meisten Hochleistungsprozessoren direkt integriert oder in der Nähe des Prozessors angeordnet.[1]:40 Bei Verwendung einer Harvard-Architektur existieren sogar zwei verschiedene MMUs innerhalb des Prozessors – eine für den Befehls- und eine für den Datenspeicher.

Embedded-Prozessoren und Mikrocontroller verwenden größtenteils keine MMU. Eine MMU würde mehr zusätzliche Chipfläche bedeuten und zu erhöhten Kosten führen. Anwendungen für diesen Einsatzbereich können daher meistens nicht auf eine Adressübersetzungstechnik zurückgreifen. Der physische Speicher muss daher exakt adressiert werden.[1]:223

Funktionsprinzip

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. Selbstnachladende MMUs haben einen speziellen 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 auszuführen. Man unterscheidet die möglichen Arten der Adressübersetzung (englisch address translation) nach der Art der verwendeten Seitentabellen.

Ursprünglich gab es zwei Methoden der Adressumsetzung, diejenige nach Segmenten (segmented MMU) und diejenige 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 mit virtueller Speicherverwaltung zusammenpasst, ist es kaum noch in Verwendung. Die Adressumsetzung nach Seiten verwendet normalerweise feste Blockgrößen und ist heutzutage die übliche Methode. Den Mechanismus der Übersetzung von logischen Adressen in physische Adressen bezeichnet man daher im Fall der festen Blockgrößen auch als Paging. Bei Prozessen mit sehr großem Adressraum würde bei fester Blockgröße eine sehr große Anzahl von Tabelleneinträgen in der MMU nötig. Daher können einige Betriebssysteme, bei Vorhandensein einer entsprechenden MMU, Teile des Adressraums durch Seiteneinträge zusammenfassen, die wesentlich größere Blockgrößen verwenden. Einer logischen Adresse muss nicht jederzeit eine physische zugeordnet sein. Wird eine solche Adresse angesprochen, erfolgt ein sogenannter Seitenfehler (englisch 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“.

Einzelnachweise

  1. 1,0 1,1 1,2 Andrew S. Tanenbaum: Moderne Betriebssysteme. 2., überarbeitete Auflage. Pearson Studium, 2003, ISBN 3-8273-7019-1.

Literatur

  • Andrew S. Tanenbaum: Moderne Betriebssysteme. 2., überarbeitete Auflage. Pearson Studium, 2003, ISBN 3-8273-7019-1.
  • Eduard Glatz: Betriebssysteme - Grundlagen, Konzepte, Systemprogrammierung. 2., aktualisierte und überarbeitete Auflage. dpunkt Verlag, 2010, ISBN 978-3-89864-678-9.

Siehe auch


Kategorien: Hardware | Speicherverwaltung | Rechnerarchitektur

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Memory Management Unit (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.