一文读懂SDRAM内存模组与基本概念

本文可以了解什么?

  1. DDR-DDR4内存模块的差异以及对比;
  2. 逻辑BANK的概念与定义;
  3. 芯片的位宽的解释。
    在这里插入图片描述

在这里插入图片描述

下图是DDR3的PHY IP Core的定义规范。

DDR-DDR4的物理结构差异

首先,我们来对比一下DDR, DDR2, DDR3 SDRAM, and DDR4 SDRAM物理结构上的差别,如下图所示。
在这里插入图片描述
在这里插入图片描述

下表是SDRAM-DDR4前后的电压,时钟,速率的对比详图。
SDRAM, DDR1, DDR2, DDR3以及DDR4对比表

在这里插入图片描述

逻辑BANK与芯片位宽
我们平时看到的SDRAM都是以模组形式出现,即便是手机或者pad中的内存单元,一般一会是好几颗,为什么要做成这种形式呢?要解释这个问题,首先要接触到两个概念:物理Bank与芯片位宽。

1、逻辑Bank

简单地说,SDRAM的内部是一个存储阵列。由于采用管道式存储(如同排队买票),就很难做到随机访问了。
阵列就如同表格一样,将数据“填”进去,你可以它想象成一张表格。和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),我们就可以准确定位所需要的单元格,这就是内存芯片寻址的基本原理。对于内存来说,这个单元格可称为存储单元,那么这个表格(存储阵列)我们就称之为逻辑Bank(Logical Bank)。
在这里插入图片描述

由于SDRAM的工作原理限制,单一的逻辑Bank将会造成非常严重的寻址冲突,大幅降低内存效率,因此由于技术、成本等各方面原因,不可能一颗芯片只做一个全容量的逻辑Bank。所以架构师在SDRAM内部分割成多个L-Bank,在DDR2的标准中,逻辑Bank的数量是8个。
这样一来,在进行寻址时就要先确定是哪个逻辑Bank,然后再在这个选定的逻辑Bank中选择相应的行与列定位内存单元进行寻址。可见对内存的访问,一次只能是一个逻辑Bank工作,而每次交换的数据就是逻辑Bank存储阵列中一个“存储单元”的容量。

2、芯片位宽

传统内存系统为了保证CPU的正常工作,必须一次传输完CPU在一个传输周期内所需要的数据。而CPU在一个传输周期能接受的数据容量就是CPU数据总线的位宽,单位是bit(位)。当时控制内存与CPU之间数据交换的芯片也因此将内存总线的数据位宽等同于CPU数据总线的位宽,内存的位宽需要与CPU对应,才能正常运行。
SDRAM内存系统必须要组成一个物理Bank的位宽,才能使CPU正常工作,那么这个物理Bank位宽怎么得到呢?这就涉及到了内存芯片的结构。
每个内存芯片也有自己的位宽,即每个传输周期能提供的数据量。理论上,完全可以做出一个位宽为64bit的芯片来满足物理Bank的需要,但这对技术的要求很高,在成本和实用性方面也都处于劣势。所以芯片的位宽一般都较小。对于台式机市场所用的SDRAM芯片位宽最高也就是16bit,常见的则是8bit。这样,为了组成物理Bank所需的位宽,就需要多颗芯片并联工作。对于16bit芯片,需要4颗(4×16bit=64bit)。对于8bit芯片,则就需要8颗了。
在这里插入图片描述

这样大概可以说清楚芯片位宽、芯片数量与物理Bank的关系。物理Bank其实就是一组内存芯片的集合,这个集合的容量不限,但这个集合的总位宽必须与CPU数据位宽相符。

总结:

SDRAM(同步动态随机存取存储器)是一种广泛用于计算机系统中的内存类型,它采用同步时钟信号来协调数据的读写操作。SDRAM内存模组是指将多个SDRAM芯片封装在一起,形成一个更大的内存模块。这种封装方式可以使得SDRAM内存模块具有更高的存储容量和更好的性能。
SDRAM内存模块的基本概念包括物理Bank、芯片位宽和传输标准等。
物理Bank是指SDRAM内存模块中的多个物理存储单元,每个物理Bank都有自己的地址线和数据线,可以独立地对其进行读写操作。通过将多个物理Bank组合在一起,SDRAM内存模块可以实现更高的存储容量。
芯片位宽是指SDRAM内存模块中每个数据位的宽度,通常以比特(bit)为单位。SDRAM内存模块的位宽越宽,其数据传输速度和存储容量就越高。
传输标准是指SDRAM内存模块的数据传输协议,包括数据传输速率、数据位宽、CAS延迟时间等参数。不同的传输标准可以满足不同应用场景的需求。
存储单元和芯片排布:SDRAM内存芯片被组织成多个存储单元或存储块,每个单元通常存储一个位(0或1)。这些存储单元被排布在内存芯片上的行和列中,形成一个存储矩阵。
行和列:SDRAM内存芯片中的存储单元被划分为行和列。读取数据之前,首先需要将所需的行激活(打开),然后才能访问该行的列。
预充电和刷新:SDRAM内存芯片需要定期进行刷新操作,以防止数据丢失。这是因为内存电容会逐渐丧失电荷,如果不刷新,数据将会丢失。预充电操作会在每次读取或写入操作之后自动执行,以确保内存芯片处于正确的工作状态。
频率和带宽:SDRAM内存模组的性能与工作频率密切相关。频率越高,内存模组的数据传输速度越快,带宽也会增加。常见的SDRAM频率包括DDR3、DDR4等。
内存容量:SDRAM内存模组的容量可以从几GB到几十GB不等,这取决于内存芯片的密度和数量。
通道和通道数:一些高端系统支持多个内存通道,每个通道都可以插入一个或多个SDRAM内存模组。多通道配置可以提高数据传输速度和性能。
延迟和时序:SDRAM内存的访问速度受到内存模组的时序参数影响,例如CL(CAS延迟)和RCD(行到列延迟)等。

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

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

相关文章

cyclictest 交叉编译报错---rt_numa.h:18:10: fatal error: numa.h: 没有那个文件或目录

cyclictest 主要是用于测试系统延时,进而判断系统的实时性 使用版本 rt-tests-2.6.tar.gz numactl v2.0.16 问题 编译时,需要先编译 numactl ,不然会有以下报错: arm-linux-gnueabihf-gcc -D VERSION2.6 -c src/cyclictest/c…

FPGA——DDR3的IP核

FPGA——DDR3的ip核 IP核配置基于MIG核代码基于AXI接口的DDR3 IP核配置 1 2 3 4 5 6 基于MIG核代码 控制MIG核的信号进行读写 module MIG_APP_Drive(input i_ui_clk ,input i_ui_rst ,input init_calib_…

数字孪生底层技术框架

数字孪生是一种将现实世界中的物理实体、过程或系统数字化并映射到计算机模型中的方法。它在数学建模与仿真方面具有重要作用,为了实现数字孪生,以下是一些底层技术框架和方法,希望对大家有所帮助。北京木奇移动技术有限公司,专业…

[OpenCV学习笔记]获取鼠标处图像的坐标和像素值

目录 1、介绍2、效果展示3、代码实现4、源码展示 1、介绍 实现获取鼠标点击处的图像的坐标和像素值&#xff0c;灰度图显示其灰度值&#xff0c;RGB图显示rgb的值。 OpenCV获取灰度值及彩色像素值的方法&#xff1a; //灰度图像&#xff1a; image.at<uchar>(j, i) //j…

牛客NC111 最大数【中等 贪心、排序 Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/fc897457408f4bbe9d3f87588f497729 思路 贪心解法对于 numsnums 中的任意两个值 aa 和 bb&#xff0c;我们无法直接从常规角度上确定其大小/先后关系。但我们可以根据「结果」来决定 aa 和 bb 的排序关系&#…

链表oj测试题(上)

链表的申明&#xff1a; struct ListNode {int val;struct ListNode* next; }; 1.题1 删除指定元素 例如&#xff1a;链表1 2 6 3 4 5 6&#xff0c;然后选择删除元素6&#xff0c;返回的链表为1 2 3 4 5 。 代码演示&#xff1a; typedef struct ListNode ListNode;List…

【C++航海王:追寻罗杰的编程之路】stack

目录 1 -> stack的介绍和使用 1.1 -> stack的介绍 1.2 -> stack的使用 1.3 -> stack的模拟实现 1 -> stack的介绍和使用 1.1 -> stack的介绍 stack的文档介绍 1. stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c…

yolov6实现遥感影像目标识别|以DIOR数据集为例

1 目标检测是计算机视觉领域中的一项重要任务&#xff0c;它的目标是在图像或视频中检测出物体的位置和类别。YOLO&#xff08;You Only Look Once&#xff09;是一系列经典的目标检测算法&#xff0c;最初由Joseph Redmon等人于2016年提出。YOLO算法具有快速、简单、端到端的特…

Java集合Collection之LinkedList

LinkeList LinkedList&#xff08;双向链表&#xff09;是一种常见的线性数据结构&#xff0c;但是并不会按线性的顺序存储数据。它由一系列节点组成&#xff0c;每个节点包含数据部分和一个指向下一个节点的引用。相比于数组&#xff0c;链表具有动态大小、插入和删除效率高的…

【计算机视觉】Gaussian Splatting源码解读补充(二)

第一部分 本文是对学习笔记之——3D Gaussian Splatting源码解读的补充&#xff0c;并订正了一些错误。 目录 三、相机相关scene/cameras.py&#xff1a;class Camera 四、前向传播&#xff08;渲染&#xff09;&#xff1a;submodules/diff-gaussian-rasterization/cuda_rast…

ES进程除了kill之外,有什么优雅关闭的方式吗?

问题 Linux环境中&#xff0c;Elasticsearch 8的进程除了kill之外&#xff0c;有什么优雅关闭的方式吗&#xff1f; 具体实施方式 在Linux环境中&#xff0c;Elasticsearch&#xff08;ES&#xff09;进程可以通过多种方式实现优雅关闭&#xff0c;这种方式允许它完成必要的…

【Python音视频技术】玩AI视频创作引发写Python音视频技术系列文章1---视频添加字幕

最近对视频创作感兴趣&#xff0c; 详情见之前写的几篇文章。 【AI应用】模仿爆款视频二次创作短视频操作步骤 【人工智能】AI数字人视频演示 【人工智能】AI视频二次创作演示 作为程序员出身的我&#xff0c;看到一些功能, 我都有猎奇的习惯&#xff0c; 想着自己用什么技…

【技术栈】Spring Cache 简化 Redis 缓存使用

​ SueWakeup 个人主页&#xff1a;SueWakeup 系列专栏&#xff1a;学习技术栈 个性签名&#xff1a;保留赤子之心也许是种幸运吧 ​ 本文封面由 凯楠&#x1f4f8; 友情提供 目录 本栏传送门 1. Spring Cache 介绍 2. Spring Cache 常用注解 注&#xff1a;手机端浏览本文章…

Spark与flink计算引擎工作原理

Spark是大批量分布式计算引擎框架&#xff0c;scale语言开发的&#xff0c;核心技术是弹性分布式数据集&#xff08;RDD&#xff09;可以快速在内存中对数据集进行多次迭代&#xff0c;支持复杂的数据挖掘算法及图形计算算法&#xff0c;spark与Hadoop区别主要是spark多个作业之…

基于python+vue的stone音乐播放器的设计与实现flask-django-php-nodejs

随着我国经济的高速发展与人们生活水平的日益提高&#xff0c;人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下&#xff0c;人们更趋向于足不出户解决生活上的问题&#xff0c;stone音乐播放器展现了其蓬勃生命力和广阔的前景。与此同时&#xff0c;为解决用…

Yocto学习笔记1-下载与首次编译

Yocto学习笔记1-下载与首次编译 1、基础环境介绍2、注意点3、安装依赖3.1 yocto常规系统构建所需依赖库&#xff08;较全&#xff09;3.2 龙芯适配时的最小依赖库&#xff08;最小&#xff09; 4、下载4.1 通过git克隆4.2 查看所有远程分支4.3 签出一个长期支持的稳定版本4.4 查…

工业相机采图方式、图像格式(BYTE、HObject和Mat)转换

1、概述 机器视觉项目中&#xff0c;如何采集到合适的图像是项目的第一步&#xff0c;也是最重要的一步&#xff0c;直接关系到后面图像处理算法及最终执行的结果。所以采用不同的工业相机成像以及如何转换成图像处理库所需要的格式成为项目开发中首先要考虑的问题。 2、工业…

微服务day05(中) -- ES索引库操作

索引库就类似数据库表&#xff0c;mapping映射就类似表的结构。 我们要向es中存储数据&#xff0c;必须先创建“库”和“表”。 2.1.mapping映射属性 mapping是对索引库中文档的约束&#xff0c;常见的mapping属性包括&#xff1a; type&#xff1a;字段数据类型&#xff0c;…

数据分析-Pandas序列滑动窗口配置参数

数据分析-Pandas序列滑动窗口配置参数 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表&…

【DataWhale】灵境Agent开发——低代码创建AI智能体

灵境Agent开发——低代码创建AI智能体 3 灵境 Agent 低代码开发 ​ 低代码模式支持开发者通过编排工作流的方式快速构建智能体&#xff0c;您可以通过拖拽和组合模型、提示词、代码等模块&#xff0c;实现准确的、复杂的业务流程。 ​ 个人体验下来&#xff0c;目前这个低代…