显卡的构造工作原理

09-27

显示卡(videocard)是系统必备的装置,它负责将 CPU 送来的影像资料(data)处理成显示器(monitor) 可以了解的格式,再送到显示屏 (screen) 上形成影像。它是我们从电脑获取资讯最重要的管道。因此显示卡及显示器是电脑最重要的部份之一。

由於我们使用电脑来处理事情,影像时常在变动。这些变动发生得很快,这点尤其受我们所做的事情来决定,有以下几种类型:

1、DOS performance,现在相当於 Game performance 。今天所有专业应用软件都在 GUI 作业系统之下执行。

2、3D performance-游戏越做越逼真, 而我们就生活在 3D 世界,不是吗?

3、GUI performance,也叫 2D 或 Windows performance,因为 Win 是最受欢迎的 GUI 作业系统。(GUI就是graphic user interface 使用者图形界面)

4、Video Display performance在我眼里看来对我们大多 数的人仍然不是那么重要,但是想在他的电脑观看或处 理 video 的人将必须寻找一块快速的专门处理 video 的 卡。

那么显示卡及显示器各在哪方面各扮演怎样的角色?

显示器在清晰度 (sharpness),明亮度 (brightness),稳定度 (stableness) 和最大解析度方面扮演十分重要的角色。假如你想要有高品质的影像,你需要一台高品质的的大显示屏显示器,至少 17 寸,你的显示卡要尽可能挑最好的。显示器如果很烂,显示屏看起来就会很不舒服。

在显示卡方面,RAM DAC是负责将资料送到显示器的部份。有两个重要的因素,一是RAM DAC 的品质,他是单独存在或并入显卡芯片 (video chipset) 之中;还有最大像素频率 (pixel frequency),以 MHz 为单位。220 MHz 的 RAM DAC通常比 135 MHz 来的好。他提供了较高的刷新率 (refresh rate)-在后面会再告诉你为什么。

显示屏解析度 (screen resolution) 和色彩解析度 (color resolution)跟显存 (Video RAM) 的数量有关。

显卡的性能显存和芯片的种类有关。但是我们不应该忘记它跟总线 (PCI/ISA/EISA) 也有关,因此主机板还有它的芯片组都跟资料送达显示卡的速度有关。最后就是 Pentium(P55C)/Pentium Pro(Klamath)/6x86(M2) CPU 新增的 MMX 指令集-它能增进显示卡的效能,可能比现在任何的显示卡技术帮助还要大。

显示卡负责的的工作及其进行的程序究竟是怎样的呢?

我们必须了解,资料 (data) 一旦离开 CPU,必须通过 4 个 步骤,最后才会到达显示屏:

1、从总线 (bus) 进入显卡芯片 -将 CPU 送来的资料送到显卡芯片里面进行处理。 (数位资料)

2、从 video chipset 进入 video RAM-将芯片处理完的资料送到显存。 (数位资料)

3、从显存进入 Digital Analog Converter (= RAM DAC),由显示显存读取出资料再送到 RAM DAC 进 行资料转换的工作(数位转类比)。 (数位资料)

4、从 DAC 进入显示器 (Monitor)-将转换完的类比资料送到显示屏 (类比资料)

如同你所看到的,除了最后一步,每一步都是关键,并且对整体的显示效能 (graphic performance) 关系十分重大。

注: 显示效能是系统效能的一部份,其效能的高低由以上四步所决定,它与显示卡的效能 (video performance) 不太一样,如要严格区分,显示卡的效能应该受中间两步所决定,因为这两步的资料传输都是在显示卡的内部。第一步是由 CPU 进入到显示卡里面,最后一步是由显示卡直接送资料到显示屏上,这点要了解。

最慢的步骤就是整体速度的决定步骤 (注: 例如四人一组参加 400 公尺接力,其中有一人跑的特别慢,全组的成绩会因它个人而被拖垮,也许会殿后。但是如果他埋头苦练,或许全队可以得第一,所以跑的最慢的人是影响全队成绩的关键,而不是哪些已经跑的很快的人)。

现在让我们来看看每一步所代表的意义及实际所发生的事情:

CPU 和显卡芯片之间的资料传输

这受总线的种类和总线的速度(也就是外频),主机板和他的芯片组所决定。 目前最快的总线是 PCI bus,而 VL bus, ISA, EISA and NuBus (Macs 专用) 效能就比较低。

现在流行的AGP并不是一种总线,而只是一种接口方式(注: PCI bus 是 32 bit data path,也就是说 CPU 跟 显示卡之间是以一次 4 byte 的资料在对传,其他的 bus 应该是 16 bit data path)。

PCI bus 的最快速度是 33 MHz 。

显卡芯片和显存之间的资料传输以及从显存到 RAM DAC 的资料传输

我把这两步放在一起是因为这里是影响显示卡效能的关键所在, 假如你不考虑显卡芯片的个别差异。

显示卡最大的问题就是,可怜的显存夹在这两个非常忙碌的装置之间 (显卡芯片和 RAMDAC),必须随时受它们两个差遣。

每一次当显示屏画面改变,芯片就必须更改显示显存里面的资料 (这动作是连续进行的,例如移动滑鼠游标,键盘游标......等等)。 同样的,RAM DAC 也必须不断地读取显存上的资料,以维持画 面的刷新。 你可以看到,显存在他们之间被捉的牢牢的。

所以后来出现了一些聪明的做法,像是使用 VRAM, WRAM, MDRAM, SGRAM, EDO RAM, 或增加 video bus 的大小如 32 bit, 64bit, 还有现在刚出现的 128 bit。

解析度越高,从芯片传到显存的资料就越多。 而 RAM DAC 从显存读取资料的速度就要更快才行。 你可以看到,芯片和和RAM DAC 随时都在对显存 进行存取的工作。

一般 DRAM 的速度只能被存取到一个最大值(如 70ns 或 60ns),所以 在芯片结束了存取 (read/write) 显存之后, 才能换 RAM DAC 去读取显存,如此一直反覆不断。

显示卡制造商想到叁种不同的方法来对付这个问题:

首先出现的是,将显存设计成 dual port (注: dual port 意指两个出入口或通道),具有两个不同的资料通道 (data path)。也就是说,芯片透过一个 port 读写显存,但 RAM DAC 透过第二个独立的 port 读取显存。芯片不用再等 RAM DAC,RAM DAC 也不用再等芯片,这种显存称做 VRAM。

dual port 的设计明显地更为复杂,所以生产成本较高。这就是为什么 VRAM 显示卡较贵但也较快的原因。

WRAM 只被使用在 Matrox 的显示卡上(注: 这是 Matrox 自己研发的),它也具有 dual port 的设计,但是结构更加精密,所以它比 VRAM 还快,但是生产成本却比它少 20%。(但是买不到 - 我也一样)。

可能你还搞不清楚,为什么提供高刷新率和高解析度的显示卡通常都是使用这两种显存?

你应该好好想想以下的事情,显示屏刷新率 (refresh rate) 较高的意思也就是说 RAM DAC 将一张全显示屏的画面资料送给显示器的频率比在低刷新率时要更加频繁。因此 RAM DAC读取显存的次数会更加频繁(注: 显示屏刷新率越高,越不易感觉到显示屏的闪烁,对眼睛比较好)。

这只能透过使用 VRAM/WRAM 来解决,因为他们可以透过第二个 port 来读取显存, 不然的话,使用 DRAM/EDO 的显示卡,你就会看到显示的效能就会降的非常多。

你不相信? 好吧,只要跑一下你最喜欢的显示测试软件就知道了,首先先在低刷新率,然后再跳到高刷新率-假如你的卡是 DRAM/EDO 显示卡,你将看到有很明显的差别。 这在较高的色彩之下也同样适用。

在 256 色(8bit)及解析度 1024x768 的显示屏上,RAM DAC 需要读取显存资料 786432 bytes 送到显示器以在显示屏上形成一个完整的画面。(注: 8 bit=1 bytes,1024x768=786432 点,所以一个整个显示屏的画面共需 786432x1=786432 bytes)

而在 1677 万色(24bit),RAM DAC 就需要读取 2359296 byte,这要花更多的时间。所以你那便宜的卡从低色彩调到全彩的时候,你常常无法使用跟低色彩一样高的刷新率,原因就在这里。 (注: 例如你使用 75 和 90 MHz 的显示屏刷新率,去跑 xing 算张数,你会看到很明显的差别, 用低解析度跟高解析度去跑,情况也是一样) 。

其他对付这个问题的方法是增加video memory bus size。 三年前每个人都对刚推出的 32 bit 显示卡感到非常地震惊。 这些卡在显卡芯片、显存和 RAM DAC 之间具有 32 bit data path。 有了这个 32 bit 的 data path,你一次可以传输 4 byte(32 bit/8=4 byte)。

后来出现了 64 bit 的显示卡,等於一次同时可传输 8 byte,这是目前的标准。 而且就在最近不久,有一些新的显卡芯片问世,具有 128 bit 的 data path ,等於一次传输 16 byte。

由此可知,使用 VRAM/WRAM 和具有宽 data path 的显示卡效能最好。 如果显示卡的芯片具有 128 bit data path,一定要使用 VRAM/WRAM。 ET6000 芯片 就是一个很好的例子。

在对这个 128 bit data path 感到高兴之馀, 我们不应该忘记一件非常重要的事情: 一般用在大部分显示卡上 8x1Mbit 显存只具有 32 bit 的 data path !!! 因此,128 bit 的芯片如果配上这种显存,一次也只能存取32bit!!!

这就是为什么所有的 64 bit 显示卡假如只内建 1 MB 的显存,效能就会慢非常多。 不要买这种显示卡!!!! (注: 这里的 1MB 是指 8 块 1Mbit 显存芯片所组成的 1 MB, 这是过去的显示卡可见到,如VESA,VL-bus,或早期的 PCI 显示卡。 这种卡市面上已经买不到,除非你买中古货。 现在市面上的 PCI 显示卡内建 1MB 的显存, 但是他的 1MB 是由 2 个 512K 的 DRAM 或 EDO 所组成的, 而且都可以升级到 2MB 或更高, 这些显存的 data path 为 64 bit,正好配上 64 bit 的芯片组,例如 S3 trio64 )。

具有128 bit data path的ET6000芯片需要特殊的显存搭配才能发挥他的128 bit data path的功能,这就是 MDRAM(multi bank DRAM)。//本文来自脚本之家www.

这种显存跟一般的DRAM在结构上有所不同,所以透过interleaving和其他技巧一次可以被存取128bit,即使卡上只有 2 或 2.25 MB 的显存。 (注: 这就是为何 ET6000 显示卡的显存有 2.25 这种奇怪的数字) Number Nine Imagine 128 使用这种芯片,但是却内建 4MB 显存,否则就无法使用 128 bit data path。

第三个让显存存取更快速的很明显的方法就是直接增加 video chipset/video RAM/RAM DAC 的频率(clock speed) (注: 意思也就是增加外频)。

在很多年以前,显卡芯片的速度早就可以跑的比主机板显存的总线速度还快。 现在 ET6000 芯片很快就可以跑 100 MHz ( Tseng 现在对这个还有问题,目前最快的是 90 MHz 而且其他显卡芯片甚至跑的还更快。 为此(使用较高的外频),很明显地你也需要特殊的显存, 因为我们都知道,我们的 Pentium 板子上的主显存最大只跑 66 MHz 的 clock speed(有的例外 75, 有的还有 83)。

MDRAM 可以办到,而且现在最新的显示显存就是 SDRAM。 SGRAM 不过是 SDRAM (synchronous DRAM) 的「显示版本」而已,所以我们知道它的速度可以高达 125 MHz !!!

总结以上所有的观点,我们发现,要有最理想的效能, PCI 系统应该要使用最新的芯片组并且具备更高的PCI clock (也就外频越高越好)。还有显示卡上要有高效能的芯片或 VRAM/WRAM的显存或宽的data path,或最好三者兼具!