Você já deve ter notado que uma aplicação demora mais para ser carregada quando é acessada pela primeira vez, mas depois o carregamento ocorre rapidamente. Isso acontece devido à memória cache, que armazena dados usados com frequência e acelera o processamento das informações.
Essa memória é aplicada não só em softwares, mas também está presente nos hardwares, como em seu computador e em dispositivos móveis. Desse modo, para saber mais sobre o funcionamento deste recurso, fique com a gente e acompanhe os tópicos que vão ser abordados neste artigo:
- O que é a memória cache?
- Como funciona a memória cache?
- Quais as diferenças entre a memória cache e memória RAM?
- Quais os 3 níveis de memória cache?
- Qual a relação entre o princípio da localidade e memória cache?
- O que é memória cache de disco e de GPU?
- Por que e quando surgiu a memória cache?
- 3 exemplos de uso de memória cache!
- Vale a pena limpar a memória cache?
O que é a memória cache?
![Esquema que demonstra a utilização da memória cache](https://blog.betrybe.com/wp-content/uploads/2022/12/image-59.png)
A memória cache (fala-se “cash”) está localizada no processador (CPU) de computadores e dispositivos móveis, tratando-se de uma memória de armazenamento temporário de informações.
Seu objetivo é otimizar a performance da aplicação, guardando as informações que são acessadas com mais frequência, como dados da pessoa usuária e imagens. Isso evita que requisições constantes sejam feitas na memória principal (RAM, Memória de Acesso Randômico).
Além dos hardwares, os softwares também podem armazenar cache. Os navegadores, por exemplo, guardam informações temporárias para que as páginas web possam ser carregadas com maior rapidez.
Onde fica a memória cache?
![Memória cache](https://blog.betrybe.com/wp-content/uploads/2022/12/image-61.png)
A memória cache está localizada no processador e é a mais próxima do chipset. Por conta dessa proximidade, a transferência de dados é mais rápida. Entretanto, por fazer parte da CPU, trata-se de um componente pequeno e com pouco espaço de armazenamento.
O que é uma memória volátil?
Trata-se da memória que necessita de uma corrente elétrica para guardar os dados. Quando o fluxo de energia é cortado, todas as informações são perdidas. A memória RAM e a cache são voláteis, logo, quando o dispositivo é desligado ou reiniciado, os dados que estavam nelas são apagados.
Como funciona a memória cache?
Quando uma pessoa acessa uma aplicação, o processador procura os dados necessários na memória cache. Se ela estiver vazia ou não possuir as informações, ele é redirecionado para a memória RAM.
Então, a RAM faz uma requisição ao disco rígido (HD) e copia as informações encontradas para si. Durante esse processo, a cache também faz uma cópia das informações, mas não apenas sobre o que foi requisitado e sim do bloco completo de dados.
Desse modo, posteriormente, caso o processador precise de outro dado do mesmo bloco, ele pode consultar a cache, evitando percorrer todo o caminho citado acima e tornando o processo mais rápido e eficiente.
A memória cache influencia no desempenho?
Sim.
Como dito anteriormente, a cache otimiza o desempenho de um dispositivo ou aplicação. Por conter uma cópia completa do bloco de informações buscado na RAM, o processador pode fazer um caminho mais curto para encontrar os dados de que precisa indo até a cache.
Quais as diferenças entre memória cache e memória RAM?
As principais diferenças entre a memória cache e a RAM são o espaço de armazenamento e a velocidade. Como dito anteriormente, a cache está mais próxima do processador, por isso é mais rápida, mas armazena um volume de dados menor.
Por outro lado, a memória RAM é o local principal de armazenamento temporário de dados de um dispositivo. Por isso, consegue guardar mais informações, mas seu acesso é mais demorado. Isso ocorre porque é responsabilidade da RAM gerenciar os processos de todos os aplicativos ativos.
Quais os 3 níveis de memória cache?
![Exemplificação dos níveis da memória cache](https://blog.betrybe.com/wp-content/uploads/2022/12/image-60.png)
A memória cache organiza suas informações em três níveis, de acordo com a prioridade:
- Cache L1;
- Cache L2;
- Cache L3.
Desse modo, as consultas do processador se tornam ainda mais otimizadas, pois os dados ficam dispostos de acordo com a frequência em que são acessados. Vejamos mais detalhes a seguir.
Cache L1
Este é o espaço da memória cache mais próximo do processador. Aqui são armazenados os dados com maior probabilidade de serem reutilizados. Entretanto, a proximidade impacta no armazenamento disponível, sendo o nível com menor capacidade entre os demais.
Cache L2
A cache L2 ou cache secundária armazena informações acessadas recentemente, mas com uma probabilidade intermediária de voltarem a ser utilizadas.
Cache L3
A L3 é o último nível da memória cache. Caso o processador não encontre as informações que deseja neste nível, ele será redirecionado para a memória RAM.
Qual a relação entre princípio da localidade e memória cache?
O princípio da localidade estabelece uma previsão de quando um item na memória pode ser acessado novamente, baseado em sua localização e tempo em que foi acessado.
Localidade temporal
A localidade temporal se refere às chances de um mesmo item ser reutilizado depois de um determinado período de tempo. Pense em um livro que você está consultando, é provável precise consultá-lo mais de uma vez dependendo da ocasião.
Localidade espacial
Nesse caso, são abordadas as chances de um item ser acessado por ter uma localização próxima a outros que já foram usados. Por exemplo, digamos que você tenha uma lista de tópicos para estudar. Você vai começar pelo primeiro, quando acabar, pode ir para o segundo e assim por diante.
O que é a memória cache de disco e de GPU?
Cache de disco
O cache de disco é a memória temporária referente ao armazenamento interno de um dispositivo, por isso a palavra “disco” em seu nome. Ela costuma ser ainda mais lenta que as demais, pois busca todas as suas informações diretamente da memória RAM.
Cache de GPU
O cache de GPU se trata do armazenamento temporário de dados da placa gráfica. Isso auxilia o dispositivo a renderizar imagens mais rapidamente. Em GPUs integradas, isto é, ligadas ao processador, o desempenho pode ser limitado por conta do compartilhamento de espaço.
Já em placas dedicadas, que são externas ao processador, a memória cache é independente. Desse modo, os travamentos e atrasos na renderização são reduzidos de forma significativa.
Por que e quando surgiu a memória cache?
A memória cache surgiu no início dos anos 60. Na época, a memória RAM já não acompanhava mais o ritmo dos processadores e estava causando lentidão no processamento de dados, principalmente em computadores científicos. Anos depois, a novidade passou a ser incorporada a todos os dispositivos lançados.
3 exemplos de uso da memória cache!
- Aplicações web
Pelos sites na internet percorrem diferentes volumes de dados todos os dias. Imagine um e-commerce, em que é necessário consultar dados sobre preço, pagamento e estoque. Quanto maior é o número de acessos, maior é o número de requisições.
Por isso, para não deixar a plataforma lenta ou fora do ar, parte dessas informações são armazenadas em cache. Assim, a carga de solicitações feitas ao banco de dados é reduzida.
- Análise de dados
Analisar dados exige consultas complexas em uma grande quantidade de informações, o que eleva consideravelmente o tempo de resposta. Por isso, deixar os resultados de pesquisas anteriores armazenadas em cache pode otimizar a velocidade do processo.
- Carregamento de vídeos
A memória cache também é utilizada para reduzir a latência em serviços de streaming de vídeo. Imagine pausar um vídeo e quando voltar para assistir ser necessário carregá-lo por inteiro novamente, isso com certeza iria tornar tudo bem lento.
Vale a pena limpar a memória cache?
A memória cache utiliza espaço de armazenamento do dispositivo para guardar diversas informações que são acessadas com frequência. Com o tempo, esse espaço também será saturado e deixará o aparelho lento.
Por isso, para evitar este cenário, é indicado limpar o cache de vez em quando. Mas lembre-se, se o seu problema é espaço de armazenamento, existem outras soluções que podem ajudar, como fazer backup de arquivos na nuvem.
Neste artigo aprendemos mais sobre o que é a memória cache, essencial para otimizar a velocidade de processamento de um computador, dispositivo móvel ou aplicação. Nela, são armazenados os dados utilizados com maior frequência, evitando requisições excessivas à memória RAM.
Se este assunto despertou a sua curiosidade e você gostaria de aprender mais sobre o mundo da tecnologia, leia este artigo da Trybe sobre como funciona a internet.