Domanda

ho intenzione di correre a 32 bit di Windows XP su una workstation con doppio processore, basato su Nehalem microarchitettura di Intel, e il canale di RAM triple. Anche se XP è limitata a 4 GB di RAM, la mia comprensione è che funzionerà con più di 4 GB installato, ma esporrà solo 4 GB (o poco meno).

La mia domanda è:? Assumendo che 6 GB di RAM è installata in sei moduli 1 GB, che fisico 4 GB sarà di Windows in realtà la mappa nel suo spazio di indirizzi

In particolare:

  • Sarà utilizzare tutte le sei moduli 1 GB, sfruttando tutti i canali di memoria? (La mia ipotesi è sì, e che la mappatura di singoli moduli all'interno di un gruppo che accade in hardware.)

  • Sarà mappa 2 GB di spazio di indirizzi per ciascuno dei due nodi NUMA (come ogni processore ha la propria interfaccia di memoria), o sarà un processore ottenere l'accesso veloce a 3 GB di RAM, mentre l'altro ha solo 1 GB?

Grazie!

È stato utile?

Soluzione

Questa domanda è stato risposto sopra a SuperUser . Poiché non ci sono altre risposte qui, sto rispondendo alla mia domanda in modo che le informazioni pertinenti può facilmente essere trovato.

Poiché la questione è stato chiesto, ho anche venire attraverso questo post del blog da Mark Russinovich, che spiega come le maniglie di memoria del kernel di Windows XP.

In conclusione, sembra che ciò che accade è che il kernel, anche se è PAE conoscenza, tronca tutti gli indirizzi di memoria fisica a 32-bit, il che significa solo il più basso fisico 4 GB di RAM essere utilizzato. Questo a sua volta è mappato da hardware per moduli di memoria, e corrisponde alla totalità del primo modulo tripletta (3 GB in totale), e un terzo della seconda tripletta (diffusione in tutti e tre i moduli - 1 GB in totale) .

In questo modo, sarà sfruttato tutti i canali di memoria, ma la quantità di memoria non sarà bilanciato tra i nodi NUMA.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top