O uso de memória ajuda sistemas e dispositivos em vários níveis. A memória cache permite o acesso aos dados mais rapidamente e o buffer de memória impede que dispositivos parem de funcionar.
A memória RAM como tal é usada para armazenar dados e programas temporariamente, mas este tipo de memória tem outras aplicações, de igual ou maior importância para o funcionamento de um computador e de dispositivos diversos.
Duas dessas aplicações serão brevemente descritas a seguir, que têm um funcionamento e objetivos parecidos: a memória cache e o buffer de memória:
1 – A memória “caché” ou escondida
A memória cache é uma forma de armazenar dados temporariamente com alta velocidade de acesso aos dados. O objetivo desta estratégia é permitir que a CPU ou outros dispositivos possam ter acesso a dados sem depender de acesso ao banco de memória (RAM), que é mais lento. A arquitetura de funcionamento pode ser resumida assim:
CPU ↔ MEMÓRIA CACHE ↔ RAM
A palavra “cache” vem do francês “caché”, que quer dizer “escondido”. Normalmente, a quantidade de informação armazenada ali é maior do que a necessária, de tal forma que se a CPU precisar acessar informações próximas, elas já estarão por lá.
Dentro das CPUs existem 3 níveis de memória cache: L1 (Level ou nível 1) é a de nível mais rápido e a de menor tamanho, e que serve de acesso para instruções e dados; L2 (nível 2) tem maior tamanho e é um pouco menos veloz do que L1, e serve para acesso de dados para os núcleos da CPU; e finalmente L3 (nível 3), que é a de maior tamanho e menor velocidade, para ser compartilhada entre todos os núcleos da CPU.
Cada CPU de cada fabricante varia de arquitetura de memória cache, permitindo alcançar velocidades e performance de acordo com cada projeto. Os níveis de L1, L2 e L3 são especificados pelos fabricantes, como no exemplo abaixo:
O conjunto dessas especificações se soma ao número ativo de núcleos e a velocidade de batimento (clock) global da CPU. A microarquitetura do chip atinge graus de sofisticação elevados. Na minha atual CPU, uma Ryzen 9 5900X, 12 núcleos trabalham com 24 linhas de execução de códigos, sendo que L1 tem 64 KB por núcleo, L2 tem 512 KB também por núcleo e L3 64 MB. Tudo isso confere ao processador uma performance elevada, independente de qualquer ajuste de aumento de velocidade. Na realidade, o próprio sistema operacional se encarrega de fazer isso, aumentar a cadência automaticamente, de acordo com a carga de trabalho.
2 – Memória buffer ou de tampão
O conceito de tampão (buffer) em química é impedir variações bruscas de pH em uma dada solução. Na informática, é praticamente a mesma coisa: impedir variações da quantidade de memória armazenada em um dispositivo, em um dado momento.
Os tampões de memória existem hoje em dia em todo tipo de equipamento e são de vital utilidade. No início da década de 1990, os primeiros drives usados para gravar dados em um CD-ROM não tinham buffer de memória. Por causa disso, quando se queria gravar alguma coisa no disco se recomendava parar de rodar todos os aplicativos, inclusive os do background da máquina. Sem o buffer, era preciso ter certeza de que os dados seriam gravados sem interrupção. Naquela época, era um cruzar os dedos durante a gravação, para nada dar errado, porque, se desse, a mídia não poderia ser reutilizada!
A solução para este empecilho foi a de incluir no drive de gravação um buffer de memória. Mesmo assim, no início, ao se usar um drive com este buffer para queimar uma mídia continuava-se a recomendar parar de rodar outros programas.
A evolução dos programas de queima da mídia fez com que fosse usado um segundo buffer de memória, formado na RAM do sistema. Abaixo, se pode ver o nível de memória nos dois buffers, medido pelo aplicativo ImgBurn:
Os dois buffers são preenchidos imediatamente antes da gravação ser feita, e os seus níveis percentuais monitorados e medidos em tempo real, até que a operação de queima da mídia tenha terminado.
Com dois buffers de memória, e dependendo da memória disponível no sistema e no drive, é possível manter outros programas rodando simultaneamente, sem desperdiçar a mídia.
Buffers de memória são largamente usados na maioria dos dispositivos onde trafegam dados digitais. Quando os primeiros CD players foram lançados, muita gente ficou surpresa ao ver que o disco podia parar de rodar e a música continuar tocando. Após a leitura do CD os dados do bitstream são processados em diversos circuitos, como, por exemplo, o da correção de erros, daí a exigência do uso de um buffer de memória antes da reprodução do conteúdo ser feita.
O uso de buffer de memória nas transmissões digitais está presente em todos os serviços de streaming. Se o buffer esvaziar, o usuário vê na tela aquela rodinha infame, avisando que a imagem parou porque o bitstream foi interrompido e o buffer precisa ser preenchido de novo.
Existem muitos fatores que justificam a qualidade dos dispositivos, mas o buffer de memória é, por muitas vezes, um dos mais importantes deles. Basta ver a capacidade do dispositivo em reproduzir vídeo, desde telefones celulares até os reprodutores de mesa. Entender como ele funciona ajuda o usuário a não fazer a escolha errada! [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.











