一、存储器分层结构
寄存器<cache<主存<磁盘,光盘<磁带
二、局部性原理
处理器对存储器中的指令和数据访问呈现出空间局部性和时间局部性。
三、cache
1. 概念
cache是容量较小的高速存储器,位于CPU和主存之间。
2. cache读操作
CPU产生要访问的内存地址,检查是否在cache中,若有,直接访问,若无,从主存中读取相应的块到cache中。
3. cache映射算法
将主存的块映射到cache的行的算法
(1)直接映射
i=j mod m(i:cache行号,j:主存块号,m:cache行数)
优点:简单成本低
缺点:映射位置固定,如果程序频繁访问两个映射到同一cache行的主存块,cache命中率显著下降
(2)全关联映射
一个块可以装载到任意一个cache行。
全关联映射的查询电路很复杂。
(3)组关联映射
cache被划分成多个组。
主存块可以映射到对应的cache组内的任意一行。
4. cache替换算法
最近最少使用LRU,先进先出FIFO,最不经常使用LFU等等
5. 写策略
(1)写直达
所有的写操作都对主存和cache进行
(2)回写
当cache被替换时,才将数据写回主存。
6. 行的大小
随着行大小的增大,命中率先上升,再下降。