ARM Cortex-R es una familia de núcleos de procesadores ARM RISC de 32 y 64 bits con licencia de Arm Ltd. Los núcleos están optimizados para aplicaciones de tiempo real y de seguridad crítica . Los núcleos de esta familia implementan el perfil ARM Real-time (R), que es uno de los tres perfiles de arquitectura; los otros dos son el perfil Application (A) implementado por la familia Cortex-A y el perfil Microcontroller (M) implementado por la familia Cortex-M . La familia de microprocesadores ARM Cortex-R actualmente consta de ARM Cortex-R4(F), ARM Cortex-R5(F), ARM Cortex-R7(F), ARM Cortex-R8(F), ARM Cortex-R52(F), ARM Cortex-R52+(F) y ARM Cortex-R82(F).
ARM Cortex-R es una familia de núcleos ARM que implementan el perfil R de la arquitectura ARM; dicho perfil está diseñado para aplicaciones críticas de seguridad y de tiempo real de alto rendimiento. Es similar al perfil A para el procesamiento de aplicaciones, pero agrega características que lo hacen más tolerante a fallas y adecuado para su uso en aplicaciones críticas de seguridad y de tiempo real.
Las funciones críticas de seguridad y en tiempo real agregadas incluyen:
La arquitectura Armv8-R incluye funciones de virtualización similares a las introducidas en la arquitectura Armv7-A. Se proporcionan dos etapas de traducción basadas en MPU para permitir que varios sistemas operativos se aíslen entre sí bajo el control de un hipervisor.
Antes del R82, presentado el 4 de septiembre de 2020, [1] la familia Cortex-R no tenía una unidad de gestión de memoria (MMU). Los modelos anteriores al R82 no podían usar memoria virtual , lo que los hacía inadecuados para muchas aplicaciones, como Linux con todas las funciones . [1] Sin embargo, muchos sistemas operativos en tiempo real (RTOS), con énfasis en el control total, tradicionalmente han considerado la falta de una MMU como una característica, no un error. [1] En el R82, puede ser posible ejecutar un RTOS tradicional en paralelo con un sistema operativo paginado como Linux, donde Linux aprovecha la MMU para obtener flexibilidad, mientras que el RTOS bloquea la MMU en un modo de traducción directa en las páginas asignadas al RTOS para conservar la previsibilidad total para las funciones en tiempo real. [1]
Arm Holdings no fabrica ni vende dispositivos de CPU basados en sus propios diseños, sino que otorga licencias de los diseños básicos a las partes interesadas. ARM ofrece una variedad de condiciones de licencia, que varían en costo y resultados. Para todos los licenciatarios, ARM proporciona una descripción de hardware integrable del núcleo ARM, así como un conjunto completo de herramientas de desarrollo de software y el derecho a vender silicio fabricado que contiene la CPU ARM.
Los fabricantes de dispositivos integrados (IDM) reciben la propiedad intelectual del procesador ARM como RTL sintetizable (escrito en Verilog ). De esta forma, tienen la capacidad de realizar optimizaciones y extensiones a nivel arquitectónico. Esto permite al fabricante lograr objetivos de diseño personalizados, como mayor velocidad de reloj, consumo de energía muy bajo, extensiones del conjunto de instrucciones, optimizaciones de tamaño, soporte de depuración, etc. Para determinar qué componentes se han incluido en un chip de CPU ARM en particular, consulte la hoja de datos del fabricante y la documentación relacionada.
El Cortex-R es adecuado para su uso en sistemas controlados por ordenador en los que se requiere una latencia muy baja o un alto nivel de seguridad. Un ejemplo de una aplicación crítica para la seguridad y en tiempo real sería un sistema de frenado electrónico moderno en un automóvil. El sistema no solo debe ser rápido y responder a una gran cantidad de datos de entrada de sensores, sino que también es responsable de la seguridad humana. Una falla de un sistema de este tipo podría provocar lesiones graves o la muerte.
Otros ejemplos de aplicaciones críticas de seguridad y/o en tiempo real incluyen: