lol自由助手:显卡的工作原理是什么?

来源:百度文库 编辑:中科新闻网 时间:2024/03/28 18:16:47

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)。

这种显存跟一般的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,或最好三者兼具!

显卡工作原理详解

IT023.COM(电脑在线)

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)。

这种显存跟一般的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,或最好三者兼具!