参考资料:
SoC和MCU的区别
CPU、MCU和SOC的区别以及外设的概念理解
CPU、MPU、MCU和SOC还傻傻分不清楚 看这篇文章就够了


1. 概念

1.1 CPU(Central Processing Unit)

CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。众所周知的三级流水线:取址、译码、执行的对象就是CPU,差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。 CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。所谓的计算机的可编程性主要是指对CPU的编程。

1.2 MPU (Micro Processor Unit)

MPU (Micro Processor Unit),叫微处理器(不是微控制器MCU,很多人会把微处理器和微控制器混淆),通常代表一个功能强大的CPU(暂且理解为增强版的CPU吧),但不是为任何已有的特定计算目的而设计的芯片。这种芯片往往是个人计算机和高端工作站的核心CPU。例如Intel 的X86,ARM的一些Cortex-A芯片如飞思卡尔i.MX6、全志A20、TI AM335X等都属于MPU。

1.3 MCU(Micro Control Unit)

MCU(Micro Control Unit):叫微控制器,其实就是我们平常说的单片机。是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的芯片,比如51、STC、AVR、Cortex-M这些芯片,内部除了CPU外还有RAM、ROM,也就是在一块芯片中集成了整个计算机系统,可以直接加简单的外围器件(电阻,电容)就可以运行代码了。它本质上仍是一个完整的单片机,有处理器,有各种接口,所有的开发都是基于已经存在的系统架构,应用者要做的就是开发软件程序和加外部设备。而像ARM(Cortex-A系列)直接放代码是运行不了的,因为它本质上只是增强版的CPU,必须添加相应的RAM和ROM。

1.4 SoC(System on Chip)

SoC(System on Chip,整体的一个电路系统,完成一个具体功能的东西):指的是片上系统,MCU只是芯片级的芯片,而SoC是系统级的芯片,它既MCU那样有内置RAM、ROM同时又像MPU那样强大,不单单是放简单的代码,可以放系统级的代码,也就是说可以运行操作系统(以Linux OS为主)(将就认为是MCU集成化与MPU强处理力各优点二合一)。

1.5 SoPC(System On a Programmable Chip)

与上述几项概念相比,SoPC的出现频率并不是那么高,但这并不影响它的重要性。SOPC是System On a Programmable Chip的缩写,即 可编程片上系统,SoPC与MCU、MPU、SoC最明显的区别在于:可更改硬件配置,也就是说自己构造芯片。

举个例子说明便于理解,单片机的硬件配置是固化好了的, 我们能够编程修改的就是软件配置,本来是串口通信功能,通过修改代码变成AD采样功能,也就是说硬件配置是固定了的,我们只能通过修改软件来选择其中的一项或多项功能;而SoPC可以修改硬件配置信息使其成为相应的芯片,可以是MCU,也可以是SoC。

2. 区别

2.1 MCU和MPU的区别

MCU在一块芯片中集成了整个计算机系统,可以直接加简单的外围器件(电阻,电容)就可以运行代码了。它本质上仍是一个完整的单片机,有处理器,有各种接口,所有的开发都是基于已经存在的系统架构,应用者要做的就是开发软件程序和加外部设备。

MPU如ARM的Cortex-A系列,直接放代码是运行不了的,因为它本质上只是增强版的CPU,必须添加相应的RAM和ROM。

2.2 CPU与SoC的区别

SoC可以认为是将MCU集成化与MPU强处理力各优点二合一,其中MCU是CPU集成了各类外设,MPU是增强版的CPU。可以从下图中直观地看出CPU与SoC的区别。

目前芯片的发展方向是从CPU到SoC,现在已经没有纯粹的CPU了,都是SoC。ARM出卖的内核其实就是CPU(当然还需要总线),各种外设是半导体厂商自己添加的。

2.3 SoPC与MCU、MPU、SoC的区别

SoPC与MCU、MPU、SoC最明显的区别在于:可更改硬件配置,也就是说自己构造芯片。

举个例子说明便于理解,单片机的硬件配置是固化好了的, 我们能够编程修改的就是软件配置,本来是串口通信功能,通过修改代码变成AD采样功能,也就是说硬件配置是固定了的,我们只能通过修改软件来选择其中的一项或多项功能;而SoPC可以修改硬件配置信息使其成为相应的芯片,可以是MCU,也可以是SoC。

CPU、MPU、MCU、SOC的概念与区别相关推荐

  1. CPU,MPU,MCU,SOC,SOPC联系与差别

    CPU.MCU.MPU及DSP的区别 CPU(Central Processing Unit,中央处理器)发展出来三个分枝,一个是DSP(Digital Signal Processing/Proce ...

  2. CPU、MPU、MCU、SOC的概念和区别

    概念 1.cpu cpu(central processing unit)是一台计算机的运算核心和控制核心,CPU由运算器.控制器和寄存器以及实现他们联系的数据.控制总线构成,cpu典型的三级流水线操 ...

  3. CPU巨型机,大型机,中型机,小型机和微型计算机中央处理器都称为CPU、MPU(微型化的CPU,在微机中CPU=MPU)、MCU和SOC

    CPU CPU是Central Processing Unit的缩写,计算机的运算控制核心就是CPU.CPU是由运算器.控制器和寄存器及相应的总线构成.众所周知的三级流水线:取址.译码.执行的对象就是 ...

  4. 简谈CPU、MCU、FPGA、SoC芯片异同之处

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分.大侠可以关注FPGA技术江湖,在"闯荡江湖"."行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢. ...

  5. 半导体元件、芯片、处理器、CPU、MCU的区别

    写在前面:笔者主要学习软件,对硬件不是很了解,此篇主要是为了总结自己锁遇到的困惑.硬件知识主要是通过查阅网上资料总结,由于网上资源杂乱,可能会出现错误理解.如有错误,期待指正,避免误导大家,非常感谢 ...

  6. 半导体元件,芯片,处理器,CPU,MCU的区别

    1.半导体元件与芯片的区别 按照国际标准分类方式,在国际半导体的统计中,半导体产业只分成四种类型:集成电路,分立器件,传感器和光电子.所有的国际半导体贸易中都是分成这四类. 上面说的这四类可以统称为半 ...

  7. linux内核区分cpu架构,一文读懂处理器,内核,芯片三个概念的区别

    一.处理器简介 处理器一般指中央处理器.中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control U ...

  8. SOC、SOPC、MPSOC、RFSOC、SDSOC的概念及区别

    目录 1.SOC 2.SOPC 3.Zynq-7000 All Programmable SoC 4.Zynq UltraScale+ MPSoC 5.Zynq UltraScale+ RFSOC 6 ...

  9. CPU、GPU、TPU、NPU区别

    CPU即中央处理器(Central Processing Unit) GPU即图形处理器(Graphics Processing Unit) TPU即谷歌的张量处理器(Tensor Processin ...

  10. cpu线程_CPU核数和线程数有什么用?什么意思?CPU核数和线程的关系与区别

    我们在组装电脑选购硬件的时候,大多数的人群更在乎CPU的性能,除了考虑架构.工艺.单核性能等,还需要考虑核心和线程数量,CPU从早期的单核,发展到现在的双核.多核,除了核心数量之外,还有线程数量.那么 ...

最新文章

  1. RabbitMQ 入门系列(2)— 生产者、消费者、信道、代理、队列、交换器、路由键、绑定、交换器
  2. 中国大陆SCIE收录期刊分析:多少本刊?发文多少?解决了多大内卷?
  3. Flutter开发之常用插件安装与卸载(11)
  4. mysql中设置字符集语句_mysql设置字符集
  5. Js跨域请求jquery的jsonp方式
  6. 算法:数值的整数次方
  7. Floats and marginpars not allowed inside `multicols' Unknown float option `H'. 基于LaTex+VSCode+MAC
  8. 停车场管理系统c语言程序,c语言程序设计 停车场管理系统 停车场有1-20个车位号,设计一个停车场管理系统,实现停车场管理...
  9. 只有3%的猿能完全看懂的高端漫画
  10. 最优化理论与算法笔记
  11. spring 第一天:1015
  12. 按规律插入一个数字到数组中
  13. Android SVG 和 VectorDrawable 的基本知识
  14. 是!“不会数据分析的,全是假程序员”!HR:太真实……
  15. Windows下使用python库 curses遇到错误消息的解决方案 1
  16. C# 开发 OPC Server 系列之二
  17. python cad二次开发文档_AutoCAD二次开发&实现简单的自动编号
  18. 【英文论文写作经验分享】1、Abstract 怎么写?
  19. 生物信息学习--nr/nt 数据库(总+子)构建
  20. B 站神曲 damedane:精髓在于深度变换,五分钟就能学会

热门文章

  1. R语言绘图及检验——正态分布曲线
  2. [VS code - SSH Remote] ln: failed to create hard link ... File exists
  3. 华为路由器没有虚拟服务器,华为路由器如何设置 华为路由器设置方法介绍【详解】...
  4. 悟空CRM系统学习心得
  5. Excel ----- 身份证自动判断男女 公式
  6. 思科模拟器配置静态路由(下一跳使用IP)
  7. python实现garch模型_【一点资讯】Python玩转金融时间序列之ARCH与GARCH模型
  8. 电脑照片,怎么把电脑照片传到iphone手机 将电脑照片传到iphone方法【图文】
  9. 单片机设计 电子琴音乐盒(AT89C51)
  10. 使用 Tampermonkey 编写高级跨网站自动化任务脚本