首页 > 其他分享 >DDR行为 为什么要有RAS\CAS\PRECHARGE

DDR行为 为什么要有RAS\CAS\PRECHARGE

时间:2022-11-29 14:37:55浏览次数:42  
标签:CAS DDR PRECHARGE RAS DRAM Bank1 Row

引言

在查阅DDR手册时我们会看到几个关键参数,tRAS(Row Address strobe) tCAS(Column Address Strobe) tPRE(Precharge) ,往往这些数值看上去很抽象,但是如果理解DRAM读写操作的行为就能更好地理解这些数值。下文就是从存储器原理上进行解释,能看懂这些底层行为对于理解DDR时序是十分有利的。

本人的一个感悟就是网络资源丰富一定程度上能帮助理解相关知识,但是这些知识不具备体系,因此理解存在片面或是晦涩难懂,可能学会了也只是硬记下来。

本文参考书籍:Computer Architecture a Quantitative Approach 6th

正文

首先给出一个DDR原理图帮助阐述:

RAS指代CPU给出的激活bank和对应Row的指令 ,这时候DDR将对应Row,也就是上图中那一纵排里面的数据取出来放到一个buffer里面存着,对应上图中左边那一小纵排。实际上这个操作就是把DDR对应的DRAM中的电荷释放出来存到对应的buffer里面,因为DRAM实际上是一个MOS管中浮栅存放电荷来存储数据,所以这个操作把Row里面的DRAM掏空了。后续CPU再给CAS指令选定这个Row里面到底要取哪些数据,选定对应的Column。这个说法很容易令初学者混淆,Row Column给人的感觉是二维阵列,但实际上Colume是这个Row里面进一步细分的一个量程。

所以为什么要Precharge?就是给DRAM充电,把数据恢复回去,不然下次读什么数据呢。

理解充放电这个原理后就可类推,假设一个操作访问完Bank1(假设一个有8bank的DDR3)的Row1,要再去访问Bank1里面的Row2,就需要一个Precharge的操作把Row1的数据恢复回去,并把Row2的数据读到对应的buffer上,这些操作是可以overlap的,也就是可以并行实现以减小延时。如果继续访问Bank1的Row1就可以省去这个操作,因为反正数据在buffer里面。或者一个操作访问完Bank1要再去访问Bank2,那么也需要一个完整的RAS-CAS-PRE等操作。

当然DRAM本身需要刷新,因为MOS管里的电容会不断泄露出来(当然没有核泄漏那么恐怖啦),这种易失特性会导致数据丢失。针对一个Bank需要间断进行数据的重新写入,漏出来的电荷重新给他填上,大概是64ms一次。

好啦,现在你已经了解了DDR的行为了,现在就来设计一个DDR6吧!

标签:CAS,DDR,PRECHARGE,RAS,DRAM,Bank1,Row
From: https://www.cnblogs.com/Achilles7/p/16935215.html

相关文章

  • InetAddress类(IP地址)
    packageday1;importjava.net.InetAddress;importjava.net.UnknownHostException;publicclassInetAddressDemo{//InetAddress类,对应IP地址//IP地址和端口号组合......
  • Picasso 图片加载库
    Picasso英文意思国外一个很有名的画家毕加索的名字,国外项目取名还是很有意思的!从github新下载的picasso项目有依赖其他第三方开源项目okhttp和okio,这两个项目也是相当经典......
  • 技术沙龙.:主题为《代码解析Castle(IOC)应用实例 -开源CMS 系统Cuyahoga》
    深圳.net俱乐部的第一次活动,我讲了Castle介绍性的一个主题,当时在场的很多人都是听得一头雾水,时隔一年后,IOC(Castle)的资料在中已经很丰富。我再次和大家一......
  • 将Quartz.NET集成到 Castle中
    Castle是针对.NET平台的一个开源项目,从数据访问框架ORM到IOC容器,再到WEB层的MVC框架、AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的......
  • Could not freeze ./src/web3/address.js: Cannot read property 'hash' of undefine
    问题运行项目的时候,经常会有一大片错误Couldnotfreeze./src/web3/address.js:Cannotreadproperty'hash'ofundefinedHardSourceWebpackPlugin是webpack的插......
  • 在Windows上运行单节点的Cassandra
    Cassandra可以安裝在很多系统上,我是安装在windowsserver2008R2上,安装相当简单,只要把下载下来的压缩包解压缩放到一个目录下就可以了,这里主要是记录下......
  • 关于为什么ip addr ,yum无法安装,防火墙失效的原因
    今天找了两个小时,  如图,有些配置配置完成之后命令丢失进不去,ping不通,多半是配置环境变量的时候直接写到最底下去了!,记得写到unset-fpathmunge下面,否则就......
  • IDEATomact Address localhost1099 is already in use
    Errorrunning'Tomcat9.0.19':Addresslocalhost:1099isalreadyinuse尝试解决第一步:查询被占用端口netstat-ano|findstr1099结果为空,尴尬,不是说inuse......
  • 方法调用01(CasonMethod01)
    packageMethod;publicclassCasonMethod01{/*method:方法Syestem.out.println();Syestem是一个系统的类;out为一个对象,也可以说是Syestem下......
  • ClearCase是全球领先的软件配置管理工具
    ClearCase是全球领先的软件配置管理工具,而VisualStudio2005是微软推出的强大的.Net开发工具。微软的VSIP计划为VisualStudio提供了界面的可扩展性,通过VSIP,ClearCase将自......