Fonctionnement de l’émulation x86 sur Arm

L’émulation pour les applications x86 rend le riche écosystème d’applications Win32 disponible sur Arm. Cela offre à l’utilisateur l’expérience magique de pouvoir exécuter une application win32 x86 existante sans aucune modification de l’application.

Les versions Arm de Windows 10 incluent une technologie d’émulation qui permet aux applications x86 non modifiées existantes de s’exécuter sur des appareils Arm. Windows 11 étend cette émulation pour exécuter des applications Windows x64 non modifiées sur des appareils Arm.

API WOW64

Une application x86 (ou x64) ne sait même pas qu’elle s’exécute sur un PC Windows sur Arm, sauf si elle appelle des API spécifiques (IsWoW64Process2).

La couche WOW64 de Windows permet au code x86 de s’exécuter sur la version Arm64 de Windows. L’émulation x86 fonctionne en compilant des blocs d’instructions x86 dans des instructions Arm64, avec des optimisations pour améliorer le niveau de performance. Un service met en cache ces blocs de code traduits pour réduire le traitement de la traduction des instructions et permettre l’optimisation lorsque le code s’exécute à nouveau. Les caches sont générés pour chaque module, afin que d’autres applications puissent les utiliser lors du premier lancement.

Mise à jour pour prendre en charge une version Arm64 de votre application

Bien que la possibilité d’émuler des applications x64 et x86 sur des appareils Arm soit une étape importante, votre application peut être en mesure de tirer parti des gains de performance natifs et des qualités uniques des appareils Arm64 en effectuant une mise à jour pour prendre en charge une version Arm64 de l’application.

Consultez Ajouter la prise en charge Arm à votre application Windows pour obtenir des conseils sur la création d’une version Arm64 de vos applications et sur les avantages, les défis et les outils qui peuvent être impliqués, ainsi que sur le support disponible pour créer une version Arm64 de votre application (et de toutes les dépendances associées).