cache实例


64KB cache容量,块大小为64字节. 采用2路组相联,LRU替换策略,写回法,写分配策略.
进入cache的物理地址被分为两个部分:
34位块地址,块地址只包括标志地址与索引地址
6位块内地址偏移(与64相关)

索引字段:确定哪一个标志将被检验,将该标志与处理器发出的访问地址中的标志进行比较.

索引字段的宽度决定于cache的大小,块大小,组相联度相关.

2^(index)=cache大小/(块大小*组相联度)=65536/(64*2)=512=2^9

索引字段宽度为9,则标志字段为34-9=25.

用索引的9位选择正确的块,再用偏移地址字段的3位确定需要的8个字节.(第二步)

从cache中读出2个标志之后,将从处理器发出的块地址中的标志字段部分进行比较,(第三步)

假定有一个标志字段匹配,则最后一步是通知处理器根据2选1多路选择器有效输出从cache中加载的正确数据.

上述采用写回法,一个替换掉的块可能已经被修改,因此不能简单的被丢弃,上述结构中使用1位重写位记录该块是否被修改:
若被修改,将该块数据和地址送至牺牲缓冲区,该牺牲缓冲区由8个牺牲块组成,将替换出来的牺牲块写回低一级存储器,如果牺牲缓存已满,cache必须停下等待.


上述给出了数据cache的工作流程,但是并不能支持处理器所有的存储器访问请求,处理器还需要处理指令.
一体cache同时进行指令与数据的处理,这样会造成一体cache的性能瓶颈.

处理器知道它发射的是指令地址还是数据地址,从而使得处理器和存储器层次结构间的带宽得以加倍.


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值