本日主要先容一下GPU、CPU和两者之间的区别。下面,我们一起来看。
1. CPU即中央处理惩罚器
CPU( Central Processing Unit, 中央处理惩罚器)就是呆板的“大脑”,也是机关盘算、发下令、节制动作的“总司令官”。
CPU的布局主要包罗运算器(ALU, Arithmetic and Logic Unit)、节制单位(CU, Control Unit)、寄存器(Register)、高速缓存器(Cache)和它们之间通讯的数据、节制及状态的总线。
简朴来说就是:计较单位、节制单位和存储单位
2. GPU即图形处理惩罚器。
GPU全称为Graphics Processing Unit,中文为图形处理惩罚器,就如它的名字一样,GPU最初是用在小我私家电脑、事情站、游戏机和一些移动设备(如平板电脑、智妙手机等)上运行画图运算事情的微处理惩罚器。
为什么GPU出格擅优点理图像数据呢?这是因为图像上的每一个像素点都有被处理惩罚的需要,并且每个像素点处理惩罚的进程和方法都十分相似,也就成了GPU的天然温床。
GPU的组成相对简朴,有数量浩瀚的计较单位和超长的流水线,出格适合处理惩罚大量的范例统一的数据。但GPU无法单独事情,必需由CPU举办节制挪用才气事情。CPU可单独浸染,处理惩罚巨大的逻辑运算和差异的数据范例,但当需要大量的处理惩罚范例统一的数据时,则可挪用GPU举办并行计较。
两者区别:
从基础上说CPU和GPU它们的目标差异,且有差异偏重点,也有着差异的机能特性,在某些事情中CPU执行得更快,另一事情中或者GPU能更好。当你需要对大量数据做同样的工作时,GPU更符合,当你需要对同一数据做许多工作时,CPU正好。
然而在实际应用中,后一种景象更多,也就是CPU更为机动能胜任更多的任务。GPU能做什么?关于图形方面的以及大型矩阵运算,如呆板进修算法、挖矿、暴力破解暗码等,GPU会大幅提高计较效率。
Cache, local memory: CPU > GPU
Threads(线程数): GPU > CPU
Registers: GPU > CPU 多寄存器可以支持很是多的Thread,thread需要用到register,thread数目大,register也必需得随着很大才行。
SIMD Unit(单指令大都据流,以同步方法,在同一时间内执行同一条指令): GPU > CPU。
简朴地说,CPU擅长分支预测等巨大操纵,GPU擅长对大量数据举办简朴操纵。一个是巨大的劳动,一个是大量并行的事情。
其实GPU可以看作是一种专用的CPU,专为单指令在大块数据上事情而设计,这些数据都是举办沟通的操纵,要知道处理惩罚一大块数据比处理惩罚一个一个数据更有效,执行指令开销也会大大低落,因为要处理惩罚大块数据,意味着需要更多的晶体管来并行事情,此刻旗舰级显卡都是百亿以上的晶体管。
CPU呢,它的目标是尽大概快地在单个数据上执行单个指令。由于它只需要利用单个数据单条指令,因此所需的晶体管数量要少得多,今朝主流桌面CPU晶体管都是十亿以下,和顶级GPU相差十倍以上,但它需要更大的指令集,更巨大的ALU(算术逻辑单位),更好的分支预测,更好的虚拟化架构、更低的延迟等等。
别的,像我们的操纵系统Windows,它是为x86处理惩罚器编写的,它需要做的任务执行的历程,在CPU上必定更为高效,你想每个线程的任务并不沟通,根基上难以并行化,完全发挥不了GPU的优点。
总结
总而言之,CPU和GPU因为最初用来处理惩罚的任务就差异,所以设计上有不小的区别。CPU的运算速度取决于请了何等锋利的传授。传授处理惩罚巨大任务的本领是碾压小学生的,可是对付没那么巨大的任务,照旧顶不住人多。虽然此刻的GPU也能做一些稍微巨大的事情了,相当于进级成初中生高中生的程度。但还需要CPU来把数据喂到嘴边才气开始干活,最终照旧靠CPU来管的。