Интернет магазин китайских планшетных компьютеров



Компьютеры - IOMMU

04 июня 2011





IOMMU — блок управления памятью для операций ввода/вывода. Так же как традиционный, процессорный блок управления памятью, который переводит виртуальные адреса, видимые процессором в физические, этот блок занимается трансляцией виртуальных адресов, видимых аппаратным устройством, в физические адреса. Некоторые IOMMU также позволяют задавать различные ограничения операций ввода-вывода для защиты от неправильно работающих устройств или для изоляции, например, при использовании виртуализации.

MMU and IOMMU.svg

При наличии IOMMU у аппаратуры имеется возможность проводить DMA-операции не только по физическим адресам, но и по логическим. Такая возможность упрощает устройства, которым больше не нужно заботиться о поддержке DMA по разрывному региону памяти.

Недостатками использования IOMMU по сравнению с прямой физической адресацией памяти в DMA запросах являются:

  • Некоторое ухудшение производительности из-за необходимости транслирования адресов и расходов на управление, например, проход по иерархии таблицы страниц.
  • Дополнительное потребление памяти для хранения таблиц отображения. Может быть уменьшен при использовании основным таблиц трансляции адресов процессора.

IOMMU используется для прямой работы виртуализованных операционных систем с оборудованием основной системы. Наличие IOMMU для таких комбинаций позволяет повысить безопасность, производительность и упростить реализацию виртуальной машины.

IOMMU всегда использовался на компьютерах Sun SPARC для шины SBus, также он использовался на компьютерах DEC Alpha для шины PCI.

Разновидностью IOMMU является AGP GART.

Как правило, обычные PC-совместимые компьютеры не имели IOMMU. Вместо этого все главнейшее периферийное оборудование где-то с конца 90х годов разрабатывалось с поддержкой chain DMA.

Тем не менее, широкое распространение гипервизоров виртуальных машин привело к включению поддержки IOMMU в "гостевые" ОС, такие, как Windows.

Наличие такой поддержки в гостевой ОС при виртуализации самого устройства IOMMU сильно облегчает задачу эмуляции в гостевой ОС сложных устройств, использующих DMA, и повышает производительность и безопасность такой эмуляции.



Просмотров: 3199


<<< Виртуальная память