当前位置: 首页 > news >正文

内存条的构造、原理及性能参数

内存条的构造、原理及性能参数

  • 一、内存条的构造
    • 1.1 外观结构
      • 1.1.1 芯片:大脑
      • 1.1.2 PCB板:骨架
      • 1.1.3 金手指:接口
      • 1.1.4 电容电阻:稳压、稳流
      • 1.1.5 防呆缺口:防错
    • 1.2 内部层次结构
  • 二、内存条的工作原理
    • 2.1 数据的“搬家”过程
    • 2.2 内存的“寻址”机制
    • 2.3 内存的“读写”操作
  • 三、内存条的性能参数
    • 3.1 容量
    • 3.2 频率
    • 3.3 带宽
    • 3.4 时序
    • 3.5 双通道与多通道技术
  • 四、内存条的发展趋势

内存条是电脑中用来暂时存储和访问数据的部件。它就像是一个“飞毛腿快递小哥”,快速、准确地把数据从大仓库“硬盘”送到用户"CPU"手中。假如没有内存,就算CPU跑冒烟,电脑也快不起来。
现在的内存条,容量普遍比较大,动不动十好几G,所以被诅咒的时候少了。想当年,在那个256MB、512MB的年代,打开个大一点儿的程序经常会卡得你痛不欲生。
今天就说说内存条的构造和原理。

一、内存条的构造

1.1 外观结构

1.1.1 芯片:大脑

内存条的核心就是存储芯片(Chip),也就是我们常说的“内存颗粒”,它们是真正保存数据的地方。
在这里插入图片描述
内存条的性能、速度和容量都是由内存芯片决定的。
这些芯片一般采用TSOP(Thin Small Outline Package,薄型小尺寸封装)或BGA(Ball Grid Array,球栅阵列)封装,不同封装的内存条在性能和安装方式上也有所不同。
每个芯片内部包含多个Bank(存储单元),每个Bank又细分为许多Row(行)和Column(列),形成二维矩阵式的排列方式。

1.1.2 PCB板:骨架

PCB板(印制电路板,Printed Circuit Board)就是内存条的电路板,像“骨架”一样承载所有组件,并连接着各个芯片,确保数据能够在芯片之间流畅传输。
PCB板多数都是绿色的,也就是复合树脂板,采用了多层设计,一般为四层或六层。
PCB板上布满了错综复杂的线路和元件,这些线路和元件的设计都经过精心计算,以确保数据传输的准确性和稳定性。

1.1.3 金手指:接口

金手指,就是内存条边上一排金色手指形的触点,直接与主板上的插槽连接。金手指一般采用镀金工艺,以提高导电性能和抗氧化能力。
当内存条插入主板插槽时,金手指与插槽内的触点紧密接触,实现数据的传输和交换。

1.1.4 电容电阻:稳压、稳流

在内存条上有许多附加的电容和电阻,采用的是贴片元件,以C代表电容,R代表电阻。
电容作为电源滤波器,能够稳定内存模块的电压和电流。一般来说,电容越大,则内存模块的电压波动越小,内存稳定性就会更好。但是,电容越大也会导致内存访问时延加大,降低内存条带宽。
电阻主要起限流和稳压作用。当内存条工作时,电流会在电路中产生波动,这时电阻就能够限制电流的大小,避免电路中的元器件受到过大的冲击而损坏。同时,电阻还能稳定电压,确保内存条在稳定的工作环境下运行。

1.1.5 防呆缺口:防错

防呆缺口就是防止内存条插反的小缺口,有了它,插反了插不进去。
在这里插入图片描述

1.2 内部层次结构

内存条内部遵循着严格的分层架构:Channel(内存通道) -> DIMM(内存条) -> Rank(面) -> Chip(内存颗粒) -> Bank(颗粒层) -> Cell(存储单元,row/column由行列两个数值决定)
这一序列反映了从宏观到微观的数据组织形式,具体说明如下:

  • Channel(内存通道):指的是CPU与内存之间的数据传输通道(参见《跑道加一条,速度翻一倍:内存通道的提速秘密》);
  • DIMM(内存条):代表物理内存条本身;
  • Rank(面):表示内存条的两个面,即正面、反面,两面都分布有存储芯片;
  • Chip(内存颗粒):即前文提到的存储芯片;
  • Bank(颗粒层):是每个芯片内部分割出来的逻辑分区,它是分片的;
  • Cell(存储单元):最后到达的具体存储单元,由行列地址定位。
    在这里插入图片描述
    在这里插入图片描述

二、内存条的工作原理

内存条的工作原理,简单来说,就是把数据从一个地方“搬”到另一个地方。但这个“搬”的过程,可远比我们想象中的复杂得多。

2.1 数据的“搬家”过程

当你打开一个程序或文件时,数据会从硬盘这个“大仓库”里被读取出来,然后通过内存条这个“中转站”被传输到CPU这个“处理中心”进行处理。处理完成后,数据再被传回内存条或硬盘进行存储。在这个过程中,内存条就像是一个“高速通道”,让数据能够迅速地在硬盘、CPU之间传输。

2.2 内存的“寻址”机制

要想让数据在内存条里“找到家”,就得靠内存的“寻址”机制。每个存储在内存条里的数据都有一个唯一的地址,就像是我们每个人的身份证号码一样。
当CPU需要访问某个数据时,会通过地址总线把数据的地址发送给内存控制器(Memory Controller),后者会通过内部的“寻址电路”找到对应的数据,然后通过数据总线把数据发送给CPU。
具体的寻址过程是,内存控制器根据地址将命令转发给相应的DIMM。接着,DIMM内部的Rank会选择合适的Chip,进而激活对应的Bank,最终完成对特定Row和Column组合所指向的Cell(存储单元)的操作。
为了准确无误地找到所需信息,内存采用了复杂的寻址机制:

  • Rank选择:通过寻址信号确定哪个面;
  • Bank地址:BA0-BAx决定具体在哪一层;
  • 行选(RAS#):表示接收的是行地址;
  • 列选(CAS#):表示接收的是列地址;
  • 地址线A0-Ax:用于指定确切的行列坐标;
  • 数据总线DQ0-DQ63:负责实际的数据传输,一次最多可携带64bit的数据量。

需要注意的是,由于电脑的内存条都是用电容来存储数据,而电容存在漏电现象,为了保持数据完整性,必须定期进行刷新操作(也就是要给电容充电)。

2.3 内存的“读写”操作

内存的“读写”操作,就像是我们在图书馆里借书和还书一样。当我们需要读取某个数据时,内存条就会像图书馆管理员一样,根据我们提供的地址找到对应的数据并“借”给我们(读取操作)。当我们处理完数据后,再把数据“还”给内存条(写入操作)。内存的读写速度非常快,一般都是以纳秒(ns)为单位来衡量的。

三、内存条的性能参数

了解了内存条的构造和工作原理后,我们再来看看它的性能参数。这些参数就像是内存条的“成绩单”,能够直观地反映出它的性能优劣。

3.1 容量

内存容量(Capacity),顾名思义,就是内存条能够存储的数据量。一般来说,内存容量越大,电脑的运行速度就越快,因为可以同时处理的数据就越多。但是,并不是说内存容量越大就一定越好,因为还需要考虑其他因素,比如内存的频率、时序等。

3.2 频率

内存频率(Memory Frequency),指内存所能达到的最高工作频率。频率越高,数据传输速度就越快。常见的内存频率有100MHz、133MHz、150MHz、166MHz、200MHz、233MHz、266MHz等。一般来说,相同容量的内存条,频率越高价格就越贵。
关于内存频率,里面是有猫腻的,比如DDR4 2400,频率难不成是2400MHz?其实根本没有那么大,真实的频率只有150MHz。关于这个问题老金后面会专门写篇文章。

3.3 带宽

内存带宽(Memory Bandwidth)就是内存条每秒钟能够传输的最大数据量。带宽越大,数据传输的速度就越快。
内存频率和带宽都是反映存取数据快慢的指标。内存带宽的计算公式是:带宽=频率×位宽/8。
位宽是一个时钟周期内所能传送数据的位数,以bit为单位,所以需要除以8转换成字节。因此,在选择内存条时,除了考虑频率外,还需要关注它的位宽。
还是以DDR4 2400为例,频率为150MHz,位宽为1024bit,则带宽为:
150 M H z × 1024 b i t 8 = 19.2 G B \frac{150MHz\times1024bit}{8}=19.2GB 8150MHz×1024bit=19.2GB
这个19.2GB就是你能查到的DDR4 2400的带宽。
实际上这个带宽也有水分,因为频率单位的换算关系是1000,而字节的换算单位是1024,上面的19.2GB是实际上是用1000作为换算单位的,即它的计算过程是这样的:
150 M H z × 1024 b i t 8 = 150 × 1 0 6 H z × 1024 b i t 8 B = 150 × 1 0 6 H z × 1024 b i t 8 × 1 0 9 G B = 19.2 G B \begin{align*} \frac{150MHz\times1024bit}{8}&=\frac{150\times10^6Hz\times1024bit}{8} B\\ &=\frac{150\times10^6Hz\times1024bit}{8\times10^9} GB\\ &=19.2GB \end{align*} 8150MHz×1024bit=8150×106Hz×1024bitB=8×109150×106Hz×1024bitGB=19.2GB
严格来讲应该这样算:
150 M H z × 1024 b i t 8 = 150 × 1 0 6 H z × 1024 b i t 8 B = 150 × 1 0 6 H z × 1024 b i t 8 × 102 4 3 G B = 17.9 G B \begin{align*} \frac{150MHz\times1024bit}{8}&=\frac{150\times10^6Hz\times1024bit}{8} B\\ &=\frac{150\times10^6Hz\times1024bit}{8\times1024^3} GB\\ &=17.9GB \end{align*} 8150MHz×1024bit=8150×106Hz×1024bitB=8×10243150×106Hz×1024bitGB=17.9GB

3.4 时序

内存时序(Memory Timings),是内存条的一个重要参数,它表示内存条在接收到读写指令后到完成读写操作所需要的时间。时序越小,内存的响应时间就越短,性能也就越好。但是,时序的降低往往会带来功耗的增加和稳定性的下降,所以需要在性能和稳定性之间找到一个平衡点。

3.5 双通道与多通道技术

为了进一步提高带宽利用率,现代主板普遍支持双通道乃至四通道模式。在这种情况下,每一对DIMM都可以被视为一个独立的传输通道,从而显著增强了系统的吞吐能力。此外,某些高端服务器还会配备ECC校验功能,有效降低了数据传输错误的概率。

四、内存条的发展趋势

近年来,随着硬件制造工艺不断进步,内存领域也涌现出一批令人瞩目的新技术:

  • HBM(High Bandwidth Memory):高带宽内存直接安装在GPU旁边,大幅缩短了二者之间的物理距离,实现了前所未有的数据传输速率。
  • GDDR(Graphics Double Data Rate):专为图形渲染设计的高性能显存,拥有更高的频率和更低的延迟,广泛应用于游戏显卡和专业工作站。
  • 3D XPoint:英特尔推出的非易失性存储介质,结合了闪存和传统DRAM的优点,提供了接近DRAM的速度和持久化特性。

附:内存相关文章
内存泄漏简介:不断消耗资源的吞噬者
不堪回首的“内存”
内存原理:计算机存储的核心奥秘
内存的升级换代之路
跑道加一条,速度翻一倍:内存通道的提速秘密

相关文章:

内存条的构造、原理及性能参数

内存条的构造、原理及性能参数 一、内存条的构造1.1 外观结构1.1.1 芯片:大脑1.1.2 PCB板:骨架1.1.3 金手指:接口1.1.4 电容电阻:稳压、稳流1.1.5 防呆缺口:防错 1.2 内部层次结构 二、内存条的工作原理2.1 数据的“搬…...

鸿蒙模块概念和应用启动相关类(HAP、HAR、HSP、AbilityStage、UIAbility、WindowStage、window)

目录 鸿蒙模块概念 HAP entry feature har shared 使用场景 HAP、HAR、HSP介绍 HAP、HAR、HSP开发 应用的启动 AbilityStage UIAbility WindowStage Window 拉起应用到显示到前台流程 鸿蒙模块概念 HAP hap包是手机安装的最小单元,1个app包含一个或…...

SQLark 百灵连接工具便捷功能之生成数据库测试数据

参考此文: SQLark百灵连接工具--数据生成...

ChirpIoT技术的优势以及局限性

ChirpIoT是一种由上海磐启微电子开发的国产无线射频通讯技术,ChirpIoT技术基于磐启多年对雷达等线性扩频信号的深入研究,并在此基础上对线性扩频信号的变化进行了改进,实现了远距离传输的一种无线通信技术。相关产品型号有E29-400T22D、E290-…...

Jetpack架构组件学习——使用Glance实现桌面小组件

基本使用 1.添加依赖 添加Glance依赖: // For AppWidgets supportimplementation "androidx.glance:glance-appwidget:1.1.0"// For interop APIs with Material 3implementation "androidx.glance:glance-material3:1.1.0"// For interop APIs with Mater…...

C++函数——fill

在C中,std::fill 是标准库提供的一个算法适用于几乎所有类型的容器,只要这些容器支持迭代器操作。具体来说,std::fill 的适用性取决于容器是否提供了满足其要求的迭代器类型,用于将指定范围内的所有元素设置为某个特定值。它是一个…...

二叉树(了解)c++

二叉树是一种特殊的树型结构,它的特点是: 每个结点至多只有2棵子树(即二叉树中不存在度大于2的结点) 并且二叉树的子树有左右之分,其次序不能任意颠倒,因此是一颗有序树 以A结点为例,左边的B是它的左孩子,右边的C是…...

备赛蓝桥杯之第十五届职业院校组省赛第三题:产品360度展示

提示:本篇文章仅仅是作者自己目前在备赛蓝桥杯中,自己学习与刷题的学习笔记,写的不好,欢迎大家批评与建议 由于个别题目代码量与题目量偏大,请大家自己去蓝桥杯官网【连接高校和企业 - 蓝桥云课】去寻找原题&#xff0…...

业余无线电 对讲机常用频率使用

我自己的总结是,基本可以无忧使用: 144.035-145.800 146.000-148.000 430.000-431.900 432.240-435.000 438.000-439.000 50Mhz一般手台不支持,暂不记录。 以下为附录可以自行阅读,本文内容如有错误请留言指正。 特定波段…...

个性化的语言模型构建思路

将开源模型(如Llama3、Qwen、Falcon3 … 等)转变为个人专属的大语言模型,通常涉及知识库的构建、微调(fine-tuning)和模型定制等步骤。下面提供一个详细的技术解决方案,涵盖了如何利用现有的资料(如文档、PDF、Excel、PPT、图片、语音、视频等)将开源模型转换为个人专属…...

QT开发技术【QFileDialog卡顿问题】

一、直接用QFileDialog 在window 一般卡顿7秒 qDebug() << "begin:" << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz");QDateTime sTime QDateTime::currentDateTime();QString str QFileDialog::getOpenFileName(null…...

关于为什么java中nextInt()和nextLine()不能混用 | nextInt()和nextInt()之类的可以一起用

键盘录入的区别&#xff1a; 第一套体系&#xff1a;遇到空格、制表符、回车都结束&#xff0c;并且都不接收 nextInt()、nextDouble()、next() 遇到空格、制表符、回车就结束&#xff0c;只接收其之前的数据&#xff0c;空格以及空格之后的数据都在缓冲区内&#xff0c;如果…...

Android OpenGL(六) 纹理

纹理 纹理是一个2D图片&#xff08;甚至也有1D和3D的纹理&#xff09;&#xff0c; 它可以用来添加物体的细节&#xff1b;你可以想象纹理是一张绘有砖块的纸&#xff0c;无缝折叠贴合到你的3D的 房子上&#xff0c;这样你的房子看起来就像有砖墙外表了 纹理环绕方式 纹理坐…...

git和idea重新安装后提交异常

场景&#xff1a;我重装了系统&#xff0c;idea装了2024.3版本的&#xff0c;git也重新装了&#xff0c;但是项目中还是有.git文件夹的&#xff0c;下载了idea的码云插件后&#xff0c;提交报错如下&#xff1a; 异常&#xff1a;Error updating changes: detected dubious ow…...

leetcode刷题记录(八十一)——236. 二叉树的最近公共祖先

&#xff08;一&#xff09;问题描述 236. 二叉树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09;236. 二叉树的最近公共祖先 - 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科 [https://baike.baidu.com/item/%E6%9C%80%E8%BF%91%E5%85%AC%E5%85%B…...

STM32-CAN总线

1.CAN总线简介 CAN总线是由BOSCH公司开发的一种简洁易用、传输速度快、易扩展、可靠性高的串行通信总线 2.CAN总线特征 两根通信线&#xff08;CAN_H、CAN_L&#xff09;&#xff0c;线路少&#xff0c;无需共地差分信号通信&#xff08;相对的是单端信号&#xff09;&#…...

node.js 07.npm下包慢的问题与nrm的使用

一.npm下包慢 因为npm i 默认从npm官网服务器进行下包,但是npm官网服务器是海外服务器所以响应很慢. 于是我们通过npm下包的时候通常用淘宝镜像进行下包,下面是切换到淘宝镜像地址下包的操作. 二.nrm的使用 nrm是一个管理切换npm下包地址的工具,可以快速切换下包的地址. 安…...

ubuntu改变swap存储空间,遇到 fallocate 失败: 文本文件忙

ubuntu改变swap存储空间&#xff0c;遇到 fallocate 失败: 文本文件忙 sudo fallocate -l 16G /swapfile fallocate: fallocate 失败: 文本文件忙这种情况是swap空间正在使用&#xff0c;需要先关闭swap分区&#xff1a; sudo swapoff /swapfile sudo fallocate -l 16G /swap…...

20250122-正则表达式

1. 正则标记 表示一位字符&#xff1a;\\ 表示指定的一位字符&#xff1a;x 表示任意的一位字符&#xff1a;. 表示任意一位数字&#xff1a;\d 表示任意一位非数字&#xff1a;\D 表示任意一个字母&#xff1a;[a-zA-Z]&#xff08;大写或小写&#xff09; 表示任意一个…...

QT之CMAKE教程

介绍 CMake 是一个跨平台的自动化构建系统&#xff0c;它使用配置文件&#xff08;称为 CMakeLists.txt&#xff09;来生成标准的构建文件&#xff0c;如 Unix 的 Makefile 或 Windows 的 Visual Studio 工程文件。CMake 能够支持多种编程语言&#xff0c;尤其是 C 和 C&#…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...