03.06 计算机为什么有GPU和CPU之分?

卓友翰


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(在图形计算单元上进行的通用计算)的由来。


超能网


二者都是芯片,功能和用途有所不同。

CPU,英文全称是Central Processing Unit,的缩写,中文名为中央处理器。

中央,就是核心,是计算机整个系统的“大脑”,没有CPU,计算机系统就失去指挥,没法工作了。

CPU主要包括运算器、控制单元、若干寄存器、高速缓存器和它们之间通讯的数据、控制及状态的总线。

它的工作逻辑:存储程序,按顺序执行。它最擅长于逻辑控制。由于CPU需要大量的空间去放置存储单元和控制逻辑,计算能力就受限制,当遇到大量简单重新性质的运算时,就需要GPU出场。

GPU,英文全称是Graphics Processing Unit, 中文名是图像处理器;

GPU主要解决并行运算问题。举个生活中的例子。火车站售票口前,顾客有1000人排队。如果只有一个售票员,那么即使他买票再熟练,手再快,也要人们排队,费时费力。如果有100个售票员同时售票,很快就解决问题。GPU解决的就是这个问题。这个问题在图形图处理时问题最突出,故改变算法规则,由GPU芯片来解决。

GPU不能独立工作,必须由CPU进行指挥,在CPU指挥下才能工作。

现在是大数据时代,GPU的地位越来越重要了。


仁观天下


这个问题问的非常好,cpu和gpu看着是只是相差一个字母,其实意思大不相同,主要处理的方面也是大不相同的。那区分出这两者,有什么原因吗?


CPU

cpu可以笼统的说是芯片,他也叫中心处理单元或者是中央处理器,总之,他又有很多的叫法,叫法不同,但是,他的作用都是一样的。


cpu主要处理的是一些运算问题,我们的大脑无时无刻的在进行运算,作为电脑端的大脑的cpu也是一样的。电脑上的一切有关的计算。比如说,你现在看到的这个网页,为什么标题的字的大小和正文的大小不一样,这就是cpu根据css网页的函数进行了大量的计算,最终的结果就是一个数字,这个数字规定了标题和正文只能是这么大。


如果你要跑一个很大很大的应用,里面有很多的向量的计算的时候,这时,其中的计算量绝对不是计算一个网页这么小的了。可能运算一个网页和渲染一个网页,一个cpu就可以搞定了,但是,涉及大量的向量运算和三角的运算的时候,cpu就绝对不够使用了,压力太大,他自己连计算本身的数据资源都不够用了,怎么去运算向量呢?这就扔出来了gpu


Gpu


随着显卡的发展,大家对gpu也越来越了解了。gpu主要是用来计算向量和三角的,我现在看到的图片,其实都是向量和三角组成的。向量在空间中,不仅仅可以表示方向,也能够表示大小,这就是他能够是用来表示图片的地方了。


gpu其实本身也有能够计算数据的能力,在没有gpu的年代里,这个任务是交给cpu来完成的。要是涉及渲染和大量的图片的情况下,cpu就就会很吃力。会严重的拖累工作和效率


所以,把有关渲染和处理向量三角的任务,单独的拿出来,做出一个新的核心,就叫gpu了。事实证明,他们的结合,可以大大的优化效率,所以现在都是用这个了


如果你喜欢我的文章的话,请点赞或者评论区留言

我们一起讨论和交换观点

你的鼓励是我最大的动力


看点消息


之所以有GPU与CPU之分,是因为计算可以大致分成两种类型:一种是按部就班的顺序式过程;另一种,是并行的过程,也就是同时做很多事情。

GPU的是英文Graphics Processing Unit的缩写,指的是图形处理器;CPU是Central Processing Unit的缩写,意思是中央处理器。我举个例子,如果我们要去买东西,比如说买一瓶饮料。那么,我们写下的流程可能就是:出门、走到A点、看看A附近有没有开着的超市。如果有则进去,否则去B。进入超市之后,看看有没有需要的饮料、有的话,付款、然后回家。

这是一个线性的、顺序的过程,一步只做一件事、只判断一件事。但是有的事情就不一样的。比如说军训时,教官让学员站好、排队排整齐,他的方法是什么?难道是甲站到某个位置,然后乙站到他的右边,丙再站到甲的右边,以此类推吗?不是的。

真实的站队过程比这样的效率要高很多:大家先聚到一起,各自找到自己身边的人,然后组成小组,再去组合。一个几百人的队伍,可能十几秒钟就基本组好了。之所以这么快,是因为他们的行为是并行的。所谓并行,就是指他们各自同时在做某件事。

并行处理在图像处理上非常重要,因为,很多图片本身储存量上百万个像素点,一个个的处理起来,时间会非常漫长。而若是用上百个处理器,并行处理,就会快很多。很多图像操作,比如调节曝光、颜色,其实是与像素在哪里无关的,这就可以使用GPU来处理。而且,由于GPU的并行处理特性,它现在不光用在图形处理上,还被广泛用于机器学习领域,可以大大加速处理速度。


章彦博


cpu和GPU的不同之处在于CPU是负责高级逻辑计算,就是类似于我们程序当中的各种循环判断带有逻辑性的计算方式,但是GPU也是负责计算的,但是GPU的计算方式是属于并行的大规模的简单运算就类似于简单的加减乘除一样,这是他们最大的区别。

CPU主要用来处理不同的数据类型,比如各种整型、浮点型、字符型等等的数据处理,同时还要引入各种复杂的逻辑判断跳转等,比方说游戏里面的各种坐标计算,各种动作的处理这都是需要CPU来完成的,这就使得CPU内部设计是十分复杂的,而GPU基本上处理的数据都是重复单一的类型相同,但是需要大量的重复计算,计算不复杂,尤其是类似于各种密码解密一样,比方说前段时间的的挖矿计算,这种计算本身不需要很复杂的计算就是需要大量的并行计算而已。GPU采用了超级多的计算单元和超长的流水线,因为其计算的数据都很简单并且没有复杂的逻辑控制,因此省去了各种的CACHE,由于CPU需要复杂的逻辑运算因此CPU内部被各种缓存设计占据了一定的空间,这就决定了CPU内部的电路复杂性,相比较GPU而言,CPU的运算力只是其中一部分的能力。

可以有这样的一个列子作为很好的说明,GPU的计算都是重复的工作计算量很大,这个就相当于有几万个算术题,都是简单的加减乘除,这些简单的计算小学生就可以解决了,因此你要瞬间完成这些算数量可以雇佣几百个小学生来计算这些题目,而CPU的运算由于比较复杂还要各种逻辑判断,因此让大学生来解答的,因此你让大学生去解答小学生的这些算术题,虽然单个速度快但是对于大学生来说没有任何挑战性,还占用了大学生的资源,因为计算这些用大批量的小学生即可完成的事情,为啥非要用大学生来搞定呢?GPU的计算题目之间并没有什么相关新,也就是说GPU的各个算数单元和流水线之间都是独立运算的只要把运算结果算出来即可,但是CPU不一样,CPU算的每个步骤之间都是有联系内部之间都是有关联的,并不能单独进行计算。

以上各种说明,其实都是解释了GPU和CPU的不同之处,GPU就是计算简单的问题流水线较长,其中的运算单元很多,而CPU就是内复杂有各种缓存设计,有各种的寄存器等等,因为其需要进行各种复杂的逻辑运算,其算力只是其中的一个功能,并不能代表其最终的性能。


程序小崔


农民兄弟杂货铺,通俗易懂,直接明了,不讲多余的废话。

就楼主提出的问题,是一个错误的提法,可能楼主本身不是很懂计算机,计算机是没有GPU与CPU之分,只能说计算机为什么有GPU和CPU或者说计算机里的CPU与GPU是什么意思,就楼主的”提法“我来简单说下。计算机硬件组成部分中的GPU与CPU分别是指什么?

1.CPU

中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,中央处理器主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)、控制器和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus),是一台电脑的核心部件,就像人的大脑一样。一般是安装在电脑主板上的,可以随时取下或安装上,现在全球民用市场做CPU的只有两家,intel与amd。别的目前没有公司能做出来的。CPU是下面这样的,


CPU在网上或实体电脑店都可以买的到,如果你稍懂点电脑组装的知识,就可以自已把自已的电脑升级,更换一颗更好点的CPU。

2.GPU

图形处理器(英语:Graphics Processing Unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,通俗的讲是一个颗BGA,芯片,是用专处理器,只能用来处理跟图形有关的。通常是安装在显卡上面的,不能更换。如果是并口数据,他处理不了,如果是网络数据他也处理不了,如果是调高显示器的刷新率他可以处理,他的样子是如下图这样的


GPU在一般的电脑的店,买不到,要到专门维修电脑的地方才有,而且就算你有这颗料,也是无法用的,GPU通用性基本为0,而且安装在显卡上要用到专门的机器才行的。

以上就是我的回答,希望能帮到你,更的学习资源请转发并关注我,如果你有更好的方法欢迎评论区留言哦。


分享到:


相關文章: