计算机组成原理-存储系统-缓存存储器(Cache)

文章介绍了Cache的基本概念,包括局部性原理和性能分析。详细讨论了Cache和主存的三种映射方式:全相连映射、直接映射和组相连映射,以及四种替换算法:随机、FIFO、LRU和LFU。此外,还概述了写命中和写不命中的处理策略,包括全写法、写回法、写分配法和非写分配法,最后提到了多级Cache的概念。

目录

 一、Cache基本概念

1.2性能分析

二、 Cache和主存的映射发生

 ​​​​​​2.1全相连映射​编辑

 2.2直接映射​编辑

 2.3组相连映射

三、Cachae的替换算法

3.1 随机算法(RADN)

3.2 先进先出算法(FIFO)

3.3 近期最少使用(LRU)

3.4 最近不经常使用(LFU)

四、写策略

4.1写命中

4.2写不命中

多级Cache


 一、Cache基本概念

CPU速度太快,内存相比太慢,Cache为2者中间的缓存速度的

1.1局部性原理(操作系统也讲)

        ① 时间局部性原理

                在未来使用的信息,可能正在使用                     (参考代码for循环)

        ② 空间局部性原理

                未来使用的信息可能于正在使用的信息存储空间相邻       (参考数组的顺序存储)

1.2性能分析

命中率H:CPU访问的信息在Cache的比率

缺失率(未命中)M:M=1-H 

Cache--主存系统的平均访问时间t为t=Ht_c+(1-H)(t_c+t_m)tc访问cache时间,tm主存时间

二、 Cache和主存的映射发生

 存储系统里的存储相关知识

 ​​​​​​2.1全相连映射

 2.2直接映射

 2.3组相连映射

三、Cachae的替换算法

3.1 随机算法(RADN)

cache已满,则随机选择一块替换     没考虑局部性原理

3.2 先进先出算法(FIFO)

先加入cache的先被替换

没考虑局部性原理。会出现”抖动现象“:刚被换出又调用

3.3 近期最少使用(LRU)

为每个cache块设置一个计数器,用于记录每个cache块已经多久没被访问,计数器大的先替换

cache块数=2^n,计数器n位

 n个cache块列一个表格,在要被替换的向前低n个重复的值,就是要替换的,5未命中,n为4,前面n个未重复的值为  2  1  4  3,所以替换3

3.4 最近不经常使用(LFU)

设置一个计数器,记录每个cache被访问过几次,,替换计数器最小的

未符合局部性原理

四、写策略

4.1写命中

4.1.1全写法(写直通法)

命中时,必须把数据同时写入Cache和主存,一般使用写缓存

4.1.2写回法

只修改Cache的内容,而不立即写入主存,只有当此块被换出时才写回主存

4.2写不命中

4.2.1 写分配法

不命中时, 先把主存的块调入Cache,后在Cache写          (通常搭配写回法)

4.2.2 非写分配法 

不命中时。只写主存,不调入Cache                (搭配全写法)

 

多级Cache

(Cache套娃)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值