一、MESI概念
定义:MESI 是指缓存行的四种状态的首字母。
PS:每个缓存行有4个状态,可用2个bit【2位】表示,它们分别是:
二、多核缓存协同操作流程分析
假设有三个CPU A、B、C;对应三个缓存分别是缓存A、B、 C;并在主内存中定义了x的引用值为0。
1、单核读取
2、双核读取
3、修改数据
4、同步数据
三、缓存行伪共享
什么是伪共享?
CPU缓存系统中是以缓存行为单位存储的,目前主流的CPU Cache 的缓存行大小都是64Bytes。
定义:在多线程情况下,如果需要修改共享同一个缓存行的变量,就会无意中影响彼此的性能,这就是伪共享。
举个