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 基础知识梳理( ...
随机推荐
- WPF的DataGrid的某个列绑定数据的三种方法(Binding、Converter、DataTrigger)
最近在使用WPF的时候,遇到某个列的值需要根据内容不同进行转换显示的需求.尝试了一下,大概有三种方式可以实现: 1.传统的Binding方法,后台构造好数据,绑定就行. 2.转换器方法(Convert ...
- python基础(28):isinstance、issubclass、type、反射
1. isinstance和issubclass 1.1 isinstance isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(object): pa ...
- 1-4-JS基础-条件判断
第一种 1.if(条件成立){ 执行某件事} 2.if(条件成立){执行某件事}else{执行另外一件事 } 3.if(条件1成立){执行某件事}else if(条件2成立){执行某件事}else i ...
- 【JavaScript】JavaScript基础
JavaScript简介 JavaScript历史 在上世纪1995年,著名的互联网公司网景公司希望能在静态HTML页面上添加一些动态效果,于是叫Brendan Eich这哥们在两周之内设计出了Jav ...
- [转]Spring Cloud在国内中小型公司能用起来吗?
原文地址:http://www.cnblogs.com/ityouknow/p/7508306.html 原文地址:https://www.zhihu.com/question/61403505 今天 ...
- Ajax错误
如果ajax访问不到后台对应的controller的方法,直接报错,首先查看url访问路径,如果路径没错误,再利用谷歌开发者工具来运行一下,是否存在基本语法错误,比如字符写错了,多一个少一个逗号, 如 ...
- 基于tiny4412的Linux内核移植 --- aliases节点解析【转】
转自:https://www.cnblogs.com/pengdonglin137/p/5252348.html 阅读目录(Content) 作者信息 平台简介 正文 回到顶部(go to top) ...
- 安全类和远程类shell脚本
批量杀php小马脚本 find /home/hatdot/ -name "*.php" |xargs egrep "phpspy|c99sh|milw0rm|eval\( ...
- python的pip安装时,使用国内Pypi源
有时,国外的网速确实不理想. 想安装python库,还是国内快点. 参考URL: http://www.mamicode.com/info-detail-2248964.html 阿里云 http:/ ...
- Linux学习(四) 忘记密码解决方法
很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如下: 重启linux系统 3 ...