计算机组成原理 - 高速缓冲存储器Cache && 虚拟存储器

高速缓冲存储器⭐ - 提高系统的工作速度

在这里插入图片描述
cache出现的原因: 避免速度差造成的拥堵

时间局部性:未来要用到的信息可能是我现在正在用的信息
空间局部性:未来要用的信息,从存储角度说,可能在我正在用的信息的附近

所以我把正在使用的信息,和附近的信息都放入cache
单位:块

Cache 工作原理

CPU在Cache中找到有用的数据被称为命中
Cache高速缓存 : 存放的是cpu经常调用的主存中的内容的副本
问题1: 主存中的块放到Cache中哪个位置 – 地址映射
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Cache与内存的地址映射

主存字块标记: 记录一些和替换算法相关的

全相联映射 - 空位随意放

需要知道: 主存的块号(主存的哪一块) , 和该块中的具体地址

在这里插入图片描述

直接映射 - 一对一映射

主存一一对应放入Cache,当主存超过Cache容量时候,取余 放到余数的位置

组相联映射

在这里插入图片描述
在这里插入图片描述

Cache性能分析

例题1: 同时访问Cache和主存
例题2: 先访问Cache再访问主存
例题3:

在这里插入图片描述

Cache 替换算法

当Cache装满后,CPU又经常调用主存中一个数据,这个数据没有在Cache里备份,那么这个数据 什么时候 会替换Cache中的内容

除了直接映射(一对一映射):他会把对应位置的数据直接踢走
剩下两种 全相联映射 和 组相联 就需要替换算法
在这里插入图片描述
随机算法RAND
先入先出算法FIFO - First Input First Output
近期最少使用算法(LRU) - Least Recently Used
最不经常使用算法(LFU) - Least Frequently Used

全相联情况下置换例题

在这里插入图片描述

组相联映射下多种置换算法的比较

FIFO陷入先出算法LRU替换算法

Cache 总结

当命中的时候 CPU直接从Cache里面取数据
当没有命中的时候 CPU从内存里去,并且内存会更新Cache里面的内容 (添加/置换) 以提高命中率
在这里插入图片描述

Cache 写策略

CPU对Cache内容修改后,Cache如何与主存保持一致

写回法:-命中

增加脏位: 看看是把Cache修改后的内容写回内存还是直接覆盖掉
在这里插入图片描述

全写法write-through - 命中

利用缓冲buffer 实现 Cache的内容一改变,主存的内容就改变
在这里插入图片描述

写分配法 - 未命中

CPU想修改Cache中的某一数据,但是这个数据恰恰在Cache中没存,所以从主存赶紧调入到Cache里,再修改这个数据
在这里插入图片描述

非写分配法 - 未命中

CPU要修改的数据,Cache中没有,CPU就知己在主存内修改

在这里插入图片描述

总结

在这里插入图片描述

多级Cache

在这里插入图片描述

虚拟存储器 - 提高存储系统的容量

重点:地址转化
虚拟存储器的访问过程
在这里插入图片描述

页式虚拟存储器

相关知识点: 操作系统 页式存储
在这里插入图片描述

段式存储

段的长度是不固定的,和分组还不一样
在这里插入图片描述

快表TBL

在这里插入图片描述

页式虚拟存储例题

页框号 : 实页号
在这里插入图片描述

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值