<硬件有关> 内存攒机认知入门,内存的选择 配置 laptop PC 服务器
原因
这不是黑五吗,给我儿子买了台最便宜 ($300) DELL laptop,CPU 是 i5-1235U,但只有 8GB 内存。升级内存吧。
如何选择内存:家用范围
这里不考虑品牌,在我眼里,区别就是价格,还有所谓的物理寿命。
1. 什么是 SODIMM, UDIMM
内存模块形式 | SODIMM 小型双列直插内存模块 Small Outline Dual In-line Memory Module | UDIMM 非缓冲双列直插内存模块 Unbuffered Dual In-line Memory Module |
尺寸 | 比标准 DIMM 模块小 676mm | 标准大小,长度通常为 1333mm |
主要用途 | 适合紧凑设备(Laptop, mini PC, NAS) | 适合台式机和工作站 |
针脚数量 PIN | DDR3:204 针,DDR4: 260针,DDR5: 262针 | DDR3: 240针,DDR4: 288针,DDR5: 288针 |
散热性能 | 一般 无散热片 | 可以配备散热片,或散热系统 |
unbuffered | 内存模块和内存控制器直接通信,而不通过额外的寄存器(缓冲器)进行中转 | 内存模块和内存控制器直接通信,而不通过额外的寄存器(缓冲器)进行中转 |
ECC | 一般没有, 特殊型号会有 | 带ECC 不带ECC都很常见 |
注: ECC Error-Correcting Code 的缩写,用于检测和纠正数据在存储或传输过程中发生的错误。
a. ECC 内存与非 ECC 内存的区别
特性 | ECC 内存 | 非 ECC 内存 |
---|---|---|
功能 | 自动检测并纠正单比特错误 | 无错误检测和校正功能 |
用途 | 服务器、工作站、关键任务设备 | 普通台式机、笔记本 |
成本 | 更高 | 较低 |
性能 | 略低 | 稍高 |
兼容性 | 需要支持 ECC 的主板和 CPU | 广泛支持 |
2. 性能参数 CAS 与 Mhz
a. CAS = CL
CAS (列地址选通延迟 Column Address Strobe Latency), 常使用 CL 来表示,,单位是 纳秒(ns)。它是 内存模块的一个关键指标,用于衡量内存响应数据请求的延迟时间。它表示从内存控制器向 RAM (暂时理解为内存上的存储芯片吧) 发送数据请求到内存实际开始传输数据之间所需的时钟周期数量。所以数值越小就越快,也会越贵。
例如:
- CL22:表示内存需要 22 个时钟周期来响应数据请求。
- CL20:表示内存需要 20 个时钟周期来响应数据请求。
因此,CL20 比 CL22 更快,因为它的延迟更低。
b. 运行频率 Mhz
解释:内存模块运行时就有了 时钟速度(单位:MHz=兆赫兹=百万赫兹),用来表示内存每秒能进行多少个周期的操作(能处理数据的次数)。更高的频率通常意味着内存能以更快的速度传输数据。
在同频率下:
实际延迟时间 = (CAS 延迟 ÷ 内存频率) × 2000(将频率的单位 MHz 转换为实际的时间单位:纳秒)
例子:
DDR4-3200 CL22: (22÷3200)×2000=13.75(22 ÷ 3200) × 2000 = 13.75(22÷3200)×2000=13.75 纳秒。
DDR4-3200 CL20: (20÷3200)×2000=12.5(20 ÷ 3200) × 2000 = 12.5(20÷3200)×2000=12.5 纳秒。
因此,在相同频率下,CL20 的性能比 CL22 稍快。
c. 1Rx8、2Rx8 和 1Rx16、2Rx16 的含义
i. Rx8 和 Rx16 的解释
-
R(Rank):表示内存的“排”数量。Rank 是内存控制器可同时访问的一组 DRAM 芯片。
- 1R(Single Rank):单排内存。只有一组芯片可供访问。
- 2R(Dual Rank):双排内存。有两组芯片,内存控制器可以交替访问,提高性能。
-
x8 和 x16:指的是每颗内存芯片的数据宽度:
- x8:每颗芯片 8 位数据宽度(1 字节)。通常每排有 8 颗芯片。
- x16:每颗芯片 16 位数据宽度(2 字节)。通常每排只有 4 颗芯片。
ii. 1Rx8 和 2Rx8 的特点
- 1Rx8:
- 单排内存,每排有 8 颗 x8 宽度的芯片。
- 性能好,延迟低,是主流台式机和笔记本内存的常见配置。
- 2Rx8:
- 双排内存,每排也有 8 颗 x8 宽度的芯片(共 16 颗芯片)。
- 优点:双排的交替访问机制使性能略优于单排(尤其是在多线程任务中)。
- 缺点:成本略高,占用的内存插槽资源更多。
iii. Rx8 和 Rx16 的比较
参数 | Rx8 模块 (1Rx8/2Rx8) | Rx16 模块 (1Rx16/2Rx16) |
---|---|---|
每颗芯片宽度 | 8 位 (1 字节) | 16 位 (2 字节) |
每排芯片数量 | 8 颗芯片 | 4 颗芯片 |
性能 | 性能高,适合桌面和高端设备 | 性能较低,便携设备 |
兼容性 | 桌面和服务器 | 手机 |
3. 双倍数据速率 DDR
现代内存大多采用 DDR(Double Data Rate) 技术,在 一个时钟周期的上升沿和下降沿 都可以传输数据,因此实际的数据传输速率是频率的两倍。
内存的技术: | 特点 | 应用 |
SDR(Single Data Rate) | DDR 内存的前,每个时钟周期只能传输一次数据 | Pentium 586 时代 CPU |
RDRAM(Rambus Dynamic RAM) | 数据速率较高,但延迟较大,散热不好,当年攒电脑买过 | 被 DDR 系列淘汰 |
LPDDR(Low Power DDR) | DDR 内存的低功耗版本 | 智能手机、平板电脑和超薄笔记本 |
GDDR(Graphics DDR) | 专为图形处理单元(GPU)设计的内存,与 DDR 相似, 优化并行计算与高带宽 | GPU、显卡、图形计算 |
HBM(High Bandwidth Memory) | 高性能计算和图形任务设计,采用 3D 堆叠技术,高带宽 | 高端显卡,AI 这类高性能运算 |
SRAM(Static RAM) | 静态内存,不需要像 DRAM 那样频繁刷新数据。数据保留时间长,速度快,容量小,贵 | CPU 的缓存(L1、L2、L3 缓存) |
NVRAM(Non-Volatile RAM) | 非易失性内存,断电后数据不会丢失 | 固件存储(BIOS/UEFI) |
MRAM(Magnetoresistive RAM) | 新型非易失性内存,速度快,能耗低,寿命长,理论上可以替代 DRAM | |
Flash Memory | 不同于 DRAM,先擦除再写入,读快写慢 | SSD、USB |
Optane Memory(3D XPoint) | 接近 DRAM 的速度和非易失性的特点 | 高速缓存,加速系统存储性能 |
还有 486 的 DRAM, SIMM 恩,想了很久,因为用过。 编完这些,想想写到哪儿了。
举例说一下:
如:DDR4-3200 , 标称频率是 3200 MHz。 但 DDR=Double Data Rate = 双倍数据速率,实际时钟频率是 1600 MHz(数据速率是 1600 × 2 = 3200 MT/s,即每秒传输 3200 百万次数据)。
4. 内存通道的概念
- 单通道内存(Single Channel Memory):
- 只有一个内存通道在工作,内存控制器一次只能访问一条内存。
- 数据传输带宽较低。
- 双通道内存(Dual Channel Memory):
- 两条内存同时工作,内存控制器可以同时访问两条内存。
- 数据传输带宽翻倍,性能显著提升。
如果, 8GB+16GB 混用, 系统会运行在一种混合模式(Asymmetric Dual Channel 或 Flex Mode),内存控制器会把两条内存中的相同容量部分(8GB)运行在 双通道模式,来自 16GB 内存条多余的 8GB,只能以 单通道模式 运行。如果数据在这里,性能会降低。
5. 主机兼容的内存
a. 参考 CPU 规格
例: 我订购的这台 Laptop 用的是 i5-1235U
查看 Intel 产品页: Intel® Core™ i5-1235U Processor
Memory Specifications | |
Max Memory Size (dependent on memory type) | 64 GB |
Memory Types | Up to DDR5 4800 MT/s Up to DDR4 3200 MT/s Up to LPDDR5 5200 MT/s Up to LPDDR4x 4267 MT/s |
Max # of Memory Channels | 2 |
ECC Memory Supported | no |
b. 参考 主板
这个没有 Not avilable
c. 参考 Laptop 产品页
地址: 产品内存参考页
Mt/s: 每秒内存模块能够传输的数据操作数(MegaTransfers per second),即百万次传输, MT/s 实际上是数据传输速度的标称值。
Memory slots | Two SODIMM |
Memory type | DDR4 |
Memory speed | 2666 MT/s (With non-Type-C configuration) 3200 MT/s (With Type-C configuration) NOTE:Systems with 11th Generation Intel Core (or Tiger Lake) do not offer Type-C. |
Maximum memory configuration | 16 GB |
Minimum memory configuration | 4 GB |
Memory size per slot | 4 GB, 8 GB, 16 GB |
Memory configurations supported | 4 GB, 1 x 4 GB, DDR4 8 GB, 1 x 8 GB, DDR4 12 GB, 1 x 4 GB + 1 X 8 GB, DDR4 16 GB, 1 x 16 GB, DDR4 8 GB, 2 x 4 GB, DDR4, dual-channel 16 GB, 2 x 8 GB, DDR4, dual-channel |
d. 分析1: 最大内存数量
组装厂产品页,写的最大内存是 16GB, 但 Intel 说可以到 64GB,我更相信 Intel。
e. 分析2: 运行频率
MT/s 和 MHz 的关系: 在 DDR 内存中,MT/s 是实际时钟频率 (MHz) 的两倍:
MT/s=2×MHz
举例:
还是以 DDR4-3200 内存:
3200 MT/s:表示每秒可以进行 3200 万次数据传输。
1600 MHz:表示时钟频率为 1600 MHz,时钟每秒产生 1600 万个周期。
两者的关系:3200 MT/s=2×1600 MHz3200 (在 2.a 里,明白为什么有 2000), 前面说过“DDR4-3200 , 标称频率是 3200 MHz。 但 DDR=Double Data Rate = 双倍数据速率,实际时钟频率是 1600 MHz”, 所以下面说的,与这段无关
f. 内存运行频率与 CPU 关系
既然 CPU 支持了 DDR4 DDR5, 只要是安装的内存,是这个类型的 DDR4/5,应该都能用,只是上限速度被限制在, 如:DDR4-3200 MT/s. 3200MHz。 但下限是无所谓的。
例1:
CPU: Up to DDR4 3200 MT/s
如果我有 SODIMM DDR4-2400MHz 内存,是可以用的, 只是因为内存“频率” 低,会与 CPU 之间的通信保持在 2400Mt/s, 其整体性能,要比安装 DDR4-2600MHz 的轻微的慢点儿。
例2:
CPU: Up to DDR4 3200 MT/s
如果我有 SODIMM DDR4-4000MHz 内存,不会因为内存“频率” 太高,也是可以用的, 它只能与 CPU 之间的通信保持在 3200Mt/s, 其整体性能,不会因安装 DDR4-3600MHz 变快的。
总结:
实例操作1:
条件:
DELL 组装厂的设计,只能使用 SODIMM DDR4 类型内存。
Intel CPU 支持 DDR4 上限速度 3200MT/s
如果有 CL22 CL18 可以选择, 想速度最快,最接近 CPU 的上限,
就用:
SODIMM DDR4-3200MHz CL18 内存条
实例操作2:
条件:
如果你有旧电脑用的是 SODIMM DDR4-1600MHz,想装在这个笔记本上。 CPU 会以 1600MT/s 与内存通讯,性能会比用 SODIMM DDR4-3200MHz
两种内存的带宽差距:
内存带宽计算公式: 内存带宽 (GB/s) = 频率 (MT/s)×总位宽 (位) / 8x1000
频率 | DDR4-1600 (1600 MT/s) | DDR4-3200 (3200 MT/s) |
实际时钟频率 | 800 MHz | 1600 MHz |
总位宽 | 64 位 | 64 位 |
带宽 | (1600×64)÷8=12.8 GB/s | (3200×64)÷8=25.6 GB/s |
结果: DDR4-3200 的内存带宽是 DDR4-1600 的 两倍(25.6 GB/s vs 12.8 GB/s)
实际性能差距:
轻量任务(上网 看片儿) 估计有10%
多任务,游戏,视频编辑这类需要内存带宽的,可能会到40%甚至50%的性能差距
想起来了,内存还有个 1Rx8、2Rx8 、1Rx16、2Rx16 这个标识。添加到 2.c
实例3:
总之, 想要 PC 性能到极致,又不多花冤钱。
- 看主板支持的内存模块形式 如: SODIMM / UDIMM。
- 主板支持哪代 DDR。
- 看 CPU 支持的 DDR 是哪代。
- 在两个里选出一样的,最高代数的。
- 使用 CPU 主板 支持的最大主频 MT/s MHz
- 选 CAS/CL 数字最低的
- 要双插内存
- 两条内存要一样容量
- BIOS 要检查设置
- 想到再补充
最近刷抖音,看到那些攒电脑的,或多或少的利用认知差距,挣钱。 让我这 爱吃P 工程师,(DY 账号被永久禁言)看着起急。在这里磊了5000多字。
相关文章:

<硬件有关> 内存攒机认知入门,内存的选择 配置 laptop PC 服务器
原因 这不是黑五吗,给我儿子买了台最便宜 ($300) DELL laptop,CPU 是 i5-1235U,但只有 8GB 内存。升级内存吧。 如何选择内存:家用范围 这里不考虑品牌,在我眼里,区别就是价格,还有所谓的物理…...

基于springboot的来访管理系统的设计与实现
文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于springboot的来访管理系统的设计与实…...

window11编译pycdc.exe
一、代码库和参考链接 在对python打包的exe文件进行反编译时,会使用到uncompyle6工具,但是这个工具只支持python3.8及以下,针对更高的版本的python则不能反编译。 关于反编译参考几个文章: Python3.9及以上Pyinstaller 反编译教…...

11.22.2024 面试后记
Watching those fucking ap’s paper is bullshit and wasting your time. you’d mother fucker directly say I’m not qualified. if I’m qualified, how could I see u at this place. your dad is alread being rich and enjoy the world. 抽了一周时间去看那些教授的文章…...

Bug Fix 20241122:缺少lib文件错误
今天有朋友提醒才突然发现 gitee 上传的代码存在两个很严重,同时也很低级的错误。 因为gitee的默认设置不允许二进制文件的提交, 所以PH47框架下的库文件(各逻辑层的库文件),以及Stm32Cube驱动的库文件都没上传到Gi…...

Pinia 实战教程:构建高效的 Vue 3 状态管理系统
前言 在前端开发中,状态管理已成为必不可少的一部分,Vue.js 生态系统中提供了多种状态管理解决方案。Pinia 是 Vue 3 推出的一种全新的状态管理库,旨在取代 Vuex,提供更简洁的 API、更优雅的 TypeScript 支持以及更高效的性能表现…...

springboot3如何集成knife4j 4.x版本及如何进行API注解
1. 什么是Knife4j knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案, 取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍!knife4j的前身是swagger-bootstrap-ui,swagger-bootstrap-ui自1.9.6版本后,正式更名为knife4j为了契合微服务的架构发展,由于原来…...

区块链讲解
区块链技术是一种分布式账本技术,其应用场景和优势可以总结如下: 金融服务:区块链可以用于支付、跨境汇款、证券交易、贷款等金融服务领域,通过去中心化的方式实现快速、低成本、安全的交易。 物联网:区块链可以用于物…...

使用eclipse构建SpringBoot项目
我这里用eclipse2018版本做演示,大家有需要的可以下载Eclipse Downloads | The Eclipse Foundation 1.打开eclipse,选择存放代码的位置 2.选择 file >> new >> project >> 选择springboot文件下的 spring starter project 2.这里选择N…...

uniapp input限制输入负数,以及保留小数点两位.
简单处理的方式 限制输入负数,以及保留小数点两位.: <input type"number" placeholder"请输入" v-model"num"input"numnum.toString().replace(/\-/g,).match(/^\d(?:\.\d{0,2})?/)" /> 可以输入负数,保留两位小数点,把rep…...

《FreeRTOS任务删除篇》
任务删除函数 源码1. 进入临界区1.1 第一步1.2 第二步1.3 第三步1.4 第四步 2. 获取待删除任务的任务控制块TCB3. 从就绪/延迟列表中删除任务4. 从事件列表中删除任务5. 如果待删除任务是当前运行的任务6. 如果待删除任务是其它任务7. 退出临界区7.1 第一步7.2 第二步7.3 第三步…...

递归算法专题一>Pow(x, n)
题目: 解析: 代码: public double myPow(double x, int n) {return n < 0 ? 1.0 / pow(x,-n) : pow(x,n); }private double pow(double x, int n){if(n 0) return 1.0;double tmp pow(x,n / 2);return n % 2 0 ? tmp * tmp : tmp …...

数据结构第一讲
数据结构定义 算法的定义 什么是好算法? 空间复杂度 时间复杂度 例子1 打印1到N之间的正整数 有递归和循环两种方法实现。 但是在数字变大后,递归的方法会导致内存占用过多而崩溃。 而循环则不会 例子2 写程序给定多项式在X处的值 从里往外算的算…...

SHELL笔记(循环)
在 Shell 编程中,循环结构是极为重要的一部分,它能够让我们轻松地重复执行特定的代码块,从而高效地处理各种重复性任务。本文将详细介绍 Shell 中常见的循环结构,包括 for 循环、while 循环和 until 循环,并通过具体的…...

SpringBoot多文件上传
多文件上传是在单文件上传的基础上修改而来,不了解单文件上传可以参考上一篇。以下在将修改部分展示如下: 一、修改upload.html文件: <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title&g…...

MyBatis-数据库连接池、属性文件config.properties、类名简化、MyBatis的整体架构
一、数据库连接池 1、概述 存储实现创建好的连接对象的容器 2、优点 避免了频繁创建和销毁连接对象 3、使用 在使用到连接对象时可在数据库连接池中直接获取 4、实现 不需要我们去实现,框架和一些第三方有现成的组件(C3P0、ADCP、德鲁伊(阿里巴巴)ÿ…...

Flink-Source的使用
Data Sources 是什么呢?就字面意思其实就可以知道:数据来源。 Flink 做为一款流式计算框架,它可用来做批处理,也可以用来做流处理,这个 Data Sources 就是数据的来源地。 flink在批/流处理中常见的source主要有两大类…...

C0031.在Clion中使用mingw编译器来编译opencv的配置方法
mingw编译器编译opencv库的配置方法...

Android——连接MySQL(Java版)
Android——连接MySQL(Java版) 目录: Android——连接MySQL(Java版)一、JDBC1、什么是JDBC2、载入JDBC3、创建JDBC的工具类 二、使用数据库 一、JDBC 1、什么是JDBC JDBC全称Java Database Connectivity,译为Java语言连接数据库,是sun公司制…...

「四」体验HarmonyOS端云一体化开发模板——工程目录结构与云侧工程一键部署AGC云端
关于作者 白晓明 宁夏图尔科技有限公司董事长兼CEO、坚果派联合创始人 华为HDE、润和软件HiHope社区专家、鸿蒙KOL、仓颉KOL 华为开发者学堂/51CTO学堂/CSDN学堂认证讲师 开放原子开源基金会2023开源贡献之星 「目录」 「一」HarmonyOS端云一体化概要 「二」体验HarmonyOS端云一…...

Kotlin:后端开发的新宠
在当今的软件开发领域,编程语言的选择对于项目的成功至关重要。Kotlin,一种由 JetBrains 开发的编程语言,近年来在后端领域逐渐崭露头角,展现出了广阔的应用前景。 一、Kotlin 简介 Kotlin 是一种基于 JVM(Java Virt…...

SSM全家桶 1.Maven
或许总要彻彻底底地绝望一次 才能重新再活一次 —— 24.11.20 maven在如今的idea中已经实现自动配置,不需要我们手动下载 一、Maven的简介和快速入门 Maven 是一款为 Java 项目构建管理、依赖管理的工具(软件),使用 Maven 可以自动化构建测试、打包和发…...

SpringBoot 集成 html2Pdf
一、概述: 1. springboot如何生成pdf,接口可以预览可以下载 2. vue下载通过bold如何下载 3. 一些细节:页脚、页眉、水印、每一页得样式添加 二、直接上代码【主要是一个记录下次开发更快】 模板位置 1. 导入pom包 <dependency><g…...

利用 Watchtower 自动监听并更新正在运行的 Docker 容器
本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 大部分 VPS 和 NAS 用户或多或少都有用 Docker 来部署一些 Self-hosting 的服务,其中大部分项目都是开源项目,更新频率非常高,特别是一些版本 0.x 的项目,及…...

Nodejs开发仿马蜂窝旅游小程序API接口,服务器端开发,商家后台 Vue3+微信小程序+koa+mongodb+node.js
文章目录 🚀 开启您的互联网创业新篇章一、🔥 课程亮点:二、🌐 适合人群:学习这个课程后,您将会收获到三、旅游后台管理系统1.后台登录界面2.后台首页 四、前台旅游小程序1.首页展示2.目的地界面3.搜索功能…...

极限失控的大模型使电力系统面临的跨域攻击风险及应对措施
目录: 0 引言 1 就大模型发生极限失控的风险进行讨论的必要性、紧迫性 1.1 预训练的数据来源 1.2 能力涌现与不可解释性 1.3 大模型与物质世界的连接 1.4 数量效应与失控 1.5 大模型发生极限失控的风险 1.5.1 人工智能反叛所需要素能力的拼图 1.5.2 火种源…...

mybatis-plus方法无效且字段映射失败错误排查
问题: Invalid bound statement (not found): com.htlc.assetswap.mapper.WalletMapper.insert,并且select * 进行查询时带下划线的字段未成功映射。 排查: 1.检查WalletMapper接口,确保继承自BaseMapper 2.启用驼峰命名法映射。a…...

librdns一个开源DNS解析库
原文地址:librdns一个开源DNS解析库 – 无敌牛 欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等 介绍 librdns是一个开源的异步多功能插件式的解析器,用于DNS解析。 源代码地址:GitHub - vstakhov/librdns: Asynchrono…...

Unity3D 逻辑服的Entity, ComponentData与System划分详解
前言 在Unity3D中,逻辑服(Entity, ComponentData和System)是一种非常高效的组件化设计模式,它可以帮助开发者更好地管理游戏中的实体和逻辑。本文将详细介绍Unity3D逻辑服的概念以及如何实现Entity、ComponentData和System的划分。 对惹,这…...

跟《经济学人》学英文:2024年11月23日这期 Why British MPs should vote for assisted dying
Why British MPs should vote for assisted dying A long-awaited liberal reform is in jeopardy in jeopardy:在危险中 jeopardy:美 [ˈdʒepərdi] 危险;危机;风险; 原文: THIS NEWSPAPER believes …...