M-Profile Architectures

The Arm Microcontroller profile (M-profile) architecture targets deeply embedded systems. Applications range from battery powered devices that require very low power consumption to advanced image processing. The M-profile provides low-latency, highly deterministic operation that is ideal for time-sensitive processing.

 

Versions of the M-profile architecture include Armv8.1-M, Armv8-M, Armv7-M and Armv6-M.

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 (ML) and digital signal processing (DSP) performance. It implements the simplified programmer’s model of M-profile 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 ML 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: 

 

  • Pointer authentication and branch target identification (PACBTI) extension for enhanced security with new tools for software developers.
  • Helium – M-Profile Vector Extension (MVE) used in current Armv8.1-M based processors and 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.

Armv8-M

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.
  • Support for an optional MPU, based on PMSAv8.
  • 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, Cortex-M55 and Cortex-M85 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. Arm Custom Instructions for adding custom extensions to selected Cortex-M CPUs, including Arm Cortex-M33, Cortex-M55, and Cortex-M85 CPUs, without compromising access to Arm's software ecosystem.

Armv7-M

The Armv7-M architecture provides opportunities for simple pipeline 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

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

 

  • A lightweight version of the Armv7-M programmer 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.

Explore M-Profile Products

Computer Chip TSMC POY Award

Cortex-M processors provide low-latency and a highly deterministic operation optimized for cost and energy-efficient microcontrollers found in everyday consumer devices.

See Products

Resources

Other CPU Architectures

Arm Morello Program

Morello Program

Morello is a research program with the potential to radically change the way we design and program processors in the future to improve built-in security.

Learn More