Microcontrollers & architecture 3 min read

MCU vs MPU

A microcontroller (MCU) puts the CPU, memory and peripherals on one chip and does one job on very little power. A microprocessor (MPU) is mainly a fast CPU: it needs memory and storage beside it on the board, and usually runs a full operating system such as Linux.

Left: a microcontroller holds the CPU core, clock, Flash, SRAM and peripherals such as GPIO, timers, ADC and UART on a single chip. Right: a microprocessor system-on-chip holds the CPU with an MMU, cache and high-speed peripherals, while DRAM, eMMC or SD storage and a power-management IC sit beside it on the board.
An MCU is self-contained; an MPU relies on parts around it.

What is inside

An MCU is a complete small computer on one chip: a CPU core, Flash for the program, SRAM for data, a clock, and peripherals such as GPIO pins, timers, ADCs and UARTs. Give it power and it runs your code straight from its own Flash.

An MPU, usually sold as an application-processor system-on-chip, has faster cores, caches and high-speed interfaces like USB and Ethernet. Its working memory is not on the chip, though. The board must add DRAM, storage such as eMMC or an SD card, and often a dedicated power-management IC (PMIC).

Why the MMU matters

The biggest software difference comes from the memory management unit (MMU). It gives every process its own virtual address space, which is what operating systems like Linux need. Most MCU cores, such as Arm Cortex-M, have no MMU. Many offer a simpler memory protection unit instead. Confusingly, that is also abbreviated "MPU", but it only fences off memory regions.

Side by side

MCUMPU
Typical coresArm Cortex-M, AVR, RISC-VArm Cortex-A, x86
Clock speedTens to hundreds of MHzHundreds of MHz to several GHz
RAMKB to a few MB, on chipHundreds of MB to GB, external
SoftwareBare metal or an RTOSLinux, Android or another full OS
Boot timeMillisecondsSeconds
PowerµA asleep, mW runningHundreds of mW to watts
ExamplesSTM32, ATmega328P, RP2040BCM2711 (Raspberry Pi 4), NXP i.MX 8

Which one to choose

Pick an MCU when the job is focused: read sensors, drive motors, react within microseconds, or run for years on a battery. Pick an MPU when you need what an operating system gives you: a rich graphical interface, full networking stacks, a file system, or lots of memory.

Many products use both. The MPU runs the user interface while an MCU handles real-time control. Some chips, such as the STM32MP1, even combine a Cortex-A and a Cortex-M on one die.