Hierarquia de memória e coerência
Gabarito: letra D. Um sistema de memória é coerente quando uma leitura por um processador P a um local X que segue uma escrita por P a X, sem escritas de X por outro processador entre elas, sempre retorna o valor escrito por P. Essa é a primeira condição da definição clássica de coerência de memória, que também exige que leituras após escritas de outros processadores retornem o valor correto e que todas as escritas no mesmo local sejam vistas na mesma ordem por todos os processadores.
Alternativa A — ❌ Incorreta
Afirma que a leitura nunca retorna o valor escrito, o que é o oposto do que a coerência exige. A condição correta é que sempre retorne o valor escrito, desde que não haja escritas concorrentes de outros processadores.
Alternativa B — ❌ Incorreta
Diz que a leitura retorna o valor escrito se “a leitura e escrita forem suficientemente separadas no tempo e ocorrerem outras escritas em X entre os dois acessos”. A presença de outras escritas entre elas quebra a garantia de que o valor lido seja o da escrita original, portanto a afirmação não corresponde à definição de coerência.
Alternativa C — ❌ Incorreta
Afirma que duas escritas no mesmo local por dois processadores são vistas em ordem diferente por todos os processadores. A coerência exige que todas as escritas no mesmo local sejam vistas na mesma ordem por todos os processadores (sequencialmente consistentes).
Alternativa D — ✅ Correta ⟵ GABARITO
Essa é a primeira condição da coerência: uma leitura após uma escrita do mesmo processador, sem interferência de outros, deve sempre retornar o valor escrito. É a base para a consistência sequencial e o modelo de coerência.
Alternativa E — ❌ Incorreta
Diz que duas escritas no mesmo local são vistas na mesma ordem por apenas um dos processadores. A coerência exige que todos os processadores vejam a mesma ordem das escritas, não apenas um.
Gabarito: letra D