欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

在计算方面 CPU核心和GPU核心有何区别?

程序员文章站 2022-03-01 17:34:50
本文转载自,其他媒体转载须经超能网同意。 pc在刚诞生的时候,其实是没有gpu的,所有的图形计算都由cpu来计算。后来人们意识到cpu做图形计算太慢了,于是他们设计了...

本文转载自,其他媒体转载须经超能网同意。

pc在刚诞生的时候,其实是没有gpu的,所有的图形计算都由cpu来计算。后来人们意识到cpu做图形计算太慢了,于是他们设计了专门的图形加速卡用来帮忙处理图形计算,再后来,nvidia提出了gpu的概念,将gpu提升到了一个单独的计算单元的地位。

在计算方面 CPU核心和GPU核心有何区别?

由于两者面向的计算不同,cpu面对的是人们各种各样的需求,比如你打开一个网页的时候,cpu要负责网络交互,要解析html文件和js脚本,要构建dom树,要加载各种各样的资源,而最后才轮到gpu的事情:渲染画面并输出。

再举个例子,玩游戏的时候,cpu负责完成游戏程序的逻辑、从硬盘里面加载游戏数据,然后才开始把图形相关的东西挑出来交给gpu做,而游戏中的各种运算还是离不开cpu的帮助,比如常见的npc,他们怎么运动,还是需要cpu来运算。

在计算方面 CPU核心和GPU核心有何区别?

从上述两个例子中就可以看出,cpu负责的是各种各样的计算,为了应对这么多种类的计算,它的通用性要求非常高,而这就必定会造成设计上的复杂,比如要支持if-else这类条件语句就要针对性加入一些控制单元。而gpu从诞生开始,面对的就是单一种类的计算,早期的gpu为了更好的应对单一的图形计算任务,采用的是流水管线形式的设计,通过在芯片规模上的大量堆叠,就可以获得在图形处理速度上的提升,从而提供更好的画质,简单粗暴。

所以问题的答案很明显了,在计算上,cpu的通用性更强,什么活都能接,但是速度都不咋地;gpu只能接图形计算这类活,速度非常快,或者也可以接特别写给它来计算的任务,这也就是gpgpu(在图形计算单元上进行的通用计算)的由来。