[RAM] 图解 RAM 结构原理

主页: 元存储博客

文章目录

    • 前言
    • 1. Channel
    • 2. Dimm
    • 3. Rank
    • 4. Bank
    • 5. Row
    • 6. Column
    • 7. Beat
    • 8. Burst Length
    • 总结

前言

在这里插入图片描述

从CPU至DRAM晶粒之间依据层级由大至小为channel>DIMM>rank>chip>bank>row/column。
在这里插入图片描述
图片来源: 电脑王
DRAM层级关系

在这里插入图片描述
DRAM 不同层级结构示意
来源: DRAM Nomenclature explained,thebeardsage

上图有:
两个 channel,
每个 chanle 有 4 个 Dimm,
每个 Dimm 有 1 个 rank
每个 rank 有一个 DRAM chip
一个 chip 有 4 个 Bank

这仅仅是一个示意, 不同的 DRAM 存储器是不同的。

1. Channel

存储控制器和DRAM模组之间的连接线称为channel (通道).

一个存储器可以只有一个 controller 和 1 个 channel.
在这里插入图片描述

也可以一个 Controller 带两个 channel。
在这里插入图片描述
还可以含两个 controller, 每个 controlle 有两个 channel。

在这里插入图片描述
这两个 controller 相互独立, 可以并行,提高带宽。

2. Dimm

在这里插入图片描述
Dimm 实物图

Dimm(dual in-line memory module),是计算机内存, 常见位宽为 64 bit。我们买的内存条就是长这个样子。

3. Rank

拿出内存条看的话, Dimm 有两面,每一面是一个 Rank。
在这里插入图片描述
同一个 Rnak 含有多个 chip, 一个 Rank 里的 chips 共用命令线和地址线,但吐出不同的数据。

在这里插入图片描述

4. Bank

一个 Chip 里有很多 bank, 这些 bank 在不同的 cycle 吐出数据, 可以 pipiline 流水线访问。一个Rank内的所有 DRAM chip都会同时访问同一个Bank位置。

在这里插入图片描述

假设需要从第 2 Bank 中的一个位置读取 64 字节的数据。在这种情况下,每个 DRAM chip 将从各自的Bank 中提供 16 字节的数据。

在这里插入图片描述
Bank 通过 Row 地址 和 Column 地址访问数据。
Row 地址即行地址, Column 即列地址。

5. Row

在这里插入图片描述

row 即 bank 中的一行, 一个 row 地址,对应到多个 chip 中所有 bank 的同一行。

6. Column

Column 是 DRAM 最小访问单元,每个 column 地址可以获取多个 chip 中这个 column address 对应的数据。读的长度取决于 burst length.
在这里插入图片描述

7. Beat

SDR RAM 一个周期传一次数据, DDR 一个周期传输两次数据(上升沿和下降沿各一次)

8. Burst Length

一个Read command 可以读多个 column 的数据, 比如 burst length 是 128 bit, 一个 column data 是 32 bit, 那么一次可以读 4 个 column.

总结


参考文献

  1. 圖解RAM結構與原理,系統記憶體的Channel、Chip與Bank

  2. DRAM Nomenclature explained


声明
本文仅为学习交流目的。
文中部分文字和图片来源于互联网,列在参考的文献,但可能有遗漏。如有侵权,请告知我删除。

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

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

相关文章

区块链dapp开发 dapp系统开发方案

在区块链技术的兴起和普及的推动下,去中心化应用程序(DApp)成为了当前数字世界中的热门话题之一。DApp 的开发不仅需要考虑技术方面的挑战,还需要深入了解区块链的工作原理和应用场景。本文将介绍一种 DApp 系统开发的基本方案&am…

SpringBoot登录校验(三)

​​​​​​​SpringBoot 登录认证(一)-CSDN博客 SpringBoot 登录认证(二)-CSDN博客 SpringBoot登录校验(三)-CSDN博客 前面我们介绍了传统的会话跟踪技术cookie和sesstion,本节讲解令牌技术…

Python数据分析必备工具——Pandas模块及其应用

Python数据分析必备工具——Pandas模块及其应用 外部数据的读取文本文件的读取语法示例 电子表格的读取语法示例 数据库数据的读取与操作语法 数据操作数据概述语法 数据筛选语法 数据清洗数据类型语法示例 沉余数据语法示例 异常值的识别与处理缺失值的识别与处理语法示例 数据…

Docker命令及部署Java项目

文章目录 简介Docker镜像镜像列表查找镜像拉取镜像删除镜像镜像标签 Docker容器容器启动容器查看容器停止和重启后台模式和进入强制停止容器清理停止的容器容器错误日志容器别名及操作 Docker部署Java项目 简介 Docker是一种容器化技术,可以帮助开发者轻松打包应用…

实时渲染是什么意思?实时渲染和离线渲染的区别

一、实时渲染是什么意思? 实时渲染是指在计算机程序运行时即时地生成图像和动画的过程,这种渲染技术通常用于网络游戏、虚拟现实和增强现实等需要实时交互的XR应用中。实时渲染需要在每秒内渲染数百万到数十亿个像素,以呈现出平滑的动画和交…

考研数学|武忠祥学习包搭配《660》和《880》

一、660、880、三大计算简单分析 660题 这本题册具有高难度、综合度和深度,属于高质量的题材。我建议不要在基础阶段就着手解决其中的660题,因为这可能会影响你的信心。相反,你可以在基础阶段完成一轮学习后,将这些题目留到强化…

从运营层面看财务管理:如何做好项目的财务预算

有效的项目运营是企业发展进步的主要活动,企业管理者的项目财务管理主要针对项目财务预算。项目财务预算管理是企业财务管理的一个分支,也是项目财务管理的核心部分,其表现形式为一个综合性的财务计划,主要包括预算编制、报告、执…

Ubuntu20安装python3.10

1、添加 deadsnakes PPA 到源列表 add-apt-repository ppa:deadsnakes/ppa apt update 2、安装 apt install python3.10 3设置默认版本为 Python3.10 查看所有python版本 ls -l /usr/bin/python* update-alternatives --install /usr/bin/python3 python3 /usr/bin/pytho…

如何通过针对iOS的动态分析技术绕过反调试机制

在这篇文章中,我们将跟大家介绍和分析一种针对iOS的新型安全研究技术,该技术能够让iOS应用程序的调试过程更加轻松,并解决那些可能会延缓我们步伐的阻碍。 如果你要对一个采用了反调试技术的iOS应用程序或二进制文件进行调试的话,…

Mysql数据库——主从复制与读写分离

目录 前言 一、主从复制 1.主从复制的定义 2.Mysql主从复制支持的类型 3.主从复制的过程 4. 主从复制出现的问题 5.解决方法 二、读写分离 1.读写分离的定义 2.读写分离的作用 3.读写分离作用场景 3.1基于程序代码内部实现 3.2基于中间代理层实现 4.主从复制与读…

最新2024年增强现实(AR)营销指南(完整版)

AR营销是新的最好的东西,就像元宇宙和VR营销一样。利用AR技术开展营销活动可以带来广泛的利润优势。更不用说,客户也喜欢AR营销! 如果企业使用AR,71%的买家会更多地购物。40%的购物者准备在他们可以在AR定制的产品上花更多的钱。…

【C++】 vector 数组/向量

文章目录 【 1. vector 的声明与初始化 】1.1 vector 的声明1.2 vector 的初始化1.2.1 构造一个空的 vector1.2.2 指定数量初值的方式初始化 vector1.2.3 迭代器的方式初始化1.2.4 构造一个相同的 vector 【 2. vector 的相关操作 】2.1 插入元素2.1.1 在vector的末尾插入新元素…