Memórias

Memórias

(Random Access Memory – RAM)

Memória de acesso aleatório (do inglês Random Access Memory, frequentemente abreviado para RAM) é um tipo de memória que permite a leitura e a escrita, utilizada como memória primária em sistemas eletrônicos digitais.

Há duas classes básicas de memória: Memória ROM: Os circuitos de memória ROM só permitem leitura mas, em compensação, não perdem o conteúdo quando são desligados. Além disso, as memórias ROM são mais lentas do que as memórias RAM; Memória RAM: São rápidas, permitem leitura e escrita mas, em compensação, o seu conteúdo é perdido sempre em que são desligadas. Por esse motivo precisamos gravar programas e arquivos de dados em mídia não-eletrônica (discos rígidos, CD`s, etc.).

Para o processador, não há diferença entre acessar uma memória RAM ou ROM — a não ser a velocidade, pois a memória ROM é mais lenta que a RAM. Quando o micro é ligado, um programa gravado na memória ROM da placa-mãe, chamado POST (Power On Self Test) entra em ação, inicializando os circuitos da placa-mãe, o vídeo e executando testes, como o teste da memória. O último passo do POST é carregar o sistema operacional de algum disco para a memória RAM.

É na memória RAM que o processador carrega o sistema operacional, programas e documentos que estejam abertos para serem processados. Dessa forma, o processador acessa a memória RAM praticamente o tempo todo.

Quando você chama um programa que ainda não esteja aberto, o seu código é transferido do disco rígido (ou de outro sistema de armazenamento, como CD-ROM, disquete, Zip-disk, etc.) para a memória RAM, já que é na memória RAM que o processador busca instruções para serem processadas. Quando um programa é carregado do disco rígido para a memória RAM, essa carga não é imediata, você percebe que os dados estão sendo transferidos.

Caso a memória RAM “acabe”, isto é, caso você tente carregar mais dados na memória RAM do que esta comporta (por exemplo, a memória RAM já está cheia e você manda o micro carregar mais um programa), o processador transfere o conteúdo atual da memória RAM para um arquivo do disco rígido, chamado arquivo de troca, liberando espaço na memória RAM. O conteúdo do arquivo de troca é colocado de volta na RAM quando for solicitado algum dado que lá esteja armazenado. Esse processo é conhecido como memória virtual. Quanto mais memória RAM o micro tiver, menor a probabilidade de a memória RAM “acabar” e, com isso, menos trocas com o arquivo de troca do disco rígido serão necessárias. Toda a vez que uma troca é feita, o usuário percebe uma lentidão no micro, pois o acesso ao disco rígido é bem mais lento do que o acesso direto à memória RAM, por ser um sistema mecânico e não eletrônico.

Na Figura abaixo, apresentamos um esquema bastante simplificado de um micro moderno, para que fique claro o caminho que é usado pelo processador na comunicação com os circuitos que acima descrevemos (memória RAM, memória ROM e disco rígido).

Arquitetura simplificada de um PC moderno

Hoje em dia, a memória RAM é mais lenta que o processador. Dessa forma, o processador precisa ficar esperando a memória RAM ficar pronta para entregar ou armazenar dados. Essa espera é chamada wait states e faz com que o desempenho do micro caia.

Daí o porquê de novos tipos de memória RAM estarem sendo constantemente desenvolvidos. Para aumentar o desempenho do micro, o fabricante do processador pode criar processadores trabalhando externamente a altas freqüências de operação. Entretanto, como o circuito externo ao processador que este mais acessa é a memória RAM, não adiantará nada essa maior freqüência de operação externa se a memória RAM não for capaz de acompanhar a velocidade de comunicação do processador.

Além da mudança da tecnologia da memória RAM, outra solução é adotada até hoje: cache de memória. O cache de memória é uma própria RAM mais rápida (chamada memória estática) utilizada para intermediar a comunicação do processador com a memória RAM. Na maioria das vezes, o processador não acessa a memória RAM (que é lenta), mas sim uma cópia de seu conteúdo no cache de memória (que é rápido). Entretanto, o circuito controlador de cache continua tendo de acessar diretamente à memória RAM do micro para copiar os dados da memória RAM para a memória cache. Nos processadores atualmente disponíveis no mercado, tanto o circuito de memória cache quanto o controlador de cache estão embutidos dentro do próprio processador. 

O termo acesso aleatório identifica a capacidade de acesso a qualquer posição em qualquer momento, por oposição ao acesso sequencial, imposto por alguns dispositivos de armazenamento, como fitas magnéticas.

O nome não é verdadeiramente apropriado, já que outros tipos de memória (como a ROM) também permitem o acesso aleatório a seu conteúdo. O nome mais apropriado seria Memória de Leitura e Escrita.

Apesar do conceito de memória de acesso aleatório ser bastante amplo, atualmente o termo é usado apenas para definir um dispositivo eletrônico que o implementa, basicamente um tipo específico de chip. Nesse caso, também fica implícito que é uma memória volátil, isto é, todo o seu conteúdo é perdido quando a alimentação da memória é desligada.

DDR400 de 1GB da Kingston

SDRAM

Algumas memórias RAM necessitam que os seus dados sejam frequentemente refrescados (atualizados), podendo então ser designadas por DRAM (Dynamic RAM) ou RAM Dinâmica. Por oposição, aquelas que não necessitam de refrescamento são normalmente designadas por SRAM (Static RAM) ou RAM Estática.

Do ponto de vista da sua forma física, uma RAM pode ser constituída por um circuito integrado DIP ou por um módulo SIMM, DIMM, SO-DIMM, etc. Para computadores pessoais elas são normalmente adquiridas em módulos de memória (popularmente conhecido como pente, pelo fato de que seus contatos se parecem com os dentes de um pente de cabelo), que são placas de circuito impresso que já contém várias memórias já montadas e configuradas de acordo com a arquitetura usada na máquina.

A capacidade de uma memória é medida em Bytes, kilobytes (1 KB = 1024 ou 210 Bytes), megabytes (1 MB = 1024 KB ou 220 Bytes) ou gigabytes (1 GB = 1024 MB ou 230 Bytes).

A velocidade de funcionamento de uma memória é medida em Hz ou MHz. Este valor está relacionado com a quantidade de blocos de dados que podem ser transferidos durante um segundo. Existem no entanto algumas memórias RAM que podem efetuar duas transferências de dados no mesmo ciclo de clock, duplicando a taxa de transferência de informação para a mesma frequência de trabalho. Além disso, a colocação das memórias em paralelo (propriedade da arquitetura de certos sistemas) permite multiplicar a velocidade aparente da memória.

A memória principal de um computador baseado na Arquitetura de Von-Neumann é constituída por RAM. É nesta memória que são carregados os programas em execução e os respectivos dados do utilizador. Uma vez que se trata de memória volátil, os seus dados são perdidos quando o computador é desligado. Para evitar perdas de dados, é necessário salvar a informação para suporte não volátil (por ex. disco rígido), ou memória secundária.

Há também quem diga que uma memória volátil pode ser “burlada” ou “congelada” com hidrogênio liquido, ou seja, mesmo a memória sendo desligada, ela não perderia seus dados.

Anúncios