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

<硬件有关> 内存攒机认知入门,内存的选择 配置 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)适合台式机和工作站
针脚数量 PINDDR3: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 TypesUp 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 Supportedno

b. 参考 主板

这个没有 Not avilable 

c. 参考 Laptop 产品页

地址: 产品内存参考页

Mt/s: 每秒内存模块能够传输的数据操作数(MegaTransfers per second),即百万次传输, MT/s 实际上是数据传输速度的标称值。 

Memory slotsTwo SODIMM
Memory typeDDR4
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 configuration4 GB
Memory size per slot4 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 MHz1600 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 性能到极致,又不多花冤钱。 

  1. 看主板支持的内存模块形式 如: SODIMM / UDIMM。
  2. 主板支持哪代 DDR。
  3. 看 CPU 支持的 DDR 是哪代。
  4. 在两个里选出一样的,最高代数的。
  5. 使用 CPU 主板 支持的最大主频 MT/s MHz
  6. 选 CAS/CL 数字最低的
  7. 要双插内存
  8. 两条内存要一样容量
  9. BIOS 要检查设置
  10. 想到再补充

最近刷抖音,看到那些攒电脑的,或多或少的利用认知差距,挣钱。 让我这 爱吃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)

题目&#xff1a; 解析&#xff1a; 代码&#xff1a; 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 …...

数据结构第一讲

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

SHELL笔记(循环)

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

SpringBoot多文件上传

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

MyBatis-数据库连接池、属性文件config.properties、类名简化、MyBatis的整体架构

一、数据库连接池 1、概述 存储实现创建好的连接对象的容器 2、优点 避免了频繁创建和销毁连接对象 3、使用 在使用到连接对象时可在数据库连接池中直接获取 4、实现 不需要我们去实现,框架和一些第三方有现成的组件&#xff08;C3P0、ADCP、德鲁伊(阿里巴巴)&#xff…...

Flink-Source的使用

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

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

mingw编译器编译opencv库的配置方法...

Android——连接MySQL(Java版)

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

「四」体验HarmonyOS端云一体化开发模板——工程目录结构与云侧工程一键部署AGC云端

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

Kotlin:后端开发的新宠

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

SSM全家桶 1.Maven

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

SpringBoot 集成 html2Pdf

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

利用 Watchtower 自动监听并更新正在运行的 Docker 容器

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

Nodejs开发仿马蜂窝旅游小程序API接口,服务器端开发,商家后台 Vue3+微信小程序+koa+mongodb+node.js

文章目录 &#x1f680; 开启您的互联网创业新篇章一、&#x1f525; 课程亮点&#xff1a;二、&#x1f310; 适合人群&#xff1a;学习这个课程后&#xff0c;您将会收获到三、旅游后台管理系统1.后台登录界面2.后台首页 四、前台旅游小程序1.首页展示2.目的地界面3.搜索功能…...

极限失控的大模型使电力系统面临的跨域攻击风险及应对措施

目录&#xff1a; 0 引言 1 就大模型发生极限失控的风险进行讨论的必要性、紧迫性 1.1 预训练的数据来源 1.2 能力涌现与不可解释性 1.3 大模型与物质世界的连接 1.4 数量效应与失控 1.5 大模型发生极限失控的风险 1.5.1 人工智能反叛所需要素能力的拼图 1.5.2 火种源…...

mybatis-plus方法无效且字段映射失败错误排查

问题&#xff1a; Invalid bound statement (not found): com.htlc.assetswap.mapper.WalletMapper.insert&#xff0c;并且select * 进行查询时带下划线的字段未成功映射。 排查&#xff1a; 1.检查WalletMapper接口&#xff0c;确保继承自BaseMapper 2.启用驼峰命名法映射。a…...

librdns一个开源DNS解析库

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

Unity3D 逻辑服的Entity, ComponentData与System划分详解

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

跟《经济学人》学英文: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&#xff1a;在危险中 jeopardy&#xff1a;美 [ˈdʒepərdi] 危险&#xff1b;危机&#xff1b;风险&#xff1b; 原文&#xff1a; THIS NEWSPAPER believes …...