多级缓存
L1 Cache (一级缓存)是CPU第一层高速缓存, 分为数据缓存和指令缓存, 一般服务器CPU的L1缓存的容量通常在32-4096kb
L2 Cache (二级缓存) 由于L1高速缓存的容量限制...具有较大L3缓存的处理器更有效的文件系统缓存行为及较短消息和处理器队列长度....一般是多核共享一个L3缓存
CPU在读取数据时, 先在L1中寻找, 再从L2中寻找, 再从L3中寻找, 然后是内存, 最后是外存储器
缓存同步协议
多CPU读取同样的数据进行缓存, 进行不同运算之后,...语义, 也就是说, 编译器和处理器不会对存在数据依赖关系的操作做重排序
两个问题
CPU高速缓存下有一个问题:
缓存中的数据与主内存的数据并不是实时同步的, 各CPU间缓存的数据也不是实时同步...., 强制从新从主内存读取数据
强制读取主内存内容, 让CPU缓存和主内存保持一致, 避免了缓存导致的一致性问题