Microsoft mejora la emulación de ejecutables x86-64 en Windows para ARM

De esta manera, la compañía de Redmond busca facilitar la entrada de ordenadores basados en ARM en el sector profesional.
13 de noviembre, 2024
Microsoft mejora la emulación de ejecutables x86-64 en Windows para ARM

Desde hace años que fabricantes de microprocesadores de arquitectura ARM cómo Qualcomm, intentan hacerse un hueco en el mercado de los ordenadores, especialmente en el ámbito de los portátiles, equipados con el Windows de Microsoft, y que topan siempre con la misma piedra: la escasa disponibilidad de software para estos equipos ARM.

Es por ello que, emulando a Apple cuando esta última hizo la transición desde la arquitectura Motorola 68000 a la PowerPC, así como las subsiguientes transiciones a las arquitecturas x86-64 y Apple Silicon, Microsoft también ha incluido un mecanismo para “traducir” en tiempo de ejecución (esto es, a tiempo real) el código compilado para x86-64 al juego de instrucciones de un procesador ARM, de manera que este último puede ejecutar, sin tener que recompilarlo, un programa para un ordenador “tradicional”.

Este emulador, que se llama Prism, no ofrece una compatibilidad total, de manera que no funciona todo el vasto catálogo de aplicaciones disponibles para Windows sobre plataforma x86-64, y su rendimiento tampoco es cómo su estuviéramos ejecutando la aplicación sobre un micro x86 nativo.

Es por ello que, ahora, Microsoft ha anunciado mejoras en la compatibilidad de este componente en la nueva Insider Preview Build 27744 de Windows 11 en el Canal Canary.

La actualización de Prism, que ya se encontraba en uso limitado en la versión comercial de Windows 11 24H2 para habilitar Adobe Premiere Pro 25 en ARM, ahora se extiende a cualquier aplicación x64 bajo emulación. Esto significa que aplicaciones y juegos que anteriormente no podían ejecutarse debido a requisitos específicos del procesador, podrían funcionar en esta nueva compilación, aunque Microsoft o puede asegurarlo con cada aplicación concreta.

Y es que Windows es un sistema operativo tan extendido en el mundo, que existen miles de desarrolladores de los cuáles Microsoft no tiene noticia, no sabe lo que desarrollan y, consecuentemente, las necesidades de estos programas respecto a lo que necesitan del sistema. Por lo tanto, es muy complicado (una tarea hercúlea, casi imposible) adecuar el emulador para que pueda lidiar correctamente con todas las aplicaciones desarrolladas para Windows en x86-64.

Soporte para nuevas características de CPU

A nivel técnico, la CPU virtual utilizada por las aplicaciones x64 emuladas a través de Prism, ahora es compatible con extensiones adicionales del conjunto de instrucciones x86, que incluyen AVX, AVX2, BMI, FMA y F16C, entre otras.

Estas extensiones no son necesarias para ejecutar Windows, pero se han vuelto lo suficientemente comunes como para que algunas aplicaciones las requieran. Herramientas como Coreinfo64.exe pueden mostrar algunas de estas nuevas características.

Es importante destacar que, en esta versión preliminar, solo las aplicaciones x64 pueden aprovechar estas nuevas funciones de CPU. Las aplicaciones de 32 bits o aquellas de 64 bits que utilizan un componente de 32 bits para detectar el soporte de funciones de la CPU, no podrán detectar las nuevas características en Prism.

Entre las aplicaciones que, a partir de ahora, los usuarios van a poder correr en sus ordenadores Windows basados en la arquitectura ARM cómo las de la gama Surface de Microsoft se encuentra, por ejemplo, el Adobe Premiere Pro 25, un programa muy exigente a nivel del hardware que necesita para correr con soltura.

Llamamiento al feedback de los usuarios

Microsoft invita a los miembros del programa Insider interesados en probar aplicaciones y juegos con esta versión preliminar de Prism, a proporcionar comentarios sobre su funcionamiento y rendimiento a la compañía.

Se solicita informar sobre problemas de compatibilidad o regresiones de rendimiento a través del Feedback Hub (Win + F) bajo la categoría de Aplicaciones y la aplicación específica en cuestión.