SDRAM-高手进阶,终极内存技术指南——完整进阶版
- 格式:pdf
- 大小:1.69 MB
- 文档页数:23
sdram读取原理-回复SDRAM(同步动态随机存取存储器)是一种在计算机系统中广泛使用的主存(也称为内存)技术。
它采用了一种同步的方式来读取和写入数据,使得它比传统的DRAM(动态随机存取存储器)更快速和可靠。
在本文中,我们将一步一步地讲解SDRAM的读取原理及其关键步骤。
第一步:读取请求首先,当计算机系统需要从SDRAM中读取数据时,它会发送读取请求。
这个请求包含了要读取的数据的地址和其他相关的控制信息。
读取请求通常是由处理器或其他外部设备发出的。
第二步:行地址选址当SDRAM接收到读取请求时,它会先将请求中的地址进行处理,以确定行地址。
SDRAM将地址分为两个部分:行地址和列地址。
行地址表示内存中的行,而列地址则表示行中的某个具体单元。
这种划分使得SDRAM内部排列的存储单元更加有序,有助于提高访问速度。
第三步:行预充电在进行行地址选址后,SDRAM会将所选中的行中的存储单元进行预充电。
预充电是一种将存储单元中的电荷恢复到某种初始状态的过程。
它可以确保存储单元在读取数据之前处于一种准备好的状态,以提高读取速度和准确性。
第四步:列地址选择在行预充电完成后,SDRAM会根据读取请求中的列地址选择相应的存储单元。
通过将列地址应用于预充电行中的存储单元,SDRAM可以准确地定位到要读取的数据。
第五步:数据读取当SDRAM确定了要读取的存储单元后,它会将存储单元中的数据放大并通过一条数据线将其输出。
这个数据线会将数据传输回主设备(如处理器)或其他需要的设备。
在传输数据之前,SDRAM会对数据进行一定的处理,以确保数据的准确性和完整性。
第六步:访问延迟在数据读取完成后,SDRAM需要一定的时间来重新准备好进行下一次读取或写入操作。
这个时间通常称为访问延迟。
在访问延迟期间,SDRAM 无法对其他读取请求作出响应。
访问延迟的长短取决于SDRAM本身的性能和系统中其他因素的影响。
第七步:重复操作在完成一次读取操作后,如果计算机系统需要继续从SDRAM中读取数据,它将重复以上步骤。
高手进阶,终极内存技术指南作为电脑中必不可少的三大件之一(其余的两个是主板与CPU),内存是决定系统性能的关键设备之一,它就像一个临时的仓库,负责数据的中转、暂存……不过,虽然内存对系统性能的至关重要,但长期以来,DIYer并不重视内存,只是将它看作是一种买主板和CPU时顺带买的“附件”,那时最多也就注意一下内存的速度。
这种现象截止于1998年440BX主板上市后,PC66/100的内存标准开始进入普通DIYer的视野,因为这与选购有着直接的联系。
一时间,有关内存时序参数的介绍文章大量出现(其中最为著名的恐怕就是CL参数)。
自那以后,DIYer才发现,原来内存也有这么多的学问。
接下来,始于 2000年底/2001年初的VIA芯片组4路交错(4-Way Interleave)内存控制和部分芯片组有关内存容量限制的研究,则是深入了解内存的一个新开端。
本刊在2001年第2期上也进行了VIA内存交错控制与内存与模组结构的详细介绍,并最终率先正确地解释了这一类型交错(内存交错有多种类型)的原理与容量限制的原因。
从那时起,很多关于内存方面的深入性文章接踵而至,如果说那时因此而掀起了一股内存热并不夸张。
大量的内存文章让更多的用户了解了内存,以及更深一层的知识,这对于DIY当然是一件好事情。
然而,令人遗憾的是这些所谓的内存高深技术文章有不少都是错的(包括后来的DDR与RDRAM内存的介绍),有的甚至是很低级的错误。
在这近两年的时间里,国内媒体上优秀的内存技术文章可谓是寥若晨星,有些媒体还编译国外DIY网站的大篇内存文章,但可惜的是,外国网站也不见得都是对的(这一点,国内很多作者与媒体似乎都忽视了)。
就这样,虽然打开了一个新的知识领域,可“普及”的效果并不那么好,很多媒体的铁杆读者高兴地被带入内存深层世界,但也因此被引向了新的误区。
不过,从这期间(2001年初至今)各媒体读者对这类文章的反映来看,喜欢内存技术的玩家大有人在且越来越多,这是各媒体“培养”的成果。
DDR-Ⅱ与DDR-Ⅲ(一)高手进阶,终极内存技术指南——完整/进阶版明日之星——DDR-Ⅱ与DDR-Ⅲ(一)作为DDR的接班人,DDR-Ⅱ在规范制定之初就引起了广泛的关注,进入2002年,三星、Elpida、Hynix、Micron等都相继发布了DDR -Ⅱ芯片(最早由三星在5月28日发布),让人觉得DDR-Ⅱ突然和我们近了。
可是,DDR-Ⅱ规范却一直没有正式公开,在JEDEC上仍只有一篇ATi 技术人员写的,在目前看来有些内容都已过时的简要介绍。
原来,DDR-Ⅱ标准到2002年10月完成度也没有达到100%(厂商透露大约为95%),而上述厂商所推出的芯片也在不断的修改中,预计正式的规范将在明年第一季度推出。
不过,DDR-Ⅱ的主体设计已经完成,不会有大的改动,所以通过这些“试验性”芯片,我们仍可掌握DDR-Ⅱ的主要信息。
DDR-Ⅱ相对于DDR 的主要改进如下:DDR-Ⅱ与目前的DDR对比表由于DDR-Ⅱ相对DDR-I的设计变动并不大,因此很多操作就不在此详细介绍了,本文重点阐述DDR-Ⅱ的一些重要变化。
一、 DDR-Ⅱ内存结构DDR-Ⅱ内存的预取设计是4bit,通过DDR的讲述,大家现在应该知道是什么意思了吧。
上文已经说过,SDRAM有两个时钟,一个是内部时钟,一个是外部时钟。
在SDRAM与DDR 时代,这两个时钟频率是相同的,但在DDR-Ⅱ内存中,内部时钟变成了外部时钟的一半。
以DDR-Ⅱ400为例,数据传输频率为400MHz(对于每个数据引脚,则是400Mbps/pin),外部时钟频率为200MHz,内部时钟频率为100MHz。
因为内部一次传输的数据就可供外部接口传输4次,虽然以DDR方式传输,但数据传输频率的基准——外部时钟频率仍要是内部时钟的两倍才行。
就如RDRAM PC800一样,其内部时钟频率也为100MHz,是传输频率的1/8。
DDR-Ⅱ、DDR与SDRAM的操作时钟比较所以,当预取容量超过接口一次DDR的传输量时,内部时钟必须降低(除非数据传输不是DDR 方式,而是一个时钟周期4次)。
Lattice ddr3教程全攻略之仿真篇By: BACKKOMQQ:784496547Date:2014/9/19 对于这部分,首先建议安装好diamond3.1,modelsim se 10.1a这两个软件,如果想仔细分析DDR3的IP部分,可仔细阅读DDR3 SDRAM Controller IP Core User’s Guide,下面用ug代指。
官网上可以download,还有DDR3的基本知识,可以到网上download《高手进阶,终极内存技术指南——完整进阶版》,这个文章值得一读。
DDR的调试成功,可以说是开发学习FPGA的一大重要标志,能够把DDR3玩转的熟练,那自称FPGA工程师也是理所当然了。
Lattice的ddr3控制器接口逻辑还是相对简单,比较好理解的,下面来看看DDR3 IP 的内部结构:图:DDR3 IP逻辑框图Initialization Module:根据JEDEC.的标准,在上电后对DDR3进行初始化配置,配置其相应的寄存器和工作方式等,具体配置的寄存器可以参看ddr3的协议文档,JEDEC规范写的很详细。
当初始化配置完成后,该模块会给出一个done信号告诉用户。
sysCLOCK PLL:用于提供IP工作所需要的时钟,并提供给用户端一个时钟:k_clk。
Data Path Logic:用于从DDR3读取的数据转换到用户端,写入的数据不经过该模块,写入的数据从Command Application Logic (CAL)模块输入。
Command Decode Logic (CDL) :该模块用于译码命令,控制core按照设定的命令正确的访问ddr3芯片。
DDR3 PHY:用于转换单端的数据转换为差分给到ddr芯片端,和差分转单端输入。
以上部分有基础了解就行,不需要深究。
图:DDR初始化时序当上电后,用户应该将init_start拉高至少200us,直到init_done被拉高一个周期,则将init_start拉低。
DDR SDRAM技术专题DDR SDRAM是“双倍数据速率同步动态随机访问存储器”double date rate synchronous dynamic random access memory的缩写,是一种低成本、高容量的存储器,在计算机、消费类电子、通信等领域中一些要求高容量存储空间的场合有着广泛的应用。
本技术专题试图以从事DDR SDRAM使用及其控制器设计的电子工程师的角度对DDR SDRAM进行较为详细的讨论。
我们希望本技术专题能够为广大电子设计工程师提供有益的参考。
1. DDR SDRAM概述SDRAM是同步动态随机访问存储器的缩写,是一种低成本、高容量的存储器。
它在计算机、消费类电子、通信等领域中一些要求高容量存储空间的场合有着广泛的应用。
传统的SDRAM采用一种单倍数据速率(SDR)的结构执行访问操作,它在每个时钟周期的上升沿传输数据,因此SDR SDRAM的带宽等于其时钟其频率乘以其数据总线宽度w=f*bus。
例如,如果SDR SDRAM的操作频率为100MHz,其数据总线宽度为16位,则其总线带宽为100MHz x 16 bit = 1600Mbit/S,也就是1.6Gbps。
而对带宽的需求是无休止的!为了增加总线带宽,如果使用传统的方法,我们要么增加数据总线宽度,要么提高其操作频率。
那么,有没有可能在既不增加数据总线宽度也不提高工作频率的条件下增加总线带宽呢?为适应这种需求,DDR SDRAM出现了!DDR SDRAM使用一种双倍数据速率的结构来获得高性能的操作。
双倍数据速率结构本质上是一种2n预取结构,在输入/输出管脚上,每个时钟周期可以传输两个字。
对于一次DDR SDRAM的访问操作(写操作、读操作),在芯片的内部,一个时钟周期执行一个位宽为2n的数据传输,而在DDR SDRAM器件的管脚上则每半个时钟周期执行一次n位的数据传输。
因此,DDR SDRAM的总线带宽为:工作频率×数据总线宽度×2可见,在相同的数据总线宽度和工作频率下,DDR SDRAM的总线带宽比SDR SDRAM的总线带宽提高了一倍。
入门手册SDRAM内存系统:嵌入式测试和测量挑战 5SDRAM内存系统:嵌入式测试和测量挑战入门手册目录引言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3-4 DRAM发展趋势⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3DRAM⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4-6SDRAM⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6-9 DDR SDRAM⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6 DDR2 SDRAM⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯7 DDR3 SDRAM⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯8DIMMs⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9-14 DIMM物理尺寸⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9 DIMM数据宽度⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9 DIMM排列⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯10 DIMM内存尺寸和速度⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯10 DIMM结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯10串行位置检测⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13内存系统设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯15-17设计仿真⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯15设计检验⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯15检验策略⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯15 SDRAM检验⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯17词汇表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯18-22 2 /memorySDRAM内存系统:嵌入式测试和测量挑战入门手册引言DRAM (动态随机访问存储器)对设计人员特别具有吸引力,因为它提供了广泛的性能,用于各种计算机和嵌入式系统的存储系统设计中。
本DRAM内存入门手册概括介绍了DRAM的概念,展示了DRAM可能的未来发展方向,并概括了怎样通过验证来改善内存设计。
DRAM发展趋势人们一直希望计算机内存变得容量更大、速度更快、功率更低、物理尺寸更小。
这些需求正推动着DRAM技术不断发展。
在过去几年中,多次技术增强已经推进了主流DRAM的发展,如SDRAM (同步DRAM)、DDR (双倍数据速率)SDRAM、DDR2 (双倍数据速率2) SDRAM和DDR3 (双倍数据速率3) SDRAM。
内存模组(高手进阶,终极内存技术指南——完整/进阶版)内存模组是内存在PC系统中的最终体现形式,所以在本专题的最后,我们来简要谈谈内存模的类型和未来的发展情况。
不过,本章节只介绍DIMM,而不涉及RIMM(其实两者的很多概念是相通的)。
目前经常见到的模组主要有五种:1、Unbuffered DIMM:无缓冲型模组,这是我们平时所用到的标准DIMM,分有ECC和无ECC两种,简称Unb-DIMM。
2、 Regustered DIMM:寄存型模组,这是高端服务器所使用的DIMM,分有ECC和无ECC两种,但市场上几乎都是ECC的,简称Reg-DIMM。
3、SO-DIMM:Small Outline DIMM,小外型DIMM,笔记本电脑中所使用的DIMM,分ECC和无ECC两种,DDR-Ⅱ时代仅有无ECC的型号。
4、 Micro-DIMM:微型DIMM,供小型笔记本电脑或手持式设备使用的DIMM。
5、 Mini-DIMM:DDR-Ⅱ时代新出现的模组类型,它是Regustered DIMM的缩小版本,用于刀片式服务器等对体积要求苛刻的高端领域。
各类型内存DIMM对比表三星公司DDR-333标准的SO-DIMM,容量高达512MB本文将重点讲一下Unb与Reg-DIMM,和未来模组技术的发展一、Unb与Reg-DIMM的区别Unb与Reg-DIMM的最大区别在于模组上有无寄存器。
在高容量模组上,内存芯片数量很多,而且在需要大容量内存的工作场合,内存模组的安插数量也是很多的,这使命令与寻址信号的稳定性受到了严峻考验。
很多芯片组的资料中都说明只有使用Reg-DIMM才能达到标称的最高内存容量,从这点就能猜到寄存器的作用——稳定命令/地址信号,隔离外部干扰。
Reg-DIMM工作示意图,命令与地址信号通过寄存器中继传输至内存芯片在工作时,命令地址信号会先送入寄存器进行“净化”并进入锁存状态,然后再发送至内存芯片,芯片中的数据则不经过寄存器而直接传向北桥。
128Mbit(32M×4)SDRAM内部结构图(点击放大) 1、芯片初始化 可能很多人都想象不到,在SDRAM芯片内部还有一个逻辑控制单元,并且有一个模式寄存器为其提供控制参数。
因此,每次开机时SDRAM都要先对这个控制逻辑核心进行初始化。
有关预充电和刷新的含义在下文有讲述,关键的阶段就在于模式寄存器(MR,Mode Register)的设置,简称MRS(MR Set),这一工作由北桥芯片在BIOS的控制下进行,寄存器的信息由地址线来提供。
SDRAM在开机时的初始化过程 SDRAM模式寄存器所控制的操作参数:地址线提供不同的0/1信号来获得不同的参数。
在设置到MR之后,就开始了进入正常的工作状态,图中相关参数将结合下文具体讲述 2、行有效 初始化完成后,要想对一个L-Bank中的阵列进行寻址,首先就要确定行(Row),使之处于活动状态(Active),然后再确定列。
虽然之前要进行片选和L-Bank的定址,但它们与行有效可 硬件-尽享海量10款DVD-AMD Ath报告(下-期待已久芯片组-AMD Ath报告(上-漫步者的之路,以同时进行。
行有效时序图 从图中可以看出,在CS#、L-Bank定址的同时,RAS(Row Address Strobe,行地址选通脉冲)也处于有效状态。
此时An地址线则发送具体的行地址。
如图中是A0-A11,共有12个地址线,由于是二进制表示法,所以共有4096个行(212=4096),A0-A11的不同数值就确定了具体的行地址。
由于行有效的同时也是相应L-Bank有效,所以行有效也可称为L-Bank有效。
3、列读写 行地址确定之后,就要对列地址进行寻址了。
但是,地址线仍然是行地址所用的A0-A11(本例)。
没错,在SDRAM中,行地址与列地址线是共用的。
不过,读/写的命令是怎么发出的呢?其实没有一个信号是发送读或写的明确命令的,而是通过芯片的可写状态的控制来达到读/写的目的。
SDRAM1.SDRAM2.结构、时序与性能的关系SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存取存储器,同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是由指定地址进行数据读写。
SDR AM从发展到现在已经经历了四代,分别是:第一代SDR SDRAM,第二代DDR SDRAM,第三代DDR2 SDRAM,第四代DDR3 SDRAM.第一代与第二代SDRAM均采用单端(Single-Ended)时钟信号,第三代与第四代由于工作频率比较快,所以采用可降低干扰的差分时钟信号作为同步时钟。
SDR SDRAM的时钟频率就是数据存储的频率,第一代内存用时钟频率命名,如pc100,pc133则表明时钟信号为100或133MHz,数据读写速率也为100或133MHz。
之后的第二,三,四代DDR(Double Data Rate)内存则采用数据读写速率作为命名标准,并且在前面加上表示其DDR代数的符号,PC-即DDR,PC2=DDR2,PC3=DDR3。
如PC2700是DDR333,其工作频率是333/2=166MHz,2700表示带宽为2.7G。
DDR的读写频率从DDR200到DDR400,DDR2从DDR2-400到DDR2-800,DDR3从DDR3-800到DDR3-1666。
很多人将SDRAM错误的理解为第一代也就是 SDR SDRAM,并且作为名词解释,皆属误导。
SDR不等于SDRAM。
Pin:模组或芯片与外部电路电路连接用的金属引脚,而模组的pin就是常说的“金手指”。
SIMM:Single In-line Memory Module,单列内存模组。
内存模组就是我们常说的内存条,所谓单列是指模组电路板与主板插槽的接口只有一列引脚(虽然两侧都有金手指)。
SDR,DDR1/2/3,GDDR1/2/3/4/5 详细规格解释(上)-超牛的文章(2011-04-04 18:07:40)转载标签:sdrddr1/2/3分类:电脑知识gddr1/2/3/4/5详细规格解释it通常大家所说的DDR-400、DDR2-800、DDR3-1600等,其实并非是内存的真正频率,而是业界约定俗成的等效频率,这些DDR1/2/3 内存相当于老牌SDR内存运行在400MHz、800MHz、1600MHz时的带宽,因此频率看上去很夸张,其实真正的内核频率都只有200MHz而已!内存有三种不同的频率指标,它们分别是核心频率、时钟频率和有效数据传输频率。
核心频率即为内存Cell阵列(Memory Cell Array,即内部电容)的刷新频率,它是内存的真实运行频率;时钟频率即I/O Buffer(输入/输出缓冲)的传输频率;而有效数据传输频率就是指数据传送的频率(即等效频率)。
● SDR和DDR1/2/3全系列频率对照表:常见DDR内存频率对照表通过上表就能非常直观的看出,近年来内存的频率虽然在成倍增长,可实际上真正存储单元的频率一直在133MHz-200MHz之间徘徊,这是因为电容的刷新频率受制于制造工艺而很难取得突破。
而每一代DDR的推出,都能够以较低的存储单元频率,实现更大的带宽,并且为将来频率和带宽的提升留下了一定的空间。
● SDR和DDR1/2/3存储原理示意图:虽然存储单元的频率一直都没变,但内存颗粒的I/O频率却一直在增长,再加上DDR是双倍数据传输,因此内存的数据传输率可以达到核心频率的8倍之多!通过下面的示意图就能略知一二:那么,内存IO频率为什么能达到数倍于核心频率呢?相信很多人都知道,DDR1/2/3内存最关键的技术就是分别采用了2/4/8bit数据预取技术(Prefetch),由此得以将带宽翻倍,与此同时I/O控制器也必须做相应的改进。
内存数据预取技术示意图:并行转串行这种存储阵列内部的实际位宽较大,但是数据输出位宽却比较小的设计,就是所谓的数据预取技术,它可以让内存的数据传输频率倍增。
提到内存,相信大家都不陌生,几乎所有的计算机系统中都有它的身影,按照内存的工作原理划分,可将内存分为RAM和ROM两大类。
RAM(Random Access Memory)存储器又称随机存取存储器,存储的内容可通过指令随机读写访问,RAM中的数据在掉电时会丢失;ROM(Read Only Memory)存储器又称只读存储器,只能从中读取信息而不能任意写信息。
ROM具有掉电后数据可保持不变的优点。
RAM和ROM两大类下面又可分很多小类,如下图所示:♦SRAM简介 SRAM即Static RAM,也就是静态随机存取存储器,按照制造工艺可分为NMOS SRAM、CMOS SRAM和双极型SRAM(用的是TFT)。
SRAM的基本存储单元是数字锁存器,只要系统不掉电,它就会无限期地保持记忆状态。
掉电时,存储数据会丢失。
并且SRAM的行列地址线是分开的(DRAM的行列地址线是复用的)。
SRAM地特点是读写速度极快,在快速读取和刷新时能够保持数据地完整性,并且非常省电。
所以在一些高速和高可靠性要求电路中,基本上是SRAM地天下,如CPU的Cache。
但是SRAM的存储单元电路结构非常复杂,它内部采用的是双稳态电路的形式来存储数据,制作一个bit 存储位通常需要6个MOS管(4个MOS管组成两个交叉耦合反相器,用来锁存数据,另外2个用于对读写操作过程的控制)。
由于SRAM的复杂电路结构,使得成本要比DRAM高很多,而且其集成度低,很难做成大容量,一般只有几十KByte到几百KByte的容量,最大也就几MByte。
上图为6个NMOS构成的基本SRAM存储单元,Xi和Yj为字线;I/O为数据输入/输出端;R/W为读/写控制端。
当R/W=0时,进行写操作;当R/W=1时,进行读操作。
图中红色虚线框中的T1、T2、T3、T4、T5、T6六个NMOS管构成一个基本的存储单元。
T1、T3和T2、T4两个反相器交叉耦合构成触发器。
* SDRAM和DDR布线指南***********************2019/02/03 asdjf@163 armecosecos应用是与硬件平台无关的,虽然开发板没有涉及到SDRAM和DDR,不过,在某些高端平台上使用ecos可能会遇到内存布线问题,为了完整叙述,这里一并给出说明。
很多人对内存布线感到迷茫,找不到切入点,不知如何下手,其实高速硬件设计的主要任务就是与干扰做斗争,内存布线也不例外。
可以这样考虑:内存是做什么用的呢?是用来存储数据的,写入1读出1,写入0读出0,即保证数据访问正确。
那么,在什么情况会导致数据访问错误呢?1、判决错误,0判成1,1判成0。
可能参考电平不准(为什么不准?信号线内阻造成的压降),也可能是加性干扰,或者阻抗不匹配引起信号畸变。
2、时序错误,不满足建立/保持时间,或者采样点相位错误,不在有效信号位置上。
触发器需要维持一段时间的能量供给才能正常工作,这个时间就是建立/保持时间。
那么只要解决好这两个问题,保证内存正确访问,你的内存电路就设计成功了。
有了这个指导思想,内存布线就可以按部就班地完成。
不过,不同的RAM类型,虽然目标都是避免判决和时序错误,但实现方法因工作模式不同而有较大差异。
高速系统一般采用低压信号,电压低,摆幅小,容易提高速度,降低功耗,但这给布线带来了困难,因为低压信号功率受信号线内阻影响大,是电压平方关系,所以要尽量减少内阻,比如使用电平面,多打孔,缩短走线距离,高压传输在终点用电阻分压出较低电压的信号等。
SDRAM、DDR-I、DDR-II、DDR-III信号电压一个比一个低,越来越不容易做稳定。
电源供给也要注意,如果能量供给不足,内存不会稳定工作。
经常看到“等长布线”,其实,等长不是目的,真正的目的是满足建立保持时间,同频同相,采样正确。
等长只不过可以最简单地实现这个目的罢了。
要定量分析线长,必须按照时钟模型公式计算。
时钟同步电路的类型在后面有简单介绍,这里只要知道SDRAM是公共时钟同步,DDR是源同步就可以了。
【转】SDRAM的简单介绍Introduction 问题1:什么是DRAM、SRAM、SDRAM?答:名词解释如下DRAM--------动态随即存取器,需要不断的刷新,才能保存数据,⽽且是⾏列地址复⽤的,许多都有页模式SRAM--------静态的随机存储器,加电情况下,不需要刷新,数据不会丢失,⽽且⼀般不是⾏列地址复⽤的SDRAM-------同步的DRAM,即数据的读写需要时钟来同步问题2:为什么DRAM要刷新,SRAM则不需要?答:这是由RAM的设计类型决定的,DRAM⽤了⼀个T和⼀个RC电路,导致电容会漏电和缓慢放电,所以需要经常刷新来保存数据问题3:我们通常所说的内存⽤的是什么呢?这三个产品跟我们实际使⽤有什么关系?答:内存(即随机存贮器RAM)可分为静态随机存储器SRAM,和动态随机存储器DRAM两种。
我们经常说的“内存”是指DRAM。
⽽SRAM⼤家却接触的很少。
问题4:为什么使⽤DRAM⽐较多、⽽使⽤SRAM却很少?答:1)因为制造相同容量的SRAM⽐DRAM的成本⾼的多,正因为如此,才使其发展受到了限制。
因此⽬前SRAM基本上只⽤于CPU内部的⼀级缓存以及内置的⼆级缓存。
仅有少量的⽹络服务器以及路由器上能够使⽤SRAM。
2)存储单元结构不同导致了容量的不同:⼀个DRAM存储单元⼤约需要⼀个晶体管和⼀个电容(不包括⾏读出放⼤器等),⽽⼀个SRAM存储单元⼤约需要六个晶体管。
DRAM和SDRAM由于实现⼯艺问题,容量较SRAM⼤,但是读写速度不如SRAM。
问题5:⽤得最多的DRAM有什么特点呢?它的⼯艺是什么情况?(通常所说的内存就是DRAM)答:1)DRAM需要进⾏周期性的刷新操作,我们不应将SRAM与只读存储器(ROM)和Flash Memory相混淆,因为SRAM是⼀种易失性存储器,它只有在电源保持连续供应的情况下才能够保持数据。
“随机访问”是指存储器的内容可以以任何顺序访问,⽽不管前⼀次访问的是哪⼀个位置。
内存详解深⼊了解内存DRAM和SRAM基础知识RAM模块基础DRAM读取过程快页模式内存SDRAM读取过程分析SDRAM写⼊过程Aceshardware所写的关于SDRAM基本⼯作原理的⽂章DRAM和SRAM基础知识RAM(Random Access Memory)随机存取存储器对于系统性能的影响是每个PC⽤户都⾮常清楚的,所以很多朋友趁着现在的内存价格很低纷纷扩容了内存,希望借此来得到更⾼的性能。
不过现在市场是多种内存类型并存的,SDRAM、DDR SDRAM、RDRAM等等,如果你使⽤的还是⾮常古⽼的系统,可能还需要EDO DRAM、FP DRAM(块页)等现在不是很常见的内存。
对于很多⽤户或者有⼀定经验的⾼级⽤户来说,他可能能说出Athlon XP和Pentium 4的主要不同点,能知道GeForce3和Radeon之间的区别,但是如果真的让他说出各种内存之间的实现机理的主要差别或者解释CAS 2和CAS 3之间的主要差别的话,就可能不是⾮常的清楚了。
毕竟CPU和显卡之类的东西更容易引起我们的兴趣。
我个⼈在这⽅⾯的知识也是⽐较⽚⾯甚⾄是⼀知半解的,所以⼀直在收集这个⽅⾯的资料。
在⽹上有很多很好的资源,其中Ars technica、Aceshardware、simpletech等⽹站的资料对于我系统的了解这个⽅⾯的知识有很⼤的帮助。
本⽂主要以Ars technica的⽂章为基础编写⽽成,为⼤家⽐较详细的介绍RAM⽅⾯的知识。
虽然RAM的类型⾮常的多,但是这些内存在实现的机理⽅⾯还是具有很多相同的地⽅,所以本⽂的将会分为⼏个部分进⾏介绍,第⼀部分主要介绍SRAM和异步DRAM (asynchronous DRAM),在以后的章节中会对于实现机理更加复杂的FP、EDO和SDRAM 进⾏介绍,当然还会包括RDRAM和SGRAM等等。
对于其中同你的观点相悖的地⽅,欢迎⼤家⼀起进⾏技术⽅⾯的探讨。
存储原理为了便于不同层次的读者都能基本的理解本⽂,所以我先来介绍⼀下很多⽤户都知道的东西。
序:不得不说的话(高手进阶,终极内存技术指南——完整/进阶版)作为电脑中必不可少的三大件之一(其余的两个是主板与CPU),内存是决定系统性能的关键设备之一,它就像一个临时的仓库,负责数据的中转、暂存……不过,虽然内存对系统性能的至关重要,但长期以来,DIYer并不重视内存,只是将它看作是一种买主板和CPU时顺带买的“附件”,那时最多也就注意一下内存的速度。
这种现象截止于1998年440BX主板上市后,PC66/100的内存标准开始进入普通DIYer的视野,因为这与选购有着直接的联系。
一时间,有关内存时序参数的介绍文章大量出现(其中最为著名的恐怕就是CL参数)。
自那以后,DIYer才发现,原来内存也有这么多的学问。
接下来,始于2000年底/2001年初的VIA芯片组4路交错(4-Way Interleave)内存控制和部分芯片组有关内存容量限制的研究,则是深入了解内存的一个新开端。
本刊在2001年第2期上也进行了VIA内存交错控制与内存与模组结构的详细介绍,并最终率先正确地解释了这一类型交错(内存交错有多种类型)的原理与容量限制的原因。
从那时起,很多关于内存方面的深入性文章接踵而至,如果说那时因此而掀起了一股内存热并不夸张。
大量的内存文章让更多的用户了解了内存,以及更深一层的知识,这对于DIY当然是一件好事情。
然而,令人遗憾的是这些所谓的内存高深技术文章有不少都是错的(包括后来的DDR 与RDRAM内存的介绍),有的甚至是很低级的错误。
在这近两年的时间里,国内媒体上优秀的内存技术文章可谓是寥若晨星,有些媒体还编译国外DIY网站的大篇内存文章,但可惜的是,外国网站也不见得都是对的(这一点,国内很多作者与媒体似乎都忽视了)。
就这样,虽然打开了一个新的知识领域,可“普及”的效果并不那么好,很多媒体的铁杆读者高兴地被带入内存深层世界,但也因此被引向了新的误区。
不过,从这期间(2001年初至今)各媒体读者对这类文章的反映来看,喜欢内存技术的玩家大有人在且越来越多,这是各媒体“培养”的成果。
这些用户已经不满足如何正确的使用内存,他们更渴望深入的了解这方面原来非常贫乏的知识,这些知识可能暂时不会对他们在使用内存过程中有什么帮助,但会大大满足他们的求知欲。
在2001年初,我们揭开VIA芯片组4路交错内存控制和部分芯片组有关内存容量限制之迷时,还是主要围绕着内存使用的相关话题来展开,而且在这期间有关内存技术的话题,《电脑高手》也都是一笔带过。
但在今天,在很多人希望了解内存技术而众多媒体的文章又“力不从心”时,我们觉得有必要再次站出来以正视听,也就是说,我们这次的专题不再以内存使用为中心,更多的是纯技术性介绍,并对目前现存的主要内存技术误区进行重点纠正。
在最后要强调的是,本专题以技术为主,由于篇幅的原因,不可能从太浅的方面入手,所以仍需要有一定的技术基础作保证,而对内存感兴趣的读者则绝不容错过,这也许是您最好的纠正错误认识的机会!在本专题里,当讲完内存的基本操作之后,我们会给大家讲一个仓库的故事,从中相信您会更了解内存这个仓库是怎么工作的,希望您能喜欢。
SDRAM内存模组的物理Bank与芯片位宽虽然有关内存结构与时序的基础概念,在本刊2001年第2期的专题中就已有阐述,但在这里为了保证专题的可读性,我们需要再次加强这方面的系统认识。
正确并深刻理解内存的基础概念,是阅读本专题的第一条件。
因为即使是RDRAM,在很多方面也是与SDRAM相似的,而至于DDR与DDR-Ⅱ、QBM等形式的内存更是与SDRAM有着紧密的联系。
SDRAM内存模组与基本结构我们平时看到的SDRAM都是以模组形式出现,为什么要做成这种形式呢?这首先要接触到两个概念:物理Bank与芯片位宽。
PC133时代的168pin SDRAM DIMM1、物理Bank传统内存系统为了保证CPU的正常工作,必须一次传输完CPU在一个传输周期内所需要的数据。
而CPU在一个传输周期能接受的数据容量就是CPU数据总线的位宽,单位是bit(位)。
当时控制内存与CPU之间数据交换的北桥芯片也因此将内存总线的数据位宽等同于CPU数据总线的位宽,而这个位宽就称之为物理Bank(Physical Bank,下文简称P-Bank)的位宽。
所以,那时的内存必须要组织成P-Bank来与CPU 打交道。
资格稍老的玩家应该还记得Pentium刚上市时,需要两条72pin的SIMM才能启动,因为一条72pin -SIMM只能提供32bit的位宽,不能满足Pentium的64bit数据总线的需要。
直到168pin-SDRAM DIMM 上市后,才可以使用一条内存开机。
下面将通过芯片位宽的讲述来进一步解释P-Bank的概念。
不过要强调一点,P-Bank是SDRAM及以前传统内存家族的特有概念,在RDRAM中将以通道(Channel)取代,而对于像Intel E7500那样的并发式多通道DDR系统,传统的P-Bank概念也不适用。
2、芯片位宽上文已经讲到SDRAM内存系统必须要组成一个P-Bank的位宽,才能使CPU正常工作,那么这个P-Bank 位宽怎么得到呢?这就涉及到了内存芯片的结构。
每个内存芯片也有自己的位宽,即每个传输周期能提供的数据量。
理论上,完全可以做出一个位宽为64bit 的芯片来满足P-Bank的需要,但这对技术的要求很高,在成本和实用性方面也都处于劣势。
所以芯片的位宽一般都较小。
台式机市场所用的SDRAM芯片位宽最高也就是16bit,常见的则是8bit。
这样,为了组成P-Bank所需的位宽,就需要多颗芯片并联工作。
对于16bit芯片,需要4颗(4×16bit=64bit)。
对于8bit芯片,则就需要8颗了。
以上就是芯片位宽、芯片数量与P-Bank的关系。
P-Bank其实就是一组内存芯片的集合,这个集合的容量不限,但这个集合的总位宽必须与CPU数据位宽相符。
随着计算机应用的发展,一个系统只有一个P-Bank 已经不能满足容量的需要。
所以,芯片组开始可以支持多个P-Bank,一次选择一个P- Bank工作,这就有了芯片组支持多少(物理)Bank的说法。
而在Intel的定义中,则称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的芯片集合。
只是由于某种原因而没有这么去做。
比如设计难度、制造成本、芯片组的配合等。
至于DIMM的面数与P-Bank数量的关系,在2001年2月的专题中已经明确了,面数≠P-Bank数,只有在知道芯片位宽的情况下,才能确定P -Bank的数量,大度256MB内存就是明显一例,而这种情况在Registered模组中非常普遍。
有关内存模组的设计,将在后面的相关章节中继续探讨。
SDRAM芯片的预充电与刷新操作预充电由于SDRAM的寻址具体独占性,所以在进行完读写操作后,如果要对同一L-Bank的另一行进行寻址,就要将原来有效(工作)的行关闭,重新发送行/列地址。
L-Bank关闭现有工作行,准备打开新行的操作就是预充电(Precharge)。
预充电可以通过命令控制,也可以通过辅助设定让芯片在每次读写操作之后自动进行预充电。
实际上,预充电是一种对工作行中所有存储体进行数据重写,并对行地址进行复位,同时释放S-AMP(重新加入比较电压,一般是电容电压的1/2,以帮助判断读取数据的逻辑电平,因为S-AMP是通过一个参考电压与存储体位线电压的比较来判断逻辑值的),以准备新行的工作。
具体而言,就是将S-AMP 中的数据回写,即使是没有工作过的存储体也会因行选通而使存储电容受到干扰,所以也需要S-AMP进行读后重写。
此时,电容的电量(或者说其产生的电压)将是判断逻辑状态的依据(读取时也需要),为此要设定一个临界值,一般为电容电量的1/2,超过它的为逻辑1,进行重写,否则为逻辑0,不进行重写(等于放电)。
为此,现在基本都将电容的另一端接入一个指定的电压(即1/2电容电压),而不是接地,以帮助重写时的比较与判断。
现在我们再回过头看看读写操作时的命令时序图,从中可以发现地址线A10控制着是否进行在读写之后当前L-Bank自动进行预充电,这就是上文所说的“辅助设定”。
而在单独的预充电命令中,A10则控制着是对指定的L-Bank还是所有的L-Bank(当有多个L-Bank处于有效/活动状态时)进行预充电,前者需要提供L-Bank的地址,后者只需将A10信号置于高电平。
在发出预充电命令之后,要经过一段时间才能允许发送RAS行有效命令打开新的工作行,这个间隔被称为tRP (Precharge command Period,预充电有效周期)。
和tRCD、CL一样,tRP的单位也是时钟周期数,具体值视时钟频率而定。
读取时预充电时序图(上图可点击放大):图中设定:CL=2、BL=4、tRP=2。
自动预充电时的开始时间与此图一样,只是没有了单独的预充电命令,并在发出读取命令时,A10地址线要设为高电平(允许自动预充电)。
可见控制好预充电启动时间很重要,它可以在读取操作结束后立刻进入新行的寻址,保证运行效率。
有些文章强调由于写回操作而使读/写操作后都有一定的延迟,但从本文的介绍中写可以看出,即使是读后立即重写的设计,由于是与数据输出同步进行,并不存在延迟。
只有在写操作后进行其他的操作时,才会有这方面的影响。
写操作虽然是0延迟进行,但每笔数据的真正写入则需要一个足够的周期来保证,这段时间就是写回周期(tWR)。
所以预充电不能与写操作同时进行,必须要在tWR之后才能发出预充电命令,以确保数据的可靠写入,否则重写的数据可能是错的,这就造成了写回延迟。
数据写入时预充电操作时序图(可点击放大):注意其中的tWR参数,由于它的存在,使预充电操作延后,从而造成写回延迟刷新之所以称为DRAM,就是因为它要不断进行刷新(Refresh)才能保留住数据,因此它是DRAM最重要的操作。
刷新操作与预充电中重写的操作一样,都是用S-AMP先读再写。
但为什么有预充电操作还要进行刷新呢?因为预充电是对一个或所有L-Bank中的工作行操作,并且是不定期的,而刷新则是有固定的周期,依次对所有行进行操作,以保留那些久久没经历重写的存储体中的数据。