MOESI Cache Coherence protocol
Updated: Oct 19th, 2023
MOESI 是一个完整的缓存一致性协议,它包含了其他协议中常用的所有可能状态。除了四种常见的 MESI 协议状态之外,还有第五种 Owned 状态,表示修改和共享的数据。 这就避免了在共享数据之前将修改过的数据写回主存的需要。虽然数据最终仍然必须写回,但写回可能是延迟的。
已修改Modified (M):缓存⾏是脏的(dirty),与主存的值不同,并且缓存具有系统中唯一有效数据。处于修改状态的缓存可以将数据提供给另一个读取器,而无需将其传输到内存,然后状态变为 O,读取者变为 S。 拥有Owned(O):缓存⾏是脏的(dirty),与主存的值不同,但不是系统中唯一有效副本,一定存在其他的 S。为其他核心提供读请求,较少核心间总线带宽。 独占Exclusive (E):缓存⾏只在当前缓存中,但是⼲净的(clean),缓存数据同于主存数据。当别的缓存读取它时,状态变为共享;当前写数据时,变为已修改状态。 共享Shared (S):缓存⾏也存在于其它缓存中且不一定是⼲净的。如果 O 存在,就是脏的,反之亦然。 ⽆效Invalid (I):缓存⾏是⽆效的。
[1]
K.
Loughlin, S. Saroiu, A. Wolman, Y. A. Manerkar, and B. Kasikci,
“MOESI-prime: preventing coherence-induced hammering in commodity
workloads,” in Proceedings of the 49th Annual International
Symposium on Computer Architecture, New York, NY, USA, 2022, pp.
670–684, doi: 10.1145/3470496.3527427
[Online]. Available: https://dl.acm.org/doi/10.1145/3470496.3527427.
[Accessed: 25-Sep-2023]
Notes mentioning this note
There are no notes linking to this note.