2017-04-06 43 views
1

一个假设的情景是,当一台计算机有两个dimms时,内存控制器如何在两者之间分配数据?内存控制器如何将数据分配给DIMM?

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

我会说每dimm银行/行大小有一定意义,因为我们将有大量同时有效的行缓冲区,并可能增加带宽。

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

回答

1

Here他提出了一定的成果基础上做实验英特尔的Sandy Bridge的CPU:

0-5位:这是字节指数的低6位在一行内(即6位索引到64字节缓存行)。

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

位7-13:这些是行内索引的高7位(即列号的高位)。 位14-16:它们与行号的最低3位进行异或运算以得到3位的组号。第17位:这是一个1位的等级号码,它在DIMM的2个等级(通常是DIMM的电路板的两侧)之间进行选择。

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

位33+:这些可被设置,因为物理内存开始于大于0

更大的物理地址
相关问题