Coerência da memória

Coerência da memória é uma condição desejável na qual as localizações de memória correspondentes para cada elemento de processamento em um processador multi-core contêm sempre os mesmos dados em cache. Sem coerência de memória, os programas podem ser adversamente afetados.

Em processadores multi-core, dois ou mais elementos de processamento trabalham ao mesmo tempo. De vez em quando, eles acessam simultaneamente o mesmo local de memória. Desde que nenhum elemento de processamento altere os dados no local afetado, todos esses elementos podem compartilhar e armazenar os dados em cache sem qualquer problema. Mas se um dos elementos de processamento alterar os dados no local compartilhado e não informar os outros da alteração, os outros elementos podem usar a versão desatualizada dos dados que permanecem em seus caches locais.

Num sistema de processamento multi-core, o chamado protocolo de coerência da memória notifica todos os elementos de processamento das alterações aos valores compartilhados, garantindo assim que todas as cópias dos dados permaneçam consistentes.