

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Em um sistema multicore homogêneo, cada núcleo possui cache L1 privado, enquanto o cache L2 é compartilhado entre todos os núcleos. Para garantir a consistência dos dados quando múltiplos núcleos acessam e modificam a mesma linha de cache, são empregados protocolos de coerência. Considere a situação em que dois núcleos distintos acessam e alteram uma mesma linha de cache. Nesse contexto, qual alternativa descreve de forma mais adequada a principal diferença entre os protocolos de coerência MESI e MOESI no tratamento de dados modificados que ainda não foram escritos na memória principal?
O protocolo MESI admite que dados permaneçam em estado compartilhado mesmo após modificações locais, realizando atualizações periódicas, ao passo que o MOESI impõe invalidação imediata de todas as cópias ao detectar uma escrita.
No protocolo MESI, uma linha de cache em estado modificado deve ser escrita na memória principal antes que seu conteúdo possa ser fornecido a outro núcleo; no MOESI, o estado Owned permite que essa linha modificada seja compartilhada e transferida diretamente entre caches, sem necessidade de escrita imediata na memória.
Em MESI, um bloco modificado por um núcleo invalida automaticamente o mesmo bloco nos outros núcleos, enquanto em MOESI o núcleo que sofre a invalidação passa a manter uma cópia exclusiva modificável sem troca adicional de mensagens.
MESI e MOESI apresentam comportamento equivalente quanto a dados modificados, exigindo em ambos os casos a escrita imediata na memória principal antes de qualquer transferência entre caches, diferindo apenas no número de estados definidos.