ARM vs X86 y sus conceptos clave, ¿son realmente competencia?

ARM vs X86 y sus conceptos clave, ¿son realmente competencia?

Javier López

Cada poco tiempo y de forma reiterada vuelve a surgir la misma pregunta con estos dos tipos de arquitecturas para procesadores. La excusa ahora la tiene Apple dejando atrás a Intel y lanzándose a por sus propios chips ARM y aunque la decisión es compleja, muchos no entienden cómo han tomado este camino. Por ello, vamos a intentar comparar ARM vs X86 en sus características, enfoques y conceptos básicos para comprender dicho salto.

El principal problema que vamos a enfrentar en este artículo es de conceptos, que es al mismo tiempo la clave que dirime Apple para el salto. Y es que hace tiempo que la compañía no disputa en varios sectores la corona del rendimiento, sino que se está enfocando hacia un ecosistema propio y sobre todo más eficiente.

ARM vs X86, una historia que no tiene fin

cisc-risc

Damos por supuesto que todos sabemos de donde proviene el nombre de X86 (Intel 8086) y en base a ello tenemos que comprender desde dónde parte la informática como tal. X86 se basaba en la tecnología y arquitectura CISC, donde esta siempre se ha caracterizado por tener conjuntos de instrucciones muy amplios para solucionar operaciones más y más complejas (de ahí su nombre).

La evolución de la arquitectura CISC como concepto y base fue pasar de estas instrucciones ya de por sí complejas a otras más simples y aquí es donde entra ARM. Tanto Intel como AMD se dieron cuenta que tenían que crear microinstrucciones para simplificar tareas y con ello ganar rendimiento en ciertas partes, siempre sin perder el rendimiento característico de CISC en operaciones complejas.

risc-vs-cisc

Como seguro sabemos, CISC estuvo un tiempo compitiendo con otra arquitectura llamada RISC, bastante más simple que la primera, pero que impulsó las micro instrucciones para terminar superándola en todos los aspectos. Aunque se creía abandonada como tal, RISC volvió a despegar de la mano de ARM o Advanced RISC Machine, una compañía creada para licenciar la fabricación de procesadores con esta tecnología, ocupando un hueco que tanto Intel como AMD estaban ignorando completamente debido a la pelea por la corona que siempre han tenido.

Aunque muchos vaticinaban un fracaso de ARM, la compañía supo entrar en varios mercados, entre ellos los smartphones, hornos, microondas, televisiones y un amplio etc … Lo cual ha llevado a la compañía a cotas cada vez mayores hasta el punto de que Apple está a punto de cambiar su filosofía en base a procesadores licenciados con tecnología ARM.

ARM vs X86: espacio, características y consumo

Arquitectura big.LITTLE

Como vemos, ARM vs X86 son antónimos más que rivales, puesto que por norma no se suelen molestar, al menos hasta hace poco tiempo, algo que trataremos más adelante. Ambas arquitecturas de CPU tenían un mercado bien definido: X86 era mucho más rápido, pero también ocupa mucho más silicio y su consumo es muy superior.

ARM en cambio busca la eficiencia, un equilibrio entre consumo y rendimiento en base a menos etapas de procesamiento, pero núcleos con menor velocidad y divididos en dos especificaciones muy concretas: alto rendimiento y bajo rendimiento, la llamada arquitectura big.LITTLE.

Mientras que una CPU de escritorio o servidor se puede ir entre los 65 vatios y los casi 300 vatios en peak, un procesador ARM estará sobre los 5 o 7 vatios y los 150 en el caso de los servidores. Eso potencia los factores en cuanto a núcleos se refiere. Intel y AMD optan por núcleos complejos de gran escala, así que en el mismo espacio que un ARM pueden incluir un menor número de ellos, pero muy rápidos y solventes.

En cambio, ARM parte con la ventaja de la simplicidad y con ello el tamaño de los núcleos se reduce considerablemente frente a sus rivales, por lo tanto son capaces de albergar un mayor número de estos aunque sean más lentos y a menor velocidad promedio, logrando que las cargas de trabajo se dividan y se puedan optimizar más en ciertos entornos como los servidores.

No usan el mismo software, tiene que ser portado

Aunque los esfuerzos tanto de Apple como Microsoft van en la dirección correcta para lograr una hegemonía de software que corra tanto en ARM como en X86, parece que los de Cupertino van con cierta ventaja, impulsados por supuesto por dejar a Intel definitivamente.

Los sistemas operativos necesitan ser creados y optimizados en gran parte para cada una de las arquitecturas, sobre todo si queremos sacar el mayor rendimiento de X86 o ARM. En este aspecto es más sencillo programar para ARM que para X86, ya que esta última necesita compiladores más complejos, una mejor compactación del código y una mejor depuración del mismo por la cantidad de instrucciones que logran realizar.

Además, se da el caso de que el ecosistema general de ARM es mucho más pequeño que el de X86, aunque Android e iOS han ayudado a reducir la brecha. Entonces, la pregunta es clara, ¿son realmente competencia? Hace años la respuesta hubiese sido un no casi rotundo, pero actualmente esto no se puede afirmar y cada día menos.

ARM va a por los servidores, ¿Intel va a por los smartphones?

intel-forevos-lakefield

ARM está intentando meterse de lleno en el mundo de los servidores mediante diversas compañías y actualmente gigantes como CloudFlare han estado probando las bondades de sus arquitecturas. Si bien están abriéndose hueco y tienen que mejorar, a día de hoy ARM es factible para entornos empresariales y centros de datos que estén muy enfocados en ciertas cargas de trabajo, donde curiosamente ni Intel ni AMD pueden competir.

Hablamos por ejemplo de OpenSSL, ciertos algoritmos de compresión, NGINX y similares. Son tareas muy específicas evidentemente, pero ARM aquí es competitivo por su naturaleza, en cambio, en tareas como Regexp, Go Cripto etc … ARM no tiene nada que hacer.

Si ARM está entrando en este sector, Intel quiere ir directo al de su rival con Lakefield, arquitectura basada en su propio concepto de big.LITTLE con apilamiento 3D y solo 7 vatios de consumo, la cual es una realidad y ya ha sido presentada.

Curiosamente, Apple deja ahora a Intel y se centra en sus nuevos chips que prometen hasta 12 núcleos con bajo consumo, justo cuando los azules van a implementar el primer gran cambio arquitectónico desde Skylake y han marcado una hoja de ruta a un ritmo endiablado. Por lo tanto, la historia entre ARM vs X86 no está ni siquiera en su cenit, está apenas comenzando, quizás en dos décadas podamos ver donde acaba.