您当前的位置:首页 > 电子 > 嵌入式系统

《嵌入式 - 嵌入式大杂烩》一文搞懂CPU、MPU、MCU、SOC的联系与区别

时间:07-11来源:作者:点击数:

1CPU

CPU(CentralProcessingUnit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。主要功能是解释计算机指令以及处理计算机软件中的数据。计算机的可编程性主要是指对中央处理器的编程。

1970年代以前,中央处理器由多个独立单元构成,后来发展出由集成电路制造的中央处理器,这些高度收缩的组件就是所谓的微处理器,其中分出的中央处理器最为复杂的电路可以做成单一微小功能强大的单元,也就是所谓的核心。

差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。所谓的计算机的可编程性主要是指对CPU的编程。

2MPU

MPU(MicroProcessorUnit),叫微处理器**,是可编程特殊集成电路。MPU只是一个处理器,需要搭配内存等非常多的其他外设才可以构成一个系统。MCU内部有处理器、内存、Flash及其他模块,仅仅需要搭配少量外设就可以构成一个系统。

在上世纪80年代非常流行,那时的微型计算机、游戏机都是使用MPU。比如Motorola公司的68000芯片就是一款主流的微处理器(MPU)。下图是一款AlphaMicroAM-1000系列的微型计算机电路板,电路板右侧中间最大的芯片就是MPU68000。

后来MPU逐渐式微,可以认为MPU发现到现在只剩下了intel、AMD公司x86系列CPU。这类CPU也越来越复杂,称之为“微处理器”似乎不恰当了。在个人电脑领域,可以看到类似下图的主板。主板上插上CPU、内存条、声卡等等就构成了一台计算机。整个主板体积庞大、制造复杂。

3MCU

MCU(MicroControlUnit),叫微控制器,是指随着大规模集成电路的出现及其发展,把中央处理器、存储器、定时/计数器(timer/counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机,形成芯片级的芯片。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。

MCU的发展经历过8位8051单片机、16位AVR单片机、32位STM单片机。

MCU内部集成了处理器和各类模块,比如USB控制器、UART控制器、内存、Flash等等。只需要外接少量的器件,就可以搭建一个电子系统。

4SoC

单片系统或片上系统(英语:SystemonaChip,缩写:SoC)是一个将电脑或其他电子系统集成到单一芯片的集成电路。单片系统可以处理数字信号、模拟信号、混合信号甚至更高频率的信号。单片系统常常应用在嵌入式系统中。单片系统的集成规模很大,一般达到几百万门到几千万门。

SoC可以基于MCU或MPU,并将提供执行某些类型的应用程序所需的一切。例如,对于图像处理,SoC可能具有MPU、数字信号处理器(DSP)和/或图形处理单元(GPU)的组合,用于执行快速算法计算,以及用于驱动显示器和HDMI或其他音频/视频输入/输出技术。SoC可在单个微型IC上实现整个芯片系统。

5MPU与MCU的区别

微控制器(MCU)往往比微处理器(MPU)更便宜、设置更简单、操作更简单。MCU可以被视为单芯片计算机,集成了ROM、RAM等在芯片内部,而MPU则具有支持各种功能(如内存、接口和I/O)的外围芯片,可任意更换不同厂商的同种类型外设。微控制器和微处理器之间的一个重要区别是微处理器通常会运行操作系统。操作系统允许多个进程通过多个线程同时运行。需要驱动程序来支持外围设备。

MCU将运行“裸机接口”,这意味着没有操作系统。没有操作系统,MCU一次只能运行一个控制回路。从软件的角度来看,这意味着单个线程在微控制器的处理器或中央处理单元(CPU)上运行。

MCU仅具有与外部世界交互的基本选项。MCU可能有I2C、SPI、UART(串行),有时还有低级USB连接。这些基本接口通常仅用于对MCU进行编程。MCU的目的是永远运行一个相当简单的控制循环,或者直到它中断或以其他方式停止。MCU往往比MPU便宜。MCU并非不可能进行无线通信,但请记住,MCU一次只能运行一个线程。要得到服务,任何其他输入或进程都必须等待单线程或控制循环先完成它正在执行的操作。除了I2C、SPI或UART等基础接口外,微处理器往往还有许多接口。MPU也可能有更复杂的接口,如以太网、蓝牙、WiFi、闪存等。

越来越难判断一个设备是MCU还是MPU,因为如今MCU可以做很多事情,包括更复杂的外围设备。MCU和MPU之间的区别变得不那么明显,因为现在一些MCU带有用于更复杂外设的简单软件驱动程序,并且可以找到更多具有片上集成外设的MPU。

最后,送上一张芯片的思维导图。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门