DDR基本原理.pdf
《DDR基本原理.pdf》由会员分享,可在线阅读,更多相关《DDR基本原理.pdf(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录 1 存储器.错误!未定义书签。存储器分类.错误!未定义书签。RAM(Randm Access Memory 随机存取存储器).错误!未定义书签。SRAM(Static RAM 静态 RAM).错误!未定义书签。DRAM(Dynamic RAM 动态 RAM).错误!未定义书签。SDRAM(Synchronous Dynamic Random Access Memory 同步动态随机存储器)错 误!未定义书签。DDR SDRAM(Double Data Rate SDRAM 双倍速率同步动态随机存储器)错误!未定义书签。RDRAM.错误!未定义书签。2 SDRAM 内存模组.错误!未定义书
2、签。物理 Bank.错误!未定义书签。芯片位宽.错误!未定义书签。3 SDRAM 内部结构.错误!未定义书签。逻辑 Bank.错误!未定义书签。内存容量.错误!未定义书签。DIMM 设计.错误!未定义书签。4 引脚定义.错误!未定义书签。5 基本操作与时序.错误!未定义书签。芯片初始化.错误!未定义书签。行选址.错误!未定义书签。列选址与读写命令.错误!未定义书签。读操作.错误!未定义书签。写操作.错误!未定义书签。突发长.错误!未定义书签。预充电.错误!未定义书签。刷新.错误!未定义书签。数据掩码.错误!未定义书签。形象的例子.错误!未定义书签。6 DDR SDRAM.错误!未定义书签。DD
3、R 基本原理.错误!未定义书签。DDR SDRAM 与 SDRAM 的不同.错误!未定义书签。差分时钟.错误!未定义书签。数据选取脉冲(DQS).错误!未定义书签。写入延迟.错误!未定义书签。突发长度与写入掩码.错误!未定义书签。延迟锁定回路(DLL).错误!未定义书签。DDR 系统学习资料 1 存储器 存储器是计算机系统中的记忆设备,用来存放程序和数据,是计算机系统中不可或缺的组成部分。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。1.1 存储器分类 按读写功能可分为 ROM 和 RAM 1.2 RAM(Randm Access Memory
4、 随机存取存储器)主要特点:(1)随机存取 当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。相对的,读取或写入顺序访问存储设备中的信息时,其所需要的时间与位置就会有关系(如磁带)。(2)易失性 当电源关闭时 RAM 不能保留数据。如果需要保存数据,就必须把它们写入一个长期的存储设备中(例如硬盘)。RAM 和 ROM 相比,两者的最大区别是 RAM 在断电以后保存在上面的数据会自动消失,而 ROM 不会。(3)高访问速度 现代的随机存取存储器几乎是所有访问设备中写入和读取速度最快的,取存延迟也和其他涉及机械运作的存储设备相比,也显得微不足道。(4)对静电敏感 正如其他精细的
5、集成电路,随机存取存储器对环境的静电荷非常敏感。静电会干扰存储器内电容器的电荷,引致数据流失,甚至烧坏电路。故此触碰随机存取存储器前,应先用手触摸金属接地。1.3 SRAM(Static RAM 静态 RAM)不要刷新,只要不掉电,数据可以一直保存,存取速度快,但结构复杂,价格昂贵,CPU 的缓存用的就是 SRAM。RAM 有两大类,一种称为 SRAM,速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如 CPU 的一级缓冲,二级缓冲。另一种称为 DRAM,保留数据的时间很短,需要不断地刷新;速度也比 SRAM 慢,不过它还是比任何的 ROM 都要快,但
6、从价格上来说 DRAM 相比 SRAM 要便宜很多,计算机内存就是 DRAM 的。1.4 DRAM(Dynamic RAM 动态 RAM)要不断刷新以保持数据,存取速度相对SRAM 较慢。PC 机的内存类型有 SDRAM、DDR SDRAM 和 RDRAM 三种。其中 DDR SDRAM 内存占据了市场的主流,而 SDRAM内存规格已不再发展,处于被淘汰的行列。RDRAM 则始终未成为市场的主流,只有部分芯片组支持,而这些芯片组也逐渐退出了市场,RDRAM 前景并不被看好。1.5 SDRAM(Synchronous Dynamic Random Access Memory 同步动态随机存储器)
7、同步是指工作时需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。1.6 DDR SDRAM(Double Data Rate SDRAM 双倍速率同步动态随机存储器)DDR 内存是在 SDRAM 内存基础上发展而来的,仍然沿用 SDRAM 生产体系。SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;DDR 内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。DDR 内存可以在与 SDRAM 相
8、同的总线频率下达到双倍的数据传输率。1.7 RDRAM RDRAM(Rambus DRAM)是美国的 RAMBUS 公司开发的一种内存。与 DDR 和 SDRAM不同,它采用了串行的数据传输模式。数据存储位宽是 16 位,远低于 DDR 和 SDRAM的 64 位。但在频率方面则远远高于二者,可以达到400MHz 乃至更高。同样也是在一个时钟周期内传输两次次数据,能够在时钟的上升期和下降期各传输一次数据,内存带宽能达到 s。普通的 DRAM 行缓冲器的信息在写回存储器后便不再保留,而 RDRAM 则具有继续保持这一信息的特性,于是在进行存储器访问时,如行缓冲器中已经有目标数据,则可利用,因而实
9、现了高速访问。另外其可把数据集中起来以分组的形式传送,所以只要最初用 24 个时钟,以后便可每 1 时钟读出 1 个字节。一次访问所能读出的数据长度可以达到 256 字节。2 SDRAM 内存模组 我们平时看到的 SDRAM 都是以模组形式出现,为什么要做成这种形式呢这首先要接触到两个概念:物理 Bank 与芯片位宽。PC133 时代的 168pin SDRAM DIMM2.1 物理 Bank 传统内存系统为了保证 CPU 的正常工作,必须一次传输完 CPU 在一个传输周期内所需要的数据。而 CPU 在一个传输周期能接受的数据容量就是 CPU 数据总线的位宽,单位是 bit(位)。当时控制内存
10、与 CPU 之间数据交换的北桥芯片也因此将内存总线的数据位宽等同于 CPU 数据总线的位宽,而这个位宽就称之为物理 Bank(Physical Bank,下文简称 P-Bank)的位宽。所以,那时的内存必须要组织成 P-Bank 来与 CPU 打交道。当初 Pentium 刚上市时,需要两条 72pin 的 SIMM 才能启动,因为一条 72pin-SIMM 只能提供 32bit 的位 宽,不能满足 Pentium 的 64bit 数据总线的需要。直到 168pin-SDRAM DIMM 上市 后,才可以使用一条内存开机。下面将通过芯片位宽的讲述来进一步解释 P-Bank 的概念。不过要强调一
11、点,P-Bank 是 SDRAM 及以前传统内存家族的特有概念,在 RDRAM 中将以通道(Channel)取代,而对于像 Intel E7500 那样的并发式多通道 DDR 系统,传统的 P-Bank 概念也不适用。2.2 芯片位宽 已经讲到 SDRAM 内存系统必须要组成一个 P-Bank 的位宽,才能使 CPU 正常工作,那么这个 P-Bank 位宽怎么得到呢这就涉及到了内存芯片的结构。每个内存芯片也有自己的位宽,即每个传输周期能提供的数据 P-Bank 的需要,但这对技术的要 求很高,在成本和实用性方面也都处于劣势。所以芯片的位宽一般都较小。台式机市场所用的 SDRAM 芯片位宽最高也
12、就是 16bit,常见的则是 8bit。这样,为了组成 P-Bank 所需的位宽,就需要多颗芯片并联工作。对于 16bit 芯片,需要 4 颗(416bit=64bit)。对于 8bit 芯片,则就需要 8 颗了。以上就是芯片位宽、芯片数量与 P-Bank 的关系。P-Bank 其实就是一组内存芯片的集合,这个集合的容量不限,但这个集合的总位宽必须与 CPU 数据位宽相符。随着计算机应用的发展,一个系统只有一个 P-Bank 已经不能满足容量的需 要。所以,芯片组开始可以支持多个 P-Bank,一次选择一个 P-Bank 工作,这就 有了芯片组支持多少(物理)Bank 的说法。而在 Intel
13、 的定义中,则称 P-Bank 为行(Row),比如 845G 芯片组支持 4 个行,也就是说它支持 4 个 P-Bank。另 外,在一些文档中,也把 P-Bank 称为 Rank(列)。DIMM 是 SDRAM 集合形式的最终体现,每个 DIMM 至少包含 一个 P-Bank 的芯片集合。在目前的 DIMM 标准中,每个模组最多可以包含两个 P-Bank 的内存芯片集合,虽然理论上完全可以在一个 DIMM 上支持多个 P-Bank,比如 SDRAM DIMM 就有 4 个芯片选择信号(Chip Select,简称片选或 CS),理 论上可以控制 4 个 P-Bank 的芯片集合。只是由于设计
14、难度、制造成本、芯片组的配合等原因而没有这么做。注意:面数P-Bank 数,只有在知道芯片位宽的情况下,才能确定 P-Bank 的数量。3 SDRAM 内部结构 3.1 逻辑 Bank SDRAM 的内部结构简单地说就是一个存储阵列。因为如果是管道式存储(就如排队买票),就很难做到随机访问了。阵列就如同表格一样,将数据“填”进去,你可以它想象成一张表格。和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),我们就可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理。对于内存,这个单元格可称为存储单元,那么这个表格(存储阵列)叫什么呢它就是逻辑 Bank(Logica
15、l Bank,下文简称 L-Bank)。L-Bank 存储阵列示意图 由于技术、成本等原因,不可能只做一个全容量的 L-Bank,而且最重要的是,由于 SDRAM 的工作原理限制,单一的 L-Bank 将会造成非常严重的寻址冲突,大幅降低内存效率。所以人们在 SDRAM 内部分割成多个 L-Bank,较早以前是 2 个,目前基本都是 4 个,这也是 SDRAM 规范中的最高 L-Bank 数量。到了 RDRAM 则最多达到了 32 个,在最新 DDR-的标准中,L-Bank 的数量提高到了 8 个。这样,在进行寻址时就要先确定是哪个 L-Bank,然后再在这个选定的 L-Bank 中选择相应的
16、行与列进行寻址。可见对内存的访问,一次只能是一个 L-Bank 工作,而每次与北桥交换的数据就是 L-Bank 存储阵列中一个“存储单元”的容量。在某些厂商的表述中,将 L-Bank 中的存储单元称为 Word(此处代表位的集合而不是字节的集合)。从前文可知,SDRAM 内存芯片一次传输率的数据量就是芯片位宽,那么这个存储单元的容量就是芯片的位宽(也是 L-Bank 的位宽),但要注意,这种关系 也仅对 SDRAM 有效。3.2 内存容量 显然,内存芯片的容量就是所有 L-Bank 中的存储单元的容量总合。计算有多少个存储单元和计算表格中的单元数量的方法一样:存储单元数量=行数列数(得到一个
17、L-Bank 的存储单元数量)L-Bank 的数量。在很多内存产品介绍文档中,都会用 MW 的方式来表示芯片的容量,M 是该芯片中存储单元的总数,单位是兆,W 代表每个存储单元的容量,也就是 SDRAM 芯片的位宽,单位是 bit。计算出来的芯片容量也是以 bit 为单位,但用户可以采用除以 8 的方法换算为字节(Byte)。比如 8M8,这是 一个 8bit 位宽芯片,有 8M 个存储单元,总容量是 64Mbit(8MB)。不过,MW 是最简单的表示方法。下图则是某公司对自己内存芯片的容量 表示方法,这可以说是最正规的形式之一。业界正规的内存芯片容量表示方法 我们可以计算一下,结果可以发现这
18、三个规格的容量都是 128Mbits,只是由于位宽的变化引起了存储单元的数量变化。从这个例子就也可以看出,在相同的总容量下,位宽可以采用多种不同的设计。3.3 DIMM 设计 为什么在相同的总容量下,位宽会有多种不同的设计呢 这主要是为了满足不同领域的需要。现在大家已经知道 P-Bank 的位宽是固定的,也就是说当芯片位宽确定下来后,一个 P-Bank 中芯片的个数也就自然确定了,而前文讲过 P-Bank 对芯片集合的位宽有要求,对芯片集合的容量则没有任何限制。高位宽的芯片可以让 DIMM 的设计简单一些(因为所用的芯片少),但在芯片容量相同时,这种 DIMM 的容量就肯定比不上采用低位宽芯片
19、的模组,因为后者在一个 P-Bank 中可 以容纳更多的芯片。比如上文中那个内存芯片容量标识图,容量都是 128Mbit,合 16MB。如果 DIMM 采用双 P-Bank+16bit 芯片设计,那么只能容纳 8 颗芯片,计 128MB。但如果采用 4bit 位宽芯片,则可容纳 32 颗芯片,计 512MB。DIMM 容 量前后相差出 4 倍,可见芯片位宽对 DIMM 设计的重要性。因此,8bit 位宽芯片是桌面台式机上容量与成本之间平衡性较好的选择,所以在市场上也最为普及,而高于 16bit 位宽的芯片一般用在需要更大位宽的场合,如显卡等,至于 4bit 位宽芯片很明显非常适用于大容量内存应
20、用领域,基本不会在标准的 Unbuffered 模组设计中出现。4 引脚定义 内存芯片要想工作,必须要与内存控制器有所联系,同时对于一个电气元件,电源供应也是必不可少的,而且数据的传输要有一个时钟作为触发参考。因此,SDRAM 在封装时就要留出相应的引脚以供使用。电源与时钟的引脚就不必多说 了,现在我们可以想象一下,至少应该有哪些控制引脚呢 我们从内存寻址的步骤缕下来就基本明白了,从中我们也就能了解内存工作 的大体情况。这里需要说明的是,与 DIMM 一样,SDRAM 有着自己的业界设计规范,在一个容量标准下,SDRAM 的引脚/信号标准不能只考虑一种位宽的设计,而是要顾及多种位宽,然后尽量给
21、出一个通用的标准,小位宽的芯片也许会空出一些引脚,但高位宽的芯片可能就全部用上了。不过容量不同时,设计标准也会有所不同,一般的容量越小的芯片所需要的引脚也就越小。(1)首先,我们知道内存控制器要先确定一个 P-Bank 的芯片集合,然后才 对这集合中的芯片进行寻址操作。因此要有一个片选的信号,它一次选择一个 P-Bank 的芯片集(根据位宽的不同,数量也不同)。被选中的芯片将同时接收或读取数据,所以要有一个片选信号。(2)接下来是对所有被选中的芯片进行统一的 L-Bank 的寻址,目前 SDRAM 中 L-Bank 的数量最高为 4 个,所以需要两个 L-Bank 地址信号(22=4)。(3)
22、最后就是对被选中的芯片进行统一的行/列(存储单元)寻址。地址线 数量要根据芯片的组织结构分别设计了。但在相同容量下,行数不变,只有列数会根据位宽的而变化,位宽越大,列数越少,因为所需的存储单元减少了。(4)找到了存储单元后,被选中的芯片就要进行统一的数据传输,那么肯定 要有与位宽相同数量的数据 I/O 通道才行,所以肯定要有相应数量的数据线引脚。现在我们就基本知道了内存芯片的一些信号引脚,下图就是一个简单的 SDRAM 示意图。图注:128Mbit 芯片不同位宽的引脚图(NC 代表未使用,-表示与内侧位宽设计相同)5 基本操作与时序 SDRAM 的内部结构 128Mbit(32M4)SDRAM
23、 内部结构 5.1 芯片初始化 在 SDRAM 芯片内部还有一个逻辑控制单元,并且有一个模式寄存器为其提供控制参数。因此,每次开机时主芯片都要先对这个控制逻辑核心进行初始化。关键的阶段就在于模式寄存器(MR,Mode Register)的设置,简称 MRS(MR Set),这一工作在主芯片的控制下进行,寄存器的信息由地址线来提供,地址线提供不同的 0/1 信号来获得不同的参数,在设置到 MR 之后,就开始了进入正常的工作状态。SDRAM 模式寄存器所控制的操作参数 图中相关参数将结合下文具体讲述 5.2 行选址 初始化完成后,要想对一个 L-Bank 中的阵列进行寻址,首先就要确定行(Row)
24、,使之处于活动状态(Active),然后再确定列。虽然之前要进行片选 和 L-Bank 的定址,但它们与行有效可以同时进行。行有效时序图 从图中可以看出,在 CS#、L-Bank 定址的同时,RAS(Row Address Strobe,行地址选通脉冲)也处于有效状态。此时 An 地址线则发送具体的行地址。如图中是 A0-A11,共有 12 个地址线,由于是二进制表示法,所以共有 4096 个行(212=4096),A0-A11 的不同数值就确定了具体的行地址。由于行有效的同时也 是相应 L-Bank 有效,所以行有效也可称为 L-Bank 有效。5.3 列选址与读写命令 行地址确定之后,就要
25、对列地址进行寻址了。但是,地址线仍然是行地址所用的 A0-A19,A11(本例)。在 SDRAM 中,行地址与列地址线是共用的。读/写的命令是怎么发出的呢其实没有一个信号是发送读或写的明确命令的,而是通过芯片的可写状态的控制来达到读/写的目的。WE#信号就是一个关键。WE#无效时,就是读取命令。SDRAM 基本操作命令 通过各种控制/地址信号的组合来完成(H 代表高电平,L 代表低电平,X 表示高低电平均没有影响)。此表中,除了自刷新命令外,所有命令都是默认 CKE 有效。对于自刷新命令,下文有详解。列寻址信号与读写命令是同时发出的。虽然地址线与行寻址共用,但 CAS(Column Addre
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DDR 基本原理
限制150内