Second-Level Address Translation
Second-Level Address Translation, SLAT, er en generel betegnelse for hardwareassisteret oversættelse fra gæstefysiske til værtsfysiske adresser. Intel EPT og AMD NPT leverer leverandørspecifikke implementeringer.
Hvad du behøver at vide
Second-Level Address Translation, SLAT, er en generel betegnelse for hardwareassisteret oversættelse fra gæstefysiske til værtsfysiske adresser. Intel EPT og AMD NPT leverer leverandørspecifikke implementeringer.
Sådan virker det
En gæsts egne sidetabeller beskriver dens virtuelle hukommelse. En sekundær tilknytning styret af hypervisoren knytter de resulterende gæstefysiske adresser til værtshukommelse og adgangstilladelser. Processoren kombinerer stadierne under arkitekturens oversættelses- og cachingregler.
Hvor det er nyttigt
En hypervisor kan undgå at vedligeholde visse former for skyggesidetabeller og i stedet lade hardware udføre den trinvise gennemgang. Den resterende overhead afhænger af sidestørrelse, caching af indlejret gennemgang, TLB-adfærd og gæstehukommelseslokalitet.
Sådan kontrolleres understøttelse og aktivering
Identificer processorleverandøren, og kontroller den tilsvarende EPT- eller NPT-kapacitet via hypervisorens understøttede diagnosticering. Kontroller de fuldstændige krav til den funktion, der udrulles, herunder firmware- og OS-understøttelse.
En virtualiseret udrulning har flere lag: fysisk kapacitet, firmwaretilladelse, den aktive værtshypervisor, udstillede gæstekapaciteter og understøttelse i gæste-OS. Kontroller det lag, hvor handlingen faktisk kører, inklusive indlejret virtualisering, når det er relevant.
Hvad funktionen ikke fastslår
SLAT er ikke en separat universel CPUID-bit, en erstatning for IOMMU eller bevis på understøttelse af et bestemt OS-virtualiseringsprodukt. Et generisk SLAT-felt kræver en leverandørspecifik tolkning og etablerer ikke enhver avanceret oversættelsesfunktion.
Kompatibilitet og ydeevne i praksis
CPU-udførelse, gæstehukommelsesoversættelse og enheds-DMA-omlægning er separate faciliteter. Udled ikke gennemstilling eller isolering fra et enkelt virtualiseringsfelt. Brug hypervisorens understøttede diagnosticering og nøjagtige platforms-/enhedskrav.
En praktisk tjekliste til verifikation
- Registrer den nøjagtige processor- eller platformsmodel samt de involverede applikations-, OS- og runtime-versioner. Bevar formuleringen af den faktiske fejl eller det faktiske krav.
- Tjek producentreferencen for den nøjagtige model, og undersøg derefter den effektive kapacitet og aktiverede tilstand i det miljø, hvor programmet kører.
- Sammenlign ethvert krav for den valgte binære fil eller backend. En funktion med et lignende navn, et alias eller en bred teknologimærkat er ikke tilstrækkelig.
- Bekræft, at applikationen har valgt den tilsigtede implementering. Brug dens dokumenterede diagnosticering og et understøttet fallback, når kravene ikke er opfyldt.
- Foretag en enkelt understøttet ændring ad gangen, og gentag den samme arbejdsbelastning. Hold den oprindelige konfiguration og gendannelsessti tilgængelig.
Hvis funktionen er anført, men softwaren ikke kan bruge den
Start med den nøjagtige komponent, der fejler. En hardwaredatabase beskriver registreret kapacitet; operativsystemet eller hypervisoren kan udstille et andet effektivt miljø. En illegal-instruction-fejl kræver også undersøgelse af den faktiske fejlbehæftede instruktion og det binære build, fordi korruption eller en urelateret ikke-understøttet instruktion kan frembringe et lignende symptom.
Installer den applikations-, driver- eller runtime-version, der understøttes til den nøjagtige platform, og brug om nødvendigt leverandørens dokumenterede baseline eller fallback-build. En softwareopdatering kan ikke oprette en instruktion, som processoren mangler. Ændringer i firmware og sikkerhedspolitik bør følge systemproducentens procedure og en genopretningsplan frem for en generisk optimeringsopskrift.
Kilder og denne forklaringens omfang
Intel 64 and IA-32 Architectures Software Developer's Manual · AMD64 Architecture Programmer's Manual, Volume 2: System Programming
Disse referencer fastlægger arkitektonisk adfærd og softwarekrav. De verificerer ikke uafhængigt enhver funktionsværdi på en tilknyttet hardwaremodelside. For modelunderstøttelse skal du bruge den pågældende sides producentdokumentation og kontrollere den effektive systemkonfiguration. Denne artikel leverer ikke et benchmark, en certificering eller en uafhængig revisionsdato.
Kilder og verificering
Redaktionelt ejerskab: Feex. Ingen uafhængig revisionsdato er registreret. Sådan undersøger vi.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Bind 1 og 2 beskriver de navngivne instruktionsfamilier og CPUID; Bind 3 beskriver tilstands-, sideinddelings-, VMX- og beskyttelseskontroller. Arkitekturdokumentation fastslår ikke understøttelse for en bestemt model.
- AMD64 Architecture Programmer's Manual, Volume 2: System Programming · Systemprogrammering, SVM og indlejret oversættelse, revision 3.46. Den aktuelle dokumentfremviser kræver JavaScript; ældre dokument-URL'er kan være blevet udfaset.
Var denne artikel nyttig?
Et ja eller nej er nok. Vælg en grund, hvis du vil, eller tilføj en kort bemærkning.
Tak. Det hjælper os med at forbedre denne side.