微处理器件介绍:CPU/微控制器、DSP、FPGA、GPU

简单的微处理器件有51单片机、AVR单片机等,复杂的微处理器有电脑或手机中使用的不同架构的CPU,介于二者之间的还有诸如STM32等功能强大的嵌入式微控制器芯片。当然,有数据处理功能的芯片还有应用于信号处理领域的DSP,应用于特殊芯片设计的FPGA以及图像处理并行运算的GPU等,以上这些都可以统称为微处理器件。当然,与微处理器件相关的概念还有架构、内核、指令集等等,本篇博客的主要目的就是梳理这些概念之间的联系以及简单介绍各种微处理器件,并不深入具体的定义。

CPU/微控制器

一般而言,微控制器与微处理器的概念界限并不十分明显,但本文里面微控制器的概念则指较简单一点的嵌入式处理器如STM32、51、飞思卡尔等单片机。复杂的控制器芯片如电脑应用的基于X86架构的Intel处理器或手机里面基于ARM架构或ARM授权二次开发的各种芯片如华为的麒麟980、高通晓龙等比较习惯称为CPU。

上面是从应用的角度阐述这部分微处理器件的,但不管是CPU还是微控制器,从最基本的逻辑角度来分类的话,它们的内核可以被分为两大类,即所谓的基于“复杂指令集(CISC)”的内核与基于“精简指令集(RISC)”的内核。

CISC架构的代表: X86, X86-64, C51等;
RISC架构的代表: ARM, MIPS, AVR等;

(关于CISC与RISC的区别以及详细内容,这里就不做赘述了,可以查看相关的词条。)
在这里插入图片描述
对于基于不同指令集架构开发出来的核,个人电脑方面则是英特尔一家独大,掌控着X86核,并且只授权给了AMD一家公司,所以其他任何厂商都无法生产X86架构的芯片。移动领域,则是ARM架构一家独大,不管是苹果、华为、高通、还是三星、联发科都是基于ARM的架构开发自己的处理器的。

这里稍微提一下X86与ARM核的应用现状,传统上来看,X86架构的CPU比ARM架构的在系统性能方面要有优势,更适用于复杂的操作环境。但ARM的优势不在于性能强大而在于效率,具有低成本和低耗电的特性。前者追求大而全,后者追求小而精。ARM采用的RISC流水线指令集,在完成综合性工作方面本来就处于劣势,但在一些任务相对固定的应用场合例如移动通信领域,其优势就能发挥得淋漓尽致,这也是当前手机芯片采用ARM架构的原因。
在这里插入图片描述
基于RISC指令集的ARM架构结构简单,布局紧凑,可以模块化设计,故设计周期短且易于采用最新技术,这也是各个手机厂商发布手机芯片频率很高的原因,相对而言电脑的CPU性能提升就比较缓慢了。虽然ARM构架CPU性能的一路跃进,在某些测试中可以媲美X86/X64 CPU,但从目前乃至可见的未来一段时间内,电脑CPU的强大性能是手机CPU不可能替代的,因为复杂的使用需求多种多样,手机CPU依然属于专精于部分计算功能,而不是全面手。举个例子,手机支持4K高清解码还不太耗电,这是因为专门做了特殊的算法优化和硬件上的调整才实现的,换句话说,重点功能需要什么特定功能,手机CPU可以有针对性的做出调整,电脑CPU则在这方面的能力就要差一些,毕竟它追求的是通用性,要照顾所有功能需求。1

DSP

DSP严格来说是一门技术,中文译为数字信号处理,DSP模块不仅可以在DSP芯片中,其他类型的处理器也可以包含DSP模块,不过人们习惯将专用的DSP芯片简称为DSP。
DSP芯片(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,可以采用C语言开发,是以数字信号来处理大量信息的器件。DSP芯片在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,某种意义上说DSP就是一个微型计算机。
DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。
其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:
(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。2

FPGA

FPGA是英文Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,采用专用的硬件设计语言Verlog VHDL等进行开发,是专用集成电路(ASIC)中集成度最高的一种。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB (Input Output Block)和内部连线(Interconnect)三个部分。用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
ALTER公司的FPGA

FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。 FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM 中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。3

GPU

GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”,严格来讲GPU并不算是微处理器,一般不会单独应用,更多的时候是一种专用芯片的角色。GPU是显示卡的“大脑”,它决定了该显卡的档次和大部分性能,在手机主板上,GPU芯片一般都是紧挨着CPU芯片的。
在这里插入图片描述
GPU最初应用于图像处理领域,这些年,在深度学习中进行并行加速计算是其新兴起的应用。GPU 加速计算是指同时利用图形处理器 (GPU) 和 CPU,加快科学、分析、工程、消费和企业应用程序的运行速度。GPU 加速器于 2007 年由 NVIDIA率先推出,能够使从汽车、手机和平板电脑到无人机和机器人等平台的应用程序加速运行。4


  1. https://www.sohu.com/a/207845368_116178 ↩︎

  2. http://www.elecfans.com/pld/679394.html ↩︎

  3. http://cumt04071770.spaces.eepw.com.cn/articles/article/item/97268 ↩︎

  4. https://www.nvidia.cn/object/what-is-gpu-computing-cn.html ↩︎

发布了37 篇原创文章 · 获赞 33 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/xu_fengyu/article/details/85268653
今日推荐