今天主要介绍GPU、CPU和两者的区别。下面,我们一起来看看吧。1、CPU是中央处理器CPU(CentralProcessingUnit,中央处理器)是机器的“大脑”,也是部署战略、发布命令、控制行动的“总司令”。CPU的结构主要包括运算单元(ALU,ArithmeticandLogicUnit)、控制单元(CU,ControlUnit)、寄存器(Register)、高速缓存(Cache)和用于通信数据、控制和状态的总线他们之中。简单的说就是:计算单元、控制单元和存储单元2.GPU是图形处理单元。GPU的全称是GraphicsProcessingUnit,中文是图形处理器。正如它的名字一样,GPU最初是用来在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上运行图形运算的微处理器。为什么GPU特别擅长处理图像数据?这是因为图像上的每一个像素点都需要处理,而处理每一个像素点的过程和方法都非常相似,这就成了GPU天然的温床。GPU的组成比较简单,计算单元数量多,流水线超长,特别适合处理大量均匀数据。但是GPU不能单独工作,必须受CPU控制才能工作。CPU可以单独处理复杂的逻辑运算和不同的数据类型,但当需要大量统一类型的数据时,可以调用GPU进行并行计算。两者的区别:从根本上说,CPU和GPU的用途不同,侧重点不同,性能特点也不同。在某些任务中,CPU执行得更快,而在其他任务中,GPU可能执行得更好。当你需要对大量数据做同样的事情时,GPU更好,而当你需要对相同数据做很多事情时,CPU就很好。但在实际应用中,后一种情况更多,即CPU更加灵活,能够完成更多的任务。GPU能做什么?对于图形和大规模矩阵运算,如机器学习算法、挖矿、暴力破解密码等,GPU将大大提高计算效率。Cache、localmemory:CPU>GPUThreads(线程数):GPU>CPURegisters:GPU>CPU多个寄存器可以支持很多Thread,线程需要用到寄存器,线程数多,寄存器也必须要大。SIMDUnit(单指令多数据流,以同步的方式同时执行同一条指令):GPU>CPU。简单来说,CPU擅长分支预测等复杂运算,而GPU擅长对大量数据进行简单运算。一是复杂的劳动,二是海量的并行工作。实际上,GPU可以看成是一种专用CPU,专为单条指令处理大数据块而设计。指令开销也会大大降低,因为处理大块数据意味着需要更多的晶体管并行工作,而现在的旗舰显卡拥有超过100亿个晶体管。CPU呢,它的目的是尽可能快地对单个数据执行单个指令。因为它只需要使用单个数据和单个指令,所以所需的晶体管数量要少得多。目前主流的桌面CPU晶体管不到十亿,与顶级GPU相差十倍以上,但它需要更大的指令集和更多的复杂ALU(算术逻辑单元)、更好的分支预测、更好的虚拟化架构,更低的延迟等。此外,像我们的操作系统Windows一样,它是为x86处理器编写的。它需要执行的任务在CPU上肯定更有效率。你觉得每个线程的任务都不一样,基本上很难并行化。GPU的优势根本发挥不出来。总结总而言之,CPU和GPU的设计是不同的,因为它们最初是用来处理不同的任务的。CPU的运算速度取决于教授的实力。教授处理复杂任务的能力碾压小学生,但对于不那么复杂的任务,他还是不堪入目。当然现在的GPU也可以做一些稍微复杂一点的工作,相当于提升到了初中生和高中生的水平。但是还是需要CPU把数据喂到嘴里才能开始工作,最后还是由CPU来管理。
