Почему алгоритм MESI записывает неверные данные в ОЗУ?
Мой профессор отказывается отвечать на этот вопрос, и я начинаю сомневаться, что он не знает ответа.
Предположим, у нас есть два потока, работающих на параллельных процессорах (запись и чтение из одного блока данных в ОЗУ). Первый кэш находится в состоянии M; вторая находится в неизвестном состоянии (должна быть в состоянии, в соответствии с тем, что я поняла)
Вопрос заключается в следующем: если BusWrite был отправлен из 2-го кэша, существует ли вероятность того, что первый кэш будет записан обратно в ОЗУ, где он точно не будет обновлен, но последнее измененное значение во 2-м кеше будет записано обратно в ОЗУ?
Мой профессор говорит "да", мой вопрос: зачем записывать необновленные данные обратно в ОЗУ?