Secciones

Diferencias entre los procesadores ARM y x86

Copiar URL

Cómo pasar de CentOS Linux a un sistema operativo preparado para la nube

Al pasar de CentOS Linux a un sistema operativo listo para la nube es fundamental seleccionar un sistema operativo que se alinee con sus objetivos para la nube de hoy y del futuro. Red Hat Enterprise Linux (RHEL) es una plataforma open source que se adapta a entornos físicos, virtualizados, de nube híbrida, multicloud e infraestructuras para el edge computing.

Las computadoras diseñadas con los procesadores ARM y aquellas en las que se utiliza Intel o AMD no son intercambiables. Hay dos preguntas fundamentales que se abordan de maneras diferentes según el procesador:

  • ¿Cómo se logra el equilibrio entre la cantidad de transistores y la complejidad del programa?

  • ¿Qué prioridad se les da a la velocidad, al consumo de energía y a los costos?

Durante las últimas cuatro décadas, las respuestas a estas preguntas han guiado la innovación tecnológica y el desarrollo de los sistemas de software en todo tipo de dispositivos, desde los teléfonos inteligentes hasta las supercomputadoras.

Los primeros programadores sostenían un debate que derivó en la divergencia entre dos filosofías principales en las ciencias de la computación: simplificar el trabajo del programador o el del microprocesador.
Para que el uso de la computadora sea productivo, es necesario que el sistema operativo y los programas que ejecuta interactúen con la unidad central de procesamiento (CPU) y con los demás sistemas de hardware, como las tarjetas de memoria, de almacenamiento y de red. La CPU es la intermediaria entre el sistema operativo (y los programas en ejecución) y estas piezas de hardware. Para simplificar el trabajo de los programadores, la CPU cuenta con una serie de acciones y cálculos predeterminados que conforman una arquitectura de conjunto de instrucciones (ISA). El sistema operativo y los programas que ejecuta (escritos por los programadores) se basan en estas instrucciones para realizar funciones básicas, por ejemplo:

  1. Interacciones entre la CPU y los sistemas de hardware (memoria, almacenamiento, red, etc.)
  2. Funciones aritméticas (adición, sustracción, etc.)
  3. Manipulación de datos (conversión binaria, etc.)

Las primeras CPU con procesadores x86 tenían un conjunto de instrucciones muy completo, que conservan hasta el día de hoy. Una sola instrucción puede realizar un cálculo entero (como una multiplicación) o trasladar los datos directamente de un lugar a otro dentro de la memoria. Quizás no parezca gran cosa, pero estas tareas requieren muchas instrucciones básicas. Con las computadoras x86, es posible ejecutar series complejas de operaciones en un solo ciclo. Las unidades de procesamiento que cuentan con este tipo de conjunto se denominan computadoras con un conjunto complejo de instrucciones (CISC).

Sin embargo, las instrucciones potentes de CISC necesitan más transistores, los cuales consumen espacio y energía.

A principios de la década de 1980, se desarrollaron varios proyectos para lograr la eficiencia energética y explorar formas de simplificar los conjuntos de instrucciones en la arquitectura de la CPU. Los investigadores descubrieron que la mayoría de las computadoras solo utilizan un pequeño grupo del gran conjunto de instrucciones de CISC, así que se empezaron a diseñar procesadores con un conjunto reducido de instrucciones (RISC). Cada una de ellas representa una sola operación sencilla que utiliza menos energía. Este modelo aumenta la complejidad del trabajo del programador del lenguaje básico, pero simplifica la tarea del procesador. Con los procesadores y las máquinas avanzadas de RISC, es posible realizar operaciones complejas ejecutando varias instrucciones o trasladando la complejidad al compilador en lugar de al núcleo de la CPU.

Ambos procesadores tienen sus ventajas y desventajas. En general, las CPU x86 permiten realizar cálculos a gran velocidad y aportan mayor claridad o sencillez en cuanto a la programación y la cantidad de instrucciones, pero incluyen un chip más grande y costoso con muchos transistores. Los procesadores ARM pueden ser muy rápidos para ciertas tareas, pero la repetición de los ciclos de instrucciones individuales puede ralentizarlos, ya que las operaciones son más complejas y se delega una gran parte del trabajo de definición y ejecución de las operaciones al programador, en lugar de al conjunto de instrucciones. 

Debido a estas diferencias, puede resultar difícil calcular la MIPS (millones de instrucciones por segundo), la medida aproximada de capacidad de cálculo en bruto, ya que cada tipo de procesador requiere conjuntos de instrucciones diferentes para realizar la misma actividad.

La arquitectura de RISC se inspiró en la necesidad de crear chips de tamaño reducido y con mejor rendimiento para las computadoras más pequeñas (o microcomputadoras), que eventualmente se convirtieron en las PC. Entonces surgió otra pregunta fundamental sobre el diseño: ¿sería mejor enfocarse en el rendimiento del chip (la velocidad de procesamiento o la frecuencia de reloj) o en el consumo de energía (la eficiencia energética)?

Dado que los procesadores ARM se integran como un sistema en chip, siempre se ha priorizado la gestión general de los recursos, como ahorrar energía y mantener las temperaturas bajas. Por ejemplo, las arquitecturas ARM (como ARMv8) no suelen tener sistemas simplificados de enfriamiento (los teléfonos celulares carecen de ventiladores). Por su parte, las CPU x86 tienden a favorecer la velocidad de procesamiento frente al consumo de energía.

Si bien ambos diseños de CPU pueden ofrecer rendimiento alto (tanto las supercomputadoras con ARM como aquellas con procesadores x86 compiten para ser las más rápidas del mundo), las arquitecturas de ARM generalmente se centran en los factores de forma más pequeños, la vida útil de la batería, el tamaño, la eliminación de los sistemas de enfriamiento y, quizás lo más importante, el costo. Por eso suelen estar presentes en casi todos los dispositivos móviles y electrónicos pequeños, como los teléfonos inteligentes, las tabletas e incluso los sistemas Raspberry Pi. Las arquitecturas x86 son más comunes en los servidores, las computadoras de escritorio y las computadoras portátiles, donde se prioriza la velocidad y la flexibilidad, con menos limitaciones en torno a la temperatura y el tamaño.

Los chips de ARM son cada vez más populares en la informática de alto rendimiento (HPC) e incluso en los casos prácticos de la nube (como el procesador Graviton de AWS y Azure), para los cuales Red Hat Enterprise Linux ofrece una plataforma excelente que facilita las operaciones informáticas y la compatibilidad, así como el desarrollo, la implementación y la optimización de las aplicaciones.

Las CPU ARM tienen una larga trayectoria con Linux, desde los sistemas de Android para los teléfonos inteligentes, hasta los sistemas personalizados para Raspberry Pi. Actualmente, incluso una de las supercomputadoras más rápidas del mundo utiliza Red Hat Enterprise Linux con la arquitectura ARM. Para obtener más información al respecto, lea el comunicado de prensa sobre Fugaku con la tecnología de Red Hat.

A diferencia de las CPU x86, el hardware de cada diseño de ARM es único, así que la extensa comunidad open source es muy útil. Red Hat Enterprise Linux tiene una amplia comunidad de miles de proveedores de hardware probados y certificados, entre los que se incluyen fabricantes y diseñadores de ARM. La empresa cuenta con un programa de acceso anticipado con los partners de ARM, para que los clientes puedan colaborar y evaluar estas nuevas tecnologías.

Una de las ventajas más importantes de Red Hat Enterprise Linux es el rendimiento que ofrece en los diferentes entornos, desde la nube y los servidores hasta el extremo de la red. La combinación de tecnología, ecosistema y estabilidad permanente permite que las empresas generen innovaciones y se adapten a las necesidades cambiantes de la TI.

Artículos relacionados

Artículo

¿Qué es Linux?

Linux es un sistema operativo open source que se compone del kernel, su elemento fundamental, y las herramientas, las aplicaciones y los servicios que se incluyen con él.

Artículo

¿Qué es SELinux?

Security-Enhanced Linux (SELinux) es una arquitectura de seguridad para los sistemas Linux® que otorga a los administradores mayor control sobre quién puede acceder al sistema.

Artículo

¿Qué es el kernel de Linux?

El kernel de Linux es el elemento principal de los sistemas operativos (SO) Linux y es la interfaz fundamental entre el hardware de una computadora y sus procesos.

Más información sobre Linux

Productos

Base estable y probada con suficiente versatilidad para implementar aplicaciones nuevas, virtualizar los entornos y crear una nube híbrida más segura.

Contenido adicional

Informe de analistas

Para los entornos SAP, la migración significa mucho más que Linux

Informe de analistas

IDC: el impacto económico de Red Hat Enterprise Linux

PODCAST

Command Line Heroes Temporada 1, Episodio 2:

Parte 2. La guerra de los Sistemas Operativos: El Ascenso de Linux