Você está na página 1de 16

Memria Cache (fundamentos)

Prof: Francisco Borges Carreiro

Cache
Pequena quantidade de memria rpida. Fica entre a memria principal e a CPU. Atualmente se localizada no chip da CPU ou mdulo.

Cache e memria principal

Estrutura de cache/memria principal

Exemplo: Tamanho da cache 64Kbytes Transferncia entre a memria principal em blocos de 4bytes Tamanho da linha: 64k/4=16K linhas

Operao da cache viso geral


CPU requisita contedo do local de memria. Verifica se os dados esto em cache. Se estiverem, apanha da cache (rpido). Se no, l bloco solicitado da memria principal para a cache. Depois, entrega da cache CPU. Cache inclui tags para identificar qual bloco da memria principal est em cada linha da cache.

Operao de leitura de cache fluxograma

Organizao tpica da memria cache

Projeto de cache
Endereando. Tamanho. Funo de mapeamento. Algoritmo de substituio. Poltica de escrita. Tamanho de bloco. Nmero de caches.

Endereamento de cache
Onde fica a cache? Entre processador e unidade de gerenciamento de memria virtual. Entre MMU e memria principal.

Endereamento de cache
Cache lgica (cache virtual) armazena dados usando endereo virtual. Processador acessa cache diretamente, no atravs da memria fsica. Acesso cache mais rpido, antes da traduo de endereo da MMU. Endereos virtuais usam o mesmo espao de endereos para diferentes aplicaes. Deve esvaziar cache a cada troca de contexto. Cache fsica armazena dados usando endereos fsicos da memria principal.

Endereamento de cache

Tamanho
Custo: Mais cache caro. Velocidade: Mais cache mais rpido (at certo ponto). Verificar dados na cache leva tempo.

Comparao de tamanhos de memria cache

Caches multinvel
Alta densidade lgica permite caches no chip. Mais rpido que acesso ao barramento. Libera barramento para outras transferncias. Comum usar cache dentro e fora do chip. L1 no chip, L2 fora do chip (anteriormente). Acesso L2 muito mais rpido que DRAM ou ROM. L2 normalmente usa caminho de dados separado. L2 pode agora estar no chip. Resultando em cache L3. Acesso ao barramento agora no chip.

Caches unificadas versus separadas


Uma cache para dados e instrues ou duas, uma para dados e uma para instrues. Vantagens da cache unificada: Maior taxa de acerto. Equilibra carga entre buscas de instruo e dados. Apenas uma cache para projetar e implementar.

Caches unificadas versus separadas


Vantagens da cache separada: Elimina disputa pela cache entre a unidade de busca/decodificao de instruo e a unidade de execuo. Importante no pipeline de instrues.

Você também pode gostar