4.3 高速缓冲存储器
一、概述
1、问题的提出
由于CPU发展迅速,而存储器发展缓慢,使得CPU在从主存中获取数据的时会出现“空等”现象,为了避免CPU“空等”,提出cache
依靠程序访问的局部性原理(时间局部性:当前使用的指令和数据在不久的将来还会被使用到;空间局部性:当前正在使用一个指令或数据,在不久的将来,相邻的指令和数据也会被使用到)
CPU同时访问cache和内存
替换算法决定哪一个块从cache中退出
写直达法
- 优点:cache和主存一直保持一致
- 缺点:可能会造成CPU对同一个内存单元反复写入
写回法 - 缺点:可能会造成各个副本之间一致性的问题
指令cache和数据cache分离缓存,避免在流水的过程中造成资源冲突
二、Cache-主存的地址映射
1、直接映射
直接映射:主存当中任意一个给定的块只能装载到cache中某一个指定的块中
区号——标记
优点:结构简单
缺点:cache的利用率可能会很低
优点:cache利用率高,只要cache中有空闲就可以被写入
缺点:主存字块标记需要与cache所有标记进行比较,电路较为复杂,速度较慢,参加比较的位数较长
先进先出算法并不能够很好的体现程序局限性原理
4.4 辅助存储器