博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3.4Cache
阅读量:3959 次
发布时间:2019-05-24

本文共 596 字,大约阅读时间需要 1 分钟。

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非写分配法

在这里插入图片描述

转载地址:http://ckmzi.baihongyu.com/

你可能感兴趣的文章
软件生存期模型
查看>>
制定计划(问题的定义,可行性研究)
查看>>
需求分析
查看>>
软件设计
查看>>
程序编码
查看>>
软件测试
查看>>
软件维护
查看>>
软件项目管理
查看>>
面向过程的分析方法
查看>>
面向数据流的设计方法
查看>>
软件设计基础
查看>>
UML的基本结构
查看>>
UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
查看>>
用例图(UseCase Diagram)—UML图(一)
查看>>
类图(Class diagram)—UML图(二)
查看>>
对象图(Object Diagram)—UML图(三)
查看>>
活动图(Activity Diagram)—UML图(四)
查看>>
状态图(Statechart Diagram)—UML图(五)
查看>>
时序图(Sequence Diagram)—UML图(六)
查看>>
构件图(Component Diagram)—UML图(八)
查看>>