Desde o início da compilação de dados, houve uma preocupação em “salvar” o conteúdo de programas e arquivos, mas muita gente ainda se confunde com os tipos de memórias usadas.
Quando Ada, a Condessa de Lovelace, codificou o primeiro programa para a máquina de Charles Babbage, criador do primeiro computador mecânico, uma das principais preocupações foi a de armazenar o programa criado. Se isso não fosse feito, o programa teria sido perdido, obrigando a refazer toda a sua codificação, caso fosse rodado novamente.
Lá pelo fim da década de 1970 eu comecei a tentar entender o que era um programa e como construir um. Foi uma tarefa das mais árduas, para um neófito de raciocínio lento como eu, mas após um certo tempo eu cheguei lá.
Um programa nada mais é do que uma sequência de instruções que a máquina deve executar, de modo a atingir um dado objetivo. Parece simples, não é? Mas, quando eu finalmente fiz um curso de programação em Basic, oferecido pelo NCE, eu rapidamente percebi que de simples a estrutura de um programa não tinha nada, tanto assim que dos mais de cinquenta professores inscritos naquele curso, só sobraram uns vinte…
O meu primeiro programa foi feito em uma calculadora Hewlett Packard 9810A, e o programa gravado (salvo) em um cartão magnético! Este episódio marcou a minha vida como incipiente em processamento de dados, e eu sempre me lembro dele toda vez que eu enfrento qualquer dificuldade no meu computador pessoal.
A HP 9810A tinha cartuchos pré-programados para aplicações específicas, e assim não era necessário conhecer os algoritmos de cálculos, bastava programar um comando. Depois de aprender Basic, aí sim, foi necessário elaborar e escrever do zero a rotina do que eu precisava calcular. Em qualquer dos casos, salvar o programa foi uma preocupação que nunca desapareceu, depois de horas tentando escrever códigos que funcionassem como pretendido, portanto, o conceito de memória foi um dos primeiros que eu precisava aprender.
Engraçado é que eu vejo até hoje muita gente confundindo os tipos de memória, embora esses dados estejam especificados em qualquer modelo de telefone celular, por exemplo. A confusão é basicamente entre a memória dinâmica de acesso aos dados (RAM ou Random Access Memory) e a memória de armazenamento permanente ou temporário de dados, onde estão salvos os programas e arquivos que rodarão em um dispositivo.
Assim, quando se escreve um programa na forma de códigos o computador armazena primeiro essa informação na memória RAM. Mas, esta memória é, por natureza, volátil, isto é, ela se apaga rapidamente se o aparelho for desligado. Para armazenar os dados da RAM em uma memória não volátil, usa-se um dispositivo onde os dados são escritos para serem acessados posteriormente. Tradicionalmente sempre se usou o termo “salvar”, para impedir que os dados armazenados na RAM sejam perdidos.
Salvar o trabalho realizado é, portanto, fundamental para se preservar o esforço de horas na frente do computador. Na era da computação doméstica, o chamado Home Office, sem um nobreak, quem já não passou por este tipo de problema, perdendo tudo por causa de uma simples falta de energia na rede elétrica?
Não só isso, mas durante algum tempo o armazenamento de dados era feito com uma fita cassete, levando-se alguns minutos para se conseguir salvar o trabalho. Tal espera sempre foi excruciante, e a gente torcia para não faltar luz quando a fita estava rodando na hora da gravação. A mudança para o uso de discos flexíveis foi o primeiro alívio nesta direção.
A perda do trabalho ou do programa, se fosse o caso, sensibilizou as software-houses, que introduziram algoritmos para salvar o trabalho automaticamente. A primeira vez que eu vi este recurso foi no Word, da Microsoft, e ele está lá até hoje!
A memória RAM em chips e módulos
Em muitos dos primeiros microcomputadores a memória RAM era instalada em microchips soquetados na placa mãe, às vezes até soldados naquele board. Na década de 1980, a confusão era previsível, toda vez que a montagem da memória incluía chips incompatíveis entre si. Quando isso acontecia, quem montava um computador era obrigado a tirar todos os chips e selecionar para a remontagem somente aqueles que se mostrassem compatíveis.
Este tipo de empecilho só parou quando os chips de memória passaram a ser montados em módulos. Ao invés daquele mar de chips na placa-mãe, o módulo simplificava a montagem e garantia a estabilidade no funcionamento da máquina. Se um módulo desse defeito, bastava substituir por outro igual.
Ao longo dos anos, diversos tipos de soquete para os diferentes tipos de módulos de memória foram surgindo. Um dos mais recentes deles, montados em computadores de mesa e servidores é o DIMM (Dual In-Line Memory Module), com componentes hoje em dia na ordem dos Gigabytes de memória, para alegria dos que trabalham com imagens e vídeo e os que jogam em aplicativos sofisticados.
No ambiente Windows o usuário pode ter noção do tipo de memória que está instalada, bem como da sua atividade em tempo real, através do applet “Gerenciador de Tarefas”:
Se mais detalhes forem necessários, pode-se recorrer a vários aplicativos gratuitos, como o CPU-Z, mostrado abaixo:
O CPU-Z dá uma ideia da velocidade dos módulos de memória instalados. O padrão JEDEC indica as especificações de cada módulo, na qual aparece a velocidade garantida pelo fabricante, bem os respectivos tempos de acesso ao chips.
Este padrão é sinônimo da velocidade básica em que cada módulo rodará na placa-mãe. Entretanto, os módulos são também construídos de forma a aumentar a velocidade de funcionamento, com uma tolerância igualmente indicada pelo fabricante.
Este aumento de velocidade é na verdade um “overclocking” seguro, que leva o nome de XMP ou Extreme Memory Profile, criado pela Intel, para os seus processadores. Nas placas com CPU e chipset AMD o termo usado é D.O.C.P. (Direct Overclocking Profile), que é essencialmente a mesma coisa, com outro nome.
Para configurar o XMP ou o DOCP é preciso entrar no BIOS ou UEFI BIOS, se for o caso, e depois entrar no modo avançado de funcionamento da máquina. O computador lê os perfis disponíveis, se houver mais de um, e deixa ao critério do usuário a escolha ou não de um deles.
Avaliando erros nos módulos de memória
Como qualquer componente eletrônico o módulo de memória pode dar defeito. Quando isto acontece é habitual ver na tela do computador um aviso de defeito de hardware, ou, dependendo do caso, nem conseguir rodar nada.
Se houver suspeita deste tipo de defeito, o próprio Windows fornece a ferramenta, chamada de Diagnóstico de Memória do Windows, que uma vez acionada, o sistema reinicia o computador e roda a ferramenta.
Esta ferramenta da Microsoft é limitada, ela só informa que a memória tem erro, mas não dá ideia de que módulos estão com problema em algum chip. O usuário pode recorrer então ao MemTest86, que tem uma versão gratuita e fornece um instalador para uso em um drive USB. Abaixo, pode-se ver a captura recente de uma tela diagnosticando um módulo de memória com defeito:
Com a ferramenta do Windows ou com o MemTest86 é importante testar um módulo de cada vez, até achar qual deles está com defeito.
A maioria dos fabricantes de memória confia nos seus módulos, a ponto de oferecer uma garantia vitalícia! O único inconveniente é ter que mandar o módulo de volta para a fábrica, após pedir a autorização do retorno, o conhecido RMA.
Critérios para o uso de módulos de memória
Os fabricantes de placas-mãe costumam testar uma série de módulos, posteriormente listados na chamada planilha QVL (Qualified Vendor List), e que pode ser consultada pelo usuário que quer fazer uma instalação segura do banco de memórias. Notem que não é obrigatório que esta lista seja seguida. Na realidade, existem vários fabricantes que constroem módulos capazes de funcionar em qualquer sistema, Intel ou AMD. Na dúvida, o usuário pode, e a meu ver deve, consultar o site dos fabricantes, que têm a sua própria lista de memórias compatíveis.
Existem também programas e fórmulas criadas para fazer overclocking de memória. Na minha opinião, o risco do uso dessas ferramentas é alto, e só deve ser feito por aqueles que conhecem o que estão fazendo!
Duvido, e aqui me arrisco a ser contestado, que aumentos exagerados de velocidade nas memórias sejam necessários. A arquitetura dos computadores modernos não se baseia somente na velocidade desses módulos. Existem outros tipos de memória, como, por exemplo, a de vídeo, que operam em conjunto com a CPU. Na prática, significa que a performance de qualquer computador é o resultado de uma série de fatores, não somente de um único componente.
Por outro lado, cada sistema operacional necessita de uma quantidade mínima de RAM. No caso do Windows 11, por exemplo, o banco de memória precisa ter pelo menos 4 Gbytes. Mas, rodar o sistema com pouca memória ou com memória virtual, criada em espaço de disco, torna qualquer operação demandante uma carroça!
Investir em um bom banco de memória é, portanto, fundamental para o uso diário de todos os aplicativos, e essencial para todos aqueles que querem conforto no uso de qualquer programa. [Webinsider]
. . .
Paulo Roberto Elias
Paulo Roberto Elias é professor e pesquisador em ciências da saúde, Mestre em Ciência (M.Sc.) pelo Departamento de Bioquímica, do Instituto de Química da UFRJ, e Ph.D. em Bioquímica, pela Cardiff University, no Reino Unido.













