硬件X档案——显示卡 飘逸 1999年 第17期 20版 显示卡是计算机内主要的板卡之一。我们知道,CPU处理的是数字信号,而显示卡则承担了后续图像的处理、加工及转换为模拟信号等工作,其重要性不言而喻。 #1 显示卡术语基础: 由于工作性质不同,不同的显示卡提供了性能各异的功能。一般来说,二维(2D)图形图像的输出是必备的。在此基础上将部分或全部的三维(3D)图像处理功能纳入显示芯片中,由这种芯片做成的显示卡,就是我们通常所说的“3D显示卡”。没有2D功能而仅有3D功能的显示卡(例如用VooDoo、VooDooⅡ显示卡)必需有一个具有2D功能的显示卡共同使用,这种显示卡称为3D子卡。 描述显示卡性能的技术术语主要有:最大分辨率、色深、刷新频率等。对于3D显示卡,除了上述指标外,针对三维图像生成速度相对2D较慢的特点,更突出了对速度的描述:“像素填充率”、“三角形(多边形)生成速度”是最基本的性能指标。 最大分辨率是指显示卡能在显示器上描绘点数最大数量,通常以“横向点数×纵向点数”表示,例如“1024×768”,这是图形工作者最注重的性能。 色深是指在某一分辨率下,每一个像点可以有多少种色彩来描述,它的单位是“bit”(位)。具体地说,8位的色深是将所有颜色分为256(28)种,那么,每一个像点就可以取这256种颜色中的一种来描述。当然,把所有颜色简单地分为256种实在太少了点,因此,人们就定义了一个“增强色”的概念来描述色深,它是指16位(216=65536色,即通常所说的“64K色”)及16位以上的色深。在此基础上,还定义了真彩24位和32位色等。 刷新频率是指图像在屏幕上更新的速度,也即屏幕上的图像每秒种出现的次数,它的单位是赫兹(Hz)。一般人眼不容易察觉75Hz以上刷新频率带来的闪烁感,因此最好能将您显示卡刷新频率调到75Hz以上。要注意的是,并不是所有的显示卡都能够在最大分辨率下达到75Hz以上的刷新频率(这个性能取决于显示卡上RAMDAC的速度),而且显示器也可能因为带宽不够而不能完美地达到您的要求。一些低端显示卡在高分辨率下只能设置为60Hz。 显示芯片决定了分辨率与色深大小,但如果显示的内存不够,还是达不到芯片所能提供的最大性能。显存与分辨率、色深的关系是:如果要在1024×768分辨率下达到16位色深,显存必须存储1024×768×16=12582912bit的信息,由于1Byte(字节)=8bit(位),计算机中的1KB(千字节)=1024Byte,1MB(兆字节)=1024KB,所以显存至少12582912÷8÷1024÷1024=1.5M。由于显存的大小一般是1M、2M、4M、8M……的整数,因此,必须要有2M显存才能实现上述要求。有的早期显示卡上自带1M显存,并有一个可以扩充1M显存的插座(当时显存价格很贵,而且那时的显示器多数只能达到800×600分辨率),就是为了必要时扩充显存而不用更换显示卡。要注意的是上述方法仅对2D显存有效,3D显存的分配较复杂,计算方法也很复杂,读者可关注有关的文章。 三维图像的生成比较复杂。我们在屏幕上看到的三维物体其实是由成千上万个三角形(或多边形)通过复杂的运算拼凑而成。一个三维的物体运动时,要及时地显示出原先被遮住的地方,并及时地抹去现在被遮住的部分,并且还要针对现场的光线用不同的色彩填充这些“三角形”。由于人眼具有“视觉暂留”特性,所以当三维图像快速地进行生成、消失和像素填充时,看不出破绽。三维图像的质量与处理速度直接相关。描述一个显示卡的3D特性最基本的指标是“像素填充率”和“三角形(多边形)生成速度”,实际上每一代3D显示卡都主要在这两个指标上做文章。现在的3D显示卡已经发展到第四代,如VooDooⅢ的最低版本2000型的上述两个指标分别是每秒2.5亿个像素和每秒700万个三角形生成速度,如此巨大的数字只是为了保证在显示三维物体运动时画面没有停顿感,也就是至少每秒30帧图像。 #1 显示卡的结构: 显示卡上主要的部件有:显示芯片、RAMDAC、显示内存、BIOS、VGA插座、特性连接器等。有的显示卡上还有可以连接彩电的TV端子或S端子。还有一些近期出现的显示卡由于运算速度快,发热量大,在主芯片上用导热性能较好的硅胶粘上了一个散热风扇(有的是散热片),在显示卡上有一个2芯或3芯插座为其供给电源。为了让大家能获得更多的感性认识,本文中的图例来源不止一个显示卡,下面是一个典型的AGP显示卡的结构图。(^172001a^) #1 显示芯片: 显示芯片是显示卡的“心脏”,决定了该显示卡的档次和大部分性能,同时也是2D显示卡和3D显示卡区分的依据。2D显示芯片在处理3D图像和特效时主要依赖CPU的处理能力,称为“软加速”。如果将三维图像和特效处理功能集中在显示芯片内,也即所谓的“硬件加速”功能,就构成了3D显示芯片。显示芯片通常是显示卡上最大的芯片(也是引脚最多的),中高档芯片一般都有散热片或散热风扇,像^172001b^二的上面那个芯片就粘上了散热片。显示芯片上有商标、生产日期、编号和厂商名称,例如“S3”、“3Dfx”、“nVIDIA”等。每个厂商都有不同档次的芯片,不能只看商标决定芯片档次,要结合型号来共同判别,芯片的档次可以简单地分为: 2D显示卡:8900、9000、9440、9685等; 3D一代:S3的Virge系列、Trident的9750、9850等; 3D二代:Matrox的G100、3Dlabs的Permedia2、3Dfx的VooDoo Ⅰ(3D子卡)、nVidia的Riva128及Riva128ZX、SiS的SiS6326、ATI的RagePro、Intel的i740、S3的Trio-3D等; 3D三代:Matrox的G200、3Dfx的VooDoo Ⅱ(3D子卡)和VooDoo Banshee、nVidia的RivaTNT、ATI的Rage128、Intel的i740Plus、S3的Savage-3D等等; 3D四代:部分已经上市,主要有3Dfx的VooDoo Ⅲ、nVidia的RivaTNT2、S3的Savage4、G400等; #1 RAMDAC: (^172001c^)其含义是“数-模转换器”,它的作用是将显存中的数字信号转换为能够用于显示的模拟信号。RAMDAC的转换速率以MHz表示,决定了刷新频率的高低(与显示器的“带宽”意义近似)。该数值决定了在足够的显存下,显示卡最高支持的分辨率和刷新率。如果要在1024×768的分辨率下达到85Hz的分辨率,RAMDAC的速率至少是1024×768×85×1.344(折算系数)÷106≈90MHz。现在显示卡的RAMDAC至少是170MHz,高档显示卡的多在230MHz以上,刚刚面市的第四代3D显示卡大多采用了300MHz以上的RAMDAC。为了降低成本,有些厂商将RAMDAC做到了显示芯片内,在这些显示卡上找不到单独的RAMDAC芯片。 #1 显示内存: 与主板上的内存功能一样,显存是也是用于存放数据的,只不过它存放的是显示芯片处理后的数据。3D显示卡的显存较一般显示卡的显存不同之处在于:3D显示卡上还有专门存放纹理数据或Z-Buffer数据的显存,例如带有6M显存的VooDoo Ⅰ显示卡,其中的2M显存就是用于上述用途。由于3D的应用越来越广泛,以及大分辨率、高色深图形处理的需要,对显存速度的要求也越来越快,从早期的DRAM,过渡到EDO-DRAM,一直到现在经常见到的SDRAM和SGRAM,速度越来越快,性能越来越高。^172001d^四的显存是SGRAM,注意它的四边都有引线的,很好区别;^172001e^五的显存是EDO-DRAM,与SDRAM一样采用了两边引线。区分EDO-DRAM和SDRAM可以看该显存上的编号,一般标有“08”、“10”、“12”等字样的多数是SDRAM,标有“80”、“70”、“60”、“-6”、“-7”等字样的多半是EDO-DRAM。除了上述3种常见的显存外,还有更专业的显存如VRAM(双端口视频内存)、WRAM(窗口内存)、RDRAM、CacheRAM等,多用在图形处理工作站上。 显存的大小不固定,从单条256K、512K、1M到单条2M都有,因此不能仅看显存芯片的个数来猜测显示卡上有多大显存容量。 很多老的显示卡上还有一些空插座用来扩充显存(如右图,插座上已经插上了显存),我们在扩充时要注意与显示卡上已有的显存速度配套,例如原显存是80ns,新扩充的显存也要是80ns的,这样在扩充后才能少出故障。 #1 BIOS: 又称“VGA BIOS”,主要用于存放显示芯片与驱动程序之间的控制程序,另外还存放有显示卡型号、规格、生产厂家、出厂时间等信息。打开计算机时,通过显示BIOS内一段控制程序,将这些信息反馈到屏幕上。^172001f^六是3块不同显示卡上的显示BIOS,可见外形不尽相同。早期显示BIOS是固化在ROM中的,不可以修改,而现在的多数显示卡则采用了大容量的EPROM,即所谓的“Flash-BIOS”,可以通过专用的程序进行改写升级。别小看这一功能,很多显示卡就是通过不断推出升级的驱动程序来修改原程序中的错误、适应新的规范、提升显示卡的性能的。对用户而言,软件提升性能的做法深得人心。 #1 总线接口: 显示卡要插在主板上才能与主板互相交换数据。与主板连接的接口主要ISA、EISA、VESA、PCI、AGP等几种。ISA和EISA总线带宽窄、速度慢,VESA总线扩展能力差,这三种总线已经被市场淘汰。现在常见的是PCI和AGP接口。PCI接口是一种总线接口,以1/2或1/3的系统总线频率工作(通常为33MHz),如果要在处理图像数据的同时处理其它数据,那么流经PCI总线的全部数据就必须分别地进行处理,这样势必存在数据滞留现象,在数据量大时,PCI总线就显得很紧张。AGP接口是为了解决这个问题而设计的,它是一种专用的显示接口(就是说,可以在主板的PCI插槽中插上声卡、显示卡、视频捕捉卡等板卡,却不能在主板的AGP插槽中插上除了AGP显示卡以外的任何板卡),具有独占总线的特点,只有图像数据才能通过AGP端口。另外AGP使用了更高的总线频率(66MHz),这样极大地提高了数据传输率。 目前的显示卡接口的发展趋势是AGP接口。要留意的是,AGP技术分AGP1×和AGP2×,后者的最大理论数据传输率是前者的2倍,今年将会出现支持AGP4×的显示卡(例如Savage4),它的最大理论数据传输率将达到1056MB/s。 区分AGP接口和PCI接口很容易,前者的引线上下宽度错开,俗称“金手指”,后者的引线上下一般齐。(^172001g^) #1 VGA插座: (^172001h^) 它是一个有15个插孔的插座,外型有点像大写的“D”(防止插反了)。与声卡上的MIDI连接器不同的是,VGA插座的插孔分3排设置,每排5个孔,MIDI连接器有9个孔,2排设置,比前者长一点,扁一点。VGA插座是显示卡的输出接口,与显示器的D形插头相连,用于模拟信号的输出。 #1 特性连接器: 是显示卡与视频设备交换数据的通道,通常是34针,也有26针的。它的作用不大,早期用于连接MPEG硬解压卡作为信息传送的通道。 #1 其它部件: 晶体振荡器:不锈钢外壳,比较显眼。其作用是产生固定的振荡频率使显示卡各部件 的运作有个参考的基准。 S端子:部分显示卡通过它完成向电视机(或监视器)输出的功能,5个插孔呈半圆分布,与电视机上的S端子完全相同。 贴片电阻:中、高档显示卡由于工作频率很高,采用了无引线的贴片电阻以减少干扰。它们是构成显示卡电气线路的一部分。 显示卡上绝大多数部件已经叙述完毕,另外,不同的显示卡要达到的性能指标不同,工作方式也不完全一样,有的显示卡将显示芯片的功能分开,分别做成集成电路,这样显示卡上的主芯片就有2个或2个以上(如VooDooⅡ有2个纹理处理芯片和贴图处理芯片共3个主芯片);还有的显示卡为完成某项特定功能而单独制作了一些部件(如SLI连接插座等),这些特殊的部件不胜枚举,限于篇幅还请读者仔细研究显示卡说明书或到该显卡生产商的主页上获取相应信息。