Estratégias de Organização da Cache
Sumario
1 Cache com Mapeamento Direto 2
2 Cache Completamente Associativo 6
3 Mapeamento Associativo por Conjunto 8
4 Algoritmos de Substituic~ao de Blocos na Cache 10
Refer^encias Bibliogracas 14 ii Introduc~ao
Se, dado um endereco vindo do CPU, o controlador da cache operasse de modo sequencial, isto tornaria a cache muito lenta. O mapa de enderecos da cache e uma tabela com tantas entradas quantos os blocos de bytes que a cache pode conter. Cada entrada dessa tabela contem o endereco do bloco que lhe esta associado, ou ent~ao contem um indicador de entrada vazia, caso nenhum bloco esteja correntemente na posic~ao correspondente a essa entrada.
O cache de memoria pode funcionar em tr^es diferentes organizac~oes: cache com mapeamento direto, cache completamente associativo e cache associativo por grupos. O cache associativo por grupos
e a congurac~ao mais usada atualmente.
Captulo 1
Cache com Mapeamento Direto
O cache com mapeamento direto e a maneira mais simples de se criar um cache de memoria. Nesta con gurac~ao a memoria RAM e dividida no mesmo numero de linhas que existem dentro do cache de memoria. Se tivermos um micro com 1 GB de memoria RAM, esse 1 GB sera dividido em 8.192 blocos cada um com 128Kb. Se o micro tivesse 512 MB a memoria tambem seria dividida em 8.192 blocos, mas desta vez cada bloco teria 64 KB. E assim por diante.
Figura 1.1: Mapeamento Direto
Cada bloco da memoria principal so pode ser mapeado em uma unica posic~ao da memoria cache.
Normalmente utiliza-se os bits menos signicativos do endereco do bloco como ndice para denir em que posic~ao da cache sera armazenado. S~ao utilizados tantos bits quantos forem necessarios para enderecar todas as posic~oes da cache. Por exemplo, se a cache armazenar 1024 blocos, ser~ao utilizados os 10 bits
3
menos signicativos. Para indenticar o bloco que esta armazenado na cache, a parte