在PC时代初始,还没有GPU这一说法,它的前身便是所谓的“显示芯片”,但当3D游戏出现在PC平台时,这一名称变为“图形芯片”,后来NVIDIA制造出功能更强的“图形芯片”,使图形应用对CPU的依赖逐渐降低,由此诞生了“图形处理器”,也就是我们所说的GPU。到2006年以后,GPU们又有了新的名称,即“流处理器”或“高并行处理器”。虽然业内习惯上对其还是沿用GPU的名称,但这已是一个全新的时代。而现在,GPU整合于CPU内部,彼此协同的异构计算方式成为新的方向,这又带领着图形工业朝向新的领域前进。
接下来,我们将回顾图形史上的架构变迁,分别是:加速卡时代、GPU时代与通用计算时代,从中我们也将了解到这个行业过去这些年的风云动荡。
在初的阶段,只有显示芯片,它的功能就是将CPU运算的结果显示在CRT屏幕上,本身只是简单的功能逻辑。图形时代无疑是从PC进入3D世界之后开始的,3Dfx的Voodoo是这个时代的里程碑。
在Voodoo出现之前,其实就已经有一些简单的3D游戏出现在PC之上了,但当时3D渲染工作只能由CPU来完成——所谓的3D渲染,从计算层面来讲其实就是大量的、可同时进行的浮点计算。如果要让3D渲染工作可以流畅地进行下去,就要求计算系统能够提供足够高的硬件性能。由于当时的CPU都是单线程,只能一步一步地依次进行各个计算操作,而完成所有这些计算工作就需要比较长的时间。满足3D渲染流畅度的标准要求是30fps,也就是一秒钟生成并显示出30个3D画面,即便是面对当时非常“简陋”的3D游戏,这个任务所需的浮点计算量也是CPU所无法承受的。
Voodoo加速卡诞生于1995年11月,它的职能就是纯粹的3D加速器,本身不具备显示输出的功能,所以我们只能将它看作一种辅助3D运算的协处理器。Voodoo加速芯片的原理很简单,就是将原本由CPU处理的3D渲染任务接管过来。注意,它还只是有限度的接管任务,核心在于帮助计算多边形和像素填充工作,所以这两方面的性能在后来也成为衡量图形芯片强弱的两个主要指标。
Voodoo支持丰富的3D功能,它具有透视、双线性过滤、像素矫正、alpha图形融合、精确贴图、纹理描影与贴图转换在内的所有3D渲染技术,并可支持诸如16位波动RGB骨架缓存、多种贴图缓存、反混淆、Z缓冲、雾化、透明、半透明处理在内的各种视觉效果,尤其是可对雾化效果进行硬件加速,这在当时是划时代的。为了保证游戏兼容性,Voodoo直接支持包括微软Direct3D和OpenGL在内的当时所有主流API,事实证明,这种做法是相当明智。而在硬件本体上,Voodoo加速的规格也非常豪华,它搭载了4MB容量的显存,核心频率达到50/55MHz,像素填充率达到当时看来不可思议的每秒4500万,多边形生成能力则达到每秒100万个,这些规格在当时都创下了纪录。
Voodoo加速卡
作为加速卡,Voodoo必须与显卡配合才能正常运作,这也意味着额外的成本提升。1996年11月,3Dfx发布了Voodoo Rush,它在Voodoo加速卡的基础上增加了2D显示功能的模块,但3D内核本身没有任何变动。到了1998年,新一代Voodoo2加速卡到来,它的性能提升十分巨大:多边形运算效能达到每秒300万个,为Voodoo的3倍;像素填充速度也提升到每秒9000万,相当于Voodoo的两倍。在同一运算周期中,Voodoo2可以为每个像素渲染多个(实际是两个)材质,而且这一功能是借助一个像素芯片和两个纹理芯片共同完成。相比之下,第一代的Voodoo只附带了一个纹理芯片,一个周期只能对像素进行单材质处理,这就意味着Voodoo2可以带来更为精细的3D效果。
Voodoo2加速卡,以支持SLI双卡运作而著名。
不过,Voodoo2令人震撼的地方还在于它首度支持双卡并联的SLI技术,这令狂热的游戏玩家们感到疯狂。即便这种双卡加速意味着昂贵的支出,但狂热的游戏玩家依然乐于耗资600美元购置SLI双卡方案。据调查显示,当时有30%的Voodoo2用户都采用了双卡方案,这也成为3D图形史上耀眼的一幕。尽管SLI技术后来没有被3Df x持续下去,但它所开创的理念却成为图形业界灵感的源泉。若干年之后,NVIDIA推出自己的SLI技术,ATI也带来类似的CrossFi re多显卡技术,这些技术归根结底,早的理念源头便是Voodoo2的SLI。
多芯片的Voodoo 5 6000,是3Dfx后的绝响。
1999年2月,3Dfx带来了Voodoo3显卡,而这个时候显卡市场可以说群雄并起,其中以NVIDIA给3Dfx带来的威胁大。不幸的是,Voodoo 3仅仅只是Voodoo 2的改进版:它可以被看作是Banshee的2D部分加上Voodoo2的3D部分,再加上少量的新特性。Voodoo3没有追随上业界新的技术特性,比如说32位色渲染模式已经不可或缺,但Voodoo3居然还无法提供支持,这让很多玩家感到非常失望,虽说在32位下玩游戏的用户确实不多,但是用户总是期望能得到更多、更先进的特性,即便这种特性根本用不到。3Dfx的开发者显然是务实主义者,他们的错误就在于,认为用户们也和他们一样理性和务实,这就让Voodoo3的许多规格参数都显得保守,比如除了32bit色游戏模式,Voodoo3也无法支持AGP纹理贴图。而此时NVIDIA已经拿出强悍的TNT2,引诱了大量的3D用户,也是从这里开始,3Dfx的发展开始进入下坡路。
3Dfx的后辉煌当属Voodoo 4、Voodoo 5和Voodoo 6,以今天来看这个方案相当前卫。3Dfx首次引入VSA-100架构,VSA的全称为:Voodoo Scalable Architecture,意为“可升级Voodoo架构”。这种架构可以进行更弹性的设计,高可支持32块图形芯片并行运作。
VSA-100芯片采用了0.25微米的制造工艺,集成140万个晶体管,内置350MHz的RAMDAC,运行频率为166MHz,高支持64MB显存。VSA-100终于使3Dfx迈入了32位渲染的行列,其支持先进的T-Buf fer功能(但必须有成对的芯片才能实现),以及焦点模糊(Depth of Field Blur)、柔和阴影(Soft Shadows)、柔和反射(Soft Reflections)等特效。
3Df x首先推出单芯片版本的Voodoo4 4500,但它的性能太差,无法与N VIDIA的TNT2系列竞争。后来3Dfx推出双VSA-100芯片的Voodoo 5 5000和5500,虽然这两款产品性能出众,可惜双芯片意味着高昂的价格,让用户纷纷倒向了NVIDIA。尽管如此,3Dfx还是按自己的计划推出四芯片的Voodoo 5 6000,这个怪兽级的产品定价高达600美元。可是,后由于设计复杂、元件短缺以及3Dfx的财政问题,Voodoo 5 6000在几经跳票之后并没有上市。
3Dfx于2000年12月被NVIDIA收购,作为PC 3D图形的开拓者永载史册,它所创立的诸多技术影响深远:多显卡的SLI技术后来被NVIDIA使用,多芯片技术为ATI所用并在AMD时代大放异彩。回头来看,3Dfx虽已陨落,但它的技术理念却让整个图形工业都受益匪浅。
1997年5月,NVIDIA推出著名的Riva 128,宣布正式进入3D图形市场。RIVA128是一款基于128位的2D和3D图形核心,其中3D处理单元拥有一条像素渲染管线,可进行单材质的处理,图形核心则工作在60MHz的频率上。此外,Riva 128支持4MB SDRAM和SGRAM显存,显存带宽达1.6GB/s,这些规格都属于当时的主流。而在接口选择上,当时保守的3Dfx还是基于PCI总线,但NVIDIA志在称王,坚决不走3Dfx的老路,于是冒险采用当时还未得到多少支持的AGP 1X接口。事实证明,这种看似激进的做法是后来者超越传统势力的法宝。而后来的NVIDIA也一直保持这种激进的作风,从GeForce FX 5800,到今天的Fermi,无一不是如此。
Riva 128让NVIDIA在3D市场崭露头角
Riva 128的硬件性能非常强悍,其内置的硬件三角形处理引擎每秒可以进行5亿次浮点运算,生成120万个三角形,大像素填充率则达到每秒6000万个,这些规格都明显超过了3Dfx的Voodoo加速卡。而在图形API的支持上,Riva 128对微软Direct3D提供了完整的支持,对OpenGL的支持也是非常到位,游戏兼容性颇为理想。这两个方面的要素令Riva 128在实际应用中的表现十分出色,虽然其画面品质难以同当时风靡全球的3Dfx Voodoo比肩,但在非GLIDE API游戏性能的比拼中却超过了后者。
大获成功的Riva TNT图形芯片
1998年10月,NVIDIA推出性能更强的新一代显卡,这便是著名的Riva TNT。它的名字会让人很自然就联想到炸药,但实际上TNT是TwiN Texel的缩写,意思是拥有2条像素流水线,这也使Riva TNT具有双倍的渲染引擎。而这两条像素流水线都采用32位色设计,每条流水线有1个TMU(纹理贴图单元),每个周期可并行处理两个像素,这款芯片原定采用0.25微米工艺生产,核心频率达到110MHz,在此频率下它的像素填充率可以达到每秒2亿5000万个—这个数字甚至大幅超过双卡的Voodoo 2 SLI系统。但由于当时0.25微米生产工艺并不成熟,NVIDIA只能采用0.35微米工艺进行生产,这就连累了Riva TNT,使之只能工作在90MHz频率下。即使全速运行,Riva TNT也只能达到每秒1亿8000万的像素填充率,但这仍然与Voodoo 2 SLI系统实力相当。至少在这一点上,我们能够看出Riva TNT的确性能惊人。
RivaTNT的性能指标主要是内置了250MHZ的RAMDAC,并支持128位数据总线和AGP 2X模式;另外还具有24位Z缓冲、32位色渲染的能力;API方面则对DirectX 6进行了优化,并对OpenGL实现良好的支持。在2D方面则提供了对1600×1200@24bit高分辨率的支持,并附带了DVD、NTSC制式和PAL制式的 TV OUT等功能,基本上各项3D指标都超过了Voodoo 2。而因为芯片结构复杂,Riva TNT的晶体管数量竟然与同时代的Pentium Ⅱ一样多,这也是图形芯片第一次在晶体管规模上赶上CPU的水平。
Rive TNT的成功激发了NVIDIA加速推出新品的热情。1999年3月,NVIDIA高调发布新一代图形芯片:Riva TNT2,此时与第一代TNT的发布间隔仅仅只有半年时间,NVIDIA创造了超越摩尔定律的火箭速度。TNT2是TNT的改进版本,它采用0.25微米工艺制造,支持AGP 4X接口,128bit位宽和32MB容量的显存,这都是之后主流显卡所遵循的默认标准。从技术上讲,TNT2并不是一款革命性的图形核心,而只是过往产品的改良,但它带来的影响却非常深远:它定义了新一代显卡应有的技术规范,如128bit核心、32MB显存和AGP4X等关键的特性。虽然后来的GeForce 256拥有革命性的设计和令人眼花缭乱的新技术,但它的普及度和市场影响力却远不及TNT2。
TNT2之所以成为经典,除了广泛的产品线、出色的兼容性和一流的性能外,来自驱动程序方面的助益也非常关键。当时ID Soft出品的《Quake》系列是火爆的3D游戏之一,而《Quake》系列完全采用OpenGL API。在这方面,TNT2的优势就非常明显。当时不少《Quake》系列玩家在Voodoo 3和TNT2之间摇摆不定,但后TNT2凭借优秀的设计,更强的3D性能,以及可在任何一种分辨率下赶上Voodoo 3的性能逐渐占了上风。加之它对OpenGL极为出色的支持能力俘获了大量玩家,原本3Dfx的死忠们也纷纷倒戈,从此奠定了NVIDIA的胜局。
1996年1月,ATI推出3D Rage系列3D显卡,3D Rage的内核基于之前的Mach64 2D,只是加上了3D功能,它拥有1条像素流水线和1个顶点着色单元,能处理光源、支持MPEG-1硬件加速等,另外这枚芯片采用0.5微米工艺生产。3D Rage整体的规格中规中矩,而且它的兼容性比较差,销量很低,也没有多少人能记住它,业界认为只有随后的3D Rage Ⅱ+DVD才是ATI第一款真正的3D图形处理器。
双芯片的Rage Fury Maxx显卡
3D Rage Ⅱ+DVD基于重新设计的Mach64 GUI引擎,优化了2D性能,它可以支持硬件Z-缓冲、纹理压缩、线性过滤和纹理混合这些3D技术,像素填充率是每秒1000万,性能比前代3D Rage提高了两倍。此外,3D Rage Ⅱ+DVD较好地解决了兼容性问题,也继续保持视频方面的优势。它新增了MPEG-2(DVD)硬件动态补偿功能,在播放DVD时能够起到辅助作用,这在当时领先业界。再者,3D Rage Ⅱ也可以和ImpacTV辅助芯片配合,实现播放电视节目的能力,这也是后来ATI著名的ALL-IN-WONDER显卡的第一代。
支持双头显示功能的Matrox G400,一度在市场上相当耀眼。
1997年4月,ATI推出第一款具有像样3D性能的3D Rage Pro图形芯片。ATI 为这款芯片新加了三角形设置引擎;也改善了透视法修正,距离模糊和透明化效果。新增了反射高光技术和增强了图像播放功能。3D Rage Pro支持高8MB SGRAM或16MB WRAM,这些规格在当时都属主流。而令人兴奋的是,它终于提供了和Voodoo相当的每秒4500万像素填充率,同时其VQ材质压缩功能每秒可生成120万个三角形,配合AGP总线的高带宽,这款显卡能够获得相当出色的3D加速性能;加上ATI结合了改良后的运动补偿技术,使3D Rage Pro拥有更高质量的DVD回放功能,全面的功能让ATI显卡在OEM市场大受欢迎。
1998年10月,ATI带来了他们的新一代显卡:Rage 128 GL。这款产品的指标不俗,硬件性能同Voodoo 2不相上下,对32位色的支持更是领先业者。比如将游戏的画质模式提高到32位色时,Rage 128 GL的性能下降极低,而对手们则会出现大幅度下降的情况。之后ATI的各代产品都保持这种风范,可惜当时支持32bit的游戏甚少,Rage 128GL的此项优势未得到充分展现。
1999年4月,ATI带来Rage系列的后产品Rage 128 Pro。Rage 128 Pro将竞争对手锁定NVIDIA的TNT2系列,它拥有更高的时钟频率,支持非线性过滤,各向异性过滤,纹理压缩等技术;
Rage 128 Pro也升级了三角生成引擎,三角形生产速率达到每秒800万个。综合这些改善,使得Rage 128 Pro的3D性能比Rage 128GL高了50%。同年,ATI发布一款意义重大的新品,它的代号是“Rage Fury Maxx”,也就是大名鼎鼎的“曙光女神”,ATI第一款双芯片显卡。这款产品固然没有在市场上获得太大的反响,但它在技术业界地位非凡,为日后的多显卡和多芯片发展思路奠定了基础。
作为初生的市场,3D加速卡的时代可以说群雄混战,除了上述的3Dfx、NVIDIA和ATI,S3、Matrox、Trident、3Dlabs和英特尔都曾经红极一时,但这些厂商都无法跟上NVIDIA的超快产品更新节奏,终不得不黯然退出主流市场的竞争——S3在推出几代Savage之后,被出售给VIA,它的图形技术继续在VIA芯片组中延续,而当VIA无奈结束芯片组业务之后,Savage便在嵌入领域灵魂附体。Matrox在2D显示的造诣无人可及,它的G200、G400、G550都创造了2D显示品质的传奇,并以双头显示功能吸引专业客户。进入GPU时代之后,Mat rox曾推出价格昂贵的“Parhelia”显卡,可惜这也未挽回Matrox在主流3D市场的败局。之后Matrox彻底退守金融、医疗等小众化的专业2D市场(比如显示墙)。
Trident是2D显卡时代的一个传奇,但它却没有跟上3D的潮流;而作为专业显卡强者的3Dl abs同样命运多舛,它的Permedia系列显卡只赢得很少的一部分市场,至于后来的GPU时代完全与它无缘,3Dlabs后来被新加坡创新公司所并购。至于英特尔,曾以i740/i752著名,后来退出独立显卡市场的竞争,将图形技术运用在整合芯片组中,此举令英特尔成为大的图形厂商,并不断蚕食NVIDIA和ATI的独立显卡的市场份额——现在,英特尔干脆将它集成在CPU内核中,此举几乎可以将独立显卡逼出入门级市场。但即便如此,英特尔在图形技术领域完全就是追随者,其技术水准难以与NVIDIA和ATI比肩。
1999年8月,NVIDIA发布GeForce 256图形芯片,宣告了GPU时代的降临。这是Voodoo加速卡诞生以后图形工业伟大的革命:GeForce 256从CPU手中接管了更多的计算任务,CPU在3D渲染任务中的地位变得更加无足轻重,GPU完全奠定了3D渲染的主角地位。
GPU的诞生可谓石破天惊,NVIDIA开创了一个时代,也将所有的竞争对手拉在后面——跟随NVIDIA推出GPU的只有ATI、S3和3DLabs,但终存活并与NVIDIA分庭抗礼的只有ATI,它在后来也成为AMD的一部分,成为英特尔和NVIDIA共同的“大麻烦”。
GPU概念本身富有革命性,并且在实际应用中起到惊人的效果,但整个GPU时代发展却又是比较乏味的:大量竞争对手不再跟随,NVIDIA在初期完全是一骑绝尘,完全垄断了市场,作为追随者的ATI当时看起来只是小角色,根本不可能给对手带来多大的麻烦。而GPU本身的更新换代看起来只是晶体管的堆砌游戏:谁能够在GPU中设计出更多的顶点单元和像素单元,谁就能够在性能和市场方面都占据上风。
在TNT2系列大获成功之后,NVIDIA于1999年8月推出它的新一代产品,并以“GeForce 256”的新名字出现。GeForce 256并不是TNT2的简单升级版本,而采用一种全新的架构:256位核心设计,将T&L(几何转换与光照)功能以硬件的形式集成在图形芯片中,由图形芯片来负责几何转换和光照操作。这些都属于3D图形任务的前半部分,以往它们都完全依赖CPU执行,而CPU浮点性能的强弱就会对整机的3D性能表现产生很大的影响。GeForce 256 将该功能整合之后,几何转换和光照操作都可以由自己独立完成,不必再依赖CPU,图形芯片便相当于一枚专事3D图形处理的处理器,这也是“GPU(Graphic Processing Unit)”的名称由来,而这部分逻辑则被称为“硬件T&L引擎”。
事实上,硬件T&L引擎并不复杂,它只是一个包含256个指令的DSP(数字信号处理器),可以通过BIOS和驱动程序的升级来获得更强大的功能。这种设计让GeForce 256获得空前的成功,它的3D效能大幅度超过TNT2系列,诸如3Dfx、Matrox、ATI、Trident、3Dlabs等对手都被远远抛在后面,而游戏软件界也迅速接纳了硬件T&L的理念,并在新一代游戏中积极支持该项技术。于是,硬件T&L成为当年热门的图形技术,NVIDIA的王者地位也就此一举奠定。而GPU的概念也就成为前后两代图形技术的分水岭,3Dfx 时代终结,NVIDIA时代开始。
唯一能跟上NVIDIA脚步的只有S3。同年,S3推出了同样具备硬件T&L引擎的Savage 2000芯片,并将这项技术命名为“S3TL”。S3TL与NVIDIA的方案在具体实现上并不相同,但两者的功能都是一样的。在宣传方面,S3对此顾虑较多,认为图形芯片集成硬件光照运算无异于抢了CPU的饭碗,且还需要一段时间才能获得游戏的支持,没必要大张旗鼓。尽管Savage 2000的实力相当强劲,结果低调的宣传让它鲜为人知:拥有8个OpenGL兼容的硬件动态光源处理能力,可生成比前代产品高出4~10倍复杂度的场景,运算能力达到同年代CPU的3倍之多。不幸的是,Savage 2000的驱动程序实在太糟糕,这让它根本无法同GeForce展开有效竞争,在推出Savage 2000+之后,S3在图形业的历程嘎然而止,被VIA收购后基本无所作为。
GeForce 256并没有在市场上流行多久,因为NVIDIA在6个月后就推出了它的下一代产品:GeForce 2。GeForce 2衍生出大量的产品:针对低端市场的GeForce 2 MX系列,针对中高端的GeForce 2 GTS、GeForce 2 Pro和后来的GeForce 2 Ti,以及拥有顶级性能的GeForce 2 Ultra等;同时也包括针对笔记本电脑的GeForce 2 Go系列。
2000年,GeForce 2成就了NVIDIA霸主地位。
相比GeForce 256,GeForce 2系列更为成熟先进:GeForce 2采用0.18微米工艺生产,而GeForce 256仍基于TNT2 Pro的0.22微米工艺,发热量很大。先进工艺让GeForce 2热量锐减的同时,性能上也比GeForce 256提高了25%左右的幅度。同时,准确的细分策略也为GeForce 2系列攻城掠地立下大功。标准版GeForce 2 GTS针对主流市场,它具有4条像素渲染流水线,每条包括两个纹理单元,二者结合成为一个强大的渲染引擎;其核心频率为200MHz,像素填充率和纹理填充率分别达到800Mpixels/s 或1.6Gtexels/s。针对低端市场的GeForce 2 MX只有2条渲染流水线,实际性能相当于GeForce 2 GTS的一半,核心频率也降为175MHz。尽管如此,在功能特性方面它与GeForce 2 GTS没有什么不同,相对出色的性能和平易近人的价格让GeForce 2 MX获得近乎辉煌的成功。
做工精湛的Radeon VIVO标志着ATI也进入到GPU时代。
2000年6月,NVIDIA对GeForce 2产品线进行全面升级。性能更出色的GeForce 2 Pro代替GeForce 2 GTS成为主流,新增250MHz频率的GeForce 2 Ultra进一步巩固旗舰地位;另外,NVIDIA也首次推出针对专业市场的Quadro 2和Quadro MXR,推出针对移动应用的GeForce 2 Go,奠定了NVIDIA的全方位优势。
这个时候,能与NVIDIA竞争的只有ATI了。2000年7月,ATI正式推出了支持硬件T&L引擎的Radeon芯片。Radeon带有相当多的新特性,如Charisma Engine、Pixel Tapestry、Video Immer sion、Hyper Z压缩技术等等,尽管3D性能仍然逊于GeForce 2,但两者已经相当接近,且Radeon在视频回放效果方面表现卓越,加上原厂做工让Radeon保持出色的2D画质,对NVIDIA产生了一定的威胁。不过,这种威胁并没有在市场上体现出来:ATI没有采用开放芯片授权的做法,芯片和显卡都由自己独立完成,产品价格昂贵;而NVIDIA自身只从事GPU芯片设计,显卡业务完全由数量众多的板卡合作厂商完成,这样它就拥有一支庞大的同盟军—单枪匹马的ATI不足以同NVIDIA体系对抗,直到后来ATI改变策略后情况才逐渐好转。
时光的书页翻到2001年2月,NVIDIA推出架构大改良的GeForce 3,再度获得领先技术优势。相比前两代产品,GeForce 3在架构上有了很大改良,它引人注目的就是新增的“nf initeFX”引擎—nf initeFX由可编程的顶点渲染单元(Vertex Shaders)和像素渲染单元(Pixel Shader)联合构成,静态的硬件T&L被它取代。NVIDIA声称,nfiniteFX是继硬件T&L之后的又一项重大改进,可编程的特性允许控制指令千变万化进行组合,游戏开发者可以根据自己的意愿来获得更出色的效果;同时GeForce 3也实现了对微软DirectX 8 API的支持,抢占未来游戏的制高点。其次,GeForce 3对内存控制器进行全面改进,引入全新的“交错式内存控制器”(NVIDIA称之为“光速显存架构”),有效改善了内存带宽的使用效率,这对其性能也起到很明显的提升作用。再者,GeForce 3还引入一系列新的技术特性,如Z轴隐面剔除、多重取样反锯齿等。在这些新技术推动下,GeForce 3表现出极其可观的性能提升,将ATI的Radeon远远甩在后头。
GeForce 3 Ti 500带来了许多先进的技术特性,但它的市场寿命颇为短暂。
不过,标准版GeForce 3显卡并没有在市面上怎么露面,因为NVIDIA在下半年就接着推出GeForce 3 Ti 500和GeForce 3 Ti 300取而代之;中端方面,也对GeForce 2系列再度包装,推出GeForce 2 Ti,低端市场则将GeForce 2 MX细分为MX 400、MX 200和MX 100型号以满足更广泛的用户群体。
Radeon 8500性能卓越,ATI借此一举突破困局。
然而,NVIDIA并没有如愿以偿击败对手,ATI展开了凌厉的反击。2001年9月,ATI发布代号为“R200”的Radeon 8500 GPU,它拥有四个像素单元,每个像素单元拥有两个纹理单元。它也支持Di rectX 8.1的顶点着色引擎和像素着色引擎,这两个顶点着色引擎也被称为Charisma Engine Ⅱ,为新的顶点着色程序和旧的DirectX 7硬件T&L提供了出色的支持。
针对中端市场,ATI推出Radeon 7500应对,它其实就是第一代Radeon核心的高频版本,性能有一定提升的同时保持相对低的价格。也是在这个时候,ATI做出了对未来影响深远的英明决定:开放显卡授权,让第三方板卡厂商可以制造基于ATI GPU芯片的3D显卡。NVIDIA对此极为紧张,迅速对合作伙伴进行严厉的控制,显卡大厂大都站到NVIDIA一边,只有那些无足轻重的二三流显卡品牌响应ATI。幸好,出色的3D性能加上视频回放方面的传统优势,让Radeon 8500和Radeon 7500获得许多消费者的支持,加上ATI之前推出的Radeon LE、Radeon VE等低端产品又有效带动了低端市场,图形市场原本由NVIDIA一家独大的铁板格局开始松动。
2002年2月,GeForce 4发布。这次,NVIDIA将高端产品分为GeForce 4 Ti 4600、 GeForce 4 Ti 4400 和GeForce 4 Ti 4200,低端产品则分为GeForce 4 MX 460、GeForce 4 MX 440和GeForce 4 MX 420。相比GeForce 3,GeForce 4有了不小的改进,如采用支持双顶点渲染单元的第二代nfiniteFX引擎、效率更佳的第二代光速显存架构、可产生平滑阴影效果的Shadow Buffer、VPE(Video Processing Engine)影像处理引擎等。不过这种变化更多属改良性质,远不如从GeForce 2到GeForce 3的转折来得彻底。所幸GeForce 4的性能相当不错,至少GeForce 4 Ti 4600以明显优势击败了ATI Radeon 8500。
GeForce 4 Ti 4600,为当时的3D性能之王。
不幸的是,Radeon 8500并不是GeForce 4 Ti的真正对手,ATI在GeForce 4发布五个月之后(2002年7月)拿出震撼性的Radeon 9700 Pro(核心代号R300),这比预定计划整整提前了半年。Radeon 9700 Pro率先提供对DirectX 9.0规格的支持,整合8条像素流水线,并拥有诸如SMOOTHVISION 2.0(多重采样)、Hyper Z Ⅲ、FULLSTREAM(完全流媒体)、10位色输出等诸多先进功能,晶体管规模达到1.1亿个。在各项目评测中,Radeon 9700 Pro都大幅度超越GeForce 4 Ti 4600,一举成为2002年强劲的显卡。另外,针对中端和低端市场,ATI也及时推出Radeon 9000和Radeon 9000 Pro芯片,从高端到低端形成Radeon 9700 Pro、Radeon 9000、Radeon 9000 Pro、Radeon 8500和Radeon 7500等完整的产品线。市场热情空前高涨,一些显卡大厂陆续摆脱NVIDIA的控制投入到ATI的怀抱,ATI展现出咄咄逼人的发展势头,NVIDIA的霸主地位受到强力挑战。
Radeon 9700 Pro让ATI首度超越NVIDIA
也是在这一年,图形市场出现不少有意思的变化:沉寂多时的Matrox在5月14日高调发布规格前卫的Parhelia-512 GPU,它也是业界第一款采用512位核心的GPU产品,并携带诸如10亿色彩、三头显示等许多新技术登台。遗憾的是,Matrox并没有因此翻身,Parhelia-512的3D性能明显落后于NVIDIA和ATI的产品,且高昂的价格令人望而止步,Matrox由此转向行业市场,退出消费领域的竞争。
Matrox Parhelia 512曾是人们心目中的梦幻产品,但被夸张的高定价彻底葬送。
此外,SiS则拿出Xabre 600 GPU,意图重返主流图形市场。Xabre 600支持DirectX 8.1、AGP 8X等规格,并率先采用0.13微米工艺制造。SiS雄心勃勃希望能借此在低端市场大展拳脚,可未想到Xabre 600的性能居然还不如GeForce 4 MX 460,毫无竞争力可言。再说消费者更热衷于占主导地位的N系或A系显卡,Xabre 600发布之后长时间无人问津,SiS不得不继续在市场边缘上徘徊。
2002年11月,NVIDIA发布代号为NV30的GeForce FX 5800 Ultra,这款产品被NVIDIA视作夺回市场的全部希望。若单论技术特性,GeForce FX 5800 Ultra绝对是首屈一指,它采用了大量的前卫设计,俨然以王者地位自居,但这次NVIDIA却遭遇了很大的麻烦。
首先,GeForce FX 5800 Ultra采用第二代DDR显存,尽管它的频率高达1GHz,却只有区区128bit位宽,显存整体带宽不足,难以将GPU的性能完全发挥。在实际测试中,GeForce FX 5800 Ultra的性能仅与Radeon 9700 Pro持平或小幅胜出。要知道,此时距Radeon 9700 Pro的发布已经半年之久了。更要命的是,500MHz频率、1.25亿个晶体管和1GHz DDRⅡ显存让GeForce FX 5800 Ultra功耗巨大,散热系统居然发出高达70分贝的超高噪音……NVIDIA对GeForce FX 5800 Ultra作了大张旗鼓的高调宣传,市场的回应却是如潮的恶评,终GeForce FX 5800 Ultra不得不黯然收兵。所幸针对主流的GeForce FX 5600和针对低端的GeForce FX 5200还有一定的规格优势,勉强保住了这两个领地。
GeForce FX 5800 Ultra性能平平、噪音超高,堪称NVIDIA史上失败的产品。
2003年3月,ATI针锋相对推出Radeon 9800 Pro。尽管它只是在前代产品基础上作了些改良,但性能已轻松超越GeForce FX 5800 Ultra——这也许是ATI赢得容易的一次。另外,ATI也针对主流和低端市场推出Radeon 9600、Radeon 9200两大系列,与NVIDIA的产品线划分如出一辙……
Radeon 9800 Pro再度让ATI赢得主动
接下来,NVIDIA在2003年5月拿出GeForce FX 5900 Ultra替代失败的GeForce FX 5800 Ultra。GeForce FX 5900 Ultra充分吸取了教训,没有再盲目追求高频率。核心和显存频率由GeForce FX 5800 Ultra的500MHz和1GHz降低到450MHz和850MHz,以此保证有足够的产能并降低成本;其次,GeForce FX 5900 Ultra舍弃了昂贵、发热量巨大且不实用的DDRⅡ显存,继续使用成熟的DDR产品,尽管频率稍有降低,但它的位宽恢复为256位,带宽显著超越对手。功耗方面,GeForce FX 5900 Ultra也有了明显的改善,尽管还需要体积庞大的散热器,但它的工作噪音已经降低到大家都可接受的程度。至于3D性能,GeForce FX 5900 Ultra与Radeon 9800 Pro处在相同的等级,这一战为NVIDIA挽回了颜面。
到2003年底,ATI已经赢得各个显卡厂商的广泛支持,NVIDIA完全丧失了垄断地位,而表现强势的ATI终在2004年取得半壁江山。于是,图形市场由NVIDIA一家独大终演变为两强对垒的局面。
2004年4月, NVIDIA以强烈的翻身意愿发布传说已久的NV40—它被正式命名为GeForce 6800 Ultra,与之同系列的还有标准版GeForce 6800、针对主流市场的GeForce 6600系列和针对低端的GeForce 6200系列。GeForce 6800 Ultra被设计得十分夸张:它拥有史无前例的16条像素渲染流水线和6条顶点流水线(合称为“CineFX 3.0引擎”),支持Shader Model3. 0规格,整合强大的视频处理器单元,其晶体管规模高达2亿2200万。此外,GeForce 6系列还拥有许多新颖的新技术,所有这一切都只有一个目标:获得压倒性的性能优势。
GeForce 6800 Ultra,令NVIDIA一举扭转之前的不利局面。
果然,这一次GeForce 6800 Ultra不辱使命,ATI被打了个措手不及,不得不一再延后R420核心的推出时间。功耗控制方面,GeForce 6800 Ultra同样表现出色,尽管标称高功耗达到150W,但实际工作中远小于这个数字,散热器运行安静。在用户关注的成本问题上,GeForce 6800 Ultra同样表现出色,NVIDIA与IBM合作,采用电路冗余技术,有效提高了GeForce 6800 Ultra的成品率,将制造成本控制在理想的范围内。
ATI Radeon X800实力不凡,但依旧无法与对手比肩。
而仅在两个月后,NVIDIA接着发布了代号为NV45,采用PCI Express x16图形接口的GeForce 6800 Ultra。除了接口变动外,它带来的重要特性就是可支持“SLI”并行显卡技术。籍由两块显卡并行运作,3D效能获得几乎翻倍的高幅成长,这个消息几乎让游戏界疯狂。而这项技术不仅适用于GeForce 6800 Ultra,还适用于所有采用PCI Express x16接口的专业、高端及主流显卡。加上NVIDIA以nForce 4 SLI芯片组构成完整的平台,SLI概念推广得热火朝天。也许只有很少的一部分人有机会用到SLI,但它无疑左右着消费者的购买取向,有效增强了NVIDIA产品的吸引力。
ATI对抗GeForce 6系列的就是Radeon X800、X600和X300系列产品线,它们均于2004年5月发布。其中,高级的Radeon X800 XT Platinum Edition也拥有16条像素渲染流水线,晶体管数量为1.6亿个,但在一些规格上Radeon X800系列落后于GeForce 6800 Ultra(如不支持Shader Model 3.0),业界的普遍看法是ATI的产品略处于下风。同年12月,ATI接着发布改良型的Radeon X850,但小幅度的性能提升已经无碍于大局。
当NVIDIA带来SLI之后,ATI也针锋相对地带来自己的CrossFi re混合交火技术,配合自身的Radeon Xpress 200 CrossFire芯片组,搭建一套多显卡交火平台。CrossFire同样实力非凡,但受到芯片组不够成熟的拖累,大多数游戏玩家都更青睐NVIDIA的SLI系统。
2005年6月,新一轮的图形大战开始打响,NVIDIA率先带来了代号为G70的GeForce 7800 GTX。在基本架构上,GeForce 7800 GTX仍然承袭于GeForce 6(NV40)系列,但它拥有大量的技术改进,其中为人瞩目的当属渲染流水线设计。前面我们提过,顶点渲染管线(Vertex Shader)与像素渲染管线(Pixel Shader)是决定显卡性能的关键性因素,由于这两个渲染管线的设计都被微软DirectX API所标准化,NVIDIA和ATI只能通过增加其数量来快速提升性能。NV40拥有6条顶点渲染管线和16条像素渲染管线,而GeForce 7800 GTX拥有8条顶点渲染管线和多达24条像素渲染管线,且各渲染单元内部的运算单元都获得大幅强化,从而实现性能的翻番,这也一举奠定了GeForce 7800 GTX的王者地位。NVIDIA将GeForce 7800 GTX的顶点渲染与像素渲染管线合称为“CineFX 4.0引擎”。CineFX 4.0同时实现对Vertex Shader 3.0和Pixel Shader 3.0规格的支持,这两者都是微软DirectX 9.0c API中所定义。
SLI模式下的GeForce 7800 GTX
GeForce 7的视频播放能力也获得进一步的加强,所整合的PureVideo引擎获得进一步的升级。它除了可支持MPEG-1、MPEG-2和HDTV高清晰影像解码外,还能够对MPEG-4(DiVX)、WMV9(标准分辨率和高清晰分辨率)等视频进行硬件编码和解码。同时它还对场交错自适应消除、高品质缩放、伽马纠正、噪声降低、WMV9/H.264运动补偿和色块消除等功能提供底层的硬件支持,使得计算机在执行这些任务时不需要耗费多少CPU资源,而视频画面的品质也可得到明显的提升。
GeForce 7800 GTX的晶体管规模达到惊人的3亿9百万,超过当时任何一款x86处理器。而在制造工艺选择上,NVIDIA这次采用相对落后但成熟的0.11微米技术,从而保证了良品率。
整个GeForce 7产品线看起来都相当完美,不过ATI的这一代GPU同样非常优秀,二者打了个平手。在GeForce 7800 GTX之后,NVIDIA又推出改良版的GeForce 7900系列,其性能也获得长足的进步。
Radeon X1000的环形内存总线架构,让512bit位宽成为可能。
ATI在同年10月发布自己的Radeon X1000 GPU,开始了DirectX 9.0c时代的征程。作为NVIDIA GeForce 7系列的强大对手,Radeon X1000不仅在着色器等方面有了明显提升,而且实现了对Shader Model 3.0的完整支持,有效改变长久以来在Shader Model指标方面的落后情况。其中,高端的Radeon X1800拥有8个顶点着色器和16个像素着色器。大家应该会注意到一个问题:NVIDIA GeForce 7800 GTX虽然也是拥有8个顶点着色器,但它的像素着色器数量达到24个。在GPU设计标准化的今天,着色器的数量直接决定GPU的性能,可ATI巧妙地通过提高芯片工作频率来弥补这一缺陷。Radeon X1800的核心频率高达625MHz,比GeForce 7800 GTX的430MHz高出45%。其次,Radeon X1800动用1.5GHz频率的超高速显存,在显存带宽指标上拥有明显的优势。通过这样的处理,Radeon X1800在性能方面的表现就丝毫不会逊色于对手。
Radeon X1000架构上的一个重要创新就是引入环形显存总线来代替之前的交错型总线,8×32位的配置方式加上采用高频显存,令Radeon X1000在显存性能方面获得一定的优势。在制造工艺上,ATI采用激进的90纳米Low-K工艺,这项工艺固然更先进但也让ATI吃了苦头,导致产品发布一再延迟,不过幸好仅仅只比NVIDIA落后几个月的时间。
2006年8月,AMD以54亿美元的代价并购ATI,从此ATI成为AMD公司的图形部门,这也标志着一个新时代的开始。
当微软DirectX 10发布之后,GPU迎来了史上第一次重大变革,而这次变革的推动者不再是NVIDIA或ATI,而是微软公司。
微软公司认为,传统的分离设计过于僵化,无法让所有的游戏都能够以高效率运行。这一点应该不难理解,因为任何一个3D渲染画面,其顶点指令与像素指令的比例都是不相同的,但GPU中顶点单元与像素单元的比例却是固定的,这就会导致某些时候顶点单元不够用,像素单元大量闲置,某些时候又反过来,硬件利用效率低下。而游戏开发者为了获得好的运行性能,也不得不小心翼翼地调整两种渲染指令的比例,微软认为这种情况限制了图形技术的进一步发展。
统一渲染管线具有无以伦比的通用性
为此,微软在设计Xbox360游戏机的时候,就提出统一渲染架构的概念,所谓统一渲染,即GPU中不再有单独的顶端渲染单元和像素渲染单元,而是由一个通用的渲染单元同时完成顶点和像素渲染任务。为了实现这一点,图形指令必须先经过一个通用的解码器、将顶点和像素指令翻译成统一渲染单元可直接执行的渲染微指令,而统一渲染单元其实就是一个高性能的浮点和矢量计算逻辑,它具有通用和可编程属性。相比DirectX 9之前的分离设计,统一渲染架构具有硬件利用效率高以及编程灵活的优点,让3D游戏开发者和GPU设计者都获得解放。ATI在获得Xbox 360合约的时候,便迅速展开了设计,它所拿出的Xenos GPU芯片便首度采用统一渲染架构。
对于这套设计,NVIDIA起初是比较抗拒,它认为传统的分离设计在硬件方面更加高效,但后看到大势所趋、并且也意识到统一渲染架构所具有的扩展弹性,在G80时代也实现了统一渲染架构。事实证明,NVIDIA才是此套架构大的受益者。
统一渲染架构固然是微软为提升硬件效率所提出,但它进一步提升了GPU内部运算单元的可编程性,让GPU运行高密集度的通用计算任务就成为可能,这意味着GPU可以打破3D渲染的局限,迈向更为广阔的天地。
2006年11月,NVIDIA高调推出GeForce 8800 GTX和GeForce 8800 GTS图形处理器,拉开了GeForce 8(开发代号G80)时代的序幕。而NVIDIA也在新一轮的竞争中将AMD-ATI拉下一个季度,后者的R600要等到2007年1月30日方能推向市场。
作为NVIDIA第一代统一渲染架构GPU,G80的硬件规格相当强悍:它拥有128个可执行3D渲染任务及其他可编程指令的流处理器(Stream Processors),内置24个ROP单元,高支持384位,86.4GB/s带宽的GDDR3显存,晶体管集成度高达6.8亿个,是前一代GeForce 7900的两倍多。G80也因此成为当时集成度高的半导体芯片,而这些指标也让G80拥有极其优秀的性能。
G80的高集成度意味着成本高昂,NVIDIA为了保证G80能拥有足够高的生产良品率,仅采用台积电90纳米工艺进行制造,它的功耗高达145瓦,显卡长度也因为供电模块的需要达到32厘米。另外为了解决散热需要,G80系列显卡都需要被一块体积硕大的散热器所覆盖,但NVIDIA将风扇噪音控制在很低的水平,即便在高负载状态下也能保证安静运行。
NVIDIA G80芯片集成了6.8亿个晶体管
在内部设计上,G80的128个流处理器被分为8个渲染集群,每个集群都是由16个流处理器(内部再平均分成两组)、4个纹理地址单元以及一个L1缓存构成,这样G80就总共拥有128个流处理器和32个纹理地址单元。流处理器是基本的计算单元,所有的图形渲染指令(包括顶点、像素和几何指令)都是由流处理器运算并输出。输出的结果会由一个交换器分配给6组ROP光栅处理单元进行处理,每个光栅单元又包含4个ROP,于是G80就拥有24个ROP处理单元。每一组ROP单元都对应一个L2缓存,它与渲染集群中的L1缓存以及显存相连—增加缓存的另一个好处就是可以为通用计算做好了准备。
也是在G80时代,NVIDIA发布了意义重大的CUDA 1.0开发平台。CUDA是一个集成的开发环境,它包括开发语言、编译器以及API。借助CUDA,程序员可以编写出能够为GPU所运行的计算程序。由于GPU拥有并行计算的巨大优势,大量的科学工作者都开始将应用迁移到NVIDIA的CUDA平台,GPU通用加速实现了从理论到现实的第一步,也为NVIDIA开辟了新一片的蓝海。此外,NVIDIA也在这个时候推出基于G80的Tesla高性能计算设备,专门供应超级计算市场。数年以后,Tesla也成功地成为该领域的新标准,超级计算业界普遍都将CPU+GPU的组合作为第一方案,而其中的GPU几乎都是NVIDIA的Tesla产品。
AMD在这一轮的竞逐中明显滞后,直到2007年5月才发布代号为R600的Radeon HD2900XT及产品家族。这款产品采用AMD的第二代统一渲染架构,拥有多达320个流处理器,芯片核心频率也达到740MHz。不过统一渲染架构赋予图形厂商很大的自由,AMD与NVIDIA双方都可以自由设计统一渲染单元,产品的差异化大增,彼此的流处理器也存在很大的区别,所以Radeon HD 2900XT的流处理器虽然数量很多,但性能并没有特别亮眼。此外,Radeon HD 2900XT还集合了ATI被收购之前的所有图形技术之大成,包括快速动态分支、流计算功能、超线程分派机制等等,环形内存总线技术也升级到第二代,这令Radeon HD 2900XT得以支持512bit显存位宽,也创下新的纪录。
低性能、高功耗的Radeon HD 2900 XT,重复了当年NVIDIA GeForce FX 5800 Ultra的命运。
Radeon HD 2900XT破纪录的地方还在于,它的晶体管总量达到史无前例的7亿个,几乎比上一代的Radeon 1950 Pro高出一倍,同时也略高于NVIDIA GeForce 8800 Ultra。当然,显卡的功耗也达到创纪录的215瓦,这些强悍的规格让它看起来是一款不折不扣的图形怪兽。然而,终的现实却相当残酷——RadeonHD 2900XT的性能仅相当于NVIDIA 面向中端的GeForce 8800 GTS,让业界大跌眼镜,AMD也不得不将Radeon HD 2900XT定位为注重性价比的高端产品,以此维持其竞争力,而这样的市场定位在后来也被一直延续。
在Radeon HD 2000时代,AMD处于比较低落的时期:芯片组尚不够成熟,Cros sFi r e交火技术也未能大展拳脚(NVIDIA SLI平台在多显卡市场的份额一度高达90%),自身又陷入资金匮乏的境地,CPU业务也面临强敌。而在通用计算领域,AMD虽然早在2006年9月就发布CTM接口,让程序员可以直接访问AMD GPU,但它远不如CUDA来得完善。程序员甚至不得不直接访问GPU硬件,终几乎没有多少程序员对AMD平台感兴趣,它在通用计算市场也几乎毫无斩获。
GeForce 7和GeForce 8的成功让NVIDIA放松了新一代产品的开发,它开始了“马甲”战略:GeForce 8800 GT→GeForce 9800 GT→GeForce GTS 240,GeForce 8800 GS→GeForce 9600 GSO,GeForce 8800 GTS→GeForce 9800 GTX→GeForce GTS 250。普通用户还认为它们是新一代产品,但无论性能还是规格都是换汤不换药。而即便如此,AMD依然无法在性能上占据上风。
但在这个时候,市场的情况已悄然发生变化,高性能不再是唯一的诉求,加上AMD与ATI的整合顺利,3A平台的威力愈来愈明显。首先,AMD芯片组不断成熟,越来越多选择AMDCPU平台的用户,也选择它的芯片组和显卡,而这种趋势的终极就意味着AMD平台将全封闭。其次,AMD推行Fusion融合处理器的概念,英特尔也随即跟上,CPU和GPU的一体化意味着独立显卡市场会变得越来越小。而另一方面,GPU通用计算作为新兴的市场,拥有巨大的成长空间;云计算的兴起也意味着未来的GPU将更多活跃在云渲染领域。再者,智能手机等掌上产品越来越流行,3D技术将向这些领域渗透。
基于这些转变,NVIDIA和AMD都调整了自己的脚步。NVIDIA放弃了芯片组业务,将目光放在通用计算市场,全力发展自己的CUDA平台;AMD则构建更灵活的产品体系,打造更富吸引力的3A平台来对抗英特尔与NVIDIA,它也成为新一轮GPU架构革命的发起者。
经历上两代产品的失败,AMD认为设计成本、功耗、性能合理的GPU更符合当时的要求,于是便实施了“Sweet Spot”计划。它不再追求那种大规模、高性能、高成本的设计,而是开发一个性能适中的轻量级GPU,再通过多芯片来制造高性能显卡。2007年底发布Radeon HD 3870便是该计划的第一个成果,它的开发代号是RV670,架构上还是隶属于R600体系。Radeon HD 3870仍然保有320个流处理器,显存位宽降低到256bit,晶体管集成度也缩减至6.6亿个。由于采用55纳米工艺制造,它的核心面积只有192平方毫米。
Radeon HD 3000的理念在市场上获得广泛的成功,凭借高性价比优势,Radeon HD3000家族饱受赞誉。仅在半年之后的2008年5月,AMD接着发布代号为RV770的Radeon HD4000家族。RV770拥有480个统一流处理单元(96+384),32个纹理单元,32个TMU,16个ROP,256bit显存位宽,支持原生GDDR3、GDDR4和GDDR5显存。相比上一代拥有6.66亿个晶体管的RV670,RV770的晶体管数提升到9.56亿个,幸好AMD采用55纳米工艺来制造RV770,芯片尺寸只有260平方毫米。RV770衍生出双芯片和单芯片的多款产品,其中旗舰级的Radeon HD 4870 X2(R700)完败同期对手GeForce GTX280。
轻量级的RV770 GPU,AMD注重新品推出速度的做法显然更明智。
NVIDIA虽然在2007年推出GeForce 9系列,但它其实只是G80的工艺升级版,重在降低功耗和成本,架构上并没有多少长处。真正意义上的新一代产品是2008年6月发布的GT200,对应GeForce GTX 280系列。GT200在架构上还是继承了G80的体系,但进行大幅度的增强和改进。GT200拥有240个流处理器,这些流处理器被分布在10个TPC阵列中,每个阵列包含24个流处理器(被划分为3组)以及8个纹理单元,并共享L1缓存。与流处理器数量提升相对应,GT200的纹理单元数量达到80个,ROP 光栅处理器数量则提升到了32个,各项规格都有了全面性的提升。
依然追求巨型芯片的GeForce GTX 280
GT200的晶体管集成度高达14亿个,刷新了半导体芯片的新纪录,但它只是采用65纳米工艺,导致芯片面积达到546平方毫米,功耗则达到惊人的236瓦。高昂的制造成本和惊人的功耗,加上性能落后于对手,GT200没有获得预想中的辉煌,这一次AMD让NVIDIA吃到了苦头。
2009年9月,AMD发布了Radeon HD 5000系列GPU,宣示新时代的到来。尽管没有正式代号,但外界还是习惯上以RV870来称呼这一代GPU。RV870秉承AMD上两代产品的设计哲学,以小芯片和先进的规格推向中端市场,然后再通过双芯片的方式向高端领域拓展。这一招屡试不爽,AMD也在这一阶段获得图形市场的优势地位。
作为RV870的标准版本,Radeon HD 5870拥有超过20亿个晶体管,配备1600个流处理器和80个纹理单元,也就是20组SIMD阵列,同时全面使用GDDR5显存,位宽则保持在256bit。核心频率设定在850MHz,它拥有两倍于RV770的计算能力;功耗方面支持分频技术,待机环境下功耗为28W,满载环境下功耗为190W,表现令人满意。得益于台积电40纳米工艺,Radeon HD 5870的核心面积为330平方毫米,要比NVIDIA的GT200要小得多。
RV870依然是一枚相对小的GPU,这种策略让AMD在主流图形市场中屡试不爽。
由于NVIDIA Fermi项目的拖延,Radeon HD 5000系列在高、中、低端市场都表现出极强的性能或价格优势,加上AMD计算平台羽翼丰满,Radeon HD 5000可以说在市场上所向披靡。不过对NVIDIA来说,这并不是一个艰难的时期,因为它们将业务重点转移到通用计算和超移动的Tegra领域。
2010年底,AMD接着推出代号为“北方群岛(Northern Islands)”的Radeon HD 6000系列,它的核心还是延续之前的RV870,只是对性能进行优化、功能也获得显著增强,如改进3D立体蓝光视频的渲染,集成第三代视频解码引擎UVD3,支持HDMI 1.4、DisplayPort 1.2接口规范,多屏系统的组建也将更加简单。Radeon HD 6000值得称道的地方在于,GPU单位面积的性能比上一代提升35%,这就意味着更低的成本。Radeon HD 6000系列产品的性价比都非常出众,加上快速铺开齐全的产品线,让AMD又稳稳地获得图形市场的优势地位。
在ATI被并购之后的两年,NVIDIA已经清晰地看到这样的趋势:留给自己的独立图形市场将会将越来越小,即便它能拥有好的图形技术,如果不采取正确的策略,终GeForce恐怕也难逃nForce的下场。
有鉴于此,NVIDIA将CUDA通用计算和移动Tegra平台作为两个全新的发展方向,并不惜一切代价朝新的目标挺进。之前的G80和GT200在通用计算领域打下良好的基础,但NVIDIA认为它们虽然拥有不错的灵活性,但还远不够完美,NVIDIA希望GPU的地位能够超越传统的CPU,而不仅仅只是用来渲染3D图形。
Fermi的CUDA核心,拥有完整的浮点和整数计算单元,为通用计算设计。
Fermi便是这种立意的产物,这款GPU发布于2010年4月。当AMD多芯片的战略所向披靡时,NVIDIA并没有简单模仿,仍然坚定地认为通用计算才是适合自己的方向,为此不惜耗费时间、精力以及损失市场的风险,来打造一块巨无霸型的新一代GPU。Fermi采用一种高度并行的计算结构,它拥有多达512个CUDA计算单元,每个单元都有缓存、作为一个基本的计算单位,这些单元可以同时进行浮点计算的处理。并行度远非CPU可比。AMD的GPU虽然有更多的流处理单元,但这些单元并没有缓存系统,只是被动地接受上级数据计算后输出,通用性非常有限,加上AMD并没有提供理想的开发工具,令开发者无从下手。其次,Fermi的每个CUDA核心,都在浮点计算单元之外加上整数处理单元,可执行完整的32位整数计算任务,而后者在过去只能通过模拟实现,且仅能计算24bit整数乘法而已;同时Fermi全面引入的还有积和熔加运算 (Fused Multiply-Add,FMA),每循环操作数单精度512个,双精度256个(G200仅支持单精度FMA)。所有这一切都符合业界标准,计算结果不会产生意外偏差。此外,Fermi的双精度浮点(FP64)性能也大大提升,峰值执行率可以达到单精度浮点(FP32)的1/2,而过去只有1/8。第三,Fe rmi引入了真正的缓存设计,每32个CUDA核心被配置成一组SM(Streaming Multiprocessor)流处理器,每组SM则拥有64KB可配置内存,可以根据任务的性质部署成16KB共享内存加48KB一级缓存,或者48KB 共享内存加16KB一级缓存的形式,从而满足不同类型程序的需要。此外,整个芯片还共享768KB的二级缓存,方面SM计算单元的输入输出——这些显然都是为通用计算而准备。
复杂的设计让Fermi的晶体管集成度达到令人咂舌的30亿个,它采用台积电40纳米工艺制造,照例NVIDIA又一次遭遇良品率低、功耗高和中端产品推出时间慢的问题,在此期间NVIDIA的市场份额不断流失。直到进入2011年后,Fermi架构的第二代GF110内核才变得成熟,新内核解决了功耗和漏电的不足,CUDA流处理器的数量也提高到512个,它所对应的便是目前市场上的GeForce GTX 500系列。
Fermi依然是一枚巨无霸芯片,NVIDIA不惜代价成为通用计算市场的主宰者。
就图形性能而言,GeForce GTX 500系列与AMD Radeon HD 6000系列对应的产品只能说在伯仲之间,双方各有胜负。AMD平台的优势在于性价比以及自身的CPU和芯片组匹配,但GeForce GTX 500系列拥有更丰富的技术特性,比如PhysX物理计算和光线追踪都被新一代游戏广泛支持。对于这类游戏,GeForce GTX 500系列会有更出色的性能表现。对于图形市场,NVIDIA却没有太多的强调,他们几乎在任何场合都宣传GPU通用计算的巨大好处和CUDA平台的优势,所以NVIDIA以更快的速度冲向新的高性能计算市场。我们可以看到,即便早先放弃nForce芯片组业务,桌面显卡遭到对手狙击,NVIDIA却依然活得有声有色。
NVIDIA构建的第二个新业务就是针对超移动设备的Tegra平台,Tegra将ARM处理器内核与GeForce GPU集成在一起,为智能手机、平板电脑等设备带来卓越的3D性能。诚如大家所见,Tegra已经在智能手机中遍地开花,即将出现的四核心Tegra 3更是令人侧目,由于竞争对手远远无法在图形技术方面同NVIDIA比肩,未来NVIDIA在这个市场的作为也不会令人太惊讶。
NVIDIA构建的第三个新业务就是传说中的Danver处理器:Danver将包含CPU和GPU两部分,前者为NVIDIA自行开发的高性能64位ARM处理器,包含八个内核;后者则基于改进型Fermi架构,集成256个流处理器。按计划Danver将采用台积电28纳米工艺,顺利的话它将在年底进入流片阶段。
今天的GPU已经成为计算机的第二个心脏,它的地位隐然有超越CPU的态势——对于商业办公、互联网等常规应用来说,现时的CPU完全处于性能过剩的状态,即便低端的CPU,都能够很流畅地处理这些应用。至于高性能要求的应用,几乎都体现在高清视频、数码照片处理、3D渲染等领域,而这些应用无一例外都是密集的浮点计算。在这些领域里,GPU所展现出的能力明显超出CPU,虽然上述大多数应用当前还是依赖CPU完成,但新一代软件几乎都将GPU加速作为优先的选项。从实际应用的角度上来说,高速GPU能比高速CPU带来更显著的性能改善。那么,GPU的发展在未来将达到什么样的高度?对于这个问题,市场应该是好的试金石。