DDR自学笔记

DDR的技术发展

标准名称

内核时钟(MHz)

I/O时钟(MHz)

工作电压(v)

预取位数

突发长度

数据速率(MT/s)

数据带宽(GB/s)

拓扑

SDRAM

100-166

100-166

3.3

1

/

100-166

0.8-1.3

T

DDR

133-200

133-200

2.5

2n

2

266-400

2.1-3.2

T

DDR2

133-200

266-400

1.8

4n

4

533-800

4.2-6.4

T

DDR3

133-200

533-800

1.5

8n

8

1066-1600

8.5-14.9

Fly-by

DDR4

133-200

1066-1600

1.2

8n

8

2133-3200

17-21.5

Fly-by

DDR5

?

1600-3200

1.1

16n

3200-6400

32

Fly-by

DDR3之前都是内核时钟与外部IO的时钟的Prefetch预取数的倍数关系,DDR4是引入bank grounp的概念,导致与DDR3同样的预取数,但是IO时钟可以加倍,由于上下边沿采样数据,所以数据的速率又是IO时钟的2倍关系。

数据速率和带宽的关系是:数据速率*位宽数据带宽 

DDR4内部框图

                                                   图: MT40A1G8 的内部框图

1Gx8表示SDRAM具有8位的I/O数据位宽度(参见图中右侧的DQ[7:0]信号)。所以8G也有2Gx4,4位I/O宽度,512M x 16的16位I/O数据位宽度。

每个内存阵列为65536x128x64,称为一个bank,4个bank组成一个bank组,共有4个bank组,所以总容量为65536*128*64*4*4= 8Gb。这里注意存储的最小单元就是1bit。

具体来说,在65536x128x64的每个存储阵列规格中,65536代表行数,每行存储128*64=8192位的数据,同时也是

图中Sense放大器与I/0栅极、DM掩码逻辑之间传输的位宽。每行有1024列,每列包含8位数据。由于DDR4预取宽度为8n,一次访问需要8列数据,即64位。所以每一行都有128个64位,这就是65536x128x64位中的128x64的来源。

DDR3内部框图

                                                图:MT41J256M8 的内部框图

DDR3中没有bank组的概念,只有8个bank。

32768x128x64的每个存储阵列规格中,32768代表行数,每行存储128*64=8192位的数据,同时也是

图中Sense放大器与I/O栅极、DM掩模逻辑之间传输的位宽。每行有1024列,每列包含8位数据。DDR3预取宽度为8n,一次访问需要8列数据,即64位。所以每一行都有128个64位。

容量计算:

以256Meg x 8这个规格的内存计算,32k *128 * 8 *8 *8 = 2Gb,这3个8分别来自bank,位宽,prefetch。

1DDRPrefetch预取

以下面的DDR3读取为例,下图中共有8条数据线,每一条数据线都是一个8选1模拟开关的输出,每个输出前面还有8个输入,这个8个输入分别来自8个bank,8个输入会先存在fifo中缓存,MUX读出的时钟就是内核时钟的4倍,由于DDR的时钟上下边沿采样,所以读出8个数据的时间就是1个内核时钟,8个输出就对应64个输入,prefetch的8n的n是指DQ的IO位宽,表示以位宽的8倍来预取数据,n也就是DQ的数量一般可以是4,8,16,对应预取数据就是32,64,128。

读取流程是先激活行地址,锁存行数据到Sense放大器,激活列地址,数据送到输出缓存,利用Sense放大器值刷新行数据,关闭位线,关闭行线,位线预充电。

2DDRbank grounp

标准型DDR的总线位宽是64bit,若进行16倍预取,总共有128Byte的数据,超过了目前主流处理器的 Cacheline size(用 于处理器缓存的基本数据单元64Byte 的数据通道,由于Cacheline的 限制,DDR4 没有将预取加倍,而是使用 Bank Group 技术,通过两个不同 Bank Group 的8倍预取来拼凑出一个16倍的预取,当DRAM获得了两份数据的读命令,并且这两份数据的内容分布在不同的Bank Group中时, 由于每个Bank Group可以独立完成读取操作,两个Bank Group 几乎可以同时准备好这两份8倍数据。然后这两份8倍数据被拼接成16倍的数据,数据的传输速度达到内部时钟频率的16倍,较DDR3提升2倍。

3DDR的突发长度Burst Length

突发长度BL是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输所涉及到存储单元(列)的数量就是突发长度,DDR3内部配置采用了8n prefetch(预取)来实现高速读写,这也导致了DDR3的BL一般都是8。当然也有为4的设置(BC4),是指另外4笔数据是不被传输的或者被认为无效。BL8还是BC的配置在MR0寄存器配置,这里也可以看出A0~A2是用在了burst的配置上,所以DDR3、4的列地址前三位不用做寻址。

4、预充电Precharge

预充电命令用于停用一个bank中的特定行或整个bank,在完成一次读写操作后,如果对同一个logic bank的另外一行进行寻址,就要把原来的有效工作的行关闭,重新发送行/列地址,这个重新打开行的操作就是预充电。

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

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

相关文章

【面试干货】与的区别:位运算符与逻辑运算符的深入探讨

【面试干货】&与&&的区别:位运算符与逻辑运算符的深入探讨 1、&:位运算符2、&&:逻辑运算符3、&与&&的区别 💖The Begin💖点点关注,收藏不迷路💖 & 和 …

英飞凌TC3xx之DMA工作原理及应用实例

英飞凌TC3xx之DMA工作原理及应用实例 1 DMA的架构2 必要的术语解释3 DMA请求3.1 DMA软件请求3.2 DMA硬件请求3.3 DMA 菊花链请求3.4 DMA自动启动请求3.5 总结4 小结DMA是直接存储访问Direct Memory Access的简称。它的唯一职能就是在不需要CPU参与的情况下,将数据从源地址搬运…

了解跨站点脚本 (XSS) 漏洞

跨站点脚本 (XSS) 漏洞简介 跨站点脚本 (XSS) 是网络上持续存在的安全威胁,被 Web 应用程序安全项目 (OWASP) 列为十大风险之一。尽管 XSS 是一种老技术,但它仍然困扰着网站,对用户数据和系统完整性构成严重风险。 针对公司的 XSS 攻击实例…

麻雀优化算法(Sparrow Search Algorithm,SSA)

麻雀优化算法(Sparrow Search Algorithm,SSA)是一种基于麻雀觅食行为的优化算法,模拟了麻雀觅食时的搜索策略和社会学习行为。该算法结合了个体的局部搜索和群体的全局搜索特性,能够有效地应用于连续优化问题的求解。 …

(六)SvelteKit教程:刷新数据,preload data,环境变量和部署

(六)SvelteKit教程:刷新数据,preload data,环境变量和部署 1.刷新数据 文件目录如下: ├── stocks │ ├── page.js │ └── page.sveltepage.js 内容如下: export const load a…

Linux线程同步【拿命推荐版】

目录 🚩引言 🚩听故事,引概念 🚩生产者消费者模型 🚀再次理解生产消费模型 🚀挖掘特点 🚩条件变量 🚀条件变量常用接口 🚀条件变量的原理 🚩引言 上一篇…

【Android面试八股文】说一说你对Android中的Context的理解吧

文章目录 一、Context是什么?1.1 主要功能和用途1.2 如何获取 Context 实例?1.3 注意事项二、Context 类的层次结构三、Context的数量四、Context的注意事项五、Android 中有多少类型的 Context,它们有什么区别 ?六、Contextlmpl实例是什么时候生成的,在 Activity 的 oncr…

C语言力扣刷题11——打家劫舍1——[线性动态规划]

力扣刷题11——打家劫舍1和2——[线性动态规划] 一、博客声明二、题目描述三、解题思路1、线性动态规划 a、什么是动态规划 2、思路说明 四、解题代码(附注释) 一、博客声明 找工作逃不过刷题,为了更好的督促自己学习以及理解力扣大佬们的解…

消防设施操作员试题含答案

消防设施操作员试题库与参考答案 1、在网络中传输信息的物理载体指的是( )。 A、导向传输网 B、非导向传输网 C、网络传输介质(正确答案) D、网络传输信号 2、消防安全重点单位应当按照和应急疏散预案,至少( )进行一次演练,…

Java中System的用法

System指的是当前进程运行的操作系统,属于java.lang包下面的类 常见的用法有以下几种: 第一种简单,我们直接上第二种方法吧 currentTimeMills()用法 // 演示currentTimeMillis方法public static void main(String[] args) {// 获取当前时间所对应的毫秒…

获取HTML元素的offsetParent属性

获取HTML元素的offsetParent属性 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨在前端开发中常用的一个属性——HTML元素的offsetParent属性…

Apache Ranger 2.4.0 安装部署

1、安装ranger admin 2、源码编译Ranger wget https://www.apache.org/dist/ranger/2.4.0/apache-ranger-2.4.0.tar.gz tar zxvf apache-ranger-2.4.0.tar.gz cd apache-ranger-2.4.0 mvn -Pall clean mvn clean package -DskipTests maven settting可以设置阿里云进行资源下载…

昇思25天学习打卡营第4天|扩散模型

文章目录 昇思MindSpore应用实践基于MindSpore的Diffusion扩散模型1、Diffusion Models 简介2、构建 Diffusion Model 的准备工作3、Attention 机制4、条件 U-Net5、Diffusion 正向过程6、Diffusion 反向过程7、Diffusion 模型训练 Reference 昇思MindSpore应用实践 本系列文章…

YOLO深度学习基准模型概念与应用

YOLO深度学习基准模型概念与应用 YOLO(You Only Look Once)是一种先进的深度学习目标检测模型,由Joseph Redmon等人在2016年首次提出,它彻底改变了目标检测领域的游戏规则,因其独特的一阶段检测方法和实时处理能力而广…

【Qt知识】Geometry属性

一、走进Geometry的世界 Geometry属性是Qt框架中用于处理和操作几何形状的一系列类的集合。它包括了QPoint、QPointF、QSize、QSizeF、QRect和QRectF等。这些类分别代表点、大小、矩形等基本几何概念,它们的存在让图形界面的创建变得既简单又直观。 位置和尺寸。 其…

算法训练营第七十三天 | Bellman_ford算法、SPFA算法、Bellman_ford之判断负权回路

算法训练营第七十三天 | Bellman_ford算法、SPFA算法、Bellman_ford之判断负权回路 Bellman_ford算法 题目链接: https://kamacoder.com/problempage.php?pid1152 对所有边松弛一次,相当于计算 起点到达 与起点一条边相连的节点 的最短距离&#xff…

新消息!2025第十四届北京国防信息化装备与技术博览会

2025第十四届中国(北京)国防信息化装备与技术博览会 展会时间:2025年6月12日-14日 展会地点:北京中国国际展览中心(朝阳馆) 展会规模:展览面积45000平米,展商1000余家,展…

css 滚动词云

css javascript 实现滚动词云效果 // 163css.js var radius 120; var dtr Math.PI / 180; var d 300; var mcList []; var active false; var lasta 1; var lastb 1; var distr true; var tspeed 10; var size 250; var mouseX 0; var mouseY 0; var howElliptic…

MySQL高级-MVCC-隐藏字段

文章目录 1、介绍2、测试2.1、进入服务器中的 /var/lib/mysql/atguigu/2.2、查看有主键的表 stu2.3、查看没有主键的表 employee2.3.1、创建表 employee2.3.2、查看表结构及其其中的字段信息 1、介绍 ---------------- | id | age | name | ---------------- | 1 | 1 | Js…

python读取语文成绩 青少年编程电子学会python编程等级考试三级真题解析2022年3月

目录 python读取语文成绩 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python读取语文成绩 2022年3月 python编程等级考试级编程题 一、题目…