Microsoft Prism mejora y es clave para Windows sobre ARM
Microsoft Prism es el motor de emulación usado en Windows sobre ARM y la firma de Redmond dice que lo ha vuelto a mejorar en la última versión de Windows 11, la build 27744 lanzada en el canal Insider para las correspondientes pruebas de la versión.
Microsoft lleva persiguiendo la viabilidad de Windows sobre ARM hace más de una década, desde el lanzamiento del tablet Surface RT. Fue un fiasco que provocó pérdidas cercanas a los 1.000 millones de dólares y, según las malas lenguas, el principio del fin para que CEO de la época, Steve Ballmer, fuera relevado por el actual, Satya Nadella. Microsoft ha seguido intentándolo, sin ningún éxito, por dos causas fundamentales: bajo nivel de hardware y emulación de aplicaciones x86 deficiente.
La transición exitosa de Apple ‘ha sacado los colores’ al resto de la industria y el gigante del software se encuentra actualmente en el enésimo intento con los Copilot+ PC que han llegado con chips ARM de Qualcomm. Parece evidente que si Microsoft quiere conseguir que la plataforma Windows sobre ARM sea por fin una alternativa al Windows estándar y también competencia a los Mac de Apple que hasta ahora han sido inalcanzables, es absolutamente fundamental que el emulador usado para poder ejecutar software no nativo mejore en rendimiento y compatibilidad.
Microsoft Prism, mejora
Hay que recordar que la inmensa mayoría de las aplicaciones para PC Windows todavía se programan para procesadores x86. Y hay miles y miles anteriores que se usan por millones de usuarios. Si quieren usarse en equipos con arquitectura ARM deben emularse. Microsoft Prism traduce el código subyacente del software creado para los binarios x86-64 tradicionales que utilizan las CPUs Intel y AMD. El problema es que cualquier emulador tiene costes de rendimiento y compatibilidad.
Microsoft ha estado presionando a los desarrolladores de aplicaciones para que creen software nativo para ARM, pero cambiarlo todo llevará tiempo y el emulador seguirá siendo un componente fundamental durante los próximos años. Y hay que reconocer que las mejoras del Microsoft Prism han sido constantes. Siguiendo el ejemplo de Apple con su programa de emulación Rosetta, la firma de Redmond ofrece a los desarrolladores una interfaz binaria de aplicaciones (ABI) ARM64EC, lo que les ha ido permitiendo gradualmente reemplazar secciones de binarios x64 (64 bits) en sus aplicaciones con código nativo de ARM para mejorar el rendimiento.
La última actualización de Windows 11 ha añadido mejoras en varias instrucciones de CPU x86 al emulador, incluidas AVX y AVX2, BMI, FMA, F16C y otras. La compatibilidad con estas funciones ya se está utilizando en la versión comercial de Windows 11, versión 24H2, para ejecutar aplicaciones como el Adobe Premiere Pro 25 en ARM. Esta versión amplía esta compatibilidad a cualquier aplicación x64 bajo emulación, Aunque se excluye el software de 32 bits programado para x86, el avance es muy importante porque realmente el software de 64 bits es el importante aquí.
Microsoft aseguró en su momento, que los nuevos PC Windows sobre ARM tendrían «una emulación de aplicaciones más rápida que Rosetta 2», la última capa de compatibilidad de aplicaciones que Apple usa para traducir aplicaciones compiladas originalmente para procesadores Intel x86 a los propios procesadores ARM de Apple.
Veremos si las promesas pueden convertirse en realidades. Soportar el enorme ecosistema de Windows y especialmente las aplicaciones Win32 que Microsoft quisiera fulminar, pero que se usan por millones de usuarios, es una tarea titánica y hasta ahora, el problema principal para lanzar un Windows sobre ARM viable.