Em um cache de gravação, cada operação de gravação atualiza o cache e a memória principal simultaneamente. Isso contrasta com o armazenamento em cache de gravação, onde as gravações são feitas apenas no cache inicialmente, com as atualizações da memória principal sendo atrasadas até que a linha do cache seja despejada.
Aqui está um colapso das implicações:
Vantagens da gravação: *
Consistência de dados: Como a memória principal está sempre atualizada, não há problema de coerência de cache. Vários processadores ou processos que acessam os mesmos dados sempre verão a versão mais recente. Isso simplifica o gerenciamento do cache e evita a necessidade de protocolos complexos para manter a consistência.
*
Simplicidade: A implementação é geralmente mais simples que o back de gravação, pois não há necessidade de um "bit sujo" para rastrear linhas de cache modificadas ou um buffer de gravação para fila de memória pendente de memória.
Desvantagens de gravação: *
Gargrado de desempenho: Escrever na memória é mais lento do que escrever para cache. A operação de gravação deve aguardar a gravação da memória principal para concluir antes de prosseguir, reduzindo significativamente o desempenho da gravação, especialmente para gravações frequentes. Isso pode levar à redução da taxa de transferência geral do sistema.
*
Aumento do tráfego de ônibus: Toda operação de gravação gera tráfego no barramento do sistema, aumentando a contenção e potencialmente impactando outros dispositivos.
Em resumo, o cache de gravação prioriza a consistência e a simplicidade dos dados sobre o desempenho. É adequado para aplicativos em que a consistência dos dados é fundamental e as operações de gravação são pouco frequentes ou quando a sobrecarga de desempenho é aceitável. Por outro lado, o cache de gravação é preferido em aplicativos críticos de desempenho com muitas operações de gravação.