Como a emulação x86 funciona no ARMHow x86 emulation works on ARM

A emulação para aplicativos x86 disponibiliza o ecossistema avançado de aplicativos Win32 no ARM.Emulation for x86 apps makes the rich ecosystem of Win32 apps available on ARM. Isso fornece ao usuário a experiência mágica da execução de um aplicativo win32 x86 existente sem nenhuma modificação no aplicativo.This provides the user the magical experience of running an existing x86 win32 app without any modifications to the app. O aplicativo não sabe nem mesmo se está em execução em um computador Windows no ARM, a menos que chame APIs específicas (IsWoW64Process2).The app doesn’t even know that it is running on a Windows on ARM PC, unless it calls specific APIs (IsWoW64Process2).

A camada WOW64 do Windows 10 permite que o código x86 seja executado na versão ARM64 do Windows 10.The WOW64 layer of Windows 10 allows x86 code to run on the ARM64 version of Windows 10. A emulação x86 funciona compilando blocos de instruções x86 em instruções de ARM64 com otimizações para melhorar o desempenho.x86 emulation works by compiling blocks of x86 instructions into ARM64 instructions with optimizations to improve performance. Um serviço armazena em cache esses blocos de código convertidos para reduzir a sobrecarga de conversão de instrução e permitir a otimização quando o código for executado novamente.A service caches these translated blocks of code to reduce the overhead of instruction translation and allow for optimization when the code runs again. Os caches são gerados para cada módulo para que outros aplicativos possam utilizá-los na primeira inicialização.The caches are produced for each module so that other apps can make use of them on first launch.

Para obter mais detalhes sobre essas tecnologias, consulte o vídeo do Channel9 Windows 10 no ARM.For more details about these technologies, see the Windows 10 on ARM Channel9 video.