嵌入式 1000问 · 基础概念Q2:MCU 和 MPU 的核心区别是什么?什么时候该选 MCU,什么时候该选 MPU?
来源:Flomo 原始笔记|查看原笔记|迁移日期:2026-10-31
嵌入式 1000问 · 基础概念Q2:MCU 和 MPU 的核心区别是什么?什么时候该选 MCU,什么时候该选 MPU?
▎ 五大学习法:西蒙学习法——把「MCU vs MPU」钻透
一句话区别
- MCU(Microcontroller Unit,微控制器):把 CPU + Flash + RAM + 外设集成在一颗芯片里,本质是「一台完整的计算机」,上电就能跑程序。
- MPU(Microprocessor Unit,微处理器):通常只给 CPU 内核(+ 缓存 + 内存控制器),要外挂 RAM 和存储,本质是「一台计算机的大脑」,得配上内存、Flash 才能跑。
几个维度对比
- 集成度:MCU 高度集成(片上 Flash / SRAM / 外设);MPU 只有 CPU 核,内存 / 存储外接。
- 性能:MCU 通常几 MHz几百 MHz(Cortex-M、RISC-V);MPU 动辄几百 MHzGHz(Cortex-A)。
- 内存与保护:MCU 片上 RAM 几 KB~几 MB、无 MMU(常用 MPU 内存保护单元);MPU 外接 DDR、有 MMU,能跑 Linux / Android。
- 操作系统:MCU 跑裸机 / RTOS;MPU 跑 Linux、QNX、Android 等通用 OS。
- 功耗:MCU 低(µAmA,适合电池);MPU 高(几百 mAA)。
- 启动:MCU 上电即跑;MPU 要 BootROM → Bootloader → 内核 → 用户空间,启动慢。
- 实时性:MCU 确定性强、中断延迟低;MPU 因 OS 调度、cache、MMU,实时性差(靠 PREEMPT_RT 等补救)。
- 成本 / 生态:MCU 便宜、BOM 简单;MPU 外围内存 / 电源 / PCB 更复杂。
名字的坑(MPU 有两个意思)
- 这里说的 MPU = 微处理器(跑 Linux 那种)。
- ARM 语境里,MPU 还指「Memory Protection Unit」(内存保护单元),是 MCU 上做内存区域权限保护的一块硬件。
- 同名不同物,别混。
什么时候选 MCU
- 实时控制(电机、PWM、传感器采样、汽车 ECU)、低功耗 / 电池、成本敏感、任务固定、不需要复杂 OS。
- 典型:STM32、S32K、TC3xx、ESP32。
什么时候选 MPU
- 要跑 Linux / 复杂应用、网络、图形界面、文件系统;要大内存高算力(网关、HMI、AI 推理、域控);要丰富生态(Python、数据库、容器)。
- 典型:树莓派、i.MX、TI Sitara、瑞萨 RZ。
混合趋势
- 现代 SoC 常是「MPU + MCU」组合:A 核跑 Linux 做应用,M 核或独立 MCU 跑实时控制(回看自动驾驶第 23 题「SoC + MCU」)。
- 也有「MPU 里带 MCU 子系统」的异构芯片。
一句话:MCU 是「把整台计算机塞进一颗芯片」——省电省成本、实时确定、上电即跑;MPU 只给 CPU 核、要外挂内存和 OS——算力强、能跑 Linux;选谁看你要「实时省电的专用控制」还是「复杂应用的通用计算」,很多场景干脆两者组合。
📎 问题库(专栏⑮导航)→ https://v.flomoapp.com/mine/?memo_id=MjQ1NzMzNDk3
📎 基础概念Q1(嵌入式 vs 通用机)→ https://v.flomoapp.com/mine/?memo_id=MjU2NDUxODUy
工程问答补全:MCU 与 MPU 的选型决策
Q1. 选型时最重要的不是主频,而是什么?
先列系统需求:控制周期与最坏响应时间、算力负载、RAM/Flash/DDR 容量、外设接口、网络吞吐、启动时间、功耗、功能安全等级、信息安全启动链、生命周期和软件生态。主频只是性能指标之一,不能代替 WCET、内存带宽和外设能力评估。
Q2. MCU 一定比 MPU 实时性好吗?
不绝对。MCU 常用于低延迟控制,系统结构较简单;MPU 若使用 Linux 等通用 OS,调度和缓存会带来额外不确定性,但可通过实时内核、CPU 隔离、优先级、锁页和专用核改善。最终应在目标负载下测量最坏响应时间,而不是仅凭芯片类别判断。
Q3. MCU 上的 MPU(Memory Protection Unit)与微处理器 MPU 有什么区别?
Memory Protection Unit 是内存保护硬件,用于定义地址区域的访问权限和属性;Microprocessor Unit 是处理器芯片类别。两者缩写相同但完全不同。阅读芯片手册时要看上下文。
Q4. 什么时候采用 MCU + MPU 异构架构?
当系统同时需要硬实时控制和复杂应用能力时,可由 MCU/实时核负责电机、传感器、车身控制和安全监控,MPU/应用核负责 HMI、网络服务、数据记录或高算力应用。两者之间必须定义通信协议、启动依赖、故障隔离、看门狗和降级策略。
选型矩阵
| 维度 | MCU 倾向 | MPU 倾向 |
|---|---|---|
| 控制时序 | 短周期、强确定性 | 复杂应用与较高吞吐 |
| 存储 | 片上 SRAM/Flash | 外接 DDR/存储 |
| OS | 裸机/RTOS/AUTOSAR CP | Linux/QNX/Android 等 |
| 外设 | 定时器、ADC、PWM、CAN 等实时外设 | 高速网络、显示、存储接口 |
| 系统复杂度 | 较低,启动链短 | 较高,启动链与软件栈更复杂 |
| 典型关注 | WCET、低功耗、外设时序 | 内存带宽、调度延迟、散热、启动安全 |
验证清单
- 用真实工作负载测算 CPU、内存带宽和存储需求。
- 测量最坏响应时间,而不是只看平均值。
- 评估启动时间、功耗、温度和散热。
- 评估安全启动、调试口锁定和软件更新机制。
- 对异构架构定义核间通信、超时、故障隔离和降级行为。