HomeARM CourseDay 2
DAY 2 · FOUNDATIONS

ARM Processor Families — Cortex-A, Cortex-R & Cortex-M

By EcrioniX · Updated Jun 6, 2026

Yesterday we learned ARM is one architecture, licensed everywhere. But a server CPU and a sensor's microcontroller have very different needs. So ARM splits its cores into three profiles — and knowing them is the map for everything ahead.

1. One architecture, three jobs

ARM defines three profiles, each a letter in the famous Cortex brand. They share the same core RISC philosophy from Day 1, but are tuned for completely different goals:

A

Application

Runs rich OSes — Linux, Android, iOS. Has an MMU and virtual memory. High performance. Phones, tablets, laptops.

R

Real-time

Deterministic, low-latency, safety-critical. Uses an MPU. Guarantees timing. Storage, modems, automotive, industrial.

M

Microcontroller

Tiny, cheap, ultra-low-power. Fast interrupts via the NVIC. No MMU. Sensors, appliances, IoT, wearables.

💡 An analogy

Same engine maker, three vehicles. Cortex-A is a comfortable car that runs a full infotainment system (the OS). Cortex-R is an ambulance — it must arrive on time, every time (real-time guarantees). Cortex-M is an electric scooter — small, cheap, sips energy, does one job reliably.

2. Cortex-A — the Application profile

These are the big cores. The defining feature is a Memory Management Unit (MMU), which provides virtual memory — the thing a modern OS needs to give every process its own protected address space. That's why Cortex-A runs Linux, Android and the like.

For servers, ARM extends this profile into the Neoverse line — many cores, huge bandwidth — powering chips like AWS Graviton.

3. Cortex-R — the Real-time profile

Some systems care less about raw speed and more about predictability: a hard-drive controller, a 5G modem, an engine controller, a brake system. They must respond within a guaranteed time, every single time — that's real-time, and missing a deadline can be catastrophic.

4. Cortex-M — the Microcontroller profile

This is where most people start learning ARM, and much of this course's hands-on examples will use it. Cortex-M is designed for microcontrollers: a whole computer (CPU + flash + RAM + peripherals) on one cheap, low-power chip.

5. Putting them side by side

FeatureCortex-ACortex-RCortex-M
GoalMax performanceGuaranteed timingLow power & cost
Memory protectionMMU (virtual memory)MPUOptional MPU
RunsLinux / AndroidRTOS / bare-metalRTOS / bare-metal
Typical usePhone, laptop, serverModem, storage, autoSensor, IoT, appliance
InterruptsGICLow-latencyNVIC (very fast)

6. How to read a core name

Decode any ARM core at a glance:

Cortex‑M4 → the letter is the profile (M = Microcontroller); the number is the model within that profile (higher ≈ newer/more capable). So Cortex-M0 is a tiny entry core, Cortex-M7 a fast one, Cortex-A78 a high-end application core. The number doesn't compare across profiles — an M7 and an A78 aren't on the same scale.

✅ Why this matters for the rest of the course

Many architecture details depend on profile. The MMU (Day 21) is an A-profile thing; the NVIC (Day 18) is M-profile; banked modes differ between them. When we say "on Cortex-M…" you'll now know exactly what world we're in.

🎯 Day 2 takeaways

Quick check

  1. Which profile would run Android — and why does it need an MMU?
  2. Your design must guarantee it reacts to a sensor within 10 µs, every time. Which profile fits?
  3. What does the "7" in Cortex-M7 tell you — and what does it not?

FAQ

What's the difference between Cortex-A and Cortex-M?

Cortex-A is a large, high-performance core with an MMU that runs full OSes (phones/laptops). Cortex-M is a tiny, ultra-low-power microcontroller core without an MMU for deterministic real-time control (sensors/IoT).

What is Neoverse?

ARM's server/data-centre line, built on the A profile but tuned for many-core throughput and bandwidth (e.g. AWS Graviton).

Which profile should I learn first?

Cortex-M — it's the simplest, cheapest to get hands-on with, and most of this course's examples use it.

Previous
← Day 1: What is ARM?

← Back to the full course roadmap