缓存行
cpu从内存中读取数据以cache line为基本单位,目前长度为64bytes
伪共享
位于同一缓存行的两个不同数据,被两个不同的CPU锁定,产生互相影响
使用缓存行的对齐能够提高效率
每次需要读取的数据独占64byte字节
缓存一致性协议
缓存一致性协议有很多,因为常用的是Intel所以这里讲MESI
S-shared---该状态意味着当前缓存行数据不止存在本地CPU缓存中,<br>还存在别的CPU的缓存中。这个状态的数据和内存中的数据是一致的
E-exclusive---代表该缓存行对应内存中的内容只被该CPU缓存,<br>其他CPU没有缓存该缓存行中的内容
M-modified---代表该缓存行中的内容被修改了,<br>并且该缓存行只被缓存在该CPU中,未来某一时刻会被写入到内存中
I-invalid---代表该缓存行中的内容是无效的