Capítulo 4: Memórias

A memória RAM é um componente essencial não apenas nos PCs, mas em qualquer tipo de computador. Por mais que exista espaço de armazenamento disponível, na forma de um HD ou memória flash, é sempre necessária uma certa quantidade de memória RAM e,
naturalmente, quanto mais melhor.

Graças ao uso da memória swap, é possível rodar a maioria dos sistemas operacionais modernos com quantidades relativamente pequenas de memória. No caso do Linux, é possível inicializar uma instalação enxuta (em modo texto, com pouca coisa além do
Kernel e o interpretador de comandos) com apenas 4 MB de memória. O problema é que com pouca memória o sistema fica extremamente lento, como qualquer um que já tentou usar o Windows XP ou uma distribuição Linux recente, com o Gnome ou KDE em um PC com
menos de 128 MB de memória pode dizer. 🙂

A sigla “RAM” vem de “Random Access Memory”, ou “memória de acesso aleatório”, indicando a principal característica da memória RAM, que é o fato de permitir o acesso direto a qualquer um dos endereços disponíveis e de forma bastante rápida.

Ao carregar um programa, ele é lido no HD (ou outra mídia de armazenamento) e é transferido para a memória RAM, para só então ser executado pelo processador. A memória RAM oferece tempos de acesso brutalmente mais baixos que o HD e trabalha com taxas
de transferência muito mais altas, mas possui a desvantagem de perder os dados armazenados quando o micro é desligado, daí a necessidade de salvar os arquivos periodicamente.

É também por causa disso que o processo de boot é refeito cada vez que você liga o micro. Durante o boot, o sistema operacional, drivers, bibliotecas e aplicativos são novamente copiados para a memória, junto com suas configurações e preferências.

A única forma de evitar repetir o demorado processo de boot é manter a memória RAM ativa, ou salvar seu conteúdo no HD, recuperando-o no próximo boot. Essas são as estratégias usadas pelas opções de suspender e hibernar, disponíveis tanto no Windows
quanto em várias distribuições Linux.

Ao suspender, a maioria dos componentes do sistema são desligados, incluindo o HD, a placa de vídeo e a maior parte dos componentes da placa-mãe. Mesmo o processador entra em um estágio de baixo consumo, onde a maior parte dos componentes internos são
desativados e o clock é reduzido. Praticamente, os únicos componentes que continuam realmente ativos são os módulos de memória. Graças a isso o PC acaba consumindo (geralmente) menos de 20 watts de energia e pode voltar ao estágio original muito
rapidamente.

Ao hibernar, o conteúdo da memória RAM é copiado para uma área reservada do HD e o micro é desligado. Ao ligar novamente, o conteúdo da memória é restaurado e temos o sistema de volta, sem precisar passar pelo processo normal de boot. O problema da
hibernação é que a restauração demora muito mais tempo, já que é necessário ler 512 MB, 1 GB ou mesmo 4 GB de dados (equivalentes à quantidade de memória RAM instalada) a partir do HD, o que muitas vezes demora mais do que um boot completo. 🙂

Além dos diferentes tipos de memória RAM, existem também outras tecnologias de memórias de acesso aleatório, como as SRAM e mais recentemente as MRAM. Temos ainda as onipresentes memórias Flash (que veremos em detalhes mais adiante), que concorrem com
os HDs como mídia de armazenamento.

O tipo mais comum de memória RAM, aquela que compramos na forma de módulos e instalamos na placa-mãe, é chamada de DRAM, ou “dynamic RAM”. Como vimos no capítulo 1, a memória DRAM passou a ser usada apenas a partir do final da década de 70,
substituindo os chips de memória SRAM, que eram muito mais caros. Com o passar do tempo, as memória DRAM viraram o padrão, de forma que geralmente dizemos apenas “memória RAM” e não “memória DRAM”.

Num chip de memória DRAM, cada bit é formado pelo conjunto de um transístor e um capacitor. O transístor controla a passagem da corrente elétrica, enquanto o capacitor a armazena por um curto período. Quando o capacitor contém um impulso elétrico,
temos um bit 1 e quando ele está descarregado, temos um bit 0.

Quando falo em “capacitor”, tenha em mente que não estamos falando em nada similar aos capacitores eletrolíticos da placa-mãe. Os “capacitores” usados nos chips de memória são extremamente pequenos e simples, basicamente dois pequenos blocos de metal
ligados ao transístor, que conservam o impulso elétrico por apenas uma fração de segundo.

Para evitar a perda dos dados, a placa-mãe inclui um circuito de refresh, que é responsável por regravar o conteúdo da memória várias vezes por segundo (a cada 64 milessegundos ou menos), algo similar ao que temos num monitor CRT, onde o canhão de
elétrons do monitor precisa atualizar a imagem várias vezes por segundo para evitar que as células de fósforo percam seu brilho.

O processo de refresh atrapalha duplamente, pois consome energia (que acaba sendo transformada em calor, contribuindo para o aquecimento do micro) e torna o acesso à memória mais lento. Apesar disso, não existe muito o que fazer, pois a única solução
seria passar a usar memória SRAM, que é absurdamente mais cara.

A principal diferença é que na memória SRAM cada célula é formada por 4 ou 6 transístores, em vez de apenas um. Dois deles controlam a leitura e gravação de dados, enquanto os demais formam a célula que armazena o impulso elétrico (a célula continua
armazenando um único bit). As memórias SRAM são muito mais rápidas e não precisam de refresh, o que faz com que também consumam pouca energia. Além de ser usada como memória cache, a memória SRAM é muito usada em palmtops e celulares, onde o consumo
elétrico é uma questão crítica.

Seria perfeitamente possível construir um PC que usasse memória SRAM como memória principal, mas o custo seria proibitivo. Foi por causa do custo que as memórias DRAM passaram a ser utilizadas em primeiro lugar.

Mesmo utilizando um único transístor por bit, os módulos de memória RAM são formados por um número assustador deles, muito mais que os processadores e outros componentes. Um módulo de memória de 1 GB, por exemplo, é formado geralmente por 8 chips de 1
gigabit cada um (8 gigabits = 1 gigabyte). Cada chip possui então mais de 1 bilhão de transístores e capacitores e o módulo inteiro acumula mais de 8 bilhões de conjuntos.

Apesar dessa brutal quantidade de transistores, os chips de memória são relativamente simples de se produzir, já que basta repetir a mesma estrutura indefinidamente. É muito diferente de um processador, que além de ser muito mais complexo, precisa ser
capaz de operar a freqüências muito mais altas.

Com a evolução nas técnicas de fabricação, os módulos de memória foram ficando cada vez mais baratos com o passar das décadas. Na época dos micros 486, chegava-se a pagar 40 dólares por megabyte de memória, valor que hoje em dia compra um módulo de 512
MB (ou até mais). O problema é que os requisitos dos sistemas operacionais e aplicativos também aumentaram, quase que na mesma proporção. Enquanto o MS-DOS rodava bem com 2 ou 4 MB de memória, o Windows 95 já precisava de pelo menos 16 MB. O Windows XP
(assim como a maioria das distribuições Linux atuais) não roda bem com menos de 256 MB, enquanto no Vista o ideal é usar 1 GB ou mais.

Na maioria das situações, ter uma quantidade suficiente de memória RAM instalada é mais importante que o desempenho do processador, pois sem memória RAM suficiente o sistema passa a utilizar memória swap, que é absurdamente mais lenta.

Enquanto uma seqüência de 4 leituras em um módulo de memória DDR2-800 demora cerca de 35 bilionésimos de segundo, um acesso a um setor qualquer do HD demora pelo menos 10 milésimos. A taxa de transferência nominal do mesmo módulo de memória é de 6.4
GB/s, enquanto mesmo um HD rápido, de 7200 RPM tem dificuldades para superar a marca de 60 MB/s, mesmo lendo setores seqüenciais. Ou seja, a memória RAM possui nesse caso um tempo de acesso quase 300.000 vezes menor e uma taxa de transferência contínua
mais de 100 vezes maior que o HD.

Se lembrarmos que a memória RAM já é muito mais lenta que o processador (justamente por isso temos os caches L1 e L2), fica fácil perceber o quanto o uso de memória swap por falta de memória RAM física pode prejudicar o desempenho do sistema.

É fácil monitorar o uso de swap. No Windows XP ou Vista basta pressionar Ctrl+Alt+Del e acessar o gerenciador de tarefas, enquanto no Linux você pode usar o comando “free” ou um aplicativo de gerenciamento, como o ksysguard.

No caso do Windows Vista é possível usar um pendrive como memória adicional, através do ReadyBoost. Neste caso entretanto, o pendrive é usado como uma extensão da memória swap e não como um substituto da memória RAM. Como o pendrive oferece tempos de
acesso muito mais baixos, ele acaba sendo mais eficiente que o HD nessa tarefa, muito embora a taxa de leitura seja geralmente mais baixa.

Esse recurso pode ajudar em micros com pouca memória RAM e também reduzir o tempo de carregamento dos programas. É uma opção para casos em que você já tem o pendrive e procura um uso para ele, mas não espere milagres. Em se tratando de memória, não
existe o que inventar: ou você procura um sistema operacional e programas mais leves, ou compra mais memória. Não dá para ficar em cima do muro. 😉

Como disse há pouco, embora seja brutalmente mais rápida que o HD e outros periféricos, a memória RAM continua sendo muito mais lenta que o processador. O uso de caches diminui a perda de desempenho, reduzindo o número de acessos à memória; mas, quando
o processador não encontra a informação que procura nos caches, precisa recorrer a um doloroso acesso à memória principal, que pode demorar o equivalente a mais de 100 ciclos do processador.

Para reduzir a diferença (ou pelo menos tentar impedir que ela aumente ainda mais), os fabricantes de memória passaram a desenvolver um conjunto de novas tecnologias, a fim de otimizar o acesso aos dados. Acompanhando essas mudanças, tivemos também
alterações físicas no formato dos módulos, de forma que podemos classificar os módulos de memória de duas formas:

* Quanto à tecnologia usada (EDO, SDRAM, DDR, DDR2, etc.)
* Quanto ao formato usado (SIMM, DIMM, etc.)

Vamos a uma explicação mais detalhada:

Sobre o Autor

Redes Sociais:

Deixe seu comentário