- 局部性的提升,其实是提升CPU 在Cache取值的命中率。
- 局部性其实可理解为重复使用已用过的数据,或者使用已用过数据的邻近数据的利用率。
- 局部性原理:计算机在处理一些数据或执行程序时,在某一个时段集中的去访问某些指令或某一个时段集中的去读取某些空间的数据的特性。
- 局部性分类:
- 时间局部性:如果一个内存位置被重复的引用,那就是有了时间局部性。
- 空间局部性:如果一个内存位置被引用了,很快这个位置的附近位置也被引用了,这就有了空间局部性。
- 工作集,由计算机将进程需要频繁执行或访问的页面打包成一个集合,一起传入给Cache中,不会在短时间内被替换。
- 由于缓存中的数据是一个个数据块(集合),每个数据块包含几十到几千字节不等,如果某个程序要访问数组a,第一次缓存没命中,cpu会从主存中取出包含数组a的一个数据块,复制到缓存中来,下次访问a[1],a[2],a[3]的数据时每次都缓存命中,极大的提高了效率,实现了空间的局部性。
(注:以上内容参考希赛、51CTO考试用书)