计算机组成原理 第四章 存储系统(3)
文章目录
4.10 替换算法
需要替换算法的原因
程序运行一段时间后,Cache存储空间被占满,当再有新数据要调入时,就需要通过某种机制决定替换的对象。
几种常见的替换算法
- 新进先出法FIFO(First in First out)
- 最不经常使用法LFU(Least Frequently Used)
- 近期最少使用法LRU(Least recently used)
- 随机替换法
1.先进先出法FIFO
类似于队列,最先进Cache的,Cache满时最先出。
2.最不经常使用法LFU
命中则标号加一,Cache满时按照标号大小来决定替换,标号最小的被替换。
3.近期最少使用法LRU
不同参考书上写的不一样,有的是命中则标号减一,未命中的标号加一。有的是命中则标号清零。最后依据标号大小来决定替换,标号最大的被换出。
替换算法的抖动
以FIFO为例
在FIFO算法中,在22被替换出去之后,再次命中22,又要向Cache里面重新载入22,造成了算法的抖动。
替换算法的实现
硬件实现
需要考虑成本问题
LRU算法软件实现
要考虑查找效率如何优化
4.11 高速缓冲存储器例题选讲
例题1
处理器物理内存地址的划分:
例题2
例题3
4.12 虚拟存储器
虚拟存储器概述
虚拟存储器必须解决的问题
虚拟存储器地址划分
逻辑地址与物理地址的转换
举例
4.13 TLB(Translation Lookaside Buffer,地址转化后备缓冲器)
虚实地址转换过程中存在的问题
TLB的工作原理
4.14 RAID
RAID提出的背景
- 很多人都有因磁盘故障而导致数据丢失的经历
- 磁盘访问速度过慢
- 多磁盘管理不方便
RAID 定义
将多个物理磁盘合并成一个大的逻辑盘
RAID的核心技术
常见的几种RAID技术
磁盘一半放数据,一半放镜像,空间利用率只有50%
RAID 实现方式
- 软件RAID
功能都依赖于主机CPU完成,没有第三方的控制处理器和I/O芯片
- 硬件RAID
专门RAID控制处理器和I/O处理芯片处理RAID任务,不占用主机CPU资源