光影之路 GPU架构发展史(1/4)

时间:2024-05-20 22:42:45

在PC时代初始,还没有GPU这一说法,它的前身便是所谓的“显示芯片”,但当3D游戏出现在PC平台时,这一名称变为“图形芯片”,后来NVIDIA制造出功能更强的“图形芯片”,使图形应用对CPU的依赖逐渐降低,由此诞生了“图形处理器”,也就是我们所说的GPU。到2006年以后,GPU们又有了新的名称,即“流处理器”或“高并行处理器”。虽然业内习惯上对其还是沿用GPU的名称,但这已是一个全新的时代。而现在,GPU整合于CPU内部,彼此协同的异构计算方式成为新的方向,这又带领着图形工业朝向新的领域前进。

光影之路 GPU架构发展史(1/4)

      接下来,我们将回顾图形史上的架构变迁,分别是:加速卡时代、GPU时代与通用计算时代,从中我们也将了解到这个行业过去这些年的风云动荡。

加速卡时代:3D初生

在最初的阶段,只有显示芯片,它的功能就是将CPU运算的结果显示在CRT屏幕上,本身只是简单的功能逻辑。图形时代无疑是从PC进入3D世界之后开始的,3Dfx的Voodoo是这个时代的里程碑。

在Voodoo出现之前,其实就已经有一些简单的3D游戏出现在PC之上了,但当时3D渲染工作只能由CPU来完成——所谓的3D渲染,从计算层面来讲其实就是大量的、可同时进行的浮点计算。如果要让3D渲染工作可以流畅地进行下去,就要求计算系统能够提供足够高的硬件性能。由于当时的CPU都是单线程,只能一步一步地依次进行各个计算操作,而完成所有这些计算工作就需要比较长的时间。满足3D渲染流畅度的标准要求是30fps,也就是一秒钟生成并显示出30个3D画面,即便是面对当时非常“简陋”的3D游戏,这个任务所需的浮点计算量也是CPU所无法承受的。

1.3Dfx Voodoo开创3D时代

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万个,这些规格在当时都创下了纪录。

光影之路 GPU架构发展史(1/4)

Voodoo加速卡

作为加速卡,Voodoo必须与显卡配合才能正常运作,这也意味着额外的成本提升。1996年11月,3Dfx发布了Voodoo Rush,它在Voodoo加速卡的基础上增加了2D显示功能的模块,但3D内核本身没有任何变动。到了1998年,新一代Voodoo2加速卡到来,它的性能提升十分巨大:多边形运算效能达到每秒300万个,为Voodoo的3倍;像素填充速度也提升到每秒9000万,相当于Voodoo的两倍。在同一运算周期中,Voodoo2可以为每个像素渲染多个(实际是两个)材质,而且这一功能是借助一个像素芯片和两个纹理芯片共同完成。相比之下,第一代的Voodoo只附带了一个纹理芯片,一个周期只能对像素进行单材质处理,这就意味着Voodoo2可以带来更为精细的3D效果。

光影之路 GPU架构发展史(1/4)

Voodoo2加速卡,以支持SLI双卡运作而著名。

不过,Voodoo2最令人震撼的地方还在于它首度支持双卡并联的SLI技术,这令*的游戏玩家们感到疯狂。即便这种双卡加速意味着昂贵的支出,但*的游戏玩家依然乐于耗资600美元购置SLI双卡方案。据调查显示,当时有30%的Voodoo2用户都采用了双卡方案,这也成为3D图形史上耀眼的一幕。尽管SLI技术后来没有被3Df x持续下去,但它所开创的理念却成为图形业界灵感的源泉。若干年之后,NVIDIA推出自己的SLI技术,ATI也带来类似的CrossFi re多显卡技术,这些技术归根结底,最早的理念源头便是Voodoo2的SLI。

光影之路 GPU架构发展史(1/4)

多芯片的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虽已陨落,但它的技术理念却让整个图形工业都受益匪浅。

2.NVIDIA从Riva 128到TNT2

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,无一不是如此。

光影之路 GPU架构发展史(1/4)

Riva 128让NVIDIA在3D市场崭露头角

Riva 128的硬件性能非常强悍,其内置的硬件三角形处理引擎每秒可以进行5亿次浮点运算,生成120万个三角形,最大像素填充率则达到每秒6000万个,这些规格都明显超过了3Dfx的Voodoo加速卡。而在图形API的支持上,Riva 128对微软Direct3D提供了完整的支持,对OpenGL的支持也是非常到位,游戏兼容性颇为理想。这两个方面的要素令Riva 128在实际应用中的表现十分出色,虽然其画面品质难以同当时风靡全球的3Dfx Voodoo比肩,但在非GLIDE API游戏性能的比拼中却超过了后者。

光影之路 GPU架构发展史(1/4)

大获成功的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×[email protected]高分辨率的支持,并附带了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的胜局。

3.专注于OEM市场的ATI

1996年1月,ATI推出3D Rage系列3D显卡,3D Rage的内核基于之前的Mach64 2D,只是加上了3D功能,它拥有1条像素流水线和1个顶点着色单元,能处理光源、支持MPEG-1硬件加速等,另外这枚芯片采用0.5微米工艺生产。3D Rage整体的规格中规中矩,而且它的兼容性比较差,销量很低,也没有多少人能记住它,业界认为只有随后的3D Rage Ⅱ+DVD才是ATI第一款真正的3D图形处理器。

光影之路 GPU架构发展史(1/4)

双芯片的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显卡的第一代。

光影之路 GPU架构发展史(1/4)

支持双头显示功能的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第一款双芯片显卡。这款产品固然没有在市场上获得太大的反响,但它在技术业界地位非凡,为日后的多显卡和多芯片发展思路奠定了基础。

4.S3、Matrox、Trident:加速卡时代的昙花一现

作为初生的市场,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比肩。

***************************************************