Apple M1: anatomía de una revolución

Este año 2020 que ahora acaba ha sido terrible en muchos apartados, pero paradójicamente ha sido un año espectacular para el mundo de la tecnología. Hemos asistido a doce meses frenéticos en los que ha habido pequeñas y grandes revoluciones, pero la planteada por Apple con sus chips M1 ha sido sin duda la mayor de todas ellas.

El salto tecnológico que Apple ha dado en sus equipos portátiles y de sobremesa es tan sorprendente que hemos querido analizarlo de forma profunda: he aquí nuestra anatomía de una revolución. Una en la que hemos repasado el camino recorrido por esta empresa y las claves de una transición sencillamente prodigiosa por su magnitud y su ejecución. Y lo dice alguien que de fanboy tiene muy, muy poco.

Un movimiento que lleva décadas fraguándose

En Apple saben un poco de transiciones. Llevan unas cuantas a sus espaldas, y todas ellas han contribuido a llevarnos a este salto radical en la concepción de sus equipos de sobremesa y portátiles.

Estas transiciones son especialmente complejas porque ese cambio de procesadores y arquitectura también conlleva el cambio de las llamadas Instruction Set Architecture (ISA).

El software que se desarrolla para esos chips hace uso del juego de instrucciones de esos procesadores, y esa es la razón de que los programas pertenecientes a una familia de procesadores no funcionen bien en otra.

En Apple saben un poco de transiciones: llevan unas cuantas a sus espaldas.

Todo ello hace que esas transiciones hardware sean muy complejas sobre todo en plataformas con una gran base de usuarios y con un gran catálogo de software: de repente todo o gran parte de ese software puede dejar de estar disponible para los usuarios, que deben valorar si les merece la pena dar el salto a una nueva arquitectura o no.

Ahí entran en juego capas de emulación que tratan de aliviar el problema y “traducen” en tiempo real las instrucciones de una ISA a otra, aunque normalmente eso implica que el software emulado corre de forma más lenta que en el procesador original.

Apple ha realizado varias transiciones notables a lo largo de su historia, y no está de más hacer un repaso a cómo ha habido diversos saltos y decisiones que nos han llevado hasta donde estamos ahora.

De Motorola a Power PC (1994)

La aparición en 1984 de los primeros Macintosh con procesadores de la familia 68000 de Motorola fue todo un hito para Apple, pero pocos años después la compañía parecía tener claro que aquellos chips se estaban quedando atrás.

Eso hizo que se produjera el primer intento de Apple por desarrollar un procesador propio. En 1989 se publicaba la llamada “Scorpius Architectural Specification”, un documento en el que se explicaban los conceptos generales de las arquitecturas de CPUs multinúcleo, y aunque aquel esfuerzo —conocido como “Proyecto Aquarius” y liderado por Jean Louis Gassée— jamás vio la luz del día, sentó las bases de lo que hoy tenemos con los chips M1 de Apple.

En lugar de ir por ese camino, Apple se alió con IBM y Motorola para dar el salto a procesadores PowerPC. Eso permitiría competir con los cada vez más potentes PCs basados en micros de Intel, pero hacía necesario un componente que permitiera a los usuarios trabajar con aplicaciones de la anterior arquitectura.

Para la transición a PowerPC, Apple creó un emulador para que programas de los 68k pudieran correr en los nuevos equipos.

Como explican en ComputerHistory, en Apple tuvieron que crear un emulador para que programas de los 68k pudieran correr en los PowerPC. El esfuerzo para crearlo comenzó a mediados de 1990, y para cuando Apple anunció sus primeros Mac basados en PowerPC el emulador estaba listo y formaba parte de todos los equipos que vendió la firma los años siguientes.

Aquel emulador formaba parte de la ROM de los Macintosh basados en PowerPC y permitía ejecutar aplicaciones de los “antiguos” Macintosh sin (demasiados) problemas.

Había algunas excepciones que no funcionaban en el emulador —como el mítico RAM Doubler— pero por lo general las aplicaciones m68k corrían simplemente algo más lentas que cuando lo hacían compiladas para el PowerPC. Si os suena todo esto, es porque es exactamente lo que está ocurriendo más de 25 años después con los M1 y Rosetta 2 al ejecutar código de los Mac basados en micros de Intel.

De Mac OS a Mac OS X (2001)

Tan importante como las transiciones hardware fue también la mayor transición software de la historia de Apple, que en marzo de 2001 presentaba la primera versión estable de Mac OS X 10.0, con nombre en clave “Cheetah”.

La gestación de aquel sistema operativo venía de lejos: cuando Steve Jobs tuvo que dejar Apple inició un ambicioso proyecto con NeXT y su sistema operativo NeXTSTEP, que estaba basado en dos componentes clave: el kernel Mach de la Universidad Carnegie Mellon y el sistema operativo BSD, una implementación derivada de los primeros UNIX.

Aquellos esfuerzos cobraron todo el sentido cuando Jobs volvió a Apple en 1997. Para entonces la empresa pasaba por un momento crítico y su sistema operativo Mac OS palidecía ante Windows 95, que ya ofrecía multitarea preemptiva (frente a la cooperativa de mac OS) y que también se estaba quedando anticuado en cuanto a su interfaz de usuario. Copland, el proyecto que trató de ofrecer una alternativa, fue un fracaso, y Apple buscó otro camino para renovar su sistema operativo.

Cuando Jobs volvió a Apple en 1997 la empresa pasaba por un momento crítico y su sistema operativo Mac OS palidecía ante Windows 95

La vuelta de Jobs acabó ofreciendo la solución. En febrero de 1997 Apple compraba NeXT por 427 millones de dólares y con esa adquisición se hacía tanto con Jobs y su liderazgo como con el sistema operativo OpenStep, que se convirtió en la base de Mac OS X.

Aquel fue un salto software enorme que obligó a crear varias capas de compatibilidad para lograr que los usuarios de Mac OS pudieran seguir trabajando con sus antiguas aplicaciones (Carbon) e ir disfrutando de las nuevas opciones de Mac OS X (Cocoa).

La aparición de Mac OS X fue todo un bombazo para una Apple que con este sistema operativo lograba introducir no solo características muy demandadas en ámbitos como la multitarea o el soporte multiusuario, sino también en una interfaz que brillaba con luz propia gracias a Aqua y a componentes como su célebre Dock.

De PowerPC a Intel (2005)

Diez años después del salto a los PowerPC Apple se volvió a encontrar con el mismo problema que había tenido entonces: sus máquinas comenzaban a quedarse atrás, y la culpa era del lento avance de unos procesadores sobre los que no tenían control alguno.

En 2005 Jobs anunció una decisión sorprendente: los ordenadores de sobremesa y portátiles de Apple pasarían a usar procesadores de Intel, un salto espectacular que permitía lograr un mayor rendimiento por vatio y seguir avanzando en el desarrollo de Macs más potentes que nunca.

La capa de emulación Rosetta permitía utilizar software de los PowerPC en los nuevos Mac con procesadores de Intel sin (demasiados) problemas

Aquella transición fue también compleja por ese nuevo salto de arquitectura y de ISA, y de nuevo en Apple tuvieron que hacer ajustes muy importantes para no dejar atrás a los usuarios de toda la vida. El primero, adaptar Mac OS X a los procesadores de Intel, algo en lo que trabajaron durante años para tener lista esa versión para los nuevos equipos.

El segundo, el lanzamiento de la capa de emulación Rosetta que permitía utilizar software de los PowerPC en los nuevos Mac con procesadores de Intel sin (demasiados) problemas. Aquella capa volvió a dar margen de maniobra tanto a a usuarios como a desarrolladores, que poco a poco fueron trasladando sus aplicaciones a la nueva arquitectura de forma nativa.

Llega el iPhone, pero sobre todo, llega el iPad y su Apple A4 (2007)

Poco después de la transición a micros de Intel Apple anunció la que se convertiría en su gran disrupción histórica: la presentación de los iPhone 2007 y la llegada de la era de los smartphones. De los smartphones de verdad.

Aquellos dispositivos móviles cambiaron el mundo, pero además de plantear aquella revolución hicieron que Apple tomara una decisión crucial en 2010. Fue entonces cuando presentaron el iPad, y con esa tableta llegaría el primer procesador diseñado y fabricado por la empresa, el Apple A4 a 1 GHz.

Aunque inicialmente Apple simplemente usó la licencia ARM que le permitía crear diseños propios a partir de los núcleos Cortex de este fabricante, en 2012 volvió a tomar una decisión clave para lo que estamos viviendo ahora: cambió a una licencia con mucho más margen de maniobra que le permitía diseñar sus propios procesadores con arquitectura ARMv7.

En 2012 Apple dio un paso fundamental y cambió a una licencia ARM que le permitía que sus microprocesadores ya no fueran un "refrito" de los Cortex ARM.

Ya no eran un “refrito” de los Cortex de ARM, y como comentaba entonces en un profundo análisis Anand Lal Shimpi —fundador de AnandTech que algún tiempo después acabaría siendo fichado por Apple—, “este es un gran paso para Apple.

El Apple A6 utilizado en los iPhone 5 fue el primero en plantear ese salto, y a partir de aquí las cosas irían cada vez a más —este repaso de Dezso Sima, aun siendo de 2018, es espectacular por profundidad y detalle— en el diseño de microprocesadores de Apple, que acabaría también creando sus propias GPUs tras desmarcarse de su socio tradicional, Imagination Technologies.

En 2014 se produjo otro cambio igualmente notable. Con el Apple A7 llegaría el soporte para 64 bits y la arquitectura ARMv8, y mientras que en el mundo Windows el salto se producía solo a medias —soportando esa arquitectura en nuevos procesadores, pero manteniendo compatibilidad con binarios de 32 bits— en los iPhone se preparaba el adiós definitivo a las aplicaciones y juegos de 32 bits.

En 2016 llegaría el Apple A10 Fusion, que por primera vez introducía en estos micros esa filosofía big.LITTLE en la que se combinaban núcleos potentes con otros eficientes. Un año después, en 2017, llegaría su primera GPU personalizada con el Apple A11 Bionic, que además incluía otro cambio relevante: su primera Apple Neural Engine, el procesador dedicado a tareas de inteligencia artificial.

Ese enfoque se conservaría hasta estos días, y hemos visto cómo hace tan solo unos meses aparecían los iPhone 12 con los nuevos Apple A14 Bionic, procesadores que son ciertamente una evolución de aquellos diseños de 2017 pero que aprovechan toda esa experiencia y la llevan a nuevas cotas.

La potencia de los chips integrados en los iPhone y iPad en los últimos años hacía que los rumores de un potencial MacBook ARM fueran creciendo con el tiempo.

La potencia de estos chips llevaba tiempo provocando que se “jugara” con la idea de portátiles basados en estos chips. El “MacBook ARM” parecía posible a la vista de los resultados que conseguían chips móviles que competían con chips realmente notables de Intel en el terreno de los portátiles, y la apuesta de muchos se convirtió en realidad cuando Apple anunció esta tercera gran transición hardware en el WWDC de junio de 2020.

Así, Apple llevaba años desarrollando sus chips para los iPhone y los iPad, pero también estaba trabajando en paralelo para desarrollar sus chips M1, que aprovechando el diseño de los Apple A14 Bionic y sus antecesores han ido a más y se han convertido en los primeros procesadores de Apple con arquitectura ARM que se utilizan en equipos portátiles y sobremesa.

Por supuesto, esta nueva transición hardware también ha impuesto la necesidad de ofrecer capas de emulación que permitan ejecutar software que los usuarios utilizaban hasta ahora en sus Mac basados en Intel.

Esa capa no es otra que Rosetta 2, que permite traducir y ejecutar código x86-64 en tiempo real que aun siendo más lento que el desarrollado nativamente para los M1 logra rendimientos espectaculares. Tanto es así que a menudo el código emulado con Rosetta 2 logra ir más rápido en un Mac con un M1 que en equipos Intel con aplicaciones nativas. Eso es, simplemente, alucinante.

El M1 es la gran "no sorpresa" del año

En 1995 Clayton Christensen copublicaba un artículo en el que hablaba de las disrupciones. El autor del célebre libro 'The Innovator's Dilemma' planteaba así cómo ciertos productos acaban creciendo en rendimiento de una forma que la empresa dominante, tradicionalmente lenta a la hora de reaccionar, no puede igualar. La gráfica era llamativa ya entonces:

El gráfico servía para recordar lo que ha pasado con los chips de Intel y Apple en los últimos años. El artículo de James Allworth hablaba de cómo el propio Christensen le habló al entonces CEO de Intel de esos peligros. Grove reaccionó y puso en marcha la maquinaria de una Intel que durante más de una década dominaría de forma inmisericorde el segmento de los PCs y portátiles.

El problema es que se relajó. La firma ha sido ya alcanzada por una AMD que siempre estaba a la sombra, pero es que los problemas reales provenían de una Apple que sin decir nada lo estaba diciendo todo. El Apple M1 nos ha sorprendido a todos por su rendimiento y eficiencia, pero en realidad no debiera haberlo hecho: el camino de estos chips llevaba —como hemos apuntado en el anterior apartado— tiempo produciéndose.

Los problemas reales para Intel provenían de una Apple que sin decir nada lo estaba diciendo todo.

De hecho hay muchos análisis que han ido confirmando cómo el rendimiento de los chips de los iPhone y los iPad iba acercándose más y más al que Intel ofrecía en sus CPUs para ordenadores de sobremesa y portátiles. Esos análisis llegaban a conclusiones como la que planteaba AnandTech con una gráfica aplastante:

¿Os suena? Efectivamente: parece calcada de la que Christensen aportó hace 25 años. El crecimiento de rendimiento de los chips de Apple ha sido fabuloso en los últimos años, pero el de Intel ha sido (comparativamente) mucho más modesto.

El resultado es claro y casi resulta obvio viendo la gráfica. Lo que ha pasado con el M1 casi "tenía que pasar" a la vista de los acontecimientos.

Hay otros muchos diagramas que ya perfilaban la situación hace unos años al hablar del IPC (Instructions Per Clock), una métrica que Intel dominaba tradicionalmente (sobre todo cuando la comparábamos con los micros de AMD) pero que de repente empezó a escapársele de los dedos. En esa métrica dominaban ya hace tiempo y con solvencia los Apple A12, como apuntaba Andrei F. en Twitter:

La propia ARM publicaba sus propias predicciones en agosto de 2018 en este sentido: en 2020 se cumpliría la predicción de Christensen, y sus núcleos de 7 y 5 nm lograrían superar a los Core i5 de Intel lanzados en esas épocas, pero además lo harían siendo mucho más eficientes.

Algunos lo vieron venir (y vimos) desde hace años, pero curiosamente (al menos, a toro pasado) otros se negaban a creer que Apple pudiera deshacerse de Intel (al menos a corto plazo) para meter chips ARM en sus Mac.

Quizás para ellos el M1 haya acabado siendo una sorpresa, pero para muchos otros la llegada de este chip era evidente. La sorpresa no ha sido tanto la de su lanzamiento, sino la de un rendimiento que le debe mucho a una vieja batalla: la de CISC vs RISC.

De CISC a RISC y tiro porque me toca

Muchas han sido las batallas tecnológicas a las que hemos asistido en las últimas décadas, y una de las más singulares es la que se ha vivido entre las dos grandes filosofías de concebir un procesador: CISC y RISC.

Erik Engheim hacía un estupendo repaso de esos conceptos y los relacionaba con ese apartado clave que mencionábamos anteriormente, el ISA o Instruction Set Architecture (lo que nosotros habitualmente simplificamos como “arquitectura”). Ese conjunto de instrucciones que un procesador puede entender y manejar es muy importante porque tiene influencia en cómo diseñas la CPU: puede complicar o simplificar el trabajo de diseñar una CPU de alto rendimiento o de una especialmente eficiente.

El problema es que Apple no puede diseñar procesadores con arquitectura x86, ya que Intel no trabaja con un modelo de licencias que lo haga factible —mantiene un acuerdo cruzado de licencias con AMD, por ejemplo—. Quien sí ofrece un modelo de licencias es ARM, y eso permite que Apple puede diseñar sus propias CPUs y que éstas hagan uso del ISA de ARM.

En principio las instrucciones CISC pueden ser de cualquier longitud, y algunas instrucciones x86 pueden ser teóricamente infinitas en longitud (aunque están "capadas" a 15 bytes por razones prácticas). En la arquitectura RISC las instrucciones tienden a tener una longitud fija.

Esas dos grandes arquitecturas, x86 y ARM, se diferencian también en la filosofía con la cual han sido diseñadas, y atentos porque las diferencias, que ya explicamos en Xataka hace años, son importantes:

  1. CISC (Complex Instruction Set Computing): cuando se comenzaron a desarrollar procesadores basados en esta filosofía, la memoria era muy, muy cara, y por tanto una buena forma de aprovecharla era crear instrucciones muy potentes que pudieran hacer muchas cosas. La idea era agrupar varias operaciones de bajo nivel en la misma instrucción, lo que permitía desarrollar programas pequeños y fáciles de desarrollar y que además realizaban pocos acceso a memoria.
  2. RISC (Reduced Instructions Set Computing): en este caso el objetivo era justamente el opuesto: tener un conjunto de instrucciones muy simples que se pueden ejecutar muy rápidamente en el procesador. Eso hace que tareas más complejas necesiten un gran número de instrucciones sencillas y de más accesos a memoria, pero simplifica de forma notable el diseño de estos procesadores, que además se destacan por ser especialmente eficientes.

Como explicaba Engheim, en el diseño de los procesadores RISC también se introdujo otra mejora fundamental: la segmentación o ‘pipelining’, una técnica que permitía descomponer la ejecución de una instrucción en varias etapas de forma que mientras una instrucción está en una de esas etapas, otras pueden estar en otra distinta, ayudando a conseguir un paralelismo extraordinario que hace que todos los recursos del procesador se maximicen.

La segmentación hace posible optimizar el aprovechamiento de cada ciclo de reloj disponible en el procesador. Fuente: CUM (UEX).

Los procesadores x86 y x86-64 se apropiaron ya hace mucho también de esa útil característica de la segmentación —y la combinaron con mejoras posteriores como el Hyper Trheading—, aunque aplicarla en este tipo de procesadores era más complejo debido entre otras cosas a que en esta arquitectura las instrucciones son de longitud variable.

El pipelining o segmentación, el mayor número de registros, el tamaño fijo de las instrucciones o el sistema de recolección de basura han sido claves del rendimiento de los chips de Apple basados en la filosofía RISC.

Eso complica la segmentación y la hace más delicada al tener que decodificar y simplicar esas instrucciones complejas —que además son distintas en AMD e Intel, hay una profundísima explicación de este concepto en documentos como este— para convertirlas en instrucciones más sencillas que “colar” en el pipeline.

Había otros elementos notables en el diseño de la filosofía RISC, como por ejemplo el uso de operaciones LOAD y STORE que requerían que tanto los operadores como el destino estuvieran en registros, algo que aceleraba las operaciones y evitaba problemas con la gestión de memoria frente a la concepción CISC en la que uno de los operadores podía estar en memoria y el otro en un registro.

El papel del compilador era “mucho más prominente”, como indicaba Stokes en su repaso a esta filosofía, y este se beneficiaba también de ese mayor número de registros que permitían también mejorar el rendimie

Intel ganó la batalla, pero no por tener mejores procesadores

Los procesadores con arquitectura CISC parecían estupendos cuando comenzaron su andadura, pero el abaratamiento de la memoria RAM hizo que la filosofía RISC comenzara a ganar enteros rápidamente. Engheim contaba la historia de una guerra que se recrudeció en 1987. Por entonces el procesador CISC más rápido con arquitectura x86 era el Intel 386DX, mientras que el tope de gama de la filosofía RISC era el MIPS 3000.

El micro de Intel tenía muchos más transistores (275.000 por 115.000) y tenía el doble de caché, y ambos funcionaban a la (alucinante) frecuencia de reloj de 16 MHz. Todo haría pensar que Intel tenía cierta ventaja, pero no: el MIPS R2000 aplastaba al 386DX, y dependiendo de la prueba ejecutada lograba resultados que eran hasta cuatro veces mejores que los del Intel.

Aquello planteó una amenaza terrible para Intel, que comenzó a vender sus procesadores como si fueran RISC, cuando lo único que tenían era un decodificador que convertía instrucciones CISC en instrucciones RISC. Aquello no era más que un truco de marketing, lo que unido a su habitual influencia en el mercado logró que Intel acabara imponiendo sus procesadores, que de RISC tenían poco o nada, y la arquitectura x86.

¿Por qué siendo superiores los procesadores RISC nunca se impusieron en los ordenadores de sobremesa y portátiles? Una de las principales razones, explicaba el ingeniero de software Jerry Coffin, residió en el coste de fabricación y, en concreto, en la caché.

El problema para los fabricantes de procesadores RISC era el volumen: Intel fabricaba mucho más y podía ofrecer precios mucho más competitivos.

“Para mantener una paridad aproximada en velocidad de ejecución, necesitaban una caché de instrucciones aproximadamente el doble de grande que los micros CISC”, explicaba, y aunque esa caché es relativamente fácil de diseñar, ocupa buena parte del chip, y eso incrementaba el coste de fabricación. A la hora de fabricar enormes cantidades de chips, elegir CISC tenía ventajas económicas obvias.

Lo curioso es que la realidad se mantuvo años silenciada a pesar de que los procesadores RISC “de verdad” seguían siendo superiores en rendimiento, algo que Paul DeMone explicaba en su análisis de la guerra RISC-CISC en el año 2000. Como él explicaba, el problema para los fabricantes de procesadores RISC era el volumen: Intel fabricaba mucho más y podía ofrecer precios mucho más competitivos con los que los chips de MIPS, SPARC o PA-RISC no podían competir.

Los RISC sí plantaron cara durante algún tiempo en nichos de mercado como el de las estaciones de trabajo, y aquellas basadas en los Motorola 680x0 pronto se vieron dominadas por las poderosas SPARCstation. Las cosas estaban algo más tensas en el segmento de los servidores, pero en 1995 llegaría el Pentium Pro (P6) dirigido precisamente a ese nicho y contaban con una serie de mejoras entre las que destacó una que llegó por sorpresa.

Intel sacó una versión del Pentium Pro con litografía de 0,5 micras (no nanómetros, cuidado), pero la revelación fue la versión con litografía de 0,35 micras, que se adelantó seis meses a la hoja de ruta prevista y que con sus 200 MHz llegó a lograr rendimientos en operaciones con enteros que rivalizaban con el mejor RISC de la época, el Alpha 21164 de 0,5 micras.

Aquello fue todo un logro para Intel, aunque el rendimiento en operaciones de coma flotante seguía estando muy por detrás. Aún así el golpe en la mesa fue muy efectivo, sobre todo por esa capacidad de Intel para fabricar en cantidades masivas y lograr con ello precios mucho más competitivos tanto para ese mercado como para el de los PCs en los que los procesadores RISC nunca pudieron competir en igualdad de condiciones (por esa desventaja clave).

Los micros x86 podían no ser tan buenos como los RISC, pero eran “lo suficientemente buenos” incluso en el terreno de las operaciones de coma flotante, al menos para el uso habitual que la mayoría de los usuarios realizaban en su día a día.

Las diferencias de rendimiento fueron reduciéndose gracias a los avances en litografía de Intel, y la empresa hizo claros esfuerzos en el ámbito del marketing para convencer a todos que las teóricas ventajas de la filosofía RISC no eran para tanto.

Cuando presentaron sus 486, por ejemplo, se publicó que contaban con una unidad RISC de operaciones de coma flotante aunque esa afirmación era falsa (el 486 jamás usó un juego de instrucciones reducido como el de ARM, ni siquiera con números enteros).

Como apostillaba DeMone, al final se impuso la falacia de que “RISC y CISC habían convergido”, y aunque ciertamente había ideas que unos tomaban de otros, las diferencias clave entra ambas filosofías se mantenían y los micros RISC seguían siendo ideales de cara a los compiladores.

Como señalaba un experto, "al final se impuso la falacia de que RISC y CISC habían convergido"

Esos compiladores se beneficiaban tanto de ese juego reducido de instrucciones como de un mayor y más versátil conjunto de registros que evitaban que la memoria se congestione. Todo ello tiene un efecto directo en la eficiencia de esos chips RISC, pero todo dio igual.

Aquellas diferencias no obstante se fueron difuminando con el paso del tiempo, y de hecho la situación a finales de los 90 era, como indicaban en Ars Technica en un profundo artículo en 1999, complicada. Citaban allí las palabras de David Ditzel, que había diseñado la legendaria familia de procesadores SPARC de Sun y era CEO de Transmeta. “”Los MIPS R10.000 y HP PA-8000 me parecen mucho más complejos que los CISC actuales como el Pentium II, así que ¿dónde está la ventaja de RISC si los chips ya no son más simples?”.

Las propuestas RISC, aun siendo superiores técnicamente, habían perdido la batalla.

Lo que no habían perdido era la guerra.

Bienvenidos al Apple M1

El chip M1 es un SoC en el que la protagonista principal es su CPU de ocho núcleos, en la que cuatro de ellos están centrados en el rendimiento y otros cuatro lo están en la eficiencia. El nuevo chip de Apple integra además una GPU de ocho núcleos y un procesador adicional de 16 núcleos llamado Neural Engine que está dedicado a tareas relacionadas con el aprendizaje automático (deep learning).

A esos tres destacados les acompañan además otros elementos notables que están destinados a diversas áreas específicas. Así, tenemos por ejemplo el ISP (Image Processing Unit), que en el Mac mini no interviene demasiado pero que es responsable de la mejora de calidad en las webcam de los nuevos MacBook Air y MacBook Pro 13”. También el DSP (Digital Signal Processor), que se encarga de gestionar operaciones matemáticas intensivas y se usa por ejemplo a la hora de descomprimir ficheros de audio.

El nuevo SoC de Apple también cuenta con una unidad especial de codificación y descodificación de ficheros y formatos de vídeo, y seguramente muchos conoceréis de hace tiempo el Secure Enclave, ese chip especialmente centrado en el cifrado, la autenticación y la seguridad.

La filosofía de computación heterogénea es ya una vieja conocida en SoCs ARM

El enfoque del Apple M1 es muy similar al que durante años la empresa ha seguido con sus chips para móviles. No es muy distinto en realidad de los SoC de competidores como Qualcomm, que por ejemplo integran el módem 5G en los últimos modelos, algo que quizás veamos también en futuros chips de Apple para portátiles.

La idea aquí es la de ofrecer esa potente implementación de la filosofía de computación heterogénea que es ya una vieja conocida en SoCs ARM. Hablábamos de ella por ejemplo en nuestro análisis del Snapdragon 835 en 2017.

Aunque Apple dio diversos detalles de los chip M1 durante la presentación de estos equipos, no los dio todos, y de hecho se desmarcó de fabricantes como Intel y AMD en sus presentaciones de nuevos procesadores: no desveló a qué frecuencia trabajan esos núcleos ni tampoco su TDP, detalles que suelen permitir poner en perspectiva qué podemos esperar de cada procesador.

El Apple M1 es un SoC con un consumo realmente reducido: sus cuatro cores Firestorm no pasan de los 18 W.

Esos datos acabaron siendo desvelados en análisis independientes, y ahora sabemos que los cuatro núcleos de alto rendimiento, llamados “Firestorm”, funcionan a una frecuencia máxima de 3,2 GHz, comparten una caché L2 de 12 MB y tienen un consumo máximo de 18 W. Por su parte, los cuatro núcleos eficientes, llamados “Icestorm”, funcionan a una frecuencia máxima de 2 GHz, comparten una caché L2 de 4 MB y consumen un máximo de 1,7 W.

Esos datos dejan claro cómo ese TDP de apenas 20 W está realmente contenido, y por eso es más sorprendente aún el rendimiento que Apple logra sacar de esos núcleos. Habría que sumar desde luego el consumo de otras secciones del SoC: la GPU ronda los 10 W y el Neural Engine unos 2 W, pero en suma, como decimos, nos encontramos ante un chip en el que la eficiencia es asombrosa.

El otro componente esencial que contribuye a ese rendimiento es la Arquitectura Unificada de Memoria (UMA), una nueva forma de plantear la memoria principal del equipo, que ahora se comparte entre todos los componentes -nada de memoria RAM para el procesador y memoria gráfica para la GPU, por ejemplo- y que disfruta de una serie de ventajas importantes en cuanto a tiempos de acceso y velocidad de transferencias entre los distintos componentes del SoC.

Memoria unificada: una RAM que da más de sí

En la presentación que Apple hizo de su nuevo chip se mencionó de forma especial la llamada Arquitectura de Memoria Unificada, un enfoque bastante distinto al que hemos visto durante años en todo tipo de ordenadores y plataformas de computación.

Este SoC tiene acceso a (de momento) 8 o 16 GB de memoria unificada, que como el resto de componentes de este chip están integrados en el SoC y comparten espacio con la CPU, la GPU o el Neural Engine, por ejemplo.

Ese tipo de diseño de la arquitectura de memoria no es en realidad nuevo: los SoCs de los smartphones integran esa memoria RAM también en el propio chip, y Apple lleva haciéndolo desde al menos 2018 con el Apple A12X. La diferencia, claro, es que ahora esa memoria unificada llega a ordenadores portátiles y de sobremesa, algo que hasta la fecha no se había hecho a esta escala masiva.

La única excepción de eso último la tenemos en las consolas de nueva generación: tanto las Xbox Series S/X como las PS5 hacen uso de este mismo concepto: no separan la memoria principal de la memoria gráfica, y hacen uso de 16 GB GDDR6 que utilizan como RAM y VRAM.

Apple define la memoria unificada como una memoria “de baja latencia y alto ancho de banda” que permitía a las aplicaciones compartir datos entre la CPU, la GPU y el Neural Engine de forma eficiente

En el caso de Apple, la memoria utilizada se basa en el uso de módulos SDRAM LPDDR4X con una velocidad de 4266 MT/s. Apple describió esta memoria SDRAM como una memoria “de baja latencia y alto ancho de banda” que permitía a las aplicaciones compartir datos entre la CPU, la GPU y el Neural Engine de forma eficiente.

Esa es la clave de esa memoria: todas las partes del SoC pueden acceder a ella, y eso permite por ejemplo que todos los componentes puedan conseguir más memoria cuando lo necesitan fácilmente. Además todos los elementos del SoC pueden acceder al mismo dato en la misma dirección de memoria sin tener que copiarlo en múltiples localizaciones de memoria. Esa es otra de las ventajas de un sistema que según Apple aporta mejores tiempos de respuesta.

Que la memoria está integrada en el SoC también facilita ese trasiego de información: está más cerca de los componentes que necesitan acceder a ella, lo que hace que el trayecto para escribir o leer datos sea mucho más corto que el que por ejemplo debe realidad un componente de una placa base de PC tradicional al acceder a los módulos de memoria.

Esa interfaz de alta velocidad, unida a esas enormes cachés que comparten los núcleos del procesador, permite que todas las unidades funcionales estén siempre bien surtidas de datos con los que trabajar.

Como explicaba el desarrollador y exempleado de Apple Marcel Weiher, el ancho de banda de la memoria y la latencia son probablemente los factores determinantes en la ejecución de cargas de trabajo actuales, ya que en un simple acceso a memoria se utilizan cientos de ciclos de reloj en los que la CPU podría realizar un buen número de tareas.

En ese análisis Weiher explicaba cómo Apple de hecho lleva años trabajando en lograr que el comportamiento de la memoria sea perfecto, y eso se nota en cómo los iPhone siempre han ido especialmente fluidos a pesar de tener tradicionalmente mucho menos memoria RAM disponible que los smartphones basados en Android.

No solo eso, añadía: el equipo de iOS no usó el tradicional sistema de recolección de basura para liberar memoria, y en lugar de eso han usado otro sistema llamado ‘Reference Counting’ (RC) que se introdujo con el mítico NeXTStep 4.0 y que ahora es parte fundamental del lenguaje de programación Swift, ampliamente utilizado para desarrollar aplicaciones en macOS.

Este sistema hace que sea posible conseguir un consumo de memoria muy reducido en cargas de trabajo equivalentes, y algunos estudios como este que comparaban ambos sistemas dejaban claro cómo los sistemas de recolección de basura hacen necesaria más memoria (unas cuatro veces más, de hecho!) para lograr el mismo resultado.

Apple puede permitirse vivir con una memoria total “más limitada” porque necesitan mucha menos memoria para que el sistema sea rápido.

La conclusión para este desarrollador estaba en la capacidad de Apple para “permitirse vivir con una memoria total “más limitada” porque necesitan mucha menos memoria para que el sistema sea rápido”, algo que favorece a los usuarios, pero también a los desarrolladores a la hora de implementar sus aplicaciones. Weiher sabe de lo que habla: ha escrito un libro específicamente dedicado a mejorar el rendimiento de aplicaciones de iOS y macOS en lenguajes como Objective-C o Swift.

La solución que proporciona Apple en sus nuevos chips es sorprendente por su aplicación a equipos de sobremesa y portátiles, pero en cierto modo las ventajas y desventajas que tenemos con esta aproximación son idénticas a las que tenemos desde hace años en el mundo de los dispositivos móviles: sacrificamos capacidad de expansión, pero ganamos rendimiento y eficiencia en el uso de esa memoria.

De hecho una de las críticas que se le hacen a estos primeros equipos es ese citado límite máximo de 16 GB de memoria. ¿Serán suficientes incluso para usuarios exigentes?

Lo cierto es que en todo el tiempo que hemos estado trabajando con el Mac mini no hemos notado ninguna pega, y eso que nuestro equipo tenía “solo” 8 GB de memoria unificada. Abrir decenas de pestañas en el navegador, tener abiertas múltiples aplicaciones y ir cambiando entre unas y otras no suponían ningún problema para un equipo que se ha mostrado fluido en todo momento.

Computación heterogénea: cada oveja con su pareja

Otra de las claves de la concepción del M1 es que el desarrollo de Apple no es un procesador sin más, sino que en realidad es un SoC o System-on-a-Chip. Eso significa que en lugar de tener núcleos de propósito general como sucede con un PC convencional, los chips de Apple cuentan con un buen número de chips especializados con núcleos dedicados a tareas muy específicas.

El concepto se conoce como “computación heterogénea” por ese uso de núcleos heterogéneos dedicados a distintos propósitos. No es exclusivo de Apple, ojo: lleva tiempo usándose también en los SoC para móviles que fabrican Qualcomm, MediaTek, Huawei o Samsung, por ejemplo.

En todos ellos solemos ver en cada presentación de un nuevo chip cómo ese chip está dividido en varias secciones heterogéneas que se encargan de distintas tareas. El chip M1 de Apple es una iteración más de sus procesadores móviles, y como ocurre desde hace años en esos chips, la idea es no tener una CPU que se encargue de casi todo ayudado por una GPU y poco más.

El chip M1 de Apple es una iteración más de sus procesadores móviles

En lugar de eso tenemos desde luego la CPU y la GPU que se encargan de buena parte del trabajo en muchas aplicaciones, pero a ellas les acompañan otros chips especializados. Julio César Fernández lo explicaba en Applesfera y mostraba cuáles son esas unidades funcionales, que abarcan todo tipo de tareas.

Así, tenemos un chip dedicado a la criptografía, pero también la cada vez más importante Neural Processing Unit (NPU) con sus núcleos dedicados al ámbito de la inteligencia artificial y el aprendizaje profundo. Tenemos un procesador de señal digital (DSP), una unidad de procesado de imágenes (ISP), un codificador y decodificador de vídeo, un Secure Enclave o un gestor energético avanzado para controlar al máximo la eficiencia del sistema.

Todos estos componentes hacen que todas esas tareas se beneficien de esos chips dedicados a ellas. Quien edita vídeo nota esas mejoras precisamente por tener un procesador específicamente diseñado para potenciar ese tipo de escenarios,

## Firestorm y el mito de que los núcleos ARM eran inferiores

Los nuevos Apple M1 tienen dos tipos de núcleos de propósito general. Por un lado están los Firestorm, dedicados a proporcionar el máximo rendimiento y por otro los Icestorm, dedicados a la eficiencia.

En los M1 se ha decidido contar con cuatro núcleos Firestorm y cuatro Icestorm, pero estamos tan solo ante la primera (e incluso “modesta”) iteración de unos chips que muy pronto harán uso de otras combinaciones dirigidas a distintos tipos de máquinas.

Se habla ya de un sucesor del M1 que contará con 32 núcleos y los datos que se manejan son aún más sorprendentes cuando se estima que Apple seguirá manteniendo cuatro núcleos dedicados a la eficiencia y usará núcleos dedicados al máximo rendimiento en el resto de esas combinaciones. Si el M1 hace lo que hace con cuatro núcleos potentes, ¿qué no podrá hacer con 12 o 28 de esos núcleos?

El citado análisis de Engheim incidía también en el papel de esos núcleos Firestorm en el casi “mágico” rendimiento de los M1. Las pruebas de rendimiento han sorprendido a propios y extraños y han derrumbado el mito de que los núcleos de chips ARM nunca podrían superar a los núcleos de procesadores con arquitectura x86.

Los núcleos Firestorm lo han logrado al menos según los resultados que arroja Geekbench o Cinebench: su rendimiento single-core es asombroso y está por encima de prácticamente cualquier procesador para móviles o PCs de sobremesa y portátil actual. Solo en algunos casos los núcleos de los mejores procesadores de AMD con arquitectura Zen 3 logran superarlos, aunque parte de esa ventaja se consigue gracias a la frecuencia de reloj a la que trabajan esos núcleos.

¿Cómo lo logran los núcleos Firestorm? Entre otras cosas, aprovechando la llamada ejecución fuera de orden (Out-of-Order execution) que permite ejecutar más instrucciones en paralelo sin necesitar múltiples hilos y, sobre todo, sin obligar al desarrollador a programar específicamente pensando en el paralelismo.

Los chips M1 han derrumbado el mito de que los núcleos de chips ARM nunca podrían superar a los núcleos de procesadores con arquitectura x86

El programador implementa sus aplicaciones y juegos como siempre, sin preocuparse de ese tema, y es este tipo de paradigma el que logra ese paralelismo gracias al análisis de esos núcleos de la CPU, que determina qué instrucciones pueden procesarse en paralelo y cuáles deben esperar a que se realicen cálculos previos de las que depende su ejecución. Al final la idea es simple: se adelanta trabajo constantemente, las esperas se minimizan y el paralelismo se maximiza.

Todos los procesadores hacen uso de esa ejecución fuera de orden, pero los Firestorm aprovechan características implícitas de la filosofía RISC como esas instrucciones de longitud fija que facilitan la decodificación de instrucciones y aceleran todo el proceso.

Ese factor contribuye a lo que Engheim califica como “la venganza de los RISC”, y es en apartados como este en los que dicha filosofía recobra el sentido frente a las aproximaciones CISC de Intel y AMD.

Los nanómetros importan

Hay otro factor clave que incide en el fantástico rendimiento de los chips de Apple, y no es otro que la fotolitografía utilizada para fabricar los chips M1.

Fuente: AnandTech.

Estos SoC están fabricados con una fotolitografía de 5 nanómetros, una cifra espectacular que supone un nuevo hito en la miniaturización del componente básico de todo procesador: el transistor.

En los últimos tiempos hay cierto debate sobre cómo se comparan las fotolitografías de los distintos fabricantes de chips, y los estudios señalan cómo los 10 nm a los que Intel comienza a llegar ahora son más parecidos a los 7 nm actuales de AMD que a lo que hubieran sido procesadores de 10 nm de este fabricante (que nunca tuvo, el salto se produjo desde los 14 nm).

Sea como fuere, la reducción de los nodos litográficos es crucial para cualquier fabricante, y proporciona dos ventajas fundamentales frente a generaciones anteriores y a competidores:

  1. Rendimiento: cuanto más pequeños son los transistores, más se pueden integrar en la misma superficie, y eso permite tener núcleos funcionales más potentes en todos los ámbitos y también contar además con más capacidad para las cachés o las memorias integradas en estos procesadores, algo especialmente importante cuando como en el caso de los M1 la memoria está integrada en la die.
  2. Eficiencia: cuanto más pequeños son los transistores, más eficientes son, lo que permite que realicen un gran número de cálculos sin que el calor disipado sea tan problemático como en chips con una litografía mayor.

La evolución de la escala fotolitográfica ha sido brutal en estos 40 años. Los fabricantes de semiconductores com Intel o AMD han ido aplicando más y más reducciones a los nodos de fabricación, y de aquellas enormes 10 micras (10.000 nanómetros) de los primeros 4004 y 8008 de 1971 y 1972 hemos ido pasado a procesos cada vez más alucinantes que en la actualidad se sitúan en 10 nanos para los últimos procesadores de Intel o 7 nm de para los de AMD.

Apple se ha desmarcado de ambos y ha lanzado los Apple M1 con esa litografía de 5 nm, un salto que ya habían dado con los Apple A14 Bionic de los iPhone 12 y los iPad Air 4. Huawei también ha usado esta litografía en sus Kirin 9000, presentes en sus Mate 40, y Qualcomm acaba de lanzar sus Snapdragon 888 también basados en este nodo fotolitográfico.

La ventaja que proporciona esa escala fotolitográfica es evidente cuando la propia Apple presumió de los 16.000 millones de transistores integrados en los M1.

Ningún procesador de escritorio convencional logra algo así: el Ryzen 9 3900X cuenta con 9.890 millones de transistores, por ejemplo, y no tenemos datos de Intel porque la empresa hace años que no ofrece ese número (en gran medida porque no puede presumir de ello debido a una fotolitografía menos avanzada en cuanto a la reducción de nanómetros).

Solo el inmenso AMD Epyc Rome de 1.088 mm2 logra superar al M1 —cuya superficie no conocemos, pero que es aproximadamente 5 veces más pequeño— con sus 39.540 millones de transistores, más del doble gracias a esa enorme die y a una litografía mixta de 7 y 12 nm. Esos 16.000 millones de transistores del Apple M1 son muchos transistores, y hacen que Apple tenga muchos elementos trabajando para lograr esos asombrosos rendimientos.

Comparar por tanto el rendimiento de los M1 con los actuales procesadores de Intel y AMD es tan odioso o injusto como casi cualquier otra comparación, pero lo mismo podríamos decir de ese salto que AMD ha dado en el mundo de las tarjetas gráficas con su nueva familia, la de las Radeon RX 6000 fabricadas con fotolitografía de 7 nm de TSMC y que permite contar con 26.800 millones de transistores en su die de 519 mm2.

Menos nanómetros permite integrar más transistores en la misma unidad de superficie, y más transistores suponen más potencia y mejor eficiencia

NVIDIA y sus nuevas RTX 3000 logran competir, desde luego, pero tiene mérito que lo hagan usando de una litografía de 10 nm de Samsung (aunque este fabricante la llama 8N) que por ejemplo permite alcanzar unos demenciales 28.300 millones de transistores en la gigantesca die (628 mm2) de las RTX 3090.

Lo mismo podríamos decir de los últimos procesadores de AMD, los Ryzen 5000, y ese adelantamiento por la derecha que le han hecho a las mejores CPUs de Intel. La comparación es una vez más algo injusta ya que las litografías son muy distintas: los 7 nm de estos micros de AMD logran poner en evidencia a los 14 nm de los Core i9-10900K con los que compiten, por ejemplo.

Al final la conclusión es la misma: menos nanómetros, más transistores, y más transistores suponen más potencia y mejor eficiencia. Hay otros factores que influyen, desde luego, y será interesante ver qué logran AMD —que ya apunta maneras— o Intel cuando lancen procesadores con una fotolitografía de 5 nm (si los lanzan), pero está claro que los nanómetros importan. Y mucho.

Si la CPU sorprende, la GPU asombra

Se ha hablado mucho del aumento de rendimiento de la CPU, y ciertamente todos los componentes de esa arquitectura ayudan a dar un salto cualitativo espectacular. Lo curioso es la CPU de los chips M1 de Apple es buena, pero la GPU es espectacular.

No solo eso: vuelve a ser tan solo el principio de un camino en el que Apple parece tener un margen de maniobra sin parangón. Las actuales GPUs integradas cuentan con 8 núcleos —salvo en los MacBook Air básicos, que cuentan con una versión con 7 núcleos— y mantienen esa eficiencia que según análisis independientes apuntan a un consumo irrisorio: 10 W.

Apple descubrió estas GPUs destacando que eran capaces de lograr 2,6 TFLOPS de potencia en operaciones FP32, una cifra que deja atrás a todos los chips integrados actuales de Intel, Nvidia y AMD y que coloca a estas GPUs cerca, atención, de las gráficas dedicadas Nvidia GeForce GTX 1650.

Las GPUs integradas de los Apple M1 llegan a estar al nivel de algunas gráficas dedicadas de gama de entrada de Nvidia y AMD, y proporcionan 2,6 TFLOPs de potencia.

Las pruebas las tenemos en el análisis que por ejemplo realizaron en AnandTech, en las que también probaron la versión para Mac de ‘Rise of the Tomb Raider’, que a pesar de no estar compilado para los M1 podía ser jugado gracias a Rosetta 2. El rendimiento era de nuevo sorprendente, y en resolución 768p era posible lograr más de 60 fotogramas por segundo, lo que dejaba atrás a todos los chips integrados como el del Ryzen 7 4700U, que se quedaba en 40.

Para esos expertos las conclusiones eran aplastantes: la GPU del M1 es capaz de lograr rendimientos cercanos a los de tarjetas gráficas dedicadas de gama media recientes, pero además lo hace con un consumo energético sorprendentemente bajo.

Las cosas se ponen interesantes si tenemos en cuenta, insistimos, que este es solo el peor y más lento de los chips de esta prometedora familia. Apple no ha hecho más que comenzar, pero en el horizonte, dicen, asoman GPUs de 128 núcleos. Y sin con 8 ya logran esto, no podemos imaginar qué lograrán con 128.

El hardware importa, el software, más

Los avances hardware que plantea este salto tecnológico son desde luego notables, pero todas esas mejoras en eficiencia y rendimiento no serían nada sin un software que pudiera aprovecharlas.

Es aquí donde Apple ha dado el do de pecho. La situación contrasta con la que estamos viviendo con el soporte de Windows 10 a arquitecturas ARM, que es confuso y parcial.

Lo vimos en nuestro análisis del Surface Pro X en diciembre de 2019 en el que pareció claro que aunque el hardware parece preparado, al software le falta mucho camino por recorrer.

Será interesante ver si Microsoft reacciona ante la propuesta de Apple con sus M1, pero lo cierto es que la firma de Cupertino ha logrado solventar ese apartado gracias a una propuesta que permite ejecutar todo tipo de aplicaciones gracias a cuatro soluciones de compatibilidad software.

Aplicaciones nativas con Universal 2

El futuro de todas las aplicaciones es el de ser aplicaciones ‘Universal 2’, que permitirán que con un solo binario podamos ejecutarlas tanto en equipos basados en ‘Apple Silicon’ (como el M1 y sus sucesores) como en los actuales equipos basados en procesadores de Intel.

Apple ya indicaba en junio cómo con Xcode 12 los desarrolladores disponen de todas las herramientas para preparar sus aplicaciones para convertirse en aplicaciónes universales que se ejecuten de forma nativa en cada equipo sin importar su arquitectura.

Si os suena ese concepto, es porque no es nuevo: Microsoft ya lo intentó con su Universal Windows Platform (UWP), el proyecto con el que pretendía llegar a escritorio, móviles y tabletas con aplicaciones universales. Aquella idea fracasó cuando se abandonó el esfuerzo por lograr que Windows 10 estuviera también en móviles.

Rosetta 2 y “las trampas” de Apple

¿Qué pasa con todas las aplicaciones actuales que no tienen versión nativa? Que podrás seguir usándolas gracias a Rosetta 2, una capa de emulación que es la heredera natural de aquella Rosetta que vimos en la transición de PowerPC a Intel.

La traducción de código se hace no ya en tiempo real, sino por adelantado. En esa instalación o primera ejecución la aplicación se recompila para la nueva arquitectira, y de ahí que estas aplicaciones tarden algo más de tiempo en lanzarse esa primera vez. Con esta capa Apple permite que podamos ejecutar cualquier aplicación actual para los Mac con micros Intel en los Mac con micros M1 sin que la pérdida de rendimiento sea especialmente notable.

¿Cómo es posible? Porque como explicaba en un interesantísimo hilo en Twitter el desarrollador Rob Graham, Apple “ha hecho trampas”. Era una forma de decirlo, claro: Apple resuelve el mayor problema de la emulación, que es el llamado “memory-ordering”, el orden en la que las dos CPUs ven las modificaciones que se hacen en memoria cada una de ellas.

Hay probablemente más “trucos” en juego —en Hacker News debatían la capacidad de Rosetta 2 de emular/traducir aplicaciones que integran su compilador JIT— El resultado es prodigioso en el caso de esta capa, que aunque no logra una emulación perfecta, sí que muestra en los benchmarks que el rendimiento de las aplicaciones emuladas es de aproximadamente el 70% de la aplicación nativa.

Hay algunas limitaciones, claro: Rosetta 2 no puede traducir extensiones del kernel**, software de virtualización como Parallels o VMWare Fusion** (tampoco soluciones muy populares en el ámbito de los contenedores como Docker) y tampoco aplicaciones que usan nuevos juegos de instrucciones como las AVX, AVX2 o AVX512 de Intel.

La virtualización como camino a apps de Windows y Linux

El tercer componente de ese despliegue software que Apple plantea para este salto generacional es la virtualización, que permitirá ejecutar aplicaciones de otras plataformas con un rendimiento también notable.

Hemos comenzado a ver los primeros resultados de esa capacidad estos días. Varios han sido los desarrolladores que han mostrado cómo era posible ejecutar una máquina virtual con Windows 10 (en su versión ARM, eso sí) gracias al hipervisor de macOS Big Sur, y el rendimiento de esa máquina virtual era tan sorprendente (avergonzante, incluso) que mejoraba el rendimiento de los Surface Pro X con los chips de Qualcomm.

También hemos visto cómo ear posible instalar una máquina virtual con una instancia de Ubuntu, aunque de momento solo en modo consola. El resultado era el de contar con una especie de “Subsistema Linux para macOS” análogo al subsistema Linux para Windows (WSL) que desde hace años Microsoft ha desarrollado con éxito para lograr que cualquier usuario de Windows 10 pueda ejecutar sin problemas aplicaciones dentro de la consola de distintas distribuciones Linux.

En nuestras pruebas del Mac mini hemos sido capaces de verificar ambos escenarios, y hemos creado una máquina virtual de Windows 10 ARM a través de QEMU y otra de Unbutu Server (ARM) a través de la recién aparecida versión de Parallels para los chips M1 de Apple. Aunque hay algunas limitaciones como la de la resolución con la que se puede trabajar en ellas, el rendimiento es realmente sorprendente. Y esto es solo el principio, insistimos.

Mira mamá (pero no toques), ¡aplicaciones de iOS y iPadOS en un Mac!

La cuarta y última gran sorpresa de este nuevo ecosistema software es la que hoy en día “más coja“ está, pero también la que más prometedora resulta de cara al futuro.

Se trata ni más ni menos que del soporte nativo de aplicaciones de iOS y de iPadOS en los Mac basados en ‘Apple Silicon’. Instalar aplicaciones y juegos de las plataformas móviles es tan fáci como ir a la App Store y buscar cualquiera de ellas.

El problema es que aunque instalarlas y ejecutarlas es perfectamente posible, muchas de estas aplicaciones no se comportan especialmente bien en macOS. Las ventanas a menudo no se pueden redimensionar (algo que Apple ha aliviado en una reciente actualización de macOS Big Sur) y parte de sus funciones no se pueden usar como uno esperaría hacerlo en un equipo de escritorio, pero el problema real no solo es ese.

El problema de ese soporte es que aunque instalar y ejecutar apps de iOS es perfectamente posible, muchas de estas aplicaciones no se comportan especialmente bien en macOS

El problema real reside en que esas aplicaciones no fueron diseñadas para ser usadas con el teclado y el ratón o el trackpad de los Mac. Fueron diseñadas para tocarlas, y ningún equipo de Apple basado en macOS cuenta con pantallas táctiles. Todavía.

No sabemos si Apple plantea ese singular cambio en sus equipos, pero la lógica parece plantear efectivamente un futuro en el que lleguen MacBooks con pantallas táctiles.

Eso dejaría en una posición incómoda a los iPad actuales así que todo es una incógnita en este sentido, y será especialmente interesante ver cómo avanza ese futuro. ¿Trabajarán los desarrolladores en aplicaciones de iOS y iPadOS que puedan “adaptarse” al escritorio? ¿Planteará Apple otra forma de poder aprovechar ese inmenso catálogo en los Mac?

Las dudas son enormes, pero lo cierto es que en los últimos tiempos hemos asistido a una singular convergencia entre las dos grandes plataformas de Apple que hemos visto en los dos extremos.

En primer lugar, iOS se ha “macosificado” y se ha convertido en iPadOS con ese soporte del Dock, el explorador de ficheros y desde luego el soporte de ratón y teclado.

En segundo, macOS se ha “iosificado” y hemos visto cómo en macOS Big Sur han llegado los widgets, la renovación del centro de control, o las nuevas características de Safari, los Maps o los mensajes.

Hay otro elemento singular en ese soporte de aplicaciones de iOS o iPadOS en estos nuevos Mac con los chips de Apple: muchas de esas aplicaciones se pueden encontrar como “aplicaciones web” que tradicionalmente ejecutamos en un navegador cuando trabajamos con un ordenador de sobremesa o portátil.

Tenemos ejemplos claros como las aplicaciones bancarias o aplicaciones como Airbnb, que funcionan en su versión iOS al instalarlas desde la App Store, pero que funcionan mejor y de forma más natural desde el navegador web, donde ciertas interacciones pensadas para ratón y teclado simplemente hacen su trabajo como uno esperaría cuando está utilizando dichos servicios con estos periféricos.

Algunos analistas afirman que el soporte de apps iOS y iPadOS apunta a un hipotético MacBook con pantalla táctil.

No hay por tanto ventajas en ciertas aplicaciones porque sus versiones web ya cumplen a la perfección con ese cometido, pero puede que ese hipotético soporte táctil cambie las cosas.

Hasta que eso pase dos cosas están claras: este apartado es el que más trabajo necesita por parte de Apple y los desarrolladores, y las ventajas no son evidentes, al menos cuando tenemos ya formas de acceder a esas aplicaciones y servicios con un navegador web o con aplicaciones nativas diseñadas para ordenadores de escritorio que manejamos con ratón y teclado.

El futuro de Apple da miedo, el de AMD e Intel también (pero de otra clase)

Todo lo que hemos visto plantea un futuro absolutamente espectacular para los chips de Apple, que nada más nacer ya han dejado en ridículo a la mayoría de las propuestas de Intel y AMD.

Que un equipo de 800 euros como el Mac mini supere en las pruebas de rendimiento a equipos que cuestan cinco veces más es buena prueba de ello. Pocos son los escenarios en los que el M1 no logra vencer a sus competidores, y todo cobra aún mayor relevancia cuando estamos ante los que probablemente van a ser los chips más lentos de la nueva era de Apple.

Lo peor de Apple es mejor que (casi todo) lo mejor de sus competidores. Es alucinante.

Todo lo que venga a partir de ahora será aún mejor, y eso hace que avistemos un futuro en el que el rendimiento de los equipos de Apple probablemente no tenga parangón.

Intel y AMD tienen un problema, porque los Apple M1 que ahora les superan son tan solo los primeros SoC de la firma en esta familia. Todo lo que venga después será (teóricamente) mejor.

Es desde luego razonable pensar que Intel y (sobre todo) AMD planteen alternativas decentes: los Ryzen 5000 para portátiles desde luego parecen ir en esa línea, pero con este movimiento Apple parece haber dado un salto de una o dos generaciones.

Todo lo que hagan los competidores parece que llegará tarde, al menos a corto plazo, y estaremos aquí ante una situación análoga a la que se ha producido durante años en el segmento de los smartphones: los iPhone nunca eran mejores en especificaciones, pero solían ser mejores en la experiencia de usuario.

Parece como si pudieran hacer más con menos, y con menos memoria RAM y menos batería se lograban rendimientos y autonomías envidiables y difícilmente equiparables en móviles basados en Android.

Eso por no hablar del ámbito de los procesadores móviles, en los que que los Apple AXX han mostrado una y otra vez su superioridad al realizar benchmarks frente a las propuestas de Qualcomm, Huawei o Samsung en el segmento de la movilidad.

Ahora parece que la situación ha transcendido ese mundo y ha dado el salto al escritorio: ni Intel ni AMD parecen poder competir a corto plazo, y si lo hacen es con procesadores con un consumo energético mucho mayor.

¿Quién puede plantear competencia entonces? Es difícil decirlo, y desde luego es demasiado pronto para dar la guerra por finalizada. AMD ha dado también un salto notable con sus últimos procesadores, y Intel es demasiado grande como para no esperar nada de ella.

Por supuesto hay otros jugadores en este terreno. ARM acaba de lanzar al mercado sus nuevos Cortex-A78C orientados a portátiles de gama alta, y los también recién presentados Qualcomm Snapdragon 888 —que según AnandTech podrían recuperar el trono de las GPUs móviles en 2021— permiten pensar con cierto optimismo en una posible respuesta de esta compañía a los M1 de Apple si se deciden en algún momento a plantear un SoC específicamente diseñado para portátiles y PCs de sobremesa como ha hecho la empresa de Cupertino.

Las propuestas que compitan con los M1 podrían llegar de Qualcomm, Huawei o Samsung, pero también de Nvidia ahora que es propietaria de ARM.

Probablemente otra de las incógnitas esté en Nvidia, que en septiembre llegaba a un acuerdo para comprar ARM por 40.000 millones de dólares.

Esta apabullante adquisición plantea posibilidades realmente interesantes para este fabricante de semiconductores, que quizás esté viendo con una perspectiva algo diferente el logro de Apple. Después de todo, ellos son ahora propietarios de la empresa que diseña esos núcleos y que impulsa esa arquitectura: ¿quién mejor que ellos para hacer un chip para Windows 10 o Linux que rivalice con lo que Apple ha logrado con el M1 y macOS?

El problema no es tanto de los fabricantes (que también) como de Microsoft

Los Qualcomm, Huawei, MediaTek o Samsung del mundo tienen un problema. También lo tiene Nvidia si se decide a aprovechar su nueva posición privilegiada para desarrollar —quién sabe— una alternativa a los chips M1 de Apple.

No es ya el hecho de que puedan o no aprovechar esa computación heterogénea que tan buen resultado da en los M1: eso ya lo hacen en mayor o menor medida y por tanto plantear chips con esa filosofía parece totalmente factible.

El problema está en el software. Microsoft cuenta desde hace tiempo con una versión para arquitecturas ARM de Windows 10, pero la falta de soporte para algunas aplicaciones ha limitado el alcance que ese proyecto podría haber tenido.

La empresa de Redmond tiene ante sí un reto de dimensiones apabullantes.

Ha habido —y sigue habiendo—problemas con aplicaciones x86 que funcionan peor de lo que uno esperaría y que tampoco son especialmente eficientes a pesar de poder aprovechar las características de la arquitectura ARM.

Lo que sí ha supuesto un problema notable es la falta de soporte para aplicaciones de 64 bits. Precisamente esa queja era aclarada en octubre Panos Panay, uno de los máximos responsables del hardware de Microsoft, que aseguraba que estaban trabajando mucho en mejorar ese soporte gracias a una capa de emulación que ya ha empezado a funcionar en la versión de Windows 10 ARM para miembros del programa Windows Insiders.

La empresa de Redmond tiene ante sí un reto de dimensiones apabullantes, sobre todo porque al contrario de lo que sucede con Apple, no depende de sí misma: debe colaborar con fabricantes y desarrolladores para que todas las piezas de ese complejo puzzle funcionen.

Su trayectoria hasta ahora no ha sido ningún éxito. Su primer intento de 2011, Windows RT, fue un sonado fracaso que le hizo perder 900 millones de dólares con aquellas Surface RT, aunque esta segunda intentona actual es más interesante.

Microsoft se ha aliado con Qualcomm para sacar al mercado productos como los convertibles Surface Pro X, llamativos pero limitados tanto en potencia como en prestaciones. La revolución ARM no es especialmente palpable en el caso de equipos Windows 10 con ARM, pero está causando sensación en el mundo Mac porque las diferencias de rendimiento y eficiencia son asombrosas.

No solo eso: lo son con precios que además son muy inferiores a los de productos como las Surface Pro X. Un MacBook Air con los nuevos M1 cuesta 1.129 euros en su versión con 8 GB de RAM y 256 GB de SSD. El Surface Pro X con esa configuración tiene un precio rebajado actualmente a 1.230 euros (era de 1.449 euros), pero es que además no viene con teclado, lo que impone un coste adicional de (como poco) 149,99 euros.

La revolución ARM no es especialmente palpable en el caso de equipos Windows 10 con ARM.

Es cierto que el Surface Pro X aporta cosas como su pantalla táctil, su formato convertible o su conectividad 4G, pero aún así es difícil que las cuentas salgan cuando la potencia y eficiencia de los MacBook Air es netamente superior en todas los análisis independientes que hemos podido encontrar.

Y eso, insistimos, sin contar con las limitaciones software —algo que afecta a la batería— que ya pudimos vivir en nuestro análisis del producto en su versión de 2019.

No hemos tenido la oportunidad de comprobar cómo se comporta el nuevo modelo con el chip Microsoft SQ 2, pero análisis com el de Windows Central revela que su puntuación en Geekbench 5 era de 798 puntos en las pruebas single-core y de 3.100 en las pruebas multi-core: una distancia sideral lo aleja de los 1.725 / 7.269 puntos que el M1 alcanza en nuestras pruebas con el Mac mini con este chip.

Otras apuestas de futuro: desde RISC-V en hardware hasta Linux en software

Esas dificultades para Microsoft plantean oportunidades para otras alternativas, y una de ellas es sin duda la de RISC-V, esa arquitectura que con una filosofía Open Source trata precisamente de ofrecer esa concepción de la computación a todos los usuarios.

El papel de los chips RISC-V es hoy en día casi anecdótico, pero hay un interés latente que plantea esta opción como una que pueda tener papeletas para ganar terreno en ese hipotético futuro en el que ARM y otras soluciones basadas en la filosofía RISC acaben dominando el panorama no solo en dispositivos móviles, sino también en PCs de escritorio y portátiles.

Google es otro de los “tapados” de esa posible revolución. Su sistema operativo ChromeOS corre perfectamente tanto en arquitectura x86 como en ARM, y de hecho hace años que estamos viendo Chromebooks basados en una y otra plataforma.

Google es otro de los “tapados” de esa posible revolución.

No solo eso: se lleva años hablando de un procesador ARM fabricado por Google. Los últimos indicios apuntan a que el Pixel 6 de 2021 podría estar basado en dicho SoC, y ese chip podría también gobernar futuros convertibles o portátiles basados en Chrome OS.

Ya lleva tiempo creando sus propios micros para el ámbito del machine learning, así que no parece que le falten ni experiencia y recursos para competir con los M1 de Apple.

De hecho a Google le pasa un poco como a Apple: tiene Chrome OS para sus equipos portátiles mientras que Android es absoluto protagonista en el terreno de los smartphones. ¿Sería posible ver un Android preparado para correr en equipos de escritorio y portátiles ARM? ¿Es la reciente compra de Neverware un guiñó a una mayor apuesta en este sentido?

Es algo que ya vimos en equipos x86 con aquel proyecto llamado Remix OS que a algunos nos planteó una visión del futuro pero curiosamente desapareció del mapa. Google nunca ha querido explorar demasiado ese camino —no al menos de cara a la galería— pero sí lo han hecho Samsung con su DeX o Huawei con su modo PC.

En todos esos casos ha quedado claro que Android podría ser perfectamente usable como sistema operativo de escritorio con algunos ajustes. Hacerlo en equipos basados en chips ARM facilitaría aún más las cosas, y esta por tanto es otra de las alternativas viables de futuro para una empresa como Google que tiene más papeletas aquí de las que podríamos imaginar.

¿Quién podría ser el otro beneficiado indirecto de ese teórico futuro de PCs y portátiles ARM? Linux.

El sistema operativo más versátil del mundo ha soportado ARM desde hace dos décadas: la historia de la legendaria distribución Debian ya refleja como en agosto de 2000 Debian 2.2 ya soportaba plataformas diversas entre las que estaban PowerPC y ARM.

Desde entonces Linux ha seguido manteniendo versiones ARM que han permitido que diversas distribuciones estuviesen disponibles para dispositivos basados en procesadores con esta arquitectura.

Linux lleva años dando soporte a la arquitectura ARM: quizás el sistema operativo Open Source tenga aquí una oportunidad singular para brillar.

Y si no, que se lo digan a la Raspberry Pi. Aun cuando hay distancia entre los enfoques de esos miniPCs con los Mac con los chips M1, la analogía es clara, y usar un equipo de sobremesa o portátil con chips ARM y disfrutando de Linux no solo es posible: es una realidad, aunque las alternativas aquí estén de momento muy orientadas a ese nicho que por ahora tiene como protagonista a Raspberry Pi y similares.

Todo muy bien, pero ¿y mis juegos?

Ninguna de estas alternativas plantea, eso sí, una solución a una de las grandes incógnitas con esa teórica revolución de ARM en el escritorio: ¿qué pasa con el gaming?

Apple ya ha confirmado que (al menos de momento) los equipos basados en los chips M1 no están preparados para dar soporte a GPUs externas (pero hay esperanzas de que lo hagan en el futuro). Aunque la GPU de 8 núcleos (7 en el caso de los MacBook Air más básicos) es notable en cuanto a rendimiento, está lejos de las últimas tarjetas gráficas dedicadas de Nvidia o AMD.

No solo eso: buena parte del gaming actual está pensado para ejecutarse en equipos con Windows 10 con procesadores x86/x86-64 de Intel y AMD. No parece factible que a corto plazo veamos alternativas a los PCs gaming actuales con procesadores ARM, pero las cosas podrían ponerse interesante ahora que Nvidia es propietaria de ARM.

El streaming de videojuegos podría ser la solución a esa singular indiferencia de Apple en el mundo del gaming.

Aún así, insistimos, el mundo del gaming gira alrededor de la arquitectura x86, y eso se demuestra también con la última generación de consolas cuyos procesadores son modelos personalizados y basados en la arquitectura x86 de los que AMD también ofrece para PCs y portátiles.

Será interesante ver qué ocurre en este segmento si ARM logra avanzar en el ámbito de los PCs y portátiles, pero a priori ese salto tardará en llegar y para cuando lo haga quizás no sea necesario contar con equipos con gráficas dedicadas.

¿Por qué? Sencillo: el streaming de videojuegos podría ser la solución a ese problema. Quizás no la ideal para los más exigentes, pero una solución notable, desde luego.

Conclusiones: esta puede ser la nueva gran disrupción de Apple

Es por supuesto pronto para decirlo, pero el salto que ha dado Apple con sus nuevos chips es realmente asombroso, y plantea una verdadera disrupción en un segmento que aunque desde luego ha evolucionado, no ha sufrido ninguna “revolución” desde hace más de cuatro décadas.

Eso es lo que puede provocar Apple con el salto a sus propios chips y a la arquitectura ARM en sus equipos de sobremesa y portátiles. De repente se vislumbra una amenaza real a ese histórico binomio entre Microsoft y los fabricantes de procesadores x86.

Lo realmente sorprendente de esta transición es que Apple la ha ejecutado sin que los usuarios noten nada.

El legendario mundo “Wintel” tiene ante sí la mayor amenaza de su historia, y es una amenaza real que podría hacer que los cimientos de los PCs y portátiles tal y como los conocemos se tambaleasen.

Lo sorprendente de esto es que Apple lo ha logrado sin que los usuarios no noten nada. Para ellos la transición será —salvo para los ‘early adopters’, y solo en escenarios muy específicos— absolutamente transparente: siguen pudiendo hacer todo lo que hacían, pero lo hacen más rápido y con equipos con una autonomía nunca antes vista.

John Gruber, el conocido analista, hacía una apreciación singular en su blog, Daring Fireball, al hablar del tema:

Las dos transiciones anteriores del chip del Mac, del 680x0 al PowerPC en 1994 y del PowerPC al Intel en 2006, fueron hechas por necesidad. Las viejas arquitecturas, en ambos casos, habían caído irremediablemente detrás del logrado por Intel/x86.

La lógica detrás de la transición de Apple a Intel se reducía a otro viejo axioma: si no puedes vencerlos, únete a ellos.

La lógica detrás de la actual transición de Apple con Intel a Apple Silicon es esta: Si puedes vencerlos fácilmente, hazlo.

Quizás el comentario parezca algo exagerado, pero todas las pruebas confirman que, en efecto, Apple es capaz de vencer (de forma relativamente fácil) a todos los procesadores que Intel y AMD tienen para ordenadores portátiles, y a prácticamente todos los que tienen para ordenadores de sobremesa con un consumo energético mucho mayor que el de los M1.

El propio Gruber apuntaba a algo importante: está muy bien que los benchmarks demuestren la capacidad y potencia de estos chips, pero “los mejores aspectos de estos Maks no son medibles. Se trata de lo geniales que son. Que el sistema de ventilación no haga ruido no sale en ningún benchmark”.

Que se “despierten” del estado de suspensión en un instante también es difícilmente medible. Algo parecido —aunque ciertamente medible— ocurre con la batería, que muchos usuarios y analistas -como nuestros compañeros de Applesfera— han dejado claro que es realmente asombrosa.

Todas esas cualidades, medibles y no medibles, dejan claro que estamos ante una revolución. Una quizás más silenciosa que otras protagonizadas por el iPod o el iPhone, y quizás comparable a la que Apple planteó con este smartphone o quizás con aquel Macintosh original de 1984 que nos mostró cómo era manejar un ordenador con teclado, ratón y con una interfaz de ventanas.

No sabemos si en una década hablaremos de la arquitectura x86 como algo del pasado, pero lo que sí sabemos es que los chips M1 son toda una revolución para Apple.

La apuesta de Apple es sencillamente excepcional. Puede que todo se mantenga como está en el mundo de los PCs durante un tiempo, desde luego, pero la promesa de futuro que plantean los sucesores del M1 hace que sea difícil no prever cambios en este segmento.

Es imposible saber si en cinco o diez años todos estaremos ante un equipo basado en procesadores RISC basados en diseños de ARM o quizás en un diseño propietario de algún fabricante: lo que sí sabemos es que los chips M1 son toda una revolución para Apple. Veremos si el movimiento acaba contagiando o no al resto de fabricantes como ya hicieron el Macintosh, el iPod o el iPhone.

Ver todos los comentarios en https://www.xataka.com.co

VER 0 Comentario

Portada de Xataka Colombia