Differences Between Arm® Cortex® Families

Last modified by Microchip on 2023/11/09 09:01

Summary

The different Arm® Cortex® families are tailored for many varied client applications. All Arm devices are 32-bit micros. However, each device contains specific functions that can enhance a client’s product based on the client’s application.

Back to top

Arm® Cortex® M

The Cortex Microcontroller (Cortex M) family of microcontrollers targets lower-cost embedded applications. The M0+ family adds faster performance and lower power compared to the M0 microcontrollers. The M0+ instruction pipeline is streamlined to allow faster performance. If required by the user, the Cortex M devices can enable memory protection, allowing for more secure code. The memory protection can be set up so certain peripherals and processes are segmented to separate critical memory. M0+ devices also have features that allow lower sleep currents and low power modes. Also, the M0+ devices add single-cycle I/O functionality that allows bit toggling like what is found in an 8-bit microcontroller.

Back to top

Arm Cortex M3 and M4

The Cortex M3 and the Cortex M4 device share the same architecture. The M4 adds instructions that allow for better Digital Signal Processing (DPS) functionality. Additionally, the M4 devices give the option for a hardware Floating Point Unit (FPU). The FPU performs complex, floating-point math operations in hardware rather than in software. Software floating-point routines take much more time to implement than a hardware FPU. The M3 and M4 devices can operate at speeds that are three to five times faster than the M0+.

Back to top

Arm Cortex M7

Cortex M7 devices add double-precision FPUs and additional memory access, which permits a faster memory read. They can also access multiple instructions at the same time and can better predict branch instructions to improve instruction execution times. Compared to M4 devices, M7 devices can operate at speeds that are twice as fast and are more efficient at code execution.

Back to top

Arm Cortex R

The Cortex Real-time (Cortex R) devices are dual-core devices. These devices are a great fit for automotive applications that require redundant cores to monitor safety-critical applications. The Cortex-R devices are sometimes referred to as “lockstep” devices because both cores can run the same set of instructions in parallel, which incorporates code that is extremely fault-tolerant.

Back to top

Arm Cortex A

Finally, the Cortex Application (Cortex A) family of devices are for high-end applications, which run real-time operating systems. Cortex A devices frequently use Linux operating systems. Additionally, they usually run high-end applications such as video processing or other bandwidth-intensive applications. They are used with external flash and RAM.

Back to top

Overview of Arm Family Devices

Coretx MCoretx M3 and M4Cortex M7Cortex RCortex A
Lower-cost embedded applicationShare same architctureDouble precision FPUDual-coreHigh-end applications, including video processing and bandwidth-intensive applications
M0+ faster performance, lower powerRun 3-5x faster than M0+Additional memory access that allows for faster memory readsGood fit for automotive applicationsRun on real-time operating systems
Secures code via memory protectionAllows for better DSPCan access multiple instructions at one time"Lockstep" devices — both cores run the same set of instructions for fault-tolerant codeFrequently used with Linux
M0+ has lower sleep currents and lower power modesOption for FPU (hardware)Can better predict branch instructions, improves instruction execution time Used with external flash and RAM
M0+ allows bit toggling Operate at speeds 2x faster than M4  
  More efficient at code execution compared to M4  

Back to top