Differences Among Arm® Cortex® Families

Differences Among Arm® Cortex® Families

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.

Arm Cortex M

The Cortex Microcontroller (Cortex M) family of microcontrollers target 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.

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+.

Arm Cortex M7

Cortex M7 devices add double-precision FPU’s 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.

Arm Cortex R

The Cortex Real-time (Cortex R) devices are dual-core devices. These devices are a great fit in 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.

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.

Overview of Arm Family Devices

Coretx M Coretx M3 and M4 Cortex M7 Cortex R Cortex A
Lower-cost embedded application Share same architcture Double precision FPU Dual-core High end applications, including: video processing and bandwidth-intensive applications
M0+ faster performance, lower power Run 3-5x faster than M0+ Additional memory access that allows for faster memory reads Good fit for automotive applications Run on real-time operating systems
Secures code via memory protection Allows for better DSP Can access multiple instructions at one time "Lockstep" devices — both cores run the same set of instructions for fault-tolerant code Frequently used with Linux
M0+ has lower sleep currents and lower power modes Option 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
© 2019 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.