Sistemas ARM

Este tipo de sistemas son los que utilizan en su CPU una arquitectura conocida como ARM. Fue creada originalmente por la empresa británica Acorn para producir un procesador de bajo costo, bajo consumo y minimalismo estructural.

Si desea ver un video documental (inglés o español) sobre sus inicios, puede ver;

  • LowSpecGamer en Español; “ Los Amateurs que crearon el Procesador mas popular del mundo “

    https://www.youtube.com/watch?v=xK32lQpzQnc

La arquitectura ARM entra en la categoría de “RISC” (“Reduced Instruction Set Computer”; “Conjunto de instrucciones reducidos computacionales”) al usar instrucciones de procesador que son más básicos, reducidos (en cantidad) y simples. Esto contrasta con la arquitectura “CISC” (“Complex Instruction Set Computer”; “Conjunto de instrucciones complejas computacionales”) en donde el conjunto de tales es mucho más grande, son mucho más complejas y energéticamente menos eficiente. Esto sigue una filosofía de; en vez de usar instrucciones complejas para una operación compleja, se usan instrucciones simples para en su conjunto realizar la misma función compleja pero a un menor consumo de energía.

Esto hace a los sistemas ARM ideal para ser usados en dispositivos que consuman muy poco energéticamente a tal punto que la mayoría de los sistemas ARM pueden funcionar con cargadores genéricos de 5v (smartphones, single board computers, entre otros).

Obviamente “RISC” no es ARM pero sí ARM es “RISC”, por lo que existe más de una arquitectura que entra en esa categoría. Debido a mis conocimientos especializados en ARM yo, shyanjmc, hablaré específicamente de esta.

Uso de energía

Los sistemas ARM son muy eficientes desde el punto de vista del consumo, a tal punto que sus núcleos de procesador se dividen en dos categorías;

  1. Núcleos eficientes

    Denominados coloquialmente como “núcleos chicos”. Son núcleos de muy alta eficiencia energética y bajo consumo, pero a una baja frecuencia y por ende con relativamente poca potencia. Generalmente los núcleos eficientes están encendidos todo el tiempo aunque la carga de procesamiento sea alta.

    En los procesadores Apple ARM, se conocen como “Ice Storm”.

  2. Núcleos potentes

    Denominados coloquialmente como “núcleos grandes”. Son núcleos de mucha potencia en frecuencia de ciclos pero de mucho mayor consumo y menor eficiencia. Generalmente los núcleos potentes solamente entran en funcionamiento cuando la carga de procesamiento es alta o cuando la afinidad de un proceso (mediante el kernel) intenta ejecutarse en ese núcleo.

    En los procesadores Apple ARM, se conocen como “Fire Storm”.

Este esquema de los dos tipos de núcleos se conoce como; BIG.Little

Acá una tabla de consumos energéticos para que pueda tener una idea aproximada;

Versión de ARMModeloLanzamientoEficiente o potenteFrecuencia máximaWatts máximos
ARM v9ARM Cortex-X22021Potente2.85 - 3.00 Ghz7.62 W
ARM v9ARM Cortex-A5102021 - 2022Eficiente1.00 - 2.00 Ghz0.845 W (Exynos 2200)
ARM v9ARM Cortex-A7102021Potente2.80 Ghz?

Tome los detalles de frecuencias y watts como una ejemplificación. Ya que sucede lo siguiente; ARM licencia los circuitos a una empresa “X” y luego esa misma empresa “X” puede realizarle modificaciones al blueprint, para que cuando esté listo se envie a fabricar a una fundición “Y” en un determinado proceso.

Esto da como resultado que halla muchas diferencias entre diferentes implementaciones según cada fabricante. Por lo que es mejor para usted poder identificar que núcleos son de una determinada versión del set de instrucciones de ARM y si son núcleos eficientes o de potencia.

Sistemas de chips

No todas las implementaciones de ARM se basan en un esquema clásico de procesadores BIG.Little. Algunos integran además otros procesadores para cosas como; señales 5G, memoria RAM, entre otros.

Muchas de esas integraciones se hacen en el mismo encapsulado quedando así un; SoC (“System on a Chip”; “Sistema en un chip”).

“SOC de un ARM Cortex-M”
SOC de un ARM Cortex-M. Copyright; Joseph Yiu, community.arm.com

Este esquema de encapsular muchos chips en uno solo (un encapsulado, un gran chip) es el motivo por el cual no podes actualizar la memoria RAM en las notebooks Apple ARM M1 y M2, y en otras computadoras como smartphones.

Mientras que es bastante difícil poder estimar un consumo en Watts de un núcleo entre las diferentes implementaciones, es más sencillo hacerlo entre SoCs por que cada fabricante siempre hace el mismo.

SoCFabricanteVersión de ARMNúcleos CPUNúcleos GPUMemoriaCaso de UsoFrecuencia CPU/GPUWatts
BCM2711BroadcomARM v84x Cortex-A721x VideoCore VI1, 2, 4, 8 GB LP-DDR4Raspberry Pi 41.8 / 0.500 Ghz6.0 W
Exynos 2200SamsungARM v9-A1x Cortex-X2 , 3x Cortex-A710, 4x Cortex-A510, 1x Unidad de conectividad (Bluetooth 5.2, Wifi 802.11, 5G - 4G - 3G - 2G), 1x NPU IA1x XClipse-920Hasta 24 GB LP-DDR5Samsung Galaxy S222.8 / 2.52 / 1.82 / 1.3 Ghz7.01 W
RK3328RockchipARM v8-A4x Cortex-A531x ARM Mali-450 MP24 GBPine Rock641.50 / 0.30 Ghz~5.0 W

Ahí solamente tres ejemplos, pero en líneas generales los Cortex más nuevos son más potentes y más eficientes, y generalmente los SoCs de smartphone consumen menos que los de SBC (“Single Board Computers”; “Computadoras de una sola placa”) como los de la Raspberry Pi o Pine Rock64 pero tienen menos capacidad de overclocking y sus bootloader son más privativos (lo que conlleva más dificultad para hacer andar sistemas operativos como GNU/Linux).

Por lo tanto, siempre se debería priorizar una SBC (como las Raspberry Pi o una Pine Rock64 / Pro) a un SoC privativo, de tal forma que le permita a usted (o al administrador del sistema) el poder utilizar una distribución GNU/Linux o un sistema BSD.