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 a traditional MMU, which translates CPU-visible virtual addresses to physical addresses, the IOMMU takes care of mapping device-visible virtual addresses (also called device addresses or I/O addresses in this context) to physical addresses. Some units also provide memory protection from misbehaving devices.

PropertyValue
dbpedia-owl:thumbnail
dbpprop:abstract
  • 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 a traditional MMU, which translates CPU-visible virtual addresses to physical addresses, the IOMMU takes care of mapping device-visible virtual addresses (also called device addresses or I/O addresses in this context) to physical addresses. Some units also provide memory protection from misbehaving devices. An example IOMMU is the Graphics Address Remapping Table (GART) used by AGP and PCI Express graphics cards. AMD has published a specification for IOMMU technology in the HyperTransport architecture. Intel has published a specification for IOMMU technology as Virtualization Technology for Directed I/O, abbreviated VT-d. Information about the Sun IOMMU has been published in the Device Virtual Memory Access (DVMA) section of the Solaris Developer Connection. The IBM Translation Control Entry (TCE) has been described in a document entitled Logical Partition Security in the IBM eServer pSeries 690. The PCI-SIG has relevant work under the terms I/O Virtualization (IOV) and Address Translation Services (ATS).
  • 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. 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 lassen, die nicht Teil seines eigenen, virtuellen Adressraumes mehr sind. Ä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 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.
  • ファイル:MMU and IOMMU. svg I/Oメモリ管理ユニット (IOMMU) とメモリ管理ユニット (MMU) IOMMU (Input/Output Memory Management Unit、IOMMU) とはDMA可能なI/Oバスと主記憶装置を接続するメモリ管理ユニット (MMU) である。MMU がCPUに見える仮想アドレスを物理アドレスに変換するように、IOMMU は周辺機器から見える仮想アドレス(デバイスアドレスとかI/Oアドレスと呼ぶ)を物理アドレスに変換する。周辺機器の誤動作からメモリを守るため、メモリ保護機能も提供する。
  • VT-d (Virtualization technology for directed I/O) - технология виртуализации ввода/вывода, созданная корпорацией Intel в дополнение к ее технологии виртуализации вычислений, известной под кодовым названием Vanderpool. Виртуализация ввода-вывода позволяет пробрасывать (pass-through) устройства на шине PCI (и более современных подобных шинах) в гостевую ОС, таким образом, что она может работать с ним с помошью своих штатных средств. Чтобы такое было возможно, в логических схемах материнской платы используется специальное устройство управления памятью ввода-вывода, работающее аналогично MMU центрального процессора, используя таблицы страниц и специальную таблицу отображения DMA (DMA remapping table - DMAR), которую гипервизор получает от BIOS через ACPI. Отображение DMA необходимо, поскольку гипервизор ничего не знает о специфике работы устройства с памятью по физическим адресам, которые известны лишь драйверу. С помощью DMAR он создает таблицы отображения таким образом, что драйвер гостевой ОС видит виртуальные адреса IOMMU аналогично тому, как бы он видел физические без него и гипервизора. Intel Virtualization Technology for Directed I/O (VT-d) это следующий важный шаг на пути к всеобъемлющей аппаратной поддержке виртуализации платформ на базе Intel. VT-d расширяет возможности технологии Virtualization Technology (VT), существующей в IA-32 (VT-x) и Itanium (VT-i), и добавляет поддержку виртуализации новых устройств ввода-вывода.
dbpprop:hasPhotoCollection
rdfs:comment
  • 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 a traditional MMU, which translates CPU-visible virtual addresses to physical addresses, the IOMMU takes care of mapping device-visible virtual addresses (also called device addresses or I/O addresses in this context) to physical addresses. Some units also provide memory protection from misbehaving devices.
  • 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.
  • ファイル:MMU and IOMMU.
  • VT-d (Virtualization technology for directed I/O) - технология виртуализации ввода/вывода, созданная корпорацией Intel в дополнение к ее технологии виртуализации вычислений, известной под кодовым названием Vanderpool.
rdfs:label
  • IOMMU
  • IOMMU
  • IOMMU
  • VT-d
owl:sameAs
skos:subject
foaf:depiction
foaf:page
is dbpprop:redirect of