OS中的时空局部性
OS 时空
2023-09-14 09:11:21 时间
转自:https://blog.csdn.net/u013315650/article/details/56347793
知乎 https://www.zhihu.com/question/25142664/answer/154497286
1.时间局部性和空间局部性
在CPU访问寄存器时,无论是存取数据抑或存取指令,都趋于聚集在一片连续的区域中,这就被称为局部性原理。
时间局部性(temporal locality)
时间局部性指的是:被引用过一次的存储器位置在未来会被多次引用(通常在循环中)。
空间局部性(spatial locality)
如果一个存储器的位置被引用,那么将来他附近的位置也会被引用。
2.例子
int a[N] = {0, 1, 2, 3, 4}; int sum = 0; for (int i = 0; i < 5; ++i) { sum = sum + a[i]; }
- for循环内的指令具有良好的时间局部性,因为被多次使用。
- 对于步长位k的引用程序,步长越小,空间局部性越小。步长为1的引用具有良好的空间局部性。k越大,空间局部性越差。举例:二维数组按行访问比按列访问速度更快,因为前者的空间局部性更好,二维数组是按行存储的。
3.提高局部性
降低不命中率,这个和程序的运行时间相关的。
相关文章
- Mac OS X 启动和终止Redis, Mac常用命令,ssh免密
- 第三十六节,os系统级别操作模块
- 创建3层的服务模板 (3)-- Guest OS Profile, Hardware Profile 和 IP Pools
- Atitit 锁的不同层级 app锁 vm锁 os锁 硬件锁 目录 1. 在硬件层面,CPU提供了原子操作、关中断、锁内存总线的机制1 1.1. test and set指令1 1.2. 锁内
- Shell:Lite OS在线调试工具知多少
- 教你Mac OS系统四种改动Hosts文件的方法
- mac os 视频播放器 免费
- mac os安装selenium python2.7
- mac os 虚拟机parallels desktop 安装 win10 和 激活
- [Sqlite] --> Sqlite于Windows、Linux 和 Mac OS X 在安装过程
- 越大优先级越高,优先级越高被OS选中的可能性就越大
- golang 中, os.exit() runtime.Goexit() return 有什么区别
- Harmony OS — RadioButton & RadioContainer单选按钮&单选按钮组
- Harmony OS — ListContainer列表