1.程序访问的局部性原理
1.1 时间局部性
在最近的未来要用到的信息,很可能是现在正在使用的信息。比如程序中的循环。
1.2 空间局部性
在最近的未来要用到的信息,很可能与现在正在使用的信息在存储空间上是连续的。因为指令通常是顺序存放,顺序执行的;数据通常也是以向量、数组等形式簇聚在一起。
高速缓冲技术便是利用的程序局部性原理,将程序正在使用的数据放到一个高速的、容量较小的Cache中,从而使CPU的访存操作大多对Cache进行,因而提高了程序的执行速度。
1.3 栗子🌰
int sumArrayRows(int a[M][N]){
int i,j,sum = 0;
for(i = 0 ; i < M ; i++){
for(j = 0 ; j < N ; j++){
sum += a[i][j];
}
}
return sum;
}
int sumArrayCols(