- 在CPU通路寄存器時,無論是存取資料還是存取指令,都趨于聚集在一片連續的區域中,這就被稱為局部性原理。
- 局部性原理又分為時間局部性(temporal locality) 和空間局部性 (spatial locality) 。
1. 時間局部性:
- 如果程式中的某條指令一旦執行,不久以後該指令可能再次執行;
- 如果某資料被通路過,不久以後該資料可能再次被通路。
- 産生時間局部性的典型原因: 是由于在程式中存在着大量的循環操作。
- 被引用過一次的存儲器位置在未來會被多次引用(通常在循環中)。
2. 空間局部性:
- 一旦程式通路了某個存儲單元,在不久之後,其附近的存儲單元也将被通路,即程式在一段時間内所通路的位址,可能集中在一定的範圍之内,這是因為指令通常是順序存放、順序執行的,資料也一般是以向量、數組、表等形式簇聚存儲的。
- 如果一個存儲器的位置被引用,那麼将來他附近的位置也會被引用。