显卡的NVIDIA和AMD的芯片有什么区别!求详细介绍!!
转自电脑百事网,作者:快乐VS忧伤。现对作者表示感谢!
N卡和A卡两家架构问题要深究就得写一本书了。在DX9以前的时代,两家的架构主要由像素单元、顶点单元、纹理单元、光栅单元组成,一个渲染流程的所有单元绑在一起组成一条渲染管线,管线越多,性能就越强。而游戏中的指令以4D指令居多(像素有RGBA,顶点有XYZW),这些单元就被设计成了一次能处理4D指令的处理器,对于当时的游戏环境来说这种架构效率很高。但到了DX9后期甚至DX10时代,游戏中的1D、2D、3D、4D指令开始频繁混合出现,像素与顶点的渲染量比例也有了改变,原先的架构就变得效率低下了,比如一个处理单元一次能处理4D运算,当碰到1D运算时就只用到4/1的资源,剩下3/4的资源就闲置掉了,相当于效率降低了4倍。而有些游戏的像素渲染量明显多于顶点,那么这些绑在一起数量比例固定的单元就效率低下了,比如像素吃力的时候,顶点可能比较空闲,非常浪费资源。为了解决这个问题,NV和ATI都对架构进行了改进,但都治标不治本。这时候重新设计架构成为了必然,所以,从DX10时代起,两家的架构就起了翻天复地的变化。
当两家DX10产品面市后,人们惊奇的发现,竟然是两种不同的架构。
N卡的架构思路很简单,用强大的前端处理器把所有指令拆分成一个个1D指令,而下面所有处理单元都变成了1D单元(流处理器),这些流处理器都能当做像素和顶点单元来使用,每个单元都能独立收发指令,这样不管碰到什么类型的指令都能“一拥而上”,效率几乎达到100%的理想程度,是标准的线程级并行架构,也是追求高效率的理想架构。
N卡的架构看上去很完美,但缺点也很明显,由于每个流处理器都对应独立的指令发射端和控制单元这类东西,体积庞大,控制单元在晶体管的消耗上占了相当大的比例,在相同晶体管数量的情况下,N卡能做的运算单元就相对少很多。在流处理器数量相对少的情况下,处理4D指令时又会显得性能不足(因为要耗费四个流处理器去处理一个指令),所以N卡的流处理器频率会比核心频率高出一倍以上,以弥补数量上的缺陷。由以上缺点又造成了另一个缺点,就是功耗巨大。
总结,N卡架构执行效率极高,灵活性强,在实际应用中容易发挥应有性能。但功耗较难控制,较少的处理单元也限制了其理论运算能力。
A卡方面,虽然也是采用了通用的1D流处理器做为执行单元,但采用的是指令级并行架构,每5个流处理器为一组,每组一次最大可接收一条5D指令(而N卡接收的是1D指令),在前端上就把所有指令打包成一个个5D指令发下去(而N卡是拆分成一个个1D发下去),所以A卡的架构又被称为5D架构。这样的设计可以实现高指令吞吐,能在较少的控制单元下做出庞大的运算单元,晶体管消耗也较少,所以A卡的流处理器一般都是N卡的4-5倍,理论运算能力也远强于N卡,功耗也相对要低一些,同性能的芯片面积也都比较小。
但是,A卡架构的缺点也很明显,虽然理论上总运算性能强大,但一旦碰到混合指令或条件指令的时候,前端就很难实现完整的5D打包,往往变成3D、2D、1D的发下去了,造成每组流处理器只有3、2甚至1个在工作,几乎一半的单元浪费掉了。软件要想针对这种架构优化,必需减少混合、条件指令的出现(需要耗费程序员的大量精力),或杜绝(这是不可能的)。所以在软件优化度上A卡是处于劣势的,常常无法发挥应有性能。
总结,A卡架构优势在于理论运算能力,但执行效率不高,对于复杂多变的任务种类适应性不强,如果没有软件上的支持,常常无法发挥应有性能。所以A卡除了需要游戏厂商的支持外,自己也要常常发布针对某款游戏优化的驱动补丁(造成A卡发布半年后,还可通过驱动提升性能的现象)。
在物理加速技术方面,全球主流的是Havok技术,目前为INTEL所有,平台支持度高,各厂商(包括AMD)也都默认对其支持,在游戏支持度上占了60%以上市场份额。但该技术偏重CPU处理(少部分可由A卡协处理),性能比较有限,可展现的效果规模较小。
而物理技术的另一股新势力就是AGEIA公司的PhysX技术,硬件上以独立的加速卡形式存在,性能专一且强劲,能够展现更复杂的物理效果,但该技术并不开放,而且要购买加速卡才能实现,限制了其支持度。自08年NV收购AGEIA公司后,PhysX技术就变成N卡专属,在DX10架构以后的N卡中都集成了PhysX物理引擎,但封闭的策略还是没变,要想实现PhysX物理效果,用户必需拥有一块DX10以上级别的N卡,这对于游戏厂商来说比较冒险,如果“足够性能”的硬件用户量不足,那么软件厂商就亏大了,所以支持PhysX技术的游戏数量至今也没占到主流,很多厂商宁可对N卡优化,也不支持PhysX技术。不过NV通过强势的营销策略,甚至有些时候是“非常规”的营销,为人所知,市场前景也是被看好的。
总结:在物理加速技术上NV属于剑走偏锋型,企图利用封闭的技术搞垄断排挤(与索尼的储存卡(记忆棒)有点相似),但要排挤主流的AMD、INTEL阵营是难上加难,结局是否和索尼一样我们不得而知。
目前来看,支持PhysX技术的游戏只相当于Havok的三成左右,数量不占优势,而很多初学者把支持物理加速技术和游戏优化的概念搞混了,以为针对N卡优化的游戏就采用PhysX技术,其实这两者没有什么关系,针对N卡优化的游戏虽然较多,但采用PhysX物理技术的游戏是比较少的。这方面两家算是不分胜负,但在选购上N卡又多了个筹码。
高清解码方面,自蓝光战胜HD-DVD后,市场上高清片源开始增多,但高清影片播放时的解码任务对当时的双核CPU来说是非常吃力的,中端以下CPU全线投降,这时候NV和AMD适时的在DX10架构中加入了高清解码功能,分担几乎所有的CPU工作,让低端CPU也能流畅的播放高清电影。当时高清格式主要有三种,奇怪的是N卡只支持一种格式的完全解码,这就导致N卡玩家在播放别的格式高清影片时CPU还是非常吃力,甚至卡顿;而A卡则支持了双格式解码(剩下一种格式运算量不大,CPU能搞定),这样A卡用户即使在入门级的CPU下也可以流畅播放高清了,CPU还有大量余力干别的事。从此A卡适合看电影的说法就流传下来了。不过N卡到了DX11架构后也支持了双格式解码,解码能力终于可以向AMD看齐,不过这时候CPU已经发展了三四代,入门级CPU都可以应付高清播放,显卡的解码能力已经没那么亮眼了。
画质方面,两家理论上并没有区别,因为处理的都是数字信号,而只要信号源相同,那么运算结果也都是相同的。但最终输出效果取决于模拟信号的转换和特意的渲染,两家可能稍有差别,但只是效果上的细微变化,与画质(图像品质)没有关系。N卡效果似乎稍柔和,色彩稍淡,A卡则稍锐利,色彩稍浓。欧俄国家的人群比较喜欢饱和度低的画面,而亚太区的人群则比较喜欢高饱和的画面,在色彩冷暖上不同国家人群的喜好也不同,所以这个只是偏好问题,没有高低之分。况且两家的效果差别也只是微小的,几乎可以不计,毕竟显卡的工作是真实还原色彩,而不是改变色彩。
在抗锯齿性能方面,N卡凭着高效能在前两代一直占着优势,到了第三代,AMD的HD4000系列就把抗锯齿运算从流处理器改到了光删单元,从而大副提升了抗锯齿性能,超越了N卡。到了第五代后,N卡的GF500系列也改到了光删单元,从此两家各有胜负。
多屏输出方面,是AMD的强项,后期A卡可以做到单卡六屏输出,双卡则支持到恐怖的12屏。加上架构和显存的特性,即使在多屏高分辨率下,性能衰减也比对手要小,是多屏发烧友及多屏游戏玩家的最爱
3D视觉技术方面,前期是N卡占优势,后期是A卡占优,由于A卡3D视觉技术是免费开放的,得到了大量周边厂商的支持,选择性也更高。就技术本身而言,两家都有无线与有线眼镜套装,原理相同,区别不大。
通用计算方面
虽然通用计算概念是由ATI在X1900XT时代首个提出来的,但ATI一直都不够重视,加上后期A卡DX10架构的软件开发难的问题,导致支持的软件数量少,一直没有起色(虽然其运算性能是无敌的)。而N卡则从GF200系列开始,高度重视通用计算,以打通游戏以外的应用路线,通过架构的针对性改进,以及推出方便的开发套件,让程序员在不学习图形API的情况下都能开发出适用的软件,并且支持C++语言,使支持者越来越多。从中国超级计算机天河一号早期采用A卡核心做为计算单元,后期改用N卡核心就可见一斑。
专业图形领域,两家都有相应的专业卡系列,N卡占了大部分专业卡市场份额,导致A卡可选产品较少。但在性能上并没有分胜负,两家都有各种等级定位的产品。不过在游戏卡上,A卡曾暴出可以通过特定的驱动配合特定的型号,使几百元的游戏卡瞬间变成几千元的专业卡案例,当时在专业圈里可是大事件,各种改版驱动的求下载也一度火热,不过之后新版本驱动填补了漏洞及型号的换代,这事也就不了了之了。但A卡适合做图的说法就传了下来,其实在不改版的情况下,两家游戏卡在专业图形上都没有什么性能可言,其性能高低之分在专业卡眼里连零头都不如,所以在游戏卡上谈专业图形,本身没有太大意义。
在驱动程序方面
A卡在ATI时代驱动程序一直受人诟病,ATI常常在驱动没有充分测试的情况下抢先推出新硬件,然后再慢慢完善驱动程序,初期常出现各种兼容性问题,造成A卡发布半年后性能与兼容性才能通过驱动程序恢复正常的现象。而当时的NV却是过于严谨和保守(至今也是这样),虽然驱动完善度很高,但严重拖慢了新品推出的脚步,所谓有利必有弊。
自07年AMD收购ATI后,A卡的驱动程序才终于恢复正常,让人放心了,不过之前ATI搞坏的驱动口碑还需要时间慢慢解决。虽然AMD解决了驱动问题,但新问题又出现了:A卡架构优化难。AMD只能在新游戏发布后慢慢推出针对性优化的驱动,这样A卡通过驱动“提升”性能的现象还是没变,导致首发评测时A卡的成绩常常低于预期,随着时间的推移,排名才发生改变。而N卡在这方面就好了很多,没有毛病可挑。
在双芯卡与多卡互联交火的驱动上,A卡与N卡倒是反了过来,A卡驱动在交火兼容性上完成度非常高,而N卡则常常出现问题,多卡互联的兼容性问题比较严重(多卡丢桢现象也比A卡要多),甚至影响到了双芯卡的发挥,至今也没有得到改善。只能希望未来两家都能取长补短了。
近年情况:当NV和AMD两种统一渲染架构发展到第四代后(N卡是GF400,A卡是HD5000)都走到了极限,缺点盖过了优点,弊端暴走了。N卡为了提升运算单元,GTX480晶体管达到空前规模,功耗发热量已经控制不了,变成史上首个需要屏蔽部分单元才能保证良品率的首发高端;而A卡也好不到哪去,HD5870已经把运算单元撑到极限(1600个),计算效率比例降至低谷,无法再扩充。当芯片代工厂台积电下一代工艺还没有问世的时候,两家只能在原有40纳米工艺下推出下一代型号。NV的办法就是改进制造工艺,使40纳米应用更加成熟,终于开启了GTX480被屏蔽掉的一组SM(32个流处理器),推出相当于GTX480的成熟版和完整版:GTX580。而AMD由于本身工艺就很纯熟,在制造工艺上没有改进的空间,就在架构上做文章:前端处理器变成了两个(前几代都只有一个),相当于增加了控制单元,缩减了运算单元。HD6870以1120个流处理器就胜过了1440个流处理器的HD5850,更接近了1600个流处理器的HD5870,证明这种改进是成功的,不过HD6870这个名字有点不太让人接受就是了。之后推出的HD6970更是把原先5个流处理器一组改成4个一组,这样双重改进确实能有效提升效率,连次旗舰的HD6950(1408个流处理)都要强于上代旗舰HD5870。不过两家产品还是没有可比性,虽然N卡保持了两代单芯最强,但在价格定位上,AMD还是比较“阴险”的,往往能捅到NV的痛处。
最新进展:2012年自两家先后发布最新DX11.1核心后,情况有所改变。AMD的最新GCN架构(HD7000系列)多达两千流处理器之巨,但最明显的改进是大幅增加控制单元的比例,使晶体管数量达到空前规模,有点向N卡靠拢的意味。结果表现令人惊喜,效率大幅提升,计算性能更强,通用计算性能也大幅超越以前,彻底改掉了通用计算的老毛病。
不过N卡半年后推出的最新开谱勒架构(GF600系列),则更让人大跌镜,大幅减少了控制单元,甚至前端部分工作改到了驱动端,再大幅提升流处理器数量,这样效率虽然比以前降低了,但计算性能却是N卡空前最高的,这有点向A卡靠拢的意味。从实际表现来看,GF600相比HD7000有更强的性能,更低的功耗,算是真正做到了最强。不过价格也不太亲民就是了。
综合来看,两家戏剧性的向对方靠拢,让人不禁遐想世界大同的未来。一直以来A卡都给人小芯片、低功耗的印象,现在角色换过来了,变成N卡小芯片低功耗了。虽然两者在向对方靠拢,但线程级和指令级两种架构的界限还是有的,造成了新架构中A卡首次在技术层面上落败,不知道一直扮演着弱者角色的AMD会在未来做出什么样的反击,这很让人期待。
编后语:总的来说,A卡和N卡在游戏中的表现是各有优劣,在多数游戏测试中都是互有胜负,可以说是平分秋色。而“N卡玩游戏好,A卡看电影好”这种中国式谬论我们还是少听少说为好,否则会极大的限制你技术水平的长进。N卡和A卡虽然架构有别,但为了与各类软硬件兼容,都是遵循一定的标准进行设计,所以在性能的实现上都是一样的。而单机游戏厂商每一款大作的推出,都是里程碑式的宣传效应,单机游戏厂商的支持倾向也成为了两家必争之地,所以我们常常会在单机游戏大作中轮番看到两家品牌标志。而这个现象则导致了相当数量的初学者进入了一个误区:谁家支持的游戏多,谁的显卡就好。其实事实并没有这么简单,每个卖游戏的厂商眼中永远只有玩家数量,不会傻到为了某一家而放弃另一家,所以即使宣称专为某家显卡优化的游戏,也会给另一家显卡留下相当程度的后路,所以在多数游戏测试中即使两家显卡互有胜负,其差距也不大。
而网络游戏方面,玩家数量就是游戏商的生命,巴不得老爷机的玩家都能玩自己的游戏,所以除了对硬件要求较低以外,对两家显卡的支持更不会有什么区别。总的来说,对于攒机的用户并不要刻意的去关注的A卡和N卡,就像处理器平台有AMD和Intel一样,各有各的优点和缺点,但并不影响我们大多数人的使用,只要根据自己的喜好实用就可以,按照自己的要求和预期价位选择即可,不必在意品牌。希望大家能够的理性的看待显卡是选A卡还N卡,而不要被商家所迷惑。