Desvantagens do cache mapeado direto 1.
Baixa taxa de acertos :o cache mapeado direto sofre de uma baixa taxa de acertos em comparação com outros designs de cache, como caches associativos de conjunto ou totalmente associativos. Isso ocorre porque cada bloco de memória pode ser mapeado para apenas um local de cache. Se o bloco de memória desejado não estiver presente no cache, isso resultará em cache miss, levando a uma taxa de miss mais alta.
2.
Perdas de conflito :o cache mapeado diretamente é suscetível a erros de conflito, que ocorrem quando vários blocos de memória são mapeados para a mesma linha de cache. Quando um novo bloco de memória é carregado no cache, ele pode expulsar um bloco carregado anteriormente que pertence a um endereço de memória diferente, causando uma falta de conflito. As falhas de conflito podem impactar significativamente o desempenho do cache, especialmente para aplicações com grandes conjuntos de dados.
3.
Paralelismo limitado :o cache mapeado diretamente limita o potencial de paralelismo no acesso à memória. Como cada bloco de memória pode ser mapeado para apenas um local de cache, vários processadores ou núcleos que tentam acessar diferentes blocos de memória mapeados para a mesma linha de cache podem levar à serialização, reduzindo o desempenho geral.
4.
Política Determinística de Despejo :o cache mapeado direto usa uma política de remoção determinística, em que o bloco menos usado recentemente (LRU) é removido quando um novo bloco de memória é carregado. Esta política de despejo pode ser ineficiente em alguns casos, pois pode expulsar blocos que são frequentemente usados, mas temporariamente não acessados.
Devido a essas desvantagens, os caches mapeados diretamente não são amplamente utilizados em sistemas modernos de alto desempenho. Em vez disso, são preferidos caches associativos de conjunto ou caches totalmente associativos, que oferecem taxas de acerto mais altas, perdas de conflito reduzidas e paralelismo aprimorado.