Emulacion Rosetta 2 de Apple frente a Windows x86

Windows imagen relacionada

Apple ha anunciado un Rosetta 2 muy mejorado en 2020 para una transición perfecta entre Intel y Apple Silicon

Para los no iniciados, Rosetta 2 es la capa de traducción que le permite usar aplicaciones basadas en Intel en Apple Silicon Macs . Pero, ¿cómo funciona esta poderosa capa de traducción? Hay poca información sobre este tema, por lo que intentaremos analizar Rosetta 2 y comprender cómo funciona Rosetta 2.

En primer lugar, Rosetta 2 es una capa de traducción, lo que significa que traduce los conjuntos de instrucciones de la arquitectura Intel x86 a la arquitectura Apple Silicon basada en ARM. Cuando digo conjunto de instrucciones, significa los comandos (también llamados código de máquina en informática) necesarios para ejecutar un programa de una arquitectura en otra. Dado que las arquitecturas x86 y ARM son drásticamente diferentes , esta traducción es necesaria para el buen funcionamiento de las aplicaciones basadas en Intel.

Ahora surge la pregunta, ¿cómo ocurre esta traducción y cómo se las arregla Rosetta para ejecutar aplicaciones pesadas x86 en Mac ARM sin problemas? Puede atribuir la razón principal al compilador Ahead-of-time (AOT) que Apple implementó en Rosetta 2. Anteriormente con Rosetta en 2006, Apple solo usaba el compilador Just-in-time (JIT) para la traducción binaria estática. Ahora, con el compilador AOT en Rosetta 2, Apple Silicon puede traducir y compilar el código sobre la marcha a través de la traducción binaria dinámica

Lo que significa es que Rosetta 2 ahora usa el compilador AOT y JIT, según el escenario. Incluso antes de abrir una aplicación, Rosetta 2 utiliza el compilador AOT durante la instalación de la aplicación para traducir el código. Hace que la aplicación basada en Intel se comporte como una aplicación universal creada de forma nativa para Apple Silicon. En los casos en los que no se conocen los parámetros o los valores se generarán en tiempo de ejecución, Rosetta 2 utiliza JIT para la traducción en tiempo real.

En conjunto, Rosetta 2 puede traducir conjuntos de instrucciones x86 a código específico de ARM mucho antes y de una manera más rápida, lo que reduce la diferencia de rendimiento entre las aplicaciones nativas de Universal y las aplicaciones basadas en Intel.

¿Cómo funciona la emulación de Windows x86?

A diferencia de Apple, Microsoft no ha adoptado completamente ARM y ha habido un lento desarrollo en este frente. Hasta ahora, la compañía solo ha licenciado algunas computadoras portátiles con Windows basadas en ARM, incluida la Surface Pro X y algunas PC siempre conectadas de HP, Lenovo, etc. La razón principal detrás de la lenta adopción de las computadoras portátiles con Windows basadas en ARM es aparentemente la falta de Soporte para aplicaciones x86-64 bits (64 bits basadas en Intel) que cubren la mayor parte de las aplicaciones modernas de Windows.

A partir de ahora, las computadoras portátiles Windows basadas en ARM solo admiten aplicaciones nativas creadas en el conjunto de instrucciones ARM y aplicaciones basadas en Intel de 32 bits que se ejecutan a través de la emulación de Windows x86. Puede concluir que la emulación de Windows x86 ha sido un cuello de botella para una transición fluida a ARM. Llegando a la pregunta, ¿por qué Microsoft no puede lograr algo como Rosetta 2 en Windows 10?

Bueno, para responder a tu pregunta, ya lo hace. Contrariamente a la percepción popular, Microsoft utiliza en realidad el mismo enfoque que Rosetta : traducir los binarios a código de máquina a través de su capa WOW64. Según un documento de Microsoft de 2018 , “La capa WOW64 de Windows 10 permite que el código x86 se ejecute en la versión ARM64 de Windows 10. La emulación x86 funciona compilando bloques de instrucciones x86 en instrucciones 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 permitir la optimización cuando el código se vuelve a ejecutar ".

Aparte de eso, en septiembre de 2020, Microsoft anunció que el próximo año llegará una nueva emulación x86 a las computadoras portátiles con Windows basadas en ARM. Además, también brindará soporte para aplicaciones de 64 bits basadas en Intel en silicio ARM. En cuanto al compilador, hay muy poca información sobre este tema. Sin embargo, se sabe que Microsoft ha estado utilizando JIT para la traducción y compilación en tiempo real. Tendremos que esperar y ver qué tiene el nuevo emulador x86 en la tienda cuando se lance el próximo año.

Emulación Rosetta 2 de Apple frente a Windows x86: rendimiento de traducción

Si bien la nueva emulación de Windows x86 llegará el próximo año, hay algunos otros problemas que hacen que la traducción de x86 en Windows sea mucho más lenta que Rosetta. En primer lugar, macOS debe admitir solo dos arquitecturas: ARM de 64 bits y x86 de 64 bits . Apple eliminó la compatibilidad con aplicaciones de 32 bits en 2019. En comparación, Windows en ARM admite la arquitectura ARM de 32 y 64 bits; x86 de 32 bits y x86 de 64 bits que llegará el próximo año. Con tal sobrecarga de recursos, es difícil hacer que la traducción sea más rápida.

A continuación, Windows debe mantener la compatibilidad con versiones anteriores de miles de programas, complementos, herramientas, bibliotecas desactualizadas y demás. Considerando que, el estricto control de Apple sobre la plataforma garantiza que los desarrolladores estén siempre en el marco moderno para desarrollar aplicaciones, lo que a su vez ayuda a hacer una transición tan grande. Además de eso, como Apple ya ha realizado una transición exitosa de PowerPC a Intel Macs (2006-2009) en el pasado, tiene una experiencia mucho mejor para hacer algo como esto.

Por último, la diferencia de rendimiento entre el Snapdragon 8cx de Qualcomm (que se encuentra en los portátiles ARM basados ​​en Windows) y el Apple M1 es significativa. Incluso el último Snapdragon 888 está al menos una generación por detrás del Apple A14 Bionic. Hay buenas noticias. Qualcomm ha anunciado la próxima iteración del procesador de escritorio, el Snapdragon 8cx Gen 2 5G , en septiembre, y estará disponible en las computadoras portátiles con Windows basadas en ARM el próximo año. La combinación de un nuevo chip y una emulación mejorada puede ser la solución para Microsoft.

Emulación Rosetta 2 de Apple frente a Windows x86: ¿Cuál es el ganador?

Está claro que Rosetta 2 es bastante potente y Apple ha hecho un trabajo fantástico al brindar soporte de aplicaciones para programas basados ​​en Intel. En la actualidad, Windows on ARM puede no parecer tan prometedor, pero dado el anuncio de Microsoft del nuevo método de emulación, seguramente genera esperanzas para los usuarios de Windows. Quedará por ver si Microsoft supera a Apple en el próximo trimestre. De todos modos, eso es todo de nosotros

Gracias por visitar este sitio, espero que te haya gustado y vuelvas proximamente, compartela en las redes sociales, gracias

Compartir en Facebook Compartir en twitter

Fecha actualización el 2021-12-05. Fecha publicación el 2020-12-05. Categoría: windows Autor: Oscar olg Mapa del sitio Fuente: thewindowsclub