The Arm CPU architecture uses state-of-the-art microarchitecture techniques to support a broad range of performance points, including small implementations of Arm processors and efficient implementations of advanced designs.
- The CPU architecture defines the basic instruction set, as well as the exception and memory models that are relied upon by the operating system and hypervisor.
- The CPU microarchitecture determines how an implementation meets the architectural contract. The microarchitecture defines the processor's power, performance and area by determining the pipeline length, levels of cache and so on.
The Arm CPU architecture was originally based upon Reduced Instruction Set Computer (RISC) principles and incorporated:
- A uniform register file, where instructions were not restricted to acting on specific registers.
- A load/store architecture, where data processing operated only on register contents, and not directly on memory contents.
- Simple addressing modes, where all load/store addresses were only determined from register contents and instruction fields.
Over time, the Arm architecture has evolved, with new features to meet the needs of new and emerging markets, and to improve functionality, security, and performance.
The latest M-Profile architecture is the Armv8.1-M, an extension of the current Armv8-M architecture. It brings many new features, including a new general-purpose vector extension for signal processing applications, called M-Profile Vector Extension (MVE). In Arm Cortex-M processors, MVE is named Helium. Further to MVE, there are many other architectural enhancements.
Key benefits of the Arm architecture are implementation size, security, performance, low-power consumption, and an ecosystem providing global support.
There are three architecture profiles: A, R and M.
- A-Profile (Applications) is used in complex compute application areas, such as servers, mobile phones and automotive head units.
- R-Profile (Real-Time) is used where real-time response is required. For example, safety critical applications or those needing a deterministic response, such as medical equipment or vehicle steering, braking and signaling.
- M-Profile (Microcontroller) is used where energy efficiency, power consumption and size are important. M-Profile is especially suitable for deeply-embedded chips. Recently, simple IoT devices have become a key application of M-Profile CPUs. For example, in small sensors, communication modules and smart home products.
The Arm architecture is supported by built-in debug and visibility tooling.
The different architecture profiles and version numbers are written as Armv8-A, Armv7-R, Armv6-M. A, R and M refer to the relevant architecture profiles and 6, 7 and 8 refer to the different versions of the architecture. Arm IP has a separate product number.
Optimized for high-level operating systems.
Optimized for real-time high-performance applications.
Optimized for discrete processing and microcontrollers.
Debug and Trace
Debug visibility and trace for A-, R- and M-Profiles.
Arm Custom Instructions
Arm Custom Instructions support the intelligent and rapid development of fully integrated custom CPU instructions without software fragmentation