Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
26/08/1996
< Memórias V: >
< DRAM >

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