嵌入式 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 才能跑。

几个维度对比

  1. 集成度:MCU 高度集成(片上 Flash / SRAM / 外设);MPU 只有 CPU 核,内存 / 存储外接。
  2. 性能:MCU 通常几 MHz几百 MHz(Cortex-M、RISC-V);MPU 动辄几百 MHzGHz(Cortex-A)。
  3. 内存与保护:MCU 片上 RAM 几 KB~几 MB、无 MMU(常用 MPU 内存保护单元);MPU 外接 DDR、有 MMU,能跑 Linux / Android。
  4. 操作系统:MCU 跑裸机 / RTOS;MPU 跑 Linux、QNX、Android 等通用 OS。
  5. 功耗:MCU 低(µAmA,适合电池);MPU 高(几百 mAA)。
  6. 启动:MCU 上电即跑;MPU 要 BootROM → Bootloader → 内核 → 用户空间,启动慢。
  7. 实时性:MCU 确定性强、中断延迟低;MPU 因 OS 调度、cache、MMU,实时性差(靠 PREEMPT_RT 等补救)。
  8. 成本 / 生态: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 CPLinux/QNX/Android 等
外设定时器、ADC、PWM、CAN 等实时外设高速网络、显示、存储接口
系统复杂度较低,启动链短较高,启动链与软件栈更复杂
典型关注WCET、低功耗、外设时序内存带宽、调度延迟、散热、启动安全

验证清单

  • 用真实工作负载测算 CPU、内存带宽和存储需求。
  • 测量最坏响应时间,而不是只看平均值。
  • 评估启动时间、功耗、温度和散热。
  • 评估安全启动、调试口锁定和软件更新机制。
  • 对异构架构定义核间通信、超时、故障隔离和降级行为。