文章目录[隐藏]
概述
今天主要介绍一下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来管的。
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容。感兴趣的朋友可以关注下~
以上就是由优质生活领域创作者 生活常识网 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:http://www.shenzhoubaby.com/3068.html,转载请说明来源于:生活常识网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系@qq.com进行处理。分享目的仅供大家学习与参考,不代表本站立场。