Mapeamento de endereços de memória para módulos físicos no Windows XP

5

Eu planejo executar o Windows XP de 32 bits em uma estação de trabalho com dois processadores, com base na microarquitetura Nehalem da Intel e na RAM de três canais. Embora o XP esteja limitado a 4 GB de RAM, o meu entendimento é que ele funcionará com mais de 4 GB instalados, mas apenas exibirá 4 GB (ou um pouco menos).

Minha pergunta é: Supondo que 6 GB de RAM estejam instalados em seis módulos de 1 GB, que 4 GB físicos o Windows mapeará em seu espaço de endereço?

Em particular:

  • Ele utilizará todos os seis módulos de 1 GB, aproveitando todos os canais de memória? (Meu palpite é sim, e que o mapeamento para módulos individuais dentro de um grupo acontece em hardware.)

  • Ele mapeará 2 GB de espaço de endereço para cada um dos dois nós NUMA (já que cada processador possui sua própria interface de memória), ou um processador obterá acesso rápido a 3 GB de RAM, enquanto o outro terá 1 GB?

Obrigado!

    
por Josef Grahn 21.04.2010 / 19:19

1 resposta

2

Meu entendimento é que o controlador da placa-mãe manipulará o mapeamento dos locais da memória virtual para o endereço físico da RAM. Como funciona a memória triple-channel, e como a maioria dos controladores de motherboards funcionam, os dois processadores trabalharão juntos para mapear os 4gb de RAM mais espaçados ao longo dos três primeiros módulos de RAM (preenchendo os três primeiros conjuntos de 3gb, trabalhando juntos primeiro), o último gigabyte espaçado entre os três últimos módulos.

Sem essa implementação, não haveria acesso à memória de "triplo canal", o que prejudicaria muito o desempenho. Além disso, é por isso que a implementação da memória é baseada em hardware em vez de software, portanto, não deve haver problemas em seu fim.

Deve-se notar que o limite de 4gb existe apenas devido ao limite codificado dos endereços de memória de 32 bits, mas não há razão para o software permitir que esse limite seja estendido. Esse limite foi selecionado para problemas de licença, bem como problemas de incompatibilidade de driver (graças Josef Grahn). Este conceito é mais fácil de ser entendido pela compreensão de que sua placa-mãe, assim como a RAM do sistema, é apenas outro componente do sistema. Embora você possa estar limitado em sua RAM de trabalho, você pode realmente acessar o extra de 2GB, mas não permitir que programas sejam executados.

O software existe para permitir que você crie um RAMdisk fora da RAM que está inacessível ao sistema operacional, em ambientes de 32 bits. SuperSpeed tem um programa chamado RamDisk que permitirá que você faça isso. Outra opção é o software Vsuite Ramdisk (ambos diferem ligeiramente - consulte a lista de recursos para ver qual deles atende às suas necessidades ).

Não estou anunciando nenhum software especificamente, mas esses são alguns dos que descobri que permitem a utilização de parte da RAM fora do intervalo endereçável de um sistema operacional de 32 bits. Embora não seja tão bom quanto ter o SO acessando diretamente a RAM, ter um arquivo de paginação baseado em RAM é muito melhor do que um baseado em disco rígido. Se você não quiser usar um arquivo de paginação, também poderá usar o disco RAM extra para programas intensivos de troca de arquivos (por exemplo, edição de imagem ou vídeo).

    
por 11.02.2011 / 18:50