The Armv8-M architecture is optimized for deeply embedded systems. It implements a programmers’ model, designed for low-latency processing. It optionally implements a Memory Protection Unit (MPU), based on Protected Memory System Architecture (PMSA). It supports a variant of the T32 instruction set.
Major Features in Armv8-M
The Armv8-M architecture includes the following features:
- New system level programmers' model.
- Allows an optional MPU, based on PMSAv8.
- Supports only a subset of the T32 instruction set.
- Various architectural extensions to enable a high degree of flexibility in design and scalability.
- Arm Custom Instructions for adding custom extensions to Arm Cortex-M33 CPUs, without compromising access to Arm's software ecosystem.
Armv8-M has several optional architectural extensions. These are:
- The Main Extension. This provides backwards compatibility with Armv7-M and is required for the Floating-point and DSP Extensions.
- The Security Extension. This can also be referred to as Arm TrustZone for Armv8-M.
- The Floating-point Extension. This requires implementation of the Main Extension.
- The Debug Extension.
- The Digital Signal Processing (DSP) Extension. This requires implementation of the Main Extension.
- Arm Custom Instructions. This provides the ability to add custom extensions to Arm Cortex-M processors.