SoC
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
  • Arm Cortex M3
  • Contact
Reading: Is the Cortex-M ARMv8?
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

Is the Cortex-M ARMv8?

Jeday Schwartz
Last updated: September 6, 2023 3:09 am
Jeday Schwartz 6 Min Read
Share
SHARE

The Cortex-M processor series from ARM is one of the most popular choices for embedded and IoT applications. With its balance of performance, power efficiency, and cost, Cortex-M has found its way into billions of devices. This has led many embedded developers to wonder – will Cortex-M transition to the newer ARMv8 architecture going forward?

Contents
Background on ARM ArchitecturesAdvantages of ARMv8Drawbacks of Transitioning Cortex-M to ARMv8Minimal Benefits for Microcontroller Class ApplicationsARMv8-M – A Possible Future DirectionConclusion

The quick answer is no, Cortex-M is expected to remain on the ARMv7-M architecture for the foreseeable future. While ARMv8 does bring certain advantages, the changes required to transition Cortex-M would likely offset any gains for microcontroller-class applications.

Background on ARM Architectures

To understand why Cortex-M is staying on ARMv7-M, it helps to first look at the different ARM architectures:

  • ARMv7-A – Application processors like Cortex-A series
  • ARMv7-R – Real-time processors like Cortex-R series
  • ARMv7-M – Microcontrollers like Cortex-M series
  • ARMv8-A – Latest application processors with 64-bit support

The Cortex-M series uses the ARMv7-M architecture which was designed specifically for embedded microcontrollers. It includes features like Thumb-2 instruction set, NVIC interrupt controller, SysTick timer, and debug support. The key aspects of v7-M are simplicity, efficiency, and low cost.

Advantages of ARMv8

The ARMv8-A architecture brought several major improvements for application processors:

  • 64-bit instruction set – Supports 64-bit addressing and data processing
  • Advanced SIMD – Improved NEON vector processing engine
  • Cryptography Extensions – Hardware acceleration for crypto algorithms
  • Virtualization Support – New hypervisor and virtualization features

For high-end application processors like Cortex-A series, these features provide significant performance and efficiency benefits. The 64-bit instruction set enables accessing larger memory regions and improved data processing. The other extensions provide hardware-level improvements for graphics, security, and virtualization.

Drawbacks of Transitioning Cortex-M to ARMv8

While the ARMv8 additions look compelling, transitioning Cortex-M to this architecture would require significant changes that may not be practical:

  • Instruction Set – Thumb vs ARMv8 A64. New instruction encodings, incompatible with ARMv7-M.
  • Memory System – ARMv8 has 4-level page tables. Cortex-M uses simpler MPU.
  • Interrupt Handling – New exception model. NVIC would need reworking.
  • Debug – Debug architecture is different. New Embedded Trace Macrocell.
  • Timing – Instruction timings would change. All code needs revalidation.

Essentially, migrating Cortex-M to ARMv8 would require redesigning and reimplementing major components like the CPU core, memory management, interrupts, debugging, and more. It would be nearly equivalent to creating a new microcontroller architecture ground-up.

Minimal Benefits for Microcontroller Class Applications

The key issue is that ARMv8’s features provide little benefit for simple microcontroller applications:

  • 64-bit Not Needed – Cortex-M address spaces are small enough for 32-bit.
  • No Performance Gain – In fact, 64-bit can be slower due to larger memory footprint.
  • Advanced SIMD Unnecessary – Cortex-M workloads don’t need intense vector processing.
  • Cryptography Usually Handled in Hardware – If needed, crypto accelerators added instead of ARMv8 extensions.
  • Virtualization Rarely Used – Hypervisors not common in microcontroller applications.

In other words, ARMv8 solves issues not faced by the microcontroller class of devices. The costs of transitioning Cortex-M to ARMv8 cannot be justified by any real benefits it would provide.

ARMv8-M – A Possible Future Direction

ARM recognizes that microcontrollers have different needs than application processors. To that end, they have announced an upcoming ARMv8-M architecture specifically targeting embedded and IoT devices.

ARMv8-M aims to bring select ARMv8 features while retaining compatibility with ARMv7-M:

  • Optional 64-bit Support – 64-bit registers and address space, while retaining ARMv7-M Thumb instruction set.
  • Enhanced Security Features – Improved hardware mitigations for emerging classes of vulnerabilities.
  • DSP Extension – New dual-issue DSP instructions for more signal processing performance.

By only bringing features beneficial for microcontrollers, ARMv8-M avoids a complete architecture redesign. This allows building on existing software investments while incrementally improving security, future-proofing address spaces, and boosting performance of emerging workloads. ARMv8-M maintains a focus on simplicity, determinism, and reliability needed for constrained devices.

Therefore, ARMv8-M seems like a potential future direction that retains ARMv7-M advantages while selectively adopting improvements from ARMv8. However, no specific timeline has been shared for ARMv8-M yet.

Conclusion

In summary, Cortex-M is highly optimized for embedded microcontrollers and is expected to stay on the ARMv7-M architecture. A full migration to ARMv8 does not make sense considering the required changes and lack of benefits for Cortex-M’s target applications. The upcoming ARMv8-M architecture does promise to bring incremental enhancements while maintaining compatibility with billions of lines of deployed Cortex-M code. So while ARMv8 features may trickle down, Cortex-M is firmly rooted in v7-M for now and the foreseeable future.

Newsletter Form (#3)

More ARM insights right in your inbox

 


Share This Article
Facebook Twitter Email Copy Link Print
Previous Article What Is the Architecture of the Arm Cortex-M3?
Next Article What is the difference between ARM Cortex-R and 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

Atomicity of 32-bit writes on ARM Cortex M3

The ARM Cortex M3 processor implements atomic 32-bit writes, meaning…

6 Min Read

What is the difference between LDR and STR arm?

ARM processors utilize load and store instructions to move data…

10 Min Read

Preventing Interrupt Nesting on Cortex-M using BASEPRI

The Cortex-M processor implements a scheme called "priority masking" to…

8 Min Read

What is the fastest Arm Cortex processor?

The fastest Arm Cortex processor currently available is the Cortex-A77.…

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

Sign in to your account