~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ B40CF156D25EDAC87AB561CEF1A749B8__1695697680 ✰
Заголовок документа оригинал.:
✰ Input–output memory management unit - Wikipedia ✰
Заголовок документа перевод.:
✰ Блок управления памятью ввода-вывода — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/IOMMU ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/b4/b8/b40cf156d25edac87ab561cef1a749b8.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/b4/b8/b40cf156d25edac87ab561cef1a749b8__translat.html ✰
Дата и время сохранения документа:
✰ 22.06.2024 07:21:22 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 26 September 2023, at 06:08 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Блок управления памятью ввода-вывода — Википедия Jump to content

Блок управления памятью ввода-вывода

Из Википедии, бесплатной энциклопедии
(Перенаправлено с IOMMU )
Сравнение блока управления памятью ввода-вывода (IOMMU) с блоком управления памятью (MMU).

В вычислительной технике блок управления памятью ввода-вывода ( IOMMU ) представляет собой блок управления памятью (MMU), соединяющий ввода -вывода с прямым доступом к памяти (с поддержкой DMA) шину к основной памяти . Подобно традиционному MMU, который преобразует ЦП , видимые виртуальные адреса , в физические адреса , IOMMU сопоставляет видимые устройству виртуальные адреса (в этом контексте также называемые адресами устройств или отображаемыми в памяти адресами ввода-вывода, ) с физическими адресами. Некоторые устройства также обеспечивают защиту памяти от неисправных или вредоносных устройств.

Примером IOMMU является таблица переназначения графических адресов (GART), используемая AGP и PCI Express видеокартами на компьютерах с архитектурой Intel и AMD.

В архитектуре x86 до разделения функций северного и южного мостов между ЦП и контроллером платформы (PCH) виртуализация ввода-вывода выполнялась не ЦП, а набором микросхем . [1] [2]

Преимущества [ править ]

Преимущества наличия IOMMU по сравнению с прямой физической адресацией памяти (DMA) включают в себя: [ нужна цитата ] :

  • Большие области памяти могут быть выделены без необходимости быть непрерывными в физической памяти — IOMMU сопоставляет смежные виртуальные адреса с базовыми фрагментированными физическими адресами. использования векторного ввода-вывода ( списков сбора и разброса ). Таким образом, иногда можно избежать
  • Устройства, которые не поддерживают адреса памяти достаточно долго для адресации всей физической памяти, по-прежнему могут обращаться ко всей памяти через IOMMU, избегая накладных расходов, связанных с копированием буферов в адресное пространство памяти периферийного устройства и из него.
    • Например, компьютеры x86 могут адресовать более 4 гигабайт памяти с помощью функции расширения физического адреса (PAE) в процессоре x86. Тем не менее, обычное 32-битное PCI-устройство просто не может адресовать память выше границы 4 ГиБ и, следовательно, не может получить к ней прямой доступ. Без IOMMU операционной системе пришлось бы реализовать трудоемкие буферы отказов (также известные как двойные буферы). [3] ).
  • Память защищена от вредоносных устройств, которые пытаются атаковать DMA, и от неисправных устройств, которые пытаются ошибочную передачу памяти, поскольку устройство не может читать или записывать в память, которая не была явно выделена (сопоставлена) для него. Защита памяти основана на том факте, что ОС, работающая на ЦП (см. рисунок), контролирует исключительно как MMU, так и IOMMU. Устройства физически не могут обойти или повредить настроенные таблицы управления памятью.
    • При виртуализации гостевые операционные системы могут использовать оборудование , не предназначенное специально для виртуализации. Более производительное оборудование, такое как видеокарты, использует DMA для прямого доступа к памяти; в виртуальной среде все адреса памяти переназначаются программным обеспечением виртуальной машины, что приводит к сбою устройств DMA. IOMMU обрабатывает это переназначение, позволяя использовать собственные драйверы устройств в гостевой операционной системе.
  • В некоторых архитектурах IOMMU также выполняет перераспределение аппаратных прерываний аналогично стандартному перераспределению адресов памяти.
  • Подкачка периферийной памяти может поддерживаться IOMMU. Периферийное устройство, использующее расширение интерфейса запроса страницы (PRI) службы трансляции адресов PCIe PCI-SIG (ATS), может обнаруживать и сигнализировать о необходимости служб диспетчера памяти.

Для системных архитектур, в которых порт ввода-вывода представляет собой отдельное адресное пространство от адресного пространства памяти, IOMMU не используется, когда ЦП взаимодействует с устройствами через порты ввода-вывода . В системных архитектурах, в которых порт ввода-вывода и память отображаются в подходящее адресное пространство, IOMMU может транслировать доступ к порту ввода-вывода.

Недостатки [ править ]

К недостаткам использования IOMMU по сравнению с прямой физической адресацией памяти относятся: [4]

  • Некоторое снижение производительности из-за накладных расходов на трансляцию и управление (например, обход таблицы страниц).
  • Потребление физической памяти для добавленных таблиц страниц ввода-вывода (трансляций) . Это можно смягчить, если таблицы можно использовать совместно с процессором.
  • Чтобы уменьшить размер таблицы страниц, степень детализации многих IOMMU равна подкачке памяти (часто 4096 байт), и, следовательно, каждый небольшой буфер, который нуждается в защите от атаки DMA, должен быть выровнен по страницам и обнулен, прежде чем он станет видимым для устройства. Из-за сложности распределения памяти ОС это означает, что драйверу устройства необходимо использовать буферы возврата для конфиденциальных структур данных, что снижает общую производительность.

Виртуализация [ править ]

Когда операционная система работает внутри виртуальной машины , включая системы, использующие паравиртуализацию , такие как Xen и KVM , она обычно не знает хост-физические адреса памяти, к которой она обращается. Это затрудняет предоставление прямого доступа к аппаратному обеспечению компьютера, поскольку, если гостевая ОС попытается дать указание оборудованию выполнить прямой доступ к памяти (DMA) с использованием гостевых физических адресов, это, скорее всего, приведет к повреждению памяти, поскольку оборудование не знает об этом. сопоставление между гостевым физическим адресом и физическим адресом хоста для данной виртуальной машины. Повреждения можно избежать, если гипервизор или ОС хоста вмешивается в операцию ввода-вывода для применения преобразований. Однако этот подход приводит к задержке операции ввода-вывода.

IOMMU решает эту проблему, переназначая адреса, к которым обращается оборудование, в соответствии с той же (или совместимой) таблицей перевода, которая используется для сопоставления гостевого физического адреса с физическими адресами хоста. [5]

Опубликованные характеристики [ править ]

  • AMD опубликовала спецификацию технологии IOMMU под названием AMD-Vi . [6] [7]
  • IBM предложила поддержку расширенной программы управления: расширенный режим виртуального хранилища (ECPS:VSE). [8] на линии 43xx ; канальные программы использовали виртуальные адреса.
  • Корпорация Intel опубликовала спецификацию технологии IOMMU как Технология виртуализации для направленного ввода-вывода, сокращенно VT-d . [9]
  • Информация о Sun IOMMU опубликована в разделе Доступ к виртуальной памяти устройства (DVMA) на сайте Solaris Developer Connection. [10]
  • Запись управления трансляцией IBM (TCE) описана в документе под названием «Безопасность логических разделов в IBM eServer pSeries 690». [11]
  • PCI -SIG ведет соответствующую работу в рамках виртуализации ввода-вывода с единым корнем (SR-IOV) и служб трансляции адресов (ATS). Раньше они были описаны в отдельных спецификациях, но начиная с PCI Express 5.0 были перенесены в базовую спецификацию PCI Express. [12]
  • ARM определяет свою версию IOMMU как блок управления системной памятью (SMMU). [13] в дополнение к своей архитектуре виртуализации. [14]

См. также [ править ]

Ссылки [ править ]

  1. ^ «Аппаратная поддержка платформы Intel для виртуализации ввода-вывода» . intel.com. 10 августа 2006 г. Архивировано из оригинала 20 января 2007 г. Проверено 7 июня 2014 г.
  2. ^ «Системные платы для настольных ПК: совместимость с технологией виртуализации Intel (Intel VT)» . intel.com. 14 февраля 2014 г. Проверено 7 июня 2014 г.
  3. ^ «Расширение физического адреса — память PAE и Windows» . Центр разработки оборудования Microsoft Windows. 2005 . Проверено 7 апреля 2008 г.
  4. ^ Мули Бен-Иегуда; Джими Ксенидис; Михал Островский (27 июня 2007 г.). «Цена безопасности: оценка эффективности IOMMU» (PDF) . Материалы симпозиума Linux 2007 . Оттава, Онтарио, Канада: IBM Research . Проверено 28 февраля 2013 г.
  5. ^ «Часто задаваемые вопросы по Xen: Как в DomU использовать 3D-графику» . Архивировано из оригинала 2 октября 2008 г. Проверено 12 декабря 2006 г.
  6. ^ «Спецификация технологии виртуализации ввода-вывода AMD (IOMMU), версия 2.0» (PDF) . amd.com. 24 марта 2011 г. Проверено 11 января 2014 г.
  7. ^ «Спецификация технологии виртуализации ввода-вывода AMD (IOMMU)» (PDF) . amd.com . Проверено 9 июля 2020 г.
  8. ^ Принципы работы процессоров IBM 4300 для режима ECPS:VSE (PDF) (первое издание). ИБМ. Январь 1979 г. SA22-7070-0. Архивировано из оригинала (PDF) 14 марта 2012 г. Проверено 30 июня 2021 г.
  9. ^ «Технология виртуализации Intel для спецификации архитектуры направленного ввода-вывода (VT-d)» (PDF) . Проверено 9 июля 2020 г.
  10. ^ «Ресурсы DVMA и переводы IOMMU» . Проверено 30 апреля 2007 г.
  11. ^ «Безопасность логических разделов в IBM eServer pSeries 690» . Проверено 30 апреля 2007 г.
  12. ^ «Базовая спецификация PCI Express» . Проверено 18 января 2023 г.
  13. ^ «АРМ СММУ» . Проверено 13 мая 2013 г.
  14. ^ «Расширения виртуализации ARM» . Архивировано из оригинала 3 мая 2013 г. Проверено 13 мая 2013 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: B40CF156D25EDAC87AB561CEF1A749B8__1695697680
URL1:https://en.wikipedia.org/wiki/IOMMU
Заголовок, (Title) документа по адресу, URL1:
Input–output memory management unit - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)