SoC
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
  • Arm Cortex M3
  • Contact
Reading: What is ARMv8-M in Arm Cortex-M series?
SUBSCRIBE
SoCSoC
Font ResizerAa
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Search
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Have an existing account? Sign In
Follow US
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
© S-O-C.ORG, All Rights Reserved.
Arm

What is ARMv8-M in Arm Cortex-M series?

Scott Allen
Last updated: September 17, 2023 1:27 pm
Scott Allen 6 Min Read
Share
SHARE

ARMv8-M refers to the latest architecture version of the Cortex-M series of 32-bit microcontrollers designed by ARM. It builds upon previous versions like ARMv6-M and ARMv7-M by adding support for newer features like TrustZone for Cortex-M and v8-M Security Extensions.

Contents
Background on ARM Cortex-M SeriesHistory of Cortex-M ArchitecturesARMv8-M Main FeaturesTrustZone for Cortex-Mv8-M Security ExtensionsNew Instruction Set ExtensionsEnhanced Memory Protection Unit (MPU)Improved Debugging and TracingNew Exception and Interrupt ModelOther EnhancementsARMv8-M AdoptionConclusion

Background on ARM Cortex-M Series

The Cortex-M series is ARM’s range of 32-bit microcontroller cores. They are designed for embedded and IoT applications requiring real-time responsiveness, low cost, and low power consumption. The Cortex-M cores are simpler than the Cortex-A series used in mobile SoCs but still include advanced features like Thumb-2 instruction set, NVIC interrupt controller, and optional FPU.

Some key attributes of Cortex-M cores:

  • 32-bit RISC architecture
  • Thumb-2 instruction set for improved code density
  • Up to 16 priority levels in NVIC interrupt controller
  • Integrated sleep modes for low power
  • Memory Protection Unit (MPU) for security
  • Tightly-coupled memories for deterministic real-time performance

The Cortex-M series is split into three main groups based on increasing performance and capabilities:

  • Cortex-M0/M0+ – Ultra low power IoT endpoints
  • Cortex-M3/M4/M7 – Feature-rich MCUs for industrial, auto, and consumer apps
  • Cortex-M23/M33 – Microcontrollers with DSP capabilities

History of Cortex-M Architectures

ARM has iterated on the Cortex-M architecture over the years, with each version adding new features:

  • ARMv6-M – Initial version supporting Thumb-2, NVIC, and optional FPU
  • ARMv7-M – Added more Thumb-2 instructions, enhanced debug, and more MPU regions
  • ARMv8-M Baseline – Mandatory MPU, improved exception model, more debugging features
  • ARMv8-M Mainline – Additional features like TrustZone for Cortex-M and Branch Target Identification (BTI)

The ARMv6-M and ARMv7-M architectures target all Cortex-M cores. ARMv8-M is split into Baseline and Mainline versions, with Baseline targeting the Cortex-M0/M0+/M1 and Mainline targeting Cortex-M23 and above.

ARMv8-M Main Features

Let’s look at some of the major features introduced in ARMv8-M for Cortex-M cores:

TrustZone for Cortex-M

TrustZone divides the processor into secure and non-secure states. The secure state has full access while the non-secure state can only access permitted resources. This allows isolation of critical code and data like cryptography keys.

Cortex-M23 and M33 cores have TrustZone support. The MPU and system control registers determine which memory regions are accessible in non-secure state.

v8-M Security Extensions

Building on TrustZone, the v8-M Security Extensions add additional hardware security capabilities like:

  • Secure state debugging disable
  • Cryptography extensions
  • Random number generator
  • Hardware entropy source
  • True random number generator

This improves security for technologies like secure boot, authentication, encryption, and anti-tampering.

New Instruction Set Extensions

ARMv8-M expands the Thumb-2 instruction set with new instructions for DSP and floating point acceleration. These include:

  • Half-precision floating point (FP16)
  • Single instruction, multiple data (SIMD)
  • Saturated math operations
  • Bitfield manipulation
  • Hardware division for Cortex-M cores without FPU

The additional DSP instructions boost performance for applications like machine learning, audio processing, and computer vision.

Enhanced Memory Protection Unit (MPU)

The MPU defines memory access permissions in Cortex-M cores. ARMv8-M makes the MPU mandatory and increases minimum region count from 8 to 12.

MPU enhancements provide finer-grained control over memory access rights. This improves security for multithreaded apps and防止外部代码/数据损坏其他模块。

Improved Debugging and Tracing

ARMv8-M includes several improvements for debugging and tracing complex software on Cortex-M cores, such as:

  • More breakpoints and watchpoints
  • Cross-triggering to link events to actions
  • Embedded Trace Macrocell (ETM) upgrades
  • Profiling counters
  • Support for third-party trace IPs

These features help accelerate testing and certification of safety-critical designs.

New Exception and Interrupt Model

The exception and interrupt handling model is upgraded in ARMv8-M with features like:

  • Up to 496 interrupt priority levels
  • Shorter interrupt latency
  • More flexibility in tail-chaining exceptions
  • Deferred preemption for quicker ISR entry

The improved exception model allows Cortex-M processors to meet strict real-time requirements while running complex software stacks.

Other Enhancements

ARMv8-M also brings other enhancements like:

  • Faster unprivileged execution
  • Branch Target Identification (BTI) for control flow integrity
  • Higher performance bus interfaces like AMBA 5 CHI
  • Safer C programming model with bounds checking

ARMv8-M Adoption

ARMv8-M has seen rapid uptake since its release in 2015. Some of the Cortex-M cores leveraging the v8-M architecture include:

  • Cortex-M23 – Microcontroller for embedded and IoT apps
  • Cortex-M33 – MCU with DSP and FPU for advanced audio and ML workloads
  • Cortex-M35P – First Cortex-M core with dual-core lockstep for functional safety
  • Cortex-M55 – High-end industrial MCU with multicore DSP+FPU
  • Cortex-M85 – New automotive MCU for zone control and computational storage

These new cores enable breakthrough capabilities in application areas like machine learning, digital signal processing, computer vision, and functional safety.

Conclusion

ARMv8-M represents a major evolution of the Cortex-M architecture. It expands the feature set with TrustZone, DSP instructions, enhanced security, and real-time capabilities. Leading-edge Cortex-M cores like Cortex-M33 and M55 now leverage ARMv8-M to meet the needs of innovative embedded and IoT designs across a diverse range of markets.

Newsletter Form (#3)

More ARM insights right in your inbox

 


Share This Article
Facebook Twitter Email Copy Link Print
Previous Article What is ARMv7E-M in Arm Cortex-M series?
Next Article What is ARMv8.1-M in Arm Cortex-M series?
Leave a comment Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

2k Followers Like
3k Followers Follow
10.1k Followers Pin
- Sponsored-
Ad image

You Might Also Like

How to get started with ARM Cortex-M and RTOS?

The ARM Cortex-M series of microcontrollers are extremely popular in…

9 Min Read

What is Data Cache in Arm Cortex-M series?

The data cache in Arm Cortex-M series microcontrollers is a…

9 Min Read

Copying Information to EEPROM with Cortex M0+

The Cortex-M0+ is an ultra-low power 32-bit ARM Cortex-M processor…

8 Min Read

What is the difference between NVIC and GIC in ARM?

ARM processors utilize interrupts extensively to handle events and peripherals.…

9 Min Read
SoCSoC
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
Welcome Back!

Sign in to your account