M-Profile Architectures

Arm produces a whole family of processors that share common instruction sets and programmer models and have some degree of backward compatibility. The Microcontroller (‘M’) profile provides low-latency, highly deterministic operation for deeply embedded systems.


Armv8.1-M

Armv8.1-M takes the Armv8-M architecture to new performance levels without compromising the ease of software development and the richness of Arm’s third-party ecosystem. The new architecture includes the M-Profile Vector Extension (MVE) that provides major uplift in levels of machine learning and signal processing performance. It implements the simplified programmer’s model of Cortex-M processors, to bring advanced compute capabilities to millions of developers. In Arm Cortex-M processors, MVE is named Arm Helium technology. The architecture also enhances system-wide security with Arm TrustZone.

Major Features in the Armv8.1-M architecture

The Armv8.1-M architecture includes the following features:

  • An efficient vector processing capability that accelerates signal processing and machine learning algorithms called MVE.
  • Additional data types support in vector extension: half-precision floating point (FP16) and 8-bit integer (INT8).
  • Low overhead loops.
  • Gather load, scatter store memory access.
  • Additional debug features, including a Performance Monitoring Unit, tailoring for DSP software development, and a debug extension to support multiple security domains in debug.

Architectural Extensions

Armv8.1-M has several optional new architectural extensions. These are:

  • Helium – M-Profile Vector Extension used in future Arm Cortex-M processors.
  • Low overhead branch extension.
  • Privileged eXecute Never (PXN) extension for Memory Protection Unit (MPU).
  • Reliability, Availability and Serviceability (RAS) extension.
  • Additional extensions for debug features.
Learn more

Armv8-M

Armv8-M Architecture

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.

Architectural Extensions

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.

Armv7-M Architecture

The Armv7-M architecture provides opportunities for simple pipleline designs offering system performance levels across a broad range of markets and applications. It offers low cycle count execution, minimal interrupt latency and cacheless operation, and is designed for deeply embedded systems. It supports a variant of the T32 instruction set, and is designed for implementations where overall size and deterministic operation are more important than absolute performance.

Armv7-M has some optional architectural extensions. These are:

  • The DSP Extension.
  • The Floating-point Extension.

Armv6-M Architecture

The Armv6-M architecture is a subset of Armv7-M, and provides:

  • A lightweight version of the Armv7-M programmers' model.
  • The Debug Extension that includes architecture extensions for debug support.
  • Support for the T32 instruction set.
  • Upward compatibility with Armv7-M - application level and system level software developed for Armv6-M can execute unmodified on Armv7-M.

Armv6-M has some optional architectural extensions. These are:

  • The Unprivileged/Privileged Extension. This allows Armv6-M systems to use the same privilege levels as Armv7-M.
  • The PMSA Extension. This requires implementation of the Unprivileged/Privileged Extension.