NPT и RVI
Также называется NPT / RVI
NPT (Nested Page Tables) - это средство второго этапа трансляции памяти гостевой системы от AMD, также связанное с технологией Rapid Virtualization Indexing (RVI). По своему назначению оно является аналогом Intel EPT для платформы AMD.
Что необходимо знать
NPT (Nested Page Tables) - это средство второго этапа трансляции памяти гостевой системы от AMD, также связанное с технологией Rapid Virtualization Indexing (RVI). По своему назначению оно является аналогом Intel EPT для платформы AMD.
Как это работает
Таблицы страниц гостя сначала транслируют виртуальные адреса гостя в физические адреса гостя. Вложенные таблицы страниц под управлением гипервизора транслируют физические адреса гостя в системные физические адреса. Оба этапа трансляции и их разрешения участвуют в доступе к памяти, подчиняясь определенным правилам обработки сбоев и сброса кэшей трансляции.
Области применения
ВМ может управлять собственными адресными пространствами, в то время как хост сопоставляет память гостя с фактическими физическими страницами машины. Гипервизор должен корректно обрабатывать изменения сопоставлений и кэши трансляции, а не рассматривать вложенную подкачку страниц как фиксированную статическую таблицу.
Как проверить поддержку и активацию
Выполните опрос листа функций AMD SVM для вложенной подкачки страниц после подтверждения диапазона расширенных листьев и поддержки SVM. Убедитесь, что гипервизор действительно включает и поддерживает нужную конфигурацию, включая любые требования для вложенных гостей.
Виртуализированное окружение состоит из нескольких уровней: физические возможности, разрешения микрокода, активный гипервизор хоста, транслируемые гостю функции и поддержка в гостевой ОС. Проверяйте тот уровень, на котором непосредственно выполняется задача, включая вложенную виртуализацию при ее использовании.
Чего не гарантирует данная функция
NPT не гарантирует изоляцию устройств через IOMMU, наличие SEV или поддержку всех вариантов больших страниц и вложенной виртуализации. RVI не является дополнительной инструкцией, которую могут включать приложения. Снижение накладных расходов на трансляцию зависит от рабочей нагрузки и не дает безусловного прироста производительности во всех сценариях.
Совместимость и производительность на практике
Выполнение инструкций процессором, трансляция гостевой памяти и переназначение DMA устройств - это раздельные механизмы. Не делайте вывода о наличии проброса устройств или изоляции только по одному общему полю виртуализации. Используйте поддерживаемые средства диагностики гипервизора и точные требования к платформе/устройствам.
Практический чек-лист для проверки
- Зафиксируйте точную модель процессора или платформы, а также задействованные версии приложения, ОС и среды выполнения. Сохраните точную формулировку возникшей ошибки или требования.
- Сверьтесь со справочными материалами производителя для этой точной модели, затем проверьте действующую поддержку и состояние активации в окружении, где выполняется программа.
- Сопоставьте каждое требование выбранного бинарного файла или бэкенда. Похожего названия функции, псевдонима или общего маркетингового обозначения технологии недостаточно.
- Убедитесь, что приложение выбрало предполагаемую реализацию. Используйте его документированные средства диагностики и поддерживаемый резервный код при несоблюдении требований.
- Вносите по одному поддерживаемому изменению за раз и повторяйте ту же рабочую нагрузку. Сохраняйте исходную конфигурацию и возможность отката.
Если функция указана в списке, но ПО не может ее использовать
Начните с точного сбойного компонента. База данных оборудования описывает зафиксированные возможности; операционная система или гипервизор могут предоставлять иное фактическое окружение. Ошибка недопустимой инструкции также требует анализа конкретной сбойной команды и сборки бинарного файла, так как повреждение данных или сторонняя неподдерживаемая инструкция могут вызывать аналогичный симптом.
Установите версию приложения, драйвера или среды выполнения, поддерживаемую для данной платформы, и при необходимости используйте документированную производителем базовую или резервную сборку. Обновление ПО не может создать инструкцию, отсутствующую в процессоре. Изменения микрокода и политик безопасности должны выполняться по процедуре производителя системы и с планом восстановления, а не по общим шаблонам оптимизации.
Источники и границы применимости пояснения
Спецификация AMD CPUID, публикация 25481 · Руководство программиста по архитектуре AMD64, том 2: Системное программирование
Эти материалы определяют архитектурное поведение и требования к программному обеспечению. Они не подтверждают независимо каждое значение параметров на странице конкретной модели оборудования. Для проверки поддержки моделью используйте данные производителя на этой странице и проверяйте действующую конфигурацию системы. Данная статья не содержит результатов тестов производительности, сертификатов или дат независимых обзоров.
Источники и проверка
Редакционная принадлежность: Feex. Дата независимой проверки не зарегистрирована. Как мы проводим исследования.
- Спецификация AMD CPUID, публикация 25481 · Архивный архитектурный справочник по установленным функциям CPUID и назначениям битов AMD. Для более поздних расширений конкретных поколений используйте актуальное руководство по программированию процессоров.
- Руководство программиста по архитектуре AMD64, том 2: Системное программирование · Системное программирование, SVM и вложенная трансляция, ревизия 3.46. Для текущего средства просмотра документации требуется JavaScript; старые URL-адреса документов могли быть выведены из обращения.
Была ли эта статья полезна?
Достаточно ответа "да" или "нет". При желании выберите причину или оставьте короткую заметку.
Спасибо. Это помогает нам улучшать эту страницу.