缓存一致性出现的根源是因为计算机内存和cpu的速度不匹配的问题,所以说每个cpu都有自己的缓存l1和l2,然后l3是共享的缓存,cpu都会优先从自己的缓存中读数据然后进行操作,那么这样就会有数据不一致的问题,解决这个问题最直接的方式就是让cpu共享缓存,那么肯定就会有争用的问题,导致速度变慢,缓存一致性就是一个折衷方案,以mesi协议来说,每个缓存都需要2个bit来存储mesi的状态,那么m是修改的,e是独占的,s是共享的,i是无效的,如果cpu自己的缓存行数据被修改那么就会修改成m修改状态,然后发送一条lock前缀的指令给消息总线,其他处理器收到这个消息后会把自己对应的缓存行状态就改为i无效态,然后去内存中重新读取数据