O
inconveniente que os capacitores apresentam quanto a seu uso para
armazenamento de dados deve-se a uma característica dos materiais
isolantes que pode ser resumida em uma frase singela: não
há isolante perfeito. Por isto, seja qual for sua capacidade
de armazenar cargas elétricas (que, no caso dos capacitores
chama-se "capacitância" e é medida em Farads
e seus submúltiplos), a carga dos capacitores tende a "vazar",
ou seja, escoar de uma placa para outra através do próprio
material isolante. Portanto, todo capacitor carregado tende a perder
sua carga com o tempo. Tempo que depende da capacitância do
dispositivo e das características dos materiais usados para
confeccioná-lo. Mas o fenômeno é inexorável:
capacitores carregados cedo ou tarde se descarregam sozinhos.
Resumindo: capacitores descarregados permanecem descarregados até
que uma ação externa forneça uma diferença
de potencial a seus terminais e modifique seu estado. Mas capacitores
carregados tendem a perder a carga e passarem sozinhos ao estado
oposto sem ajuda de nenhum agente externo. Dispositivos assim, estáveis
em apenas um dos estados, chamam-se "monoestáveis".
Ora, no que concerne ao uso como memória, esta característica
é desastrosa. Pois parte dos dados armazenados em uma memória
monoestável perdem-se com o tempo. Ou seja: dispositivos
monoestáveis constituem uma memória que tende a "esquecer"
as informações que armazena.
Esta característica por si só já seria suficiente
para descartar o uso de capacitores como dispositivos de memória
não fosse por um fator importantíssimo: seu preço.
Porque chips de memória feitos com capacitores são
muito mais baratos que chips de igual capacidade constituídos
por transistores. Por isto a indústria se desdobrou para
contornar o problema. E conseguiu de uma forma extremamente trabalhosa,
mas eficaz: a recarga periódica.
Trata-se de um artifício que emprega um circuito auxiliar
que, em intervalos regulares e mais curtos que o tempo que um capacitor
leva para descarregar-se sozinho, investiga e restaura o estado
de cada capacitor que faz parte da memória. Ou seja: os capacitores
que estão descarregados assim permanecem, mas os que ainda
conservam alguma carga remanescente são recarregados até
plena carga. Isto, literalmente, "refresca" a memória,
preservando as informações armazenadas. Por isto o
circuito responsável pela recarga periódica dos capacitores
usados como memória chama-se "circuito de refresh".
Memórias como estas, que requerem uma contínua restauração
de seu estado, chamam-se memórias dinâmicas, ou DRAM
(de Dinamic RAM). E mesmo levando em conta os custos da implementação
do circuito de refresh, são muito mais baratas que as memórias
estáticas de mesma capacidade. Por isto são as mais
usadas nos computadores pessoais. Pois, desde que o circuito de
refresh funcione de forma correta, elas não apresentam nenhum
inconveniente quanto à confiabilidade dos dados armazenados.
Mas apresentam, sim, um inconveniente de outra ordem: o tempo de
acesso. Porque se os dados são guardados na memória
é porque eles serão necessários mais adiante
e precisam ser recuperados. Ou seja: a memória está
constantemente sendo acessada, seja para leitura (consultar os dados
armazenados), seja para escrita (armazenar novos dados ou modificar
os atuais). Tarefas que são executadas milhões de
vezes a cada segundo.
A leitura de um dado é a verificação do estado
de cada um dos capacitores que constituem os bits que formam um
byte, ou seja, a determinação de quais estão
carregados e quais estão descarregados. A escrita consiste
em carregar e descarregar determinados capacitores de acordo com
a distribuição de bits "um" e "zero"
no byte a ser armazenado. Nossas máquinas são capazes
de fazer isto em uma fração surpreendentemente pequena
de segundo. Mas por menor que seja esta fração, ela
durará algum tempo.
Por outro lado, sabemos que o circuito de refresh restaura o estado
de todos os capacitores elementares que constituem a memória
em intervalos regulares. Uma operação que também
é executada em uma fração de segundo extraordinariamente
pequena. Mas que também dura algum tempo.
Sendo você esperto como é, já percebeu que temos
um novo problema. Que pode ser assim resumido: durante todo o tempo
em que a máquina está ligada, ocorrem continuamente
duas ações independentes envolvendo a memória,
refresh e operações de leitura ou escrita. Como ambas
precisam acessar a memória, não podem ser simultâneas.
O problema consiste em coordená-las de tal modo que uma jamais
interfira com a outra.
Como naqueles velhos caças da segunda guerra mundial que
disparavam a metralhadora por trás da hélice e cujas
balas jamais atingiam as pás, trata-se exclusivamente de
uma questão de ritmo.
B.
Piropo