Memory Management Unit

Memory Management Unit

Die Begriffe Memory Management Unit (MMU) und Speicherverwaltungseinheit benennen 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 Mikrocontroller 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. Selbst nachladende MMUs verfügen über 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 ausführen zu können. 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, 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 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.

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:

  • Memory Management Unit — Устройство управления памятью программно аппаратные средства поддерживающие функционирование виртуальной памяти. Синонимы английские: MMU См. также: Системные программы Виртуальная память Финансовый словарь Финам …   Финансовый словарь

  • Memory Management Unit — Memory Management Unit,   MMU …   Universal-Lexikon

  • Memory management unit — This 68451 MMU could be used with the Motorola 68010 A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware component responsible for handling accesses to memory requested by the CPU. Its… …   Wikipedia

  • Memory Management Unit — Unité de gestion mémoire Cette MMU MC68451 pouvait s utiliser avec le Motorola 68010 Une unité de gestion mémoire (MMU pour Memory Management Unit) est un composant informatique responsable de l accès à la mémoire demandée par le processeur. Sur… …   Wikipédia en Français

  • Memory management unit — Unité de gestion mémoire Cette MMU MC68451 pouvait s utiliser avec le Motorola 68010 Une unité de gestion mémoire (MMU pour Memory Management Unit) est un composant informatique responsable de l accès à la mémoire demandée par le processeur. Sur… …   Wikipédia en Français

  • memory management unit —    Abbreviated MMU. The part of the processor that manages the mapping of virtual memory addresses to actual physical addresses.    In some systems, such as those based on early Intel or Motorola processors, the MMU was a separate chip; however,… …   Dictionary of networking

  • Memory Protection Unit — Eine Memory Protection Unit (MPU, auch: Speicherschutzeinheit) wird in Mikrocontrollern eingesetzt, um den Zugriff auf Speicherbereiche einzuschränken, und damit die Daten im Speicher vor unberechtigten Zugriffen zu schützen. Siehe auch Memory… …   Deutsch Wikipedia

  • Memory management — is the act of managing computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed. This is critical to …   Wikipedia

  • paged memory management unit —    Abbreviated PMMU. A specialized chip designed to manage virtual memory. High end processors, such as the Motorola 68040 and the Intel Pentium, have all the functions of a PMMU built into the chip itself.    See also virtual memory …   Dictionary of networking

  • Region-based memory management — In computer science, region based memory management is a type of memory management in which each allocated object is assigned to a region. A region, also called a zone, arena, or memory context, is a collection of allocated objects that can be… …   Wikipedia

Share the article and excerpts

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