MCU、MPU、GPU、Soc、DSP、FPGA、CPLD……它们到底是什么?
MCU、MPU、GPU、Soc、DSP、FPGA、CPLD……
这些简称在各大论坛、会议、发布会中屡见不鲜,看到简称,虽然也能说出大概;
但要问具体是什么?用在什么场景?又有什么区别……好像还是差点意思;本篇文章就记录一下这些简称的含义与概念。
MCU,全称:Microcontroller Unit (微控制器单元);这个算是是我们比较熟悉的了,因为它就是鼎鼎大名的“单片机”;
· 概念:一种将计算机的基本组成部分集成到一块芯片上的微型计算机系统,在片上就集成了中央处理器、输入输出I/O、ROM、RAM等外设;
· 应用场景:侧重控制,通常用于家电、汽车电子、电机控制等中小嵌入式系统中;
MPU,全称:Microprocessor Unit (微处理器单元);它的概念与CPU很相似,但又有所区别,是CPU的一种实现形式,只包含CPU的核心功能;
· 概念:一种集成电路芯片,主要由算术逻辑单元(ALU)、控制单元、寄存器组成;不包含RAM、以及I/O输入输出接口;
· 应用场景:侧重于数据处理和执行指令,适用于对计算性能要求很高的场景,具体应用与CPU重合,可以这么理解,MPU是CPU的子集。
CPU,全称:Central Processing Unit (中央处理器);我们常把个人PC端上的中央处理器,如Inter 12代、AMD 锐龙9,直接统称为CPU,但实际并不如此;
· 概念:指任何计算机系统中的核心处理单元,是计算机系统的核心部件,负责执行指令、算术逻辑运算等;
· 应用场景:如果我们把CPU与PC端的处理器划为等号的话,它可以用在个人电脑端、服务器、以及大型嵌入式系统中;
GPU,全称:Graphics Processing Unit (图形处理单元);没错,在我们常挂嘴边的显卡中,核心处理器就是GPU;
· 概念:一种专门设计用于快速处理图像和视频数据,并执行图形渲染任务的处理器;
· 应用场景:恐怖的并行处理能力,让它非常适合2D/3D图形渲染、视频游戏、虚拟现实(VR)等;当下它的最大应用就是AI模型的训练与推理,如果再往前推几年,它最大的应用是“挖矿”……
Soc,全称:System on a Chip (系统级芯片);像我们用到的NXP的I.MX6ULL、瑞芯微的RK3568这就是典型的Soc;
· 概念:一种集成电路,将计算机或其它电子系统的全部组件集成到单一芯片上;通常包含一个或多个处理器核心(CPU、GPU),内存控制器、以及其它专用加速模块(神经网络引擎);
· 应用场景:Soc的特点是高度集成、低功耗、性能强悍;多用于各类电子产品中,比如手机、平板电脑、智能手表、物联网设备等;
DSP,全称:Digital Signal Processor (数字信号处理器);通常有两个说法,一个是数字信号处理(Digital Signal Processing),另外一个是输出信号处理器(Digital Signal Processor),这里我们说的DSP指的的是后者;
· 概念:一种专门用来执行数据信号处理任务的微处理器;相比于通用微处理器,它在执行数字信号处理算法时更高效;
· 应用场景:因为它具备高效的数据处理能力;广泛应用在通信系统中,实现信号的调制解调;图像和视频处理中,进行图像压缩(JPEG格式)、视频压缩(H.264、H.265格式);在当下的具身智能中,执行精确且复杂的轨迹运算等;
FPGA,全称:Field-Programmable Gate Array (现场可编程门阵列);这个我们也非常熟悉,大学有一门EDA设计课程中,就是教我们使用FPGA实现一些逻辑算法;
· 概念:一种可以通过用户在制造后进行配置来实现特定的硬件功能的集成电路;由大量的可配置逻辑块、输入输出模块和一个可编程互连资源组成;
· 应用场景:由于FPGA的可编程性、并行处理能力、高性能;它当下被用于ASIC芯片的原型设计和验证;也用于图像处理;在边缘计算中,多数应用的也是FPGA;
CPLD,全称:Complex Programmable Logic Device (复杂可编程逻辑器件);在了解它之后,我一直把它当作简易版的FPGA;
· 概念:一种用于实现定制数字电路功能的集成电路;一般基于一个或多个宏单元(macrocell)的阵列,这些宏单元再通过一个中央可编程互连矩阵相互连接;
· 应用场景:CPLD的特点是快速、简单、延时低;所以它常用于胶和逻辑,即在系统中连接不同的IC并解决它们之间的接口问题;也可以做成实现某些标准的接口协议;
以上就是这些简称的描述;
了解这些简称的含义,可以在我们选择使用何种类型的IC时,提供决策参考。
就像那句,没有十全十美的IC,只有最合适的IC一样……