3.5高速缓冲存储器cache

基本

cache是一种小容量高速度的sram存储器,用于匹配cpu的存取速度,在cpu和主存之间。

根据局部性原理,将逻辑或空间相邻的部分数据先存入cache与cpu通信

过渡

cpu对cache进行读操作,然后执行指令,也执行写操作,这就涉及到对cache进行寻址

1.cache的编址

一般来说,往cache里面放的最频繁访问数据,是不受限制地放入cache,因此它是无序的。因此,这样一个一个查找需要花费时间,效率不高。这种编址法叫:

直接映射

可以使用hash表的方法,它的主存地址在哪那它的cache地址就在哪。弊端在于无法导入两个在cache中地址相同的数据。这种叫:

全相联映射

所以,可以将上述两种编址法相结合,可以获得最大效率。

组相联映射

过渡

如果需要的地址不在cache上,就需要更换cache中的数据块,涉及的替换算法有四个,其中最符合局部性原理的是最不经常使用算法(LRU)

2.替换算法

过渡

对于写,由于cache的独立特性,与cpu-主存这样的简单特性不同,它有引发了新的问题

3.写

全写法

同时写入cache和主存,可以如果这样主存的速度跟不上回影响性能。

使用中间缓冲。

这个可以解决一定问题,可是高频繁的写操作无法完成

过渡

这就需要别的方法

回写法

写入cache,等待替换时写入主存。

未命中时立即替换cache,然后在写入

全写法与非分配法配套  回写法与分配法配套

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值