Mapeo de direcciones de memoria a los módulos físicos en Windows XP
-
30-09-2019 - |
Pregunta
tengo la intención de ejecutar 32-bit Windows XP en una estación de trabajo con dos procesadores, basados ??en la microarquitectura Nehalem de Intel, y la memoria RAM de triple canal. A pesar de que XP se limita a 4 GB de RAM, mi entendimiento es que funcionará con instalado más de 4 GB, pero sólo expondrá a 4 GB (o poco menos).
Mi pregunta es:? Si se asume que 6 GB de RAM se instala en seis módulos de 1 GB, que física 4 GB de Windows realidad del mapa en su espacio de direcciones
En particular:
-
Va ??a utilizar todos los seis módulos 1 GB, tomando ventaja de todos los canales de memoria? (Mi conjetura es que sí, y que la asignación de módulos individuales dentro de un grupo que sucede en el hardware.)
-
Va ??a mapear 2 GB de espacio de direcciones a cada uno de los dos nodos NUMA (ya que cada procesador tiene su propia interfaz de memoria), o será un procesador conseguir un acceso rápido a 3 GB de RAM, mientras que el otro sólo tiene 1 GB?
Gracias!
Solución
Esta pregunta fue respondida en superusuario . Debido a que no hay otras respuestas aquí, estoy respondiendo a mi propia pregunta para que la información relevante se puede encontrar fácilmente.
Desde que se hizo la pregunta, también he llegado a través de esta entrada de blog por Mark Russinovich, explicando cómo la memoria manijas de núcleo de Windows XP.
En conclusión, parece que lo que sucede es que el kernel, a pesar de que es PAE conscientes, trunca todas las direcciones de memoria física de 32 bits, es decir, sólo el más bajo física 4 GB de RAM ser usado. Esto a su vez se asigna por hardware a módulos de memoria, y corresponde a la totalidad de la primera triplete módulo (3 GB en total), y un tercio de la segunda triplete (propagación a través de los tres de sus módulos - 1 GB en total) .
Por lo tanto, será explotado todos los canales de memoria, pero no se equilibrará la cantidad de memoria entre nodos NUMA.