Перейти до вмісту

NPT and RVI

Архітектурний довідникFeex

Також називається 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.

Як це працює

Гостьові таблиці сторінок спочатку транслюють гостьові віртуальні адреси в гостьові фізичні. Вкладені таблиці сторінок, якими керує гіпервізор, транслюють гостьові фізичні адреси в системні фізичні адреси. Обидва етапи трансляції та їхні дозволи беруть участь у доступі до пам'яті з визначеною поведінкою під час збоїв та інвалідації.

Де це корисно

VM може керувати власними адресними просторами, тоді як хост відображає гостьову пам'ять у фактичні фізичні сторінки комп'ютера. Гіпервізор повинен правильно обробляти зміни відображень і кеші трансляції, а не розглядати вкладену розбивку на сторінки як фіксований статичний пошук.

Як перевірити підтримку та активацію

Опитайте листок функцій AMD SVM для вкладеної розбивки на сторінки після підтвердження діапазону розширених листків і підтримки SVM. Переконайтеся, що гіпервізор дійсно вмикає та підтримує бажану конфігурацію, включно з будь-якими вимогами до вкладених гостьових систем.

Віртуалізоване розгортання має кілька рівнів: фізичні можливості, дозвіл у прошивці, активний хостовий гіпервізор, надані гостю можливості та підтримка з боку гостьової ОС. Перевіряйте рівень, на якому фактично виконується операція, включно із вкладеною віртуалізацією, коли це актуально.

Чого ця функція не гарантує

NPT не передбачає обов'язкової наявності ізоляції пристроїв IOMMU, SEV або всіх опцій великих сторінок і вкладеної віртуалізації. RVI не є додатковою інструкцією, яку вмикають прикладні програми. Зменшення накладних витрат на трансляцію залежить від робочого навантаження, а не є універсальним помножувачем продуктивності.

Сумісність і продуктивність на практиці

Виконання інструкцій процесором, трансляція пам'яті гостьової системи та перепризначення DMA пристроїв є окремими засобами. Не робіть висновків про прокидання або ізоляцію на основі одного поля віртуалізації. Використовуйте підтримувану діагностику гіпервізора та точні вимоги до платформи/пристроїв.

Практичний контрольний список для верифікації

  1. Зафіксуйте точну модель процесора або платформи, а також версії використовуваної програми, ОС і середовища виконання. Збережіть точне формулювання фактичної помилки або вимоги.
  2. Звіртеся з документацією виробника для цієї точної моделі, потім перевірте фактичні можливості та стан активації в середовищі, де виконується програма.
  3. Порівняйте кожну вимогу вибраного двійкового файлу або бекенда. Схожої назви функції, псевдоніма чи загального позначення технології недостатньо.
  4. Переконайтеся, що програма вибрала призначену реалізацію. Використовуйте її задокументовані засоби діагностики та підтримуваний резервний варіант, якщо вимоги не виконуються.
  5. Вносьте по одній підтримуваній зміні за раз і повторюйте те саме робоче навантаження. Зберігайте оригінальну конфігурацію та можливість відновлення.

Якщо функція вказана, але програмне забезпечення не може її використати

Почніть із компонента, у якому саме стався збій. База даних обладнання описує зафіксовані можливості; операційна система або гіпервізор можуть надавати інше фактичне середовище. Помилка неприпустимої інструкції також потребує дослідження фактичної інструкції, що викликала збій, і двійкової збірки, оскільки пошкодження даних або непов'язана непідтримувана інструкція можуть викликати схожий симптом.

Встановіть версію програми, драйвера або середовища виконання, яка підтримується для цієї конкретної платформи, і за потреби використовуйте задокументовану постачальником базову або резервну збірку. Оновлення програмного забезпечення не може створити інструкцію, якої немає в процесорі. Зміни у прошивці та політиках безпеки повинні відповідати процедурі виробника системи та плану відновлення, а не загальним рецептам оптимізації.

Джерела та межі застосування цього пояснення

AMD CPUID Specification, publication 25481 · AMD64 Architecture Programmer's Manual, Volume 2: System Programming

Ці довідкові матеріали визначають архітектурну поведінку та вимоги до програмного забезпечення. Вони не перевіряють незалежно кожне значення функції на сторінці пов'язаної моделі обладнання. Щодо підтримки моделі використовуйте дані виробника на цій сторінці та перевіряйте фактичну конфігурацію системи. Ця стаття не містить бенчмарків, сертифікації чи дат незалежного огляду.

Джерела та верифікація

Власник авторських прав: Feex. Дата незалежної перевірки не зафіксована. Як ми проводимо дослідження.

  • AMD CPUID Specification, publication 25481 · Архівний архітектурний довідник для встановлених функцій AMD CPUID і визначень бітів. Використовуйте поточний посібник із програмування процесорів для пізніших розширень конкретних поколінь.
  • AMD64 Architecture Programmer's Manual, Volume 2: System Programming · Системне програмування, SVM та вкладена трансляція, редакція 3.46. Поточний переглядач документації вимагає JavaScript; старіші URL-адреси документів могли бути вилучені з експлуатації.

Чи була ця стаття корисною?

Достатньо відповісти "так" або "ні". За бажанням виберіть причину або додайте коротку примітку.

Чи була ця стаття корисною?