En diciembre de 2016,Qualcomm y Microsoft anunciaron que iban a hacer algo que muchos en el sector de los dispositivos móviles no esperaban: otro intento de hacer que Windows se ejecutara en un procesador ARM. Pero las similitudes entre este nuevo intento y los anteriores, empañados por el lanzamiento de Windows RT, se desmintieron rápidamente.
Durante el mismo anuncio, Windows lanzó una demostración técnica en YouTube que mostraba que ya era posible tener un Windows "normal". No se trataba de programas recompilados utilizando el conjunto de instrucciones ARM de forma nativa, sino de aplicaciones de 32 bits (como Photoshop) que se ejecutaban y se comportaban como se esperaba en un proceso de escritorio, pero esta vez en Snapdragon.
Lo que nos impulsó a emprender este viaje fue unaentrada reciente en el blog de Intel la semana pasada, en la que se promocionaban los 40 años de la arquitectura Intel. Lo que atrajo la atención de la mayoría de las noticias fue lo que se decía al final de la entrada del blog (el énfasis es nuestro):
"Sin embargo, ha habido informes de que algunas empresas podrían intentar emular la ISA x86 propietaria de Intel sin la autorización de Intel. La emulación no es una tecnología nueva, y Transmeta fue notablemente la última empresa en afirmar haber producido un procesador x86 compatible utilizando técnicas de emulación ("modificación de código"). Intel hizo valer patentes relacionadas con mejoras del conjunto de instrucciones SIMD contra la implementación x86 de Transmeta a pesar de que utilizaba emulación. En cualquier caso, Transmeta no tuvo éxito comercial y abandonó el negocio de los microprocesadores hace 10 años.
"Sólo el tiempo dirá si los nuevos intentos de emular la ISA x86 de Intel tendrán un destino diferente. Intel da la bienvenida a la competencia legal y confiamos en que los microprocesadores de Intel, que han sido específicamente optimizados para implementar la ISA x86 de Intel durante casi cuatro décadas, ofrecerán experiencias sorprendentes, consistencia en todas las aplicaciones y una amplia gama de ofertas para el consumidor, capacidad de gestión completa e integración de TI para la empresa.Sin embargo, no damos la bienvenida a la infracción ilegal de nuestras patentes y esperamos plenamente que otras empresas sigan respetando los derechos de propiedad intelectual de Intel. Las sólidas protecciones de la propiedad intelectual hacen posible que Intel continúe invirtiendo los enormes recursos necesarios para avanzar en la dinámica ISA x86 de Intel, e Intel mantendrá su vigilancia para proteger sus innovaciones e inversiones".
El momento de esta entrada del blogla relacionó rápidamente con otros anuncios durante Computex 2017en Taiwán hace unas semanas. Al principio parece extraño que Intel haya esperado tanto tiempo para lanzar lo que la mayoría ahora cree que fue un disparo de advertencia hacia Qualcomm y Microsoft. La entrada del blog específicamente lo dejó lo suficientemente vago como para que no pudiera vincularse directamente con la asociación Qualcomm-Microsoft. Al buscar, no se encontró ninguna otra discusión reciente sobre la emulación x86 que justificara esta respuesta. Esto solo magnificó aún más quién era el objetivo previsto del equipo legal de Intel: Qualcomm y Microsoft. Esto nos dejó con muchas preguntas. Durante la investigación de este artículo, algunas de las preguntas fueron respondidas, y las repasaremos. Pero hay preguntas que también siguen sin respuesta, tanto de la consulta original como ahora como resultado de la información proporcionada por las tres partes. Apreciamos el hecho de que los tres (Intel, Qualcomm y Microsoft) estuvieran dispuestos a responder a nuestras solicitudes.
Confirmado Windows 10 ARM
Una de las primeras preguntas que naturalmente se tuvieron que responder fue entender qué es y qué no es esta versión de Windows. Afortunadamente, Microsoft nos proporcionó un enlace a un video publicado durante Build 2017 que detalla gran parte de esta información:
https://channel9.msdn.com/Events/Build/2017/P4171/player
Dado que solo un puñado de sitios cubrieron esto en el momento del lanzamiento, parece haber pasado desapercibido para muchos. Esto nos ofrece varios puntos importantes, el más importante de todos ellos es quese trata, sin duda, de un Windows 10 ARM completo. Y está claro que Microsoft se tomó en serio los problemas que enfrentaba Windows RT, en particular la incapacidad de ejecutar aplicaciones x86 en la plataforma. El nuevo enfoque ofrece una solución a esto con lo que se describe tanto en el video como en comunicados de prensa anteriores comoemulación x86 a través de la capa Windows on Windows, que es la parte que llamó la atención de Intel. Pero, ¿es esto realmente una emulación x86?Veamos la diapositiva del video que nos lo explica.
Crusoe Versus WoW de Transmeta para ARM64
Dado que Intel eliminó la referencia a Transmeta en su entrada del blog, volvamos a unartículo de ArsTechnica que trataba sobre la CPU en el año 2000.Después de una revisión de los dos, cabe destacar que existen similitudes y diferencias muy reales entre ellos. En el caso de Transmeta y sus procesadores Crusoe, el trabajo de estos procesadores era principalmente ejecutar una capa de software dentro del procesador llamadaCode Morphing. Esta capa de software, muy por debajo de las capas de aplicación e incluso del núcleo, es la que traducía los conjuntos de instrucciones x86 en comandos de hardware que el Crusoe podía ejecutar.
También es importante señalar que el fin de Transmeta en el mercado x86no fuela contrademanda que Intel presentó contra Transmeta en 2007.Transmeta probablemente instigó la contrademanda al intentar demandar a Intel por violación de propiedad intelectual; hasta ese momento, Intel los había dejado en paz.La salida de Transmeta fue unadecisión de su junta directiva de que ya no era viable, centrándose en cambio en su propiedad intelectual para permanecer en el negocio.
En el caso de Qualcomm y Microsoft, no parece que esto se esté haciendo en una capa de instrucciones de máquina. En cambio, lo que parece estar ocurriendo aquí es muy parecido a la utilización de aplicaciones de 32 bits en un sistema operativo de 64 bits. En el caso de las aplicaciones de 32 bits en un sistema operativo de 64 bits, Microsoft invirtió tiempo y recursos para crear un límite que permita que las aplicaciones de 32 bits se ejecuten sin problemas dentro del sistema operativo de 64 bits: esto se llamaWindows en Windows o WOW. En el caso de ARM se ha creado este mismo límite; la principal diferencia es que en lugar de ejecutar las instrucciones x64 adecuadas, se utiliza el conjunto de instrucciones y la capa ARM64. A medida que se producen estas traducciones, Windows almacenará en caché una copia de esto, ya sea en el almacenamiento o en la RAM, para su uso posterior en el futuro, lo que reduce la sobrecarga de llamadas similares más adelante.
La “salsa especial” de las DLL de CHPE
Hacer esto para cada instrucción posible requeriría una gran cantidad de trabajo adicional; de hecho, esta es una de las cosas con las que Crusoe tuvo problemas en las pruebas de rendimiento. También hemos visto esto en los intentos de emular sistemas operativos x86 a través de proyectos comoQEMU. Microsoft aborda esto además con lo que ellos llaman DLL ejecutables portátiles híbridos compilados (CHPE). Para comprender esto se necesita mucha lectura, y uno de los lugares para comenzar sería eldocumento técnico de especificación de formato de archivo PE. La versión actual incluye información específicamente para ARM64 y ofrecerá a los programadores y a aquellos que deseen obtener una comprensión más profunda de estos mecanismos internos un buen punto de partida. En pocas palabras, muchas de las llamadas API críticas que ayudan a que Windows funcione han sido precompiladas para ARM64 para que, en lugar de tener que traducirlas, puedan ejecutarse con un rendimiento nativo casi completo.
Al ver el trabajo que Microsoft ha puesto en esto, asociándose con Qualcomm y su Snapdragon 835, está claro que Microsoft está decidido a corregir los errores que muchos sintieron sobre Windows RT y demostrar que finalmente pueden ofrecer Windows 10 ARM de una manera que funcione para la mayoría de los consumidores. Y tiene mucho sentido desde una perspectiva: la absoluta necesidad de obtener el mayor rendimiento con el menor uso de batería. Si bien Intel ha hecho grandes avances en la escena, ARM, y particularmente Qualcomm, han establecido el punto de referencia en el equilibrio del rendimiento móvil con las necesidades de movilidad. Qualcomm puede ofrecer un paquete de placa completa que permite radio, pantalla, procesador, gráficos y aún así lograrlo al mismo tiempo que ofrece una duración de batería impresionante.
Lo único que Qualcomm no ha tenido es una forma de añadir soporte de procesamiento mediante Thunderbolt. Resulta un tanto irónico que el propio intento de Intelde ayudar a que crezca y se difunda la tecnologíamuy bien podría acabar utilizándose para competir con ella. Un dispositivo móvil basado en ARM, como una tableta, con la capacidad de interactuar completamente y aprovechar recursos adicionales a través de una base definitivamente añadiría competencia no sólo en este segmento en particular, sino en otras partes del mercado de la informática personal.
Qualcomm, Microsoft e Intel responden
Microsoft y Qualcomm tienen un interés personal en que esto tenga éxito y, sin duda, creen que la informática personal es una parte del mercado que está madura para la competencia. Cuando contactamos a Qualcomm para solicitarle comentarios, un portavoz de Qualcomm respondió lo siguiente:
"En vista de nuestro reciente anuncio con ASUS, HP y Lenovo, nos pareció muy interesante el blog que uno de nuestros competidores publicó el 8 de junio. Esperamos con ansias el lanzamiento de la PC con Windows 10 siempre conectada impulsada por la plataforma Qualcomm Snapdragon 835 Mobile PC a finales de este año. Como se mostró en Computex 2017 junto con Microsoft, la plataforma Snapdragon 835 Mobile PC brinda una verdadera experiencia de PC siempre conectada con soporte para conectividad Gigabit LTE y duración de batería durante todo el día para diseños elegantes, delgados y sin ventilador. Esto cambiará el futuro de la informática personal".
De manera similar, un portavoz de Microsoft ofreció una declaración además del enlace al vídeo de arriba:
"Hay usuarios que necesitan estar conectados a la nube en todo momento, aprovechando la última tecnología de red como Gigabit LTE y eSIM. Microsoft está colaborando con su ecosistema en una visión compartida que comienza con una estrecha asociación en la capa de silicio, con Intel y Qualcomm, y con sus socios operadores móviles para proporcionar una conectividad eSim perfecta. Los socios de dispositivos de Microsoft, incluidos ASUS, HP, Huawei, Lenovo, VAIO y Xiaomi, están comprometidos con esta nueva categoría de PC siempre conectados que utilizan tecnología eSim.
Además, ASUS, HP y Lenovo contarán con dispositivos Always Connected, con el chipset Qualcomm Snapdragon 835. Estos nuevos dispositivos contarán con Windows 10, conectividad LTE siempre activa y una gran duración de batería.
La respuesta de Intel fue tan cautelosa como su entrada en el blog. De un portavoz de Intel:
"Intel respeta los derechos de propiedad intelectual y esperamos que los demás hagan lo mismo. La tecnología x86 es exclusiva y fundamental para nuestro negocio, y nos preocupamos cada vez que parece que otros la están copiando de forma inapropiada. Evaluaremos exhaustivamente cualquier producto que pretenda emular la tecnología x86 y haremos cumplir rigurosamente nuestros derechos de propiedad intelectual si creemos que se están infringiendo".
Análisis y conclusión
Parece que estos tres están realizando un baile muy elegante. Y al mismo tiempo, dado que los rumores ya circulabanen noviembre del año pasado(semanas antes de que se anunciara en WinHEC), parece extraño que Intel no estuviera al tanto de esto antes de Computex, lo admitieran públicamente o no. Al mismo tiempo, la historia (como con Transmeta Crusoe y WoW64) muestra que no hay mucho que pueda cuestionarlo desde una perspectiva legal. Pero en el momento en que alguien menciona las palabras "emulación x86", como lo que Microsoft y Qualcomm habían estado haciendo hasta Computex, es solo cuestión de tiempo antes de que suficientes voces preocupadas y accionistas exijan que Intel responda.
¿Cambiará esto el proyecto en el que están trabajando Microsoft y Qualcomm? Me puse en contacto con Anshel Sag, analista asociado de Moor Insights & Strategy, para conocer su opinión al respecto. (Nota del colaborador: el Sr. Sag, como analista de la industria, también fue muy importante para llegar a las personas adecuadas para obtener respuestas oportunas de Intel, Microsoft y Qualcomm). Su respuesta:
“A juzgar por la respuesta que he visto de Qualcomm, no parece que estén en lo más mínimo preocupados por los comentarios de Intel. Microsoft, naturalmente, no ha dicho nada debido a su estrecha relación con Intel, que creo que esto está tensando un poco. Creo que la competencia siempre es buena para el mercado y creo que Microsoft también lo cree”.
Un lanzamiento exitoso de Windows 10 ARM representa un riesgo para Intel en un momento en el que enfrenta una mayor competencia en otros segmentos de su negocio. Comotambién hemos cubierto en Computex,AMD está a punto de acelerar y lanzar sus procesadores para servidores Epyc basados en la arquitectura Zen. Su línea de productos para consumidores, Ryzen, también continuará con la competencia al expandirse tanto a los segmentos de escritorio para entusiastas de alta gama como a los móviles. La competencia de ARM64, como Qualcomm, sin duda desafiaría sus segmentos integrados, Atom y Core M.
Al mismo tiempo que destacaron los dispositivos "siempre conectados", vimos a Microsoft destacar sus esfuerzos por impulsar dispositivos de realidad mixta y realidad aumentada, como sus propios HoloLens. No estoy convencido de que ni Microsoft ni los fabricantes de semiconductores ARM, como Microsoft, vayan a detenerse aquí. NVIDIA, por ejemplo, está bastante bien posicionada ahora con su cartera de Tegra entre la iniciativa de los coches autónomos y el acuerdo con Nintendo para impulsar la Switch. Aunque una consulta a NVIDIA no sugirió que haya nada en el horizonte, no me sorprendería en absoluto ver a NVIDIA considerando una reingreso. Fácilmente podría ofrecer un dispositivo basado en Tegra X1 o X2, y ciertamente puede ofrecer potencia gráfica para controlar un visor montado en la cabeza.
Preguntarle al Sr. Sag sobre este tema también sugiere que no estamos solos:
“Creo absolutamente que esto podría extenderse más allá de los PC “siempre conectados” que se anunciaron en Computex. Ya hemos visto que los teléfonos inteligentes de Microsoft con Windows 10 adoptan ARM, lo que creo que fue la base para este desarrollo en los PC. También creo que a medida que crezcan las aplicaciones y el ecosistema, podríamos ver auriculares AR/MR/VR con procesadores ARM que ejecuten Windows, lo que creo que es parte de la estrategia a largo plazo de Microsoft para dominar el mercado de AR/MR/VR. No creo que Hololens vaya a ser el único auricular independiente para Windows Mixed Reality y creo que veremos auriculares con ARM en su interior”.
Lo he dicho una y otra vez: 2017 se está convirtiendo rápidamente en el año de una mayor competencia en el mercado de PC. Y dado que ha habido tan poca competencia en muchos de estos segmentos, es lamentable que Intel se lleve la peor parte debido a sus éxitos anteriores.Pero lo que Intel pierda será, con toda seguridad, lo que ganarán otros, sobre todo los consumidores. Y eso siempre es algo bueno.
¿Qué opinas de Windows en procesadores ARM? ¿Cómo cambiará esto los ecosistemas de computadoras de escritorio, portátiles y móviles? ¡Cuéntanoslo a continuación!
Actualización 16/06/17 22:51 ET: Se realizaron algunas correcciones gramaticales y se arregló el nombre de una empresa (se mencionó en los comentarios). ¡Gracias por el aviso!