Por que a memória RAM influencia no desempenho do micro?



A princípio, tecnicamente falando, a memória RAM não possui qualquer tipo de influência sobre o desempenho do processador da máquina: a memória RAM não tem o poder de fazer com que o processador do micro trabalhe mais rápido, isto é, a memória RAM não aumenta o desempenho de processamento do processador.

Então, qual é a relação da memória RAM com desempenho? A história não é tão simples quanto parece e precisaremos explicar um pouco mais como o micro funciona para que você entenda a fundo a relação da memória RAM com o desempenho da máquina.

O processador do micro busca instruções que estejam armazenadas na memória RAM do micro para serem executadas. Se essas instruções não estiverem armazenadas na memória RAM, elas terão de ser transferidas antes do disco rígido (ou de qualquer outro sistema de armazenamento, como disquetes, CDs-ROM e Zip-disks) para a memória RAM - o famoso processo de "carregar" um programa.

Assim, uma maior quantidade de memória RAM significa que cabem mais instruções nessa memória e, então, programas maiores podem ser carregados de uma só vez. Todos os sistemas operacionais atuais trabalham com o conceito de multitarefa, onde podemos executar mais de um programa ao mesmo tempo. Você pode, por exemplo, ter um processador de textos e uma planilha eletrônica abertos ("carregados") ao mesmo tempo na memória RAM. Porém, dependendo da quantidade de memória RAM que o seu micro tenha, pode ser que esses programas tenham instruções demais e, portanto, não "caibam" ao mesmo tempo (ou mesmo sozinho, dependendo do programa) na memória RAM.

A princípio, se você pede para o micro carregar um programa e ele não "cabe" na memória RAM porque há pouca memória RAM instalada no micro ou porque ela já está cheia demais, o sistema operacional teria de emitir uma mensagem do tipo "Memória Insuficiente".

Porém isso não ocorre por conta de um recurso que todos os processadores desde o 386 possuem, chamado memória virtual. Com esse recurso, o processador da máquina cria no disco rígido um arquivo chamado arquivo de troca (swap file), que é usado para armazenar dados da memória RAM. Assim, se você chama um programa que não cabe na RAM, o sistema operacional "joga" para o arquivo de troca pedaços de programas que estejam atualmente armazenados na memória RAM e que não estejam sendo acessados, liberando espaço na memória RAM e permitindo que o programa possa ser carregado. Quando você precisar acessar um pedaço de programa que o sistema tenha armazenado no disco rígido, é feito o processo inverso: o sistema armazena no disco trechos de memória que não estejam sendo utilizados no momento e transfere de volta o conteúdo original da memória.

O problema é que o disco rígido é um sistema mecânico, e não eletrônico. Isso significa que a transferência de dados entre o disco rígido e a memória RAM é muito mais lenta do que a transferência de dados entre o processador e a memória RAM. Para você ter uma idéia de grandeza, o processador comunica-se com a memória RAM tipicamente a uma taxa de transferência de 800 MB/s (barramento de 100 MHz), enquanto que os discos rígidos transferem dados a taxas como 33 MB/s, 66 MB/s e 100 MB/s, dependendo de sua tecnologia (DMA/33, DMA/66 e DMA/100, respectivamente).

Com isso, toda a vez que o micro executa uma troca de dados da memória com o arquivo de troca do disco rígido, você percebe uma lentidão, já que essa troca não é imediata.

Quando instalamos mais memória RAM no micro, o que ocorre é que a probabilidade de a memória RAM "acabar" e haver a necessidade de haver uma troca com o arquivo de troca do disco rígido é menor, e, portanto, você percebe que o micro está mais rápido do que antes.

Para uma idéia mais clara, suponha que seu micro tenha 64 MB de memória RAM e todos os programas juntos que estão carregados (abertos) ao mesmo tempo ocupem 100 MB. Isso significa que obrigatoriamente o sistema está usando o recurso de memória virtual, fazendo trocas com o disco rígido. Entretanto, se esse mesmo micro tivesse 128 MB, não haveria a necessidade de efetuar nenhuma troca com o disco rígido (supondo os mesmos programas carregados), fazendo com que o micro fique mais rápido.