1、cpu对内存的支持
有两个内存控制器(IMC,Integrate Memory Controller)。
每个内存控制器上都有一个 DDR PHY。DDR PHY 是连接 DDR 内存条和内存控制器的桥梁。它负在内存控制器和内存条之间做协议信号的转换。
每个 DDR PHY 有 3 个 channels(通道)。每个 channel 有两个内存插槽,也就是说最多可以支持 232 = 12 个内存条
如下图两个 每个cpu 插着12个内存条,两个cpu插满了24个内存条
2、内存的相关参数
- 200 MHz 8 bit
1秒钟 200 000 000 个时钟周期,每个周期传输 8 bit数据(上升沿传输4bit 和 下降沿传输4bit )
每秒钟传输数据体量为 200 000 000 * 8 bit
SDR时代:在最古老的SDR(Single Data Rate SDRAM)年代里,一个时钟脉冲只能在脉冲上沿时传输数据,所以也叫单倍数据传输率内存。这个时期内存的提升方法就是提升内存电路的核心频率。
DDR时代:但是内存制造商们发现核心频率到了200MHz再提升的话,难度就很大了。所以在电路时钟周期内预取2bit,输出的时候就在上升期和下降期各传输一次数据。所以核心频率不变的情况下,Speed(等效频率)就翻倍了。
DDR2时代:同样是在上下沿各传一次数据,但将Prefech提升为4,每个电路周期一次读取4bit。所以DDR2的Speed(等效频率)就达到了核心频率的4倍。
DDR3时代:同样也是上下沿各传一次数据,进一步将Prefect提升为8。所以DDR3的等效频率可以达到核心频率的8倍(上升沿传输4bit 下降沿传输4bit)。
DDR4时代:在数据预取上和DDR3一样,Prefech仍然为8。内存制造商们又另辟蹊径,提出了Bank Group设计。允许各个Bank Group具备独立启动操作读、写等动作特性。所以等效频率可以提升到核心频率的16倍。
最新的DDR5:又把提升Prefech提了上来,每个时钟周期预取16bit的数据。这相比DDR4和DDR3采用Prefech为8翻倍了,进而让等效传输频率也再翻倍。
局限性:需要应用程序的数据局部性足够好才有价值
3、内存条分类
DIMM 是双列直插内存模块。
它的英文全名Dual In-Line Memory Module。
表示的是信号接触在金手指两侧,并且在DIMM条的边沿作为信号接触面
3.1 个人台式机内存
UDIMM:无缓冲双列直插内存模块,是 Unbuffered DIMM 的缩写
指地址和控制信号不经缓冲器,无需做任何时序调整,直接到达DIMM上的DRAM芯片。这种内存虽然没有缓存延迟会比较低,但要求 CPU 到每个内存颗粒之间的传输距离相等,这样就对内存的容量和频率都产生了限制。这种内存由于容量相对较小,但成本便宜,所以在个人台式机上用的比较多。
3.2 个人笔记本内存
SODIMM:小外形模块,是 Small Outline DIMM 的缩写。
在笔记本电脑出现后,对内存的体积和功耗都要求更小一些。SO-DIMM 就是针对笔记本电脑定义的标准。其宽度标准是 67.6 mm。
3.3 服务器RDIMM内存
RDIMM:带寄存器双列直插模块,是 Registered DIMM 的缩写。
RDIMM 在内存条上加了一个寄存缓存器(RCD,Register Clock Driver)进行传输。控制器输出的地址和控制信号经过Register芯片寄存后输出到DRAM芯片。CPU 访问数据时都先经过寄存器再到内存颗粒。减少了 CPU 到内存颗粒的距离,使得频率可以提高。而且不再像之前一样要求每个内存颗粒传输距离相等,工艺复杂度因寄存缓存器的引入而下降,使得容量也可以提高到32GB。主要用在服务器上。
3.4 服务器LRIDMM内存
LRDIMM:低负载双列直插内存模块,是 Load Reduced DIMM 的缩写。
LRDIMM相比RDIMM在引入寄存缓存器RCD的基础上,又进一步引入了数据缓冲器 DB(Data Buffer)。引入数据缓冲器作用是缓冲来自内存控制器或内存颗粒的数据信号。实现了对地址、控制信号、数据的全缓冲。成本更高,但可以支持更大容量,可以提到64GB甚至更高。
3.5 各个类型内存对比
- MT/S
MT/s 是 Mega Transfers per second 的缩写,意思是 每秒百万次传输。
它用来衡量内存或其他数据传输设备在每秒钟内能够完成的数据传输次数。具体解释:
MT/s 的含义:1 MT/s 表示每秒可以进行 100 万次数据传输。
它是衡量数据传输速率的单位,通常用于描述内存(如 DDR 内存)的性能。MT/s 与 MHz 的区别:
MHz(兆赫兹):表示内存的时钟频率,即每秒的时钟周期数。
MT/s:表示实际的数据传输速率。由于现代内存(如 DDR 内存)可以在一个时钟周期内传输多次数据,
因此 MT/s 通常高于 MHz。
例如:DDR 内存每个时钟周期可以传输 2 次数据,所以如果内存的时钟频率是 800 MHz,
那么它的数据传输速率就是 1600 MT/s。MT/s 的重要性:
MT/s 越高,表示内存的数据传输能力越强,性能越好。
它是衡量内存性能的关键指标之一。
示例:
如果一款内存标注为 3200 MT/s,表示它每秒可以进行 32 亿次数据传输。总结:
MT/s 是衡量内存或数据传输设备性能的单位,表示每秒的数据传输次数。数值越高,性能越强。