程序局部性原理(Locality of Reference)是层次化存储体系(特别是 Cache)能够生效的理论依据。 重点
1. 时间局部性 (Temporal Locality)
- 定义: 如果一个信息项被访问,那么在不久的将来它可能再次被访问。
- 原因: 程序中存在大量的循环操作。
- 应用: 将最近访问过的数据保留在 Cache 中。
2. 空间局部性 (Spatial Locality)
- 定义: 如果一个存储单元被访问,那么它相邻的单元也可能很快被访问。
- 原因:
- 程序的顺序执行。
- 数组等连续数据结构的遍历。
- 应用: 访存时不仅调入当前字节,还将其邻近的一个块(Block/Page)全部调入 Cache。