Procesadores ARM –> [ Todo lo que necesitas saber ]<--

Lo más importante que hay que entender sobre el papel que juega la arquitectura del procesador ARM en cualquier mercado de la informática o las comunicaciones – teléfonos inteligentes, ordenadores personales, servidores, o cualquier otro – es esto: Arm Holdings, Ltd., con sede en Cambridge, Reino Unido, diseña los componentes de los procesadores para que otros los construyan.

Arm posee estos diseños, junto con la arquitectura de sus conjuntos de instrucciones, como el ARM64 de 64 bits. Su modelo de negocio consiste en conceder la licencia de la propiedad intelectual (PI) de estos componentes y del conjunto de instrucciones a otras empresas, permitiéndoles construir sistemas en torno a ellos que incorporen tanto sus propios diseños como los de Arm. Para sus clientes que construyen sistemas alrededor de estos chips, Arm ha hecho la parte difícil para ellos.

Arm Holdings, Ltd. no fabrica sus propios chips. No tiene instalaciones de fabricación propias. En su lugar, licencia estos derechos a otras compañías, a las que Arm Holdings llama «socios». Utilizan el modelo arquitectónico de Arm como una especie de plantilla, construyendo sistemas que utilizan los núcleos de Arm como sus procesadores centrales.

A estos socios de la Armada se les permite diseñar el resto de sus propios sistemas, tal vez fabricar esos sistemas – o subcontratar su producción a otros – y luego venderlos como propios. Muchos teléfonos inteligentes y tabletas de Samsung y Apple, y esencialmente todos los dispositivos producidos por Qualcomm, utilizan alguna propiedad intelectual de Arm. Una nueva ola de servidores producidos con sistemas en un chip (SoC) basados en Arm ya ha avanzado para competir con los x86, especialmente con modelos de bajo consumo o de uso especial. Cada dispositivo que incorpora un procesador Arm tiende a ser su propio sistema único, como el procesador móvil Snapdragon 845 de Qualcomm, que se muestra arriba. (Qualcomm anunció su plataforma móvil 865 Plus 5G a principios de julio).

En agosto pasado, Arm anunció que había firmado un acuerdo de asociación con la agencia DARPA del Departamento de Defensa de los Estados Unidos, que permite a los equipos de investigación del Pentágono acceder al portafolio de tecnología de Arm con fines de investigación.

¿CUÁL SERÁ EL PAPEL DE NVIDIA EN LA OPERACIÓN DEL ARM?

El 13 de septiembre, Nvidia anunció un acuerdo para adquirir Arm Holdings , Ltd. de su empresa matriz, Softbank Group Corp. con sede en Tokio, en una bolsa de valores valorada en 40 mil millones de dólares. El trato está pendiente de una revisión regulatoria en la Unión Europea, Estados Unidos, Japón y China, en procesos separados que podrían tomar hasta 18 meses para concluir.

En una conferencia de prensa del 14 de septiembre, el director general de Nvidia, Jensen Huang, dijo a los periodistas que su intención es mantener el actual modelo de negocios de Arm, sin influir en su actual mezcla de socios. Sin embargo, Huang también declaró su intención de «añadir» el acceso a la tecnología de la GPU de Nvidia a la cartera de IP de Arm ofrecida a los socios, dando a los licenciatarios de Arm acceso a los diseños de Nvidia. Lo que no está claro en el momento en que se anunció el acuerdo es lo que un posible socio querría con un diseño de GPU, además de la oportunidad de competir con Nvidia.

Los diseños de Arm se crean con la intención de ser mezclados y emparejados en varias configuraciones, dependiendo de las necesidades únicas de sus socios. El programa Arm Foundry es una asociación entre Arm Holdings y los fabricantes de semiconductores, como TSMC, con sede en Taiwán, e Intel, con sede en Estados Unidos, que ofrece a los licenciatarios múltiples opciones para producir sistemas que incorporen la tecnología Arm. (Antes del anuncio de septiembre, cuando se consideró la venta de Arm, se rumoreaba que entre los posibles compradores se encontraban TSMC y Samsung). En comparación, Nvidia produce diseños exclusivos de GPU, con la intención de ser producidos exclusivamente en una fundición de su elección – originalmente IBM, luego en gran parte TSMC, y más recientemente Samsung. Los diseños de Nvidia están expresamente destinados a estas fundiciones en particular – por ejemplo, para aprovechar el proceso de litografía de Samsung en ultravioleta extremo (EUV).

¿EN QUÉ SE DIFERENCIA EL ARM DE LOS 86 CPUS O DE LOS NVIDIA GPUS?

Un PC o servidor basado en x86 se construye con un conjunto de especificaciones comunes para el rendimiento y la compatibilidad. Tal PC no está tanto diseñado como ensamblado. Esto mantiene los costos bajos para los vendedores de hardware, pero también relega la mayor parte de la innovación y las primas de nivel de prestaciones al software, y quizás algunos matices de implementación. El ecosistema de dispositivos x86 está poblado de partes intercambiables, al menos en lo que se refiere a la arquitectura (es cierto que los procesadores de AMD e Intel no son compatibles con los zócalos desde hace bastante tiempo).

El ecosistema del ARM está poblado por algunos de los mismos componentes, como la memoria, el almacenamiento y las interfaces, pero por lo demás por sistemas completos diseñados y optimizados para los componentes que utilizan.

Esto no necesariamente da a los dispositivos, aparatos o servidores de Arm ninguna ventaja automática sobre Intel y AMD. Intel y x86 han sido dominantes en el espacio de los procesadores de computación durante la mayor parte de cuatro décadas, y los chips de Arm han existido de una forma u otra durante casi todo ese tiempo – desde 1985. Toda su historia ha consistido en encontrar el éxito en los mercados que la tecnología x86 no había explotado plenamente o en los que x86 mostraba debilidad, o en los mercados en los que x86 simplemente no puede ser adaptado.

Para las computadoras tablet, más recientemente en servidores de centros de datos, y pronto una vez más en computadoras de escritorio y portátiles, el vendedor de un dispositivo o sistema basado en un ARM ya no está relegado a ser simplemente un ensamblador de partes. Esto hace que cualquier comparación directa, de unidad a unidad, de los componentes del ARM vs. los del procesador x86 sea algo frívola, ya que un dispositivo o sistema basado en uno podría superar fácilmente y de forma consistente al otro, basándose en la forma en que ese sistema fue diseñado, ensamblado e incluso empaquetado.

La clase de procesador que ahora se conoce como GPU se originó como un coprocesador de gráficos para PC, y todavía se utiliza de manera prominente para ese propósito. Sin embargo, debido en gran parte a la influencia de Nvidia en el espacio de la inteligencia artificial, la GPU ha llegado a considerarse una clase de acelerador de uso general, así como un componente de computación principal en las supercomputadoras, al estar acoplada, en lugar de subordinada, a las supercomputadoras. El punto fuerte de la GPU es su capacidad para ejecutar muchos clusters de instrucciones, o hilos, en paralelo, acelerando enormemente muchas tareas académicas.

Por definición y por diseño, un procesador Arm no es una GPU, aunque un sistema podría ser construido usando ambas. El pasado mes de noviembre, Nvidia anunció la introducción de una plataforma de referencia que permite a los arquitectos de sistemas acoplar los diseños de servidores basados en el Arm con los aceleradores de GPU de Nvidia.

¿CUÁL ES LA RELACIÓN ENTRE EL ARM Y APPLE?

Apple Silicon es la frase que Apple utiliza actualmente para describir su propia producción de procesadores, comenzando el pasado mes de junio con el anuncio de Apple de la sustitución de su línea de procesadores x86 para Mac. En su lugar, en las unidades portátiles Mac que, según se informa, ya se están enviando, habrá un nuevo sistema en un chip llamado A12Z, con nombre de código «Bionic», producido por Apple usando el conjunto de instrucciones de 64 bits que le fue licenciado por Arm Holdings. En este caso, Arm no es el diseñador, sino el productor del conjunto de instrucciones alrededor del cual Apple hace su diseño original. Se espera que Apple elija a TSMC como el fabricante de su A12Z.

Para que el MacOS 11 continúe ejecutando el software compilado para los procesadores de Intel, el nuevo sistema de Apple ejecutará una especie de traductor de instrucciones «justo a tiempo» llamado Rosetta 2. En lugar de ejecutar una antigua imagen del MacOS en una máquina virtual, el nuevo sistema operativo ejecutará un traductor de código de máquina x86 en tiempo real que re-forma el código x86 en lo que Apple llama ahora código binario Universal 2 – un código de nivel intermedio que todavía puede ser hecho para ejecutarse en antiguas Macs basadas en Intel – en tiempo real. Ese código se ejecutará en lo que las fuentes externas a Apple llaman un «emulador», pero que no es realmente un emulador ya que no simula la ejecución de código en una máquina física real (no hay un chip «Universal 2»).

Los primeros resultados de las pruebas de rendimiento independientes que comparaban un iPad Pro usando el chip A12Z planeado para los primeros Mac basados en el ARM, contra los modelos de superficie de Microsoft, parecían prometedores. Los resultados de Geekbench dan a la tableta potenciada por el Biónico una puntuación de procesamiento multi-núcleo de 4669 (más alto es mejor), frente a 2966 para el Surface Pro X potenciado por el Pentium, y 3033 para el Surface Pro 6 potenciado por el Core i5.

La recién afirmada capacidad de Apple para producir su propio SoC para Mac, al igual que para el iPhone y el iPad, podría ahorrarle a la compañía con el tiempo hasta un 60 por ciento de los costos de producción, según sus propias estimaciones. Por supuesto, Apple suele ser muy reservado en cuanto a cómo llega a esa estimación, y cuánto tiempo tomará ese ahorro para ser realizado.

La relación entre Apple y Arm Holdings se remonta a 1990, cuando Apple Computer UK se convirtió en co-partícipe fundador. Los otros socios en ese momento fueron los creadores del concepto de Arm, Acorn Computers Ltd. (más sobre Acorn más tarde) y el fabricante de semiconductores personalizados VLSI Technology (llamado así por el proceso común de fabricación de semiconductores llamado «integración a muy gran escala»). Hoy en día, Arm Holdings es una subsidiaria de propiedad absoluta de SoftBank, que anunció su intención de comprar el licenciador en julio de 2016. En ese momento, el acuerdo de adquisición fue el más grande para una empresa de tecnología con sede en Europa.

POR QUÉ SE VENDE EL X86 Y SE LICENCIA EL ARM

El fabricante de un ordenador x86 basado en Intel o AMD no diseña ni posee ninguna parte de la propiedad intelectual del CPU. Tampoco puede reproducir la propiedad intelectual de los x86 para sus propios fines. «Intel Inside» es un sello que certifica una licencia para que el fabricante del dispositivo construya una máquina alrededor del procesador de Intel. Se puede diseñar un dispositivo basado en un ARM para incorporar el procesador, quizás incluso haciendo adaptaciones a su arquitectura y funcionalidad. Por ese motivo, en lugar de una «unidad central de procesamiento» (CPU), el procesador de un Arm se denomina sistema en un chip (SoC). Gran parte de la funcionalidad del dispositivo puede fabricarse en el propio chip, cohabitando el troquel con los núcleos exclusivos de Arm, en lugar de construirse alrededor del chip en procesadores, aceleradores o expansiones separados.

Como resultado, un dispositivo ejecutado por un procesador de Arm, como uno de la serie Cortex, es un orden de máquina diferente al de uno ejecutado por un Intel Xeon o un AMD Epyc. Significa algo bastante diferente ser un dispositivo original basado en un chip de Arm. Lo más importante desde la perspectiva de un fabricante, significa una cadena de suministro algo diferente, y con suerte más manejable. Dado que Arm no tiene interés en comercializarse a sí mismo a los usuarios finales, no se suele oír mucho sobre «Arm Inside».

Igualmente importante, sin embargo, es el hecho de que un chip de Arm no es necesariamente un procesador central. Dependiendo del diseño de su sistema, puede ser el corazón de un controlador de dispositivos, un microcontrolador (MCU), o algún otro componente subordinado en un sistema.

Tal vez la mejor explicación del modelo de negocio de Arm, así como su relación con su propia propiedad intelectual, se encuentra en una declaración de 2002 ante la Comisión de Valores y Bolsa de los Estados Unidos:

Tenemos mucho cuidado en establecer y mantener la integridad de la propiedad de nuestros productos. Nos centramos en el diseño y la implementación de nuestros productos en una «sala limpia», sin el uso de propiedad intelectual perteneciente a otros terceros, excepto bajo procedimientos estrictamente mantenidos y derechos de licencia expresos. En caso de que descubramos que un tercero tiene protecciones de propiedad intelectual sobre un producto que nos interesa desarrollar, tomaríamos medidas para adquirir una licencia de uso de la tecnología o trabajar en torno a la tecnología en el desarrollo de nuestra propia solución para evitar la infracción de los derechos de propiedad intelectual de esa otra empresa. A pesar de esos esfuerzos, los terceros pueden aún hacer afirmaciones de que hemos infringido sus derechos de propiedad, que nosotros defenderíamos.

¿Qué tipos de procesadores de ARM se producen hoy en día?

Para seguir siendo competitivos, Arm ofrece una variedad de estilos o series de núcleos de procesadores. Algunos se comercializan para una variedad de casos de uso; otros se destinan a sólo uno o dos. Es importante destacar que Intel utiliza el término «microarquitectura», y a veces por extensión «arquitectura», para referirse a la etapa específica de la evolución de las características y la funcionalidad de sus procesadores; por ejemplo, su generación más reciente de procesadores para servidores Xeon es una microarquitectura a la que Intel ha dado el nombre en clave de Cascade Lake. En comparación, la arquitectura del ARM abarca toda la historia de los procesadores RISC del ARM. Cada iteración de esta arquitectura ha sido llamada una variedad de cosas, pero más recientemente una serie. Dicho esto, los conjuntos de instrucciones de los procesadores del ARM han evolucionado a su propio ritmo, y cada iteración generalmente se refiere a la misma abreviatura que Intel usa para x86: ISA. Y sí, aquí la «A» significa «arquitectura».

Intel fabrica procesadores Celeron, Core y Xeon para clases muy diferentes de clientes; AMD fabrica Ryzen para computadoras de escritorio y portátiles, y Epyc para servidores. Por el contrario, Arm produce diseños para procesadores completos, que pueden ser utilizados por los socios tal como están, o personalizados por esos socios para sus propios fines. Aquí están los principales diseños de Arm Holdings, Ltd. al momento de esta publicación:

El Cortex-A se ha comercializado como el caballo de batalla de la familia de los ARM, con la «A» en este caso, que significa aplicación. Tal como se concibió originalmente, el cliente que buscaba construir un sistema alrededor del Cortex-A tenía en mente una aplicación particular para él, como un amplificador de audio digital, un procesador de vídeo digital, el microcontrolador para un sistema de supresión de incendios o un sofisticado monitor de frecuencia cardíaca. Al final, el Cortex-A terminó siendo el corazón de dos clases de dispositivos emergentes: computadoras de una sola placa capaces de ser programadas para una variedad de aplicaciones, como el procesamiento de cajas registradoras; y lo más importante de todo, teléfonos inteligentes. Lo más importante es que los procesadores del Cortex-A incluyen unidades de gestión de memoria (MMU) en el chip. Hace décadas, fue la inclusión de la MMU en el chip por la CPU 80286 de Intel lo que cambió el juego en su competencia contra los chips de Motorola, que en ese momento impulsaba a Macintosh. La principal herramienta en el arsenal de Cortex-A es su avanzado conjunto de instrucciones de una sola instrucción y datos múltiples (SIMD), con nombre de código NEON, que ejecuta instrucciones como el acceso a la memoria y el procesamiento de datos en paralelo sobre un conjunto mayor de vectores. Imagine que entra en una estación de servicio y se carga con suficiente combustible para 8 o 16 tanques, y tendrá la idea básica.

El Cortex-R es una clase de procesador con un conjunto mucho más estrecho de casos de uso: Principalmente aplicaciones de microcontroladores que requieren un procesamiento en tiempo real. Un gran caso de uso son los módems 4G LTE y 5G, donde el tiempo (o lo que un compositor de música podría llamar con más precisión «tempo») es un factor crítico para lograr la modulación. La arquitectura del Cortex-R está hecha a medida de tal manera que responde a las interrupciones – las peticiones de atención que desencadenan los procesos a ejecutar – no sólo rápidamente sino de manera predecible. Esto permite a R funcionar de forma más consistente y determinante, y es una de las razones por las que Arm está promoviendo su uso como controlador de almacenamiento de alta capacidad para la memoria flash de estado sólido.

El Cortex-M es un factor de forma más miniaturizado, lo que lo hace más adecuado para espacios reducidos: Por ejemplo, sistemas de control y freno de automóviles, y cámaras digitales de alta definición con reconocimiento de imágenes. Uno de los principales usos de la Corteza M es como procesador de señales digitales (DSP), que responde y gestiona las señales analógicas para aplicaciones como la síntesis de sonido, el reconocimiento de voz y el radar. Desde 2018, Arm se ha referido a toda su serie de cortezas colectivamente bajo el término paraguas de Cosmos.
Ethos-N es una serie de procesadores destinados específicamente a aplicaciones que pueden implicar el aprendizaje por máquina o alguna otra forma de procesamiento de redes neuronales. Arm llama a esta serie un procesador neuronal, aunque no es exactamente de la misma clase que la unidad de procesamiento tensorial de Google, que el propio Google admite que es en realidad un co-procesador y no un controlador autónomo [PDF]. El concepto de procesador neuronal de Arm incluye rutinas utilizadas para sacar inferencias lógicas de los datos, que son los bloques de construcción de la inteligencia artificial utilizados en el reconocimiento de imágenes y patrones, así como en el aprendizaje automático.

Ethos-U es una edición reducida de Ethos-N que está diseñada para funcionar más como un co-procesador, particularmente en conjunción con el Cortex-A.

Neoverse, lanzado en octubre de 2018, representa un nuevo y más concentrado esfuerzo de Arm para diseñar núcleos que sean más aplicables en los servidores y los centros de datos que los albergan – especialmente las variedades más pequeñas. El término que Arm utiliza en la comercialización de Neoverse es «infraestructura» – sin ser demasiado específico, pero todavía apuntando a los casos de uso emergentes para mini y micro centros de datos situados en el «borde del cliente», más cerca de donde los usuarios finales realmente consumen la potencia del procesador.

SecurCore es una clase de procesador diseñado por Arm exclusivamente para su uso en aplicaciones de tarjetas inteligentes, certificación basada en USB y seguridad integrada.

Son series cuyos diseños se licencian para que otros produzcan procesadores y microcontroladores. Dicho esto, Arm también concede licencias exclusivas de ciertas versiones personalizadas y semi personalizadas de su arquitectura, lo que permite a estos clientes construir procesadores únicos que no están disponibles para ningún otro productor. Estos clientes especiales incluyen:

Apple, que ha fabricado para sí misma una variedad de diseños basados en Arm a lo largo de los años para iPhone y iPad, y anunció el pasado mes de junio un SoC completamente nuevo para Mac (ver arriba);
Marvell, que adquirió el fabricante de chips Cavium en noviembre de 2017, y desde entonces ha duplicado sus inversiones en la serie de procesadores ThunderX originalmente diseñados para Cavium;
Nvidia, que co-diseñó dos series de procesadores con Arm, el más reciente de los cuales se llama CArmel. Conocida generalmente como productora de GPU, Nvidia aprovecha el diseño de CArmel para producir su Tegra Xavier SoC de 64 bits. Ese chip alimenta el dispositivo de computación de borde de pequeño factor de forma de la compañía, llamado Jetson AGX Xavier.
Samsung, que produce una variedad de procesadores Arm de 32 y 64 bits para toda su línea de electrónica de consumo, bajo la marca interna Exynos. Algunos han utilizado un diseño de núcleo de Samsung llamado Mongoose, mientras que la mayoría de los otros han utilizado versiones de Cortex-A. Notablemente (o quizás notoriamente) Samsung fabrica variaciones de sus smartphones de las series Galaxy Note, Galaxy S y Galaxy A con sus propios Exynos SoCs (fuera de EE.UU.) o Qualcomm Snapdragons (sólo en EE.UU.).
Qualcomm, cuyos modelos Snapdragon SoC más recientes utilizan un diseño central llamado Kryo, que es una variación semi-personalizada de Cortex-A. Los primeros modelos de Snapdragon se basaban en un diseño central llamado Krait, que seguía siendo oficialmente un SoC basado en el ARM, aunque era un diseño puramente de Qualcomm. Los analistas estiman que Snapdragon 855, 855 Plus y 865 juntos forman el núcleo de más de la mitad de los smartphones 5G del mundo. Aunque Qualcomm lo intentó en noviembre de 2017 con la producción de los chips Arm para servidores de centros de datos, con una línea de productos llamada Centriq, comenzó a reducir la producción de esa línea en diciembre de 2018, cediendo los derechos para continuar su producción a Huaxintong Semiconductor (HXT), con sede en China, que en ese momento era un socio de la empresa conjunta. Esa asociación se terminó en abril siguiente.
Ampere Computing, una nueva empresa lanzada con el ex presidente de Intel Renee James, produce una línea de procesadores para servidores de conteo de núcleos súper alto llamada Altra. La edición de 128 núcleos de Altra Max comenzará a tomar muestras en el cuarto trimestre de 2020, a pesar de la pandemia.

¿ES UN SISTEMA EN UN CHIP LO MISMO QUE UN CONJUNTO DE CHIPS?

Técnicamente hablando, la clase de procesador a la que pertenece un chip de ARM es un circuito integrado de aplicación específica (ASIC). Consideremos una plataforma de hardware cuyo elemento común es un conjunto de núcleos de procesamiento. Eso no es muy difícil; eso describe esencialmente cada dispositivo que se ha fabricado. Pero miniaturice estos componentes de modo que todos encajen en un solo dado — en la misma plataforma física — interconectados usando un bus de malla exclusivo.

Como sabes, para un ordenador, el programa de aplicación se renderiza como software. En muchos aparatos como los enrutadores de Internet, los sistemas de seguridad de puerta delantera y los televisores de alta definición «inteligentes», la memoria en la que se almacenan los programas de operaciones no es volátil, por lo que a menudo lo llamamos firmware. En un dispositivo cuyo procesador central es un ASIC, su funcionalidad principal se renderiza en el chip, como un componente permanente. Así que la funcionalidad que hace de un dispositivo un «sistema» comparte el dado con los núcleos del procesador, y un chip de ARM puede tener docenas de esos.

Algunas empresas de análisis han empezado a utilizar el procesador de aplicaciones de frase ancha, o AP, para referirse a los ASIC, pero esto no se ha generalizado. En un uso más ocasional, un SoC también se denomina conjunto de chips, aunque en los últimos años, la mayoría de las veces, el número de chips del conjunto es sólo uno. En el uso general, un conjunto de chips es un conjunto de uno o más procesadores que funcionan colectivamente como un sistema completo. Una CPU ejecuta el programa principal, mientras que un conjunto de chips gestiona los componentes conectados y se comunica con el usuario. En la placa base de un PC, el conjunto de chips está separado de la CPU. En un SoC, el procesador principal y los componentes del sistema comparten el mismo dado.

¿Qué hace que la arquitectura del procesador del ARM sea única?

La «R» de «Arm» en realidad significa otro acrónimo: Ordenador de conjunto de instrucciones reducido (RISC). Su propósito es aprovechar la eficiencia de la simplicidad, para hacer toda la funcionalidad del procesador en un solo chip. Mantener el conjunto de instrucciones de un procesador pequeño significa que puede ser codificado utilizando un menor número de bits, reduciendo así el consumo de memoria así como el tiempo de ciclo de ejecución. En 1982, los estudiantes de la Universidad de California, Berkeley, fueron capaces de producir las primeras arquitecturas RISC que funcionaban, seleccionando juiciosamente qué funciones se utilizarían más a menudo, y renderizando sólo las del hardware – con las funciones restantes renderizadas como software. De hecho, eso es lo que hace que un SoC con un conjunto de pequeños núcleos sea factible: Relegando tanta funcionalidad al software como sea posible.

Retroactivamente, las arquitecturas como x86, que adoptaron estrategias bastante opuestas a las del RISC, fueron denominadas Computadoras de Conjunto de Instrucciones Complejas (CISC), aunque Intel ha evitado históricamente utilizar ese término para sí mismo. El poder de x86 proviene de ser capaz de lograr tanto con una sola instrucción. Por ejemplo, con el procesamiento vectorial de Intel, es posible ejecutar 16 operaciones matemáticas de simple precisión, u 8 operaciones de doble precisión, simultáneamente; aquí, el vector actúa como una especie de «brocheta», si se quiere, hurgando a través de todos los operandos en una operación paralela y acumulándolos.

Eso facilita las matemáticas complejas, al menos conceptualmente. Con un sistema RISC, las operaciones matemáticas se descomponen en fundamentos. Todo lo que sucedería automáticamente con una arquitectura CISC – por ejemplo, limpiar los registros activos cuando un proceso se completa – toma un paso completo y registrado con RISC. Sin embargo, debido a que se requieren menos bits (dígitos binarios) para encapsular todo el conjunto de instrucciones RISC, puede terminar tomando alrededor de tantos bits al final para codificar una secuencia de operaciones fundamentales en un procesador RISC — tal vez incluso menos — que una compleja instrucción CISC donde todas las propiedades y argumentos están apilados en un gran grupo.

Intel puede, y ha demostrado, instrucciones muy complejas con estadísticas de rendimiento más altas que los mismos procesos para los procesadores Arm, u otros chips RISC. Pero a veces tales ganancias de rendimiento vienen con un costo de rendimiento global para el resto del sistema, haciendo que las arquitecturas RISC sean algo más eficientes que las CISC en tareas de propósito general.

Luego está el tema de la personalización. Intel mejora sus CPU de mayor calidad con funcionalidad por medio de programas que normalmente se presentarían como software, pero que en su lugar se incorporan como microcódigos. Se trata de rutinas diseñadas para ser ejecutadas rápidamente a nivel de código de máquina, y que pueden ser referenciadas por ese código indirectamente, por nombre. De esta manera, por ejemplo, un programa que necesita invocar un método común para descifrar mensajes en una red puede dirigirse a un código de procesador muy rápido, muy cerca de donde se ejecutará ese código. (Convenientemente, muchas de las rutinas que terminan en microcódigo son las que se emplean a menudo en las pruebas de rendimiento). Estas rutinas de microcódigos se almacenan en la memoria de sólo lectura (ROM) cerca de los núcleos x86.

Arm Holdings, Ltd.
Un procesador de Arm, por el contrario, no utiliza microcódigo digital en su memoria de sólo lectura. La implementación actual de la alternativa de Arm es un concepto llamado instrucciones personalizadas [PDF]. Permite la inclusión de módulos en la matriz completamente personalizables por el cliente, cuya lógica está efectivamente «predecodificada». Estos módulos están representados en el diagrama del ARM anterior por los cuadros verdes. Todo lo que el programa tiene que hacer para invocar esta lógica es dar entrada a una instrucción dependiente para el núcleo del procesador, que pasa el control al módulo personalizado como si fuera otra unidad aritmética lógica (ALU). Arm pide a sus socios que quieran implementar módulos personalizados que le presenten un archivo de configuración, y que trazar la ruta de datos personalizados desde el núcleo hasta la ALU personalizada. Usando sólo estos elementos, el núcleo puede determinar por sí mismo las dependencias y los mecanismos de enclavamiento de instrucciones.

Así es como un compañero del ARM construye un diseño exclusivo para sí mismo, usando los núcleos del ARM como sus ingredientes iniciales.

Aunque Arm no creó el concepto de RISC, tuvo mucho que ver con la realización del concepto, y hacerlo público. Una rama de la arquitectura original de Berkeley que ha surgido por sí misma es RISC-V, cuya especificación del núcleo se hizo de código abierto bajo la licencia Creative Commons 4.0. Nvidia, entre otros incluyendo a Qualcomm, Samsung, Huawei y Micron Technology, ha sido miembro fundador de la Fundación RISC-V. Cuando se le preguntó, el director general de Nvidia, Jensen Huang, indicó que tiene la intención de que su empresa siga contribuyendo al esfuerzo de RISC-V, manteniendo que su ecosistema está naturalmente separado del de Arm.

Las crecientes perspectivas de Arm en los servidores

El mes pasado, una supercomputadora del ARM de Fujitsu llamada Fugaku (en la foto de la izquierda), construida para el Centro RIKEN de Ciencias Computacionales de Japón, ocupó el primer lugar en la lista semestral de las 500 mejores supercomputadoras.

Pero de todas las diferencias entre un CPU x86 y un SoC de ARM, esta puede ser la única que le importa al gerente de instalaciones de un centro de datos: Dado cualquier par de muestras de ambas clases de procesador, es el chip del ARM el que menos probablemente requiera un sistema de enfriamiento activo. En otras palabras, si abres tu smartphone, lo más probable es que no encuentres un ventilador. O un aparato de enfriamiento líquido.

El desarrollo de la tecnología inalámbrica 5G está, irónicamente, expandiendo el desarrollo de la conectividad de fibra óptica a lugares cercanos al «borde del cliente»… el punto más alejado del centro de operaciones de la red. Esto abre la oportunidad de colocar dispositivos y servidores de computación de borde en o cerca de tales puntos, pero preferentemente sin las unidades de intercambio de calor que típicamente acompañan a los estantes de los servidores x86.

200623-bamboo-systems-b1008n.jpg
Sistemas de Bambú
Aquí es donde entran en juego los sistemas de arranque como Bamboo Systems. Las reducciones radicales en el tamaño y los requerimientos de energía para los sistemas de refrigeración permiten a los diseñadores de servidores idear nuevas formas de pensar «fuera de la caja», por ejemplo, encogiendo la caja. Un nodo servidor de Bamboo es una tarjeta no mucho más grande que el alcance de la mayoría de las manos de la gente, ocho de las cuales pueden ser instaladas de forma segura en una caja de 1U que normalmente soporta 1, tal vez 2, servidores x86. Bamboo tiene como objetivo producir servidores, dice la compañía, que utilizan tan sólo una quinta parte del espacio del rack y consumen una cuarta parte de la energía, de los racks x86 con niveles de rendimiento comparables.

¿De dónde vinieron los procesadores de Arm?
De una bellota. De hecho, eso es lo que la «A» representaba originalmente.

En 1981, una compañía con sede en Cambridge, Reino Unido, llamada Acorn Computers estaba comercializando una microcomputadora (lo que solíamos llamar «PC» antes de que IBM popularizara el término) basada en el procesador 6502 de Motorola – que había alimentado al venerable Apple II, al Commodore 64, y a los Atari 400 y 800. Aunque el nombre «Acorn» era un truco ingenioso para aparecer antes en una lista alfabética que «Apple», su computadora había sido parcialmente subsidiada por la BBC y por lo tanto era conocida a nivel nacional como la BBC Micro.

Todas las máquinas basadas en el 6502 utilizaban una arquitectura de procesador de 8 bits, y en 1981, Intel estaba trabajando en una arquitectura de 16 bits totalmente compatible para reemplazar el 8086 utilizado en el IBM PC/XT. Al año siguiente, el 80286 de Intel permitiría a IBM producir su PC AT para que MS-DOS, y todo el software que corría en DOS, no tuviera que ser cambiado o recompilado para correr en la arquitectura de 16 bits. Fue un éxito tremendo, y Motorola no pudo igualarlo. Aunque el primer Macintosh de Apple se basó en el Motorola 68000 de 16 bits, su arquitectura sólo se «inspiró» en el anterior diseño de 8 bits, no era compatible con él. (Eventualmente, produciría un IIGS de 16 bits de Apple basado en el procesador 65C816, pero sólo después de varios meses de espera para que los fabricantes del 65816 enviaran un modelo de prueba que funcionara. Los IIGS tenían un modo de reducción de tamaño «Apple II» pero técnicamente no eran totalmente compatibles).

Los ingenieros de Acorn querían un camino a seguir, y Motorola los estaba dejando en un callejón sin salida. Después de experimentar con un co-procesador sorprendentemente rápido para el 6502 llamado Tube que no era lo suficientemente rápido, optaron por dar el salto con una tubería completa de 32 bits. Siguiendo el liderazgo del proyecto RISC de Berkeley, en 1983, construyeron un simulador para un procesador que llamaron Arm1 que era tan simple, que funcionaba con el intérprete de lenguaje BASIC de la BBC Micro (aunque no a velocidad). Colaborarían con VLSI y producirían dos años más tarde su primer modelo de trabajo Arm1, con una velocidad de reloj de 6 MHz. Utilizaba tan poca energía que, como cuenta un ingeniero del proyecto, un día se dieron cuenta de que el chip funcionaba sin su fuente de alimentación conectada. En realidad estaba siendo alimentado por una fuga de los rieles de energía que conducían al chip de E/S.

En esta etapa inicial, los procesadores Arm1, Arm2 y Arm3 eran técnicamente CPUs, no SoCs. Sin embargo, en el mismo sentido que los actuales procesadores Intel Core son sucesores arquitectónicos de su original 4004, Cortex-A es el sucesor arquitectónico de Arm1.