多处理器系统MESI cache一致性协议
3.3.1 Cache一致性的基本概念
MESI协议
Cache的写策略
- Write through(写通)
每次CPU修改了cache中的内容,Cache立即更新内存的内容 Write back(写回)
内核修改cache的内容后,cache并不会立即更新内存中的内容,而是等到这个cache line因为某种原因需要从
cache中移除时,cache才会更新内存中的内容。Write through(写通)由于有大量的访问内存的操作,效率太低,大多数处理器都使用Writeback(写回)策略。
Cache如何知道这行有没有被修改?需要一个标志-dirty标志。Dirty标志为1,表示cache的内容被修改,和内存的内容不一致,当该cache line被移除时,数据需要被更新到内存,dirty标志位0(称为clean),表示cache的内容和内存的内容一致。
有dirty标志的cache结构: