2.2. DRAM 存取技术细节
在介绍 DRAM 的章节中,我们看到为了节省地址针脚,DRAM 晶片多工了地址。我们也看到因为记忆单元中的电容无法立即放电以产生稳定的讯号,存取 DRAM 记忆单元会花点时间;我们也看到 DRAM 记忆单元必须被重新充电。现在,是时候将这全都摆在一起,看看这些因子是如何决定 DRAM 存取是怎么运作的。
我们将会聚焦于当前的技术上;我们不会讨论非同步(asynchronous)DRAM 及其变种,因为它们完全与此无关。对这个主题感兴趣的读者请参见 [3] 与 [19]。我们也不会谈及 Rambus DRAM(RDRAM),纵使这项技术并不过时。只是它并没有被广泛使用于系统memory中。我们仅会聚焦于同步 DRAM(Synchronous DRAM,SDRAM)与其后继者双倍资料传输速率 DRAM(Double Data Rate DRAM,DDR)。
同步 DRAM,如同名称所暗示的,其运作与一种时间源(time source)有关。memory控制器提供一个时钟(clock),其频率决定前端总线(FSB)── DRAM 晶片使用的memory控制器介面 ── 的速度。在撰写此文时,频率可达 800MHz、1,066MHz、甚至到 1,333MHz,并宣称在下个世代会达到更高的频率(1,600MHz)。这不代表用于总线的频率真的这么高。而是现今的总线都是二或四倍频(double- or quad-pumped),代表资料在每个周期传输二或四次。数字越高、卖得越好,因此厂商惯于将四倍频 200MHz 总线宣传成「实质上的(effective)」800MHz 总线。
对于现今的 SDRAM 来说,每次资料传输以 64 位元 (即 8 位元组) 组成。FSB 的传输率因此为 8 位元组乘上实际的总线频率(以四倍频 200MHz 总线来说,6.4GB/s)。这听起来很多,但这是尖峰速度 ── 永远无法超越的最大速度。如同我们将会看到的,现今与 RAM 模组沟通的协议中有许多的閒置期(downtime),这时是没有资料可以被传输的。这个閒置期正是我们必须了解、并减到最小,以达到最佳效能的东西。