当前位置: 首页 > news >正文

DDR3(三)

目录

  • 1 预取
    • 1.1 什么是预取
    • 1.2 预取有哪些好处
    • 1.3 结构框图
    • 1.4 总结
  • 2 突发
    • 2.1 什么是突发
    • 2.2 突发与预取

本文讲解DDR中常见的两个术语:预取和突发,对这两个概念理解的关键在于地址线的低位是否参与译码,具体内容请继续往下看。

1 预取

1.1 什么是预取

预取是DDR时代提出的技术,预取的本质上是并串转换,通过并行方式提前取得数据再串行输出,这也符合“预取”的字面含义,即“把数据提前取出”。

1.2 预取有哪些好处

  • 提高数据吞吐量: 预取允许在一个时钟周期内从存储阵列中提取多比特数据。随后,在连续的时钟周期里,这些数据通过较窄的数据总线迅速传输到CPU或其他系统组件。通过这种方式,即使I/O总线宽度较小,也能达到较高的有效数据传输速率。
  • 减少等待时间: 预取能够利用内存访问的局部性原理,即一旦访问内存的一个位置,附近的内存位置很可能也会很快被访问。通过预先把临近数据加载到缓冲区,内存控制器能在接收到连续数据请求时立即响应,减少了等待时间。
  • 优化时序和功耗: 通过减少内存芯片实际访问操作的次数,预取技术有助于优化存储器的访问时序,并降低功耗,因为减少的内存激活和预充电操作会降低能耗。

1.3 结构框图

下面给出SDRAM、DDR、DDR2、DDR3的结构框图,大家可以着重看一下存储单元的位宽和DQ数据线的位宽以及地址线。

  1. SDRAM
  • 下图是SDRAM框图,SDRAM中没有使用预取技术,存储单元的位宽与DQ数据位宽相等
  • 9根地址线全部参与译码,对应列地址有512个
    在这里插入图片描述
  1. DDR
  • 下图是DDR框图,存储单元位宽是8,DQ数据位宽是4,这对应着DDR的2倍预取,即存储单元的位宽是芯片数据位宽的2倍。
  • 12根地址线中只有11根地址线参与译码,最低位的地址线COL0未参与译码,但作用于读数据时的MUX(数据选择器)上,以及写数据时的串并转换上
    在这里插入图片描述
  1. DDR2
  • 下图是DDR2框图,存储单元位宽是64,DQ数据位宽是16,这对应着DDR2的4倍预取,即存储单元的位宽是芯片数据位宽的4倍。
  • 10根地址线中只有8根地址线参与译码,最低位的地址线COL0、COL1未参与译码,但作用于读数据时的MUX(数据选择器)上,以及写数据时的串并转换上
    在这里插入图片描述
  1. DDR3
  • 下图是DDR3框图,存储单元位宽是64,DQ数据位宽是8,这对应着DDR3的8倍预取,即存储单元的位宽是芯片数据位宽的8倍。
  • 10根地址线中只有7根地址线参与译码,最低位的地址线COL0、COL1、COL2未参与译码,但作用于读数据时的MUX(数据选择器)上,以及写数据时的串并转换上
    在这里插入图片描述

1.4 总结

  • 下面我们针对地址线进行分析,以DDR3为例,上图中的DDR3每个逻辑bank的大小为65536 * 128 * 64,这样看来每个存储单元的大小是64 bits,但要注意的是,DDR3的10位地址线中只有7位参与了每个逻辑bank的译码,最低位的3根地址线并未参与内部逻辑bank的译码。因此,内部存储单元的一个 64bits其实对应8个地址。
  • 同时,值得注意的是,在读数据的过程中,COL0、COL1、COL2三根地址线是作为MUX的数据选择信号的,这也印证了我们上面所说的:这64 bits数据也只不过是8个地址等效存储的数据。
  • 正是由于预取技术,才导致了存储单元的位宽与DQ数据线的位宽不一致,这一点很容易让初学者产生误解。
    在这里插入图片描述
名称数据预取 (n代表芯片数据位宽,即DQ位宽)
DDR2-n
DDR24-n
DDR38-n

2 突发

2.1 什么是突发

  • 突发指的是,当我们选中一行后,将相邻的存储单元进行连续的数据传输,即指定行起始地址和列起始地址,读写控制器就会对该地址后连续的存储单元进行读/写操作,这个过程叫做突发。
  • 突发传输的过程中不需要读写控制器连续地提供地址

2.2 突发与预取

  • 以上图中的DDR3为例,突发长度为8,就意味着连续传输8个数据。由上面对预取的分析,地址线连续变化8次,DDR3内核读写一次数据,刚好对应突发长度为8
  • 每突发一次,虽然DQ数据线上出现了8个数据,但内核的读写只进行了一次
  • 以DDR3为例,每个存储单元64 bits数据是8个地址等效存储的数据,最终等效的结果还是每个地址的数据位宽就是DQ数据位宽

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • EtherCAT主站IGH-- 9 -- IGH之eoe_request.h/c文件解析
  • SpringCloudGateway
  • go语言day10 接口interface 类型断言 type关键字
  • SpringBoot实战(二十八)集成 Collabora Online 实现在线编辑
  • el-table实现固定列,及解决固定列导致部分滚动条无法拖动的问题
  • Buuctf之SimpleRev做法
  • 如何处理 PostgreSQL 中由于表连接顺序不当导致的性能问题?
  • 汽车电子工程师入门系列——AUTOSAR通信服务框架(下)
  • nginx(三)—从Nginx配置熟悉Nginx功能
  • react native优质开源项目
  • 【C++:默认成员函数初始化列表】
  • 论文回顾 | CVPR 2021 | How to Calibrate Your Event Camera | 基于图像重建的事件相机校准新方法
  • python转文本为语音并播放
  • Shell编程类-网站检测
  • 云端AI大模型群体智慧后台架构思考
  • ----------
  • “大数据应用场景”之隔壁老王(连载四)
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • HTTP 简介
  • JavaScript的使用你知道几种?(上)
  • Java超时控制的实现
  • JS+CSS实现数字滚动
  • JSDuck 与 AngularJS 融合技巧
  • laravel5.5 视图共享数据
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SpringBoot几种定时任务的实现方式
  • 阿里云应用高可用服务公测发布
  • 高性能JavaScript阅读简记(三)
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 解析带emoji和链接的聊天系统消息
  • 浏览器缓存机制分析
  • 面试遇到的一些题
  • 入手阿里云新服务器的部署NODE
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #HarmonyOS:Web组件的使用
  • #微信小程序:微信小程序常见的配置传值
  • $.ajax()
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (论文阅读11/100)Fast R-CNN
  • (十六)一篇文章学会Java的常用API
  • (数据结构)顺序表的定义
  • (一)80c52学习之旅-起始篇
  • (转)mysql使用Navicat 导出和导入数据库
  • ****Linux下Mysql的安装和配置
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'