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

时间:2017-04-06 11:34:32

标签: memory cpu ram

假设场景是计算机有2个dimms,内存控制器如何在两者之间分配数据?

它必须使用地址中的一些位,但是哪些位以及这些位的原因。

我会说每个dimm bank / row size都有意义,因为我们会有大量并发有效的行缓冲区并且可能会增加带宽。

它是如何实际完成的? (我们假设x86上有一个通用的CPU架构)

1 个答案:

答案 0 :(得分:1)

Here他根据他对Intel Sandy Bridge CPU的实验提出了一些结果:

  

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

     

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

     

第7-13位:这些是一行中索引的高7位(即列号的高位)。   第14-16位:它们与行号的最后3位进行异或,以给出3位存储区编号。

     

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

     

第18-32位:这些是15位行号。

     

比特33+:这些可能被设置,因为物理内存从大于0的物理地址开始。