Xilinx DDR3 MIG系列——内存基本概念及原理

本节目录
一、内存简介
(1)内存基本存储原理
(2)内存频率
(3)DDR数据预取技术(Prefetch)
(4)DDR3工作流程
(5)DDR3控制器的特点
二、内存基本参数
(1)物理Bank
(2)逻辑Bank
(3)内存芯片容量
(4)行激活命令—tRCD
(5)列选通—CL
(6)写入延迟—tDQSS
(7)行预充电有效周期—tRP
(8)数据掩码—DQM
(9)数据选取脉冲—DQS
(10)突发长度—burst length
(11)刷新—Refresh
(12)模式寄存器—MR0、MR1、MR2、MR3

本节内容
一、内存简介

(1)内存基本存储原理
内存(Memory),即动态随机存储(Dynamic Random Access Memory,DRAM),利用电容存储电荷的多少来代表0和1,内存的最小单元-bit,每个bit只需要一个晶体管和电容。
行选与列选信号将使存储电容与外借间的传输电路导通,从而可进行放电(读取)与充电。
DRAM预充电——电容存在漏电,必须被周期性的刷新。
在这里插入图片描述
(2)内存频率
内存三种频率指标——核心频率、时钟频率、有效数据传输频率
核心频率——内存Cell阵列(Memory Cell Array,内存电容)的刷新频率,内存的真实运行频率;
时钟频率——I/O buffer(输入/输出缓冲)的传输频率;
有效数据传输频率——数据传送频率(等效频率),测试时关注的时钟频率。
在这里插入图片描述
内存的频率(等效频率)成倍增长,但核心频率一直在133M——200M之间(电容的刷新频率取决于制造工艺)。
在这里插入图片描述
(3)DDR数据预取技术(Prefetch)
DDRI、DDRII、DDRIII内存关键技术是分别采用2/4/8bit数据预取技术,将带宽翻倍。
预取,预先/提前存取数据,I/O控制器发出请求之前,存储单元已经事先准备好2/4/8bit数据,可以理解为并行传输的数据转换为串行数据流。
在这里插入图片描述
(4)DDR3工作流程
DDR3的相关操作主要包括上电(Power On)、复位(Reset procedrue)、初始化(Initialization)、ZQ对齐(ZQ calibration)、模式寄存器配置(MRS)、自刷新(SR)、刷新(Refreshing)、激活(Activing)、读(Reading)、写(Writing)、预充电(Precharging)及低功耗模式的操作等。
在这里插入图片描述在这里插入图片描述
(5)DDR3控制器的特点
①逻辑划分采用了8Bank和16Bank的设计,增加了存储器容量。
②增加ZQ校准功能,ZQ采用一个命令集,通过片上校准引擎(On Die Calibratino Engine,ODCE)来自动校验数据输出驱动器导通电阻与ODT的终结电阻值。
③复位功能,RESET命令可以将DDR3存储器停止所有操作,切换至低功耗模式。
④采用点对点连接,控制器与存储器之间是一对一,并采用了“fly-by”布线结构,提高信号的完整性,同时引入读写均衡技术来解决布线结构带来的时间偏差问题。
⑤DDR3的预取位宽变成8bit,突变BL为8。
⑥DDR3将工作参考电压分成两个,一是与命令和地址信号相关的VREFCA;两一个是与数据总线相关的VREFDQ。
二、内存基本参数
(1)物理Bank

为了保证CPU的正常工作,在一次传输周期内,内存系统必须完成传输所需要的数据,数据以bit为单位。
物理Bank(Physical Bank),指的是CPU数据总线的位宽,CPU在一个传输周期能接受的数据容量。
以8颗位宽为8bit的内存颗粒并行组成64bit的Bank
在这里插入图片描述
(2)逻辑Bank
DDR SDRAM的内部是一个存储阵列,将数据填写进去,类似一个带有行列寻址能力的二维平面的存储表格。类似于表格的检索过程,先指定一个行(Row),再指定一个列(Column),可以准确确定所需要的单元格,即内存寻址的基本原理。所谓的单元格就是逻辑Bank(Logic Bank)。
在这里插入图片描述
(3)内存芯片容量
内存芯片的容量,其实就是所有逻辑Bank中存储单元的容量综合,有一套计算公式,具体如下:
存储单元数量=行数×列数(一个Bank的存储单元数量)×Bank的数量
常用的一些单位换算,bit,byte,word
bit—表示位,二进制中一个0或者1表示1bit;
byte—表示字节,8个bit为一个字节,DB可以表示双字节;
word—表示字,两个字节为一个字,DW可以表示双字,即四个字节。
以MT41K256M16XX-107内存型号来计算内存容量为256Mb*16=4Gb
在这里插入图片描述
DDR3内存容量512Mb
在这里插入图片描述
DDR3内存容量1Gb
在这里插入图片描述
DDR3内存容量2Gb
在这里插入图片描述
DDR3内存容量4Gb
在这里插入图片描述
DDR3内存容量8Gb
在这里插入图片描述
(4)行激活命令—tRCD
在对逻辑Bank内数据进行读写访问前,首先必须将Bank中的数据所在的行激活,或者行有效,即“Row Active”,一旦激活,保持激活状态直到发送预充电命令。
发送行激活命令时,Bank地址与相应的行地址同时发出,随后发送列地址寻址命令与具体的读或写操作命令,当然,因为这两个命令时同时发出,故以“读或写命令”来表示列寻址。
在内存的标准中,tRCD表示从行有效到读或写命令发出之间的时间间隔,即RAS to CAS Delay,行地址选通脉冲RAS到列地址选通脉冲CAS的延迟时间。
tRCD以DDR的时钟周期tck为单位,以tRCD=3为例,代表延迟周期为3个时钟周期tck,tck以内存时钟频率确定。
在这里插入图片描述
(5)列选通—CL
在读命令时,发送列地址后,将会触发数据的传输,但是从存储单元到芯片的I/O总线之间还存在一定的时间间隔CL(CAS Latency,列选通脉冲潜伏期)。CL以DDR的时钟周期tck为单位,CL=2,代表延迟周期为2个时钟周期tck。
在读取操作,数据经过触发,需要一定的驱动时间才能传送到I/O总线并输出,这段时间称为tAC(Access Time from CLK,时钟触发后的访问时间),tAC必须小于一个时钟周期,才能保证不会因为访问时间过程导致效率低。
在这里插入图片描述
(6)写入延迟—tDQSS
tDQSS(Write Command to the first corresponding rising edge of DQS),在发出写入命令后,DQS与写入数据要等待一段时间才会在下个时钟沿送达。
在这里插入图片描述
(7)行预充电有效周期—tRP
数据读取完成之后,需要释放读出放大器,供同一Bank内其他行寻址操作和数据传输,将进行行预充电的操作来关闭当前的工作行。
预充电对行中所有存储单元进行数据重新加载,并对行地址进行复位。预充电命令之后,需要经过一段时间才允许发送行激活命令操作新的工作行,这个时间间隔称为tRP(RAS Perchange Time)。
以一个案例来说明下:
当前寻址的存储单元为B1、R2、C6。
若下一次的寻址命令为B1、R2、C3,则不需要预充电,读出放大器正在R2工作行服务。
若下一次的寻址命令为B1、R3、C3,则需要预充电,需要操作同一Bank的其他行,先把R2关闭,才能对R3进行寻址。从R2关闭到打开R3的间隔就是tRP。
如果是不同Bank之间的读操作,也需要关闭当前行,再激活新的Bank和ROW。
在这里插入图片描述
(8)数据掩码—DQM
数据掩码DQM(Data I/O Mask),用于屏蔽不需要的数据。
通过采用数据掩码,控制器能够以字节为操作单位指示I/O端口数据的有限性。当然,被掩码掩掉的数据仍然会从存储器中读出,在掩码功能模块中被屏蔽。
在这里插入图片描述
(9)数据选取脉冲—DQS
DQS功能是用来在一个时钟周期内准确的区分出每个传输周期,方便接收方准确接收数据。
DQS数据线是双向的,在写入时,用来传输由内存控制器发送的DQS信号;读取时,由芯片生成DQS向控制器发送。
(10)突发长度—burst length
突发Burst是指在同一行中相邻的存储单元连续进行数据访问。
突发长度(BL,Burst Length)是指连续访问的时钟周期数。
在进行突发传输时,只需要制定起始列地址与突发长度,内存就会依次自动对后面相应数量的存储单元进行读或写操作,不需要控制器连续第提供列地址。
在这里插入图片描述
(11)刷新—Refresh
内存需要不断地进行刷新操作,才能在存储单元中维持数据的有效存储。刷新操作,有固定的操作周期,依次对所有行进行操作,以维护存储单元中的所有数据,其中行指的是所有Bank中地址相同的行。
刷新操作分为两种:自动刷新(Auto Refresh,AR)和自刷新(Self Refresh,SR)。
自动刷新AR,内部由一个行地址生成器用来自动的依次生成行地址,在刷新过程中,所有Bank都停止工作,每次刷新结束后,可进入正常工作状态。
自刷新SR主要用于休眠模式低功耗状态下的数据保存。在SR模式下,根据内部的时钟进行refresh,并且只有CKE信号可以使用,其余信号均无效,只有重新使CKE有效才能退出自刷新模式。
DDR3采用了一种自动自刷新模式SAR,开启SAR模式,通过内置于内存芯片的温度传感器来控制刷新的频率。
(12)模式寄存器—MR0、MR1、MR2、MR3
模式寄存器用于设置内存的工作模式。在初始化阶段,设置命令对模式寄存器进行变成,也支持在内存正常工作期间对模式寄存器进行内容修改。
模式寄存器MR0,存储用于控制DDR3 SDRAM的各种工作模式的数据。它控制突发长度、读取突发类型、CAS延迟、测试模式、DLL复位、WR和DLL控制。
在这里插入图片描述
模式寄存器MR1存储用于启用或禁用DLL、输出驱动器强度、Rtt_Nom阻抗、附加延迟、启用写入均衡使能、TDQS启用和Qoff的数据。
在这里插入图片描述
模式寄存器MR2存储用于控制刷新相关特性、Rtt_WR阻抗和CAS写入延迟的数据。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/119812.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第十三章 Python操作数据库

系列文章目录 第一章 Python 基础知识 第二章 python 字符串处理 第三章 python 数据类型 第四章 python 运算符与流程控制 第五章 python 文件操作 第六章 python 函数 第七章 python 常用内建函数 第八章 python 类(面向对象编程) 第九章 python 异常处理 第十章 python 自定…

『亚马逊云科技产品测评』活动征文|如何搭建低成本亚马逊aws云服务器

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 0. 环境 win10 火狐浏览器 1. 登录 https://aws.amazon.com/cn/ ->…

渗透测试学习day2

文章目录 连接靶机靶机:Fawn 解题过程Task 1Task 2Task 3Task 4Task 5Task 6Task 7Task 8Task 9Task 10Task 11Task 12 总结 连接靶机 详细过程可参考day1 靶机:Fawn 难度:very easy (ftp服务的靶机) 解题过程 T…

2023/11/7 JAVA学习

ctrl alt t自动重写

linux C++实现线程绑定CPU

前言 嵌入式里面我们会使用到多核的cpu,随着产品芯片性能提升,我们也会有很多功能,以及很多进程产生运行,这个时候我们在任务调度调优的时候,把一些进程绑定到固定cpu运行,下面就来分享一下cpu绑定运行的过…

我在Vscode学OpenCV 图像运算(权重、逻辑运算、掩码、位分解、数字水印)

文章目录 权重 _ 要求两幅图像是相同大小的。[ 1 ] 以数据说话( 1) 最终:( 2 )gamma _输出图像的标量值 [ 2 ] 图像的展现力gamma并不等同于增加曝光度( 1 )gamma100( 2 &#xff09…

怎么学编程效率高,编程练习网站编程软件下载,中文编程开发语言工具下载

怎么学编程效率高,编程练习网站编程软件下载,中文编程开发语言工具下载 给大家分享一款中文编程工具,零基础轻松学编程,不需英语基础,编程工具可下载。 这款工具不但可以连接部分硬件,而且可以开发大型的…

viple入门(五)

(1)自定义活动 自定义活动,用来创建新的组件、服务、函数或者其他代码模块,使用最多的是创建函数。 函数是对一个功能的封装,在调用的时候执行,没有调用的时候则不执行。函数可能有参数,可能没…

字符函数和字符串函数详解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1. 字符分类函数 2. 字符转换函数 3. strlen的使用和模拟实现 3.1strlen的使用: 3.2strlen的模拟实现: 4. strcpy的使用和模拟实现 4.1strc…

Ionic 模块组件的理解

1 Ionic4.x 文件分析 1.1 app.module.ts 分析 Ionic 是一个基于 Angular 的移动应用开发框架,能帮助开发者使用 Web 技术(HTML5、CSS3、JavaScript)创建跨平台的应用程序。在 Ionic 应用程序中,app.module.ts 文件是整个应用程序的…

【GitHub】Watch、Star、Fork、Follow 有什么区别?

目录 一、前言二、区别1. Watch2. Star3. Fork4. Follow 一、前言 GitHub 是最受欢迎的代码托管平台之一,拥有大量的开源代码可供学习。 Github 中也有类似 “点赞”、“收藏”、“加关注” 的功能。 下面介绍下,GitHub 中 Watch、Star、Fork、Follow 有…

Seata分布式事务实现原理

Seata可以解决分布式事务问题,利用GlobalTransacational(name "fsp-create-order",rollbackFor Exception.class)注解就可以实现全局的事务管理,但是我们需要明白原理的实现。 我们举例创建订单——>调减库存——>调扣余额——>改订…

配置阿里云镜像加速器 -docker

1.百度aliyun 2.找到镜像服务ACR 3.搞一个个人版&#xff0c;身份验证一下就行了很简单 4.找到镜像加速器Centos 5.执行下面4条命令&#xff1a;4条命令直接从上面操作文档中粘贴&#xff0c;不容易出错 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<…

折叠旗舰新战局:华为先行,OPPO接棒

乌云中的曙光&#xff0c;总能带给人希望。 全球智能手机出货量已经连续八个季度下滑&#xff0c;行业里的乌云挥之不散。不过&#xff0c;也能看到高端市场逆势上涨&#xff0c;散发光亮。个中逻辑在于&#xff0c;当前换机周期已经达到了34个月&#xff0c;只有创新产品才能…

xray:漏洞扫描利器

简介 长亭科技旗下的一款网络安全漏洞扫描工具&#xff0c;用于检测和评估web应用程序的安全性。具有一下特点&#xff1a;检测速读快、检查范围广、代码质量高、高级可定制以及安全无危害。属于不开源的项目&#xff0c;用户直接下载xray的可执行文件&#xff0c;即可运行该工…

【Linux系统】文件 / 文件夹权限:chmod

文件 / 文件夹权限&#xff1a;chmod 1.介绍 chmod 命令用于改变文件或目录的访问权限。 改变文件权限 chmod 777 xxx.txt改变文件夹下所有文件的权限 chmod -R 777 *-R 是递归遍历子目录&#xff0c;* 通配符代表要操作的文件。 777 777 777 有 3 3 3 位&#xff0c;最高…

设计模式之保护性暂停

文章目录 1. 定义2. 实现保护性暂停模式3. Join原理4. 保护性暂停模式的扩展 1. 定义 即Guarded Suspension&#xff0c;用在一个线程等待另一个线程的执行结果。 有一个结果需要从一个线程传递给另一个线程&#xff0c;让他们关联到同一个GuarderObject&#xff08;这就是保…

Chromebook文件夹应用新功能

种种迹象表明 Google 旗下的 Chromebooks 近期要有大动作了。根据 Google 团队成员透露&#xff0c;公司计划在 Chrome OS 的资源管理器中新增“Recents”&#xff08;最近使用&#xff09;文件&#xff0c;以便于用户更快找到所需要的文件。 种种迹象表明 Google 旗下的 Chro…

Flutter vs 前端 杂谈:SliverAppBar、手动实现Appbar、前端Html+JS怎么实现滚动变化型Appbar - 比较

Flutter vs 前端 杂谈 SliverAppBar的弹性背景的显隐效果使用HtmlJS怎么实现 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550…

有电闭锁继电器 YDB-100 100V 辅助电源DC110V JOSEF约瑟 板后安装

YDB-100有电闭锁继电器 1 应用 本继电器用于发电厂和变电站内&#xff0c;用作高压母线合接地刀闸的闭锁元件&#xff0c;以防止高压母线带电时合接地刀闸。 2 主要性能 2 1采用进口集成电路和元器件构成。具有原理先进、性能稳定、可靠性高、动作值精度高、离散值小、整定范围…
最新文章