Cache

本文探讨了Cache失效的三种类型:强制性失效、容量失效和冲突失效,并介绍了如何通过增大块大小、增加容量和提高相联度来缓解这些问题。此外,还讨论了衡量Cache性能的标准,如缺失率和平均内存访问时间,并提出了一些优化方案,包括采用更大Cache、提高关联性和多级缓存。最后,提到了在读写操作中优化缺失损失的策略以及在地址转换中的注意事项。
摘要由CSDN通过智能技术生成
  1. Cache失效的原因
    1. 强制性失效 (Compulsory miss): 当第一次访问一个块时,该块不在 Cache中, 需从下一级存储中调入 Cache, 这就是强制性失效。这种失效也称为冷启动失效,或首次访问失效。(增加块大小,预取)
    2. 容量失效 (Capacity miss): 如果程序执行时所需的块不能全部调入 Cache 中, 则当某些块被替换后, 若又重新被访问, 就会发生失效。这种失效称为容量失效。(增加容量) 抖动现象。
    3. 冲突失效 (Conflict miss): 在组相联或直接映像 Cache 中, 若太多的块映像到同一组(块)中,则会出现该组中某个块被别的块替换、然后又被重新访问的情况。这就是发生了冲突失效。这种失效也称为碰撞失效 (collision) 或干扰失效 (interference)。(提高相联度)
  2. Cache性能的衡量标准
    1. 缺失率:访问Cache失效次数/访问内存总次数
      Miss Rate = Misses / Memory accesses
    2. 每条指令缺失次数:
      Misses/Instruction = Miss Rate * Memory accesses / Instruction
    3. 平均内存访问时间:
      Average memory access time = Hit time + Miss rate × Miss penalty
      hit time:cache 命中所需要的访问时间
      Miss penalty:失效开销,cache未命中,从内存取出相应块并替换cache中某块的时间之和
      注:平均内存访问时间虽然叫缺失率性能更好,但是它仍然是一种间接的方法,不能够直接代替执行时间。推测处理及可能执
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值