在购买内存的时候,一般在商品长长的名字里都能看到一个关键词 DIMM,但是更常见的内存描述一般只有 DDR 和内存频率 xxxMHz,那么 DIMM 究竟是什么呢?
计算机刚诞生的时候,内存并没有模块化,而是直接集成在主板上,但是这种方式不灵活,也不方便,逐渐被模块化的内存所取代,最初的模块化内存是 DIP 形式封装的。
DIP
DIP(Dual In-line Package,插座式双列直插封装)内存,比如早期的 8088、XT、AT 电脑就是使用了下面这种长得和蜈蚣似的模块化内存。
▲ DIP 内存
这种设计的内存存在两个问题:
- 容量小;
- 空间占用大:
到了 80286 时代,伴随着软硬件需求的上升,内存的需求也越来越高,DIPs 内存的容量太小了,因此容量相对大很多的 SIMM 内存逐渐取代了 DIP 内存,并且内存从“趴在主板上”变成了“站在主板上”,相对于主板面积来说更加节约了。
SIMM
SIMM(Single In-line Memory Module,单列直插式内存模块),顾名思义,相比于 DIP 内存模块化程度更进一步,体积和外观都相比优化了不少。
▲ SIMM 内存
在二十世纪八十年代初开始(到90年代末),这种内存就已经在计算机中使用。相对于现在动辄几 GB 的容量,那时候几 MB 都是大内存了。
32针 SIMM 内存(8bit)一般有 256KB ~ 4MB,由于 CPU 是 16bit 的,所以还必须成对使用,如果是 32bit 处理器,更要插 4 根。
而72针 SIMM 内存(32bit)一般有 4 ~ 64MB,可以在 386DX、486DX、奔腾586 上使用。此外还有 GVP 和苹果的一些64针专用 SIMM 内存。
但 SIMM 设计也不是很完美,也有它的问题,比如它两面的金手指是其实互通的(迷惑行为?),利用率不高,也就有了后来的设计更完善的 DIMM 内存。
DIMM
DIMM(Dual In-line Memory Modules,双列直插式存储模块),外观和 SIMM 差不多,只是从单变成了双。
▲ DIMM 内存
是的,它变长了,数据位宽也从 32bit 升级到了 64bit,引脚也增加到了 168 针,分布在两面,与 SIMM 内存不同的是,它两面的针脚各自独立,数据传输能力更强了,电压也从 5V 降到了 3.3V,提供了 32MB~1GB 的大容量。
SDR-SDRAM
是不是以为从此内存进入了 DIMM 时代?不,进入的是 SDR SDRAM 时代。
SDR-SDRAM(Single DataRate Synchronous Dynamic Random Access Memory,同步动态随机访问存储器)内存,简单说特征就是“同步”。
▲ SDR-SDRAM 内存
在此之前的内存和 CPU 的外频都是运行在不同频率,也就是“异步” DRAM,而 SDRAM 有一个同步接口,加入了管线(Pipeline)机制,相当于:
原本每个红绿灯路口只能停一辆车,这辆车开过了才能让下一辆车进来,而现在,加长了路口,就算遇到红灯,依然能进来好几辆车,一旦变绿灯,所有车一起开走。而这个等红绿灯的时间,就叫做 Latency(延迟),在超频内存的时候,经常看到(此前的内存延迟是固定的)。
变种 SO-DIMM
笔记本电脑出现后,内存也要考虑体积和功耗,用普通PC的全尺寸内存不太行,于是开发出了 SO-DIMM 笔记本内存就连针脚数都变得更少。
▲ SO-DIMM 内存
变种 FB-DIMM
普通内存采用 Stub-bus (短线连接拓扑结构)和北桥芯片控制器之间,都是通过 64bit 并行总线交换数据的,所以可能受到相邻线路的干扰,因此开发了 FB-DIMM(Fully Buffered DIMM,全缓冲双列直插式存储模块),增加了一颗用于数据中转、读写控制的控制芯片,从“并行”走向“串行”传输,增加了稳定性、速度、容量密度,主要还是给服务器用的。
▲ FB-DIMM 内存 vs DIMM 内存
变种 R-DIMM U-DIMM LR-DIMM
这三种放在一起说,服务器内存主要分为三种:R-DIMM、U-DIMM、LR-DIMM,分别对应带寄存器(Register)版本、不带寄存器版本、以及将 REG 芯片换成 iMB(isolation Memory Buffer,内存隔离缓冲芯片),可以进一步降低内存总线负载,提升内存支持容量。
▲ 两条 8GB DDR4-2133MHz ECC 1.2v R-DIMM
从上图可以看到,RDIMMs 板卡中间有一个更长的芯片,就是对应的“寄存器”芯片,这种内存对处理器的内存控制器施加的负载更低,因此可以实现更大的容量和频率。
需要注意的是:REG 寄存器并不是 ECC,是两种完全不同的技术,但是这两种技术一般在服务器内存上会同时出现,同时也存在非寄存器的 ECC 内存,一般用于工作站等场景。
变种 RDRAM
RDRAM(Rambus DRAM)是 Rambus 设计的一种同步 DRAM,在英特尔 Pentium 4 (478,intel i850)时代,支持这种加入了 RISC 精简指令集的内存模块,可以实现 1.4GHz 的高频率,在当时主流内存频率才 400MHz,但最终因为售价过高,散热要求高,退出了历史的长河。
顺便一提,RDRAM 在1996年的 Nintendo 64 主机及后续的 SONY PS2 和 PS3 上也有使用。
DDR 的出现
DDR 全称是 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory,双倍数据率同步动态随机存取存储器),其实就是双倍速率的 SDRAM,也是 SDRAM 的一种“改良款”。
现在就清楚了,实际上 DDR 是一种存储机制,DIMM 是一种模块类型,可以简单理解为一个是软件规格,一个是硬件规格,类似 NVMe 和 M.2 的关系。
名称 | 发布 时间 |
Chip | Bus | Voltage (V) |
Pins | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
代 | 标准 | Clock rate (MHz) |
Cycle time (ns) |
Pre- fetch |
Clock rate (MHz) |
Transfer rate (MT/s) |
Bandwidth (MB/s) |
DIMM | SO- DIMM |
Micro- DIMM | ||
DDR | DDR-200 | 1998 | 100 | 10 | 2n | 100 | 200 | 1600 | 2.5 | 184 | 200 | 172 |
DDR-266 | 133 | 7.5 | 133 | 266 | 2133⅓ | |||||||
DDR-333 | 166⅔ | 6 | 166⅔ | 333 | 2666⅔ | |||||||
DDR-400 | 200 | 5 | 200 | 400 | 3200 | 2.6 | ||||||
DDR2 | DDR2-400 | 2003 | 100 | 10 | 4n | 200 | 400 | 3200 | 1.8 | 240 | 200 | 214 |
DDR2-533 | 133⅓ | 7.5 | 266⅔ | 533⅓ | 4266⅔ | |||||||
DDR2-667 | 166⅔ | 6 | 333⅓ | 666⅔ | 5333⅓ | |||||||
DDR2-800 | 200 | 5 | 400 | 800 | 6400 | |||||||
DDR2-1066 | 266⅔ | 3.75 | 533⅓ | 1066⅔ | 8533⅓ | |||||||
DDR3 | DDR3-800 | 2007 | 100 | 10 | 8n | 400 | 800 | 6400 | 1.5/1.35 | 240 | 204 | 214 |
DDR3-1066 | 133⅓ | 7.5 | 533⅓ | 1066⅔ | 8533⅓ | |||||||
DDR3-1333 | 166⅔ | 6 | 666⅔ | 1333⅓ | 10666⅔ | |||||||
DDR3-1600 | 200 | 5 | 800 | 1600 | 12800 | |||||||
DDR3-1866 | 233⅓ | 4.29 | 933⅓ | 1866⅔ | 14933⅓ | |||||||
DDR3-2133 | 266⅔ | 3.75 | 1066⅔ | 2133⅓ | 17066⅔ | |||||||
DDR4 | DDR4-1600 | 2014 | 200 | 5 | 8n | 800 | 1600 | 12800 | 1.2/1.05 | 288 | 260 | - |
DDR4-1866 | 233⅓ | 4.29 | 933⅓ | 1866⅔ | 14933⅓ | |||||||
DDR4-2133 | 266⅔ | 3.75 | 1066⅔ | 2133⅓ | 17066⅔ | |||||||
DDR4-2400 | 300 | 3⅓ | 1200 | 2400 | 19200 | |||||||
DDR4-2666 | 333⅓ | 3 | 1333⅓ | 2666⅔ | 21333⅓ | |||||||
DDR4-2933 | 366⅔ | 2.73 | 1466⅔ | 2933⅓ | 23466⅔ | |||||||
DDR4-3200 | 400 | 2.5 | 1600 | 3200 | 25600 | |||||||
DDR5 | DDR5-3200 | 2020 | 200 | 5 | 16n | 1600 | 3200 | 25600 | 1.1 | 288 | 262 | |
DDR5-3600 | 225 | 4.44 | 1800 | 3600 | 28800 | |||||||
DDR5-4000 | 250 | 4 | 2000 | 4000 | 32000 | |||||||
DDR5-4800 | 300 | 3⅓ | 2400 | 4800 | 38400 | |||||||
DDR5-5000 | 312½ | 3.2 | 2500 | 5000 | 40000 | |||||||
DDR5-5120 | 320 | 3⅛ | 2560 | 5120 | 40960 | |||||||
DDR5-5333 | 333⅓ | 3 | 2666⅔ | 5333⅓ | 42666⅔ | |||||||
DDR5-5600 | 350 | 2.86 | 2800 | 5600 | 44800 | |||||||
DDR5-6400 | 400 | 2.5 | 3200 | 6400 | 51200 | |||||||
DDR5-7200 | 450 | 2.22 | 3600 | 7200 | 57600 |
DDR4 的变种
2019年的时候,华硕、芝奇、Zadak还一起搞过一个非JEDEC标准,也就是DC-DIMM(Double Capacity DIMM),就是所谓的“双倍容量条”,可以把内存容量上限提升一倍,
其本质上是把两条内存做到了一起,但大多主板并不支持,支持的只有华硕自家的 M11E、M11G。
疑难问题
内存针脚为什么不平整
平直的内存金手指插入内存插槽后,受到的摩擦力较大,因此内存在难以拔出和难以插入的情况下,DDR4 将内存设计为中间稍突出,边缘收矮的形状。在中央的高点和两端的低点以平滑曲线过度。这样的设计即可以保证内存的金手指和内存插槽有足够的接触面,信号传输确保信号稳定的同时,让中间凸起部分和插槽产生足够的摩擦力稳定内存。接口部分也发生了改变,金手指中间的缺口位置相比 DDR3 更为靠近中央,在金手指触点方面,DDR4 有284个触点,而 DDR3 只有240个,每一个触点距离从1毫米缩减到0.85毫米。
附录
参考链接
- DIMM (dual in-line memory module) - TechTarget
- Types of Server RAM: What's the Difference? - FS community
- 小科普 | DIMM内存是啥?和我们说的DDR有啥关系? - 搜狐
- RAM内存发展历程回顾 - 知乎
- JEDEC 发布 DDR4 NVDIMM-P 非易失内存标准:与现有内存完全兼容 - IT之家
- DDR5内存是怎么做到频率翻倍的? - 超能网
- DDR5内存特性简介。附目前已上市的DDR5内存 - 知乎
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2022-08-28 17:18 PM