程序局部性原理(Locality of Reference)是层次化存储体系(特别是 Cache)能够生效的理论依据。 重点

1. 时间局部性 (Temporal Locality)

  • 定义: 如果一个信息项被访问,那么在不久的将来它可能再次被访问。
  • 原因: 程序中存在大量的循环操作
  • 应用: 将最近访问过的数据保留在 Cache 中。

2. 空间局部性 (Spatial Locality)

  • 定义: 如果一个存储单元被访问,那么它相邻的单元也可能很快被访问。
  • 原因:
    • 程序的顺序执行
    • 数组等连续数据结构的遍历。
  • 应用: 访存时不仅调入当前字节,还将其邻近的一个块(Block/Page)全部调入 Cache。