CPU_SOC_MPU和MCU

一、CPU(Central Processing Unit)

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

二、MPU (Micro Processor Unit)

MPU (Micro Processor Unit),叫微处理器(不是微控制器),通常代表一个功能强大的CPU(暂且理解为增强版的CPU吧),但不是为任何已有的特定计算目的而设计的芯片。这种芯片往往是个人计算机和高端工作站的核心CPU。例如:Intel X86,ARM的一些Cortex-A芯片如飞思卡尔i.MX6、全志A20、TI AM335X等都属于MPU。
在微机中,CPU被集成在一片超大规模集成电路芯片上,称为微处理器(MPU),微处理器插在主板的cpu插槽中。通常所说的16位机、32位机是指该计算机中微处理器内部数据总线的宽度,也就是CPU可同时操作的二进制数的位数。目前常用的CPU都是64位的,即一次可传送64位二进制数。微处理器的功能结构主要包括:运算器、控制器、寄存器三部分:运算器的主要功能就是进行算术运算和逻辑运算。控制器是整个微机系统的指挥中心,其主要作用是控制程序的执行。包括对指令进行译码、寄存,并按指令要求完成所规定的操作,即指令控制、时序控制和操作控制。寄存器用来存放操作数、中间数据及结果数据。
MPU的制造商有:有恩智浦(NXP)、德州仪器(TI)(TEXAS INSTRUMENTS)等

三、MCU(Micro Control Unit)

MCU(Micro Control Unit),叫微控制器,其实就是我们平常说的单片机(single-chip Micromputer)。是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的芯片,比如51,STC、AVR、Cortex-M这些芯片,内部除了CPU外还有RAM、ROM,可以直接加简单的外围器件(电阻,电容)等构成最小系统就可以运行代码了。它本质上仍是一个完整的单片机,有处理器,有各种接口,所有的开发都是基于已经存在的系统架构,应用者要做的就是开发软件程序和加外部设备。而如x86、ARM这些MPU就不能直接放代码了,它只不过是增强版的CPU,必须添加相应的RAM,ROM。
现在STM32也几乎成为了MCU的代名词。
MPU的制造商有:意法半导体(ST)、德爱特梅尔(Atmel)等
在这里插入图片描述

四、SOC(System on Chip)

SOC(System on Chip),整体的一个电路系统,完成一个具体功能的东西,指的是片上系统,MCU只是芯片级的芯片,而SOC是系统级的芯片,它集成了MCU和MPU的优点,它既MCU(51,avr)那样有内置RAM、ROM同时又像MPU那样强大,不单单是放简单的代码,可以放系统级的代码,也就是说可以运行操作系统(将就认为是MCU集成化与MPU强处理力各优点二合一)(以Linux OS为主)。(手机SOC:CPU+通信基带+音/视频编码器、解码器)

SOC目前则以Cortex-A系列为主。

SOC分为两类:基于微处理器构建MPU (Micro Processor Unit),如:路由器、智能音箱等运算处理较多。基于微控制器构建MCU(Micro Control Unit),如:电冰箱管理控制较多,不运算操作系统或者运算小型操作系统。

在这里插入图片描述

五、SOPC(System On a Programmable Chip)

SOPC是System On a Programmable Chip的缩写,即 可编程片上系统,SOPC与MCU、MPU、SOC最明显的区别在于:可更改硬件配置,也就是说自己构造芯片。

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

六、区别

6.1、MCU和MPU的区别

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

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

6.2、CPU与SoC的区别

SoC可以认为是将MCU集成化与MPU强处理力各优点二合一,其中MCU是CPU集成了各类外设,MPU是增强版的CPU。
在这里插入图片描述

6.3、SoPC与MCU、MPU、SoC的区别

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

手机、路由器、电冰箱都属于嵌入式。

备注:该内容为读书笔记,部分内容与图片收集来源于网络,如有侵权或错误,请联系我整改,谢谢!