今天,我们简单聊一聊CPU与GPU的区别 。
CPU的故事我们聊得比较多,之前也发过很多关于CPU的文章,因此这里重点说一下GPU 。
教授 vs 小学生
大家可以简单的将CPU理解为学识渊博的教授,什么都精通;而GPU则是一堆小学生,只会简单的算数运算 。
可即使教授再神通广大,也不能一秒钟内计算出500次加减法 。因此,对简单重复的计算来说,单单一个教授敌不过数量众多的小学生 。在进行简单的算数运算这件事上,500个小学生(并发)可以轻而易举打败教授 。

文章插图
我们可以看到,CPU和GPU的最大不同在于架构 。CPU适用于广泛的应用场景(学识渊博),可以执行任意程序;而GPU则专为多任务而生,并发能力强 。
具体来讲,就是多核,一般的CPU有2核、4核、8核等;而GPU则可能会有成百上千核 。

文章插图
可以看到,CPU内部cache以及控制部分占据了很大一部分片上面积,因此计算单元占比很少 。
点击获取1V1嵌入式学习规划,现在还送100G精选学习资料 。嵌入式物联网开发学习咨询

文章插图
下面,我们再来看看GPU 。GPU只有很简单的控制单元,剩下的大部分都被计算单元占据,因此CPU的核数有限,而GPU则轻松堆出上千核 。

文章插图
只不过CPU中每个核的能力好比教授,而GPU的每个核的能力好比一个小学生 。
你可能会想,为什么GPU需要这么奇怪的架构呢?
为什么GPU需要这么多核心?
想一想计算机上的一张图是怎么表示的?无非就是屏幕上的一个个像素:

文章插图
我们需要为每个像素进行计算,而且是相同的运算,就好比刚才例子中的小学生计算计加法一样 。
注意,对于屏幕来说一般会有上百万个像素,如果我们要串行的为每一个像素进行运算效率就太低了 。因此,我们可以让GPU中的每一个核心去为相应的像素进行计算 。由于GPU中有很多核心,因此并行计算可以大幅提高速度 。
现在你应该明白为什么GPU要这样工作了吧!
除了GPU的核心数比较多之外,GPU的工作方式也比较奇怪 。
奇怪的工作方式
对于CPU来说,不同的核心可以执行不同的机器指令,coreA在运行word线程的同时coreB上可以运行浏览器线程,这就是所谓的多指令多数据,MIMD(Multiple Instruction, Multiple Data) 。
而GPU则不同,GPU上的这些核心必须整齐划一的运行相同的机器指令,只是可以操作不同的数据,这就好比这些小学生在某个时刻必须都进行加法计算,不同的地方在于有的小学生可能需要计算1+1,有的要计算2+6等等,变化的地方仅在于操作数,这就是所谓的单指令多数据,SIMD(Single Instruction, Multiple Data) 。
因此,我们可以看到GPU的工作方式和CPU是截然不同的 。
除了这种工作方式之外,GPU的指令集还非常简单,不像CPU这种复杂的处理器 。如果你去看CPU的编程手册就会发现,CPU负责的事情非常多:中断处理、内存管理、IO等 。
这些对于GPU来说都是不存在的,可以看到GPU的定位非常简单,就是纯计算,GPU绝不是用来取代CPU的,CPU只是把一些GPU非常擅长的事情交给它,GPU仅仅是用来分担CPU工作的配角 。
CPU和GPU是这样配合工作的:

文章插图
GPU擅长什么
比较适合GPU的计算场景是这样的:1)计算简单;2)重复计算,因此如果你的计算场景和这里的图像渲染相似那么使用GPU就很合理了 。
因此对于图形图像计算、天气预报以及神经网络等都适用于GPU,哦对了,GPU还适合用来挖矿 。
【简析两者服务器的使用差别 gpu是什么和cpu的区别】 好啦,这个话题今天就到这里,希望这篇对大家理解GPU有所帮助 。
推荐阅读
- 牛肉和鳗鱼可以同吃吗
- 只需8步图解教你解决问题 代理服务器出现问题怎么办
- 揭晓两者的品牌档次级别 ck和小ck包包哪个档次高
- 两者优劣势全面分析 高通骁龙和联发科对比
- 简析所有音乐平台优缺点 酷狗和酷我哪个好用
- 重庆江津和长寿两个城市哪个好些
- 域名服务器的作用 域名服务器的工作原理是什么
- 服务器401错误问题
- 解读两者的差异与前景 二本和一本的区别在哪里
- 深度分析两者的性能差异对比 2060和3060性能差多少