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

news2024/11/24 12:35:30
本节目录
一、内存简介
(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.coloradmin.cn/o/1179880.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

同样是BGA扇出,为什么别人设计出来的性能就是比你好!

高速先生成员--黄刚 高速先生经常会说一句话,那就是对于信号质量的优化是无极限的,这里说的优化,其实说的就是PCB的设计优化。首先肯定的是,不同的设计工程师去做同样一块PCB板的设计,做出来的肯定都不会完全一样。那不…

DVWA靶场SQL注入

本次注入的是DVWA靶场的SQL injection 1.判断是字符型注入还是数字型注入,构造SQL语句 1 and 12 由此可以判断出为字符型注入 2.考虑闭合方式,先随便丢一个单引号试试看看报错提示 You have an error in your SQL syntax; check the manual that cor…

C语言C位出道心法(二):结构体

C语言C位出道心法(一):基础语法 C语言C位出道心法(二):结构体 一:C语言结构体认知 忙着去耍帅,后期补充完整...........

python简易定时调度

在python中,一般定时调度会使用apscheduler,更基础的我们会使用sched包来实时调度。有时候也是会使用time.sleep的方式来配合使用。在实际的生产中,单纯使用time.sleep会出现睡眼之后程序无法被唤醒的情况,所以后来会尽量的避免使用这种方式。…

Django初窥门径-项目初始化

环境准备 切换pypi源 运行下面的脚本将pypi源切换为阿里云镜像,避免安装python库的过程中出现网络问题 #!/bin/bash# 定义配置内容 config_content"[global] index-url http://mirrors.aliyun.com/pypi/simple/[install] trusted-hostmirrors.aliyun.com &…

VSCode修改主题为Eclipse 绿色护眼模式

前言 从参加开发以来,一直使用eclipse进行开发,基本官方出新版本,我都会更新。后来出来很多其他的IDE工具,我也尝试了,但他们的主题都把我劝退了,黑色主题是谁想出来?😂 字体小的时…

马斯克发布大模型Grok;主流AI创意生成工具图谱;Runway视频大赛获奖作品解析;DALL-E 3图像混合操作;42章经播客推荐 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 👀 马斯克「xAI」发布首个AI大模型「Grok」 https://grok.x.ai 11月5日,马斯克旗下人工智能公司 xAI 发布了首款 AI 聊天产品…

(附源码)基于微服务架构的餐饮系统的设计与实现-计算机毕设 86393

基于微服务架构的餐饮系统的设计与实现 摘 要 近年来,我国经济和社会发展迅速,人们物质生活水平日渐提高,餐饮行业更是发展迅速,人们对于餐饮行业的认识和要求也越来越高。传统形式的餐饮行业都是以人为本,管理起来需要很多人力、物力、财力,既不方便管理者的管理,也不方便顾…

YB506A是一款锂电池充、放电管理专用芯片,集成锂电池充电管理和降压DCDC电路

YB506A 锂电转可充电AA/AAA电池专用SOC芯片 概述: YB506A是一款锂电池充、放电管理专用芯片,集成锂电池充电管理和降压DCDC电路。充电过程满足锂电池三段式滑流/恒流/恒压充电规范,YB506A内部的线性充电电路采用了恒流可配置模式&#xff0…

基于食肉植物算法的无人机航迹规划-附代码

基于食肉植物算法的无人机航迹规划 文章目录 基于食肉植物算法的无人机航迹规划1.食肉植物搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用食肉植物算法来优化无人机航迹规划。 …

Find My挂件|苹果Find My技术与挂件结合,智能防丢,全球定位

挂件是各种场合装饰的一种工艺品。有玉石、金属、塑料、布料等材质的。一般是手机上的挂饰、包袋上的装饰、蓝牙耳机的挂饰、各种物品的装饰都可以用得到。如今最新的挂件加入智能模块可实现物品防丢功能。 在智能化加持下,防丢功能的加入使得人们日益关心物品的去…

2.3.3 交换机的RSTP技术

实验2.3.3 交换机的RSTP技术 一、任务描述二、任务分析三、具体要求四、实验拓扑五、任务实施1.交换机的基本配置。2.开启交换机的STP。3.配置SW3A和SW3B上STP的优先级。将SW3A配置为根交换机,SW3B配置为备用根交换机。4.配置SW2A和SW3B的边缘接口 六、任务验收七、…

.NET MVC 修改项目URL为IP

先从隐藏目录里找到applicationhost.config 如果没有找到这.vs的目录的话就先创建虚拟路径即可然后在下图里插入一行本机IP的数据,注意只能插入不能直接改上面的localhost否则就无法创建虚拟目录了复制上面一行,把localhost改为你的本机IP 配置文件改完…

Fastjson 1.2.47 RCE漏洞复现

一、漏洞特征 Fastjson提供了autotype功能,允许用户在反序列化数据中通过“type”指定反序列化的类型,Fastjson自定义的反序列化机制时会调用指定类中的setter方法及部分getter方法,那么当组件开启了autotype功能并且反序列化不可信数据时&am…

11.7移位寄存器,计数器,时序分析,状态机,verliog实现

D触发器实现二选1 4位移位寄存器 移位寄存器&#xff0c;可以将寄存的Q信号逐位输出 N位寄存器 递增计数器 带并行载入端递增 这里载入的时候&#xff0c;省略掉的ELSE&#xff0c;自动操作就是锁存原状态&#xff0c;即Q<Q 并行&#xff0c;递减 这个没有复位端 递增递减…

节省服务器资源、实现双向数据传输——深度解析WebSocket协议

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 ⭐ 专栏简介 &#x1f4d8; 文章引言 一、W…

倾听世界之声 嘉康利冉永夫:数智化直销的齿轮在全球飞转

时隔三年再度举办的世界直销大会&#xff0c;向世界发出了重新设想和重塑直销行业的现场召集令。 “直销&#xff0c;是时候闪耀了&#xff01;”这句话出自世界直销协会联盟主席罗杰巴纳特&#xff08;RogerBarnett&#xff09;之口&#xff0c;在第十七届世界直销大会的主旨演…

leaflet 修改L.circleMarker()的颜色

修改color颜色&#xff0c;我这是不需要展示点&#xff0c;所以设置透明 L.circleMarker(latlng, { radius: 1, color: rgba(0,0,0,0)}).addTo(this.map);

力扣370周赛 -- 第三题(树形DP)

该题的方法&#xff0c;也有点背包的意思&#xff0c;如果一些不懂的朋友&#xff0c;可以从背包的角度去理解该树形DP 问题 题解主要在注释里 //该题是背包问题树形dp问题的结合版&#xff0c;在树上解决背包问题 //背包问题就是选或不选当前物品 //本题求的是最大分数 //先转…

大漠插件的使用过程(一、插件的注册)

为何使用大漠插件 本人玩游戏时发现一些重复操作及其耗时&#xff0c;若使用识图、识字软件来制作脚本可节约大量时间。本来是选择了按键精灵来开发&#xff0c;但是由于按键精灵因为某些不知名原因导致无法识图成功&#xff0c;遂放弃按键精灵。同时早闻大漠插件的大名&#x…