The ARM Cortex series of microcontroller units (MCUs) and microprocessors (MPUs) are central processing units (CPUs) based on the ARM instruction set architecture. The Cortex series is designed and licensed by ARM Holdings for use in embedded systems, mobile devices, wearables, and other low-power electronics.
The Cortex series is divided into several families optimized for different use cases. The two most popular families are the Cortex-M series designed for microcontrollers and the Cortex-R series for real-time applications.
ARM Cortex-M Series
The Cortex-M series targets the microcontroller market and is designed for low cost, low power, and ease of use. Key features of Cortex-M CPUs include:
- In-order execution pipeline for low power
- Thumb-2 instruction set for improved code density
- NVIC for handling interrupts and exceptions
- Integrated sleep modes and power management
- Memory protection unit for system security
- Debug and trace support for software development
The Cortex-M series scales from the ultra low-power Cortex-M0/M0+ for simple IoT edge nodes to the Cortex-M4 for more complex embedded applications. There are over 35 different Cortex-M variants optimized for different performance, power, and cost targets.
Popular Cortex-M microcontrollers include:
- STM32 series from STMicroelectronics
- Kinetis K and L series from NXP
- MAX32600 from Maxim Integrated
- nRF52 series from Nordic Semiconductor
Cortex-M MCUs are designed to be easy to use with extensive ecosystem support. They feature a simple memory map, fast interrupts, and single cycle I/O for interfacing peripherals and sensors. Cortex-M achieves good real-time responsiveness while maintaining low static and dynamic power consumption.
ARM Cortex-R Series
The Cortex-R series is designed for high-performance real-time applications such as automotive control, robotics, industrial control, aerospace, and communications infrastructure. Key features of Cortex-R CPUs include:
- Superscalar out-of-order pipeline for high performance
- Optional floating point and DSP extensions
- Deterministic real-time response and interrupt handling
- Lock-step cores for safety critical systems
- ECC protected memories for reliability
- Memory management unit for full OS support
The Cortex-R series includes single and multicore variants up to the Cortex-R82 with 8 cores. Cortex-R delivers hard real-time capabilities combined with high computational performance for complex embedded software.
Popular Cortex-R processors include:
- NXP QorIQ T2080 for networking
- Renesas R-Car H3 for automotive
- Xilinx Zynq UltraScale+ MPSoC
- Qualcomm Snapdragon Ride Platform
Cortex-R supports demanding real-time control tasks with microsecond interrupt response times. Features like memory protection, lock-step cores, and ECC help meet safety and reliability requirements. The high performance enables running complex software like neural networks locally on the Cortex-R processor.
Cortex-M vs Cortex-R Comparison
Here is a detailed feature comparison between the Cortex-M and Cortex-R series:
|Intended Use||Microcontrollers||Real-time Applications|
|Pipeline Type||In-order||Out-of-order superscalar|
|Instruction Set||Thumb-2||ARMv7/8-A 32/64-bit|
|Clock Speed||Up to 400 MHz||Up to 3 GHz|
|Memory Architecture||Von Neumann||Harvard or Modified Harvard|
|Floating Point||Optional VFP||Optional FPU|
|DSP Extensions||Optional DSP||Optional SVE|
|Power Consumption||Ultra Low Power||Medium Power|
|Software||RTOS, Baremetal||Full OS, Hypervisors|
In summary, Cortex-M is designed for low cost and low power microcontroller applications with basic real-time needs. Cortex-R is optimized for high-performance deterministic real-time control with advanced features like virtualization support.
Here are some of the most significant differences between the Cortex-M and Cortex-R series:
- Pipeline Architecture: Cortex-M uses an in-order pipeline optimized for low power while Cortex-R uses an out-of-order superscalar pipeline for maximum performance.
- Intended Use: Cortex-M targets cost-sensitive embedded applications while Cortex-R is focused on high-end real-time control.
- Performance: Cortex-M provides good real-time responsiveness up to hundreds of MHz while Cortex-R offers deterministic real-time guarantees up to GHz speeds.
- Power: Cortex-M is ultra low power for battery operated devices while Cortex-R consumes higher power but enables advanced capabilities.
- Features: Cortex-M has basic features for microcontrollers while Cortex-R includes advanced capabilities like virtualization, lock-step cores, ECC, etc.
- Software: Cortex-M can run RTOS and baremetal code while Cortex-R supports full operating systems like Linux.
In summary, Cortex-M focuses on low-cost and low-power microcontroller applications while Cortex-R is designed for advanced high-performance real-time systems.
ARM offers two CPU families optimized for different classes of embedded and real-time applications:
- Cortex-M series for cost and power sensitive microcontrollers
- Cortex-R series for demanding high-performance real-time systems
Cortex-M offers good real-time responsiveness with very low power and cost starting from the Cortex-M0. Cortex-R provides guaranteed hard real-time performance and advanced capabilities for complex software.
Engineers should select either Cortex-M or Cortex-R based on their application requirements, performance needs, software complexity, and cost constraints. Both families provide processors scalable for a wide range of embedded and real-time use cases.