时间局部性

「程序运行局限性」指程序在执行过程中的一个较短时间内,所执行的指令地址或操作数地址分别局限于一定的存储区域中。又可细分时间局部性和空间局部性。

「程序运行时间局限性」指程序中的某条指令一旦被执行,则在较短的时间内,该指令可能被再执行,某个数据被访问,则在较短的时间内,该数据可能被再次访问。  

空间局部性 

「程序运行空间局限性」指一旦程序访问了某个存储单元,在较短的时间内,其附近的存储单元很可能也被访问。即程序在一段时间内所访问的地址,可能集中在一定的范围内。

产生局限性的典型原因

  • 程序中只有少量分支和过程调用,大都是顺序执行的指令;
  • 程序含有若干循环结构,由少量代码组成,而被多次执行;
  • 过程调用的深度限制在小范围内,因而,指令引用通常被局限在少量过程中;
  • 涉及数组、记录之类的数据结构,对它们的连续引用是对位置相邻的数据项的操作;
  • 程序中有些部分彼此互斥,不是每次运行时都用到。