jump to navigation

4GB de RAM no meu computador mas o Windows só reconhece 3GB” February 3, 2009

Posted by Samuel RIbeiro in Windows Vista.
trackback

Bom dia, o Título desse post é o mais chato pra mim no que se diz de WINDOWS . já cansei as vezes de responder  a está pergunta que muitos entendem como problema, e na verdade não é. todos sabemos que toda regra tem uma excessão então pra quem ainda tem essa dúvida por favor leia esse post e entenda de uma vez por todas.:)
 

“Eu instalei 4GB de RAM no meu computador mas o Windows só reconhece 3GB”

Há algumas semanas atrás um amigo comprou um novo tabletpc da HP com um processador Turion 64 e o Windows Vista 32-bit e instalou 4GB de memória RAM. Quando ele viu que a BIOS reconhecia 4GB mas o Windows só enxergava 3.1GB ele me pediu ajuda.

Parece haver grande confusão no que é conhecido como “limite de 4GB de memória do Windows”, a maior parte das pessoas normalmente dizem que um aplicativo de 32-bit do Windows pode acessar apenas 4GB de memória, mas não é bem assim, na verdade, é mais ou menos…

O problema

Por definição, um processador de 32-bit usa 32 bits para referenciar cada byte da memória. O espaço de endereçamento de 32 bits pode referenciar no máximo 4.2 bilhões de pontos únicos (2^32=4.2 bilhões, 4GB). Se o Windows usa um espaço de 32 bits e se o processador da máquina é de 32 bits, por que então ele não reconhece 4GB?

Vários dispositivos em um computador requerem acesso à memória para poderem ser comunicar com o Windows. Isso é conhecido como “Memory-Mapped I/O” ou MMIO. Devido a uma decisão tomada há um bom tempo, durante a elaboração da arquitetura do sistema, para que o espaço de endereçamento do MMIO esteja disponível aos aplicativos, ele precisa estar contido dentro dos 4GB de espaço endereçável, o que é conhecido como “Memory Mapped I/O Reservations”.

Por exemplo, se você tem uma placa de vídeo com 256MB de memória onboard, essa memória precisa estar mapeada dentro dos 4GB disponíveis para endereçamento. Se o computador possui 4GB de memória instalada, parte desse espaço não poderá ser acessado por já ter sido reservado para o mapeamento da memória da placa de vídeo. O Windows não usará a memória RAM para armazenar as texturas e os objetos tridimensionais, ele usará a memória onboard da placa, o MMIO é só a forma que o Windows tem de se comunicar com o hardware. O mapeamento da memória da placa de vídeo e de outros componentes do hardware (placa de captura de TV, portas USB, placas de som…) precedem o mapeamento da memória RAM instalada, sendo assim, tais condições reduzem a quantidade total de memória que fica disponível para o sistema operacional.

A redução da quantidade de memória disponível depende dos dispositivos instalados, entretanto, para evitar possíveis problemas de incompatibilidade de hardware, as versões de 32-bit do Windows Vista limitam o total de memória disponível em 3.12GB.

Contudo, se o computador em questão possuir muitos dispositivos instalados a quantidade de memória disponível pode ser reduzida para 3GB ou menos.

Para explicar melhor o problema é necessário saber o que é e como funciona a virtualização de memória.

Virtualização de Memória

No Windows de 32bits, cada programa tem 4GB de memória “virtual”. Isso significa que do ponto de vista do processo, ele possui 4GB de memória plana e limpa para usar e o Memory Management Unit (Unidade de Gerenciamento de Memória) ou MMU reserva a memória instalada conforme os aplicativos forem necessitando, gerencia que aplicativo está usando qual parte da memória e o arquivo de paginação. Quando um processo referencia um ponto na memória virtual, tal ponto precisa ser “traduzido” para a memória real para que então o processador realize a operação desejada. Tal processo é conhecido como “Page translations”.

Dentro do espaço de 4GB de cada processo, 2GB são dedicados para uso do Kernel e os 2GB restantes são para uso do aplicativo. Cada processo recebe 2GB só para si, mas todos compartilham os mesmos 2GB reservados para o Kernel.

Não se confunda: Adicionar mais de 4GB não muda o fato de ser um sistema de 32 bits acessando um espaço de memória de 32 bits. Mesmo que mais de 4GB de memória estejam presentes, cada processo continuará a receber seus 2GB privados e seus 2GB compartilhados com o Kernel, como em todo sistema que não suporte a extensão do espaço de endereçamento físico.

Então o que pode ser feito?

Para que o Windows Vista utilize 4GB de memória em um computador com 4GB de memória instalada, a primeira coisa que é necessário fazer é trocar a versão do sistema de 32-bit para 64-bit, por que como foi dito antes, não importa o que você faça, as versões de 32-bit do Windows Vista não reconhecerão mais que 3.12GB.

Se o Windows Vista 64-bit já estiver sendo usado, então o problema não está no sistema operacional e sim no hardware.

O seu processador precisa suportar o conjunto de instruções x64, incluído nos processadores Intel EM64T e AMD64. Esse novo conjunto conta com um espaço de endereçamento de 40 bits, que é muita coisa comparado com os conjuntos anteriores, que limitavam seus espaços de endereçamento à 36 ou até 32 bits.

Outro ponto decisivo é a capacidade que o seu chipset possui de mapear memória acima de 4GB. A grande maioria dos chipsets feitos para desktops e portatéis a venda hoje no país aparentemente não oferecem esse suporte (o que com certeza mudará com o tempo). Alguns chipsets que oferecem suporte são: Intel 975X, P965, 955X (com soquete 755) ou os que suportam processadores da AMD que usam os soquetes 940, 939 ou AM2.

Quer saber mais a respeito?

http://support.microsoft.com/kb/929605/en-us
http://www.brianmadden.com/content/article/The-4GB-Windows-Memory-Limit-What-does-it-really-mean-
http://blogs.msdn.com/hiltonl/archive/2007/04/13/the-3gb-not-4gb-ram-problem.aspx

Ref.: http://lorenzeto.com/2008/01/07/meu-micro-nao-reconhece-4gb-de-memoria-ram-entenda-a-razao-disso/

 

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: