DDR基础知识
1、前言
DDR的全称为Double Data Rate SDRAM,也就是双倍速率的SDRAM,SDRAM在一个CLK周期传输一次数据,而DDR在一个CLK周期传输两次数据,分别在上升沿和下降沿各传输一次数据,该概念称为预取,在描述DDR速度的时候一般使用MT/S单位,也就是每秒多少兆次数据传输。
2、DDR结构框图
接下来将以Micro的DDR3L芯片MT41K256M16进行结构框图的介绍,该芯片是一款512MB的DDR3L内存芯片,框图如下所示:

接下来对上面给出的框架图各个标号进行简单介绍:
(1)控制线
ODT:片上终端使能,ODT使能和禁止片内终端电阻;
ZQ:输出驱动较准的外部参考引脚,应外接一个RZQ电阻到VSSQ,一般接到地;
RESET:芯片复位引脚,低电平有效;
CKE:时钟使能引脚;
A12:A12为地址引脚,也叫做BC引脚,有另外一个功能,A12会在READ和WRITE命令期间被采样,以决定burst chop是否会被执行;
CK,CK#:时钟信号线,DDR3的时钟线是差分时钟线,所以的控制信号和地址信号都会在CK的上升沿和CK#的下降沿交叉处采集;
CS#:片选信号,低电平有效;
RAS#:行地址选通信号;
CAS#:列地址选通信号;
WE#:写使能信号。
(2)地址线
A[14:0]:A0~A14为15根地址线,根据MT41K256M16的框图可以知道,有15根行地址线A0~A14和10根列地址线A0~A9,行地址线和列地址线进行复用,因此该DDR3L芯片中1个Bank的大小为2^15*2^10*2=32MB*2=64MB,从框图中可以看到,总共有8个Bank,因此该DDR3L的RAM大小为64MB*8=512MB。
(3)Bank选择线
BA[2:0]:BA0~BA2为Bank的选择先,由2^3=8,因此可以总共有8个Bank。
(4)Bank区域
8个Bank区域,DDR3一般有8个Bank区域。
(5)数据线
DQ[15:0]:DQ0~DQ15为16根数据线,因此该DDR3L的宽度为16位。
(6)数据选通引脚
LDQS,LDQS#:LDQS和LDQS#是数据选通引脚,对应低字节DQ0~DQ7,读的时候是输出,写的时候为输入;
UDQS,UDQS#:UDQS和UDQS#是数据选通引脚,对应高字节DQ8~DQ15,读的时候是输出,写的时候为输入。
(7)数据输入屏蔽引脚
LDM/UDM:写数据输入屏蔽引脚。
3、DDR的一些关键时间参数
需要注意DDR的一些关键时间参数:
(1)传输速率
例如1066MT/S、1600MT/S等,这是首先需要考虑的,该参数决定了DDR的最高数据传输速率。
(2)tRCD参数
tRCD的全称为RAS-to-CAS Delay,行寻址到列寻址只之间的延迟。DDR的寻址流程为先进行Bank地址,然后再指定行地址,最后指定列地址,从而确定除最终要寻址的单元,Bank地址和行地址是同时发出的,该命令也叫"行激活",行激活后就发送列地址和具体的操作命令,同时发出,表示列寻址,在行激活到读写命令发出的这段时间时隔就是tRCD,如下:

数据手册一般会给出tRCD时间参数,例如MT41K256M16的数据手册中有如下:

(3)CL参数
当列地址发出以后就会触发数据传输,从数据从存储单元到内存芯片IO接口上还需要一段时间,而这段时间就是CL(CAS Latency),也就是列地址选通潜伏期,如下:

(4)AL参数
AL(Additive Latency)参数是为了保证足够的延迟潜伏期,单位为时钟周期,AL+CL组成了RL(Read Latency),加入AL参数以后的读时序如下:

(5)tRC参数
tRC是两个ACTIVE命令,或者ACTIVE命令到REFRESH命令之前的周期,DDR的数据手册会给出该值。
(6)tRAS参数
tRAS是ACTIVE命令到PRECHARGE命令之间的最小时间。
DDR基础知识的更多相关文章
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
- RabbitMQ基础知识
RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- selenium自动化基础知识
什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(五) - 复杂查询
SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...
随机推荐
- 通过 SCQA 的框架来讲故事
SCQA:Situation情景.Complication冲突.Question疑问. Answer回答 SCQA模型是一个"结构化表达"工具,是麦肯锡咨询顾问芭芭拉·明托在& ...
- 【git】代码回退指定commit
[注意:如果提交的错误代码较少,可以在本地修改成 commit之前的正确代码样子,然后再提交一次即可.不用麻烦的操作回滚.] 开发人员错误将代码提交到gitlab的远程dev分支,回滚方法如下: 1. ...
- java.lang.ClassNotFoundException: XXX (no security manager: RMI class loader disabled)
在搞RMI远程发布,consumer去获取rmi远程服务的代理对象的时候出现了如下的错误 问题发现: 由于我发布的对象的包路径和获取的对象的包路径不一致,导致了这样的问题 解决方案: 包路径改为一致就 ...
- .NET MVC5简介(五)管道处理模型IHttpModule
https://www.cnblogs.com/JimmyZhang/archive/2007/09/04/880967.html IHttpModule HTTPRuntime(运行时).在一个控制 ...
- E203数据冲突处理OITF
流水线的数据冲突分为三类:WAR,RAW,WAW https://wenku.baidu.com/view/e066926d48d7c1c708a14508.html WAR: write after ...
- dijit/_WidgetBase
英文地址:http://dojotoolkit.org/reference-guide/1.10/dijit/_WidgetBase.html 介绍 dijit/_WidgetBase是Dijit包中 ...
- 当时学习《鸟哥的Linux私房菜-基础学习篇》记录的点
1.当执行一个指令的时候,举例来说[ls],系统会依照PATH的设定去每个PATH定义的目录下搜寻文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先搜寻到的同 ...
- 3.JavaCC 语法描述文件的格式解析
JavaCC的语法描述文件格式如下所示: options { JavaCC的选项 } PARSER_BEGIN(解析器类名) package 包名; import 库名; public class ...
- flask接收跨域请求
ajax发送数据类型为json即可 接受数据详见下文 https://www.cnblogs.com/anxminise/p/9814326.html
- Mysql类
架构层面可以采用读写分离,主从复制等等,在数据库前端加cache,如memcache,用于用户登录,商品查询 1.mysql优化的原则是什么? 答: 1.mysql的优化首先要从设计表的过程中 ...