m0_69292752 2023-09-25 22:32 采纳率: 0%
浏览 19

主存存取周期和缺失代价

平均访问时间不是等于命中时间+缺失率x缺失代价吗
题目条件:假设CPU执行某段程序时,共访问Cache命中1900次,访问主存100次。已知:Cache的存取周期为50ns,主存的存取周期为200ns。求Cache-主存系统的命中率。
cache 主存系统的平均访问时间
ta = h *tc + (1-h) *tm
为什么命中时间这里乘了命中率啊?

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-09-26 03:21
    关注

    引自免费微信小程序-皆我百晓生,希望对题主有所帮助,如有帮助,还请采纳。


    在计算缓存主存系统的平均访问时间时,命中时间乘以命中率是为了考虑到命中的概率。

    平均访问时间的计算公式是:ta = h *tc + (1-h) *tm。

    其中,h是命中率(命中次数除以总的访问次数),tc是缓存的存取周期,tm是主存的存取周期。

    我们知道,当数据在缓存中被命中时,访问速度更快,消耗的时间是tc。而当数据未在缓存中命中时,需要从主存中获取,这个操作会耗费更多的时间,即tm。

    因此,我们需要根据命中率来计算在所有的访问中,有多少比例的时间消耗为tc,多少比例的时间消耗为tm。

    在计算平均访问时间时,需要乘以命中率的原因是:在所有访问中,命中的比例为h(命中率),未命中的比例为1-h。所以,我们将命中时间(即tc)乘以命中率h,即表示只有在命中时才需要考虑访问时间为tc的情况。未命中的时间(即tm)乘以未命中的比例(1-h),表示只有在未命中时才需要考虑访问时间为tm的情况。

    综上所述,命中时间乘以命中率是为了考虑到命中的概率,从而计算缓存主存系统的平均访问时间。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月25日

悬赏问题

  • ¥20 C# NetworkStream WriteAsync方法卡住无反应
  • ¥15 这个如何解决详细步骤
  • ¥15 在微信h5支付申请中,别人给钱就能用我的软件,这个的所属行业是啥?
  • ¥30 靶向捕获探针设计软件包
  • ¥15 别人给钱就能用我的软件,这个的经营场景是啥?
  • ¥15 react-diff-viewer组件,如何解决数据量过大卡顿问题
  • ¥20 遥感植被物候指数空间分布图制作
  • ¥15 安装了xlrd库但是import不了…
  • ¥20 Github上传代码没有contribution和activity记录
  • ¥20 SNETCracker