天天看點

學習筆記 | 時間局部性和空間局部性

  • 在CPU通路寄存器時,無論是存取資料還是存取指令,都趨于聚集在一片連續的區域中,這就被稱為局部性原理。
  • 局部性原理又分為時間局部性(temporal locality) 和空間局部性 (spatial locality) 。

1. 時間局部性:

  • 如果程式中的某條指令一旦執行,不久以後該指令可能再次執行;
  • 如果某資料被通路過,不久以後該資料可能再次被通路。
  • 産生時間局部性的典型原因: 是由于在程式中存在着大量的循環操作。
  • 被引用過一次的存儲器位置在未來會被多次引用(通常在循環中)。

2. 空間局部性:

  • 一旦程式通路了某個存儲單元,在不久之後,其附近的存儲單元也将被通路,即程式在一段時間内所通路的位址,可能集中在一定的範圍之内,這是因為指令通常是順序存放、順序執行的,資料也一般是以向量、數組、表等形式簇聚存儲的。
  • 如果一個存儲器的位置被引用,那麼将來他附近的位置也會被引用。

繼續閱讀