层次化存储结构
基本结构
CPU
CPU里面有运算器、控制器,这里面也会有相应的寄存器
Cache
Cache不是必须的,内存和CPU可以直接进行交换,但这样做速度会极慢
Cache: KM
内存: G
Cache是一种性价比方案,提高速度的同时,没有引入太大内存
Cache
功能: 提高CPU输入输出速率
使用依据: 程序的局部性原理
访问速度: 除了CPU以外最快的层次
t 3 = h × t 1 + ( 1 − h ) × t 2 t3=h\times t1+(1-h)\times t2 t3=h×t1+(1−h)×t2
局部性原理
计算机处理某些程序时,在某一时段,集中访问某些指令,或某一时段,集中的读取某一空间的数据,这种特性叫做局部性
用于解决多级存储体系中,量和速度的矛盾
局部性分类
1. 时间局部性
刚刚访问完的指令再次访问
2. 空间局部性
当程序访问一个空间,立即又访问他临近的空间
比如
int sumTest(int arr[n]){
int sum=0;
for(int i=0;i<n;i++)
sum=sum+arr[i];
return sum;
}
- 此循环中,sum被多次使用体现到了时间局部性
- for循环依次遍历数组arr,体现了空间局部性
- for循环依次遍历数组arr,体现了空间局部性
工作集原理
工作集是进程运行时被频繁访问的页面集合
主存
分类
1. 随机存取存储器(RAM)
断电后信息丢失
2. 只读存储器(ROM)
断电后仍可存储信息
编址
地址空间: 大-小+1,最后换单位
+1,最后换单位
k=
2
10
2^{10}
210