The Arm Cortex-M is a range of 32-bit microcontroller CPU cores licensed by Arm Holdings. Since 2004, Arm has released multiple generations of the Cortex-M cores, each adding new features and improvements in performance, power efficiency, and memory protection capabilities. The Cortex-M cores are designed for embedded and Internet of Things applications where low power consumption, real-time responsiveness, and security are critical requirements.
The Cortex-M0 and Cortex-M0+ were the first mainstream microcontroller cores in the Cortex-M family, released in 2008 and 2011 respectively. The M0 and M0+ offer very small silicon area requirements making them suitable for cost-sensitive and size-constrained embedded applications. Key features include:
- 32-bit ARMv6-M architecture
- Up to 48 MHz maximum clock frequency
- 2-stage pipeline
- No floating point unit (FPU)
- Memory Protection Unit (MPU)
- Embedded Trace Macrocell (ETM) for debugging
The Cortex-M0+ brought minor enhancements over the M0 like higher clock speeds, single-cycle I/O port access, and bit-banding technology for atomic bit manipulation. These entry-level cores are popular in simple IoT devices, wearables, motor control, and automation applications where performance requirements are modest.
The Cortex-M1 was announced in 2009 positioning it above the M0 but below the M3. Key improvements included:
- Faster 66 MHz operation
- 3-stage pipeline vs 2-stage in M0
- Optional VFPv4-SP single precision FP unit
- Memory protection extensions
- IT instruction for conditional execution
However, Arm discontinued the M1 to streamline their Cortex-M roadmap. There was limited adoption in the market with few commercial chip designs using the M1 core.
First released in 2004, the Cortex-M3 was the original core that launched the M-series family. It set the standard for performance and energy efficiency in microcontroller applications. Major features included:
- Up to 150 MHz maximum clock frequency
- 3-stage pipeline
- Optional single precision floating point unit
- Memory Protection Unit
- Wakeup Interrupt Controller
- Nested Vectored Interrupt Controller
The combination of DSP-like capabilities with low power consumption made the M3 widely popular in motor control, industrial automation, and digital power conversion applications. It continues to have a long life span with silicon vendors still releasing new M3-based chips.
The Cortex-M4 brought DSP/floating point enhancements to the M-series with its release in 2010:
- Optional single precision floating point unit (FPU)
- Optional double precision FPU
- Optional DSP extensions for efficient signal processing
- SIMD instructions for parallel data processing
- Saturation arithmetic support
- Up to 225 MHz maximum clock frequency
The vector DSP capabilities made the M4 well suited to motor control, power conversion, and industrial applications. The M4 also expanded software support with the addition of a hardware floating point unit. Many chip vendors continue to use the M4 core due to its maturity and software compatibility.
In 2015, Arm announced the Cortex-M7 aimed at more demanding embedded applications in automation, automotive, and IoT markets. Notable improvements were:
- Dual-issue pipeline for higher execution efficiency
- L1 instruction cache for deterministic real-time performance
- Up to 300 MHz maximum clock frequency
- Optional floating point unit and DSP extension
- ECC on memories for higher reliability
- Memory Protection Unit with eight protected regions
The dual-issue pipeline allows the M7 core to execute multiple instructions per cycle leading to significant performance gains. The M7 brought Cortex-M into applications requiring microcontroller capabilities beyond what the M3 and M4 could efficiently achieve.
In 2016, Arm announced the Cortex-M23 and Cortex-M33 cores which added capabilities targeting IoT endpoint devices. Highlights include:
- TrustZone security extensions for trusted execution
- Optional Memory Protection Unit with eight protected regions
- New Application Level Interrupt and Control (ALIC) module
- Up to 50 MHz operation (M23) or 100 MHz operation (M33)
- DSP and floating point options
The M23 and M33 cores enable even the smallest microcontrollers to have advanced security features like TrustZone and crypto acceleration. This protects connected IoT devices from vulnerabilities. The M33 combines security with DSP capabilities useful for industrial IoT applications.
Unveiled in 2021, the Cortex-M35P microarchitecture focuses on machine learning capabilities for endpoint devices. Key capabilities are:
- Helium vector processing extensions for AI inferencing
- Up to 15x improvement in ML performance per MHz compared to M33
- DSP and floating point options available
- TrustZone and memory protection unit
- Time-deterministic execution for real-time applications
The Cortex-M35P brings machine learning inference into mainstream microcontroller applications allowing devices to make intelligent decisions locally. The combination of security and ML performance makes the M35P suitable for next-generation endpoint products.
Announced in late 2020, the Cortex-M55 focuses on capabilities needed for next-generation automobile systems:
- Dual-issue cores enabling deterministic symmetric multi-processing
- Up to 1 GHz clock frequency per core
- Reliable lock-step processing for functional safety systems
- Application-level memory integrity protection
- Cache coherent bus fabric for efficient multi-core SoC integration
Automotive applications demand additional determinism, reliability, and performance not served by earlier M-series cores. The M55 will allow more critical vehicle systems to transition to Cortex-M processors in the future.
Arm’s Cortex-M series spans from ultra low-power microcontrollers like the M0/M0+ up to high-performance automotive processors like the M55. With each generation, Arm has added capabilities around machine learning, functional safety, security, and real-time performance. This evolution has enabled Cortex-M to scale into new embedded applications not previously served by microcontrollers. The wide range of M-series cores allows chip companies to design competitive Arm-based products targeting different segments of the embedded market.