收藏 分销(赏)

DDR基本原理.docx

上传人:天**** 文档编号:2280741 上传时间:2024-05-24 格式:DOCX 页数:45 大小:1.73MB
下载 相关 举报
DDR基本原理.docx_第1页
第1页 / 共45页
DDR基本原理.docx_第2页
第2页 / 共45页
DDR基本原理.docx_第3页
第3页 / 共45页
DDR基本原理.docx_第4页
第4页 / 共45页
DDR基本原理.docx_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、DDR基本原理DDR基本原理 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(DDR基本原理)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为DDR基本原理的全部内容。27版权所有 侵权必究目录1存储器21.1存储器分类21。2RAM(Randm Access Memory随机存取存储器)21。3SRAM (Static R

2、AM静态RAM)31。4DRAM(Dynamic RAM动态RAM)31。5SDRAM(Synchronous Dynamic Random Access Memory同步动态随机存储器)31。6DDR SDRAM(Double Data Rate SDRAM双倍速率同步动态随机存储器)31。7RDRAM32SDRAM 内存模组42.1物理Bank42.2芯片位宽53SDRAM内部结构63.1逻辑 Bank63.2内存容量83。3DIMM设计84引脚定义95基本操作与时序115.1芯片初始化115。2行选址125.3列选址与读写命令135.4读操作145。5写操作165。6突发长175。7预充

3、电195.8刷新215.9数据掩码225.10形象的例子236DDR SDRAM266.1DDR 基本原理266.2DDR SDRAM 与 SDRAM 的不同286。3差分时钟296.4数据选取脉冲(DQS)296。5写入延迟326.6突发长度与写入掩码336.7延迟锁定回路(DLL)34DDR系统学习资料1 存储器存储器是计算机系统中的记忆设备,用来存放程序和数据,是计算机系统中不可或缺的组成部分。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中.1.1 存储器分类按读写功能可分为ROM和RAM1.2 RAM(Randm Access Memor

4、y随机存取存储器)主要特点:(1) 随机存取当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。相对的,读取或写入顺序访问存储设备中的信息时,其所需要的时间与位置就会有关系(如磁带)。 (2) 易失性当电源关闭时RAM不能保留数据。如果需要保存数据,就必须把它们写入一个长期的存储设备中(例如硬盘)。RAM和ROM相比,两者的最大区别是RAM在断电以后保存在上面的数据会自动消失,而ROM不会. (3) 高访问速度现代的随机存取存储器几乎是所有访问设备中写入和读取速度最快的,取存延迟也和其他涉及机械运作的存储设备相比,也显得微不足道。 (4) 对静电敏感正如其他精细的集成电路,随

5、机存取存储器对环境的静电荷非常敏感。静电会干扰存储器内电容器的电荷,引致数据流失,甚至烧坏电路。故此触碰随机存取存储器前,应先用手触摸金属接地。”http:/hiphotos。baidu。com/serial_story/pic/item/7de31e3f427c70c455e72319。jpeg1.3 SRAM (Static RAM静态RAM)不要刷新,只要不掉电,数据可以一直保存,存取速度快,但结构复杂,价格昂贵,CPU的缓存用的就是SRAM.RAM有两大类,一种称为SRAM,速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二

6、级缓冲。另一种称为DRAM,保留数据的时间很短,需要不断地刷新;速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。1.4 DRAM(Dynamic RAM动态RAM)要不断刷新以保持数据,存取速度相对SRAM较慢。PC机的内存类型有SDRAM、DDR SDRAM和RDRAM三种.其中DDR SDRAM内存占据了市场的主流,而SDRAM内存规格已不再发展,处于被淘汰的行列。RDRAM则始终未成为市场的主流,只有部分芯片组支持,而这些芯片组也逐渐退出了市场,RDRAM前景并不被看好。1.5 SDRAM(Synchronous

7、 Dynamic Random Access Memory同步动态随机存储器)同步是指工作时需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。1.6 DDR SDRAM(Double Data Rate SDRAM双倍速率同步动态随机存储器)DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系。SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;DDR内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为

8、双倍速率同步动态随机存储器。DDR内存可以在与SDRAM相同的总线频率下达到双倍的数据传输率。1.7 RDRAMRDRAM(Rambus DRAM)是美国的RAMBUS公司开发的一种内存。与DDR和SDRAM不同,它采用了串行的数据传输模式.数据存储位宽是16位,远低于DDR和SDRAM的64位。但在频率方面则远远高于二者,可以达到400MHz乃至更高。同样也是在一个时钟周期内传输两次次数据,能够在时钟的上升期和下降期各传输一次数据,内存带宽能达到1.6Gbyte/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,下文简称 PBank)的位宽。所以,那时的内存必须要组织成 P-Bank 来与 CPU 打交道。当初Pentium 刚上市时,需要两条 72pin的SIMM才能启动,因为一条72pin-SIMM 只能提供32bit的位 宽,不能满足 Pentium的64bit 数据总线的需要。直到 168pinSDRAM DIMM 上市 后,才可以使用一条内存开机。下面将通过芯片位宽的讲述来进一步解释 P-Bank 的概念。不过要强调一点

11、,PBank 是 SDRAM 及以前传统内存家族的特有概念,在 RDRAM 中将以通道(Channel)取代,而对于像 Intel E7500 那样的并发式多通道 DDR 系统,传统的 P-Bank 概念也不适用.2.2 芯片位宽已经讲到SDRAM 内存系统必须要组成一个 P-Bank 的位宽,才能使 CPU 正常工作,那么这个 P-Bank 位宽怎么得到呢?这就涉及到了内存芯片的结构。每个内存芯片也有自己的位宽,即每个传输周期能提供的数据P-Bank 的需要,但这对技术的要 求很高,在成本和实用性方面也都处于劣势。所以芯片的位宽一般都较小。台式机市场所用的 SDRAM 芯片位宽最高也就是 1

12、6bit,常见的则是 8bit。这样,为了组成 P-Bank 所需的位宽,就需要多颗芯片并联工作.对于 16bit 芯片,需要 4 颗(416bit=64bit)。对于 8bit 芯片,则就需要 8 颗了。以上就是芯片位宽、芯片数量与 PBank 的关系。P-Bank 其实就是一组内存芯片的集合,这个集合的容量不限,但这个集合的总位宽必须与 CPU 数据位宽相符。随着计算机应用的发展,一个系统只有一个 P-Bank 已经不能满足容量的需 要.所以,芯片组开始可以支持多个 P-Bank,一次选择一个 P-Bank 工作,这就 有了芯片组支持多少(物理)Bank 的说法。而在 Intel 的定义中

13、,则称 PBank 为行(Row),比如 845G 芯片组支持 4 个行,也就是说它支持 4 个 PBank。另 外,在一些文档中,也把 P-Bank 称为 Rank(列)。DIMM 是 SDRAM 集合形式的最终体现,每个 DIMM 至少包含 一个 P-Bank 的芯片集合。在目前的 DIMM 标准中,每个模组最多可以包含两个PBank 的内存芯片集合,虽然理论上完全可以在一个 DIMM 上支持多个 P-Bank,比如 SDRAM DIMM 就有 4 个芯片选择信号(Chip Select,简称片选或 CS),理 论上可以控制 4 个 P-Bank 的芯片集合。只是由于设计难度、制造成本、芯

14、片组的配合等原因而没有这么做.注意:面数PBank 数,只有在知道芯片位宽的情况下,才能确定 P-Bank的数量。3 SDRAM内部结构3.1 逻辑 BankSDRAM 的内部结构简单地说就是一个存储阵列。因为如果是管道式存储(就如排队买票),就很难做到随机访问了。阵列就如同表格一样,将数据“填”进去,你可以它想象成一张表格。和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),我们就可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理.对于内存, 这个单元格可称为存储单元,那么这个表格(存储阵列)叫什么呢?它就是逻辑 Bank(Logical Bank,下文简称

15、L-Bank)。LBank 存储阵列示意图由于技术、成本等原因,不可能只做一个全容量的 L-Bank,而且最重要的是,由于 SDRAM 的工作原理限制,单一的 LBank 将会造成非常严重的寻址冲突, 大幅降低内存效率.所以人们在 SDRAM 内部分割成多个L-Bank,较早以前是2个,目前基本都是 4 个,这也是 SDRAM 规范中的最高 LBank数量.到了 RDRAM 则最多达到了 32 个,在最新 DDR-的标准中,LBank 的数量提高到了8个。这样,在进行寻址时就要先确定是哪个 L-Bank,然后再在这个选定的 LBank中选择相应的行与列进行寻址。可见对内存的访问,一次只能是一个

16、 L-Bank 工作,而每次与北桥交换的数据就是 L-Bank 存储阵列中一个“存储单元”的容量。在某些厂商的表述中,将 L-Bank 中的存储单元称为 Word(此处代表位的集合而不是字节的集合)。从前文可知,SDRAM 内存芯片一次传输率的数据量就是芯片位宽,那么这个存储单元的容量就是芯片的位宽(也是 LBank 的位宽),但要注意,这种关系也仅对 SDRAM 有效。3.2 内存容量 显然,内存芯片的容量就是所有 L-Bank 中的存储单元的容量总合.计算有多少个存储单元和计算表格中的单元数量的方法一样: 存储单元数量=行数列数(得到一个 LBank 的存储单元数量)L-Bank的数量。在

17、很多内存产品介绍文档中,都会用 MW 的方式来表示芯片的容量,M 是该芯片中存储单元的总数,单位是兆,W 代表每个存储单元的容量,也就是 SDRAM 芯片的位宽,单位是 bit。计算出来的芯片容量也是以 bit为单位,但用户可以采用除以 8 的方法换算为字节(Byte).比如 8M8,这是 一个 8bit 位宽芯片,有 8M 个存储单元,总容量是 64Mbit(8MB)。不过,MW 是最简单的表示方法.下图则是某公司对自己内存芯片的容量 表示方法,这可以说是最正规的形式之一.业界正规的内存芯片容量表示方法我们可以计算一下,结果可以发现这三个规格的容量都是 128Mbits,只是由于位宽的变化引

18、起了存储单元的数量变化.从这个例子就也可以看出,在相同的总容量下,位宽可以采用多种不同的设计。3.3 DIMM设计 为什么在相同的总容量下,位宽会有多种不同的设计呢?这主要是为了满足不同领域的需要。现在大家已经知道 P-Bank 的位宽是固定的,也就是说当芯片位宽确定下来后,一个 PBank 中芯片的个数也就自然确定了,而前文讲过 PBank对芯片集合的位宽有要求,对芯片集合的容量则没有任何限制。高位宽的芯片可以让 DIMM 的设计简单一些(因为所用的芯片少),但在芯片容量相同时,这种DIMM 的容量就肯定比不上采用低位宽芯片的模组,因为后者在一个 PBank 中可 以容纳更多的芯片。比如上文

19、中那个内存芯片容量标识图,容量都是 128Mbit,合 16MB。如果 DIMM 采用双 PBank+16bit 芯片设计,那么只能容纳 8 颗芯片, 计 128MB.但如果采用 4bit 位宽芯片,则可容纳 32 颗芯片,计 512MB。DIMM 容 量前后相差出 4 倍,可见芯片位宽对 DIMM 设计的重要性。因此,8bit 位宽芯片是桌面台式机上容量与成本之间平衡性较好的选择,所以在市场上也最为普及, 而高于 16bit 位宽的芯片一般用在需要更大位宽的场合,如显卡等,至于 4bit 位宽芯片很明显非常适用于大容量内存应用领域,基本不会在标准的Unbuffered 模组设计中出现。4 引

20、脚定义内存芯片要想工作,必须要与内存控制器有所联系,同时对于一个电气元件,电源供应也是必不可少的,而且数据的传输要有一个时钟作为触发参考。因此,SDRAM 在封装时就要留出相应的引脚以供使用。电源与时钟的引脚就不必多说 了,现在我们可以想象一下,至少应该有哪些控制引脚呢?我们从内存寻址的步骤缕下来就基本明白了,从中我们也就能了解内存工作 的大体情况。这里需要说明的是,与 DIMM 一样,SDRAM 有着自己的业界设计规范,在一个容量标准下,SDRAM 的引脚/信号标准不能只考虑一种位宽的设计, 而是要顾及多种位宽,然后尽量给出一个通用的标准,小位宽的芯片也许会空出一些引脚,但高位宽的芯片可能就

21、全部用上了。不过容量不同时,设计标准也会有所不同,一般的容量越小的芯片所需要的引脚也就越小。(1) 首先,我们知道内存控制器要先确定一个 P-Bank 的芯片集合,然后才 对这集合中的芯片进行寻址操作。因此要有一个片选的信号,它一次选择一个P-Bank 的芯片集(根据位宽的不同,数量也不同).被选中的芯片将同时接收或读取数据,所以要有一个片选信号。(2) 接下来是对所有被选中的芯片进行统一的 LBank 的寻址,目前 SDRAM 中 L-Bank 的数量最高为 4 个,所以需要两个 L-Bank 地址信号(22=4)。(3) 最后就是对被选中的芯片进行统一的行/列(存储单元)寻址。地址线数量要

22、根据芯片的组织结构分别设计了。但在相同容量下,行数不变,只有列数会根据位宽的而变化,位宽越大,列数越少,因为所需的存储单元减少了.(4) 找到了存储单元后,被选中的芯片就要进行统一的数据传输,那么肯定 要有与位宽相同数量的数据 I/O 通道才行,所以肯定要有相应数量的数据线引脚.现在我们就基本知道了内存芯片的一些信号引脚,下图就是一个简单的 SDRAM示意图.图注:128Mbit 芯片不同位宽的引脚图(NC 代表未使用,-表示与内侧位宽设计相同)5 基本操作与时序SDRAM 的内部结构128Mbit(32M4)SDRAM 内部结构5.1 芯片初始化在 SDRAM 芯片内部还有一个逻辑控制单元,

23、并且有一个模式寄存器为其提供控制参数。因此,每次开机时主芯片都要先对这个控制逻辑核心进行初始化.关键的阶段就在于模式寄存器(MR,Mode Register)的设置,简称 MRS(MR Set),这一工作在主芯片的控制下进行,寄存器的信息由地址线来提供,地址线提供不同的 0/1 信号来获得不同的参数, 在设置到 MR 之后,就开始了进入正常的工作状态。SDRAM 模式寄存器所控制的操作参数图中相关参数将结合下文具体讲述5.2 行选址初始化完成后,要想对一个 LBank 中的阵列进行寻址,首先就要确定行(Row),使之处于活动状态(Active),然后再确定列.虽然之前要进行片选 和 LBank

24、 的定址,但它们与行有效可以同时进行。行有效时序图从图中可以看出,在 CS#、LBank 定址的同时,RAS(Row Address Strobe, 行地址选通脉冲)也处于有效状态。此时 An 地址线则发送具体的行地址.如图中是 A0A11,共有 12 个地址线,由于是二进制表示法,所以共有 4096 个行(212=4096),A0A11 的不同数值就确定了具体的行地址。由于行有效的同时也 是相应 LBank 有效,所以行有效也可称为 LBank有效.5.3 列选址与读写命令 行地址确定之后,就要对列地址进行寻址了。但是,地址线仍然是行地址所用的 A0-A19,A11(本例).在SDRAM中,

25、行地址与列地址线是共用的。读/写的命令是怎么发出的呢?其实没有一个信号是发送读或写的明确命令的,而是通过芯片的可写状态的控制来达到读/写的目的。WE信号就是一个关键。WE无效时,就是读取命令。SDRAM 基本操作命令通过各种控制/地址信号的组合来完成(H 代表高电平,L 代表低电平,X 表示高低电平均没有影响)。此表中,除了自刷新命令外,所有命令都是默认CKE有效。对于自刷新命令,下文有详解。列寻址信号与读写命令是同时发出的。虽然地址线与行寻址共用,但 CAS(Column Address Strobe,列地址选通脉冲)信号则可以区分开行与列寻址的不同,配合 A0-A9,A11(本例)来确定具

26、体的列地址.读写操作示意图读取命令与列地址一块发出(当 WE为低电平是即为写命令)然而,在发送列读写命令时必须要与行有效命令有一个间隔,这个间隔被定义为 tRCD,即 RAS to CAS Delay(RAS 至 CAS 延迟),也可以理解为行选通周期,这应该是根据芯片存储阵列电子元件响应时间(从一种状态到另一种状态变化的过程)所制定的延迟。tRCD 是 SDRAM 的一个重要时序参数,可以通过主芯片进行调整,但不能超过厂商的预定范围。广义的 tRCD 以时钟周期(tCK,Clock Time)数为单位,比如 tRCD=2,就代表延迟周期为两 个时钟周期,具体到确切的时间,则要根据时钟频率而定

27、,对于 PC100 SDRAM,tRCD=2,代表 20ns 的延迟,对于 PC133 则为 15ns。tRCD=3 的时序图5.4 读操作在选定列地址后,就已经确定了具体的存储单元,剩下的事情就是数据通过数据 I/O 通道(DQ)输出到内存总线上了。但是在 CAS 发出之后,仍要经过一定的时间才能有数据输出,从 CAS 与读取命令发出到第一笔数据输出的这段时间, 被定义为 CL(CAS Latency,CAS 潜伏期)。由于 CL 只在读取时出现,所以 CL 又被称为读取潜伏期(RL,Read Latency).CL 的单位与 tRCD 一样,为时钟周期数,具体耗时由时钟频率决定.不过,CA

28、S并不是在经过 CL周期之后才送达存储单元.实际上 CAS 与 RAS 一样是瞬间到达的,但 CAS 的响应时间要更快一些。为什么呢?假设芯片位宽为n 个 bit,列数为 c,那么一个行地址要选通 nc 个存储体,而一个列地址只需选通 n 个存储体。但存储体中晶体管的反应时间仍会造成数据不可能与 CAS 在同 一上升沿触发,肯定要延后至少一个时钟周期。由于芯片体积的原因,存储单元中的电容容量很小,所以信号要经过放大来保证其有效的识别性,这个放大/驱动工作由 SAMP 负责,一个存储体对应一个 SAMP通道.但它要有一个准备时间才能保证信号的发送强度(事前还要进行电压比较以进行逻辑电平的判断),

29、因此从数据 I/O 总线上有数据输出之前的一个时钟上升沿开始,数据已传向 S-AMP,也就是说此时数据已经被触发,经过一定的驱动时间最终传向数据 I/O 总线进行输出,这段时间我们称之为 tAC(Access Time from CLK,时钟触发后的访问时间)。tAC 的单位是 ns,对于不同的频率各有不同的明确规定,但必须要小于一个时钟周期,否则会因访问时过长而使效率降低。比如 PC133 的时钟周期为 7。5ns,tAC 则是 5.4ns。需要强调的是,每个数据在读取时都有tAC,包括在连续读取中,只是在进行第一个数据传输的同时就开始了第二个数据的 tAC。CL=2 与 tAC 示意图CL

30、的数值不能超出芯片的设计规范,否则会导致内存的不稳定,甚至开不了机,而且它也不能在数据读取前临时更改。CL周期在开机初始化过程中的 MRS 阶段进行设置,在主芯片中可以对其进行调整,然后开机时通过 A4-A6 地址线对 MR 中 CL 寄存器的信息进行更改。不过,从存储体的结构图上可以看出,原本逻辑状态为 1 的电容在读取操作后,会因放电而变为逻辑 0。所以,以前的 DRAM 为了在关闭当前行时保证数据的可靠性,要对存储体中原有的信息进行重写,这个任务由数据所经过的刷新放大器来完成,它根据逻辑电平状态,将数据进行重写(逻辑 0 时就不重写),由于这个操作与数据的输出是同步进行互不冲突,所以不会

31、产生新的重写延迟.后来通过技术的改良,刷新放大器被取消,其功能由 SAMP 取代,因为在读取时它会保持数据的逻辑状态,起到了一个 Cache 的作用,再次读取时由它直接发送即可,不用再进行新的寻址输出,此时数据重写操作则可在预充电阶段完成。5.5 写操作数据写入的操作也是在 tRCD 之后进行,但此时没有了 CL(记住,CL 只出现在读取操作中),行寻址与列寻址的时序图和上文一样,只是在列寻址时,WE#为有效状态。数据写入的时序图从图中可见,由于数据信号由控制端发出,输入时芯片无需做任何调校,只需直接传到数据输入寄存器中,然后再由写入驱动器进行对存储电容的充电操作,因此数据可以与 CAS同时发

32、送,也就是说写入延迟为 0.不过,数据并不是即时地写入存储电容,因为选通三极管(就如读取时一样)与电容的充电必须要有一段时间,所以数据的真正写入需要一定的周期.为了保证数据的可靠写入,都会留出足够的写入/校正时间(tWR,Write Recovery Time),这个操作也被称作写回(Write Back)。tWR至少占用一个时钟周期或再多一点(时钟频率越高,tWR 占用周期越多),有关它的影响将在下文进一步讲述。5.6 突发长突发(Burst)是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输所涉及到存储单元(列)的数量就是突发长度(Burst Lengths,简称BL)。在目前,

33、由于内存控制器一次读/写 的数据量就是PBank位宽,但是在现实中小于这个数量的数据很少见, 所以一般都要经过多个周期进行数据的传输。上文讲到的读/写操作,都是一次对一个存储单元进行寻址,如果要连续读/写就还要对当前存储单元的下一个单元进行寻址, 也就是要不断的发送列地址与读/写命令(行地址不变,所以不用再对行寻址)。虽然由于读/写延迟相同可以让数据的传输在 I/O端是连续的,但它占用了大量的内存控制资源,在数据进行连续传输时无法输入新的命令,效率很低(早期的 FPE/EDO内存就是以这种方式进行连续的数据传输)。为此,人们开发了突发传输技术,只要指定起始列地址与突发长度,内存就会依次地自动对

34、后面相应数量的存储单元进行读/写操作而不再需要控制器连续地提供列地址.这样,除了第一笔数据的传输需要若干个周期(主要是之前的延迟,一般的是 tRCD+CL(对于读取,写时没有CL时间))外,其后每个数据只需一个周期的即可获得。非突发连续读取模式:不采用突发传输而是依次单独寻址,此时可等效于 BL=1。虽然可以让数据是连续的传输,但每次都要发送列地址与命令信息,控制资源占用极大突发连续读取模式:只要指定起始列地址与突发长度,寻址与数据的读取自动进行,而只要控制好两段突发读取命令的间隔周期(与 BL 相同)即可做到连续的突发传输。 至于 BL 的数值,也是不能随便设或在数据进行传输前临时决定。在上

35、文讲到的初始化过程中的 MRS 阶段就要对 BL 进行设置。目前可用的选项是 1、2、4、8、全页(Full Page),常见的设定是 4 和 8。顺便说一下,BL 能否更改与主芯片的设计有很大关系,不是每个主芯片都能像调整 CL 那样来调整 BL。某些芯片的BL是定死而不可改的,比如 Intel 芯片组的 BL基本都为4。另外,在 MRS 阶段除了要设定 BL 数值之外,还要具体确定读/写操作的模式以及突发传输的模式。突发读/突发写,表示读与写操作都是突发传输的,每次读/写操作持续BL所设定的长度,这也是常规的设定。突发读/单一写,表示读操作是突发传输,写操作则只是一个个单独进行.突发传输模

36、式代表着突发周期内所涉及到的存储单元的传输顺序。顺序传输是指从起始单元开始顺序读取。假如 BL=4,起始单元编号是 n,顺序就是 n、n+1、n+2、n+3。交错传输就是打乱正常的顺序进行数据传输(比如第一个进行传输的单元是 n,而第二个进行传输的单元是 n+2 而不是 n+1)。5.7 预充电由于 SDRAM 的寻址具体独占性,所以在进行完读写操作后,如果要对同一LBank 的另一行进行寻址,就要将原来有效(工作)的行关闭,重新发送行/列地址。LBank 关闭现有工作行,准备打开新行的操作就是预充电(Precharge).预充电可以通过命令控制,也可以通过辅助设定让芯片在每次读写操作之后自动

37、进行预充电。实际上,预充电是一种对工作行中所有存储体进行数据重写,并对行地址进行复位,同时释放 S-AMP(重新加入比较电压,一般是电容电压的 1/2,以帮助判断读取数据的逻辑电平,因为 SAMP 是通过一个参考电压与存储体位线电压的比较来判断逻辑值的),以准备新行的工作。具体而言,就是将 SAMP 中的数据回写,即使是没有工作过的存储体也会因行选通而使存储电容受到干扰,所以也需要 SAMP 进行读后重写。此时,电容的电量(或者说其产生的电压) 将是判断逻辑状态的依据(读取时也需要),为此要设定一个临界值,一般为电容电量的 1/2,超过它的为逻辑 1,进行重写,否则为逻辑 0,不进行重写(等于

38、放电)。为此,现在基本都将电容的另一端接入一个指定的电压(即 1/2 电容电压),而不是接地,以帮助重写时的比较与判断。我们回过头看看读写操作时的命令时序图,从中可以发现地址线 A10 控制着是否进行在读写之后当前 L-Bank 自动进行预充电,这就是上文所说的 “辅助设定”。而在单独的预充电命令中,A10 则控制着是对指定的 LBank 还是所有的 L-Bank(当有多个 LBank 处于有效/活动状态时)进行预充电,前者需要提供 LBank 的地址,后者只需将 A10 信号置于高电平.在发出预充电命令之后,要经过一段时间才能允许发送 RAS 行有效命令打开新的工作行,这个间隔被称为 tRP

39、(Precharge command Period,预充电有效周期)。和 tRCD、CL 一样,tRP 的单位也是时钟周期数,具体值视时钟频率而定。读取时预充电时序图图中设定:CL=2、BL=4、tRP=2。自动预充电时的开始时间与此图一样,只是没有了单独的预充电命令,并在发出读取命令时,A10 地址线要设为高电平(允 许自动预充电)。可见控制好预充电启动时间很重要,它可以在读取操作结束后立刻进入新 行的寻址,保证运行效率.误区:读写情况下都要考虑写回延迟有些文章强调由于写回操作而使读/写操作后都有一定的延迟,但从本文的介绍中 写可以看出,即使是读后立即重写的设计,由于是与数据输出同步进行,并

40、不存在延迟。只有在写操作后进行其他的操作时,才会有这方面的影响。写操作虽然是 0 延迟进行,但每笔数据的真正写入则需要一个足够的周期来保证,这段时间就是写回周期(tWR)。所以预充电不能与写操作同时进行,必须要在 tWR 之后才能发出预 充电命令,以确保数据的可靠写入,否则重写的数据可能是错的,这就造成了写回延迟。数据写入时预充电操作时序图注意:其中tWR 参数,由于它的存在使预充电操作延后,从而造成写回延迟5.8 刷新DRAM要不断进行刷新才能保留住数据,刷新是 DRAM 最重要的操作之一。刷新操作与预充电中重写的操作一样,都是用 S-AMP 先读再写.但为什么有预充电操作还要进行刷新呢?因

41、为预充电是对一个或所有 L-Bank 中的工作行操作,并且是不定期的;而刷新则是有固定的周期,依次对所有行进行操作,以保留那些久久没经历重写的存储体中的数据。但与所有 LBank 预充电不同的是, 这里的行是指所有 L-Bank 中地址相同的行,而预充电中各 L-Bank 中的工作行地址并不是一定是相同的。 那么要隔多长时间重复一次刷新呢?目前公认的标准是,存储体中电容的数据有效保存期上限是64ms,也就是说每一行刷新的循环周期是 64ms。这样刷新速度就是:行数量/64ms。我们在看内存规格时,经常会看到4096 Refresh Cycles/64ms 或 8192 Refresh Cycl

42、es/64ms 的标识,这里的4096 与 8192 就代表这个芯片中每个 LBank 的行数。刷新命令一次对一行有效, 发送间隔也是随总行数而变化,4096 行时为 15.625s(微秒,1/1000 毫秒),8192 行时就为 7.8125s。刷新操作分为两种:自动刷新(Auto Refresh,简称 AR)与自刷新(SelfRefresh,简称 SR).不论是何种刷新方式,都不需要外部提供行地址信息,因为这是一个内部的自动操作。对于 AR, SDRAM 内部有一个行地址生成器(也称刷新计数器)用来自动的依次生成行地址。由于刷新是针对一行中的所有存储体 进行,所以无需列寻址,或者说 CAS

43、 在 RAS 之前有效.所以,AR 又称 CBR(CAS Before RAS,列提前于行定位)式刷新。由于刷新涉及到所有 L-Bank,因此在刷新过程 中,所有 L-Bank 都停止工作,而每次刷新所占用的时间为 9 个时钟周期(PC133 标准),之后就可进入正常的工作状态,也就是说在这 9 个时钟期间内,所有 工作指令只能等待而无法执行。64ms 之后则再次对同一行进行刷新,如此周而 复始进行循环刷新。显然,刷新操作肯定会对 SDRAM 的性能造成影响,但这是没 办法的事情,也是 DRAM 相对于 SRAM(静态内存,无需刷新仍能保留数据)取得成本优势的同时所付出的代价。SR 则主要用于

44、休眠模式低功耗状态下的数据保存,这方面最著名的应用就是 STR(Suspend to RAM,休眠挂起于内存)。在发出AR命令时,将 CKE 置于无效状态,就进入了SR模式,此时不再依靠系统时钟工作,而是根据内部的时钟进行刷新操作。在SR期间除了CKE之外的所有外部信号都是无效的(无需外部提供刷新指令),只有重新使 CKE有效才能退出自刷新模式并进入正常操作状态。5.9 数据掩码在讲述读/写操作时,我们谈到了突发长度.如果 BL=4,那么也就是说一次就传送 464bit 的数据。但是,如果其中的第二笔数据是不需要的,怎么办? 还都传输吗?为了屏蔽不需要的数据,采用了数据掩码(Data I/O

45、Mask,简称 DQM)技术.通过 DQM,内存可以控制 I/O 端口取消哪些输出或输入的数据. 这里需要强调的是,在读取时,被屏蔽的数据仍然会从存储体传出,只是在“掩码逻辑单元”处被屏蔽。DQM由北桥控制,为了精确屏蔽一个 P-Bank 位宽中的每个字节,每个 DIMM 有 8 个 DQM 信号线,每个信号针对一个字节。这样,对于4bit 位宽芯片,两个芯片共用一个 DQM 信号线,对于 8bit 位宽芯片,一个芯片占用一个 DQM 信号,而对于 16bit 位宽芯片,则需要两个 DQM 引脚。SDRAM 官方规定,在读取时 DQM 发出两个时钟周期后生效,而在写入时,DQM 与写入命令一样

46、是立即成效.读取时数据掩码操作,DQM 在两个周期后生效,突发周期的第二笔数据被取消写入时数据掩码操作,DQM 立即生效,突发周期的第二笔数据被取消有关内存内部的基本操作就到此结束,其实还有很多内存的操作没有描述, 但都不是很重要了,限于篇幅与必要性,我们不在此介绍。下面通过一个形象的例子来说明DDR的基本原理。5.10 形象的例子货物基地(主板)连接着物资(数据)的供求方.基地的货物调度厂房(北桥芯片)掌管着若干个用于临时供货/生产与存储的仓库基地(P-Bank),它们通常隶属于某一仓储集团(DIMM),这种基地与调度厂房之间必须由 64 条传送带联系着(PBank 位宽),每条传送带一次只

47、能运送一个标准的货物(1bit 数据),而且一次至少要传送 64 个标准货物,这 是它们之间的约定,仓库基地必须满足。上图就是这样的一个仓库基地(PBank),它由 4 个大仓库(内存芯片)组成,它们的规模都相当大,每个大仓库为基地提供 16 条传送带(芯片位宽为 16bit),总共加起来刚好 就是 64 条.每个大仓库里都有四个规模和结构相同的子仓库(L-Bank),它们都被统一编了 号。而子仓库中有很多层(行),每层里又有很多的储藏间(列),每个储藏间可以放置 16 个标准货物,虽然子仓库的规模很大,但每一层和每一个房间也都编好了号,而且每一层都 有一个搬运工在值班.为了与外界联系方便,仓

48、储集团与调度室设置了专线电话,和一个国家一样,每个仓库 基地有一个区号(片选),另外还有四个子仓库号码(LBank 地址),是所有大仓库共享 的,一个号码对应所有大仓库中编号相同的子仓库。而专线电话的数量也是四个,这样可保 证与某个子仓库通话时不会妨碍给其他子仓库打电话.在子仓库的每层则设立分机给搬运工 使用.子仓库的楼下就是传送带,找到货物把它扔到上面。但每个大仓库只有一个传送带, 也就是说同一时间内只能有一个子仓库在工作.每个子仓库都有一个自己的生产车间(读出 放大器)负责指定货物的生产,并且每个大仓库都有一个外运站(数据输出寄存器)和寄存 托运处(数据输入寄存器与写入驱动器)与传送带相连,前者负责货

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服