L' ARM Cortex-R est une famille de cœurs de processeurs ARM RISC 32 bits et 64 bits sous licence d' Arm Ltd. Les cœurs sont optimisés pour les applications en temps réel et critiques en matière de sécurité . Les cœurs de cette famille implémentent le profil ARM Real-time (R), qui est l'un des trois profils d'architecture, les deux autres étant le profil Application (A) implémenté par la famille Cortex-A et le profil Microcontroller (M) implémenté par la famille Cortex-M . La famille de microprocesseurs ARM Cortex-R se compose actuellement des ARM Cortex-R4(F), ARM Cortex-R5(F), ARM Cortex-R7(F), ARM Cortex-R8(F), ARM Cortex-R52(F), ARM Cortex-R52+(F) et ARM Cortex-R82(F).
Aperçu
L'ARM Cortex-R est une famille de cœurs ARM implémentant le profil R de l'architecture ARM ; ce profil est conçu pour les applications en temps réel et critiques de sécurité à hautes performances. Il est similaire au profil A pour le traitement des applications, mais ajoute des fonctionnalités qui le rendent plus tolérant aux pannes et adapté à une utilisation dans les applications en temps réel et critiques de sécurité.
Les fonctionnalités critiques en temps réel et en matière de sécurité ajoutées incluent :
- Mémoire étroitement couplée (mémoire non mise en cache avec temps d'accès rapide garanti)
- Amélioration de la gestion des exceptions dans le matériel
- Instructions de division du matériel
- Unité de protection de la mémoire (MPU)
- Gestion des interruptions déterministes ainsi que des interruptions rapides non masquables
- ECC sur le cache et les bus L1
- Processeur dual-core lockstep pour la tolérance aux pannes du processeur
L'architecture Armv8-R inclut des fonctionnalités de virtualisation similaires à celles introduites dans l'architecture Armv7-A. Deux étapes de traduction basées sur MPU sont fournies pour permettre à plusieurs systèmes d'exploitation d'être isolés les uns des autres sous le contrôle d'un hyperviseur.
Avant le R82, introduit le 4 septembre 2020, la famille Cortex-R ne disposait pas d' unité de gestion de la mémoire (MMU). Les modèles antérieurs au R82 ne pouvaient pas utiliser de mémoire virtuelle , ce qui les rendait inadaptés à de nombreuses applications, telles que Linux aux fonctionnalités complètes . Cependant, de nombreux systèmes d'exploitation en temps réel (RTOS), mettant l'accent sur le contrôle total, ont traditionnellement considéré l'absence d'une MMU comme une fonctionnalité et non comme un bug. Sur le R82, il peut être possible d'exécuter un RTOS traditionnel en parallèle avec un système d'exploitation paginé tel que Linux, où Linux tire parti de la MMU pour plus de flexibilité, tandis que le RTOS verrouille la MMU dans un mode de traduction directe sur les pages attribuées au RTOS afin de conserver une prévisibilité totale pour les fonctions en temps réel.
Licence ARM
Arm Holdings ne fabrique ni ne vend de processeurs basés sur ses propres conceptions, mais concède sous licence les conceptions de base aux parties intéressées. ARM propose une variété de conditions de licence, dont le coût et les livrables varient. À tous les titulaires de licence, ARM fournit une description matérielle intégrable du cœur ARM, ainsi qu'un ensemble complet d'outils de développement logiciel et le droit de vendre du silicium fabriqué contenant le processeur ARM.
Personnalisation du silicium
Les fabricants de périphériques intégrés (IDM) reçoivent l' IP du processeur ARM sous forme de RTL synthétisable (écrit en Verilog ). Sous cette forme, ils ont la possibilité d'effectuer des optimisations et des extensions au niveau de l'architecture. Cela permet au fabricant d'atteindre des objectifs de conception personnalisés, tels qu'une vitesse d'horloge plus élevée, une consommation d'énergie très faible, des extensions du jeu d'instructions, des optimisations de taille, une prise en charge du débogage, etc. Pour déterminer quels composants ont été inclus dans une puce CPU ARM particulière, consultez la fiche technique du fabricant et la documentation associée.
Applications
Le Cortex-R est adapté aux systèmes contrôlés par ordinateur qui requièrent une très faible latence et/ou un niveau de sécurité élevé. Un exemple d'application critique en temps réel et en termes de sécurité serait un système de freinage électronique moderne dans une automobile. Le système doit non seulement être rapide et réactif à une multitude de données de capteurs, mais il est également responsable de la sécurité des personnes. Une défaillance d'un tel système pourrait entraîner des blessures graves, voire mortelles.
D'autres exemples d'applications critiques en temps réel et/ou en matière de sécurité incluent :
- Dispositif médical
- Contrôleur logique programmable (PLC)
- Unités de contrôle électronique (ECU) pour une grande variété d'applications
- Robotique
- Avionique
- Contrôle de mouvement