ARM Cortex-M processors are a range of low-power microcontrollers designed for embedded and Internet of Things (IoT) applications. There are currently 8 main families of Cortex-M processors, each optimized for different use cases.
Cortex-M0/M0+
The Cortex-M0 and Cortex-M0+ are ARM’s smallest and lowest power microcontrollers. They are designed for simple, low-cost embedded applications where power consumption is critical. Key features:
- 32-bit RISC architecture
- Up to 48MHz clock speed
- 2-stage pipeline
- No floating point unit
- Memory Protection Unit (MPU) for basic memory protection
- As low as 9.2 μA/MHz power consumption
Due to their minimalist design, Cortex-M0/M0+ chips have a small silicon footprint and low cost. They are commonly used in simple sensors, wearables, toys, and other cost-sensitive devices.
Cortex-M1
The Cortex-M1 is a variant of the Cortex-M0+ designed specifically for Field Programmable Gate Arrays (FPGAs). It has the same CPU architecture but removes unneeded peripherals to reduce logic resource usage. Key features:
- Optimized for implementation in FPGAs
- Same Cortex-M0+ CPU and memory architecture
- Smaller overall footprint by removing unnecessary peripherals
FPGA manufacturers like Intel (formerly Altera) and Xilinx offer Cortex-M1 cores optimized for their FPGAs. It enables creating custom embedded soft processor cores for FPGAs.
Cortex-M3
The Cortex-M3 improves performance over the M0/M0+ for more demanding embedded applications. It adds a number of features while still focusing on power efficiency. Key features:
- 32-bit RISC architecture
- Up to 200MHz clock speed
- 3-stage pipeline
- Embedded Trace Macrocell (ETM) for real-time tracing
- Memory Protection Unit (MPU)
- Optional Floating Point Unit (FPU)
- As low as 9.1 μA/MHz power consumption
The Cortex-M3 is popular for a wide range of embedded devices including automotive tech, robotics, industrial control, and consumer electronics.
Cortex-M4
The Cortex-M4 keeps the M3 foundation but adds a range of digital signal processing (DSP) capabilities. This makes it well-suited for more advanced real-time embedded algorithms. Key features:
- Compatible instruction set to Cortex-M3
- Up to 225MHz clock speed
- Optional floating point unit (single precision)
- Optional DSP extensions for digital signal processing
- DSP acceleration with SIMD instructions
- Saturation arithmetic
- As low as 9.4 μA/MHz power consumption
The Cortex-M4 is popular for motor control, industrial automation, robotics, and other DSP intensive applications. The DSP capabilities allow for processing complex algorithms more efficiently.
Cortex-M7
The Cortex-M7 represents ARM’s highest performance and most complex microcontroller. It is designed for applications requiring a full feature set and high speed capabilities. Key features:
- 32-bit RISC architecture
- Up to 300MHz clock speed
- 6-stage dual-issue superscalar pipeline
- Floating point unit (single and double precision)
- Optional SIMD and DSP extensions
- Large memory addressing capabilities
- Memory Protection Unit (MPU) and TrustZone security
- As low as 75 μA/MHz power consumption
The exceptional performance enables advanced capabilities like 3D graphics, natural language processing, computer vision, and sensor fusion. It is used in high-end industrial, automotive, aerospace, and defense systems.
Cortex-M23
The Cortex-M23 is a microcontroller focused on high-efficiency and a small memory footprint. It is meant for ultra-constrained embedded applications. Key features:
- 32-bit RISC architecture
- Up to 50MHz clock speed
- 2-stage pipeline
- No memory protection
- 8kB embedded SRAM
- As low as 28 μA/MHz power consumption
With its tiny size and minimal power draw, the M23 excels at non-compute focused tasks like monitoring, sensing, and control. It is meant for hearing aids, fitness bands, smart meters, and other low-power devices.
Cortex-M33
The Cortex-M33 improves security and machine learning capabilities compared to prior microcontrollers. It adds features specifically for IoT and embedded AI. Key features:
- 32-bit RISC architecture
- Up to 166MHz clock speed
- Built-in security with Arm TrustZone
- DSP acceleration and SIMD instructions
- Floating point unit (single precision)
- Hardware accelerators for ML algorithms
- As low as 40 μA/MHz power consumption
The integrated machine learning hardware combined with security features make the M33 well suited for IoT devices performing analytics at the edge. It is used in smart home tech, industrial IoT, and medical devices.
Cortex-M35P
The Cortex-M35P has all the capabilities of the M33 but is configured specifically for microcontroller products using FPGAs or other programmable logic. Key features:
- Optimized for programmable logic like FPGAs
- Same feature set as Cortex-M33
- Tight coupling with programmable logic
- High speed custom interfaces to programmable logic
For chip makers using programmable logic, the M35P provides an efficient and hardened processor system to pair with their custom logic fabric. It is designed for ease of integration and high performance.
In summary, the Cortex-M family covers a wide span of capabilities to meet diverse embedded application requirements. The M0/M0+ offer a simple low-power CPU, while M3/M4 add more performance and peripherals. M7 provides the highest performance ARM microcontroller. More recent M23, M33, and M35P address specialized use cases like machine learning, security, and coupling with programmable logic.
With this range of options, device manufacturers can choose the right level of features, performance, and power efficiency for their specific embedded system needs.