处理器分类

关键词:处理器,集成电路,芯片,CPU,GPU,FPGA,ASIC,DSP。

计算机领域常用的处理器,有中央处理器(CPU)、图形处理器(GPU)、现场可编程逻辑门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理(DSP)芯片等。以下是对不同类型的处理器的简单说明:


●CPU(Central Processing Unit)。CPU是一块超大规模的集成电路,主要包括算术逻辑运算单元(Arithmetic Logic Unit,ALU)、控制单元(Control Unit)、高速缓冲存储器(Cache)和动态随机存取存储器(Dynamic Random Access Memory,DRAM),及实现它们之间联系的数据、控制及状态的总线(Bus)。CPU作为通用处理器,兼顾计算和控制,其中70%的晶体管用来构建存储器和控制单元,以处理复杂逻辑和提高指令的执行效率,真正的计算单元ALU只占了CPU结构中较小的一部分。因此,CPU的计算通用性强,可以处理的计算复杂
度高,但计算性能一般。


●GPU(Graphics Processing Unit)。GPU擅长做类似图像处理的并行计算,GPU能够提供大量的计算单元(多达几千个计算单元)和大量的高速内存,可以同时对很多数据进行并行处理。GPU中的晶体管更多用于计算单元,其逻辑控制单元与CPU相比较为简单,且一个逻辑控制单元对应多个计算单元,所以要想使计算单元充分并行起来,必然要求处理的算法本身复杂度较低,且处理的数据之间相互独立,这样才能充分发挥GPU的计算能力。

●DSP(Digital Signal Processor)芯片。DSP芯片的内部采用程序和数据分开的哈佛结构,具有硬件乘法器和多功能运算单元,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速的实现各种数字信号处理算法。

●ASIC(Application Specific Integrated Circuit)。ASIC是为了某种特定的需求而专门定制的芯片,目前主流的ASIC是CPLD(复杂可编程逻辑器件)和FPGA(现场可编程逻辑阵列),它们的共性是都具有用户现场可编程特性,都支持边界扫描技术,但两者在集成度、速度以及编程方式上具有各自的特点。ASIC的特点是面向特定用户的需求,品种多、批量少,要求设计和生产周期短,它作为集成电路技术与特定用户的整机或系统技术紧密结合的产物,与通用集成电路相比具有体积更小、重量更轻、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。


●FPGA(Field Programmable Gate Array)。FPGA是一种高性能、低功耗的可编程芯片,可以根据客户定制来做针对性的算法设计,并且可以重复编程。FPGA与CPU的不同在于FPGA无法应对没有被编程过的指令。编程方式一旦确定,FPGA就只能根据被编程的处理逻辑和方式来处理特定的数据输入。但这样的架构换来的是FPGA内部几乎全是计算单元,因此FPGA的实际运算能力会强得多,尤其是在运行简单但重复性高的任务的时候。并且由于省去了CPU的取指和译码两个步骤,FPGA重复运行相同代码的效率得到了极大的提高。


●CPLD(Complex Programmable Logic Device)。CPLD采用EEPROM设计复杂的可编程逻辑器件。它更适合于小型门数设计,由于它的结构不太复杂,延迟是可以预测的,并且是非易失性的。CPLD通常用于简单的逻辑应用程序。它只包含几个逻辑模块,但更大——达到100个。

FPGA和CPLD都是编程ASIC器件,但有如下区别:
①CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
⑦ 在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
⑧CPLD保密性好,FPGA保密性差。
⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。

参考文献:
1、专利文献CN109936472A

原文地址:https://www.cnblogs.com/siikee/p/15438961.html