Cache-主存的地址映射

本文介绍了Cache-主存的三种地址映射方法:直接映射、全相联映射和组相联映射,以及对应的替换算法,如FIFO和LRU。直接映射存在冲突问题,全相联映射寻址较慢,而组相联映射是两者的折衷方案。
摘要由CSDN通过智能技术生成

映射方法

1.直接映射

在这里插入图片描述
按照Cache的大小,将主存储体划分为区,每个区的大小都和Cache大小一致。
每个区的第0位只能放到Cache中的第0个字块,每个区的第1位只能放到Cache中的第1个字块,以此类推。
放入之后,要在Cache前面的标记中,记下是哪个区。
CPU访问时,会根据字块标记来判断是否为对应区的字块。

问题:
1.冲突问题严重
比如第0区的第0块已经放入了Cache中,当第1区的第0块也想放入Cache中时,根据映射规则,只能放入字块0中,产生冲突。即使其他字块空闲。
2.每个缓存块可以和多个主存块对应,每个主存块只能和一个缓存块对应

2.全相联映射

在这里插入图片描述
主存储器中的每个字块都可以放到Cache中
这样在Cache中寻找起来就比较慢

3.组相联映射

在这里插入图片描述
将Cache分组,每组包含若干块。
然后将主存按照组的个数划分为区。
每个区的第0块,只能放到第0组,可以是任意位置,每个区的第1块,只能放到第1组,可以是任意位置…以此类推。

 

替换算法

上面讲述了主存块如何映射到Cache中,如果映射过去发现Cache位置被全占用了,那么就要用替换算法,将主存块换出。
1.先进先出(FIFO)算法
认为先放进去的已经使用完,进行替换
2.近期最少使用(LRU)算法
在最近一段时间内,使用最少的块被替换出

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值