Procesadores ARM

Pertenecen a la familia de arquitecturas RISC (Reduced Instruction Set Computer) y son desarrollados por la empresa Advanced RISC Machines (ARM). ARM diseña procesadores multicore RISC de 32 y 64 bits. Los procesadores RISC están diseñados para realizar una cantidad menor de tipos de instrucciones de computadora, de modo que puedan funcionar a mayor velocidad y realizar más instrucciones por segundo. Al eliminar las instrucciones innecesarias y optimizar las rutas, los procesadores RISC proporcionan un rendimiento sobresaliente a una fracción de la demanda de energía de los dispositivos CISC 1) Los microprocesadores CISC (Complex Instruction Set Computer, del español Computadora con conjunto de instrucciones complejas) tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos, en contraposición a la arquitectura RISC. (Complex Instruction Set Computer). Los procesadores ARM se usan ampliamente en dispositivos electrónicos de consumo como teléfonos inteligentes, tabletas, reproductores multimedia y otros dispositivos móviles, como los weareables2. Debido a su reducido conjunto de instrucciones, requieren menos transistores, lo que permite un tamaño de dado más pequeño para los circuitos integrados.

El diseño simplificado de los procesadores ARM permite un procesamiento multicore más eficiente y una codificación más sencilla para los desarrolladores. Si bien no tienen el mismo rendimiento de procesamiento que los productos de las marcas líderes, los procesadores ARM tienen un mejor rendimiento energético.

Existen diferentes familias ARM orientadas a distintos usos, los Cortex-R utilizados en procesadores de tiempo real; los Cortex-M, diseñados principalmente para dispositivos móviles por su bajo consumo; los SecurCore diseñado para dispositivos de seguridad; y finalmente la familia Cortex-A que es la utilizada en las SBC.

Aquellos procesadores basados en Cortex-A comparten una arquitectura y conjunto de características comúnmente admitidas. Los procesadores ARMv7-A admiten un conjunto de instrucciones de 32 bits y una ruta de datos, así como el conjunto de instrucciones Thumb2 de 16/32 bits. Los procesadores ARMv8-A Cortex-A añaden soporte para los estados de ejecución AArch32 / AArch64. Los procesadores Cortex-A de ARMv8.2-A agregan extensiones de arquitectura para un mayor impacto en el rendimiento del sistema. Todos los procesadores Cortex-A son compatibles con versiones anteriores y están respaldados por un fuerte ecosistema ARM.

Obviando las variantes que han quedado obsoletas, actualmente podemos encontrar las siguientes microarquitecturas:

ARMv7-A estamos ante un modelo de 32 bits que ha servido para crear soluciones muy potentes. Con el salto a los 64 bits han quedado relegadas a un segundo plano y se mantienen sobre todo en productos donde lo que prima es el bajo consumo. Algunos de los procesadores que han basado en esta microarquitectura son: Cortex-A8 utilizado en los Apple iPod touch (tercera generación), y Cortex-A9, el cual puede ser encontrado en los celulares Galaxy Nexus.

ARMv8-A primeras unidades de 64 bits de la arquitectura y la más utilizada actualmente, ya que integra soluciones versátiles que permiten crear sistemas en chip (SoCs, por sus siglas en inglés) equilibrados tanto en

consumo como en rendimiento, sobre todo gracias a la combinación de diferentes variantes en configuraciones asimétricas (big. LITTLE). Tres de sus variantes más importantes son: