2010-04-21 5 views
0

Je prévois d'exécuter Windows XP 32 bits sur un poste de travail doté de deux processeurs, basés sur la microarchitecture Nehalem d'Intel, et d'une RAM triple canal. Même si XP est limité à 4 Go de RAM, je crois comprendre qu'il fonctionnera avec plus de 4 Go installés, mais n'exposera que 4 Go (ou légèrement moins).Mappage d'adresses mémoire sur des modules physiques sous Windows XP

Ma question est la suivante: En supposant que 6 Go de RAM sont installés dans six modules de 1 Go, quel physique 4 Go va-t-il réellement faire correspondre à Windows dans son espace d'adressage?

En particulier:

  • aura-t-il utiliser les six modules de 1 Go, en profitant de tous les canaux de mémoire? (Je suppose que oui, et que le mappage vers des modules individuels au sein d'un groupe se produit dans le matériel.)

  • Va-t-il associer 2 Go d'espace d'adressage à chacun des deux nœuds NUMA (chaque processeur ayant sa propre interface mémoire)), ou un processeur aura-t-il un accès rapide à 3 Go de RAM, alors que l'autre n'a que 1 Go?

Merci!

+0

Probablement plus une question pour serverfault (serverfault.com) ou superuser (superuser.com) – Patrick

+0

Merci pour la suggestion! Je posterai ceci sur superuser.com. Je pense que je vais le laisser ici aussi, car la question est née d'une perspective de programmation et d'optimisation et pourrait être intéressante pour d'autres programmeurs. –

+0

Si vous activez PAE, plus de 4 Go de mémoire seront adressables. La mémoire plus élevée peut être un peu plus lente, et le processus unique ne peut toujours pas utiliser plus de 4 Go. – osgx

Répondre

0

Cette question a reçu une réponse à SuperUser. Parce qu'il n'y a pas d'autres réponses ici, je réponds à ma propre question afin que l'information pertinente puisse facilement être trouvée.

Depuis la question a été posée, j'ai également rencontré this blog post par Mark Russinovich, expliquant comment le noyau Windows XP gère la mémoire.

En conclusion, il semble que ce qui se passe est que le noyau, même si elle est PAE au courant, tronque toutes les adresses de mémoire physique à 32 bits, ce qui signifie que le plus physique 4 Go de RAM sera utilisée. Celui-ci est à son tour mappé par matériel aux modules de mémoire, et correspond à l'intégralité du triplet du premier module (3 Go au total), et un tiers du deuxième triplet (réparti sur les trois modules - 1 Go au total) .

Ainsi, tous les canaux de mémoire seront exploités, mais la quantité de mémoire ne sera pas équilibrée entre les noeuds NUMA.