El nuevo Cortex-R82 de Arm es su primer procesador en tiempo real de 64 bits

Imagen estilizada de código informático azul sobre fondo negro.
Agrandar / El código en el fondo de esta imagen es un nivel demasiado alto para un RTOS típico … pero podría ejecutarse bajo Linux, en el lado MMU de una CPU en tiempo real Cortex-R82.

El viernes pasado, Arm anunció la última generación de su serie de procesadores en tiempo real, el Cortex-R82. La mayoría de las personas están más familiarizadas con las CPU de la serie Cortex A, que se utilizan como procesadores primarios en dispositivos como teléfonos inteligentes y tabletas, que ejecutan sistemas operativos completos. los Serie Cortex-R, por el contrario, se utiliza normalmente para aplicaciones de alto rendimiento que exigen rendimiento en «tiempo real», es decir, bucles de respuesta simples, predecibles y de latencia extremadamente baja, en pilas de software mucho más simples.

Los procesadores anteriores de la serie Cortex R no eran capaces de ejecutar sistemas operativos modernos completos, incluido Linux, porque utilizaban una Unidad de protección de memoria (MPU) simple en lugar de la Unidad de administración de memoria (MMU) más compleja necesaria para admitir funciones como memoria virtual. En general, esto no se consideró un problema, ya que las cargas de trabajo del sistema operativo en tiempo real (RTOS) generalmente necesitan tener lazos de control mucho más simples y predecibles.

Tiempo real versus multitarea

Los núcleos del Cortex-R82 se pueden asignar dinámicamente al procesamiento de aplicaciones o en tiempo real; el mismo dispositivo puede tener un perfil diferente durante el día que durante la noche.
Agrandar / Los núcleos del Cortex-R82 se pueden asignar dinámicamente al procesamiento de aplicaciones o en tiempo real; el mismo dispositivo puede tener un perfil diferente durante el día que durante la noche.

El Cortex R-82 todavía ofrece una MPU simple, pero también se puede configurar opcionalmente con una MMU, y los núcleos de la CPU se pueden asignar individual y dinámicamente a cualquiera de ellos. Neil Werdmuller, de Arm, plantea la hipótesis de que los controladores de almacenamiento podrían operar con diferentes perfiles durante las horas pico y no pico, reasignando núcleos de tareas de «SSD puro» en tiempo real a «almacenamiento computacional», lo que probablemente significa análisis de IA integrado, según sea necesario.

Diseño flexible

Cuando se utiliza para aplicaciones compatibles con la memoria caché, como los controladores de almacenamiento, en los que Arm dice que la serie R tiene el 85 por ciento del mercado, la arquitectura de 32 bits de los diseños anteriores imponía fuertes límites de rendimiento. Los SSD modernos cuentan habitualmente con DRAM integrada de 2GiB, que está incómodamente cerca del límite máximo teórico de direcciones de 4GiB de una CPU de 32 bits.

La arquitectura de 64 bits del R-82 lo integra en los procesadores convencionales modernos, lo que le permite abordar un espacio de direcciones físicas de hasta 1TiB. La nueva arquitectura también brinda soporte para unidades Neon opcionales para procesamiento de instrucción única, datos múltiples (SIMD), lo que permite una mayor flexibilidad en los diseños de almacenamiento.

Finalmente, los diseños de Cortex-R82 con la MMU opcional serán capaces de ejecutar sistemas operativos full-stack como Linux, así como, e incluso en paralelo, RTOS más simples. Esto permitirá la reutilización del código existente de alto nivel desarrollado para entornos Linux completos en lo que tradicionalmente han sido entornos mucho más restrictivos.

Mayor rendimiento

El nuevo procesador muestra mejoras modestas en los puntos de referencia genéricos, e incluso mejores resultados para las aplicaciones que utilizan las nuevas instrucciones Neon SIMD.
Agrandar / El nuevo procesador muestra mejoras modestas en los puntos de referencia genéricos, e incluso mejores resultados para las aplicaciones que utilizan las nuevas instrucciones Neon SIMD.

El nuevo diseño de la CPU aporta una mejora del rendimiento tradicional, así como cambios arquitectónicos. En el gráfico anterior, Arm muestra una mejora significativa en los puntos de referencia genéricos, con una mejora masiva en las pruebas que utilizan las nuevas instrucciones de Neon SIMD. La columna «Consumidor» es el índice de referencia EEMBC Consumer, que aprovecha las instrucciones SIMD cuando se compila con Arm Compiler 6.14; Los clientes 1 a 4 son aplicaciones del mundo real de clientes de Arm no especificados.

Deja un comentario

Cart
Your cart is currently empty.