内存系列一:快速读懂内存条标签

news/2024/11/22 17:57:43/
内存是我们平常接触最频繁的计算机硬件之一,内存的大小、多寡和型号和我们计算机、手机等性能密切相关。内存系列计划通过三篇文章由浅入深介绍内存的软硬件特性以及与固件的关系。这是第一篇,以一个生活情景给读者介绍内存的背景知识,为后面打下基础。

情景

小张有一定的计算机背景知识,最近他在京东上买了两条DDR3的内存,打算把笔记本升级成8G。可是一拆开包装到就傻眼了:

4GB看起来很好,两根刚好8GB。2Rx8是啥,PC3又是啥,10600似乎和他想买的1333的差好远,后面那串数字又代表什么呢?

小张找到了我,让我帮忙给他说说这些字母和数字都代表什么。我最是好为人师,于是开始了我们今天的介绍。

什么是DIMM?

在80286时代,内存颗粒(Chip)是直接插在主板上的,叫做DIP(Dual In-line Package)。到了80386时代,换成1片焊有内存颗粒的电路板,叫做SIMM(Single-Inline Memory Module)。由阵脚形态变化成电路板带来了很多好处:模块化,安装便利等等,由此DIY市场才有可能产生。当时SIMM的位宽是32bit,即一个周期读取4个字节,到了奔腾时,位宽变为64bit,即8个字节,于是SIMM就顺势变为DIMM(Double-Inline Memory Module)。这种形态一直延续至今,也是内存条的基本形态。

说到这里,小张着急了:”这和我的内存有啥关系?“。当然有关系,就是和10600S的S有关,现在DIMM分为很多种:

RDIMM: 全称(Registered DIMM),寄存型模组,主要用在服务器上,为了增加内存的容量和稳定性分有ECC和无ECC两种,但市场上几乎都是ECC的。

UDIMM:全称(Unbuffered DIMM),无缓冲型模组,这是我们平时所用到的标准台式电脑DIMM,分有ECC和无ECC两种,一般是无ECC的。

SO-DIMM:全称(Small Outline DIMM),小外型DIMM,笔记本电脑中所使用的DIMM,分ECC和无ECC两种。

Mini-DIMM:DDR2时代新出现的模组类型,它是Registered DIMM的缩小版本,用于刀片式服务器等对体积要求苛刻的高端领域。

一般内存长度 133.35mm,SO-DIMM为了适应笔记本内狭小的空间,缩短为67.6mm而且一般为侧式插入。高度也有些变种,一般的内存条高度为30mm,VLP(Very Low Profile)降低为18.3mm,而ULP(Ultra Low Profile)更是矮化到17.8mm,主要是为了放入1U的刀片服务器中。

大小关系如下图:

小张这下知道10600S中S代表了SO-DIMM,看来大小没错。不过速度呢?

DDR到DDR4

为了照顾小张的急性子,我就跳过了SDRAM(Synchronous Dynamic random access memory)后DDR和Rambus/RDRAM争天下的故事。DDR SDRAM全称为Double Data Rate SDRAM,中文名为“双倍数据流SDRAM”。DDR SDRAM在原有的SDRAM的基础上改进而来。也正因为如此,DDR能够凭借着转产成本优势来打败昔日的对手RDRAM,成为当今的主流。顾名思义,和原本的SDRAM相比,DDR SDRAM一个时钟周期要传输两次数据:

从DDR到DDR4主要的区别是在于传输速率的不同,随着时钟周期的不断降低,传输率也不断提高。还有电压也越来越低。有趣的是命名规则,大部分台式机DIMM厂商都会标注DDRx-yyy,x代表第几代,yyy代表数据传输率。而大部分的SO-DIMM和RDIMM等则标注PCx-zzzz,x还代表第几代,zzzz则代表最大带宽。因为DDR位宽为64位,8个字节,所以zzzz=yyy * 8,而yyy又是时钟的两倍。下面这张表是主要的各代DDR内存的速度:

所以小张的内存条上的PC3-10600S代表DDR3,1333MHz的SO-DIMM。小张又问,那2R*8啥意思呢?

RANK和BANK

其实从外观上就可以看出来小张的内存条由很多海力士的内存颗粒组成。从内存控制器到内存颗粒内部逻辑,笼统上讲从大到小为:channel>DIMM>rank>chip>bank>row/column,如下图:

一个现实的例子是:

Channel-->通道(现在台式机也非常多双通道的了,服务器基本都是双通道)

DIMM-->插槽

rank-->排或面(现在的内存条大多是双面的,或者说是两排,rank1,rank2)

chip-->芯片或者叫IC(一般一rank(面)上8个芯片,显卡上可能有16个芯片)

bank-->层,这些bank共享一个memory I/O controller, 但是在每个bank内部的读写可以并行进行。

row-->行,column-->(列)一层bank上就像excel的一张sheet表,例如16384rows*1024column

在这个例子中,一个i7 CPU支持两个Channel(双通道),每个Channel上可以插俩个DIMM,而每个DIMM由两个rank构成,8个chip组成一个rank。由于现在多数内存颗粒的位宽是8bit,而CPU带宽是64bit,所以经常是8个颗粒可以组成一个rank。所以小张的内存条2R * 8的意思是由2个rank组成,每个rank八个内存颗粒。由于整个内存是4GB,我们可以算出单个内存颗粒是256MB。

后记

小张这下放心了,不过他提起看到过不少内存条上都有很多数字标记,如:

这些是什么呢?其实,这是内存颗粒的时延(Latency)数据,如4-4-4-8, 5-5-5-15, 7-7-7-21, 或9-9-9-24,分别代表 CL-tRCD-tRP-tRAS的数据,越小越好。具体这些都是什么,就需要更深入的知识了,我们将会在下一篇硬件原理中讲到,而且我们还会在UEFI的memory reference code(MRC)部分再详细深入说明这些参数的具体使用。

如果你和小张一样意犹未尽,在下一篇文章之前大家可以思考下面几个问题:

  1. 每一代内存条宽度都一样,会不会插错呢?[因为防呆口不同,所以不会插错]
  2. 从前面各代内存速度表可以看出,每一代和前一代带宽都有部分重复,这是为什么?[]
  3. 前一代和下一代如果带宽一样,那个performance更好呢?[单从带宽来讲是一样的]

转载于:https://www.cnblogs.com/tcicy/p/10087392.html


http://www.ppmy.cn/news/206584.html

相关文章

Redis 集群模式与主从模式 适用于不同的应用场景

0、前提 阅读本文之前,请先了解 redis 的集群模式和 主从模式。 redis 集群模式: https://xiaojin21cen.blog.csdn.net/article/details/70493858 redis 主从模式: https://xiaojin21cen.blog.csdn.net/article/details/70046036 1、 Redi…

路径规划算法:基于蝠鲼觅食优化的路径规划算法- 附代码

路径规划算法:基于蝠鲼觅食优化的路径规划算法- 附代码 文章目录 路径规划算法:基于蝠鲼觅食优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化…

Unity制作二次元卡通渲染角色材质——3、高光反射与ILM贴图

Unity制作二次元材质角色 回到目录 大家好,我是阿赵。 这里继续来讲二次元角色的材质。上次讲了光影的色阶化问题,这次继续讲光照模型效果的问题。 之前我们说过,光照模型的最后效果是: 环境色漫反射高光反射。 这里我们可以先忽略…

【MyBatis】2、MyBatis 的动态 SQL 和增删改操作

目录 一、添加(1) 基本插入(2) 设置新插入记录的主键&#xff08;id&#xff09;★ 二、更新三、删除四、动态 SQL(1) if 标签(2) where 标签(3) foreach 标签 五、起别名六、sql 标签七、在 MyBatis 中集成 druid 连接池 一、添加 (1) 基本插入 <mapper namespace"s…

近年GDC服务器分享合集(三): 《Sky光·遇》实现百万在线:一种云原生的扩容方法

如今&#xff0c;游戏行业对于云原生技术的使用越来越广泛。特别是那些拥有海量玩家在线的游戏&#xff0c;使用云原生技术可以轻松做到高可用、弹性扩容和降低成本。在GDC 2022上&#xff0c;来自《Sky光遇》项目的工程师分享了相关的经验——《《Sky光遇》实现百万在线&#…

解读Gartner《2015年度新兴技术成熟度曲线报告》

详细见&#xff1a;http://www.360doc.com/content/16/0209/16/26186435_533443133.shtml 今年的报告评估了112个领域超过2000项新型技术的市场类型、成熟度、商业好处及未来发展&#xff0c;与过去两年相比有一些明显的变化。 Hype Cycle for Emerging Technologies, 2015 Hyp…

建立三年学习思路 教你系统有效的自学摄影

最近好多新人加我微信问想学摄影&#xff0c;无从入手&#xff0c;怎么办&#xff1f; 我想我还是系统的来谈谈这个问题比较好&#xff0c;当然&#xff0c;话题仅限于刚入门的朋友参考&#xff0c;老鸟自动忽略即可。本文首先是谈思路&#xff0c;然后谈方法&#xff0c;不做具…

django任务列表

获取商品列表数据 业务需求 需要对商品数据进行分页支持&#xff0c;并且可以按照创建时间&#xff08;默认&#xff09;、价格、销量&#xff08;人气&#xff09;进行排序。 后端接口设计 请求方式&#xff1a; GET /categories/(?P<category_id>\d)/skus?pagexx…