2013-11-07 3 views
3

В диаграмме перехода состояния, показанной ниже для протокола ИБС Иллинойса, почему существует сигнал Flush при переходе из состояния S в состояние I и сигнал Flush при переходе из состояния E в состояние I при наблюдении сигнал BusRdX. Разве содержимое кэша для процессоров в этих состояниях не будет таким же, как содержимое в основной памяти? Если да, то в чем смысл этих кешей, чтобы заявить, что я сбросил их данные? Кроме того, какая именно разница между Flush и Flush '. Это просто в Flush ', обмен данными передается одним кешем?Переходы состояния протокола MESI

Transition схема:

enter image description here

ответ

1

Не будет ли содержимое кэша для процессоров в этих состояниях быть таким же, как содержание в основной памяти?

Это зависит от политики .

  • Если записи через политику используется и все изменения записываются непосредственно в основную память, вы правы.

  • Но это неверно для с обратной записью. Может произойти переход состояния от M к S через считывание snoop (или относящееся к вашему diagram: BusRd, т.е. запрос на чтение с шины без намерения изменить), на этом этапе кеш не согласуется с основным памяти, поэтому содержимое должно быть записано в основную память, если кеш недействителен.

Кроме того, в чем именно заключается разница между скрытой и Flush»

Я предполагаю, что у вас есть схема из википедии; есть обновленная версия, связанная с ней выше, которая не делает этого различия.

Смежные вопросы