NPT e RVI
Também chamado de NPT / RVI
NPT, Nested Page Tables, é o recurso de tradução de memória de convidado em segundo estágio da AMD, também associado a Rapid Virtualization Indexing, RVI. É o equivalente da AMD em finalidade ao Intel EPT.
O que você precisa saber
NPT, Nested Page Tables, é o recurso de tradução de memória de convidado em segundo estágio da AMD, também associado a Rapid Virtualization Indexing, RVI. É o equivalente da AMD em finalidade ao Intel EPT.
Como funciona
As tabelas de páginas do convidado traduzem primeiro endereços virtuais do convidado para endereços físicos do convidado. Tabelas de páginas aninhadas controladas pelo hipervisor traduzem endereços físicos do convidado para endereços físicos do sistema. Ambos os estágios de tradução e suas permissões participam de um acesso à memória, com comportamento definido de falhas e invalidações.
Onde é útil
Uma VM pode gerenciar seus próprios espaços de endereçamento enquanto o host mapeia a memória do convidado nas páginas físicas reais da máquina. Um hipervisor deve tratar corretamente as alterações de mapeamento e os caches de tradução em vez de tratar a paginação aninhada como uma consulta estática fixa.
Como verificar o suporte e a ativação
Enumere a folha de recursos AMD SVM para paginação aninhada após confirmar o intervalo de folhas estendidas e o suporte a SVM. Verifique se o hipervisor realmente ativa e suporta a configuração desejada, incluindo quaisquer requisitos de convidado aninhado.
Uma implantação virtualizada possui várias camadas: capacidade física, permissão do firmware, o hipervisor host ativo, capacidades expostas ao convidado e suporte do SO convidado. Verifique a camada em que a operação realmente é executada, incluindo virtualização aninhada quando relevante.
O que o recurso não estabelece
NPT não implica isolamento de dispositivos por IOMMU, SEV ou todas as opções de páginas grandes e virtualização aninhada. RVI não é uma instrução adicional que as aplicações ativam. A sobrecarga de tradução reduzida depende da carga de trabalho, em vez de ser um multiplicador universal de desempenho.
Compatibilidade e desempenho na prática
Execução de CPU, tradução de memória do convidado e remapeamento de DMA de dispositivos são recursos separados. Não deduza passagem direta ou isolamento a partir de um único campo de virtualização. Use os diagnósticos suportados do hipervisor e os requisitos exatos da plataforma/dispositivo.
Uma lista de verificação prática de verificação
- Registre o modelo exato do processador ou da plataforma e as versões envolvidas do aplicativo, SO e runtime. Mantenha o texto exato do erro ou requisito.
- Consulte a referência do fabricante para esse modelo exato e, em seguida, inspecione a capacidade efetiva e o estado ativado no ambiente em que o programa é executado.
- Compare cada requisito do binário ou backend selecionado. Um recurso com nome semelhante, alias ou rótulo genérico de tecnologia não é suficiente.
- Confirme se o aplicativo selecionou a implementação pretendida. Use seus diagnósticos documentados e um fallback suportado quando os requisitos não forem atendidos.
- Faça uma alteração suportada por vez e repita a mesma carga de trabalho. Mantenha a configuração original e o caminho de recuperação disponíveis.
Se o recurso estiver listado, mas o software não puder usá-lo
Comece pelo componente exato com falha. Um banco de dados de hardware descreve a capacidade registrada; o sistema operacional ou o hipervisor pode expor um ambiente efetivo diferente. Um erro de instrução ilegal também precisa de investigação da instrução falha real e da compilação do binário, porque corrupção ou uma instrução não suportada não relacionada pode produzir um sintoma semelhante.
Instale a versão do aplicativo, driver ou runtime suportada para a plataforma exata e use a compilação de linha de base ou fallback documentada do fornecedor, se necessário. Uma atualização de software não pode criar uma instrução que o processador não possui. As alterações de firmware e de política de segurança devem seguir o procedimento do fabricante do sistema e um plano de recuperação em vez de uma receita genérica de otimização.
Fontes e escopo desta explicação
AMD CPUID Specification, publicação 25481 · AMD64 Architecture Programmer's Manual, Volume 2: System Programming
Essas referências estabelecem o comportamento arquitetural e os requisitos de software. Elas não verificam de forma independente cada valor de recurso em uma página de modelo de hardware vinculada. Para obter suporte a modelos, use a evidência do fabricante dessa página e verifique a configuração efetiva do sistema. Este artigo não fornece um benchmark, certificação ou data de análise independente.
Fontes e verificação
Propriedade editorial: Feex. Nenhuma data de revisão independente foi registrada. Como pesquisamos.
- AMD CPUID Specification, publicação 25481 · Referência arquitetural arquivada para funções de CPUID da AMD e definições de bits estabelecidas. Use a referência de programação do processador atual para extensões específicas de gerações posteriores.
- AMD64 Architecture Programmer's Manual, Volume 2: System Programming · Programação do sistema, SVM e tradução aninhada, revisão 3.46. O visualizador de documentação atual requer JavaScript; URLs de documentos mais antigos podem ter sido descontinuadas.
Este artigo foi útil?
Um sim ou não é suficiente. Escolha um motivo se desejar, ou adicione uma breve observação.
Obrigado. Isso nos ajuda a melhorar esta página.