Протокол MESI (Modified, Exclusive, Shared, Invalid) используется для связи кэшей CPU и обеспечения их использования последним значением для строки кэша. Когда один процессор изменяет значение строки кэша, все остальные процессоры, подписавшиеся на эту строку кэша, будут предупреждены об изменении в строке кэша.Эксплуатационная стоимость протокола MESI?
Однако, во всей литературе, которую я прочитал относительно MESI, я не видел, есть ли какая-либо стоимость исполнения, пока протокол общается? Будет ли это стоить только частью стоимости префикса x86 LOCK
? Я довольно уверен, что MESI можно использовать, даже если префикс x86 LOCK
нет?
NB Корпорация Intel фактически использует протокол MESIF, где F является дополнительным состоянием «Пересылка».
Предполагается, что протокол когерентности кеша необходим только при неправильной реализации атомной инструкции , И производительность удара сильно зависит от ситуации. Но один очень известный пример повышения производительности протокола когерентности кэша - [false sharing] (http://en.m.wikipedia.org/wiki/False_sharing) – Voo
Это слишком широкое, у вас есть много типов кешей (варьируя по таким параметрам, как инклюзивность, WB/WT, частный/общий и т. д.) и многие типы MESI, иногда даже несколько типов в одном процессоре. О чём вы спрашиваете? Какую альтернативу вы хотите рассматривать как базовую? – Leeor