知识卡片
MESI协议的四态设计
内容
MESI用修改、独占、共享、失效四种状态描述每个Cache line的归属:修改态意味着这份数据是全系统唯一的最新版本、还没写回内存,其他核不能读内存中的旧值;独占态只有一份备份,但内容与内存一致,可随时无成本转向共享态或修改态;共享态表示多个核持有相同的只读备份;失效态表示这份数据已不能再用。同一份内存在两个Cache中的状态组合有硬性约束——比如一个是修改态,另一个必须是失效态,这种约束正是靠[[Cache一致性问题的根源]]中提到的总线窥探协议维护的。
参考来源
《深入浅出DPDK》第2章《Cache和内存》