Memory 内存控制器如何将数据分配到DIMM?

Memory 内存控制器如何将数据分配到DIMM?,memory,cpu,ram,Memory,Cpu,Ram,假设一台计算机有两个DIMM,内存控制器如何在这两个DIMM之间分配数据 它必须使用地址中的一些位,但是哪些位以及为什么使用这些位 我想说,每dimm存储组/行大小有一定意义,因为我们会有大量并发有效的行缓冲区,并且可能会增加带宽 实际上是如何做到的?(让我们假设x86上有一个通用的CPU体系结构)他根据对英特尔桑迪桥CPU的实验给出了一些结果: 位0-5:这是一行中字节索引的低6位(即64字节缓存线中的6位索引) 位6:这是一个1位通道号,可在2个DIMM之间进行选择 第7-13位:这是一行中

假设一台计算机有两个DIMM,内存控制器如何在这两个DIMM之间分配数据

它必须使用地址中的一些位,但是哪些位以及为什么使用这些位

我想说,每dimm存储组/行大小有一定意义,因为我们会有大量并发有效的行缓冲区,并且可能会增加带宽

实际上是如何做到的?(让我们假设x86上有一个通用的CPU体系结构)

他根据对英特尔桑迪桥CPU的实验给出了一些结果:

位0-5:这是一行中字节索引的低6位(即64字节缓存线中的6位索引)

位6:这是一个1位通道号,可在2个DIMM之间进行选择

第7-13位:这是一行中索引的上7位(即列号的高位)。 位14-16:这些与行号底部的3位异或得到3位的银行号

位17:这是一个1位列组编号,在DIMM的2个列组(通常是DIMM电路板的两侧)之间进行选择

位18-32:这是15位的行号

位33+:可以设置这些位,因为物理内存从大于0的物理地址开始