O artigo é antigo, de 1996, de modo que as memórias analisdadas não existem mais nas aplicações comuns, da forma descrita. No entanto, o leitor pode aprender muito com ele, já que as memórias usadas atualmente em sua maioria derivam dos tipos antigos, Trata-se de uym artigo com finalidades histórias e didáticas que deve ser lido por todos que desejam estar bem informados sobre eletrônica e computação. Lembramos que as memórias são usadas emtodos os computadores usam, e além deles outros aparelhos tais como secretárias eletrônicas, videocassetes, controles remotos, etc. Sua finalidade é armazenar informações  e eles são encontrados na forma de chips que possuem diversos princípios de operação. As memórias e seu princípio de funcionamento é o assunto deste artigo.

Guardar informações é algo fundamental para a operação dos computadores e também de diversos outros aparelhos eletrônicos.

No entanto, as informações disponíveis num circuito se apresentam de uma forma especial, na forma de tensões ou impulsos e isso faz com que sejam exigidos também dispositivos especiais para seu armazenamento.

O computador não é um dispositivo novo, e desde que os primeiros tipos, aparelhos de grande porte, foram inventados, as memórias sofreram uma série de aperfeiçoamentos e modificações antes de chegar ao que conhecemos hoje e que usamos em diversos aparelhos eletrônicos modernos.

 

BITS E BYTES

Conforme os leitores sabem, as informações que "rodam" num computador estão na forma digital, ou seja, são dois níveis de tensões que representam o zero ou nível baixo (L0) e o "um" ou nível alto (HI). Esses níveis são denominados "níveis lógicos" e um "zero" ou um "um" consiste na unidade mínima de informação ou "bit".

Todas as informações que fazem parte de um programa e com que os computadores trabalham consistem em agrupamentos de zeros e uns que são denominados "palavras" ou "bytes".

 

Como as informações são trabalhadas num computador.
Como as informações são trabalhadas num computador.

 

AS PRIMEIRAS MEMÓRIAS

Os primeiros tipos de memórias que foram usadas para armazenar essas informações, na forma de bytes, foram formados por anéis magnetizáveis, na disposição que é mostrada na figura 2.

 

Uma memória de núcleo magnético.
Uma memória de núcleo magnético.

 

Assim, pequenos anéis de metal eram atravessados por fios nos quais os bits eram aplicados, ou seja, níveis de tensões correspondentes aos bits.

Para armazenar o byte 100100, por exemplo, por um instante o primeiro e o quarto fios eram percorridos por uma corrente, enquanto que os demais não.

Na carreira em que estariam os anéis que iriam armazenar essas informações o fio horizontal era percorrido por uma corrente que "habilitava" o circuito. Desta forma, somente os anéis percorridos pela corrente vertical daquela carreira eram magnetizados, registrando assim a informação.

Naquela fila tínhamos então o primeiro e o quarto anel magnetizados, e os demais não, guardando assim a "palavra" digital 100100.

Para "ler" esta informação, bastava habilitar novamente esta fila com uma corrente apropriada e aplicando impulsos apropriados na fila vertical obtinha-se na fila obliqua um sinal de leitura. Para os fios que passassem por um anel não magnetizado teríamos uma corrente de saída, mas ela seria diferente na saída dos anéis magnetizados, conforme mostra a figura 3.

 

Na leitura dos anéis magnetizados geram sinais próprios.
Na leitura dos anéis magnetizados geram sinais próprios.

 

Evidentemente, este processo além de ocupar um espaço razoável não era dos mais simples de operar limitando a capacidade dos computadores antigos.

A vantagem desta memória é que ela podia guardar as informações mesmo depois que o computador fosse desligado. Tratava-se, portanto de uma "memória não volátil".

Um tipo de memória que também foi usada nos primeiros computadores era a que armazenava as informações em circuitos. A desvantagem delas era que, ao ser desligado o computador, a informação dessas memórias se perdia. Tratava-se portanto, de uma memória "volátil".

Para armazenar uma informação no circuito eram usadas configurações denominadas "flip-flops".

Um filop-flop antigo usando válvulas como nos primeiros computadores é mostrado na figura 4.

 

Um flip-flop com válvula triodo.
Um flip-flop com válvula triodo.

 

Vejamos como ele funciona:

Nos primeiros tipos de flip-flops eram usadas duas válvulas na configuração indicada, mas depois com o aparecimento do transistor, foram usados dois transistores.

Este circuito funciona como uma espécie de "gangorra" eletrônica onde quando um lado está no nível alto o outro está no nível baixo. Isso significa que, quando um transistor (ou válvula) está conduzindo (nível baixo), o outro obrigatoriamente está sem conduzir ou no nível alto.

Para cada pulso de entrada o flip-flop "muda de estado".

Desta forma, a saída do flip-flop pode estar no nível alto ou no baixo, conforme o comando que ele receba, armazenando assim um zero ou um Um (LO ou HI).

Cada flip-flop é portanto uma "memória" de um bit.

Evidentemente, para memorizar uma grande quantidade de informações seriam necessários muitos flip-flops e muitos componentes.

Com a descoberta do circuito integrado, tivemos grandes avanços na fabricação de memórias se bem que basicamente até hoje temos nos nossos computadores essas duas modalidades de armazenamento de informações.

 

O CIRCUITO INTEGRADO

Se para armazenar um simples bit precisamos de uma boa quantidade de componentes, o que não dizer da grande quantidade de informações com que trabalham os computadores.

Um computador pessoal do tipo PC, por exemplo, pode ter memórias capazes de trabalhar com 8 megabytes (8 milhões de bytes) cada byte com 16 bits (Na época em que este artigo escrito este era o valor comum para a capacidade de uma memória).

 

Chip de memória
Chip de memória

 

Isso só é possível com a utilização dos circuitos integrados.

O circuito completo de um flip-flop pode ser fabricado numa pastilha de silício de alguns milímetros. Mais do que isso: numa única pastilha de silício ou "chip" podemos montar milhares e até mesmo milhões de componentes formando milhares ou milhões de flip-flops já organizados de modo a armazenar informações.

Podemos até fabricar outras configurações de componentes que sejam capazes de armazenar informações e algumas de modo permanente.

Temos então na forma de circuitos integrados dois tipos de memórias: voláteis e não voláteis, com grande capacidade de armazenamento e que são usadas não só em computadores mas em muitas outras aplicações.

Analisemos estas memórias:

 

ROM

As Read-Only Memory ou Memórias somente de leitura são circuitos fabricados de tal forma que, no próprio processo de fabricação já são gravadas as informações que elas devem conter.

Isso é conseguido por meio de uma máscara que determina como vai ser o circuito integrado e que já tem em seu desenho a configuração com a informação que deve ser gravada.

A pequena pastilha de silício que contém as informações definitivas é colocada num invólucro como o da figura 5 e utilizada.

 

Chip de memória comum
Chip de memória comum

 

As informações contidas nesta memória, conforme o nome indica, só podem ser lidas, e não alteradas por qualquer tipo de ação externa.

Em outras palavras o fabricante determina as informações que este tipo de memória vai conter antes dela ser fabricada.

Trata-se de uma memória não volátil, uma vez que as informações gravadas se mantinham nela mesmo depois que o circuito em que ela se encontra é desligado.

Nos computadores estas memórias contém as informações necessárias ao processo de partida (boot) no momento em que ele é ligado.

 

PROM

A Programable Read-Only Memory ou Memória Programável Apenas de Leitura é uma memória não volátil, pois mesmo depois que desligamos sua alimentação ela mantém ainda gravados os dados de seu interior.

Nesta memória são usados transistores que funcionam como fusíveis e que portanto podem ser "queimados" por uma corrente especial.

Assim, quando compramos uma memória deste tipo, todos os transistores estão bons e a memória só contém zeros.

A gravação é feita queimando-se numa mesma fila os transistores em que se deseja gravar o nível HI ou 1, conforme mostra a figura 7.

 

Programando uma PROM
Programando uma PROM

 

Com a passagem da corrente intensa os transistores-fusíveis "abrem" e neste ponto passamos a ter um nível alto ou 1 gravado.

Veja, portanto, que uma vez feita a gravação não é possível "desgravar" esta memória para fazer uma correção. Uma vez "queimado" o transistor não tem volta!

É por este motivo que dizemos que se trata de uma memória apenas de leitura se bem que possa ser gravada (programada) uma só vez: uma vez gravada não é possível alterar o seu conteúdo.

Memórias deste tipo também podem ser usadas no computador para armazenar informações que vem do fabricante como por exemplo a inicialização do computador, pois essa informação não pode ser perdida e nem alterada pelo usuário.

 

RAM

A Random Access Memory ou Memória de Acesso Aleatório é uma memória que tanto pode ser gravada como lida a qualquer momento. O termo "aleatório" significa que podemos ler ou gravar a qualquer momento uma informação que esteja em qualquer lugar desta memória.

Este tipo de memória é muito importante num computador pois ela é utilizada para guardar os dados que estão sendo usados e portanto estão mudando a cada instante conforme o programa "roda".

Estas memórias são voláteis, pois quando o computador é desligado toda a informação que contém é perdida, o que significa que, se precisamos ter estas informações de modo permanente, devemos transferi-las para outro tipo de memória que não seja volátil.

É o que fazemos quando transferimos o resultado de um trabalho no computador para o disco rígido ou para um disquete.

Estas memórias são basicamente formadas por uma grande quantidade de flip-flops do tipo CMOS que são montados numa minúscula pastilha de silício, conforme mostra a figura 8.

 

Célula de uma RAM com FETs.
Célula de uma RAM com FETs.

 

Cada flip-flop conforme vimos, armazena 1 bit, o que quer dizer que, para armazenar 1 megabyte ou 1 milhão de bytes de 16 bits numa memória deste tipo precisamos de 16 milhões de flip-flops! A tecnologia moderna consegue "fabricar" esta enorme quantidade de flip-flops numa pastilha de silício de poucos milímetros.

Esta pastilha é colocada num invólucro como o da figura 9 onde os pinos dão acesso aos flip-flops e a outros circuitos de controle interno.

 

Uma memória RAM em seu invólucro DIL (dual in line)
Uma memória RAM em seu invólucro DIL (dual in line)

 

Veja que não é preciso ter um pino para cada flip-flop. O que se faz é "organizar" os flip-flops de modo que eles possam ser ativados por meio de endereços.

Por exemplo, se queremos gravar ou ler o conteúdo de um determinado byte, o que fazemos é ativar os pinos que dão seu endereço com o código correspondente, por exemplo 1010 1001. Ao mesmo tempo, informamos ao pino R/W (leitura ou gravação) se estamos lendo ou gravando uma informação.

Com isso o circuito interno, coloca nos pinos de saída o que está contido no "endereço" solicitado, tudo conforme mostra a figura 10.

 

Organização de uma memória.
Organização de uma memória.

 

A velocidade com que isso é feito é enorme, de tal forma que podem ser realizados milhões de ciclos de leitura e gravação em cada segundo.

 

EPROM

O nome desta memória vem da abreviação de Erasable/Programable Read-Only Memory ou Memória Programável e Apagável Somente de Leitura.

De uma maneira simples, trata-se de uma PROM que pode ser apagada.

Esta memória é feita de tal forma que uma radiação ultravioleta forte pode modificar o estado de condução dos elementos do chip que armazenam a informação. Normalmente, estes elementos contém cargas que se fixam de maneira mais ou menos definitiva em determinadas regiões quando ela é programada, determinando assim se a saída da célula vai ser um "zero" ou um "um" conforme o bit armazenado.

Para que essa informação possa ser apagada o circuito integrado possui uma janela de quartzo que deixa passar a radiação ultravioleta, conforme mostra a figura 11.

 

Lâmpada ultravioleta para apagar uma EPROM.
Lâmpada ultravioleta para apagar uma EPROM.

 

Assim, para programar estas memórias usamos circuitos especiais que "gravam" a informação nas células correspondentes.

Para apagar colocamos estas memórias numa caixa que contém uma lâmpada ultravioleta de alta potência por um tempo determinado, conforme mostra a figura 12.

 

Um apagador de EPROM.
Um apagador de EPROM.

 

Usamos então um "apagador de EPROM" para esta finalidade.

 

EEPROM

O que temos é a abreviação de Electrically Erasable/Programable Read-Only Memory ou Memória somente de leitura apagável e programável eletricamente.

Se bem que estas memórias ainda sejam caras, elas consistem na solução ideal para se gravar e apagar informações num circuito como por exemplo num computador.

Para programar esta memória basta usar sinais elétricos do próprio circuito, como no caso de uma RAM, e para apagar estas informações basta aplicar um sinal elétrico de determinadas características.

Além disso, trata-se de uma memória não volátil, ou seja, uma memória que mantém as informações mesmo depois que sua alimentação seja desligada.