O que é memória cache?
Tags: cache, memoria, arquiteturadecomputadores, portugues
Published: 2020-09-02 12:23:38

---
title: O que é memória cache?
published: true
description: O que é e como funciona a memória cache do computador?
tags: cache, memoria, arquiteturadecomputadores, portugues
cover_image: https://images.unsplash.com/photo-1455311683036-3e949a996256?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1305&q=80 
---
Memória cache é um __tipo de memória volátil__, ou seja, onde informações ficam guardadas temporariamente e é necessário sempre atualizá-las, __de alta velocidade__ e com uma __pequena capacidade de armazenamento__.

Acessar dados na memória cache do computador é muito mais rápido do que se fôssemos buscá-las diretamente na memória principal do computador, na memória RAM.

Segundo [Francis Berenger e Luiz Maia](https://www.amazon.com.br/Arquitetura-Sistemas-Operacionais-Incluindo-Exerc%C3%ADcios/dp/8521622104/ref=sr_1_1?__mk_pt_BR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=arquitetura+de+sistemas+operacionais&qid=1596207795&sr=8-1), o propósito da memória cache é:

> (...) __minimizar a disparidade existente entre a velocidade com que o processador executa instruções__ e a __velocidade com que dados são lidos e gravados na memória principal__.

Como a memória cache tem um alto custo sua capacidade é limitada.

## Como a memória cache funciona?

Ela funciona armazenando um pequeno “pedaço” da memória principal, para quando o processador buscar algum dado, fazê-lo primeiro na memória cache, que é mais rápida, para só depois buscar na memória principal.

Quando o processador encontra o dado na memória cache chamamos isso de __*cache hit*__. Quando o processador não encontra temos __*cache miss*__. Em casos de *cache miss* a memória principal transfere esse pedaço de dado para o cache. 

Pelo fato do cache ser volátil, como já falamos, as informações salvas depois do *cache miss* estão sempre mudando. 

Uma olhada de exemplo no Dell G5 que estou sonhando em comprar: 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/4y4lk2i6rmtvssmqibjb.png)

Mesmo que leve um tempo para salvar o “pedaço” da memória principal no cache, a velocidade e facilidade compensa por causa do __*princípio da localidade*__:

> (...) localidade é a tendência de o processador, ao longo da execução de um programa, referenciar instruções e dados na memória principal localizados em endereços próximos.

Isso é por causa aa grande ocorrência de estruturas de dados (aqui chamadas de __*sub-rotinas*__) como vetores e tabelas.

Você pode se perguntar então *“mais memória cache é pior ou melhor?”*.

Para responder isso primeiro precisamos pensar na arquitetura dos caches, que é feita em diferentes níveis. Segue-se o princípio de que:

> (...) quanto menor é a capacidade de armazenamento da memória cache, mais rápido é o acesso ao dado; contudo, a probabilidade da ocorrência de cache hits é menor.

A existência de níveis, que podem ser L1, L2, L3 e por aí vai, [se referem a proximidade do nível da unidade de execução do processador](https://www.techtudo.com.br/noticias/noticia/2016/10/o-que-e-memoria-cache-entenda-sua-importancia-para-o-pc.html).

Essa ideia de hierarquia é uma forma de seguir o princípio citado acima e ainda assim otimizar a memória cache. 

Por exemplo, se não houvessem níveis não adiantaria somente aumentar a memória cache. Ou seja, quanto mais memória cache muito provavelmente o fabricante implementou mais níveis, então não se preocupe em comprar um notebook de 12mb de cache ao invés de 8mb.

Fica o convite para ler o livro [Arquitetura de Sistemas Operacionais](https://www.amazon.com.br/Arquitetura-Sistemas-Operacionais-Incluindo-Exerc%C3%ADcios/dp/8521622104/ref=sr_1_1?__mk_pt_BR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=arquitetura+de+sistemas+operacionais&qid=1596207795&sr=8-1) para entrar em mais detalhes.

---
_Fontes_:
MACHADO, Francis Berenger; MAIA, Luiz Paulo. __Arquitetura de Sistemas Operacionais: Incluindo Exercícios com o Simulador SOSIM e Questões do ENADE__. Rio de Janeiro: LTC, 2013.

[Techtudo](https://www.techtudo.com.br/noticias/noticia/2016/10/o-que-e-memoria-cache-entenda-sua-importancia-para-o-pc.html)

---
_Esse texto não tem intenção de esgotar o tema. Acrescente nos comentários, e também aponte erros quando os identificar._