• MCU/MPU这些概念并不是泾渭分明的
    • 计算机的三大组件:CPU、内存、硬盘(计算、临时存储、永久存储)发展至今基本没有变化
    • CPU的发展有两条路线:MPU、MCU
      • MPU只是一个处理器,需要搭配内存等非常多的其他外设才可以构成一个系统
      • MCU内部有**处理器、内存、Flash及其他模块**,仅仅需要搭配少量外设就可以构成一个系统
      • image.png
    • MPU:micro processer unit微处理单元,这是可以说是一个历史遗留概念,因为刚开始的芯片性能都很弱,所以叫做微处理器;随着CPU的发展,便将只做数据运算处理的CPU路线芯片都称为MPU;不过这类CPU越来越复杂,称之为“微处理器”似乎有些不恰当了,所以现在对于个人电脑的通用CPU一般都直接称为CPU了(MPU是一个很老的概念了)
    • MCU:micro controller unit微控制器单元,是把CPU、内存、Flash都集中在一个芯片上,它再搭配其他外设备就可以构建一个完整的系统;最初可能是为了应对专用的领域设计的芯片,把计算、临时存储、永久存储都封装到一个芯片上,简化了设计和成本;后来还发展除了更强大的、集成更多功能的芯片,甚至单个芯片就差不多可以构建一个完整的系统,称为Soc(system on chip)片上系统,以及功能不逊于MPU路线的芯片AP(application processer)应用处理器
    • Application Processors内部集成了更多的模块,比如用于数据处理的DSP、用于图形显示的GPU,甚至有多个处理器
    • 现在在嵌入式领域,一般把不跑OS、资源较少的称为MCU,把可以跑OS、资源丰富的称为SOC(SoC的本意是在一个芯片上就可以搭建完整的系统)
    • 需要注意的是,这些概念很多时候并不是明确的,因为芯片的开发厂商可以自由的对芯片资源进行增删,所以对于某些芯片称为MCU或SoC都是可以的,并没有严格的界限
    • MCU内部的RAM/flash一般都比较小,许多时候需要外接更大的RAM/flash

      在手机电路板中,可用空间非常小。Application Processors还需要搭配内存芯片才可以使用,于是发展出了一种名为package-on-package (PoP)的工艺:在电路板上先焊接Application Processors,在Application Processors上面再焊接内存芯片,即2个芯片叠在一起。

    • 因为AP足够强大,起到了通用处理器的作用,所以一般就不将AP归类到嵌入式领域,由此可以将AP与MPU(CPU)归到一类去

      • 按通用性: image.png
      • 按发展路线:image.png

    参考:
    https://www.microcontrollertips.com/microcontrollers-vs-microprocessors-whats-difference/
    https://www.microcontrollertips.com/difference-microprocessors-application-processors/