Subscribe to RSS Add to Technorati Faves Digg This Page Send to Stumble Upon Bookmark on Delicious

也谈CPU和GPU之间的关系:融合、取代还是共存?

作者 赵军, 2008年4月29日

最近一段时间,关于“在PC机中,是CPU重要还是GPU重要?”,“是CPU要融合GPU,还是GPU要取代CPU?”是业界比较热闹的话题之一。今天,我也来凑凑热闹,发表一下我自己的观点和看法

一.首先,来看看CPU和GPU的诞生

CPU(Central Processing Unit),即“中央处理单元”,更多人把它称为中央处理器(Central Processor),或者微处理器(Microprocessor)。其实,更准确的全称是通用微处理器(General Purpose Microprocessor)。中央处理器名副其实,它是整个计算机系统中最为重要的核心部件,就是电脑之“脑”,电脑的“思维中心”。

世界上第一颗微处理器Intel 4004,是由英特尔工程师泰德•霍夫于1971年发明的。而首款真正的通用微处理器是Intel 8080,于1974年诞生,时钟频率为2MHz。

GPU(Graphics Processing Unit),即“图形处理单元”,早期图形处理单元只是以“显示输出子系统”概念出现在系统的设计框架中,物理形态就是显示卡,主要以2D 图形(二维图形)处理和输出为主,后来又起到了图形加速的作用,所以也叫图形加速器(Graphics Accelerator)。以“GPU”概念的独立形式出现是伴随着3D游戏(三维游戏)蓬勃发展孕育而生的。这个时间点比较晚,大概在上个世纪末(大概在1995年左右)。

今天GPU在计算机系统的作用已经从以前不显眼的角色上升到比较重要的位置,但主要还是是辅助和分担CPU来执行3D图形加速方面的大量计算。为了突现它的重要性,有人开始把图形处理单元(GPU),也称为图形处理器。

PC机领域的第一款GPU是3dfx 公司1995年推出的Voodoo 3D图形加速芯片。


二.当今CPU和GPU各自的设计目标

因为设计的目标不同,当今的CPU和GPU功能上有本质的不同。作为通用处理器的CPU,顾名思义,它是设计用来处理通用任务的处理、加工、运算以及系统核心控制等等的。CPU中包含的最基本部件有算术逻辑单元和控制单元,CPU的微架构是为高效率处理数据相关性不大的计算类、复杂繁琐的非计算类的等等百花八门的工作而优化的,在处理日常繁复的任务中应付自如。

计算机的“灵魂”——操作系统,以及几乎100%的系统软件都主要仰仗CPU来顺利运行。CPU面对的算术、逻辑运算以及控制处理是非常繁琐和复杂的,面对处理的数据和信息量不仅数量多而是种类多。CPU运算和控制多面手的这种设计,让它在计算机中得心应手,位置不可动摇。

GPU设计的宗旨是实现图形加速,现在最主要的是实现3D 图形加速,因此它的设计基本上是为3D图形加速的相关运算来优化的,如z-buffering 消隐,纹理映射(texture mapping),图形的坐标位置变换与光照计算(transforming & lighting)等等。这类计算的对象都是针对大量平行数据的,运算的数据量大,但是运算的类型却并不复杂,大多类似和雷同,计算性强但是逻辑性不强,如矩阵运算就是图形运算的典型特性。

综上所述,GPU在图形计算方面的一些特长在是今天的CPU无法比拟的,当然将来融合了GPU的CPU就另当别论了。相比CPU的通用运算和复杂逻辑处理,GPU要想代替CPU来运行操作系统和系统软件,是不是有点“越俎代庖”的艺术夸张了。当然,只有一种可能,就是GPU做成了CPU,加入了大量CPU核心设计的GPU。不过,这样的GPU还叫GPU吗?

我个人的观点是:在主流市场,将来把GPU集成到CPU中是大势所趋,对于高端市场——如高端3D游戏应用,CPU + 独立GPU的并存方案依然会延续很长时间。GPU中强大的平行数据的并行计算能力,特别是在3D、浮点运算方面,在没有图形运算任务的时候,如果可以开发出来支持CPU在科学计算方面的应用,当然是件好事。

GPU会不会像80386时代,最初作为独立芯片的数学协处理器80387,最终融合到CPU中而消亡了呢?还是让市场去解决这个容易引起论战的问题吧,任何争论在市场的最终选择面前都会显得苍白无力。

下一篇,我将具体说说CPU和GPU在今天计算机中的作用和位置,以及它们各自擅长和不擅长的方面,均衡计算在设计系统的重要性,将来趋势的探讨等等。


评论 (11)
del.icio.us StumbleUpon Digg It
其他归属标签: , , , ,

评论

2008年4月29日  |  孙永杰 :

写得很好,今后有机会向你请教,希望多写些这样的内容,以让更多的读者和用户了解事实.

2008年4月29日  |  JEFFER :

如何在cpu与gpu之间选择,我觉得另一个难题是通用与专用之间的矛盾,随着通用之中加入更多的专用,难免会降低通用性,而在专用中加入通用,虽然会增加灵活性,但又失去了专用的性能。至少在目前的技术条件下很难达到和谐,我觉得一种解决的办法就是找到一种三方单元,去很好地解决这个问题!

2008年4月30日  |  the2skin :

最近GPU很是叫嚣。嗯。。。

不过我有疑问的是,为何这篇博客中间留了这么大的一块白?o(∩_∩)o…

2008年4月30日  |  FLOATINGGATE :

CPU最终将取代GPU,GPU就像声卡一样,最终将被取代

2008年5月02日  |  Larry :

And if you think CPU is not (that) usefull for gaming: http://blip.tv/file/850506

2008年5月03日  |  田野路人 :

写得不错,很喜欢赵老师的文章,希望读到更多大作。美中不足,图片显示不出来。呵呵。

2008年5月05日  |  赵军 :

孙老师:

我应该向你请教,多谢鼓励!

2008年5月05日  |  赵军 :

那么大的空白是因为一个图没有显示出来,可能是我们这里系统的问题。

2008年5月05日  |  象兵 :

其实GPU厂商还是利用了游戏这个单一的应用来谈GPU比CPU重要,明白了这一点,这个谎言不攻自破.

2008年5月06日  |  赵军 :

我暂时把图删除,因为服务器原因显示不出来。

2008年5月11日  |  CBR :

我来发表一些幼稚的想法,大师们见笑:-) GPU应用于科学计算方面还才刚刚萌芽,融合的最终目的是使得CPU和GPU互相通信更快,以紧密相连、互相协作。从科学计算效率角度看,“加入了大量CPU核心设计的GPU”也许反而更好,因为GPU的面积更大,能完成更多的繁重计算;反过来,CPU内融合GPU则面积有限,只能融合少量的GPU,而高端采用独立显卡则影响GPU和CPU之间的通信,对科学计算的效率有影响。所以,谁融合谁,怎么融合,还不好说。

发表您的评论






评论准则:欢迎您发表评论,不过所有评论必须适度。带有攻击性、偏离主题或带有欺骗性的评论将会被删除(不显示)。在向英特尔的博客提交评论之前,您必须同意我们的法律信息隐私条款中的规定,并且如果您大于或等于 13 岁,就必须在您的评论中附上自己的姓名。您的姓名和个人信息不会被用作其他用途,并且您的电子邮件地址也不会被公开。

免责声明:此处以及所有相关评论中表述的观点均为原作者个人的观点,并非必须反映英特尔的看法。所有英特尔名称和商标属英特尔公司或其子公司在美国和其他国家或地区的财产。其他名称和品牌可能归其他公司所有。