Naar inhoud springen

Second-Level Address Translation

ArchitectuurreferentieFeex

Second-Level Address Translation, SLAT, is een algemene term voor hardware-ondersteunde vertaling van fysieke gastadressen naar fysieke hostadressen. Intel EPT en AMD NPT bieden leverancierspecifieke implementaties.

Wat u moet weten

Second-Level Address Translation, SLAT, is een algemene term voor hardware-ondersteunde vertaling van fysieke gastadressen naar fysieke hostadressen. Intel EPT en AMD NPT bieden leverancierspecifieke implementaties.

Hoe het werkt

De eigen paginatabellen van een gast beschrijven het virtuele geheugen ervan. Een tweede toewijzing die door de hypervisor wordt beheerd, koppelt de resulterende fysieke gastadressen aan hostgeheugen en toegangsmachtigingen. De processor combineert de fasen volgens de vertaal- en cachingregels van de architectuur.

Waar het nuttig is

Een hypervisor kan voorkomen dat bepaalde vormen van shadow page tables moeten worden onderhouden en in plaats daarvan de hardware de gefaseerde afhandeling laten uitvoeren. De resterende overhead hangt af van paginagrootte, caching van geneste traversals, TLB-gedrag en de geheugenlokaliteit van de gast.

Ondersteuning en activering controleren

Identificeer de processorleverancier en controleer de bijbehorende EPT- of NPT-functionaliteit via de ondersteunde diagnostische hulpprogramma's van de hypervisor. Controleer de volledige vereisten van de functie die wordt geïmplementeerd, inclusief firmware- en besturingssysteemondersteuning.

Een gevirtualiseerde implementatie kent verschillende lagen: fysieke capaciteit, firmwaretoestemming, de actieve host-hypervisor, blootgestelde guest-capaciteiten en ondersteuning vanuit het guest-OS. Controleer de laag waar de bewerking daadwerkelijk plaatsvindt, inclusief geneste virtualisatie waar relevant.

Wat de functie niet vaststelt

SLAT is geen afzonderlijk universeel CPUID-bit, geen vervanging voor IOMMU en geen bewijs van ondersteuning voor een specifiek OS-virtualisatieproduct. Een generiek SLAT-veld vereist een leverancierspecifieke interpretatie en biedt geen garantie voor elke geavanceerde vertaalfunctie.

Compatibiliteit en prestaties in de praktijk

CPU-uitvoering, geheugenvertaling van de guest en DMA-herindeling voor apparaten zijn afzonderlijke faciliteiten. Leid passthrough of isolatie niet af uit één enkel virtualisatieveld. Gebruik de ondersteunde diagnostiek van de hypervisor en de exacte platform-/apparaatvereisten.

Een praktische controlelijst voor verificatie

  1. Noteer het exacte processor- of platformmodel en de betrokken applicatie-, OS- en runtimeversies. Behoud de formulering van de daadwerkelijke fout of vereiste.
  2. Raadpleeg de fabrikantdocumentatie voor dat exacte model en inspecteer vervolgens de effectieve capaciteit en ingeschakelde status in de omgeving waarin het programma draait.
  3. Vergelijk elke vereiste van de geselecteerde binary of backend. Een gelijknamige functie, alias of breed technologielabel is niet voldoende.
  4. Bevestig dat de applicatie de bedoelde implementatie heeft geselecteerd. Gebruik de gedocumenteerde diagnostiek en een ondersteunde terugvaloptie wanneer niet aan de vereisten wordt voldaan.
  5. Voer één ondersteunde wijziging tegelijk door en herhaal dezelfde werklast. Houd de oorspronkelijke configuratie en het herstelpad beschikbaar.

Als de functie wordt vermeld maar software deze niet kan gebruiken

Begin bij het exacte falende onderdeel. Een hardwaredatabase beschrijft geregistreerde capaciteiten; het besturingssysteem of de hypervisor kan een andere effectieve omgeving tonen. Een fout met betrekking tot een ongeldige instructie vereist ook onderzoek van de daadwerkelijke foutieve instructie en binary-build, omdat beschadiging of een niet-gerelateerde niet-ondersteunde instructie een vergelijkbaar symptoom kan veroorzaken.

Installeer de applicatie-, driver- of runtimeversie die voor het exacte platform wordt ondersteund, en gebruik indien nodig de gedocumenteerde basislijn of fallback-build van de leverancier. Een software-update kan geen instructie creëren die de processor mist. Wijzigingen in firmware en beveiligingsbeleid moeten de procedure en het herstelplan van de systeemfabrikant volgen in plaats van een generiek optimalisatierecept.

Bronnen en reikwijdte van deze uitleg

Intel 64 and IA-32 Architectures Software Developer's Manual · AMD64 Architecture Programmer's Manual, Volume 2: System Programming

Deze referenties stellen architecturaal gedrag en softwarevereisten vast. Ze verifiëren niet onafhankelijk elke functiewaarde op een gekoppelde hardwaremodelpagina. Gebruik voor modelondersteuning het fabrikantenbewijs van die pagina en controleer de effectieve systeemconfiguratie. Dit artikel biedt geen benchmark, certificering of onafhankelijke beoordelingsdatum.

Bronnen en verificatie

Redactioneel eigendom: Feex. Er is geen onafhankelijke beoordelingsdatum vastgelegd. Hoe wij onderzoek doen.

Was dit artikel nuttig?

Een ja of nee is voldoende. Kies desgewenst een reden of voeg een korte opmerking toe.

Was dit artikel nuttig?