请选择 进入手机版 | 继续访问电脑版

[编程10000问] CPU,GPU,DPU,TPU,NPU,BPU等处理器的性能及概念

[复制链接]
查看183 | 回复41 | 2021-9-12 03:39:15 | 显示全部楼层 |阅读模式
目次

1.CPU

CPU( Central Processing Unit, 中央 处理器)就是机器的“大脑”,也是布局盘算 、发号施令、控制举措 的“总司令官”。

CPU的布局 重要 包括运算器(ALU, Arithmetic and Logic Unit)、控制单元(CU, Control Unit)、寄存器(Register)、高速缓存器(Cache)和它们之间通讯的数据、控制及状态的总线。

简单来说就是:计算单元、控制单元和存储单元,架构如下图所示:

CPU,GPU,DPU,TPU,NPU,BPU等处理器的性能及概念

CPU,GPU,DPU,TPU,NPU,BPU等处理器的性能及概念
 

从字面上我们也很好明白 ,计算单元重要 实行 算术运算、移位等操作以及地址运算和转换;存储单元重要 用于保存运算中产生的数据以及指令等;控制单元则对指令译码,并且发出为完成每条指令所要实行 的各个操作的控制信号。

以是 一条指令在CPU中实行 的过程是如许 的:读取到指令后,通过指令总线送到控制器(黄色地区 )中举行 译码,并发出相应的操作控制信号;然后运算器(绿色地区 )按照操作指令对数据举行 计算,并通过数据总线将得到的数据存入数据缓存器(大块橙色地区 )

是不是有点儿复杂?不要紧 ,这张图完全不用记住,我们只必要 知道,CPU遵照 的是冯诺依曼架构,其核心就是:存储程序,次序 实行 。

讲到这里,有没有看出标题 ,没错——在这个布局 图中,负责计算的绿色地区 占的面积好像 太小了,而橙色地区 的缓存Cache和黄色地区 的控制单元占据了大量空间。

高中化学有句老生常谈的话叫:布局 决定性子 ,放在这里也非常实用 。

由于 CPU的架构中必要 大量的空间去放置存储单元(橙色部分)和控制单元(黄色部分),相比之下计算单元(绿色部分)只占据了很小的一部分,以是 它在大规模并行计算本领 上极受限定 ,而更善于 于逻辑控制。

别的 ,由于 遵照 冯诺依曼架构(存储程序,次序 实行 ),CPU就像是个一板一眼的管家,人们吩咐的事变 它总是一步一步来做。但是随着人们对更大规模与更快处理速率 的需求的增长 ,这位管家渐渐变得有些力有未逮 。

于是,大家就想,能不能把多个处理器放在同一块芯片上,让它们一起来办事 ,如许 服从 不就进步 了吗?

没错,GPU便由此诞生了。

2.GPU

在正式讲解GPU之前,我们先来讲讲上文中提到的一个概念——并行计算。

并行计算(Parallel Computing)是指同时使用 多种计算资源办理 计算标题 的过程,是进步 计算机体系 计算速率 和处理本领 的一种有用 本领 。它的基本头脑 是用多个处理器来共同求解同一标题 ,即将被求解的标题 分解成多少 个部分,各部分均由一个独立的处理机来并行计算。

并行计算可分为时间上的并行和空间上的并行。

时间上的并行是指流水线技术,比如说工厂生产食品的时间 分为四步:洗濯 -消毒-切割-包装。

假如 不采用流水线,一个食品完成上述四个步骤后,下一个食品才举行 处理,耗时且影响服从 。但是采用流水线技术,就可以同时处理四个食品。这就是并行算法中的时间并行,在同一时间启动两个或两个以上的操作,大大进步 计算性能。

空间上的并行是指多个处理机并发的实行 计算,即通过网络将两个以上的处理机毗连 起来,达到同时计算同一个任务 的不同部分,或者单个处理机无法办理 的大型标题 。

比如小李准备 在植树节种三棵树,假如 小李1个人必要 6个小时才能完成任务 ,植树节当天他叫来了好朋侪 小红、小王,三个人同时开始挖坑植树,2个小时后每个人都完成了一颗植树任务 ,这就是并行算法中的空间并行,将一个大任务 分割成多个雷同 的子任务 ,来加快标题 办理 速率 。

以是 说,假如 让CPU来实行 这个种树任务 的话,它就会一棵一棵的种,花上6个小时的时间,但是让GPU来种树,就相当 于好几个人同时在种。

GPU全称为Graphics Processing Unit,中文为图形处理器,就如它的名字一样,GPU最初是用在个人电脑、工作站、游戏机和一些移动装备 (如平板电脑、智能手机等)上运行绘图运算工作的微处理器。

为什么GPU特殊 善于 处理图像数据呢?这是由于 图像上的每一个像素点都有被处理的必要 ,而且每个像素点处理的过程和方式都非常 相似,也就成了GPU的天然 温床。

GPU简单架构如下图所示:

CPU,GPU,DPU,TPU,NPU,BPU等处理器的性能及概念

从架构图我们就能很显着 的看出,GPU的构成相对简单,有数目 浩繁 的计算单元和超长的流水线,特殊 得当 处理大量的范例 同一 的数据。

但GPU无法单独工作,必须由CPU举行 控制调用才能工作。CPU可单独作用,处理复杂的逻辑运算和不同的数据范例 ,但当必要 大量的处理范例 同一 的数据时,则可调用GPU举行 并行计算。

注:GPU中有很多的运算器ALU和很少的缓存cache,缓存的目的 不是保存后面必要 访问的数据的,这点和CPU不同,而是为线程thread进步 服务的。假如 有很多线程必要 访问同一个雷同 的数据,缓存会合并这些访问,然后再去访问dram。

GPU的工作大部分都计算量大,但没什么技术含量,而且要重复很多很多次。

借用知乎上某大神的说法,就像你有个工作必要 计算几亿次一百以内加减乘除一样,最好的办法就是雇上几十个小弟子 一起算,一人算一部分,反正这些计算也没什么技术含量,纯粹体力活而已;而CPU就像老传授 ,积分微分都会算,就是工资高,一个老传授 资顶二十个小弟子 ,你要是富士康你雇哪个?

GPU就是用很多简单的计算单元去完成大量的计算任务 ,纯粹的人海战术。这种策略基于一个条件 ,就是小弟子 A和小弟子 B的工作没有什么依赖 性,是互相独立的。

但有一点必要 夸大 ,固然 GPU是为了图像处理而生的,但是我们通过前面的先容 可以发现,它在布局 上并没有专门为图像服务的部件,只是对CPU的布局 举行 了优化与调整,以是 如今 GPU不仅可以在图像处理范畴 大显技艺 ,它还被用来科学计算、暗码 破解、数值分析,海量数据处理(排序,Map-Reduce等),金融分析等必要 大规模并行计算的范畴 。

以是 GPU也可以以为 是一种较通用的芯片。

3.TPU

按照上文所述,CPU和GPU都是较为通用的芯片,但是有句老话说得好:全能 工具的服从 永世 比不上专用工具。

随着人们的计算需求越来越专业化,人们渴望 有芯片可以更加符合本身 的专业需求,这时,便产生了ASIC(专用集成电路)的概念。

ASIC是指依产品需求不同而定制化的特殊 规格集成电路,由特定使用 者要求和特定电子体系 的必要 而计划 、制造。当然这概念不用记,简单来说就是定制化芯片。

由于 ASIC很“笃志 ”,只做一件事,以是 它就会比CPU、GPU等能做很多件事的芯片在某件事上做的更好,实现更高的处理速率 和更低的能耗。但相应的,ASIC的生产成本也非常高。

而TPU(Tensor Processing Unit, 张量处理器)就是谷歌专门为加速深层神经网络运算本领 而研发的一款芯片,着实 也是一款ASIC。

原来很多的机器学习以及图像处理算法大部分都跑在GPU与FPGA(半定制化芯片)上面,但这两种芯片都还是一种通用性芯片,以是 在效能与功耗上还是不能更精密 的适配机器学习算法,而且Google不停 坚信巨大 的软件将在巨大 的硬件的帮助下更加大放异彩,以是 Google便想,我们可不可以做出一款专用机机器学习算法的专用芯片,TPU便诞生了。

据称,TPU与同期的CPU和GPU相比,可以提供15-30倍的性能提升 ,以及30-80倍的服从 (性能/瓦特)提升 。初代的TPU只能做推理,要依赖 Google云来及时 网络 数据并产见效 果 ,而训练 过程还必要 额外的资源;而第二代TPU既可以用于训练 神经网络,又可以用于推理。

看到这里你大概 会问了,为什么TPU会在性能上这么牛逼呢?

嗯,谷歌写了好几篇论文和博文来阐明 这一缘故起因 ,以是 仅在这里抛砖引玉一下。

CPU,GPU,DPU,TPU,NPU,BPU等处理器的性能及概念

CPU,GPU,DPU,TPU,NPU,BPU等处理器的性能及概念

如上图所示,TPU在芯片上使用 了高达24MB的局部内存,6MB的累加器内存以及用于与主控处理器举行 对接的内存,统共 占芯单方面 积的37%(图中蓝色部分)。

这表示谷歌充分意识到了片外内存访问是GPU能效比低的罪魁祸首,因此不惜成本的在芯片上放了巨大的内存。相比之下,英伟达同时期的K80只有8MB的片上内存,因此必要 不断地去访问片外DRAM。

别的 ,TPU的高性能还泉源 于对于低运算精度的容忍。研究效果 表明,低精度运算带来的算法准确 率丧失 很小,但是在硬件实现上却可以带来巨大的便利,包括功耗更低、速率 更快、占芯单方面 积更小的运算单元、更小的内存带宽需求等...TPU采用了8比特的低精度运算。

别的 更多的信息可以去翻翻谷歌的论文。

到现在 为止,TPU着实 已经干了很多事变 了,比方 机器学习人工智能体系 RankBrain,它是用来帮助Google处理搜刮 效果 并为用户提供更加干系 搜刮 效果 的;还有街景Street View,用来进步 地图与导航的准确 性的;当然还有下围棋的计算机程序AlphaGo!

4.NPU

讲到这里,信赖 大家对这些所谓的“XPU”的套路已经有了肯定 相识 ,我们接着来。

所谓NPU(Neural network Processing Unit), 即神经网络处理器。顾名思义,这家伙是想用电路模仿 人类的神经元和突触布局 啊!

怎么模仿 ?那就得先来看看人类的神经布局 ——生物的神经网络由多少 人工神经元结点互联而成,神经元之间通过突触两两毗连 ,突触记录了神经元之间的接洽 。

假如 想用电路模仿 人类的神经元,就得把每个神经元抽象为一个激励函数,该函数的输入由与其相连的神经元的输出以及毗连 神经元的突触共同决定。

为了表达特定的知识,使用 者通常必要 (通过某些特定的算法)调整人工神经网络中突触的取值、网络的拓扑布局 等。该过程称为“学习”。

在学习之后,人工神经网络可通过习得的知识来办理 特定的标题 。

这时不知道大家有没有发现标题 ——原来,由于深度学习的基本操作是神经元和突触的处理,而传统的处理器指令集(包括x86和ARM等)是为了举行 通用计算发展起来的,其基本操作为算术操作(加减乘除)和逻辑操作(与或非),通常 必要 数百乃至 上千条指令才能完成一个神经元的处理,深度学习的处理服从 不高。

这时就必须另辟蹊径——突破经典的冯·诺伊曼布局 !

神经网络中存储和处理是一体化的,都是通过突触权重来表现 。 而冯·诺伊曼布局 中,存储和处理是分离的,分别由存储器和运算器来实现,二者之间存在巨大的差异。当用现有的基于冯·诺伊曼布局 的经典计算机(如X86处理器和英伟达GPU)来跑神经网络应用时,就不可避免地受到存储和处理分离式布局 的制约,因而影响服从 。这也就是专门针对人工智能的专业芯片可以或许 对传统芯片有肯定 天赋 上风 的缘故起因 之一。

NPU的典型代表有国内的寒武纪芯片和IBM的TrueNorth。以中国的寒武纪为例,DianNaoYu指令直接面临 大规模神经元和突触的处理,一条指令即可完成一组神经元的处理,并对神经元和突触数据在芯片上的传输提供了一系列专门的支持。

用数字来语言 ,CPU、GPU与NPU相比,会有百倍以上的性能或能耗比差距——以寒武纪团队过去和Inria团结 发表的DianNao论文为例——DianNao为单核处理器,主频为0.98GHz,峰值性能达每秒4520亿次神经网络基本运算,65nm工艺下功耗为0.485W,面积3.02平方毫米mm。

文章开头所说的mate10中所用的麒麟970芯片,就集成了寒武纪的NPU,以是 才可以实现所谓的照片优化功能,以及保证你的手机用了很长时间后还能不卡(当然也得真正用了才能知道有没有宣传的这么好)。

PS,中星微电子的“星光智能一号”虽说对外号称是NPU,但着实 只是DSP,仅支持网络正向运算,无法支持神经网络训练 。

5.ASIC

ASIC(Application Specific Integrated Circuit)是一种为专门目的 而计划 的集成电路。无法重新编程,效能高功耗低,但价格昂贵。比年 来涌现出的雷同 TPU、NPU、VPU、BPU等令人眼花缭乱的各种芯片,本质上都属于ASIC。ASIC不同于 GPU 和 FPGA 的机动 性,定制化的 ASIC 一旦制造完成将不能更改,以是 初期成本高、开辟 周期长的使得进入门槛高。现在 ,大多是具备 AI 算法又善于 芯片研发的巨头参与,如 Google 的 TPU。由于美满 实用 于神经网络干系 算法,ASIC 在性能和功耗上都要优于 GPU 和 FPGA,TPU1 是传统 GPU 性能的 14-16 倍,NPU 是 GPU 的 118 倍。寒武纪已发布对外应用指令集,预计 ASIC 将是将来 AI 芯片的核心。

6.BPU(Brain Processing Unit,大脑处理器)

是由地平线科技提出的嵌入式人工智能处理器架构。第一代是高斯架构,第二代是伯努利架构,第三代是贝叶斯架构。现在 地平线已经计划 出了第一代高斯架构,并与英特尔在2017年CES展会上团结 推出了ADAS体系 (高级驾驶辅助体系 )。

7. DPU(Deep learning Processing Unit, 即深度学习处理器)

最早由国内深鉴科技提出,基于Xilinx可重构特性的FPGA芯片,计划 专用的深度学习处理单元(可基于已有的逻辑单元,计划 并行高效的乘法器及逻辑电路,属于IP范畴),且抽象出定制化的指令集和编译器(而非使用 OpenCL),从而实现快速的开辟 与产品迭代。毕竟 上,深鉴提出的DPU属于半定制化的FPGA。

嵌入式神经网络处理器(NPU)采用“数据驱动并行计算”的架构,特殊 善于 处理视频、图像类的海量多媒体数据。

NPU处理器专门为物联网人工智能而计划 ,用于加速神经网络的运算,办理 传统芯片在神经网络运算时服从 低下的标题 。

在GX8010中,CPU和MCU各有一个NPU,MCU中的NPU相对较小,风俗 上称为SNPU。

NPU处理器包括了乘加、激活函数、二维数据运算、解压缩等模块。

乘加模块用于计算矩阵乘加、卷积、点乘等功能,NPU内部有64个MAC,SNPU有32个。

激活函数模块采用最高12阶参数拟合的方式实现神经网络中的激活函数,NPU内部有6个MAC,SNPU有3个。

二维数据运算模块用于实现对一个平面的运算,如降采样、平面数据拷贝等,NPU内部有1个MAC,SNPU有1个。

解压缩模块用于对权重数据的解压。为相识 决物联网装备 中内存带宽小的特点,在NPU编译器中会对神经网络中的权重举行 压缩,在几乎不影响精度的环境 下,可以实现6-10倍的压缩效果 。

不,听说 每过18天,集成电路范畴 就会多出一个XPU,直到26个字母被用完。

这被戏称为AI期间 的XPU版摩尔定律。

据不完全统计,已经被用掉的有:

APU -- Accelerated Processing Unit, 加速处理器,AMD公司推出加速图像处理芯片产品。

BPU -- Brain Processing Unit, 地平线公司主导的嵌入式处理器架构。主动 驾驶

CPU -- Central Processing Unit 中央 处理器, 现在 PC core的主流产品。

DPU -- Deep learning Processing Unit, 深度学习处理器,最早由国内深鉴科技提出;另说有Dataflow Processing Unit 数据流处理器, Wave Computing 公司提出的AI架构;Data storage Processing Unit,深圳大普微的智能固态硬盘处理器。

FPU -- Floating Processing Unit 浮点计算单元,通用处理器中的浮点运算模块。

GPU -- Graphics Processing Unit, 图形处理器,采用多线程SIMD架构,为图形处理而生。

HPU -- Holographics Processing Unit 全息图像处理器, 微软出品的全息计算芯片与装备 。

IPU -- Intelligence Processing Unit, Deep Mind投资的Graphcore公司出品的AI处理器产品。

MPU/MCU -- Microprocessor/Micro controller Unit, 微处理器/微控制器,一样平常 用于低计算应用的RISC计算机体系架构产品,如ARM-M系列处理器。

NPU -- Neural Network Processing Unit,神经网络处理器,是基于神经网络算法与加速的新型处理器总称,如中科院计算所/寒武纪公司出品的diannao系列。

RPU -- Radio Processing Unit, 无线电处理器, Imagination Technologies 公司推出的集合集Wifi/蓝牙/FM/处理器为单片的处理器。

TPU -- Tensor Processing Unit 张量处理器, Google 公司推出的加速人工智能算法的专用处理器。现在 一代TPU面向Inference,二代面向训练 。别的 ,

VPU -- Vector Processing Unit 矢量处理器,Intel收购的Movidius公司推出的图像处理与人工智能的专用芯片的加速计算核心。

WPU -- Wearable Processing Unit, 可穿戴处理器,Ineda Systems公司推出的可穿戴片上体系 产品,包含GPU/MIPS CPU等IP。

XPU -- 百度与Xilinx公司在2017年Hotchips大会上发布的FPGA智能云加速,含256核。

ZPU -- Zylin Processing Unit, 由挪威Zylin 公司推出的一款32位开源处理器。

当26个字母被用完后,即将出现XXPU,XXXPU,并以更快的速率 霸占 起名界。

关于CPU,GPU,TPU,DPU,NPU,BPU等各种处理器的内容就到这里啦,有木有忽然 透彻的感觉呢,更多干系 内容请搜刮 脚本之家从前 的文章或继续欣赏 下面的干系 文章渴望 大家以后多多支持脚本之家!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar 枣强公用号 | 2021-9-14 22:01:01 | 显示全部楼层
admin楼主英明!
回复

使用道具 举报

avatar 马马虎虎770 | 2021-9-15 22:17:23 | 显示全部楼层
今天是个特别的日子,值得纪念!
回复

使用道具 举报

avatar 叫啥不行靠 | 2021-9-17 04:55:25 | 显示全部楼层
看在admin楼主的面子上,认真回帖!
回复

使用道具 举报

avatar 哲911 | 2021-9-18 01:16:01 | 显示全部楼层
禽兽不如应该不是说admin楼主的的吧?
回复

使用道具 举报

avatar mbmwhfyn615732 | 2021-9-18 01:16:04 | 显示全部楼层
信admin楼主,考试不挂科!
回复

使用道具 举报

avatar 宋751 | 2021-9-19 11:21:56 | 显示全部楼层
admin楼主练了葵花宝典吧?
回复

使用道具 举报

avatar 不忘初心xrl | 2021-9-19 17:39:34 | 显示全部楼层
吹牛的人越来越多了!
回复

使用道具 举报

avatar xinting_6ym | 2021-10-4 09:39:54 | 显示全部楼层
管它三七二十一!
回复

使用道具 举报

avatar 天一教育培训寐 | 2021-10-6 07:52:07 | 显示全部楼层
无图无真相!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则