显卡的数据仓库
整机外设
显示内存(即显存)是显卡的一个重要组成部分,它与显示芯片的关系就好比仓库与工厂的关系,显示芯片是负责生产、加工的工厂,而显存就是存放物料和成品的仓库。没有仓库,工厂不能正常生产;没有显存,显示芯片也根本无法工作,由此可见显存的重要性。
3D时代的显存主要起三种作用:帧缓存、Z-buffer(Z缓存)和纹理缓存。帧缓存负责存储渲染完成后将要显示出来的各个像素的数据;Z-buffer存储的是各个像素距离观察者的深度数据,由于3D渲染的过程并非按照扫描顺序,因此总是需要二重甚至三重帧缓存;纹理缓存负责存储渲染环境与人物时需要的纹理数据。
一、显存的种类
在显卡的发展历程中,出现过许多种类的显存,目前最常见的有SDRAM、DDR SDRAM、SGRAM、DDR SGRAM、DDR Ⅱ等五种。
SDRAM是英文Synchronous DRAM的缩写,翻译成中文就是同步动态存储器的意思。结构上它是由一个普通的DRAM(动态存储器)和一个时钟组成,所有的控制信号和地址、数据都只在时钟脉冲的上升沿动作。SDRAM颗粒目前主要应用在低端显卡上。
在SDRAM之后,人们采用了DDR SDRAM显存。它与SDRAM的工作原理大致相同,外观也一模一样,只是DDR在时钟脉冲的上升沿和下降沿均能读写数据,因此理论上相同时钟频率下的DDR要比SDRAM数据传输率高一倍。DDR由于其性能和价格的综合优势而成为当今显存的主流。
SGRAM和DDR SGRAM分别是SDRAM和DDR SDRAM的改良版本。它们的特点是可以在数据读入前对数据预先进行分析处理,可以快速完成整块数据的读写工作。虽然理论带宽与SDRAM相同,但实际使用中速度要比SDRAM稍高10%左右。两种SGRAM共同的显著特点就是四边都有针脚(见图1),而两者的区别是DDR SGRAM明显比SGRAM薄得多。
当今显存发展又跨上了一个新台阶,更先进的DDR Ⅱ显存已经在最新的GeForce FX 5800/5900 Ultra和Radeon 9800 PRO上应用(见图2)。DDR Ⅱ采用了4bit Prefetch(数据预取)技术,因此将等效速度提高到核心工作频率的4倍,也就是数据传输率达到了同时钟频率DDR显存的2倍。
二、显存的封装
目前,显存封装形式分为四边针脚的QFP(Quad Flat Package,小型方形扁平封装)、两面针脚的TSOP-Ⅱ(Thin Small Out-Line Package,薄型小尺寸封装)和球形阵列引脚的mBGA(Micro Ball Grid Array Package,微型球栅阵列封装)三种。
QFP封装是一种四边都有针脚的封装形式(见图3),一般具有32bit的数据位宽。它在早期的显卡上使用得较多,但由于PCB布线和芯片工艺问题,频率很难提升得更高,而且成本也较高,所以现在逐渐被mBGA所代替。
目前显存主要采用的是TSOP-Ⅱ封装方式,它的形状很狭长,只有两边有引脚(见图4)。TSOP-Ⅱ多数是16bit的数据位宽,少数的具有32bit数据位宽。TSOP-Ⅱ封装,寄生参数(电流大幅度变化时,引起输出电压扰动)较小,适合高频应用,生产比较方便,可靠性也比较高。
mBGA封装的显存体积很小,近似正方形,而且引脚不是裸露在外,而是以微小锡球的形式安装在芯片底部,所以这种显存都看不到引脚(见图5)。mBGA普遍具有32bit的数据位宽。mBGA显存大大改善了芯片的电、热性能,可靠性高,而且显存内部的寄生参数最小,信号传输也最快,所以采用mBGA封装的显存可以达到很高的工作频率。采用mBGA显存的GeForce FX 5800/5900 Ultra频率甚至达到了1000MHz以上!
三、显存的主要品牌
显存的生产厂家很多,Samsung、Hynix、Infineon、Micron、Winbond、EtronTech等显存都是大家比较熟悉的品牌,其中以Samsung颗粒使用得最多。
除了这些知名品牌,还有一些不常见但品质也很不错的显存。比如日本的Elpida,得到了英特尔的大力支持,在最新的DDR Ⅱ和新一代的RDRAM(Yellowstone)领域,Elpida都是先行者之一。国内也有一些使用高端Elpida颗粒的显卡,如果碰到就不要错过。
Samsung(三星)是显存制造方面的老大,我们先来认识一下三星显存颗粒(见图6)。辨别显存颗粒主要看第二行。K4表示这块芯片内部有4个逻辑BANK,D表示DDR SDRAM(S表示SDRAM),26表示这块芯片容量为128Mbit=16MBytes(64表示64Mbit),32表示该芯片的单片数据位宽是32bit,最后的GC表示mBGA封装(QC是QFP封装、TC是TSOP-Ⅱ封装),2A表示芯片速度是2.8ns(纳秒)。如果一块显卡上有4片这样的显存,那么这块显卡一般就是64MB、128bit的显卡。
Hynix(现代)也是著名的显存制造商,它的显存颗粒想必大家也常见(见图7)。也是看第二行,HY是厂商代号,5D表示DDR SDRAM(57表示SDRAM),V表示工作电压是3.3V(U是2.5V),64表示单片容量是64Mbit,即8MB,16表示单片位宽是16bit,最后的-36表示显存速度是3.6ns。如果一块卡上有8片这样的颗粒,那么这块卡一般就是64MB、128bit的显卡。
其他显存型号的辨别也与此类似,就不再赘述了。一般需要注意的是显存速度和位宽,尤其是位宽大小,对显卡性能影响极大。
四、显存的带宽和容量
显存的种类、封装一直在发展,但无论怎么发展,最主要的目的都是为了提高显存带宽,因为显存带宽是影响显卡性能的最重要因素之一。显存带宽是指显示芯片与显存之间数据传输的速率,单位是兆字节/秒(MB/s)。其计算公式为显存带宽=显存频率×显存位宽/8。随着游戏复杂程度的急剧增加,显示芯片和显存之间交换的数据量也猛增,因此显存带宽的重要性愈加重要。
由显存带宽的计算公式可以看出,显存频率和显存位宽是影响带宽的两个因素。显存频率取决于显存速度,一般等于显存时钟周期的倒数。比如4ns的显存,对应的显存频率就是1/(4×10的-9次方s)=250MHz。如果是DDR显存,则等效频率相当于两倍,即500MHz。提高显存工作频率能有效提升显卡性能。
显存位宽是显存与显示芯片数据交换通道的宽度。位宽好比一条高速公路,传输的数据就好比公路上行驶的汽车,公路越宽,那么每次通过的汽车越多。所以在其他条件相同的情况下,显存位宽越大,显卡性能越好。目前的显存位宽一般有64bit、128bit、256bit三种。
除了带宽,显存容量也是影响显卡性能的重要一环。现在主流显卡的容量一般是64MB,最大容量已经达到256MB。单就2D显示来说,远远用不着这么多。在1024×768分辨率、32bit色深的状态下,只不过用到了1024×768×32=25165824Bits=3.14MB,更高的分辨率和色深也不会耗费太大的显存。但3D应用却十分需要显存,Z缓冲、材质显存、纹理显存等等。各种用途所需要的显存数量统统加起来,有时候甚至连64MB都不够。因此更大容量的128MB显存逐渐成为主流,256MB显存也逐渐开始应用。
关于显存带宽的计算,可以举几个例子。例如现在市面上有一种64bit位宽的GeForce FX 5200显卡,DDR等效频率是400MHz,那么这块卡的带宽只有:400MHz×64Mbit/8=3200MB/s=3.2GB/s。这种带宽下的FX 5200性能不会比GeForce4 MX420强多少。与之相反,小影霸的G8408D(GeForce4 Ti 4200-8X)采用128bit位宽、512MHz显存频率,带宽达到了512MHz×128Mbit/8=8192 MB/s=8.2GB/s,完全符合NVIDIA的标准。
通过上面的介绍,希望大家对于显存这个3D数据仓库有个大致的了解。






