IOMMU

IOMMU

Eine I/O Memory Mapping Unit (I/O-MMU, oder kurz IOMMU) erweitert die I/O-Schnittstelle eines Mikroprozessors um eine Adressübersetzung und Zugriffsschutz bei Direct Memory Access (DMA).

Einsatz von I/O-MMUs war lange nur in High-End-Architekturen üblich, z. B. in einem PCI-Interface, welches die Firma Sun für ihre UltraSPARC-Prozessoren entworfen hat. Im Rahmen der Erweiterung der AMD64-Architektur seitens AMD um Verfahren zur Virtualisierung wurde deren I/O-Hub darum ergänzt. Dieser Artikel bezieht sich vor allem auf die IOMMU für AMD64. AMD hat angekündigt, erste Prozessoren mit IOMMU ab 2009, zusammen mit HyperTransport 3.0, auszuliefern.[1]

Das Verfahren ist prinzipiell vergleichbar mit einer Memory Management Unit (MMU) in multitaskingfähigen Mikroprozessoren. Der Unterschied liegt darin, dass die IOMMU nicht Teil der Speicheranbindung ist, sondern sich konzeptionell in der Northbridge befindet. Bei Zugriffen per DMA durch periphere Geräte werden Zieladressen im RAM dabei mit Hilfe einer von Systemsoftware kontrollierten, mehrstufigen Seitentabelle in alternative Adressen übersetzt.

Die IOMMU ermöglicht folgende Funktionen bei DMA:

  • Effektivere Nutzung von 32-Bit-Geräten in 64-Bit-Umgebungen, insbesondere Zugriff auf Speicherbereiche oberhalb von 4 GiB.
  • Zugriffschutz beim Zugriff von Anwendungen auf bestimmte Geräte
  • Zugriffschutz beim Zugriff von virtuellen Maschinen auf bestimmte Geräte

Zugriffsschutz bedeutet, dass ohne IOMMU keine vollständige Isolation von Prozessen oder virtuellen Maschinen mehr gewährleistet werden kann, wenn direkter Zugriff auf DMA-fähige Geräte gewährt werden soll. Da DMA-Transfers praktisch auf beliebige Zieladressen im System zugreifen können, kann schädlicher Programmcode damit u. U. auch Speicherbereiche lesen oder überschreiben, die nicht Teil seines eigenen, virtuellen Adressraumes sind (siehe auch Sicherheitsprobleme bei Firewire).

Ähnliche Funktionen wie die der IOMMU finden sich auch in Prozessoren älterer Bauart. Bisher existiert in vielen Maschinen ein Graphics Aperture Remapping Table (GART) zur Adressübersetzung speziell für Grafikkarten im Accelerated Graphics Port (AGP). Die Secure-Virtual-Machine-Erweiterungen (SVM) in AMD-Prozessoren bieten auch ohne IOMMU rudimentären Zugriffsschutz durch einen Device Exclusion Vector (DEV), um Geräten den Zugang zum RAM vollständig zu verweigern. Mit passender Software-Unterstützung kann die IOMMU sowohl die Funktionen der GART als auch die des DEV ersetzen.

IOMMU ist kein wesentlicher Bestandteil von AMD-V. Wenn direkter Zugriff auf I/O-Ressourcen nicht durch einen VMM, sondern unmittelbar durch Gastsysteme auf der VM erfolgen soll, bietet sie gegenüber einem klassischen Trap-and-Simulate-Verfahren jedoch erhebliche Vorteile im Hinblick auf Sicherheit und Leistung. In vielen Anwendungen klassischer Systemvirtualisierung ist ein solcher direkter Zugriff aber nicht erforderlich.

Quellen

  1. http://www.heise.de/newsticker/meldung/93394

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

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

  • IOMMU — (англ. input/output memory management unit)  блок управления памятью (MMU) для операций ввода/вывода. Так же как традиционный, процессорный блок управления памятью, который переводит виртуальные адреса, видимые процессором в физические …   Википедия

  • IOMMU — Comparison of the I/O memory management unit (IOMMU) to the memory management unit (MMU). In computing, an input/output memory management unit (IOMMU) is a memory management unit (MMU) that connects a DMA capable I/O bus to the main memory. Like… …   Wikipedia

  • IOMMU — Input Output Memory Management Unit …   Acronyms

  • IOMMU — Input Output Memory Management Unit …   Acronyms von A bis Z

  • HP 9000 — is the name for a line of workstation and server computer systems produced by the Hewlett Packard (HP) company. The HP 9000 brand was introduced in 1984 to encompass several existing technical workstations models previously launched in the early… …   Wikipedia

  • Прямой доступ к памяти — (англ. Direct Memory Access, DMA)  режим обмена данными между устройствами или же между устройством и основной памятью (RAM) без участия Центрального Процессора (ЦП). В результате скорость передачи увеличивается, так как данные не… …   Википедия

  • Advanced Micro Devices — Infobox Company company name=Advanced Micro Devices, Inc. company logo= company type=Public (nyse|AMD) foundation=1969 founder=W. Jerry Sanders III Edwin J. Turney Additional co founders location city=Sunnyvale, California, US key people=Derrick… …   Wikipedia

  • Comparison of AMD chipsets — Amd chipsets logo This is a comparison of chipsets sold under the brand AMD, manufactured before May 2004 by the company itself, before the adoption of open platform approach as well as chipsets manufactured by ATI Technologies (ATI) after July… …   Wikipedia

  • AMD 800 chipset series — AMD chipsets Table name= AMD 800 chipset series img w= Caption= Codename= CPU= future Opteron, Phenom, Athlon X2 and Turion Ultra processors Socket= Socket F+, Socket G34 (server) Socket AM3 (desktop) Socket FS1 (mobile) Process= Power=… …   Wikipedia

  • Udma — Прямой доступ к памяти (англ. Direct Memory Access, DMA)  режим обмена данными между устройствами или же между устройством и основной памятью (RAM), без участия Центрального Процессора. В результате скорость передачи увеличивается, так как данные …   Википедия

Share the article and excerpts

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