Micro Cosmo
Volte
06/02/95

< Memória RAM>


Semana passada vimos que uma “posição de memória” é um local onde dados podem ser armazenados temporariamente sob a forma de bytes. Mas estávamos nos referindo aos registradores, que são posições de memória internas da CPU, ou seja, que existem dentro do microprocessador e são usadas para processar dados.

Uma CPU dispõe de um conjunto reduzido de registradores (o 8086, a CPU “de 16 bits” do velho XT, tem catorze registradores de 16 bits, e o 386, uma CPU “de 32 bits”, tem dez registradores de 32 bits e seis de 16 bits - sempre múltiplos de oito bits, já que vão trabalhar com bytes). Mas sua função não é armazenar dados, exceto por curtíssimos períodos enquanto estão sendo processados. Portanto, é imprescindível que se tenha um local para guardar os dados que serão fornecidos à CPU para processar, assim como aqueles resultantes do processamento. Por exemplo: o conteúdo daquela carta de amor, sobre a qual falamos mês passado, precisa estar armazenado em algum lugar dentro do micro enquanto a estamos escrevendo.

Este local é a “memória”. Na verdade, o que chamamos de “memória” são chips, ou circuitos integrados, encaixados na placa-mãe. Cada chip contém uma enorme coleção de conjuntos de oito capacitores elementares e cada conjunto corresponde a uma “posição de memória”, idêntica à que foi descrita semana passada (mas situadas fora da CPU). Portanto, cada “posição de memória” pode armazenar um byte.

Voltemos à carta. Suponhamos que o missivista compare seus sentimentos a uma flor. E escolha, muito apropriadamente, o amor-perfeito. Vejamos o que ocorre quando ele digita o hífen que separa o “amor” do “perfeito” (já que esses dois raramente andam juntos, mesmo). O teclado, dispositivo de entrada, reconhece a tecla do hífen e envia seu código ANSI para a CPU. A CPU, por sua vez, precisa armazenar essa informação em algum lugar para usá-la mais tarde (por exemplo, enviá-la para a impressora na hora de imprimir a carta). Então procura uma posição de memória “vazia” e lá deposita o código. Mas deposita como? Fácil: o código ANSI do hífen é quarenta e cinco, que, como sabemos, em binário corresponde a “00101101”. A CPU, então, ordena aos circuitos da placa mãe que depositem cargas elétricas no primeiro, terceiro, quarto e sexto capacitores, da direita para a esquerda, da posição de memória que armazenará o código do hífen e descarreguem os outros quatro. Mais tarde, na hora de imprimir, a CPU “lê” os códigos, sucessivamente, em suas posições de memória. Quando chega na que está ocupada pelo hífen, verifica as cargas dos capacitores e detecta o código “00101101”. E envia um hífen para a impressora. É simples assim.

Mas como saber em que posição de memória está o hífen? Bem, da mesma forma que em uma rua cada casa tem seu número, as posições de memória são arrumadas uma após a outra e cada uma tem um número, ou “endereço”. Vamos supor que o missivista já não queira mais se referir à flor, mas prefira dizer que seu amor é, de fato, perfeito. E troca o hífen por um espaço. Para o micro, o espaço que separa as palavras nada mais é que um caractere como outro qualquer, o de código ANSI trinta e dois, ou “00100000” em binário. E a CPU, simplesmente, localiza o endereço de memória onde o hífen está armazenado e descarrega o primeiro, terceiro e quarto capacitores, substituindo o código “00101101” que lá estava pelo código “00100000”. O que basta para trocar um hífen por um espaço. E transmutar uma flor em uma mentira.

Assim, os dados são armazenados e modificados na memória pela CPU simplesmente alterando cargas elétricas. Por isso o conteúdo da memória só persiste enquanto o micro está ligado e há energia elétrica para manter a carga dos capacitores. Esse tipo de memória chama-se “memória volátil” ou “memória RAM” (acrônimo de Random Access Memory, memória de acesso aleatório em inglês; um nome, aliás, muito mal escolhido). Portanto, “memória RAM” é um conjunto de posições de memória cujo conteúdo pode ser alterado e que só se mantém enquanto o micro estiver ligado.

A capacidade de memória RAM de nossos micros é medida pelo número de bytes que pode armazenar. Mas os micros modernos precisam de muita memória. Por isso, ao invés de bytes, usam-se múltiplos de byte. O primeiro múltiplo é o quilobyte, que se abrevia com “K”. Em princípio, 1K deveria corresponder a mil bytes. Mas não esqueça que estamos trabalhando com quantidades expressas em binário. E, em binário, o número “redondo” mais próximo do decimal mil é “10000000000”, que, em decimal, corresponde a 1.024. Por isso 1K é igual a 1.024 bytes. O próximo múltiplo é o megabyte, que se abrevia com “Mb”. E que também, pelas mesmas razões, não corresponde a um milhão de bytes, mas a 1K x 1K, ou seja, 1.048.576 bytes. Mas as diferenças não são significativas e em geral considera-se 1K aproximadamente igual a mil bytes e 1Mb aproximadamente igual a um milhão de bytes.

E já que falamos no assunto: com a voracidade dos sistemas operacionais e programas modernos, para fazer algo que preste o micro deve ter no mínimo 4 Mb de memória RAM. Mas isso é o mínimo mesmo. Para um desempenho decente, aconselho 8Mb.

B. Piropo