沧海桑田话存贮 内存/显存发展编年史
在前文的内存部分,关于内存颗粒的位宽、通道、Bank等做了一些介绍,这些技术参数对于显存同样适用,但显存也有自己的一套规格定义,下面就逐一介绍:
● 规格:16M×32Bit是什么意思?
当您浏览网站或者查看显卡规格时,往往都会看到类似“某某显卡使用了4颗16M×32Bit的GDDR3显存”这样的文字,这其中16M×32Bit就是该显存颗粒的主要规格,是国际统一的命名标准,可以到存储厂商官方网站上查到。
不少资料中表述16M×32Bit,16M表示显存存储单元的容量为16Mbit,小编经过查证发现这种说法是翻译错误,事实上16M是指显存(内存)颗粒中拥有的Bank数量,而32Bit则是每Bank的位宽或者说容量。这样一来显存颗粒的容量算法就很好理解了。
● 容量:单颗显存容量=存储单元数量×每单元数据位宽/8
以最常见的16M×32bit GDDR3显存为例,16×32/8=64MB,一颗显存就是64MB的容量,那么这块显卡用了4颗显存就组成了256MB。
很多人可能会纳闷上面的公式中为何要除以8,因为官方规格中的16M的单位是Megabit(兆位)而不是MegaByte(兆字节),它两之间的换算需要除以8。
● 速度:显存理论频率=1000/时钟周期×2
大家常说某某显卡采用了1.4ns颗粒,另一个显卡用了更快的1.2ns颗粒,超频更猛等等……这个1.2ns就是显存的时钟周期,同样的我们需要换算成更容易理解的数字。
套用以上公式,我们来算算主流规格显存的理论频率是多少:
0.8ns颗粒=1000/0.8×2=2500MHz=2.50GHz
为什么要乘以2,因为DDR系列存储颗粒属于双倍传输,在工作频率和数据位宽相同的情况下,显存带宽是SDRAM的2倍,因此大家习惯于在基础频率上乘2,超高的频率确实比较好看。
● 位宽:显存位宽=单颗显存数据位宽×显存数量
这个不难理解,比如显卡使用了4颗16M×32bit GDDR3显存,那么位宽就是32bit×4=128bit。需要注意的是,并非所有情况下这个公式都成立,除了显存数量之外,GPU显存控制器的位宽决定了显卡位宽上限。
低端显卡核心拥有128Bit显存控制器,因此4颗GDDR3显存就能满足位宽需求,即便PCB上集成了8颗显存,显卡位宽依然是128bit。如果是中端显卡的话,8颗显存正好是256Bit,与核心相吻合。
● 带宽:显存带宽=显存位宽×显存工作频率/8
单纯看显存位宽意义并不大,最终影响显卡性能的其实是带宽。我们可以把带宽比作是马路的车行流量,显然马路越宽(显存位宽),车速越高(显存频率),最终的带宽就越高。
以GTX260为例,显存频率2GHz,位宽448bit,计算所得带宽就是112GB/s。除以8的原因还是因为bit和Byte之间的换算。
带宽是显存速度的最终衡量,有些显卡的显存频率高,但是位宽低,最典型的就是使用GDDR5显存的HD4870,位宽256bit但频率高达3600MHz,最终计算得带宽就是115GB/s,和GTX260相当。