| Property | Microprocessor (e.g., 8086, x86) | Microcontroller (e.g., 8051, Cortex-M) |
|---|---|---|
| CPU | Yes | Yes |
| RAM | External chips required | On-chip (KB to MB) |
| ROM/Flash | External chips required | On-chip (KB to MB) |
| Peripherals (timers, UART, etc.) | External chips | On-chip |
| I/O pins | None directly; via 8255 PPI etc. | Many (e.g., 32 on 8051, 100+ on big STM32) |
| Clock | External crystal + external clock chip often | On-chip oscillator + optional external |
| Reset circuit | External | On-chip POR + brown-out detect |
| Power | High (cores + chipset + DRAM) | Low (sleep modes down to nA) |
| Cost (qty 1k) | 500+ for the chip | 30 for the chip |
| Use case | PCs, servers, workstations | Embedded controllers, IoT, appliances |
| Programming | OS, compiler, libc, dynamic linking | Bare-metal C, often no OS or small RTOS |
| Memory model | Often virtual memory, MMU | Usually flat physical, sometimes MPU |
The boundary blurs. Modern application processors (Apple M-series, Snapdragon, Qualcomm 8 Gen) have multiple cores, GPU, NPU, modem, ISP all on one die — these are SoCs (Systems on Chip), even more integrated than microcontrollers. The labels "microprocessor" and "microcontroller" date from the 1980s when this distinction was crisp; today it is a spectrum.