Second-Level Address Translation
Second-Level Address Translation (SLAT) - это общий термин для аппаратно-ускоренной трансляции гостевых физических адресов в физические адреса хоста. Intel EPT и AMD NPT предоставляют реализации конкретных поставщиков.
Что необходимо знать
Second-Level Address Translation (SLAT) - это общий термин для аппаратно-ускоренной трансляции гостевых физических адресов в физические адреса хоста. Intel EPT и AMD NPT предоставляют реализации конкретных поставщиков.
Как это работает
Собственные таблицы страниц гостя описывают его виртуальную память. Второе сопоставление, контролируемое гипервизором, связывает полученные гостевые физические адреса с памятью хоста и правами доступа. Процессор объединяет эти этапы в соответствии с правилами трансляции и кэширования архитектуры.
Области применения
Гипервизор может избежать поддержки некоторых форм теневых таблиц страниц (shadow page tables) и вместо этого позволить оборудованию выполнять поэтапный обход. Оставшиеся накладные расходы зависят от размера страниц, кэширования вложенных обходов, поведения TLB и локальности памяти гостя.
Как проверить поддержку и активацию
Определите производителя процессора и проверьте соответствующую возможность EPT или NPT с помощью поддерживаемых средств диагностики гипервизора. Проверьте полные требования развертываемой функции, включая поддержку прошивки и ОС.
Виртуализированное окружение состоит из нескольких уровней: физические возможности, разрешения микрокода, активный гипервизор хоста, транслируемые гостю функции и поддержка в гостевой ОС. Проверяйте тот уровень, на котором непосредственно выполняется задача, включая вложенную виртуализацию при ее использовании.
Чего не гарантирует данная функция
SLAT не является отдельным универсальным битом CPUID, заменой IOMMU или доказательством поддержки конкретного продукта виртуализации ОС. Общее поле SLAT требует интерпретации в зависимости от поставщика и не подтверждает наличие всех расширенных функций трансляции.
Совместимость и производительность на практике
Выполнение инструкций процессором, трансляция гостевой памяти и переназначение DMA устройств - это раздельные механизмы. Не делайте вывода о наличии проброса устройств или изоляции только по одному общему полю виртуализации. Используйте поддерживаемые средства диагностики гипервизора и точные требования к платформе/устройствам.
Практический чек-лист для проверки
- Зафиксируйте точную модель процессора или платформы, а также задействованные версии приложения, ОС и среды выполнения. Сохраните точную формулировку возникшей ошибки или требования.
- Сверьтесь со справочными материалами производителя для этой точной модели, затем проверьте действующую поддержку и состояние активации в окружении, где выполняется программа.
- Сопоставьте каждое требование выбранного бинарного файла или бэкенда. Похожего названия функции, псевдонима или общего маркетингового обозначения технологии недостаточно.
- Убедитесь, что приложение выбрало предполагаемую реализацию. Используйте его документированные средства диагностики и поддерживаемый резервный код при несоблюдении требований.
- Вносите по одному поддерживаемому изменению за раз и повторяйте ту же рабочую нагрузку. Сохраняйте исходную конфигурацию и возможность отката.
Если функция указана в списке, но ПО не может ее использовать
Начните с точного сбойного компонента. База данных оборудования описывает зафиксированные возможности; операционная система или гипервизор могут предоставлять иное фактическое окружение. Ошибка недопустимой инструкции также требует анализа конкретной сбойной команды и сборки бинарного файла, так как повреждение данных или сторонняя неподдерживаемая инструкция могут вызывать аналогичный симптом.
Установите версию приложения, драйвера или среды выполнения, поддерживаемую для данной платформы, и при необходимости используйте документированную производителем базовую или резервную сборку. Обновление ПО не может создать инструкцию, отсутствующую в процессоре. Изменения микрокода и политик безопасности должны выполняться по процедуре производителя системы и с планом восстановления, а не по общим шаблонам оптимизации.
Источники и границы применимости пояснения
Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32 · Руководство программиста по архитектуре AMD64, том 2: Системное программирование
Эти материалы определяют архитектурное поведение и требования к программному обеспечению. Они не подтверждают независимо каждое значение параметров на странице конкретной модели оборудования. Для проверки поддержки моделью используйте данные производителя на этой странице и проверяйте действующую конфигурацию системы. Данная статья не содержит результатов тестов производительности, сертификатов или дат независимых обзоров.
Источники и проверка
Редакционная принадлежность: Feex. Дата независимой проверки не зарегистрирована. Как мы проводим исследования.
- Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32 · Тома 1 и 2 описывают указанные семейства инструкций и CPUID; том 3 описывает управление состоянием, страничную адресацию, VMX и средства защиты. Архитектурная документация не определяет факт поддержки конкретной моделью.
- Руководство программиста по архитектуре AMD64, том 2: Системное программирование · Системное программирование, SVM и вложенная трансляция, ревизия 3.46. Для текущего средства просмотра документации требуется JavaScript; старые URL-адреса документов могли быть выведены из обращения.
Была ли эта статья полезна?
Достаточно ответа "да" или "нет". При желании выберите причину или оставьте короткую заметку.
Спасибо. Это помогает нам улучшать эту страницу.