【DRAM存储器九】SDRAM介绍-read、write、Precharge、DQM、Power down、Clock Suspend命令

👉个人主页:highman110

👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 

参考资料:《镁光SDRAM数据手册》、《PC SDRAM specification》     

目录

Read

Write

Precharge

DQM

Power down

Clock Suspend


本篇继续介绍SDRAM相关命令功能。

Read

        读命令有带自动预充电的读和不带自动预充电的读。如下图所示,WE#为高表示读,同时发送列地址和bank地址(理解一下为什么前面行激活已经发过bank地址了,为什么这里还需要发?),A10为高表示使能自动预充电,为低表示不使能自动预充电,如果选择了自动预充电,则正在访问的行在READ突发结束时会被预充电;如果未选择自动预充电,则该行保持打开状态以供后续访问。注意,在行激活之后,需要间隔tRCD时间才能发读或写命令,tRCD也称为行选通周期,很好理解,要把一整行成千上万个晶体管打开肯定是需要时间的。另外,读取数据是否出现在DQ上,取决于两个时钟周期(DQM latency)前DQM输入上的逻辑电平。如果给定的DQM信号为高,则两个时钟后对应的DQ将为HIGH-Z;如果DQM信号为低,DQ将提供有效数据输出。

Write

        写和读类似,只是WE#为低,其他控制信号电平一样。DQM的生效与读命令稍微有点不一样,这里没有两个时钟周期的延迟(只有读有CAS潜伏期,也称读延迟RL,写没有),如果给定的DQM信号为低,则相应的数据被写入存储器;如果DQM信号为高,则相应的数据输入被忽略,并且不执行对该字节/列位置的WRITE。

Precharge

        从之前文章提到的存储阵列结构可以知道,一根位线上连接了很多个行的存储单元,如果某一个行打开了,不把这行先关闭,又去打开另一个行,那这一根位线肯定无法同时正确表示两个存储单元的值,所以在打开另一行之前,需要把当前行关闭,这个过程就叫做预充电。注意DRAM操作命令中的Precharge,它的含义范围比感应放大器操作过程中的Precharge更广一点,DRAM命令中的预充电操作包括:对当前工作行中所有存储体进行数据重写、关闭当前行、释放(旁路)感应放大器、将位线电平充电到VDD/2。而感应放大器的预充电操作指的是:感测电路sensing circuit被旁路,电压均衡电路激活,位线被预充电到参考电压Vref,即VDD/2。

        操作波形如下图,可以通过A10、BA0、BA1进行被充电bank的选择。注意A10的功能,既可以在读或写命令中表示是否使能自动预充电,也可以在独立的预充电命令中用来选择预充电的范围。

         针对不同容量的SDRAM,预充电的范围控制如下图:

        在发出预充电命令之后,要经过一段时间才能允许发送行激活命令打开新的工作行,这个间隔被称为tRP(Precharge command Period,预充电周期)。和tRCD、CL一样,tRP的单位也是时钟周期数,具体值视时钟频率而定。

DQM

        DQ mask,高有效,对SDRAM颗粒来说是输入信号。写操作时,该信号为输入数据的屏蔽信号,读操作时,该信号为输出数据的使能信号。读操作的使能存在2个时钟周期的延迟,称为DQM latency,若想要屏蔽某段DQ不输出,需要提前2个时钟周期将DQM拉高,在输出disable时,output buffer为高阻状态,如果这个时候做数据输入就不会出现总线争用。这个DQM功能在读突发被写操作截断时有大用,后面细说。另外,写操作屏蔽没延迟,如果要写入数据,需要把DQM及时拉低,否则输入数据将会被屏蔽。如下图所示:

Power down

        将CKE拉低,再加上一个NOP命令即可进入power down状态,将CKE拉高,再加上一个NOP命令即可退出power down状态。Power down状态下不执行自刷新,所以power down时间不能超过刷新周期(64ms)。

Clock Suspend

        当列访问/突发正在进行并且CKE被拉低时,将进入时钟挂起模式。在时钟挂起模式中,内部时钟被停用,从而冻结同步逻辑。

        对于CKE被采样为低的每个正时钟边沿,下一个内部正时钟边沿被暂停。当内部时钟边沿暂停时,输入引脚上出现的任何命令或数据都将被忽略,输出DQ将保持进入时钟挂起模式前一拍的驱动电平,并且只要时钟被暂停就不增加突发计数器。

        通过拉高CKE可以退出时钟挂起模式,内部时钟和相关操作将在随后的正时钟沿上恢复。

        下图为写突发时钟挂起:

         下图为读突发时钟挂起:

        下一篇讲述刷新相关内容,这部分内容稍微多一点,所以单独拎出来。 

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

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

相关文章

面试常用排序查找算法

文章目录 1 二分查找2 冒泡排序3 堆排序4 插入排序5 快速排序6 选择排序7 希尔排序 1 二分查找 定义两个变量left和right,分别表示数组的左边界和右边界,初始值分别为0和len - 1,其中len是数组的长度。计算数组的中间位置mid,公式…

[Linux] 5.Linux虚拟机和Windows文件共享

一、拖拽 如果安装了VMware Tool可以从Windows直接拖进Linux中共享文件,通过拖拽的方式可以把文件从Linux 传输到Windows 二、 文件共享 需要安装VMware Tool点击添加,选择Windows文件的路径,名称作为Linux访问的路径 cd什么都不加&#xff…

<C++> STL_bitset使用和模拟实现

bitset的介绍 位图的引入 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中? 要判断一个数是否在某一堆数中,我们可能会想到如下方法: 将这一堆数进行排序&#xff0…

【python海洋专题九】Cartopy画地形等深线图

【python海洋专题九】Cartopy画地形等深线图 水深图基础差不多了,可以换成温度、盐度等 本期加上等深线 本期内容 1:地形等深线 cf ax.contour(lon, lat, ele[:, :], levelsnp.linspace(-9000,-100,10),colorsgray, linestyles-,linewidths0.25, t…

聊聊HttpComponentsHttpInvokerRequestExecutor

序 本文主要研究一下HttpComponentsHttpInvokerRequestExecutor HttpComponentsHttpInvokerRequestExecutor org/springframework/remoting/httpinvoker/HttpComponentsHttpInvokerRequestExecutor.java public class HttpComponentsHttpInvokerRequestExecutor extends Ab…

【Qt图形视图框架】自定义QGraphicsItem和QGraphicsView,实现鼠标(移动、缩放)及键盘事件、右键事件

自定义QGraphicsItem和QGraphicsView 说明示例myitem.hmyitem.cppmyview.hmyview.cpp调用main.cpp 效果 说明 在使用Qt的图形视图框架实现功能时,一般会在其基础上进行自定义功能实现。 如:滚轮对场景的缩放,鼠标拖动场景中的项,…

用python表格初级尝试

Excel,我的野心 当我输入3,2 就表示在第3行第2列。的单元格输入数据input输入表头 (input内除了/,空格 回车 标点符号等 全部作为单元格分隔符)由我设置input输入的是行or列 给选项 1. 行 2. 列默认回车或没输入值是列由我设置起…

数据结构 B树 B+树 B*树 特性与规则说明 图解

文章目录 前言B树基本规则B树的数据插入(文字描述图解)B树数据查找B树效率分析B树的作用B树基本规则B树 与 B树对比B*树基本规则B*树 与 B树对比拓展 前言 B树基本规则 每个节点最多有m个子节点,其中m是一个正整数。根节点除外,其…

云原生Kubernetes:K8S集群各组件服务重启

目录 一、理论 1.各组件服务重启命令 一、理论 1.各组件服务重启命令 (1)Master节点Node节点共同服务 systemctl restart etcd systemctl daemon-reload systemctl enable flanneld systemctl restart flanneld (2)Master节…

聊聊并发编程——线程池

目录 Java线程池 处理流程 线程池主要参数 常见的拒绝策略 execute和submit区别 关闭线程池 常见的线程池 newSingleThreadExecutor newFixedThreadPool newCachedThreadPool newScheduledThreadPool 线程池的状态 Java线程池 运用场景最多的并发框架,…

阿里巴巴K8S集成seata

正文 在K8S集成seata,官方配置 代码 apiVersion: v1 kind: Service metadata:name: seata-servernamespace: wmz-devlabels:k8s-app: seata-server spec:type: NodePortports:- port: 8091nodePort: 30091protocol: TCPname: httpselector:k8s-app: seata-server-…

Java练习题-键盘录入字符串实现大小写转换

✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:Java练习题 💬个人格言:不断的翻越一座又…

idea清空缓存类

解决办法 网上有很多是让你去清空什么maven依赖,但假如这个项目是你不可以大刀阔斧的话 可以清空idea缓存 选择 Invalidate 开头的 然后全选 运行重启idea OK

Linux系统编程系列之线程

一、什么是线程 线程(Thread)是计算机中的基本执行单元,是操作系统调度的最小单位。线程是进程内的一个独立执行流程,一个进程可以包含多个线程,这些线程共享进程的资源,但每个线程都有自己的独立栈空间以及…

Java后端模拟面试,题集①

1.Spring bean的生命周期 实例化 Instantiation属性赋值 Populate初始化 Initialization销毁 Destruction 2.Spring AOP的创建在bean的哪个时期进行的 (图片转载自Spring Bean的完整生命周期(带流程图,好记)) 3.MQ如…

基于SSM的选课排课系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

Java 文档注释

Java 文档注释 目录 Java 文档注释 javadoc 标签 文档注释 javadoc输出什么 实例 Java只是三种注释方式。前两种分别是// 和/* */,第三种被称作说明注释,它以/** 开始,以 */结束。 说明注释允许你在程序中嵌入关于程序的信息。你可以使…

2023年中国奶牛平均单产量、奶类产量及发展趋势分析:液态奶市场向高端化发展[图]

2022年,我国奶产业素质稳步提升,全国存栏百头以上规模养殖比例达到72%,同比提高2个百分点。奶牛平均单产9.2吨,较2021年增加500千克;规模牧场95%以上配备全混合日粮搅拌车,原料奶生产100%实现机械化挤奶&am…

3D WEB轻量化引擎HOOPS助力3D测量应用蓬勃发展:效率、精度显著提升

在3D开发工具领域,Tech Soft 3D打造的HOOPS SDK已经崭露头角,成为了全球领先的3D领域开发工具提供商。HOOPS SDK包括四种不同的3D软件开发工具,已成为行业的翘楚。 其中,HOOPS Exchange以其CAD数据转换的能力脱颖而出&#xff0c…

Linux回收内存的时候遇到PageWriteback和PageDirty脏页怎么处理?

概述 我们知道内存回收会遇到各种情况的page,比如正在回写的page(PageWriteback)和脏页(PageDirty)的page,内核会等待PageWriteback完成回写呢,还是说直接跳过正在回写的页面。这两种选择各有优劣,如果等待Writeback完成会影响内存分配性能;如果直接跳过呢可能影响内存…