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).