texto:   A-   A+
eliax

Análisis #eliax: Apple Silicon, todo lo que querías saber (y lo que no sabías que te gustaría saber)
eliax id: 11569 josé elías en jul 22, 2020 a las 03:49 PM ( 15:49 horas)
Apple SiliconeliaxHola amig@s lectores,

Como ya sabrán, Apple recientemente anunció que sus Macs transicionarán a sus propios procesadores que ha bautizado como "Apple Silicon", y aunque no han proveído información detallada al respecto noten que llevo desde el 2007 prediciendo esta integración (ver los enlaces de "previamente en eliax" al final de este artículo en donde verán los principales artículos históricos que he escrito acá en eliax sobre el tema), y por tanto tengo una muy buena idea de todo lo que ocurre tras bastidores (ayudado también por contactos en ciertas empresas, rumores de fuentes confiables, y dado que mi profesión de carrera universitaria fue precisamente el diseño de microprocesadores, tema que entiendo en profundidad).

Habiendo hecho esa breve introducción déjenme aclararles algo de entrada: Apple no está fabricando los típicos chips de arquitectura ARM para sus Macs (ni tampoco para sus otros productos que utilizan Apple Silicon como son el iPhone, iPad, Apple Watch, AirPods, Apple HomePod, o Apple TV), y para entender eso deben entender cómo funciona el ecosistema ARM, que es muy diferente al ecosistema tradicional de Intel (y AMD) con la arquitectura x86 y sus derivados recientes como X86-64.

En el mundo de x86, empresas como Intel y AMD diseñan sus chips, los fabrican (sea en sus propias fábricas, como Intel, o de otros, como AMD) y después los venden a clientes (como Dell, HP, Lenovo, etc) que después integran esos chips adentro de sus productos. Bajo este modelo el cliente de x86 por lo general no tiene muchas opciones a la hora de decidir qué va dentro de esos chips (que por lo general son CPUs, o el cerebro principal del sistema) y a veces GPUs (encargado de gráficos, y más recientemente también de temas como Inteligencia Artificial de forma parcial). Sin embargo empresas como Intel lo que hacen es que tienen una gran diversidad de familias (como la i3, i5, i7, i9, Xeon, etc) y modelos (como por ejemplo el Core i9-10980HK), con la esperanza de que algunos de esos modelos le serán de utilidad al mercado dependiendo de las necesidades (como por ejemplo, laptops, o potentes servidores, o PCs para jugar, etc).

En el mundo ARM la situación es totalmente distinta. La empresa que mantiene la arquitectura ARM es ARM Holdings, cuyo propietario es actualmente el SoftBank Group de Japón (curiosamente, noten que Apple fue de las 3 empresas que iniciaron a ARM, junto con Acorn Computer y VLSI Technology). En este mundo, la empresa ARM no fabrica sus propios chips, sino que licencia sus diseños en dos modalidades muy particulares.

Bajo la primera modalidad, ARM diseña chips y licencia sus planos a empresas que deciden utilizar esos diseños para sus productos. Así que por ejemplo alguien como Samsung puede licenciar los planos de un modelo específico de chips de ARM, y después procede a enviar esos planos a una fábrica para que les fabrique millones de chips con esos planos y después poner el producto en sus celulares. ARM también provee servicios donde bajo ciertos arreglos puede ligeramente modificar algunos aspectos de sus diseños para clientes en particular (Huawei por ejemplo puede solicitar a ARM que le provea planos de un chip que contenga 4 núcleos de CPU de alta potencia y 4 más de bajo consumo energético). Pero lo importante a entender es que bajo este modelo los creadores de productos (como Samsung o Huawei) simplemente licencian los planos de tales chips, y después es labor de ellos buscar un fabricante que se los fabrique.

El otro tipo de licencia, que muy pocos tienen, siendo Apple una de esas exclusivas empresas, no es para licenciar los planos genéricos de los chips que implementan la arquitectura ARM, sino para licenciar lo que se llama el "ISA" (Instruction Set Arquitecture). Les explico a continuación ya que esto es extremadamente importante lo entiendan...

Cuando alguien habla de "X86" o "ARM" se refiere por lo general al paquete completo, al producto final, al chip ya empacado y listo para utilizarse en un celular o tableta. Sin embargo, en la jerga de la industria esas palabras tienen significados muy diferentes dependiendo de a qué nos estamos refiriendo.

Una cosa es un chip que implementa una arquitectura, otra es la arquitectura en sí.

En el mundo de los microprocesadores uno generalmente inicia con el ISA, que no es más que el lenguaje que hablaría el microprocesador a bajo nivel. Así que por ejemplo, imaginemos una arquitectura de microprocesador que implementará este ultra-sencillo juego de instrucciones (ISA):

- ESCRIBIR (algo en memoria)
- MODIFICAR (algo en memoria)
- COPIAR (de un lugar en memoria a otro lugar)
- BORRAR (algo en memoria)
- SUMAR (dos números)
- CONDICION (para hacer algo dependiendo de algo)

Esa lista de 6 "comandos" sería el ISA, o "La Arquitectura del Juego de Instrucciones". En la realidad, obviamente la cosa es muchisisísimo más compleja, pero para fines didácticos este ejemplo es más que suficiente.

Ahora bien, asumamos que ese es el ISA de la arquitectura ARM. ¿Qué sucede ahora? Pues obviamente el ISA no es más que una especificación técnica sobre papel, no hace absolutamente nada hasta que alguien haga un diseño (un "plano") que implemente esa ISA en un plano que después se pueda enviar a una fábrica para crear el chip.

Y eso es precisamente una de las cosas que hace ARM: La empresa toma su especificación de ISA y diseña planos de chips que implementan ese ISA para distintos mercados. Es bueno notar que ARM hace distintas familias de diseños de sus chips para diferentes mercados, tal cual lo hace Intel, así que por ejemplo ARM tiene familias como son los Cortex-A, Cortex-M, Ethos-N, Neoverse, etc.

Es también bueno entender que aunque los chips son diferentes y para distintos mercados (como puede ser desde un super pequeño chip de bajo consumo energético para ser utilizado en un la computadora de un refrigerador, hasta un super potente chip con 8 núcleos para el más reciente celular de Google) que todos esos chips utilizan exactamente el mismo ISA, lo que significa que un programa que pongas en uno de ellos funcionará hasta cierto punto en otro (aunque obviamente de forma más rápida o lenta dependiendo del caso).

Y esa es una de las grandes ventajas de ARM: Un desarrollador de software puede utilizar esencialmente las mismas herramientas para desarrollar para una aplicación que va en un refrigerador, hasta una aplicación que va para una nave espacial, ya que la arquitectura de bajo nivel es la misma.

Pero la otra cosa que hace ARM (como es el caso de Apple) es licenciar la ISA en sí, para que sea entonces el cliente de ARM (en este caso Apple) quien diseñe sus propios planos basados en la arquitectura ISA de ARM.

Y es por eso que aunque Apple licencia el ISA de ARM, que técnicamente hablando al bajo nivel los chips de Apple son totalmente diferentes a los chips ARM genéricos que utilizan empresas como Samsung, Huawei y Google en sus productos.

Y eso es extremadamente importante entenderlo porque muchos se preguntan que cuál es la fórmula mágica que permite que año tras años los chips "ARM" de Apple en sus celulares y tabletas sean considerablemente superiores en rendimiento y consumo energético a los de la competencia, y la razón es que Apple ha invertido miles de millones de dólares en contratar (literalmente) a los mejores diseñadores de microprocesadores del mundo, con la finalidad de tener su propia implementación del ISA de ARM al que llama "Apple Silicon".

Pero antes de explicarles qué otras cosas está haciendo Apple para hacer que su Apple Silicon sea mucho más eficiente que los chips genéricos de ARM, es bueno responder también la pregunta "¿Por qué ARM en primer lugar y no x86?" Es decir, qué hizo que empresas como Apple, Samsung y miles de otras decidieran adoptar a ARM para sus productos...

Y la respuesta es sorpresivamente sencilla: Eficiencia, costos y simpleza.

Sucede que filosóficamente han existido tradicionalmente dos escuelas de pensamiento sobre cómo diseñar microprocesadores. La primera escuela es llamada CISC, y la segunda RISC.

Intel es de la vieja escuela de CISC que significa "Complex Instruction Set Computing", y ARM es de la nueva generación de RISC (Reduced Instruction Set Computing).

En CISC la idea es diseñar microprocesadores que con una sola instrucción puedan hacer varias operaciones a la vez, mientras que RISC prefiere la filosofía de preferir hacer varias operaciones simples una detrás (o en paralelo, de ser posible) de las otras. Aunque ojo que hoy día ambas arquitecturas han tomado prestado de la otra, pero para fines de este artículo lo que les dije es lo primordial.

Como analogía didáctica, imaginen un ejemplo en donde un usuario quiere sumar 4 números que llamaremos A, B, C y D. En el mundo CISC de Intel es posible que exista una instrucción que sume los 4 números de una sola vez, con una instrucción similar a esta:

SUMAR 4 NÚMEROS: A + B + C + D = X

Pero en el mundo RISC quizás solo tengamos una simple instrucción que sume dos números a la vez, por lo que tendríamos que ejecutar varias instrucciones simples secuenciasmente para llegar al total, similar a esto:

SUMAR 2 NÚMEROS: A + B = X
SUMAR 2 NÚMEROS: X + C = X
SUMAR 2 NÚMEROS: X + D = X

Ahora bien, a simple vista se puede perdonar que alguien ingenuamente opine que la primera forma de sumar los números es "la más eficiente", puesto que se hace todo en un solo paso. Sin embargo, y como dice el viejo dicho, el demonio está en los detalles...

Sucede que en el primer ejemplo, así como Intel tendría una instrucción especial para sumar 4 números, lo más probable es que también tenga que tener dos instrucciones más adicionales en el chip, una para sumar grupos de 3 números, y otra para sumar grupos de 2 números, como esto:

SUMAR 4 NÚMEROS: A + B + C + D = X
SUMAR 3 NÚMEROS: A + B + C = X
SUMAR 2 NÚMEROS: A + B = X

O en otras palabras, mientras que la arquitectura RISC tiene un solo comando que se llama "SUMAR 2 NÚMEROS" y que reutiliza una y otra vez para sumar la cantidad de números que uno desea, la arquitectura CISC tiene comandos específicos para sumar entre 2, 3 o 4 números (y obviamente puede combinarlos igual que RISC para múltiples operaciones).

¿Qué significa eso? Pues significa lo siguiente:

1. Implementar la instrucción de sumar dos números en ambas arquitectura posiblemente tome una cantidad de circuitos (y correspondiente espacio) en el chip muy similar. Pero para implementar la suma de 3 o 4 números la arquitectura CISC va a necesitar de más circuitos y más espacio en el chip (en nuestro ejemplo, entre 3 y 5 veces más espacio debido a que también se necesita espacio para guardar todos los números que se suman a la vez).

2. Debido a que un chip CISC necesita muchísimo más espacio que un chip RISC para poder hacer computación, eso significa también que (1) son más complejos y (2) más grandes ya que ocupan mucho más espacio.

3. Debido a que los chips CISC son más grandes, eso también significa que son mucho más caros para fabricar, ya que los chips se fabrican en wafers (similares a un disco compacto pero sin el agujero del centro), y mientras menos chips quepan en un wafer mayor su costo de fabricación y de paso mayor la posibilidad de que tengan impurezas lo que daña los chips y por tanto sube aun más los costos de fabricación.

4. Pero como si fuera poco, el hecho de que los chips son más grandes, y que de paso las instrucciones del ISA de un chip CISC manipulan más datos a la vez, eso también significa que (1) consumen significativamente más energía y (2) por tanto se calientan mucho más, lo que para ciertas aplicaciones es un grave problema ya que se necesitaría de enfriamiento activo (como son los ventiladores conectados directamente en los chips como es común en las PCs de Intel con Windows).

Habiendo dicho todo eso, espero que vayan entendiendo por qué entonces al inicio de la revolución móvil que inició en los días del primer iPhone (y los anteriores líderes como fueron el Palm Pilot o Blackberry) los fabricantes de tales dispositivos decidieron irse mejor con ARM (y su arquitectura RISC) ya que los microprocesadores ARM son (1) más baratos, (2) consumen menos energía, y (3) ocupan menos espacio. Y como pueden ver estos son tres requerimientos esenciales para aplicaciones móviles hoy día.

Intel, lamentablemente, no predijo todo esta revolución móvil que se venía llegar tarde o temprano, no se adaptó a tiempo a las nuevas tendencias, decidió seguir pensando en PCs de escritorio y laptops tradicionales con Windows, y cometió de paso su error más monumentalmente nefasto al no solo no decidir crear una arquitectura que compitiera realmente contra ARM, sino que de paso fue tan torpe como para vender una licencia de ISA ARM que poseía (de las muy pocas que existían en el mundo, y que de no haberla vendido, hubiese podido estar fabricando sus propios chips ARM hoy en día).

Noten que debido a todo eso, hace 10 años escribí un artículo titulado "Análisis eliax: La arquitectura ARM se convierte en la más grande amenaza al negocio de Intel", pero parece que los ejecutivos de Intel no leían a eliax en ese entonces...

Pero las ventajas de ARM no se quedan ahí.

A diferencia de los chips x86 cuyos únicos diseñadores son Intel y AMD, en el mundo ARM un cliente de ARM puede solicitar que en el mismo chip se integre también todo tipo de otros diseños y módulos, como por ejemplo integrar un GPU o un procesador de señales dentro del mismo chip, para así hacer todo más eficiente aun y de mucho menor costo.

Y es ahí en donde viene el concepto (que encontrarán en donde sea que lean estos temas) de un "SoC". Un SoC (System on-a Chip) no es más que la técnica de poner varios microprocesadores que usualmente estarían empacados en chips diferentes, dentro de un solo chip.

En el mundo x86 esto también existe pero de forma muy limitada, como por ejemplo los chips de Intel que vienen con un GPU integrado, pero en el mundo ARM eso se lleva a todo un nuevo nivel ya que ARM le da permiso a cualquier fabricante de integrar cualquier otro circuito personalizado que desee dentro de sus diseños.

Y es bueno notar también que cuando empacas varios diseños de microprocesadores en un solo chip que las distancias de comunicación interna se reducen considerablemente mejorando de forma sustancial el rendimiento de interacción entre las partes.

Y todo esto nos lleva de regreso a Apple...

A diferencia de (por ejemplo) los fabricantes de equipos Android que están a la merced de ARM para diseñar sus propios módulos opcionales para incluir en un SoC, o de tener que contratar a terceros que les provean esos módulos en forma de "IP" (cuando lean "IP" en este contexto no están hablando de "dirección IP de Internet", sino de "Intellectual Property, es decir, planos de circuitos que son propiedad intelectual de sus diseñadores y que te venden o licencian), o en algunos casos de tener que contratar de forma interna o externa a expertos que les diseñen esos componentes adicionales, mientras que Apple por su parte lo que ha hecho es que dentro de su propia empresa ha creado toda una división de diseño de microprocesadores cuyo único cliente es Apple mismo.

Y esto, tiene implicaciones profundas...

Para empezar, Apple fabrica cientos de millones de productos cada año, y todos utilizan y utilizarán su propio Apple Silicon, lo que le permite lograr una extremadamente eficiente economía de escala, ya que tiene el uso y consumo de tales chips garantizados.

Debido a que Apple es el único "cliente" de Apple Silicon, eso significa que los diseñadores de esos chips están diseñando circuitos exclusivamente para las necesidades de Apple y de nadie más. Eso a diferencia de los diseños genéricos de ARM, que por pura necesidad deben ser lo más genéricos posibles ya que deben satisfacer las diversas necesidades que pudieran tener los distintos clientes que licencien esos diseños (es el caso similar con el sistema operativo Android, debe ser lo más genérico posible para poder ser utilizado en equipos de diversos fabricantes y por tanto por motivos lógicos y técnicos jamás podrá ser tan eficiente como lo es iOS por ejemplo en un iPhone).

Así que por ejemplo, ARM no tiene el menor incentivo en crear circuitos de alta eficiencia para escáners 3D de reconocimiento facial, ya que solo tendría uno que otro cliente para esa aplicación (grandes como Samsung o Huawei que puedan invertir en eso), y por tanto prefiere mejor que tales fabricantes implementen esas funcionalidades en software en vez de hardware.

Eso significa también que los chips genéricos de ARM tienen incluso "circuitos de más" que están ahí para satisfacer al más común denominador, que son diseños que aunque son optimizados para un bajo consumo energético y cierto poder de procesamiento, no están optimizados para las necesidades de un cliente en particular.

Un ejemplo sería que la nueva versión de Android soporte escáneres faciales en 3D de forma nativa (sin que un integrador como Samsung o Huawei tenga que hacer su propia implementación sobre el Android base). Sería genial si ARM pudiese implementar los algoritmos ultra-demandante de procesamiento de CPU que este tipo de funcionalidad demanda, en hardware, para que sea más eficiente en términos de velocidad y consumo de memoria y energético, pero ARM no tiene incentivo de hacer tal cosa ya que asume que empresas como Samsung o Huawei utilizarán sus talentos internos para proveer u obtener módulos de IP que puedan integrar con los planos de ARM, y al menos que todo el mercado empiece a demandar tal funcionalidad ARM no levantará un dedo, y para cuando lo haga ya Apple habrá implementado lo mismo par de años antes.

Un buen ejemplo de esto fue la movida de chips ARM de 32 bits a 64 bits. Fue Apple (y asombrosamente, no ARM) que lanzó el primer procesador ARM de 64-bits en el 2013, y el mundo Android tuvo que esperar casi 3 años después para poder tener algo similar viniendo de ARM.

Y todo esto nos trae de re-regreso a Apple: El único cliente de Apple Silicon es... Apple.

Si Apple le dice al equipo de ingenieros de Apple Silicon que en par de años planean lanzar unas gafas de Realidad Aumentada y que necesitan poner circuitos dedicados en sus chips para que los algoritmos que utilizarán esas gafas y los iPhones del momento puedan lidiar de forma eficiente con el flujo de datos que eso genera, eso más que una sugerencia sería una orden, y 12 meses después pueden apostar a que los nuevos iPhones y diseños de Apple Silicon ya contendrán circuitos dedicados para esa tarea.

Esa es la razón principal por la cual el iPhone SE que cuesta US$400 ha sido comprobado que es mucho más rápido que el celular más caro de Samsung que cuesta cerca de US$1,500 dólares.

Y es la misma razón por la cual un iPhone con 3GB de memoria RAM funciona marcadamente más fluido que un celular Android con 6GB de RAM, ya que en el ecosistema de Apple todo está integrado eficientemente y diseñado como un "todo".

Esa es también la razón por la cual las baterías de los celulares iPhone son por lo general de menor capacidad que los celulares genéricos Android y aun así "misteriosamente" duran la misma cantidad de horas funcionando. Tiene que ver con el hecho de que en Android muchas de las funcionalidad básicas ejecutan en software y no en hardware de bajo nivel, lo que aumenta su consumo energético y los hace más lentos de paso.

Un buen ejemplo de esto es el módulo de seguridad de Apple, el Digital Enclave. Este es un chip propietario de Apple que en tiempo real cifra todo lo que haces en tu iPhone, iPad o Mac, sin afectar ni en un 0.0001% el rendimiento de lo que hace tu dispositivo ya que todo el cifrado ocurre en circuitos dedicados creados especialmente para tal fin, dejado a tu dispositivo seguir trabajando en otras cosas.

Esta es también la razón por la cual quien no entiende de estas cosas no se debe dejar llevar de benchmarks (programas que miden la velocidad de tu dispositivo) cuando comparan cosas muy diferentes como son los iPhones o Android. Aunque en actualidad prácticamente todos los benchmarks indican que los dispositivos de Apple son más potentes que la competencia, lo cierto es que esos programas no son un indicador del rendimiento real del sistema cuando pones en el paquete todas las optimizaciones que hace Apple tras bastidores. Lo que sí tiene más sentido es comparar un benchmark de un celular Android con otro Android, o un modelo de iPhone vs otro modelo de iPhone.

Habiendo escrito esta kilométrica explicación, esto nos lleva finalmente al tema de moda hoy día: Apple Silicon en Macs...

Muchos se le han reído en la cara a Apple con este anuncio alegando que "Apple planea utilizar un simple chip de celular en una computadora de trabajo serio, ¡nos jodimos!", pero les puedo asegurar que todo el que dice eso no sabe absolutamente nada de microprocesadores, o de lo que ocurre tras bastidores como les he explicado a ustedes en este artículo, o son simples haters que ya tienen nuevo material para hacer sus aburridas vidas menos miserables, o sencillamente son el tipo de personas que repiten como loros todo lo que leen en Internet sin revisar fuentes o investigar de lo que están opinando.

Y lo primero que les voy a decir sobre Apple Silicon en Macs es lo siguiente: Prepárense para una gran sorpresa. Una buena sorpresa.

Para los que no lo sepan, Apple ya ha entregado decenas de miles de "kits de transición" a desarrolladores de aplicaciones para que vayan adaptando sus aplicaciones a Apple Silicon en Macs, y los resultados no pudieron ser más positivos...

Para iniciar, el kit contiene lo que es esencialmente una Mac Mini con el chip A12Z Bionic de Apple utilizando una versión beta de macOS 14 Big Sur. Sucede que ese chip es el utilizado en el iPad Pro de hace dos años atrás, y aún así los benchmarks (para los que les gusta comparar) indicen que esa Mac Mini con un chip no optimizado de hace dos años atrás obtiene una calificación de 4669 puntos en su CPU, comparada con la Surface Pro X de Microsoft que viene con un procesador Intel i5 que sacó una calificación de 2966.

Pero eso no es nada: Sucede que el kit de Apple sacó esa calificación de 4669 corriendo en modo de emulación, es decir, el programa de benchmark en la Mac no estaba corriendo código nativo como el que correrá en las Macs reales cuando estas salgan a la venta a fin de año, y de paso estaba utilizando (reitero) un chip (1) de hace dos años atrás, (2) destinado para una iPad, y (3) no optimizado para Macs.

¿Qué significa todo eso? Pues para empezar podremos esperar que lo que sea que Apple tiene pensado para las nuevas Macs será marcadamente más potente que ese chip de iPad, y si nos llevamos de rumores tras bastidores esos nuevos chips vendrán con 12 núcleos (en vea de los tradicionales 2 o 4 núcleos en las Macs con Intel), lo que aumentará aun más su poder.

Y lo mejor de todo (y ahora entenderán mejor todo lo escrito hasta ahora) esos chips de Apple Silicon vendrán con circuitos especializados específicamente creados para optimizar las funciones más comunes y/o importantes de macOS (cosa que Apple no le podía solicitar a Intel para sus chips x86-64), lo que aumentará aun más su rendimiento.

De paso, esperen que las MacBooks de Apple ahora por fin dejarán de ser tan calientes (quien se haya puesto una MacBook Pro en sus piernas para trabajar sabe exactamente a lo que me refiero) y sus baterías pueden estar seguros que se extenderán considerablemente.

Y esto de paso también incrementará los márgenes de ganancias para Apple (que aunque muchos se quejen, es precisamente lo que permite que Apple haga estas innovaciones), lo que al menos le da un colchón de costo a Apple para si la competencia se pone fuerte en un futuro esta pueda bajar sus precios cómodamente.

Todo esto de paso significa también que tecnologías que tradicionalmente estaban destinadas a iPhone y iPad llegarán más rápidamente a Macs. Yo por ejemplo espero que las nuevas Macs vengan con FaceID para permitirme dejar trabajar con yo solo estar frente a mi máquina sin nececidad de entrar claves (cosa que ya puedo hacer con mi Apple Watch en combinación con mi Mac, pero sería mejor que no dependa ni de eso para entrar directo a trabajar, como lo hago con mi iPhone y iPad).

Habiendo dicho todo eso, tengo que también aclararles algo que para algunos resultarán desagradable: Debido a las obvias diferencias entre el ISA de Intel y ARM, las nuevas Macs ya no podrán ejecutar Windows de forma nativa (con BootCamp), y por otro lado emuladores de Windows en x86 (como VMWare, Parallels Desktop y Virtual Box) tendrán que ser recreados para poder emular las instrucciones x86 en ARM (en actualidad ese paso no era necesario ya que los emuladores simplemente pasaban las instrucciones de Windows directo al CPU de la Mac que ya era x86).

¿Qué significa ese tema con Windows? Pues para empezar a Apple no creo le importe mucho ya que por lo general los que quieren el uso exclusivo de Windows no compran una Mac para tal fin por motivos de costos. Similarmente los gamers (comunidad de video-juegos) tradicionalmente nunca han comprado Macs para tal fin. Eso solo deja a los que compran una Mac como computadora principal y utilizan a Windows para temas de desarrollo de software u otros trabajos, y la realidad es que la gran mayoría de estos (yo incluido) no optan por BootCamp sino por virtualizar a Windows dentro de macOS.

Así que la única incógnita que queda es qué tan bien podrán estos virtualizadores emular a Windows cuando tendrán que traducir en tiempo real las instrucciones de x86 a ARM en tiempo real, y para esto hay un par de respuestas potencialmente esperanzadoras...

La primera es que Apple también anunció que incluirá un Hypervisor super avanzado en las nuevas Macs, con características que a la fecha solo existían en ambientes de servidores avanzados. El Hypervisor de Apple esencialmente permitirá particionar tu Mac en varias Macs virtuales de forma ultra-eficiente, y en donde cada Mac virtual podrá ejecutar otras versiones de macOS u otros sistemas operativos en paralelo (Apple habló especificamente de Linux como ejemplo), lo que será una mucho mejor manera de virtualizar en macOS que en actualidad.

Y la segunda es que Apple muy bien puede crear circuitos especiales en Apple Silicon diseñados para hacer la traducción de x86 a ARM más eficiente (algo que si tuviera que apostar, diría ya está implementado).

Así que como pueden ver, esto de Apple Silicon no es algo que Apple hizo a la ligera, sino algo extremadamente bien pensado que Apple ha venido cocinando desde años, y el futuro solo se pondrá mejor...

Finalmente, es bueno mencionar mi predicción de enero 2007 en donde escribí (entre otras predicciones):

"[...] imagínense que dentro de 5 años el iPhone sea tan poderoso y tenga tanta memoria como las computadoras personales mas potentes de hoy día. Eso significaría que con agregar un teclado, ratón y pantalla externa (todos inalámbricos), que no hay razón para que el iPhone no sea nuestra computadora personal en cualquier lugar."

Esa visión, ahora que un iPhone podrá ejecutar macOS (si Apple así lo decide), ya está a la vuelta de la esquina. Similarmente y como he predicho antes, no me sorprendería que ahora que Apple ya tiene todos sus productos bajo una misma arquitectura que ahora decida crear una versión universal de su sistema operativo a la que llamo "appleOS" y que las distintas versiones para iPhone, iPad, Mac etc sean sencillamente variaciones o "Editions" de esta.

¿Y ustedes, qué opinan de todo esto? Si tienen preguntas o quieren que les aclare o expande algo, o tienen algún comentario adicional, escriban abajo y como siempre les contestaré en la brevedad.

autor: josé elías

Comentarios

  • Me encantan estos articulos! Cuanta falta me hacia. Por lo que dices estamos a punto de dar un salto en el mundo de la computadora personal a la escala del Iphone cuando salio al mercado.

    Espero que sea asi. Para estas fechas pensaba cambiar mi vieja macbook pro 2014, pero estoy esperando a finales de año a ver que hara apple.

    Gracias eliax! Un abrazo, buenas vibras y se te quiere un monton.

  • Articulo extenso y con varios errores o mas bien "omisiones" Primero a dia de hoy el líder en el diseño de procesadores x86-64 no es Intel, es AMD. No solo por tener una arquitectura mas avanzada sino por tener mucho mejor proceso de fabricación, Intel lleva desde siempre estancada en los 14nm mientras AMD(o mas bien TSMC) ya va por los 7. No hay comparación.

    Otra omisión es que cualquiera puede adaptar cualquier circuito que quiera a su procesador x86 con el programa de chips semi-custom de AMD como lo hacen las consolas. Que tan serio es esto para AMD? Pues ellos ni siquiera consideran el chip propiedad de AMD. Quizás no este a la altura de ARM pero tampoco a la inexistente de Intel.

    Algo de lo cual no se habla en el Articulo tampoco es que si bien ARM avanzo mucho, la principal razón por la cual es comparable a x86 es por que x86 se quedo estancada casi 10 años sin muchos avances. AMD saco una arquitectura desastrosa e Intel dejo de innovar para ordeñar a sus clientes sin invertir en I+D.

    Otra omision mas que hace el articulo(fuera de actuar como si AMD no existiera y olvidarse completamente de VIA) es que AMD tiene una licensia de ISA de ARM y tiene un procesador ARM de diseño propio el cual fue diseñado por Keller mismo. El por que decidieron no lanzarlo solo ellos lo saben.


    Y para finalizar, x86 no es el futuro, todo el que sabe, como Jim Keller habla que el futuro de los procesadores esta en Risc V y es hacia allí a donde nos dirigiremos, no a ARM.

    Esperaba mas nivel de ti.

    • Veamos cada uno de tus puntos:

      1. ¿Realmente aporta a este artículo quién sea mejor entre Intel y AMD a la hora de diseñar chips x86? No. Eso sería alargar un artículo ya extraordinariamente largo innecesariamente.

      2. El programa de chips "semi-custom" que mencionas de AMD también lo tiene Intel, incluso, lo tienen esencialmente todos los fabricantes de microprocesadores. Pero una vez más, mencionar lo que es una tecnicalidad (ya que no es su forma principal de negocio y que aporta menos del 2% de sus ingresos) sería alargar el artículo innecesariamente y que no aporta nada al tema principal.

      3. ¿Aportaría algo al artículo diciendo que Intel se estancó por 10 años y que eso le dio la ventaja a AMD en el espacio x86 en algunos aspectos? No.

      4. Dices que x86 no es el futuro y "todo todo el que sabe" dice que el futuro es RISC V. Pues te cuento que Intel y AMD tienen de entre las mentes más brillantes en la industria del desarrollo de microprocesadores, y aun así se equivocaron con la ola ARM. Y de forma similar predigo que te equivocas diciendo que el futuro es RISC V.

      Para el que no sepa, RISC V es un diseño open-source de un microprocesador, sin embargo te garantizo que jamás verás un microprocesador RISC V siendo más eficiente que uno de ARM o de Apple, y la razón es sencilla: ARM y Apple crean sus diseños con el objetivo de generar ganancias, y eso los pone a competir fuertemente ente sí, lo que los pone en una carrera por ofrecer lo mejor posible que pida el mercado.

      Pero detrás de RISC V está una comunidad de entusiastas que el día que necesiten dinero abandonarán el proyecto y se dedicarán a otra cosa para que otros continúen su trabajo. Y de RISC V despegar y convertirse en "el futuro" que alegas, te garantizo que al ser open-source lo único que sucedería es que sería adoptado y absorbido por empresas para su uso personal (como hizo Google con Linux en Android, que por cierto está abandonando para utilizar su propio sistema operativo más eficiente).

      Un abrazo y esperemos que si tienes una opinión distinta escribas un artículo también para que lo leamos todos y así poder nutrirnos del alto nivel que todos esperamos de ti.

      p.d.: Sí, estoy al tanto de el tema de China con RISC-V por si lo mencionas.

      • Pues yo si creo que aportaría mucho al lector saber los puntos del 1 al 3.

        Aportaría saber que no se comparo el procesador de Apple con lo "mejor" que existe en x86.

        Aportaría saber que el chip de Apple estaba en los 7nm mientras el de Intel en los 14+++++++++ Y eso sin ver las restricciones terminas o energéticas a las cuales estaban sometidos ambos chips.

        Aportaría saber que hay alternativas Semi-Custom en x86 y muy maduras como las de AMD.

        Y aportaría saber que x86 solo recientemente esta volviendo a avanzar y su crecimiento bien podría ser superior al de ARM en potencia.

        Aportaría saber que AMD podría desarrollar una arquitectura ARM desde 0 sin problema(ya lo hizo).

        Aportaría mucho tener otra narrativa.

        Sobre RISC V yo soy un don nadie, no se nada de nada, pero si el que quizás sea el mejor diseñador de procesadores de la historia Jim Keller lo dice, yo si soy humilde para creerle y no pensar que se mas que una legenda.

        • Esto es lo que provoca el fanatismo. Hay que expandir sus conocimientos, ser autoreflexivos e investigar por nuestra cuenta.

    • Sr. Exner, su comentario está fuera de lugar y lleno de estupideces que no aportarían nada al artículo original. Pase usted un buen día.

    • AMD Fanboy detected

    • Sin lugar a dudas desde una perspectiva de usuario o gamer AMD ha alcanzado e incluso superado a Intel en varios aspectos, pero no en todos. No obstante, cuando tu trabajo depende de la virtualizacion de otros SO, AMD ni siquiera es una opción para trabajar... ahora lo tuyo parece un comentario más bien para la guerra santa Intel/AMD (y ya sabemos cuál es tu posición).

      Asimismo, al referirte al RISC V se nota que parecieras no entender que es lo que hace Apple con sus SOC. En los serie A de Apple, creo que desde el 10 en adelante, la CPU es apoyada por una serie de coprocesadores que se encargan de hacer algunas tareas más habituales (procesamiento gráfico, procesado fotográfico, motor neuronal, codificación y descodificado de video, encriptación y manejo de archivos y el secure enclave, realidad aumentada, etc... más la RAM), los cuales descargan mucha cantidad de trabajo de la CPU al irse a estos chips especializados. Por eso es que los iPad e iPhones pueden -por ejemplo- trabajar con varios videos en 4K de forma simultánea, súper fluidos aplicar filtros en tiempo real, etc... sin tener que usar refrigeración activa y con un mínimo consumo de batería (cuando trabajas, así como cuando exportas video se puede notar la potencia de todo el conjunto funcionando)... no se que solución AMD o Intel pueda hacer eso sin gráficas dedicadas y a costas de un altísimo consumo energético. Estoy de todas formas consciente que estos SOC (al menos los que conocemos) no están a la altura de AMD o NVidia en computación paralela o potencia gráfica bruta, pero creo que no les demorará mucho igualarlos en la práctica solamente por optimización y porque el margen de mejora que tienen es brutal.

      Otra cosa interesante del desarrollo de chips en Apple es el controlador de los núcleos del procesador. En pruebas sintéticas se ha determinado que es tremendamente eficiente para delegar tareas a tal o cual núcleo de la CPU, dependiendo de la exigencia que se requiera.

      • Y algo que si creo necesario... que Keller diga que RISC V es el futuro, es un tanto irrelevante siendo que es uno de los mayores colaboradores y evangelistas de este. Hasta donde recuerdo, dijo lo mismo de Zen, que si bien es una tremenda arquitectura, la verdad solamente puso a la par a AMD con una Intel que lleva 10 años pegada sin hacer nada interesante.

        Siento que todo tu texto es como el de los que el 2007 decían que el iPhone no podía competirle al Nokia N95 o a las BlackBerry... o sea, entendiendo bien poco las implicaciones del anuncio

        • +1

        • Oh pero nada mas lejos de la realidad. Entiendo muy bien todo esto. Esto no es de AMD vs Intel(no se de donde sacas algo así si ni es el tema del debate).

          Y entendí a la perfección el anuncio del iPhone. Pensar que solo TU tienes la única verdad por que eres el iluminado y todos los que no piensan como tu están mal o son ignorantes es la actitud mas arrogante que una persona puede tener y yo pensaba que este Blog tenia otra filosofía y no esa.

          Hay argumentos a favor de lo expresado en este articulo y muchos, nadie lo niega, pero los usados en el articulo no me convencen. Decir que el Chip de Apple sera potente por tener mil co-procesadores 1. no significa que otra empresa no pueda hacer lo mismo 2. no significa que ARM sea la mejor solución al problema. Son 2 cosas completamente separadas. Una cosa es la ISA y otra muy diferente la filosofia de diseño que quieras usar(núcleos mas simples con muchos co-procesadores vs núcleos super complejos de propósito general)Ambos con sus pros y contras.

          Decir eso de Keller es mostrar una absoluta ignorancia sobre su persona. Keller ah sido el líder de una muy buena parte de los mejores procesadores de nuestros tiempos. Fue el arquitecto del A4 de Apple(y si no mal recuerdo el que creo las bases del departamento de desarrollo de microchips de Apple junto con Raja) Diseño el chip de AI que usa Tesla.

          Con Zen hizo que AMD avanzara mas de 10 años de un golpe, en una sola generación y de paso redefinio completamente el diseño de procesadores. El lugar de diseñar 10 Dies como Intel con 1 solo diseño base creo un chip que podía ser usado desde laptops a super computadores, el tipo es un genio. Si tu o Elias se creen que conocen el mundo de Microchips mejor que uno de los mas grandes de todos los tiempos...pues...Buena suerte.

  • E S P E C T A C U L A R.

    No sabía eso del ISA y lo describiste de una forma súper fácil de entender, gracias y por favor sigue escribiendo artículos como este que son mis favoritos.

    Enhorabuena.

  • Sin desperdicios Eliax! creo que este ha sido el artículo mas largo que he leido tuyo pero no me puedo imaginar hacerlo mas corto porque cada oración tenía sentido y se conectaba con todo. Lo voy a compartir.

  • Tremendo articulo, de los que se guardan en .PDF. Ya tenia yo en la mira una Dell XPS Developer para cambiar mi MacBook Pro porque no estaba del todo conforme (o no entendía) esa migración de Apple a ARM. Este articulo me convenció de esperar... Gracias Eliax.

  • Elias, este articulo me recuerda porque te comencé a seguir, el toque original de este blog.

    Vamos a ver como responde la competencia a estos movimientos, siempre es importante tener opciones, no como antes si o si nos tocaba un Intel porque AMD no tenia nada decente

  • Excelente artículo Eliax, gracias por tu dedicación para explicar este tema en detalle. Creo que puse la torta al comprar recientemente una Macbook Air 2020 que tiene procesador i3 Intel 10th generación. Bueno ni modo, ya la cagué. Saludos.

  • Espectacular... hay que organizar unos Webinar...

  • Este artículo está para coleccionar, cojonudo y visionario y de lo mejor que he leído sobre el tema en todo el internet. Queremos más como estos Eliax!!!!!!!

  • Sería interesante leer tu opinión sobre los IAAS (ej. AWS) en relación a ARM. Por ejemplo, EC2 también esta invirtiendo en sus propios procesadores ARM.

  • Gracias por el articulo eliax!

    Sin duda muy interesante lo que se viene.

  • Extrañaba estos interesantes análisis, ¡gracias Eliax!. Mi pregunta es, la licencia que tiene Apple de ARM, tiene fecha de caducidad? que tanto paga Apple por dicha licencia de ISA ARM?

    • Los términos de esta (y otras licencias) son de índole privado entre las empresas ya que caen bajo la protección de “estrategias de competitividad”, similar a temas como I+D (Investigación y Desarrollo).

      Sin embargo si me pides que haga una “suposición educada” al respecto, conociendo a Apple asumiría que es una (1) licencia perpetua y (2) que paga un monto fijo específico por cada dispositivo que vende con el ISA de ARM.

      Y notar que este modelo es bastante común en la industria y por lo general (debido a los volúmenes como es el caso con Apple) los costos son relativamente. Si tuviese que adivinar diría que por cada iPhone que Apple vende es posible que le pague a ARM entre unos 25 centavos de dólar (en el rango bajo) hasta un par de dólares en el rango alto.

      Y si esos montos suenan bajos, nota que Apple ya ha vendido más de 2 mil millones de dispositivos con el ISA de ARM ;-)

  • Gracias por volver con tus apasionados artículos.
    Me gustaría saber tu opinión de Apple Silicon en el mundo Gamer, por ejemplo respecto al futuro potencial de la Ps5.
    Un abrazo Elias.

    • Esto creo por fin permitirá que se tome más en serio a la Mac como una plataforma de video-juegos ya que heredará automáticamente toda la librería de juegos de iOS y se podrá comparar y ver cómo ejecutan esos bajos macOS.

      En cuanto al rendimiento mismo, Apple Silicon promete grandes cosas en términos de poder de gráficos, aunque por el momento no a nivel de una PS5 o Xbox X, sin embargo, algo me dice que de aquí a 2 o 3 años nos sorprenderemos con el poder crudo de Apple Silicon en gráficos (algo que Apple necesita para sus gafas de Realidad Virtual/Aumentada), así que en términos de juegos creo que las cosas apuntan bien para Apple en los próximos años...

  • Hola José, te comento que Samsung también diseña o mejor diseñaba sus propios Chips denominados M1 a M5, desde el Galaxy S7 con su Exynos 8890 hasta el Galaxy S20 con su Exynos 990. Los Chips de alto poder son de diseño propio como los de Apple. Y Qualcom también tiene la posibilidad, pero opta por diseños std como el resto de la industria.
    Y una de las principales razones que veo además de todo lo que explicaste es que Intel se durmió en la innovación de la plataforma x86 y eso ayudó a Apple a tomar la senda de apresurar la elección de sus propios diseños de ARM, aunque era algo que se olía llegar con la potencia de sus chips de las series A.
    Algo más, hay muchas historias importantes que siempre ingreso al blog para revisar si hay alguna novedad, y cada vez que ingreso, la gran mayoría de las veces es Apple, esta perfecto y lo respeto.
    Siempre digo que los gustos a veces nos quitan parcialidad, y no creo estar equivocado que te gusta Apple y mucho jejeje.
    ¡¡Saludos desde Argentina!!

    • "Siempre digo que los gustos a veces nos quitan parcialidad".

      Mas claro? ni el agua!

      • En estos tiempos ahora quien sea que emita una opinión a favor de lo que sea está “parcialidado”.

        Yo no se ustedes pero al leer este artículo lo único que veo es una pieza didáctica extraordinaria con argumentos muy sólidos y se nota de lejos el gran conocimiento técnico que tiene Eliax para comunicarnos estos temas.

  • Solo dejarte un par de enlaces interesantes que creo te gustarán sobre este tema, comentado con mucha calidad:

    https://youtu.be/1x71N--VZmg

    https://youtu.be/YZsXHW30xSo

  • Qué bueno volver a leer tus análisis y punto de vistas.
    Una gran ventaja que tiene apple en esta transición es que esta vez si una aplicación no esta ha sido actualizada podría contar con alguna opción de las aplicaciones de iOS que correrán como nativas en el sistema

    • Así es, aunque la idea es que los programadores se incentiven ellos mismos a mejor crear una aplicación universal que funcione en todos los entornos (iPhone, iPad, Mac, y en algunos casos Apple TV como en el caso de juegos).

      Esto les permitirá llegar a una audiencia más amplia.

  • Hola eliax, te sigo desde el 2008 si mas tengo recuerdos, ES ASOMBROSO QUE EL BLOG AUN SIGA ANTIGUO, croe que alguna vez intentaste con un canal de youtube, pero aun asi, tus entradas siguen siendo interesantes, saludos y suerte.

  • y la parte en la que elias me hizo el dia, "pero parece que los ejecutivos de Intel no leían a eliax en ese entonces".

  • Como ven los rumores actuales por la compra de ARM me parece muy raro que la vendan siendo la arquitectura que tiene mas proyeccion. Y mi duda es porque no entra APPLE a los nombres que se manejan para intentar comprarla, no seria esto para apple una grandisima oportunidad, o que panorama ven

    • Apple no tiene interés en comprar a ARM por dos razones básicas:

      1. La licencia que tiene le permite hacer lo que desee con sus propios diseños sin restricciones.

      2. Comprar a ARM pondría a Apple en la mira de las regulaciones anti-monopólicas.

  • Una vez mas emocionado por leer tus artículos, ojalá tuvieras mas tiempo para esto.

    Super necesaria la explicación intermedia del artículo, ya tengo ganas de explicarle a alguien mas.

    saludos.

  • Parece mentira que un artículo tan antiguo (en tiempos de Internet) tenga tanta vigencia y tanta lucidez de lo que iba a suceder casi de forma exacta.

    Se extrañan estos artículos a diario...

  • Gracias por tu análisis Eliax, se aprecia que lo cuentes también para personas que aunque nos gusta, nos cuesta más entender el tema de la tecnología y su funcionamiento. Me gustaría que subieras artículos a diario, para estar más actualizados de estos temas.

Añadir Comentario

tu nombre
tu email
(opcional)
web personal
(opcional)
en respuesta a...
comentario de caracteres máximo
8 + 4 = requerido (control anti-SPAM)
¿De qué color es el cielo?: requerido (control anti-SPAM)
 

"Felicidades José. Pienso que, salvando las distancias, para los más jóvenes que han conocido Eliax has sido una inspiración tan importante como lo fue Carl Sagan con Cosmos para nosotros los mas viejos."

por "anv" en may 21, 2015


en camino a la singularidad...

©2005-2024 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax