casa |  | Saúde e Doença >  | Câncer | Mesotelioma

Protocolo de Coerência de Cache MESI: Estados, Transições e Papel em Multiprocessadores

MESI (Modificado, Exclusivo, Compartilhado, Inválido) é um protocolo de coerência de cache com write-back para multiprocessadores de memória compartilhada. Cada linha de cache possui exatamente um estado.

Definições de Estado

  • M (Modificado): Linha está suja (≠ memória); apenas este cache possui uma cópia válida. O proprietário deve gravar de volta na evicção ou snoop.
  • E (Exclusivo): Linha está limpa (= memória); apenas este cache possui uma cópia. Pode gravar silenciosamente → M.
  • S (Compartilhado): Linha está limpa; vários caches podem possuir cópias. A gravação requer upgrade no barramento (invalidar) → M.
  • I (Inválido): Linha está inválida; deve buscar no acesso.

Principais Transições (Barramento Snooping)

  • Leitura com falta: Transmissão → se outro cache tem M, ele grava de volta (intervenção); o requisitante recebe E (se único) ou S.
  • Gravação com acerto em S: Transmissão de invalidar → tornar-se M.
  • Gravação com acerto em E: Upgrade silencioso para M.
  • Gravação com acerto em M: Silencioso (já é exclusivo).

Vantagens

  • Reduz o tráfego de barramento em comparação com protocolos write-through.
  • Um único escritor (M) garante coerência.
  • O estado E evita invalidações desnecessárias para dados privados.

Variantes

MESIF (Intel: estado Forward), MOESI (AMD: estado Owned), Dragon (baseado em atualização).