首页 > 资讯 > 数码知识内容详情

gpu是什么和cpu的区别(cpu与gpu哪个要更强) 2023-11-30 00:00:00 网络

今天我们就来简单说说CPU和GPU的区别。

CPU的故事我们讲了很多,之前也发了很多关于CPU的文章,这里就重点讲一下GPU。

教授vs小学生可以简单的把CPU理解为一个什么都精通的知识渊博的教授;GPU则是一堆只会简单算术的小学生。

但教授再厉害,也不可能一秒钟算出500个加减法。所以对于简单重复的计算,单个教授比不上一大批小学生。在做简单的算术时,500个学生(同时)能轻而易举地胜过教授。

gpu是什么和cpu的区别(cpu与gpu哪个要更强)

我们可以看到CPU和GPU最大的区别在于架构。CPU适用于广泛的应用场景(知识性),可以执行任意程序;而GPU则是为多任务设计的,并发性强。

具体来说就是多核,一般CPU有2核、4核、8核等。而GPU可能有数百或数千个内核。

gpu是什么和cpu的区别(cpu与gpu哪个要更强)

可以看出,CPU的内部缓存和控制部分占据了很大一部分片上面积,所以计算单元所占比例很小。

***1V1嵌入式学习计划,现在还送100G精选学习资料。嵌入式物联网开发学习咨询

gpu是什么和cpu的区别(cpu与gpu哪个要更强)

接下来,我们来看看GPU。GPU只有一个简单的控制单元,其余大部分都被计算单元占用,所以CPU核的数量是有限的,而GPU可以轻松堆出上千个核。

gpu是什么和cpu的区别(cpu与gpu哪个要更强)

只是CPU里的每个核都像教授一样能干,而GPU里的每个核都像小学生一样能干。

你可能会想,GPU为什么需要这么奇怪的架构?

为什么GPU需要那么多核心?想想电脑上的一张图片是怎么表现的。无非是屏幕上的一个像素:

gpu是什么和cpu的区别(cpu与gpu哪个要更强)

我们需要对每个像素进行计算,而且是同样的操作,就像刚才例子中的小学生计算器加法一样。

注意,屏幕上通常有几百万个像素,如果要把每个像素都串联起来计算,效率太低。因此,我们可以让GPU中的每个内核计算对应的像素。因为GPU的核很多,并行计算可以大大提高速度。

现在你应该明白GPU为什么是这样工作的了吧!

除了大量的GPU核心,GPU的工作方式也很奇怪。

奇怪的工作模式对于CPU来说,不同的核心可以执行不同的机器指令。coreA可以在coreB上运行浏览器线程,同时运行word线程。这就是所谓的MIMD(多指令多数据(MIMD))。

另一方面,GPU不一样。GPU上的这些核心必须统一运行相同的机器指令,但可以操作不同的数据。这就好比这些小学生在某个时刻要进行加法运算。不同的是有的小学生可能需要算“1,有的小学生需要算”6等等。唯一的变化是操作数。这就是所谓的SIMD(单指令多数据(SIMD))。

所以我们可以看到GPU的工作方式和CPU完全不同。

除了这种工作方式,GPU的指令集非常简单,不像CPU这样复杂的处理器。如果你看看CPU的编程手册,你会发现CPU负责很多事情:中断处理、内存管理、IO等等。

这些对于GPU来说是不存在的。可见GPU的定位很简单,就是纯计算。GPU***用来代替CPU,只是赋予了它一些GPU很擅长的东西,GPU只是用来分担CPU工作的配角。

CPU和GPU是这样协同工作的:

gpu是什么和cpu的区别(cpu与gpu哪个要更强)

GPU擅长的更适合GPU计算场景:1)简单计算;2)重复计算,所以如果你的计算场景和这里的图像渲染差不多,用GPU也是合理的。

因此,它适用于图形图像计算、天气预报和神经网络。哦,对了,GPU也适合挖矿。

好了,今天就到这里。希望这篇文章能帮助你了解GPU。

结束

文章链接:https://mp.weixin.qq.com/s/t38ax6e0ZY8KAnCC2qPUYQ

转载自:嵌入式微处理器

文章来源:码农的荒岛求生,作者陆晓峰。

文章链接:有趣的解释:CPU和GPU有什么区别?

版权声明:本文来自网络,免费传递知识,版权归原作者所有。请联系我删除作品版权。

相关标签: 数码科技