Computação |
• Reduz conflitos, mas exige comparadores complexos para busca.
• Usado em caches pequenas, como L1.
Mapeamento Associativo por Conjunto (Set-Associative)
• Compromisso entre os dois anteriores.
• A cache é dividida em conjuntos, cada um com várias linhas (vias).
• Um bloco da memória é mapeado para um conjunto específico, mas pode ocupar qualquer via dentro dele.
Ex.: cache “4-way set associative”.
Políticas de Substituição e Coerência de Cache
Políticas de Substituição
Quando ocorre um miss e o conjunto está cheio, é necessário substituir uma linha. As políticas mais comuns são:
FIFO (First In, First Out): substitui a linha mais antiga.
LRU (Least Recently Used): substitui a linha menos recentemente acessada.
LFU (Least Frequently Used): substitui a linha menos acessada.
Random: substituição aleatória (simples e eficiente em hardware).
Políticas de Escrita
Write-Through: toda escrita na cache é imediatamente refletida na memória principal. Simples, porém mais lenta.
Write-Back: a escrita ocorre apenas na cache, sendo propagada para a memória principal quando a linha é substituída. Mais eficiente, mas requer controle de dados “sujos” (dirty bits).