Przejdź do treści

NPT i RVI

Dokumentacja architekturyFeex

Nazywane również NPT / RVI

NPT, Nested Page Tables, to funkcja drugiego etapu translacji pamięci gościa firmy AMD, powiązana również z Rapid Virtualization Indexing, RVI. Pod względem przeznaczenia stanowi odpowiednik technologii Intel EPT.

Co musisz wiedzieć

NPT, Nested Page Tables, to funkcja drugiego etapu translacji pamięci gościa firmy AMD, powiązana również z Rapid Virtualization Indexing, RVI. Pod względem przeznaczenia stanowi odpowiednik technologii Intel EPT.

Jak to działa

Tabele stron gościa tłumaczą najpierw adresy wirtualne gościa na adresy fizyczne gościa. Zagnieżdżone tabele stron kontrolowane przez hipernadzorcę tłumaczą adresy fizyczne gościa na adresy fizyczne systemu. W dostępie do pamięci biorą udział oba etapy translacji wraz z ich uprawnieniami, zachowując określone reguły obsługi błędów i unieważniania wpisów.

Gdzie funkcja jest przydatna

Maszyna wirtualna może zarządzać własnymi przestrzeniami adresowymi, podczas gdy gospodarz mapuje pamięć gościa na rzeczywiste strony fizyczne maszyny. Hipernadzorca musi poprawnie obsługiwać zmiany mapowania i pamięci podręczne translacji, zamiast traktować stronicowanie zagnieżdżone jako niezmienne, statyczne odwzorowanie.

Jak sprawdzać obsługę i włączenie

Wykryj obecność stronicowania zagnieżdżonego w liściu funkcji AMD SVM po uprzednim potwierdzeniu zakresu rozszerzonych liści i obsługi SVM. Upewnij się, że hipernadzorca rzeczywiście włącza i obsługuje żądaną konfigurację, w tym wszelkie wymagania dotyczące zagnieżdżonych gości.

Zwirtualizowane wdrożenie ma kilka warstw: fizyczne możliwości, uprawnienia oprogramowania układowego, aktywny hipernadzorca hosta, udostępnione możliwości gościa oraz obsługa w systemie operacyjnym gościa. Sprawdź warstwę, w której faktycznie działa dana operacja, uwzględniając wirtualizację zagnieżdżoną, gdy ma to zastosowanie.

Czego ta funkcja nie określa

NPT nie implikuje izolacji urządzeń IOMMU, SEV ani każdej opcji dużych stron i zagnieżdżonej wirtualizacji. RVI nie jest dodatkową instrukcją włączaną przez aplikacje. Zmniejszenie narzutu translacji zależy od obciążenia i nie przekłada się automatycznie na uniwersalny wzrost wydajności.

Zgodność i wydajność w praktyce

Wykonywanie kodu przez procesor, translacja pamięci gościa i remapowanie DMA urządzeń to osobne mechanizmy. Nie należy wnioskować o passthrough ani izolacji na podstawie jednego pola wirtualizacji. Skorzystaj z oficjalnej diagnostyki hipernadzorcy oraz dokładnych wymagań platformy/urządzenia.

Praktyczna lista kontrolna weryfikacji

  1. Zanotuj dokładny model procesora lub platformy oraz wersje używanej aplikacji, systemu operacyjnego i środowiska wykonawczego. Zachowaj dokładne sformułowanie błędu lub wymagania.
  2. Sprawdź dokumentację producenta dla danego modelu, a następnie zweryfikuj faktyczne możliwości i stan włączenia w środowisku, w którym działa program.
  3. Porównaj każde wymaganie wybranego pliku binarnego lub backendu. Podobnie nazwana funkcja, alias lub ogólne oznaczenie technologii nie są wystarczające.
  4. Upewnij się, że aplikacja wybrała zamierzoną implementację. Użyj jej udokumentowanej diagnostyki oraz obsługiwanego mechanizmu fallback, gdy wymagania nie są spełnione.
  5. Wprowadzaj jednorazowo tylko jedną obsługiwaną zmianę i powtarzaj to samo obciążenie testowe. Zachowaj oryginalną konfigurację oraz dostępną ścieżkę przywracania.

Gdy funkcja jest wymieniona, lecz oprogramowanie nie może z niej skorzystać

Zacznij od elementu, w którym bezpośrednio występuje błąd. Baza danych sprzętu opisuje zarejestrowane możliwości; system operacyjny lub hipernadzorca może udostępniać inne środowisko efektywne. Błąd nieprawidłowej instrukcji (illegal instruction) wymaga także zbadania faktycznej instrukcji powodującej błąd oraz kompilacji pliku binarnego, ponieważ uszkodzenie danych lub inna nieobsługiwana instrukcja może wywołać podobny objaw.

Zainstaluj wersję aplikacji, sterownika lub środowiska wykonawczego obsługiwaną na danej platformie i w razie potrzeby użyj udokumentowanej przez producenta kompilacji bazowej lub awaryjnej. Aktualizacja oprogramowania nie może utworzyć instrukcji, której procesor fizycznie nie posiada. Modyfikacje oprogramowania układowego i zasad bezpieczeństwa powinny przebiegać zgodnie z procedurą producenta systemu i planem przywracania, a nie ogólnikowym schematem optymalizacji.

Źródła i zakres niniejszego opisu

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

Te źródła definiują zachowanie architektoniczne i wymagania oprogramowania. Nie weryfikują one niezależnie każdej wartości funkcji na powiązanej stronie modelu sprzętu. W celu sprawdzenia obsługi przez model należy skorzystać z materiałów producenta na tej stronie i sprawdzić efektywną konfigurację systemu. Niniejszy artykuł nie zawiera wyników testów wydajnościowych, certyfikacji ani daty niezależnego przeglądu.

Źródła i weryfikacja

Własność redakcyjna: Feex. Nie odnotowano daty niezależnego przeglądu. Jak prowadzimy badania.

Czy ten artykuł był pomocny?

Wystarczy odpowiedź tak lub nie. Wybierz powód, jeśli chcesz, lub dodaj krótką notatkę.

Czy ten artykuł był pomocny?