【DDR 内存学习专栏 1.3.1 -- DDR 的 Bank 及 burst 访问】

news/2025/4/22 0:58:22

文章目录

    • DDR Rank
      • Rank 读写
    • 访问加速
      • Burst 模式

DDR Rank

电脑内存条,也被称为DIMM条,是由多个电路板和芯片组成,这些组件被设计成可以通过内存通道与内存控制器进行连接。在一组可以被一个内存通道同时访问的芯片中,我们称之为一个 rank。如下图所示,北桥芯片(总线互联) 上接了两个 DDRC(Channel),每个 DDRC 控制两个内存插槽 DIMM,每个内存插槽上 可插入一个带两个 Rank 的 DDR(DDR 正面和背面都有DDR 颗粒)。

在这里插入图片描述

在 Rank 中,每个芯片(内存颗粒) 都共享内存通道的地址线、控制线和数据线,同时每个芯片(内存颗粒)还提供一组输出线,这些输出线汇聚成内存条的总输出线。

以一个包含8个 DDR 颗粒 的 DIMM 条为例,这8 个 DDR颗粒 被一个内存通道同时访问,因此它们共同构成一个rank。

值得注意的是,有些DIMM条的设计是双面的,即每面都布有内存芯片,这样的DIMM条就拥有两个rank。

在这里插入图片描述

假设每个DDR 颗粒 都包含 8个bank,每个 bank 又包含 8个阵列,那么这条内存条就可以在一次操作中读写多达 64 bits 的数据。这是因为在这种设计中,每个DDR颗粒可以输出 8bit 数据,而这个Rank总共有8颗这样的芯片,所以它们被同时访问的bank以及bank内的行地址和列地址都是完全一致的。这种高效的设计使得内存条能够在一次操作中处理大量数据。

Rank 读写

随着电脑内存容量的提升,我们有时会插入多条内存条。然而,这并不总是意味着电脑速度的提升。电脑的速度受到 “内存通道” 数量的限制。例如,如果电脑仅有四个插槽却只有一个内存通道,那么CPU仍只能逐个访问rank。但倘若电脑拥有四个插槽和四个内存通道,CPU便能同时访问四个rank,显著提高效率。假设每个rank能输出64比特,那么四通道一次便能处理 4×64=256比特的数据,远超单通道的64比特。

访问加速

Burst 模式

现代处理器与DDR之间通常配备cache。当CPU访问内存中的单个字时,它不仅需要该字,还需要将包含该字的整个缓存行搬入cache。因此,内存必须一次性提供整个缓存行的数据。缓存行通常较大,例如包含8个64比特,这意味着内存需提供8×64=512比特的数据。然而,常规访问方式每次仅能提取64比特,即一个字,这显然不足以满足缓存行的需求。为此,我们引入了“burst模式”来优化内存访问。

由于缓存行内的字在内存中是连续紧邻的,我们可以充分利用cell阵列中的行缓存。在burst模式下,当读取cell阵列中的某个比特时,不仅该比特会被送到输出缓存,而且其所在缓存行的其他比特也会被连续读出并送至输出缓存。这样,我们便能高效地完成一次burst操作,即连续读出目标比特周围的多个比特。

推荐阅读
https://baijiahao.baidu.com/s?id=1821754560739771827&wfr=spider&for=pc


https://dhexx.cn/news/show-5496899.html

相关文章

大数据学习栈记——Redis安装及其使用

本文介绍NoSQL技术:Redis的安装及其使用。操作系统:Ubuntu24.04 Redis介绍 Redis是一个键值(key-value)存储系统,即键值对非关系型数据库,和Memcached类似,目前正在被越来越多的互联网公司采用…

《 C++ 点滴漫谈: 三十三 》当函数成为参数:解密 C++ 回调函数的全部姿势

一、前言 在现代软件开发中,“解耦” 与 “可扩展性” 已成为衡量一个系统架构优劣的重要标准。而在众多实现解耦机制的技术手段中,“回调函数” 无疑是一种高效且广泛使用的模式。你是否曾经在编写排序算法时,希望允许用户自定义排序规则&a…

【KWDB创作者计划】_KWDB部署与使用详细版本

KWDB发展历程 介绍KWDB前,先介绍下KaiwuDB, KaiwuDB 是浪潮控股的数据库企业,该企业提供的KaiwuDB数据库是一款分布式多模数据库产品,主要面向工业物联网、数字能源、车联网、智慧产业等行业领域。 在2024年7月, Kai…

Android WebView深度性能优化方案

一、启动阶段优化 预初始化策略 冷启动优化:在Application或后台线程提前初始化WebView new Thread(() -> {WebView preloadWebView new WebView(getApplicationContext());preloadWebView.loadUrl("about:blank"); }).start();WebView复用池 private…

Missashe考研日记-day20

Missashe考研日记-day20 1 高数 学习时间:2h30min学习内容: 今天当然是刷题啦,做不等式的证明板块的真题,证明题懂的都懂,难起来是真的一点思路都没有,这个板块还没做完,做完再总结题型。 2…

UE5 Chaos :官方文献总结 + 渲染网格体 (Render Mesh) 和模拟网格体 是如何关联的?为什么模拟网格体 可以驱动渲染网格体?

官方文献:https://dev.epicgames.com/community/learning/tutorials/pv7x/unreal-engine-panel-cloth-editor 1. 流程概述 本文档介绍了如何通过面板编辑器(Panel Editor)在Unreal Engine中生成基于面板的布料资源。流程主要包含从Marvelou…

【NLP】 自然语言处理笔记

NLP的全称是Natuarl Language Processing,中文意思是自然语言处理,是人工智能领域的一个重要方向。自然语言处理(NLP)就是在机器语言和人类语言之间沟通的桥梁,以实现人机交流的目的。 人类语言是抽象的信息符号,其中蕴含着丰富的语义信息,人类可以很轻松地理解其中的含…

(2)VTK C++开发示例 --- 绘制多面锥体

文章目录 1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果 更多精彩内容👉内容导航 👈👉VTK开发 👈 1. 概述 VTK C开发示例程序; 使用C 和VTK绘制一个多面锥体。 环境说明系统ubuntu22.04、windows11cmake3.22、3.2…

python每日一练

题目一 输入10个整数,输出其中不同的数,即如果一个数出现了多次,只输出一次(要求按照每一个不同的数第一次出现的顺序输出)。 解题 错误题解 a list(map(int,input().split())) b [] b.append(a[i]) for i in range(2,11):if a[i] not in b:b.append(a[i]) print(b)但是会…

第七届浙江省大学生网络与信息安全竞赛决赛Unserialize深度解析 1.0

花还会重新开,不同的春来了又来。 - 2025.4.11 0x01 声明 仅作为个人学习使用,仅供参考,欢迎交流 可能是新生赛缘故,突发奇想,想好好梳理此题,顺便写成参考,于是有了这篇文章 当然很多理解可…