DRAM 的结构与使用方法
6.6 直接总线式 DRAM
进行读操作时,DDR SDRAM 输出的 DQS 具有与数据同步的状态信号;而进行写操作时 DQS 却成为 选通信号,这是两者最大的不同。
进行读/写操作时的时序微调是在 DRAM 控制器上进行的,这也可以说是 DDR-SDRAM 使用上的特 征。
6.6 直接总线式 DRAM
Direct Rambus DRAM(直接总线式 DRAM)可以说是原来的 Rambus SDRAM 的升级版,在今后个 人计算机的广泛应用上,人们对它给予较大的期望。
图 μPD488448 的内部框图
Direct Rambus DRAM 内部 DRAM 单元本身与其他的 DRAM 器件没有区别,通过将外部接口设置成 指令包方式以及在信号电平等电气的接口部分的设计,使得在 400MHz 的高时钟频率上也可以利用时钟 的两个沿进行操作。
●6.6.1 直接总线式 DRAM 的信号
作为 Direct Rambus DRAM,我们以 NEC(现在的 ELPIDA 公司)的 uPD488448 为例进行说明。该 DRAM 的结构为 8M 字×16 位×32 块。与 DDR SDRAM 等相比较,采用较多的存储块是 Direct Rambus DRAM 的特征之一。内部框图如上图所示,是相当复杂的,这也是成本提高的一个因素。
图 1 μPD488448 的信号配置(俯视图)
信号配置如图 1 所示,以前的 DRAM 大多采用 TSOP 等封装,而 Direct Rambus DRAM 采用 BGA 封 装。
Direct Rambus DRAM 的信号整理如图 2 所示,可知与 DDR-SDRAM 相比具有相当多的不同。
图 2 Direct Rambus DRAM 的信号种类
为了访问这些寄存器而设计了CMD/SIO0/SIO1/SCK这 4 个信号。
这些信号是用于进行配置的,所以速度都相当的慢。SCK的周期时间最小为 1000ns(1μs),
因而需要在1MHz以下进行操作。
▲ CTM/CTMN/CFM/CFMN(时钟)
CTMN、CFMN是分别与CTM(Clock To Master)、CFM(Clock From Master)配对的反相时钟信号。
利用CTM、CTMN在器件内部生成发送时钟(TCLK),利用CFM、CFMN在器件内部生成接收时钟(RCLK),
以便提取来自写人数据及ROW/COL引脚的指令等。
▲ DQA0~DQA7、DQB0~DQB7
这是进行读数据/写数据操作的信号。Direct RambusDRAM的数据宽为 8 位或者 16 位,μPD488448 是 16 位宽的Direct Rambus DRAM。由于在DRAM内部数据传输单位为 64 位,所以μPD488448 具有两个
64 位通道,通过 8 个周期(DirectRambus DRAM由于可利用时钟的两个变化沿所以是 4 个时钟周期)
进行传输。
▲ RQ0~RQ7
这些引脚用于赋予控制指令及地址信息等,RQ0~RQ4、RQ5~RQ7 又分别称为COL0~COL4、ROW0~
ROW2,这是为DirectRambus DRAM将指令及数据分组打包而形成的组合。关于封装将在后面详细叙述。
▲ VREF
在通常的数据传输中所使用的Direct Rambus DRAM信号是以称为RSL(Rambus Signaling Level,
Rambus信号电平)的信号电平工作的,赋予这个标准电压的就是VREF引脚,VREF电压是由规范决定的,
为 1.4V±0.2V。
●6.6.2 直接总线式 DRAM 的信号连接
Direct Rambus DRAM 的信号连接关系如图所示。与 DDR-SDRAM 最大的不同在于信号线是漏极开路 输出以及时钟是以连续不断的方式往复的。
图 Direct Rambus DRAM 的信号连接关系
异步 DRAM、同步 DRAM 以及 DDR-SDRAM 等无论哪个输出都是有极性输出,是属于在高电平时驱动 机向 DRAM 方向的称为 CFM(Clock From Vaster),以便于区分。读操作时,也就是从 DRAM 输出数据 时,Direct Rambus DRAM 与 CTM 时钟同步输出数据。如果时钟与数据信号的布线长度等相同,则时钟 与数据具有相同的延迟时间到达 DRAM 控制器,所以 DRAM 控制器可以与时钟同步接受数据。 的情况下,说起指令,也就是通过/RAS、/CAS、/WE 信号操纵内部定序器。而在 DirectRambus DRAM 的情况下,指令以及器件地址等所有都通过分组汇总,以处理器间通信的形式进行传输。
为此,Direct Rambus DRAM 不存在像同步 DRAM 那样的地址及指令专用的引脚,因而可以减少引 脚数目。
▲ 分组格式
Direct Rambus DRAM 的分组格式示例如图 1 和图 2。
图 1 Direct Rambus DRAM 的分组格式(之一)
▲ ACT 指令
这是激活(Activate)指令。与同步 DRAM 的 ACT 指令相同,是指定行地址及存储块编号、激活 器件的指令,图中写为 ACT a0。需要注意与同步 DRAM 不同的一点,就是 Direct Rambus DRAM 利用 ROW0~
ROW0(RQ5~RQ7)以分组形式进行指定。
Direct Rambus DRAM 为各个器件分配器件编号(由控制寄存器设定),访问时根据该分组中的 器件编号进行选择,进而指定存储块编号和行地址准备访问。行地址具有 9 位,需要从 512 根行地址 中选择一根。
图 2 Direct Rambus DRAM 的分组格式(之二)
▲ PRER 指令
这是预充电指令。它应用于指定器件编号及存储块编号、释放读出放大器以及激活其他的行地 址等方面。
▲ WR 指令
这是写指令。如果是读操作状态,则当然为读指令。在此,指定作为访问对象的器件地址以及开 始访问的列地址(行地址在 ACT 指令时已经赋予)等,以便开始进行实际的存取操作。
▲ MSK
这是访问屏蔽指令。uPD488448 因为 8 位宽度的数据总线具有 2 个系统(DQA 与 DQS),所以分 别具有各自的屏蔽信号。
▲ PREX
这也是预充电信号。在读指令及没有字节屏蔽的写指令后,为进行扩展操作而使用 COLX 分组。
在该 COLX 分组中最经常使用的就是 PREX 指令,根据该指令,进行 DRAM 内部的预充电。
●6.6.4 直接总线式 DRAM 的操作示例
Direct Rambus DRAM 实际的操作示例(写操作)如图所示。可以看出,是以每 4 个时钟周期的分 组为单位传输指令及数据等的。
图 Direct Rambus DRAM 的写操作示例
最初,利用 ACT 指令赋予行地址,接着利用 WR 指令发送希望访问的地址及屏蔽数据。此例中是边 切换地址边进行传输的,能够进行这样复杂的操作可以说是因为 Direct Rambus 以分组形式传输数据 而取得的成果。