Memória RAM Dinâmica (DRAM) e Estática (RAM)

Memória RAM Dinâmica (DRAM)

A memória RAM do micro é formada por circuitos de memória dinâmica, por vezes abreviada por DRAM (Dynamic RAM). Esse tipo de circuito armazena os bits de informação através de minúsculos capacitores: um capacitor carregado eqüivale a um dado “1” e um capacitor descarregado a um “0”.

O capacitor é um elemento muito fácil de ser construído, pois é formado somente por duas placas condutoras paralelas. Isto significa que podemos ter muitas células capacitivas em um pequeno espaço físico, ou seja, circuitos pequenos com alta capacidade de armazenamento

O grande problema é que, depois de algum tempo, os capacitores se descarregam. Dessa forma, deverá haver períodos de recarga dos capacitores da memória, período chamado refresh. Durante o refresh, que é comandado pelo controlador de memória presente no chipset da placa-mãe, todas as posições de memória são “varridas”. Quando um capacitor carregado é encontrado, recebe uma nova carga, fazendo com que o valor “1” continue sendo corretamente armazenado, impedindo que este se transforme, erroneamente, em um valor “0”.

Durante o período de refresh, a memória geralmente não pode ser acessada. Como conseqüência direta, a memória dinâmica tem uma imposição física para a sua velocidade. Em outras palavras, não pode ser mais rápida porque o refresh deve ser efetuado de tempos em tempos (na ordem de alguns milissegundos).

Características da Memória Dinâmica

– Barata.

– Fácil integração (muita capacidade em pouco espaço).

– Baixo consumo.

– Lenta, pois necessita de refresh.

Funcionamento das Memórias Dinâmicas

Entender o funcionamento das memórias dinâmicas é fundamental para compreender o avanço tecnológico trazido por novas tecnologias de construção de memória RAM, como FPM, EDO, BEDO, VCM, SDRAM, RDRAM e muitas outras, bem como para compreender toda a questão do desempenho e a necessidade do cache de memória.

Vimos que, dentro do circuito integrado da memória dinâmica, os dados são armazenados em minúsculos capacitores. Como os capacitores se descarregam com o tempo, é necessário um período de recarga, chamado refresh. Durante o período de refresh, que dura alguns milissegundos (esse valor varia de acordo com a memória), a memória não pode ser acessada.

Dentro da memória, os capacitores são organizados em uma matriz. Como sabemos, uma matriz é composta de linhas e colunas. Os endereços dentro da matriz crescerão da esquerda para a direita e de cima para baixo, como exemplifica a Figura abaixo.

1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

“Esquema simplificado da matriz de capacitores de uma memória dinâmica”

Obs.: A organização interna da matriz depende do circuito de memória RAM. Usamos uma matriz 4 x 4, na Figura acima, apenas para facilitar as nossas explicações. Circuitos de memória RAM usam matrizes grandes, como, por exemplo, 512 x 512, 2.048 x 2.048, etc.

Quando o processador (ou o controlador de cache) precisa ler algum dado da memória, coloca o dado no barramento de dados, o endereço no barramento de endereços e aciona apropriadamente o barramento de controle do barramento local. O controlador de memória do chipset percebe que é uma operação de leitura em memória e pega o valor do endereço e o divide em dois: a parte mais significativa (ou seja, mais “alta”) do endereço selecionará a linha, e a parte menos significativa (ou seja, mais “baixa”) do endereço selecionará a coluna (como vimos, internamente a memória é uma matriz de capacitores dispostos em linhas e colunas).

 

Essa seleção ocorre em conjunto com dois sinais básicos para o controle das memórias: RAS (Row Address Strobe) e CAS (Column Address Strobe). O primeiro sinal indica que o valor presente no barramento de endereços de memória (MA) está informando a linha de onde o dado deverá ser lido, enquanto o segundo sinal indica que o valor está informando a coluna de onde o dado deverá ser lido. Você pode observar os detalhes desse esquema através das Figuras abaixo:

Como o processador acessa a memória RAM

 
 

Esquema simplificado da estrutura das memórias dinâmicas

 

 

Funcionamento da memória dinâmica

 

Tempo de Acesso

Quando o processador ordena o armazenamento de um dado na memória, este não é imediato; a memória demora um pouco para armazená-lo no endereço solicitado. O mesmo ocorre quando o processador pede que a memória devolva um dado que está nela armazenado. Essa demora é chamada tempo de acesso e é uma característica inerente a todas as memórias, ou seja, é uma característica física.

O tempo de acesso é o período de tempo que demora entre o início da ativação do sinal RAS e a efetiva entrega (ou armazenamento) do dado solicitado, como ilustra a Figura abaixo. O tempo de acesso também é chamado tRAC em manuais técnicos.

Tempo de acesso

As memórias dinâmicas assíncronas (tecnologias FPM, EDO e BEDO) têm tipicamente tempo de acesso de 70 ou 60 ns. As memórias dinâmicas síncronas (tecnologias SDRAM, VCM e DDR-SDRAM) têm tipicamente um tempo de acesso de dois ou três pulsos de clock (em um barramento local de 100 MHz, isso significa 30 ou 20 ns, já que cada pulso de clock durará 10 ns). Nas memórias dinâmicas síncronas, o tempo de acesso é também conhecido por latência do CAS ou simplesmente CL.

Já as memórias estáticas são bem mais rápidas, apresentando tempo de acesso de 20 ns ou menor (as que são utilizadas no cache de memória dos micros modernos têm um tempo de acesso de apenas 5 ns!). Quanto menor o tempo de acesso, melhor! Atualmente o circuito de memória cache (memória estática) está embutido no próprio processador.

Em circuitos de memória dinâmica assíncronas, como FPM, EDO e BEDO, o tempo de acesso vem estampado na nomenclatura do circuito integrado, como sufixo. O sufixo “6” em uma memória dinâmica assíncrona significa que esta tem 60 ns de tempo de acesso, por exemplo. A primeira Figura abaixo mostra exemplos de circuitos de memória assíncrona com 70 ns de tempo de acesso. O mesmo padrão é usado por circuitos de memória estática, como vemos na Figura seguinte.

Circuito integrado de memória estática assíncrona, utilizada no cache de memória de micros antigos: tempo de acesso de 20 ns

   Detalhe do tempo de acesso em módulos de memória assíncrona. Ambos têm tempo de acesso de 70 nsVocê deve observar que em circuitos de memória RAM síncrona — como a SDRAM, VCM e DDR-SDRAM —, por ser sincronizada com o clock do barramento local, o que há escrito no circuito integrado não é o seu tempo de acesso, mas sim a sua freqüência de operação máxima, expressa em nanossegundos (ver Figura abaixo). Para obter o valor em megahertz, basta fazer a seguinte conta:

Frequência de operação máxima (em MHz) = 1000/Valor estampado

Freqüência de operação máxima da memória SDRAM. No caso, 100 MHz

Nota: O valor estampado “75” significa 7,5 ns, sendo esse o valor que deve ser usado na conta.

Nas memórias RAM síncronas (SDRAM, DDR-SDRAM e VCM), o tempo de acesso é uma característica chamada latência do CAS ou simplesmente CL. O valor da latência do CAS pode ser de três ou dois pulsos de clock. Por exemplo, uma memória SDRAM com latência do CAS de três pulsos de clock operando em um barramento de 100 MHz tem um tempo de acesso de 30 ns, já que cada pulso de clock durará 10 ns. Uma memória SDRAM em um barramento de 133 MHz com a mesma latência do CAS terá um tempo de acesso de 22,5 ns, já que nesse caso cada pulso de clock durará 7,5 ns.

 O valor da latência do CAS das memórias síncronas vem programado dentro de uma pequena memória chamada SPD (Serial Presence Detect) existente no módulo de memória. Você pode ler o conteúdo dessa memória e descobrir todos os parâmetros de um módulo de memória que esteja instalado no micro através de softwares como o Hwinfo.

As novas tecnologias de construção de memórias dinâmicas são alterações na estrutura básica do funcionamento da memória, de modo a ganhar mais desempenho.

 

Memória RAM Estática (RAM)

Existe um outro tipo de memória muito mais rápida que a memória dinâmica. Esse tipo de memória chamada memória estática e geralmente abreviada para SRAM (Static RAM) — utiliza, em vez de capacitores, circuitos digitais chamados flip-flops para o armazenamento de cada “0” ou “1”. Esses circuitos armazenam os dados sem a necessidade de nenhum ciclo de refresh.

No lugar de um capacitor, a memória estática tem um circuito completo. No mesmo espaço onde poderíamos ter vários capacitores (que são pequenos) teremos somente alguns flip-flops (pois são grandes).

Esse tipo de memória é bem mais cara e os circuitos, maiores. Em contrapartida, há uma grande vantagem: velocidade. Como não precisam do ciclo de refresh, as memórias estáticas são extremamente rápidas.

A partir do 386, os micros utilizam um sistema híbrido. A memória RAM é formada por memória dinâmica, e utiliza uma pequena quantidade de memória estática como intermediária para agilizar o acesso do processador à memória. Essa técnica é conhecida como cache de memória.

Características da Memória Estática

– Cara.

– Difícil integração (pouca capacidade em muito espaço).

– Alto consumo.

– Rápida.

Funcionamento da memória RAM do micro:

 

1) Quando o processador (ou o controlador de cache) lê um dado da memória, o controlador de memória (presente no chipset) aciona a linha RAS e coloca, no barramento de endereços da memória (barramento MA), o valor da linha.

 

2) Um pouco depois aciona a linha CAS (mantendo a linha RAS acionada) e coloca no barramento de endereços da memória (barramento MA) o valor da coluna. 

 

3) Quando RAS e CAS são desabilitadas, o dado solicitado estará presente no barramento de dados da memória (barramento MD).

 

4) O processo de escrita em memória funciona de maneira análoga.

 

Podemos resumir dizendo que a  RAM estática usa uma tecnologia totalmente diferente da DRAM. Na RAM estática, uma forma de flip-flop contém cada bit de memória. Um flip-flop para uma célula de memória utiliza 4 ou 6 transistores mais alguns fios, mas nunca tem de ser refrescado. Isto torna a RAM estática significativamente mais rápida que a RAM dinâmica. Entretanto, como ela tem mais componentes, ocupa também muito mais espaço em um chip que uma célula de memória dinâmica. Portanto, você pode ter menos memória por chip, o que torna a RAM estática muito mais cara.

A RAM estática é rápida e cara, enquanto a DRAM é mais barata e mais lenta. A RAM estática é usada para se criar cache de velocidade compatível com a CPU, enquanto a DRAM se constitui no grande sistema de memória RAM.

Originalmente, os chips de memória nos computadores de mesa (desktops) usavam uma configuração de pinos chamada de encapsulamento em linha dupla (DIP – Dual Inline Packcage). Esta configuração de pinos podia ser soldada em orifícios na placa-mãe do computador ou encaixada a um soquete soldado à placa-mãe. Este método funcionou muito bem enquanto os computadores operavam com alguns megabytes ou menos de memória RAM. Mas como a necessidade de memória cresceu, o número de chips buscando espaço na placa-mãe aumentou.

A solução foi colocar os chips de memória, assim como todos os componentes de apoio, em uma placa de circuito impresso (PCB – Printed Circuit Board) separada, que pudesse ser encaixada a um conector especial (banco de memória) na placa-mãe. A maioria desses chips usa uma configuração de pinos do tipo SOJ (Small Outline J-lead), mas alguns poucos fabricantes também usam a configuração de TSOP (Thin Small Outline Package). A diferença-chave entre estes tipos de pinos mais recentes e a configuração DIP original é que os chips SOJ e TSOP são montados na superfície da PCB. Em outras palavras, os pinos são soldados diretamente na superfície da placa e não inseridos nos orifícios ou soquetes.

Em geral, os chips de memória estão disponíveis apenas como parte de uma placa chamada módulo. Você provavelmente já viu uma memória descrita como 8×32 ou 4×16. Estes números representam o número de chips multiplicado pela capacidade individual de cada chip, medida em megabits (Mb), ou um milhão de bits. Pegue o resultado e divida-o por 8 para chegar ao número de megabytes nesse módulo. Por exemplo, 4×32 significa que o módulo tem 4 chips de 32 megabits. Multiplique 4 por 32 e obterá 128 megabits. Já que sabemos que um byte tem 8 bits, precisamos dividir nosso resultado de 128 por 8. Nosso resultado é 16 megabytes.

  1. Nenhum comentário ainda.
  1. 05/01/2011 às 2:55 PM
Os comentários estão desativados.