缓存的出现是为了缓解内存与CPU速度不匹配问题。
1.CPU缓存的意义:
- 时间局部性:如果某个数据被访问,那么在不久将来他能被再次访问。
- 空间局部性:如果某个数据被访问,那么与它相邻的数据也可能被访问。
2.缓存一致性(MESI)
用于保证多个CPU缓存之间共享数据的一致性。
image.png
M:指被修改状态,与主存中都数据不一致,需要在未来某个时间点写回主存。被写回主存后,变为独享状态。
E:指独享状态,未被修改过,与主存一致,缓存行只存在于该缓存中,可以在任何时间当有其他CPU读取该内存时变成共享状态。被修改时,变为被修改状态。
S:指共享状态,该缓存行可能被多个CPU缓存,且缓存数据与主存一致。当有一个CPU修改该缓存行时,其他CPU的该缓存行变为无效状态。
I:无效状态。
网友评论