Assim como um microprocessador, um chip de memória é
um circuito integrado feito de milhares de transístores e
condensadores. Na maioria dos computadores, na DRAM (Dynamic RAM),
um transístor e um condensador fazem um par criando uma célula
de memória que representa um bit de dados. O condensador
guarda o bit de informação (0 ou 1). O transístor
funciona como um interruptor que permite á memória
aceder ao condensador e alterar o seu estado.
Um condensador é como um pequeno balde que
permite guardar electrões. Para estar 1 na célula
de memória o condensador fica cheio de electrões.
Para guardar um 0, o condensador fica vazio. O problema é
que o "balde" está sempre furado. Basta apenas
alguns milissegundos para o condensador ficar vazio. Sendo assim,
para a memória dinâmica funcionar, o CPU ou o controlador
de memória têm de estar sempre a reencher os condensadores
que estão a 1, de modo a não se perder informação.
O controlador de memória, para isto ser possível,
tem de ler e escrever toda a memória milhares de vezes por
segundo.
O condensador dentro da memória é como um
balde vazio, tem de estar constantemente a ser enchido, ou acaba
por se esvaziar, ficando a 0.
Desta operação de refrescamento dinâmico
constante dos condensadores, para evitar a perda de dados, é
que vem o nome da Dynamic (dinâmica) da memória DRAM.
No entanto, este processo torna a memória mais lenta.
As células de memória estão
incrustadas num disco de silicone, numa tabela. Na intersecção
de uma coluna com uma linha está o endereço de uma
célula de memória.
A memória consiste numa tabela bidimensional
de bits. Nesta animação, os bits a vermelho representam
1 e os a branco representam 0. As colunas são seleccionadas,
enquanto que algumas linhas bombardeiam para escrever nas células
de memória.
A DRAM para funcionar envia uma carga eléctrica
pela coluna escolhida, para activar todos os transístores
em cada bit da coluna. Enquanto escreve, as linhas contêm
a informação do estado que o condensador está.
Enquanto lê, um amplificador (Sense Amplifier) determina o
nível de carga do condensador. Se for mais de 50%, lê
1, senão lê 0, sendo refrescadas as que necessitarem
com o apoio de um contador que regista a sequência de refrescamento.
O intervalo de tempo necessário para fazer tudo isto é
tão pequeno que é expresso em nanosegundos (a bilionésima
parte do segundo). Um chip de memória categorizado com 70nm
significa que demora 70ns a ler e a escrever cada célula.
As células de memória não
serviriam para nada se não existisse uma forma de ler e escrever
dados dentro das mesmas. Sendo assim, as células de memória
têm uma infra-estrutura de suporte a outros circuitos especializados
em certas funções tais como:
- Identificar qual linha e qual coluna. (Selecção
do endereço da linha e da coluna.)
- Registar a sequência de refrescamento.
(Contador)
- Ler e reescrever o sinal de uma célula.
(Sense-Amplifier)
- Dar a informação a uma célula
se ela deve ser carregada ou não. (Write Enable)
Existem outras funções do controlador
de memória, tais como identificar o tipo, velocidade e quantidade
de memória, e controlo de erros.
A SRAM é mais cara, mais rápida,
e ocupa mais espaço que a DRAM, o que faz com que a SRAM
seja usada para criar uma memória mais próxima do
processador, a cache. enquanto que a DRAM é usada para fazer
os módulos de RAM, fornecendo uma muito maior quantidade
de RAM ao sistema.
Francisco
Ventura e Hugo Costa - Departamento de Engenharia Informática
- Universidade de Coimbra - 2005