Share via


Como a emulação x86 funciona no ARM

A emulação para aplicativos x86 disponibiliza o avançado ecossistema de aplicativos Win32 no Arm. Isso proporciona ao usuário a experiência mágica de executar um aplicativo win32 x86 existente sem nenhuma modificação no aplicativo.

As versões Arm do Windows 10 incluem a tecnologia de emulação que permite que aplicativos x86 sem modificações sejam executados em dispositivos Arm. O Windows 11 estende essa emulação para executar aplicativos x64 do Windows sem modificações em dispositivos da plataforma Arm.

APIs WOW64

Um aplicativo x86 (ou x64) não sabe nem mesmo se está em execução em um computador Windows no ARM, a menos que chame APIs específicas (IsWoW64Process2).

A camada WOW64 do Windows permite que o código x86 seja executado na versão Arm64 do Windows. A emulação x86 funciona compilando blocos de instruções x86 em instruções Arm64 com otimizações para melhorar o desempenho. Um serviço armazena em cache esses blocos de código traduzidos para reduzir a sobrecarga da tradução de instruções e possibilitar a otimização quando o código for executado novamente. Os caches são produzidos para cada módulo para que outros aplicativos possam usá-los na primeira inicialização.

Atualizando para dar suporte a uma versão Arm64 do seu aplicativo

Embora a capacidade de emular dispositivos x64 e x86 em dispositivos Arm seja um grande avanço, seu aplicativo poderá aproveitar os ganhos de desempenho nativos e as qualidades exclusivas dos dispositivos da plataforma Arm64 atualizando-o para oferecer suporte a uma versão Arm64 do aplicativo.

Confira o tópico Adicionar suporte Arm ao seu aplicativo do Windows para receber orientações sobre como criar uma versão Arm64 dos seus aplicativos e quais tipos de vantagens, desafios e ferramentas podem estar envolvidos, bem como suporte disponível para criar uma versão Arm64 do seu aplicativo (e possíveis dependências relacionadas).