显卡的“数据仓库”——显存

硬件周刊

  一、显卡性能瓶颈──显存带宽

  显存又称为显示帧缓存,是显卡的重要组成部分。它主要用来存储图形数据信息。显存带宽就是指显示芯片(图形处理器,GPU)与显存间数据传输的速率,以字节/秒为单位。

  显存带宽的高低直接决定了显卡的数据吞吐量,也决定着显示芯片性能是否能完全发挥。众所周知,GPU进行像素渲染时需要从显存的不同缓冲区中读写数据。材质贴图和Z轴深度复杂性会使每个像素渲染需要占用大量的显存带宽资源,纹理数据也是从同时放有像素颜色和Z缓冲区的显存中读取,而且分辨率的提高和使用全屏反锯齿设置等也要消耗不少的显存带宽。所以,显存带宽是除GPU之外另一个影响显卡性能和速度的最重要的因素,它影响着你的显卡能否支持更高的分辨率、更大的色深和合理的刷新率。要得到高分辨率、色彩逼真和流畅的3D画面,就必须有大显存带宽。

  二、如何增加显存带宽

  根据带宽的计算公式:显存带宽=工作频率×显存位宽/8(提示:之所以要除以8,是因为每8个bit等于一个Byte。显存位宽=单块显存颗粒位宽×显存颗粒总数),我们要提高显存带宽可以从提高显存工作频率与位宽这两方面考虑,而这也是当今高性能显卡的发展趋势。

  增加工作频率就是增加显存的时钟频率,这是一种简单而有效的方法,但由于显存制程工艺的制约,显存的工作频率已经无法像以前那样以倍级提升,而且频率的提升也带来高延迟、高热量等问题。因此,显示芯片/显卡厂商在改进显存技术同时也将目光投到了第二种解决方法之上──增加显存位宽。如果当显存时钟速度一样时,显存位宽增加一倍,那么此时每次可以传输的数据量将是以前的两倍。在里,我们假设显存数据总线位宽是128bit,如果显存总线位宽缩小到64bit,那么每个时钟周期内仅仅可以传送8个字节信息,同样如果显存总线位宽增加到256bit时,那么它将可以在每个时钟周期发送32个字节信息,因此增加显存位宽而提升显存带宽就有点像从两车道增加到四车道,道路变宽而增加道路的车流量。

  三、显存的分类

  作为显卡的重要组成部分,显存也一直随着显示芯片的发展而逐步改变着:从最早的EDO(Extended Data Out DRAM,扩展数据输出动态存储器),发展到SDRAM(Synchronus DRAM,同步DRAM),再到目前主流的DDR显存及最新的DDR-Ⅱ、DDR-Ⅲ显存,显存的速度对3D显卡性能的影响也越来越大。在这里,我们简单介绍一下SDRAM、DDR、DDR-Ⅱ、DDR-Ⅲ这四种显存。

  1.夕阳西下──SDRAM

  相信大家对这种显存并不陌生。这种显存类型其实就是SDRAM内存改良而来的,因此SDRAM显存与SDRAM内存在技术、本质上并没有什么区别。SDRAM的最大特点就是可以与CPU(对显卡来说,就是GPU)的外频同步,可以取消等待周期,减少了数据传输延迟。

  由于受生产技术、SDRAM架构的制约,SDRAM显存的工作频率达到250MHz(相当于4纳秒)就很难再提升了。针对这个问题,厂商们想到了通过增加数据传输率来提升带宽的方法──利用总线的上升沿和下降沿来触发数据(而SDRAM只能在总线上升沿时触发、传送数据),这就是DDR显存技术。

  2.当红明星──GDDR(DDR)

  DDR SDRAM(简称DDR)在设计和操作上,与SDRAM很相似,惟一不同的是DDR在时钟周期的上升沿和下降沿都能传输数据,所以同频率下DDR的数据传输率比SDRAM的快一倍:例如,工作频率为200MHz的SDRAM显存的数据传输率是200Mbps,而工作频率为200MHz的DDR显存的数据传输率则是400Mbps。值得注意的是,与SDRAM相比,尽管DDR允许你很容易地得到两倍的总线峰值带宽,但是这并不意味着总线的持续带宽也会被成倍地增加。这是因为200MHz SDRAM的读取延迟比200MHz DDR的要少。

  不过,DDR最大一个硬伤就是频率最高只能达到1GHz,如果要想超越几乎不太现实,这已经无法满足高性能GPU在高分辨率下或在打开抗锯齿和各项异性过滤后对显存带宽的需要。这时更先进的显存技术──DDR Ⅱ显存出现了!

  提示:其实我们称DDR显存是一种不准确的说法,正确的说法应该是GDDR (graphics double data rate)显存,由于GDDR显存属于改良后的DDR内存,因此被俗称为DDR显存。

  3.匆匆过客──GDDR-Ⅱ(DDR-Ⅱ)

  GDDR-Ⅱ显存也称为DDR-Ⅱ显存,与DDR相比,DDR-Ⅱ最大的改进是在DDR的基础之上改良了I/O Buffer部分──改用了四位预读取架构(4Bit Prefetch)。这样DDR-Ⅱ在每MHz传送数据达到4Bit,比DDR每次传送2Bit多一倍。这个四位预读取技术可以在核心频率较低的情况下实现较高的数据传输率。但大家要注意一点,DDR-Ⅱ虽然采用四位预读取,但在实际频率上与DDR是相同的(提示:DDR-Ⅱ的频率称为时钟频率(Clock Frequency),而不是核心频率(DRAM Core Frequency),故此DDR-Ⅱ 533的时钟频率为266MHz)。因此,在相同的核心频率下,DDR-Ⅱ的带宽要达到DDR带宽两倍的水准有一个前提条件: DDRⅡ的外部时钟频率必须是DDR和SDRAM的两倍。由于DDR-Ⅱ标准最先针对桌面系统的,为此厂商按照图形需要对DDR-Ⅱ进行了改进推出所谓的GDDR-Ⅱ显存。

  GDDR-Ⅱ显存接口是以Stub Series Terminated Logic (SSTL)-18接口规格为基础(注:此新一代的接口可处理I/O密集的绘图环境),通过点对点收发信号对图形应用进行了优化,可提供1Gb/秒的传输速率,不过仍保留了DDR-Ⅱ规范的片内终结器设计(On-Die-Termination ),OCD,优化的CAS技术,性能上相比DDR显存提高了50%。GDDD-Ⅱ的频率将在1.2GHz~1.6GHz之间,1.6GHz 128位GDDR-Ⅱ可提供25.6GB/s的峰值带宽,256位版本数据吞吐量则高达51.2GB/s。NVIDIA是最先支持GDDR-Ⅱ显存的图形芯片厂商,早在NV30时就开始支持GDDR-Ⅱ显存了,再到目前的GeForce FX5700 Ultra。而ATi方面也曾推出过支持GDDR-Ⅱ的Radeon 9800Pro 256MB版本。

  但GDDR-Ⅱ的技术并不成熟,虽然DDR-Ⅱ标准中的电压为1.8V,而采用0.11微米制程的GDDR-Ⅱ还是需要2.5V的工作电压,因此GDDR-Ⅱ显存的功耗较大,甚至比同时钟频率的DDR显存还要高,因此在运作时会产生巨大的热量,令显卡厂商头痛不已。此外GDDR-Ⅱ虽同DDR-Ⅱ一样,拥有ODT技术,但GDDR-Ⅱ的ODT技术并不完整,而且延迟值比DDR-Ⅱ高一点,因此性能有所下降,这也是GDDR-Ⅱ在技术上的缺憾。因此,厂商们很快又推出了新一代显存──GDDR-Ⅲ显存。

  4.未来之星──GDDR-Ⅲ

  GDDR-Ⅲ其实可以看成是GDDR-Ⅱ的改良版本,采用与GDDR-Ⅱ显存管脚兼容设计,原理上并没有很大的不同。与GDDR-Ⅱ相比,GDDR-Ⅲ的工作电压从GDDR-Ⅱ的2.5V降低至1.8~1.9V,而且功耗亦比GDDR-Ⅱ少一半,发出的热度不高,故此采用GDDR-Ⅲ内存的显卡再也不用对显存所发出的热量头痛,而且ODT技术和DDR-Ⅱ内存一样变得完整,DDR-Ⅱ内存所拥有的Additive Latency及OCD电压管理优化技术GDDR-Ⅲ同样拥有。

  GDDR-Ⅲ采用了区分读、写操作的单端单向Strobe,这较有利提升时钟频率,只是延迟值会高一些。由于GDDR-Ⅲ这一特性,内存制造商们便可以更容易地制造出高频率的显存颗粒。如GDDR-Ⅲ已经由500MHz(GDDR-Ⅲ1000)开始步向800MHz(GDDR-Ⅲ1600,三星已经开始投产),这是GDDR、GDDR-Ⅱ所不能达到的频率。此外,GDDR-Ⅲ低能耗带来的另一个好处是内存制造商们可以在一块显卡上使用更多的显存──因为大容量的DDR或者GDDR-Ⅱ显卡供电要求较大,所以厂商们必须为它们设计更昂贵的PCB板,而GDDR-Ⅲ在这一方面则会节省出一定的成本。同时GDDR-Ⅲ的每个颗粒可以具有更大的容量,如目前的GDDR-Ⅲ的显存支持8M×32bit规格,而目前GDDR2颗粒只有4M×32bit的规格,因此GDDR-Ⅲ最大的优势就是能较好地控制成本,而且由于采用的颗粒减少,显卡的功耗、发热量也将有明显的下降。GDDR-Ⅲ将首先应用于高端显卡,除了NVIDIA会支持这种显存外,ATi也会很快在自己产品中使用。

  和GDDR-Ⅱ相比,GDDR-Ⅲ有不少优势,加上现时用GDDR-Ⅱ的显卡并不多,因此,我们可以预见,GDDR-Ⅱ只是短暂的过渡产品,将会很快被GDDR-Ⅲ取代。

  结语:

  除了GPU之外,显存规格已经成为了衡量显卡性能高低的一大指标。可以说,显示芯片的进步也会伴随显存技术的进步。未来显存技术还将会往什么方向发展呢?还是让我们拭目以待吧!