Funcionamiento de la emulación de x86 en ARM

La emulación de aplicaciones x86 hace que el rico ecosistema de aplicaciones Win32 esté disponible en Arm. Esto proporciona al usuario la experiencia mágica de ejecutar una aplicación win32 x86 existente sin ninguna modificación en la aplicación.

Las versiones Arm de Windows 10 incluyen tecnología de emulación que permite ejecutar aplicaciones x86 sin modificar en dispositivos Arm. Windows 11 amplía esa emulación para ejecutar aplicaciones Windows x64 sin modificar en dispositivos con tecnología Arm.

API WOW64

Una aplicación x86 (o x64) ni siquiera sabe que se está ejecutando en un PC con Windows en Arm, a menos que llame a API específicas (IsWoW64Process2).

La capa WOW64 de Windows permite que el código x86 se ejecute en la versión Arm64 de Windows. La emulación x86 funciona mediante la compilación de bloques de instrucciones x86 en instrucciones de Arm64 con optimizaciones para mejorar el rendimiento. Un servicio almacena en caché estos bloques de código traducidos para reducir la sobrecarga de la traducción de instrucciones y permite la optimización cuando el código se ejecuta de nuevo. Las memorias caché se generan para cada módulo para que otras aplicaciones puedan usarlas en el primer inicio.

Actualizar para admitir una versión Arm64 de la aplicación

Aunque la capacidad de emular x64 y x86 en dispositivos Arm es un gran paso adelante, la aplicación puede aprovechar las mejoras de rendimiento nativo y las cualidades únicas de los dispositivos Arm64 actualizándose para admitir una versión Arm64 de la aplicación.

Consulte Agregar compatibilidad con Arm a la aplicación de Windows para obtener instrucciones sobre cómo crear una versión Arm64 de las aplicaciones y qué tipo de ventajas, desafíos y herramientas pueden estar implicadas, así como la compatibilidad disponible para crear una versión Arm64 de la aplicación (y cualquier dependencia relacionada).