因为程序指令是存放在内存中的,CPU 必须取出(读出)这些指令,所以我们也能够评价一个程序关于取指令的局部性。例如,图 6-17 中 for 循环体里的指令是按照连续的内存顺序执行的,因此循环有良好的空间局部性。因为循环体会被执行多次,所以它也有很好的时间局部性。
for
代码区别于程序数据的一个重要属性是在运行时它是不能被修改的。当程序正在执行时,CPU 只从内存中读出它的指令。CPU 很少会重写或修改这些指令。
← 6.2.1 对程序数据引用的局部性 6.2.3 局部性小结 →