R-Profile Architectures

Arm produces a whole family of processors that share common instruction sets and programmer’s models and have some degree of backward compatibility. The Real-time (‘R’) profile provides high-performing processors for safety-critical environments.

Armv8-R Architecture

The Armv8-R architecture is the latest generation Arm architecture targeted at the Real-time profile. It introduces virtualization at the highest security level while retaining the Protected Memory System Architecture (PMSA) based on a Memory Protection Unit (MPU). It supports the A32 and T32 instruction sets.

Major Features for Engineers in Armv8-R

The Armv8-R architecture introduces a number of features that allow you to design and implement high-performing processors for safety-critical environments. These include:

  • No overlapping memory regions.
  • New exception model that is compatible with the Armv8-A model.
  • Virtualization with support for guest operating systems.
  • Optionally, support for double-precision floating-point and Advanced SIMD.

Armv8-R AArch64 is the latest R-Profile architecture that adds 64-bit execution capability and up to 48-bit physical addressing to the classic Arm real-time processor architecture. Armv8-R AArch64 includes optional Arm Neon technology, an advanced Single Instruction Multiple Data (SIMD) architecture extension to significantly accelerate machine learning workloads. For improved security, the Armv8-R AArch64 supports three Exception Levels (ELs) for compatibility with TrustZone-based systems.

Armv7-R Architecture

The Armv7-R architecture implements a traditional Arm architecture with multiple modes and supports a Protected Memory System Architecture (PMSA) based on a Memory Protection Unit (MPU). It supports the Arm (32) and Thumb (T32) instruction sets.

Architectural extensions

This architecture supports several extensions. These are:

  • Multiprocessing Extensions. These are an optional set of extensions that provide a set of features that enhance multiprocessing functionality.
  • Generic Timer Extension. This is an optional extension that provides a system timer and a low-latency register interface to it.
  • Performance Monitors Extension. This extension defines a recommended performance monitors implementation and reserves register space for performance monitors.