- 局部性的提升,其实是提升CPU 在Cache取值的命中率。
- 局部性其实可理解为重复使用已用过的数据,或者使用已用过数据的邻近数据的利用率。
- 局部性原理:计算机在处理一些数据或执行程序时,在某一个时段集中的去访问某些指令或某一个时段集中的去读取某些空间的数据的特性。
- 局部性分类:

- 时间局部性:如果一个内存位置被重复的引用,那就是有了时间局部性。
- 空间局部性:如果一个内存位置被引用了,很快这个位置的附近位置也被引用了,这就有了空间局部性。
- 工作集,由计算机将进程需要频繁执行或访问的页面打包成一个集合,一起传入给Cache中,不会在短时间内被替换。
- 由于缓存中的数据是一个个数据块(集合),每个数据块包含几十到几千字节不等,如果某个程序要访问数组a,第一次缓存没命中,cpu会从主存中取出包含数组a的一个数据块,复制到缓存中来,下次访问a[1],a[2],a[3]的数据时每次都缓存命中,极大的提高了效率,实现了空间的局部性。

(注:以上内容参考希赛、51CTO考试用书)

本文探讨了计算机科学中的局部性原理,它包括时间局部性和空间局部性,这两种特性通过提高CPU在Cache中取值的命中率来提升性能。工作集的概念也被提及,它是将常用页面打包到Cache中以减少替换。通过举例说明,阐述了数组访问如何利用空间局部性优化缓存使用,从而显著提高效率。
2462

被折叠的 条评论
为什么被折叠?



