Las diferencias entre ARM e Intel

Con el omnipresente rumor de que las MacBooks ARM están ganando energía renovada, es hora de comprender las diferencias técnicas entre los procesadores ARM y los procesadores x86 más comunes fabricados por Intel y AMD.

¿Qué significa x86 de todos modos?

Los procesadores Intel que se encuentran en computadoras de escritorio y portátiles a veces se denominan procesadores “x86”. Esto puede resultar un poco confuso si alguna vez ha notado sus dos carpetas de Archivos de programa en Windows.

x86-brazo-1

Windows 7, 8 y 10 se refieren a sus programas de 32 bits con el término “x86” y sus programas de 64 bits (en algunos contextos) como “x64”. Eso no es estrictamente exacto. Los procesadores con capacidad de 64 bits deberían denominarse x86-64, pero es mucho más complicado.

El nombre “x86” proviene de los procesadores Intel de 16 bits originales que usaban el conjunto de instrucciones x86, el 8086. Las generaciones futuras que compartían el mismo conjunto de instrucciones también compartían el mismo sufijo, como el 80386. Esto se mantuvo hasta los chips Pentium, que rompió la convención de nomenclatura, pero todavía usamos “x86” para referirnos a este tipo de chips.

Conjuntos de instrucciones

8086-chip-intel

Todos los procesadores se basan en lo que se llama un “conjunto de instrucciones”. Se trata de un conjunto de operaciones rudimentarias que puede realizar un chip e instrucciones sobre cómo realizarlas. Le dice al chip cómo hacer matemáticas básicas y mover datos. El lenguaje de programación de estas instrucciones se llama lenguaje ensamblador.

La principal diferencia entre los chips ARM y x86 es su conjunto de instrucciones. Los chips x86 son CISC, que significa “computación de conjuntos de instrucciones complejos”. Los chips CISC intentan representar una tarea dada en la menor cantidad posible de líneas de ensamblaje, abstrayendo las funciones básicas. Estas operaciones más complejas también deben ejecutarse a lo largo de varios ciclos de reloj. Los chips ARM son RISC, que significa “cálculo de conjunto de instrucciones reducido”. Los chips RISC incluyen conjuntos de instrucciones extremadamente rudimentarios, dividiendo cada proceso en pasos extremadamente pequeños y simples. Cada uno de estos pasos más pequeños se puede ejecutar en un solo ciclo de reloj.

CISC frente a RISC

brazo-vs-x86

Si un chip CISC necesita multiplicar dos números, puede ejecutar un solo comando: MULT 2, 3. Este único comando cubrirá la carga de números de la memoria, los multiplicará y almacenará el resultado en la ubicación correcta de la memoria. Un chip RISC que realice la misma operación requeriría muchos más pasos. Primero un LOAD instrucción para mover los números de los registradores a la unidad de ejecución. Entonces un PROD instrucción para multiplicar los números. Finalmente, un STOR instrucción para colocar el resultado en el registro correcto.

Si bien el chip CISC puede parecer más eficiente porque sus comandos parecen más simples, tenga en cuenta algunas diferencias importantes:

  • Primero, los chips CISC ejecutan comandos en múltiples ciclos de reloj, mientras que cada instrucción en un chip RISC se ejecuta en un solo ciclo de reloj. Debido a esto, nuestro hipotético MULT El comando puede ejecutarse en la misma cantidad de ciclos que el conjunto de instrucciones RISC que realizan la misma tarea.
  • En segundo lugar, todas las instrucciones y la lógica de CISC deben almacenarse en transistores. Los chips RISC pueden usar menos transistores porque necesitan almacenar menos instrucciones.
  • En tercer lugar, la menor cantidad de transistores requeridos por RISC permite un menor uso de energía.

CISC tiene algunas ventajas. Primero, la computadora no necesita hacer mucho trabajo para convertir de un lenguaje de programación a nivel humano como C a un lenguaje ensamblador a nivel de procesador. De hecho, el MULT El comando mencionado anteriormente es muy similar al comando C foo = foo * bar. Los chips RISC le piden al compilador que trabaje mucho más para convertir el código en lenguaje ensamblador. Los chips CISC también pueden operar directamente en la memoria principal, mientras que los chips RISC solo pueden operar en los registros de la CPU.

El consumo de energía

conjunto de chips x86-arm

La otra diferencia fundamental entre las arquitecturas es el uso de energía. Gracias a sus conjuntos de instrucciones reducidos, los chips RISC requieren menos transistores para funcionar. Esto significa que es necesario alimentar menos transistores, lo que genera ahorros de energía y reducción de calor. Esto ha llevado a que los chips ARM alimenten casi todos los dispositivos móviles.

Los chips x86 de Intel y AMD son mejores para las máquinas de escritorio donde el consumo de energía no es un gran problema. También se incluyen en las computadoras portátiles que obviamente funcionan con baterías. Sin embargo, la potencia no es tan premium como en los teléfonos inteligentes, lo que permite chips más potentes.

Conclusión

La distinción de más alto nivel entre los chips se basa en la potencia y la velocidad. Los chips ARM son excelentes para entornos de bajo consumo de energía, pero normalmente son más lentos, mientras que los chips x86 funcionan rápidamente pero no son tan conscientes de la energía. Sin embargo, esa generalización básica está cambiando, ya que Intel intenta producir versiones de bajo consumo de sus chips x86, y los chips ARM, como el A10 Fusion de Apple, comienzan a superar a los chips de portátiles.

¿Es útil este artículo?

¡Ayúdanos a difundirlo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *