cpu缓存存在的意义:cpu的频率太快,主存跟不上,这样在处理器的时钟周期里,cpu常常需要等待主存,导致资源的浪费。所以cpu缓存的出现就是为了缓解cpu和内存之间速度的不匹配问题。
- 时间局部性:如果某个数据被访问,那么在不久的将来它很可能被再次访问。
- 空间局部性:如果某个数据被访问,那么与它相邻的数据很快也可能被访问。
缓存一致性(MESI):用于保证多个cpu cache之间缓存数据的一致
缓存行之间的状态之间的相互转换关系也可以使用下表进行表示:
乱序执行优化:处理器为提高运算速度而做出违背代码原有顺序。
在某些情况下会导致程序执行结果与预期出现偏差。