电脑硬件结构超级解读之显示卡基础篇- 轻风的日志- 网易博客

电脑硬件结构超级解读之显示卡基础篇

认识显示卡

啊....显示卡,一直是我{za}的零组件!自从在十年前买了{dy}代Voodoo卡,机械继电器那「啪」的一声进入GLQuake,看到水面的「灰色泥浆」变成半透明之后,我就知道自己踏上3D的不归路了,自此之后我只买高阶卡,因为我无法忍受游戏{tx}不能全开的痛苦。十年之后,显示卡的发展已经超乎我当初的想像,我相信也超乎绝大多数人的想像。在电脑界,大家常会引用摩尔定律:每12~24个月,芯片的复杂度和效能就会成长一倍。但显示芯片(Graphic Processing Unit,GPU)是少数能超越摩尔定律的零组件。若以浮点运算能力来评断GPU的效能,GeForce 6800 Ultra是54 GFlops,GeForce 7800 GTX是165 GFlops,GeForce 8800 GTX就已经超过500 GFlops,在这三颗GPU所间隔的短短两年半中,GPU效能就翻了将近10倍。附带一提,现在蛮热门的Intel Core 2 Duo Q6600的GFlops大约是30左右。

(PS:1 GFlops,就是每秒有10亿的浮点运算指令,Giga Floation point Operation Per Second。)

(PS:严格来说,Voodoo一代不能算是显示卡,因为它没有2D核心,只能显示3D画面,2D的部分必须还有另一张显示卡,Voodoo1和Voodoo2都是3D附加卡的型态,但它们少数的特例,所以我不管了,也不去写拗口的3D加速卡,通通都叫显示卡吧!)


当然,用GFlops来衡量CPU既不公平也不准确,因为CPU和GPU是xx相对的存在。在接下来的章节中,我们会仔细谈显示卡的结构,什么是 DirectX?Shader在干嘛?游戏和显示卡怎么相辅相成,摆脱十年以前的2D黑暗期,造就这十年来的3D爆炸性成长。我们先从最简单的开始....


这十年来显示卡改变多大?1997年我们只能勉强跑GLQuake(Quake的OpenGL加速版,算是{dy}套展现Voodoo能力的游戏。透明水,有看到吗!?),2007年我们已经可以玩画面接近相片拟真的Crysis。



显示卡的外观


显示卡是一个小型的完整系统,它有自己核心芯片、存贮器、电源输入和散热模组,我们先以一般人最常用的显示卡为例做介绍:



啊....拿错了,一般人用这种卡就见鬼了。



一般用的显示卡大约像这样,我把几个重点部分标号出来。



1.传输介面:




这一长条金手指是显示卡输出输入资料的地方,图中的卡是PCI-Express x16介面,大家或许也有听过AGP(Accelerated Graphics Port,加速绘图埠),甚至现在还有人死不放弃。最早的3D卡是用PCI介面,但大量读取的资料很快就撑爆PCI介面,当时只好先用AGP应急。但AGP是一对一的埠,而非通用的总线,限制颇多,所以在三四年前显示卡开始转换到PCI-Express 1.1,这是由数量不等的通道组合成的总线,PCI-E x16就表示组合16条通道,每一条的频宽是双向每秒500MB。在今年底,PCI-E 2.0的显示卡将会出现,传输频宽会加倍,这是为了把要运算的资料搬进显示卡中,并把运算结果回传出来。



2.视讯输出:







显示卡是连接各种显示器输出画面,位于显示卡后端的就是这些输出接头,相信大家都分的出来DVI(白色)和D-Sub(蓝色)接头,这是电脑最常用的两种接头。其中DVI是纯数位资料,比D-Sub的模拟传输有更好的稳定性和清晰度,加上现在流行的LCD也是数位对应显示,用DVI才能达到{zj0}效果。现在就算最差的显示卡都至少有一个DVI,稍好一点的就会有两个DVI,或是特殊的Dual-Link DVI。Dual-Link DVI可以输出比一般Single-Link DVI更高的解析度,{zg}达3840x2400,一般DVI只到1920x1200。除了DVI,现在显示卡也开始具备HDMI输出,未来甚至有 DisplayPort等更先进的输出方式。HDMI算是可以传输SPDIF音讯的DVI,在视讯方面几乎跟DVI一模一样(差别只在HDMI可以另外传输色差讯号)DisplayPort的话太新了,还没有实际产品,我也不太了解,希望高手指教。除这些电脑用的端子,一般显示卡还有九针的多功能视讯输出(圆孔的那个),可转接成AV、S、色差端子。



3.电源处理:




这些柱状物和线圈是电容和电感,显示卡也是要吃电的,电容和电感可以稳定电源,避免突然过高或过低的电压造成死机,甚至伤到硬件,跟主机板上的电容电感的用意是xx相同的。一般显示卡都是由PCI-Express插槽直接供电,{zg}75W,这种卡的电源处理就会集中在插槽附近,但像上面那张图的高阶卡,耗电量超过75W就要另外插电,通常在卡的末端会有这种PCI-Express的6pin电源插孔,可额外再输入75W。这种要外接电源的卡,电源模组的部分就会集中到电源插头附近,在散热器后面那一块全部都是做电源处理的。依卡的高中低阶不同,低阶的通常不用外接电源,{zg}阶的则可能会有两个6pin电源,甚至用上PCI-Express 2.0新规格的8pin电源,一个就可供电150W。当然,会吃到这么多电的卡,在世代交替淘汰之前,价格绝不会低于两千元(文中除非此处,其他涉及价钱的都为台币)。



4.散热模组:




就跟CPU一样,GPU也会发热,也有自己的TDP规范,要让GPU能稳定运作,显示卡上的散热模组必须消散掉GPU所产生的废热。至于要怎么把废热排掉就是各厂商的创意了,要用巨型风扇加铝鳍导风罩散热、或是纯被动散热片避免风扇噪音等等,只要符合TDP的规范就可以了。而GPU的高中低阶就等于发热量的多寡,也就等于散热器的大小,加上高阶卡的线路也比较复杂,因此显示卡的高中低阶通常会反应在外观上,上图就是四种常见的尺寸,从最长的10寸,到最小的Low Profile。




散热器主要都是针对GPU,拆下来之后就会露出显示卡的核心芯片GPU,旁边八颗则是辅助GPU的显示存贮器。他们的关系就跟CPU和系统存贮器一模一样,GPU做运算,存贮器则存贮GPU所需的一切资料。看布线就知道,所有的存贮器都通往GPU,所以GPU有内建存贮器控制器。



5.GPU核心:




十年以前,显示卡的核心都只负责2D显示,但2D没几年就已经发展到顶点了,在那之后都是着重在3D运算能力,近几年则另外再加上影片的解码播放加速。 GPU跟CPU一样也是半导体制程,制程方式虽然不同,但同样会随着时代进步缩小制程以降低成本,目前{zx1}的是65奈米,年底左右会有55奈米。GPU一样是靠电晶体来运算3D,但因为CPU和GPU本质上差异极大,所以GPU很容易就出现超大量的电晶体,至少都是CPU的两三倍以上,正中央那颗就是 GPU的die晶粒,不过因为制程、芯片特性等种种因素,GPU的时脉不易拉高,今年大约可以突破800MHz而已。



6.显示存贮器:




做为GPU的暂存空间,存贮正要处理或已经处理完的资料。就跟系统存贮器一样,容量和时脉也是影响效能的两大因素,但这都已经无关2D显示了,就像前面说的,2D显示已经发展到顶点了,显示存贮器早就远远超过2D显示所需。现在容量和时脉完xx全是针对3D游戏,游戏的资料量愈大,显示卡就需要愈大的存贮器来存贮资料;显示芯片的处理速度愈快,就需要时脉愈高的存贮器来快速进出GPU。依显示卡的高中低阶不同,容量从32MB~768MB不等,突破1GB 是迟早的事,时脉则从400MHz~2000MHz以上都有。



显示卡的基本运作原理


现在显示卡的玩家端应用不外两大宗:3D游戏和影片播放,3D绘图和影片压缩格式的专有名词很多,乍看真的眼花缭乱,但这里我们先把视角拉高一点,从最远的地方来看显示卡的运作,其实不管是3D绘图、影片加速、甚至是更先进的GPGPU,都脱离不了以下要讲的流程。


显示卡的基本运作流程,直到驱动程序为止都是CPU在运算,因此CPU的效能也会影响显示卡的效能,如果前端太慢,显示卡都在等资料、喂不饱,就会造成效能瓶颈。



在DOS之后,应用软件就很少再直接存取硬件,因为直接存取硬件会影响操作系统的稳定性,在多工OS下尤其重要,便免使用者手贱把系统搞挂。而且直接存取的话,软件和硬件的设计都很不方便,因为软件得想办法支持个别硬件,就像早期的DOS游戏那样,每套游戏都得手动针对不同的硬件做支持,显示卡、摇杆、音效卡什么的,硬件一多就快起笑了。业界急需一个共通的中介标准,于是微软制定了{dy}代DirectX,这是一种「应用程序介面」(API,Application Programming Interface)夹在软硬件之间,虽然多了第三者会减损效能,但换来的方便性是{jd1}值得的,其中Direct3D是针对显示卡的3D绘图API,是DirectX最重要的一部分,其他还有DirectSound、DirectInput负责声音和周边。



DirectX


DirectX是显示卡和游戏共同支持的标准,游戏以DirectX的语法来写,显示卡将DirectX的语法转变成3D画面,两者就有统一的标准,不再需要个别支持,可降低开发难度,而且执行结果有一致性,不管用什么硬件,只要都支持DirectX,跑出来的画面理论上都要一样。除了DirectX之外,OpenGL也是另一个绘图API,通常用于专业的3D绘图领域,但也有少部分PC游戏使用(游乐器则除了Xbox,大多是用OpenGL), OpenGL的历史比DirectX久,但因为Windows的内建优势、原生支持硬件加速、更新速度快,在游戏应用上DirectX比OpenGL强势多了。虽然显示卡一定得支持DirectX,但实际GPU芯片线路要怎么设计则是各家厂商的创意,就像x86 CPU不能直接执行x86指令,得通过内部的解码器转换,GPU也不能直接执行DirectX的指令,中间还得通过驱动程序,这也是为什么显示卡的驱动程序超级重要,因为它得解译DirectX的指令,转换成GPU看得懂的机器语言(Machine Code),驱动程序会直接影响显示卡的效能和功能。

DXVA

影片的部分也就不难懂了,API换成DXVA(DirectX Video Acceleration),播放软件的影片解码器下达DXVA指令,再通过驱动程序解译交给GPU运算,我们就有了影片硬件加速。跟DirectX相同的道理,要支持硬件加速,解码器、驱动程序和显示芯片都要支持DXVA才能启动,缺一不可。以上就是GPU非常基本的运作原理,详细的3D运作流程、宣传过度的DirectX 10、GPU硬件规格、影片加速的原理、驱动程序等等,会在楼下文章中一一介绍,欢迎来到华丽又迷人的电脑影像世界!
郑重声明:资讯 【电脑硬件结构超级解读之显示卡基础篇- 轻风的日志- 网易博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——