Guía de supervivencia Geek: Diferencias entre procesadores x86 y ARM

Si sois acérrimos lectores de blogs tecnológicos como Xataka o PlanetaRed, no sería la primera vez que os encontráis con descripciones de gadgets donde sacan a relucir las diferentes características, siendo una de las más comentadas el procesador.

ARM-chipmakers

Y es que el procesador es el cerebro de nuestros dispositivos, y de él depende buena parte (sino todo) del entramado de servicios y capacidades que nos puede ofrecer.

El procesador es un circuito integrado cuya misión es permitir la comunicación entre las diferentes partes de un dispositivo, ya sean elementos de entrada como el teclado, el acelerómetro, o la pantalla táctil, o elementos internos tales como espacio disponible o memoria RAM.

Existen dos grandes modelos de procesadores en la actualidad, x86 y ARM, y es ahí donde empieza este pequeño tutorial.

La diferencia principal que presentan es que cada uno utiliza un conjunto de instrucciones o ISA distintoISA (del inglés Instruction Set Architecture), es el traductor que se encarga de convertir las líneas de código de los programas que usamos en un lenguaje máquina, para que así pueda funcionar en un dispositivo. Por supuesto, aquí está el primer gran inconveniente, y es que un software creado para un procesador x86 no es compatible con otro ARM, y viceversa, ya que el otro procesador no es capaz de traducir el lenguaje usado a lenguaje máquina.

Históricamente, los procesadores x86 han sido los amos y señores del escritorio, puesto que están basado en la arquitectura CISC, un tipo de arquitectura que permite ejecutar instrucciones complejas y paralelas, lo que en definitiva repercute en un mayor rendimiento (procesadores más potentes) y con una consumición superior (lo que los hace menos viables para dispositivos móviles).

Por su parte, ARM ha optado por RISC, un modelo de arquitectura donde las instrucciones se empaquetan en funciones de menor tamaño, por lo que resuelven con mayor facilidad (y rapidez) acciones más sencillas en paralelo, con menor gasto de batería, y menos capacidad de máximo rendimiento (acciones complejas).

Esta situación ha desembocado en una feroz guerra logística por quién se impone a quién, dejando el mundo móvil a ARM, y el de escritorio, que poco a poco pierde terreno, al x86. Si echamos un ojo a los sistemas operativos, veremos que todos aquellos pensados para trabajar fuera del escritorio se decantan por ARM (Android, iOS, Blackberry,…). La aparición de Windows 8, un SO móvil y otro de escritorio que comparten buena parte del código, y el avance de Ubuntu con versión móvil y escritorio es precisamente una señal de que tarde o temprano, uno de los dos va a desaparecer, teniendo más peso una arquitectura donde prima la reducción de gasto energético que propone ARM para móviles y tabletas.

Respecto a fabricantes de procesadores, hay tres grandes candidatos. Intel y AMD son las dos empresas con más renombre (de hecho las únicas con licencia para explotar esta arquitectura) en procesadores x86. Por su parte, ARM cuenta con varios fabricantes (ARM Holdings licenció la arquitectura para que pudiera ser usada por otros fabricantes, previo paso por caja), siendo quizás el más conocido Qualcomm (Texas Instruments tampoco se queda atrás como partner de Apple).

x86vsARM

 

Como suele pasar en estos casos, el permitir a otras empresas que desarrollen a partir de tu idea ha beneficiado sobremanera a la arquitectura ARM, que en los escasos años de vida ya ha conseguido manejar arquitectura de 64 bits, poco después de que AMD hiciera lo propio en 2003 con su AMD64 (varios ojos ven más que dos).

Y es precisamente el rico ecosistema que se está gestando en procesadores ARM el que parece que va a acabar con la hegemonía de la arquitectura x86 (quizás el mejor ejemplo es que NVIDIA, la marca referencia de tarjetas gráficas para jugones y usuarios intensivos, se ha posicionado de parte de ARM para sus futuros Proyect Denver). De hecho la propia Intel, firme en su apuesta por el x86, está estudiando el modo de rebajar aún más el TDP (thermal design power) de sus procesadores, una de las principales causas de gasto energético (transformación en calor).