内存概念理解:RANK,BANK,BURST,INTERLEAVING

devtools/2024/11/15 6:05:32/

背景:死磕内存bankrank概念的一天。网上的资料都差不多,还是有些地方没理通顺,有什么内存基础知识的书籍可以推荐吗?

物理RANK的概念

当我们给计算机购买内存条时候,上面显示的1RX8, 2RX8,其中R就是rank的意思,X8表示内存颗粒的位宽是8bit。RANK是指物理的内存条概念, 有时也称为P-RBANK(physical RANK)。

现在计算机内存总线一般是64bit,当接入如下图左边的那个内存条时候,每个黑色内存颗粒取1个8bit的数据,有8个这个的黑色内存颗粒就组成了一次总线传输所需要的64bit数据,把这8个黑色内存颗粒理解为1个RANK。2R的话表现为这个芯片正反面都有8个内存颗粒。下图是其中一个Rank的示意。

黑色内存颗粒也可以称为chip,图中每个chip的内存是128MB。每个chip上有8个bank,每个bank可以寻址的二维空间大小是16384*1024。

逻辑BANK的概念

在芯片的内部,内存的数据是以位(bit)为单位写入一张大的矩阵中,每个单元我们称为CELL,只要指定一个行(Row),再指定一个列(Column),就可以准确地定位到某个CELL,这就是内存芯片寻址的基本原理。这个阵列我们就称为内存芯片的BANK,也称之为逻辑BANK(Logical BANK)

下图中,当我们访问一个0x0-0x7地址的数据时候, 因为数据是存在不同的bank上都是(0,0)位置,所以可以通过一次内存事物请求得到。同理如果要访问地址是0x1-0x8的数据,因为0x8存在bank0中(0,1)位置,所以需要两次内存事物请求。

BURST的概念

Burst则是指对一个bank的地址矩阵,给定一个row,可以同时把col的burst_size个数一起取出来,增加取数效率。假设要取一个bank的4个数,需要给4个(row,col)组合,而burst mode情况下,只用给一个row,和burst_size=4的知识,即可取出所需的4个连续数据。

bank interleaving的概念


http://www.ppmy.cn/devtools/6404.html

相关文章

客户端动态降级系统

本文字数:4576字 预计阅读时间:20分钟 01 背景 无论是iOS还是Android系统的设备,在线上运行时受硬件、网络环境、代码质量等多方面因素影响,可能会导致性能问题,这一类问题有些在开发阶段是发现不了的。如何在线上始终…

校园综合服务平台V3.9.2 源码修复大部分已知BUG

校园综合服务平台,版本更新至V3.9.1 ,源码功能强大,ui 精美, 功能包含但不限于校园跑腿,外卖,组局,圈子,商城,抽奖,投票,团购,二手市场…

【在线OJ系统】自定义注解实现分布式ID无感自增

实现思路 首先自定义参数注解,然后根据AOP思想,找到该注解作用的切点,也就是mapper层对于mapper层的接口在执行前都会执行该aop操作:获取到对于的方法对象,根据方法对象获取参数列表,根据参数列表判断某个…

如何在 C# 中选择使用抽象类或接口?

概述:在错综复杂的 C# 编程领域中,在抽象类和接口之间做出选择的决定是一个微妙的过程,它塑造了软件的结构和行为。当开发人员努力设计健壮且可维护的系统时,问题出现了:如何在 C# 中选择抽象类或接口?这个…

量化交易为什么独宠Python

“我在学一门叫Python的语言”。“什么是Python,没听说过啊,为什么不学C啊”。这是发生在2014年,上海的一家量化基金,量化研究员和老板之间的对话。 “我想问一下关于Python的课程,什么时候能开班”。“Python啊&#…

Alpine linux desktop

用到 alpine linux standard x86_64 .iso 推荐用vmware vbox:第一次安装打开软件出现usb枚举错误问题,执行 sudo usermod -aG vboxusers $USER vbox装alpine时调成uefi再安装,建议用uefi,把显存调到128MB,启用3D加速…

yolov5 自训练pt模型转onnx,再转rknn,并部署 注意事项

yolov5 部署到rk3588 教程来自 yolov5训练pt模型并转换为rknn模型,部署在RK3588开发板上——从训练到部署全过程_yolov5 rknn-CSDN博客 1.通过android studio 部署代码在rk3588板子上运行代码 项目来源 rknn-toolkit2/rknpu2/examples/rknn_yolov5_android_apk…

redis与etcd的对比

1.redis是一种高级的key:value存储系统,其中value支持五种数据类型: 1.1 字符串(strings) 1.2 字符串列表(lists) 1.3 字符串集合(sets) 1.4 有序字符串集合(…