泡泡网显卡频道 PCPOP首页      /      显卡     /      评测    /    正文

剪不断理还乱!DDR1-3和GDDR1-5全解析

    前面介绍的是关于历代内存的技术原理,可以说是比较微观的东西,反映在宏观上,就是常见的内存颗粒及内存条了,这都是些看得见摸得着的东西,但有些概念还是不容易理解,这里一一进行说明:

内存位宽——SDR/DDR1/2/3单条内存都是64bit

    内存模组的设计取决于内存控制器(集成在北桥或者CPU内部),理论上位宽可以无限提升,但受制因素较多:高位宽将会让芯片组变得十分复杂,对主板布线提出严格要求,内存PCB更是丝毫马虎不得,内存颗粒及芯片设计也必须作相应的调整。可谓是牵一发而动全身,所以多年来业界都是墨守成规,维持64bit的设计不变。

    相比之下,显卡作为一个整体就没有那么多的顾忌,只需重新设计GPU内部的显存控制器,然后PCB按照位宽要求布线,焊更多的显存颗粒上去就行了,虽然成本也很高但实现512bit并没有太大难度。

多通道内存——双通道/三通道

    既然实现高位宽内存条太难,那么就退而求其次,让两条内存并行传输数据,同样可以让位宽翻倍。目前流行的双通道技术就是如此,北桥或者CPU内部整合了两个独立的64bit内存控制器,同时传输数据等效位宽就相当于128bit。

    Intel Nehalem核心CPU直接整合三通道内存控制器,位宽高达192bit。但由于CPU、主板、内存方面成本都增加不少,因此在主流Lynnfield核心CPU上面又回归了双通道设计。事实上服务器芯片组已经能够支持四通道内存,对服务器来说成本方面不是问题,只是对稳定性和容错性要求很高。

内存颗粒位宽:4/8/16/32bit

    理论上,完全可以制造出一颗位宽为64bit的芯片来满足一条内存使用,但这种设计对技术要求很高,良品率很低导致成本无法控制,应用范围很窄。

    所以内存芯片的位宽一般都很小,台式机内存颗粒的位宽最高仅16bit,常见的则是4/8bit。这样为了组成64bit内存的需要,至少需要4颗16bit的芯片、8颗8bit的芯片或者16颗4bit的芯片。

    而显卡对位宽要求很高,容量反而退居其次,所以显存颗粒的位宽普遍比内存颗粒大(这就是显存和内存主要区别之一),比如GDDR3/4/5颗粒都是32bit,4颗就能满足低端卡128bit的需要,8颗可以满足高端卡256bit的需要;而低端GDDR2颗粒为16bit,需要8颗才能组成低端卡128bit的需要。

● 内存芯片的逻辑Bank

    在芯片的内部,内存的数据是以bit为单位写入一张大的矩阵中,每个单元称为CELL阵列,只要指定一个行一个列,就可以准确地定位到某个CELL,这就是内存芯片寻址的基本原理。这个阵列我们就称为内存芯片的BANK,也称之为逻辑BANK(Logical BANK)。

    不可能只做一个全容量的逻辑Bank,因为单一的逻辑Bank将会造成非常严重的寻址冲突,大幅降低内存效率。所以大容量内存颗粒都是由多个逻辑Bank叠加而成的。简单来说,我们可以把一个Bank看作是一片平面的矩阵纸,而内存颗粒是由多片这样的纸叠起来的。

    一个Bank的位宽就是内存颗粒的位宽,内存控制器一次只允许对一个Bank进行操作,由于逻辑Bank的地址线是公用的,所以在读写时需要加一个逻辑Bank的编号,这个动作被称为片选。

● 内存条的物理Bank

    内存控制器的位宽必须与内存条的位宽相等,这样才能在一个时钟周期内传输所有数据,这个位宽就被成为一个物理Bank(通常是64bit),每条内存至少包含一个Bank,多数情况下拥有二个物理Bank。

    一个物理Bank不会造成带宽浪费,理论上是最合理的配置,但为了实现大容量内存,单条内存多物理Bank也是允许的,但内存控制器所能允许的最大Bank数存在上限,常见的是双物理Bank设计,只有特殊内存或者服务器内存才会使用四Bank以上的设计,因为这种内存兼容性不好,“挑”芯片组。

    事实上显卡上也存在双物理Bank设计,目的就是为了实现超大显存容量,比如1GB的9800GT,正反两面共有16颗16M×32bit的GDDR3显存,总位宽达512bit,实际上显存控制器只支持256bit,这样就是双物理Bank。

5人已赞

关注我们

泡泡网

手机扫码关注