Cache笔记
Cache笔记
Cache基础知识
Cache一致性
维护一致性的两个原则
- 写传播 <-通知:一个核心写入到Cache Line之后,必须通知其他核
- 事物串行化<-锁:多个核写入到同一个Cache Line时,引入锁的机制,保证写入到Cache Line的操作的原子性
写传播
事物串行化
总线嗅探
- 一个核修改数据之后,需要往总线发送广播,告知其他所有的核
- 核需要一直监测总线的广播,如果发现一个数据自己也包含,则需要将数据修改成对应的值
- 缺点:造成总线的压力很大;无法实现事务串行化
MESI协议
基于总线嗅探机制
是四个状态单词的开头字母缩写,分别是:
- Modified,已修改
- Exclusive,独占
- Shared,共享
- Invalidated,已失效
在Modified和Exclusive状态下修改数据,不需要广播到其他的核心、降低了总线的压力