3.4Cache

1.CPU和cache之间,cache和主存之间,主存和辅存之间数据交换的单位分别是什么?

CPU和cache之间单位是"字",cache和主存之间单位是"块"(这个是大多数国内院校教材的翻译)/cache line(也有很多教材倾向于翻译为“行”),主存和辅存之间单位是"页"(虚拟存储系统中)。

2.Cache-主存映射方式

如何区分 Cache 与 主存 的数据块对应关系?
在这里插入图片描述

2.1全相联映射

在这里插入图片描述

2.2直接映射

2.3组相连映射

在这里插入图片描述

3.Cache替换算法

Cache 很小,主存很大。如果Cache满了怎么办?

3.1随机算法(RAND)

在这里插入图片描述

3.2先进先出算法(FIFO)

在这里插入图片描述
会抖动

3.3近期最少使用算法(LRU)

在这里插入图片描述
LRU算法——基于“局部性原理”,近期被访问过的主存块,在不久的将来也很有可能被再次访问,因
此淘汰最久没被访问过的块是合理的。LRU算法的实际运行效果优秀,Cache命中率高。
若被频繁访问的主存块数量 > Cache行的数量,则有可能发生“抖动”,如:{1,2,3,4,5,1,2,3,4,5,1,2…}

3.4最不经常使用算法(LFU)

在这里插入图片描述

4.Cache写策略

CPU修改了Cache中的数据副本,如何确保主存中数据母本的一致性?

4.1写命中

4.1.1写回法

在这里插入图片描述

4.1.2全写法(写直通法)

在这里插入图片描述

4.1.2.1写缓存

在这里插入图片描述

4.2写不命中

4.2.1写分配法

在这里插入图片描述

4.2.2非写分配法

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值