ARM processors power billions of devices around the world. From smartphones to smartwatches, ARM chips provide the processing power for many of our everyday gadgets. Understanding the ARM Cortex numbering scheme is key to identifying capabilities and features of ARM-based systems.
ARM Cortex series processors are grouped into three main families – Cortex-A, Cortex-R, and Cortex-M. Each family targets different application use cases:
- Cortex-A – Application processors for running complex operating systems like Android or Linux. Used in smartphones, tablets, smart TVs, etc.
- Cortex-R – Real-time processors for time-critical embedded systems that require deterministic response. Used in automotive powertrain control systems, industrial robotics, etc.
- Cortex-M – Microcontroller processors for cost-sensitive and power-constrained embedded applications. Used in wearables, home automation, IoT edge nodes, etc.
The Cortex-A series targets high-performance application processor use cases. Cortex-A processors are capable of running complex operating systems like Android, Linux, Windows, and can handle multitasking workloads. Key features of Cortex-A processors include:
- Advanced multi-core designs up to 8 cores
- L1 and L2 cache support
- SIMD and FPU engines
- Virtualization extensions
- Coherent interconnects for cache coherency in multi-core designs
Some examples of Cortex-A processors include:
- Cortex-A5 – Single core ultra low power processor for basic smartphones
- Cortex-A9 – Dual core application processor targeting smartphones and tablets
- Cortex-A15 – High performance dual core processor capable of 2.5 GHz clock speeds
- Cortex-A53 – High efficiency quad core 64-bit processor
- Cortex-A73 – Latest generation octa-core 64-bit processor for premium devices
The Cortex-A series naming convention follows an incremental numbering scheme. Higher numbered Cortex-A processors generally indicate newer and higher performance designs. For example, a Cortex-A73 will outperform a Cortex-A53 in most workloads despite the numbering being non-sequential.
Within a Cortex-A family, incremental suffixes indicate minor variations or next-generation iterations of a processor design. For example, a Cortex-A72 and Cortex-A72.1 are very similar designs, with the latter having minor performance improvements.
Cortex-A Version Numbers
Here is an overview of key Cortex-A processors and their capabilities correlated to the version number:
- Cortex-A5 – Basic single-core Cortex-A processor for entry-level smartphones. Targets low-cost and ultra power efficient designs.
- Cortex-A8 – First superscalar single-core Cortex-A processor. Introduced out-of-order execution capabilities.
- Cortex-A9 – First multi-core Cortex-A processor, up to 4 cores. Better branch prediction and floating point/SIMD capabilities.
- Cortex-A15 – First 40nm high performance processor aiming up to 2.5GHz clock speeds. Aggressive performance optimizations.
- Cortex-A53 – First 64-bit Cortex-A processor. Highly optimized for power efficiency.
- Cortex-A73 – Latest generation premium mobile processor with extensive performance optimizations.
As seen above, larger version numbers typically coincide with major microarchitectural advancements and new feature capabilities for the Cortex-A series. Small decimal differences (A72 vs. A72.1) indicate bug fix revisions or minor performance tuning.
The Cortex-R series targets real-time embedded control systems that require deterministic timing behavior. Cortex-R processors are designed to provide reliable and predictable performance for time-critical tasks. Key attributes include:
- In-order pipeline without speculative execution
- Deterministic interrupt latencies
- Architectural support for lock-stepped multi-core operation
- Integrated safety mechanisms and reliability features
Cortex-R processors are used in various real-time safety-critical embedded systems such as:
- Automotive engine/transmission control units
- Industrial robotics and motion control systems
- Avionics systems
- Medical devices and instrumentation
Compared to Cortex-A series, the Cortex-R lineup is more sparse as these processors target specialized use cases requiring certification. Some Cortex-R processors include:
- Cortex-R4 and Cortex-R5 – Early Cortex-R processors targeting deeply embedded real-time applications.
- Cortex-R52 – First Cortex-R processor with 64-bit and virtualization support
- Cortex-R82 – Latest generation Cortex-R processor optimized for autonomous drive systems
Given the more niche market, Cortex-R naming follows a simpler numbering scheme. Higher models generally indicate newer designs with progressively better performance and features. But the increment is not consistent or fixed. Cortex-R processors focus more on real-time capabilities vs. raw performance.
Cortex-R Version Numbers
Here are the key attributes correlated to Cortex-R version numbers:
- Cortex-R4 – First Cortex-R processor targeting deeply embedded real-time applications. Single-issue in-order pipeline.
- Cortex-R5 – Improved real-time performance with tighter interrupt latencies vs. Cortex-R4.
- Cortex-R7 – Adds single precision floating point unit and signal processing optimizations.
- Cortex-R52 – First 64-bit Cortex-R processor with virtualization extensions. Enables consolidation of mixed-criticality systems.
- Cortex-R82 – Latest Cortex-R optimized for advanced driver assistance systems (ADAS) in autonomous vehicles.
Similar to the Cortex-A series, larger incremental version numbers indicate newer and more advanced Cortex-R designs with expanded feature sets.
The Cortex-M series targets deeply embedded, real-time microcontroller applications that have tight cost, power and resource constraints. Cortex-M processors are designed to provide an optimal balance between performance, determinism, power efficiency, and ease of use. Key features include:
- In-order execution pipeline
- Fixed length RISC-like instruction set
- Integrated interrupt controllers
- Low power sleep modes
- Memory protection units
- Tightly coupled memories for deterministic performance
Cortex-M processors are extensively used in various embedded devices such as:
- Wearables and smartwatches
- Home automation systems
- Industrial automation controllers
- IoT and edge nodes
- Motor controllers
Example Cortex-M processors include:
- Cortex-M0 – Ultra low power 32-bit MCU for simple embedded applications
- Cortex-M3 – Popular mid-range MCU widely adopted in thousands of designs
- Cortex-M4 – Adds DSP instructions and floating point unit
- Cortex-M7 – Highest performance Cortex-M processor capable of 325 DMIPS
- Cortex-M33 – First Cortex-M processor with TrustZone security extensions
The Cortex-M numbering scheme follows a loose performance hierarchy, but has many gaps in the version numbers. Higher models generally indicate better performance and features. But focus is on real-time responsiveness vs. raw processing power.
Cortex-M Version Numbers
Here is an overview of the Cortex-M numbering scheme and key attributes of each processor class:
- Cortex-M0 – Ultra low power and low cost 32-bit MCU for simple embedded applications. Thumb-2 instruction set, no floating point unit.
- Cortex-M0+ – Slight performance tuning over standard M0 with some power saving optimizations.
- Cortex-M3 – First Cortex-M processor with integrated Tightly Coupled Memory (TCM) interfaces for deterministic operation. Also added single cycle multiplier and bit-banding.
- Cortex-M4 – Adds single precision floating point unit and optional DSP extensions for signal processing workloads.
- Cortex-M7 – Highest performance Cortex-M processor with superscalar dual-issue pipeline, L1 caches, and optional SIMD. Capable of Digital Signal Controller (DSC) workloads.
- Cortex-M23/M33 – Adds TrustZone secure world extensions and security features like memory/bus protection.
The Cortex-M series covers a wide spectrum of deeply embedded 32-bit applications ranging from ultra low power cost-sensitive designs to intelligent IoT edge nodes. There remain gaps in the numbering leaving room for future processors to be inserted as technology improves. But in general, larger model numbers denote more advanced and higher performance designs.
The numbering provides a rough idea of relative performance and capabilities, but incremental suffixes indicate minor revisions or next-generation iterations of a microarchitecture.
- Cortex-A series targets complex operating systems and high performance application processing
- Cortex-R series focuses on deterministic real-time performance for safety-critical systems
- Cortex-M series provides a balance of real-time responsiveness, low power, and ease of use for deeply embedded applications
- Higher numeric models indicate newer and more advanced processors within a family
- Model numbers may be non-sequential as newer processors are introduced over time
Understanding the ARM numbering convention helps developers appropriately select a processor based on required features, performance, and use case constraints.
With ARM’s extensive market share, knowledge of these industry standard conventions is essential for any embedded systems engineer working with ARM-based designs.