CPU/GPU/TPU/NPU…XPU都是什么意思?
现在这年代,技术日新月异,物联网、人工智能、深度学习等概念遍地开花,各类芯片名词GPU, TPU, NPU,DPU层出不穷…都是什么鬼?与CPU又是什么关系?
HW发布了新款Mate 手机,里面有个叫什么NPU的,听起来很厉害,这是什么东西啊?就是人工智能处理器。
什么是人工智能处理器?和CPU有啥区别?和GPU有啥区别?不都带个PU吗?
本文通俗易懂的科普一下这些所谓的“XPU”!
CPU
CPU( Central Processing Unit, 中央处理器)就是机器的“大脑”,也是布局谋略、发号施令、控制行动的“总司令官”。
CPU的结构主要包括运算器(ALU, Arithmetic and Logic Unit)、控制单元(CU, Control Unit)、寄存器(Register)、高速缓存器(Cache)和通讯数据、控制及状态的总线。
简单来说就是:计算单元、控制单元和存储单元,架构如下图所示:
图:CPU微架构示意图
换种表示方法:
图:CPU微架构示意图(改)
大概就是这个意思。
从字面上也很好理解,计算单元主要执行算术运算、移位等操作以及地址运算和转换;存储单元主要用于保存运算中产生的数据以及指令等;控制单元则对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。
所以一条指令在CPU中执行的过程是这样的:读取到指令后,通过指令总线送到控制器(黄色区域)中进行译码,并发出相应的操作控制信号;然后运算器(绿色区域)按照操作指令对数据进行计算,并通过数据总线将得到的数据存入数据缓存器(大块橙色区域)。过程如下图所示:
图:CPU执行指令图
CPU遵循的是冯诺依曼架构,其核心就是:存储程序,顺序执行。在这个结构图中,负责计算的绿色区域占的面积似乎太小了,而橙色区域的缓存Cache和黄色区域的控制单元占据了大量空间。
因为CPU的架构中需要大量的空间去放置存储单元(橙色部分)和控制单元(黄色部分),相比之下计算单元(绿色部分)只占据了很小的一部分,所以,在大规模并行计算能力上极受限制,而更擅长于逻辑控制。
另外,因为遵循冯诺依曼架构(存储程序,顺序执行),CPU就像是个一板一眼的管家,人们吩咐的事情它总是一步一步来做。但是随着人们对更大规模与更快处理速度的需求的增加,这位管家渐渐变得有些力不从心。
于是,大家就想,能不能把多个处理器放在同一块芯片上,一起来做事,这样效率不就提高了吗?
没错,GPU便由此诞生了。
GPU
在正式讲解GPU之