0

我计划在具有双处理器、基于 Intel 的 Nehalem 微架构和三通道 RAM 的工作站上运行 32 位 Windows XP。即使 XP 被限制为 4 GB 的 RAM,我的理解是它可以在安装超过 4 GB 的情况下运行,但只会暴露 4 GB(或略少)。

我的问题是:假设 6 GB 的 RAM 安装在六个 1 GB 的模块中,Windows 实际将哪个物理 4 GB 映射到它的地址空间?

尤其:

  • 它会使用所有六个 1 GB 模块,利用所有内存通道吗?(我的猜测是肯定的,并且到组内各个模块的映射发生在硬件中。)

  • 它会将 2 GB 的地址空间映射到两个 NUMA 节点中的每一个(因为每个处理器都有自己的内存接口),还是一个处理器可以快速访问 3 GB RAM,而另一个处理器只有 1 GB?

谢谢!

4

1 回答 1

0

这个问题在SuperUser得到了回答。因为这里没有其他回复,所以我在回复我自己的问题,以便可以轻松找到相关信息。

自从提出这个问题后,我还看到了 Mark Russinovich 的这篇博文,解释了 Windows XP 内核如何处理内存。

总之,似乎发生的事情是内核,即使它支持 PAE,也会将所有物理内存地址截断为 32 位,这意味着只会使用最低的4 GB物理RAM。这又由硬件映射到内存模块,并且对应于第一个模块三元组的全部(总共 3 GB)和第二个三元组的三分之一(分布在其所有三个模块中 - 总共 1 GB) .

因此,所有内存通道都将被利用,但 NUMA 节点之间的内存量不会平衡。

于 2011-04-16T14:09:20.100 回答