谈谈IC、ASIC、SoC、MPU、MCU、CPU、GPU、DSP、FPGA、CPLD

IC integrated circuit) 集成电路:微电路、微芯片、芯片;集成电路又分成:模拟集成电路(线性电路)、数字集成电路、数/模混合集成电路;

模拟集成电路:产生、放大、处理各种模拟信号(幅度随时间变化的信号);

数字集成电路:产生、放大、处理各种数字信号(时间和幅度上离散取值的信号);

集成电路按用途分成:专用集成电路(ASIC)、通用集成电路;

ASICApplication Specific Integrated Circuit) 专用集成电路:是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。 目前用CPLD(复杂可编程逻辑器件)和 FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一,它们的共性是都具有用户现场可编程特性,都支持边界扫描技术,但两者在集成度、速度以及编程方式上具有各自的特点。ASIC是对特定算法定制的芯片,所以效率是最高的,但是一旦算法改变,芯片就无法使用。

现代ASIC常包含整个32-bit处理器,类似ROM、RAM、EEPROM、Flash的存储单元和其他模块. 这样的ASIC常被称为SoC片上系统)

SoC System On Chip) 片上系统:MCU只是芯片级芯片,SOC是系统级芯片,它既像MCU那样有内置RAM,ROM的同时,又像MPU那样强大的不单单是放简单的代码,而是可以放系统级代码,也就是说可以运行操作系统。将MCU集成化与MPU强处理力各优点二合一。

MPU Microprocessor Unit)微处理器:微机中的中央处理器(CPU)称为微处理器(MPU),是构成微机的核心部件,也可以说是微机的心脏。它起到控制整个微型计算机工作的作用,产生控制信号对相应的部件进行控制,并执行相应的操作。在微机中,CPU被集成在一片超大规模集成电路芯片上,称为微处理器(MPU),微处理器插在主板的cpu插槽中。通常所说的16位机、32位机是指该计算机中微处理器内部数据总线的宽度,也就是CPU可同时操作的二进制数的位数。目前常用的CPU都是64位的,即一次可传送64位二进制数。微处理器的功能结构主要包括:运算器控制器寄存器三部分:运算器的主要功能就是进行算术运算和逻辑运算。控制器是整个微机系统的指挥中心,其主要作用是控制程序的执行。包括对指令进行译码、寄存,并按指令要求完成所规定的操作,即指令控制、时序控制和操作控制。寄存器用来存放操作数、中间数据及结果数据。

MCU Microcontroller) 单片机 :包括了CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

CPUCentral Processing Unit) 中央处理器作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU 自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。

GPU Graphics Processing Unit) 图像处理器、又称显卡:GPU和CPU的工作流程和物理结构大致是类似的,相比于CPU而言,GPU的工作更为单一。在大多数的个人计算机中,GPU仅仅是用来绘制图像的。如果CPU想画一个二维图形,只需要发个指令给GPU,GPU就可以迅速计算出该图形的所有像素,并且在显示器上指定位置画出相应的图形。由于GPU会产生大量的热量,所以通常显卡上都会有独立的散热装置。

DSPDigital Signal Processer) 数字信号处理器:DSP 芯片即指能够实现数字信号处理技术的芯片。 DSP芯片是一种快速强大的微处理器,独特之处在于它能即时处理资料。 DSP 芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,可以用来快速的实现各种数字信号处理算法。 在当今的数字化时代背景下, DSP 己成为通信、计算机、消费类电子产品等领域的基础器件。

FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA 的基本结构包括可编程输入输出单元,可配置逻辑块,数字时钟管理模块,嵌入式块RAM,布线资源,内嵌专用硬核,底层内嵌功能单元。由于FPGA具有布线资源丰富,可重复编程和集成度高,投资较低的特点,在数字电路设计领域得到了广泛的应用。FPGA的设计流程包括算法设计、代码仿真以及设计、板机调试,设计者以及实际需求建立算法架构,利用EDA建立设计方案或HD编写设计代码,通过代码仿真保证设计方案符合实际要求,最后进行板级调试,利用配置电路将相关文件下载至FPGA芯片中,验证实际运行效果。

 

CPU和GPU都是通用型芯片;FPGA属于半定制的,可重复编程的芯片;->也就是说这些芯片适合进行算法验证调试用,方便修改。

FPGA和CPU的区别在于:FPGA偏并行,CPU偏串行。复杂算法用硬件实现过程很难,但是性能很高效,这要取舍。对于复杂的系统,在于合理的软、硬件划分,由CPU(或DSP)和硬件电路(FPGA)合作完成系统功能是非常必要的。FPGA在通信行业的应用比较广泛。

DSP和标准处理器CPUGPU)有很多类似的地方,但是主要的区别DSP其采用了哈佛结构,而不是冯诺依曼结构。主要用来处理数字信号的,不强调人机交互,不需要通信接口。简单来说CPU偏控制、DSP偏运算。

FPGA是‘门’构成的,也就是与非等等;而DSP则是一个处理器;FPGA具有更好的开拓性;此外fpga的dsp builder已经可以在fpga上定做dsp。

FPGA适用于系统高速取样速率(≥几MHZ)、高数据率、框图方式编程、处理任务固定或重复、使用定点。) 适合于高速采样频率下,特别是任务比较固定或重复的情况以及试制样机、系统开发的场合。FPGA适合用于处理重复的、单纯的、并行计算的工作。

DSP适用于系统较低取样速率、低数据率、多条件操作、处理复杂的多算法任务、使用C语言编程、系统使用浮点。)适合于较低采样速率下多条件进程、特别是复杂的多算法任务。

现在常用的软件无线电平台就是利用FPGA+DSP+ARM的结构,FPGA主要对高速数据进行预处理,降低数据的速率,然后将数据送给DSP,去实现复杂的算法,ARM主要用来做显示控制。

 

CPLDComplex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。

CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。CPLD可以实现的功能比较单一,适合纯组合逻辑。因此在进行IC设计的原型验证或者设计中包含了复杂的协议处理,或者设计中使用大量的时序元件时一般选用FPGA器件。也就是说FPGA可以适应当前技术发展中高密度集成的各种设计。

====================================================

GPU和CPU的区别;

计算机体系结构、处理器架构:哈佛结构、冯诺依曼结构

架构=指令集架构,就是指指令集;

指令集ISA有:x86、ARM、MIPS;

微架构:指令集的具体实现,微架构,Haswell、Cortex-A75

====================================================

相关链接:

FPGA和DSP的优势、劣势:https://zhidao.baidu.com/question/81320514.html

一文读懂FPGACPLD的区别:http://www.elecfans.com/emb/fpga/20170926555542.html

一文带你了解CPUFPGACPLD的区别:http://www.elecfans.com/pld/714021.html

一文看懂DSP:http://www.sohu.com/a/293771664_132567

CPU和DSP的区别:http://bbs.21ic.com/icview-2389618-1-3.html?_dsign=8e00fd8b

FPGA和普通CPU的区别:https://blog.csdn.net/lijiuyangzilsc/article/details/44055861

FPGA和CPU的比较,很形象:http://www.elecfans.com/baike/zhujipeijian/cpu/20170426511395.html

FPGA和DSP的区别:https://blog.csdn.net/clara_d/article/details/82355397

FPGA和DSP的优势、区别:http://m.elecfans.com/article/991144.html

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注