Gerencia de memoria cache
Introdução a Caches
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES III
• Funcionalidade
– Área de memória rápida e com informações dinâmicas
• Cache só pode ter parte dos dados do nível mais abaixo
– Tamanho menor
Gerência de Memórias Cache
• Problemas
–
–
–
–
(Mapeamento de Endereços)
César A. M. Marcon
Alexandre M. Amory
Como identificar se o dado procurado está na cache?
Se estiver, como acessar de forma rápida?
Se não estiver, como buscar eficientemente de níveis inferiores?
Qual dado tirar da cache para colocar o novo dado?
• Processador nãosabe qual memória física tem o dado
– Gera apenas endereços e a hierarquia se enc arrega de acess ar a informação endereçada
3 / 55
4 / 55
Mapeamento de Endereços em Memória Cache
Índice
• Como fazer para pesquisar um dado na cache?
1. Mapeamento de Endereços em Memória Cache
– Fazer cache com todos endereços não faz sentido
– Efetuar varredura seqüencial na cache leva muito tempo
1.1 Mapeamento Direto
1.2 Mapeamento Associativo
• Solução
1.3 Mapeamento Conjunto Associativo
– Fazer mapeamento de endereços
• Objetivo
– Relacionar informações (dados e instruções) da memória principal com posições da cache
• Formas de mapeamento de memórias cache
– Direto
– Associativo
– Conjunto associativo
5 / 55
6 / 55
Introdução ao Mapeamento Direto
Esquema de Mapeamento Direto
• Forma mais simples de mapeamento
– Posição na cache depende do endereço da palavra na memória principal (MP)
• Cada palavra da MP possui uma posição fixa na cache
– Grupo de palavras mapeado na mesma posição da cache • Exemplo
– Cache de 4 posições e MP de 32 endereços (palavra de
8 bits)
– Cada posição da cache tem 1 de 8 posições da MP
– Endereço obtido pelo resto da divisão inteira do número de posições da cache
• Mapeamento utilizando os dois bits menos significativos do endereço •
TAG (rótulo) p ar a c ada po siç ão da c a che