PC在刚诞生的时候,其实是没有GPU的,所有的图形计算都由CPU来计算。后来人们意识到CPU做图形计算太慢了,于是他们设计了专门的图形加速卡用来帮忙处理图形计算,再后来,NVIDIA提出了GPU的概念,将GPU提升到了一个单独的计算单元的地位。
图片来自于NVIDIA
由于两者面向的计算不同,CPU面对的是人们各种各样的需求,比如你打开一个网页的时候,CPU要负责网络交互,要解析HTML文件和JS脚本,要构建DOM树,要加载各种各样的资源,而最后才轮到GPU的事情:渲染画面并输出。
再举个例子,玩游戏的时候,CPU负责完成游戏程序的逻辑、从硬盘里面加载游戏数据,然后才开始把图形相关的东西挑出来交给GPU做,而游戏中的各种运算还是离不开CPU的帮助,比如常见的NPC,他们怎么运动,还是需要CPU来运算。
从上述两个例子中就可以看出,CPU负责的是各种各样的计算,为了应对这么多种类的计算,它的通用性要求非常高,而这就必定会造成设计上的复杂,比如要支持if-else这类条件语句就要针对性加入一些控制单元。而GPU从诞生开始,面对的就是单一种类的计算,早期的GPU为了更好的应对单一的图形计算任务,采用的是流水管线形式的设计,通过在芯片规模上的大量堆叠,就可以获得在图形处理速度上的提升,从而提供更好的画质,简单粗暴。
所以问题的答案很明显了,在计算上,CPU的通用性更强,什么活都能接,但是速度都不咋地;GPU只能接图形计算这类活,速度非常快,或者也可以接特别写给它来计算的任务,这也就是GPGPU(在图形计算单元上进行的通用计算)的由来。
超能网友学前班 2020-06-14 13:23 | 加入黑名单
该评论年代久远,荒废失修,暂不可见。
支持(1) | 反对(0) | 举报 | 回复
14#
游客 2019-07-24 14:54
支持(2) | 反对(0) | 举报 | 回复
13#
我匿名了 2019-07-20 12:17
支持(6) | 反对(0) | 举报 | 回复
12#
超能网友博士 2019-07-20 11:13 | 加入黑名单
该评论年代久远,荒废失修,暂不可见。
支持(6) | 反对(0) | 举报 | 回复
11#
超能网友博士 2019-07-20 01:37 | 加入黑名单
该评论年代久远,荒废失修,暂不可见。
支持(2) | 反对(1) | 举报 | 回复
10#
超能网友终极杀人王 2019-07-19 23:25 | 加入黑名单
该评论年代久远,荒废失修,暂不可见。
支持(1) | 反对(0) | 举报 | 回复
9#
游客 2019-07-19 21:53
支持(3) | 反对(2) | 举报 | 回复
8#
游客 2019-07-19 20:16
支持(8) | 反对(4) | 举报 | 回复
7#
超能网友博士 2019-07-19 16:58 | 加入黑名单
支持(8) | 反对(0) | 举报 | 回复
6#
游客 2019-07-19 16:57
支持(1) | 反对(0) | 举报 | 回复
5#
游客 2019-07-19 16:18
该评论年代久远,荒废失修,暂不可见。
支持(7) | 反对(1) | 举报 | 回复
4#
游客 2019-07-19 16:16
该评论年代久远,荒废失修,暂不可见。
支持(2) | 反对(0) | 举报 | 回复
3#
游客 2019-07-19 15:43
该评论年代久远,荒废失修,暂不可见。
已有6次举报支持(19) | 反对(4) | 举报 | 回复
2#
我匿名了 2019-07-19 15:42
该评论年代久远,荒废失修,暂不可见。
支持(7) | 反对(0) | 举报 | 回复
1#