Картирование адресов памяти к физическим модулям в Windows XP
-
30-09-2019 - |
Вопрос
Я планирую запускать 32-битные Windows XP на рабочей станции с двойными процессорами, основываясь на Nehalem MicroArchecture Intel и Triple Channel RAM. Несмотря на то, что XP ограничен 4 ГБ оперативной памяти, мое понимание заключается в том, что он будет функционировать с более чем 4 ГБ, но вызовет только 4 ГБ (или чуть меньше).
Мой вопрос: Предполагая, что 6 ГБ ОЗУ устанавливается в шесть модулей 1 ГБ, какие физические 4 ГБ Windows фактически отображается в его адресное пространство?
Особенно:
Будет ли он использовать все шесть 1 ГБ модули, используя все каналы памяти? (Мое предположение - это да, и что отображение отдельных модулей внутри группы происходит в оборудовании.)
Будет ли это на карте 2 ГБ адресной площади к каждому из двух узлов NUMA (поскольку каждый процессор имеет свой интерфейс памяти), или один процессор получит быстрый доступ к 3 ГБ оперативной памяти, а другой только имеет 1 ГБ?
Спасибо!
Решение
Этот вопрос ответил на Суперпользовательский. Отказ Потому что здесь нет никаких других ответов, я отвечаю на свой вопрос, чтобы получить соответствующую информацию можно легко найти.
Так как вопрос спросил, я также сталкивался этот блог пост Марком Руссинович, объяснив, как Windows XP ядра обрабатывает память.
В заключение, кажется, что то, что происходит, в том, что ядро, хотя это осознает PAE, усекает все адреса физической памяти до 32-битной, что означает только самый низкий физический 4 ГБ ОЗУ будет использоваться. Это, в свою очередь, отображается оборудованием к модулям памяти, и соответствует полноту первого триплета модуля (всего 3 ГБ в общей сложности) и третью второго триплета (распространяется по всем трем его модулям - 1 ГБ в общей сложности) Отказ
Таким образом, все каналы памяти будут эксплуатироваться, но объем памяти не будет сбалансирован между узлами Numa.