平均访问时间不是等于命中时间+缺失率x缺失代价吗
题目条件:假设CPU执行某段程序时,共访问Cache命中1900次,访问主存100次。已知:Cache的存取周期为50ns,主存的存取周期为200ns。求Cache-主存系统的命中率。
cache 主存系统的平均访问时间
ta = h *tc + (1-h) *tm
为什么命中时间这里乘了命中率啊?
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
主存存取周期和缺失代价
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注
引自免费微信小程序-皆我百晓生,希望对题主有所帮助,如有帮助,还请采纳。
在计算缓存主存系统的平均访问时间时,命中时间乘以命中率是为了考虑到命中的概率。
平均访问时间的计算公式是:ta = h *tc + (1-h) *tm。
其中,h是命中率(命中次数除以总的访问次数),tc是缓存的存取周期,tm是主存的存取周期。
我们知道,当数据在缓存中被命中时,访问速度更快,消耗的时间是tc。而当数据未在缓存中命中时,需要从主存中获取,这个操作会耗费更多的时间,即tm。
因此,我们需要根据命中率来计算在所有的访问中,有多少比例的时间消耗为tc,多少比例的时间消耗为tm。
在计算平均访问时间时,需要乘以命中率的原因是:在所有访问中,命中的比例为h(命中率),未命中的比例为1-h。所以,我们将命中时间(即tc)乘以命中率h,即表示只有在命中时才需要考虑访问时间为tc的情况。未命中的时间(即tm)乘以未命中的比例(1-h),表示只有在未命中时才需要考虑访问时间为tm的情况。
综上所述,命中时间乘以命中率是为了考虑到命中的概率,从而计算缓存主存系统的平均访问时间。
解决 无用评论 打赏 举报
悬赏问题
- ¥20 C# NetworkStream WriteAsync方法卡住无反应
- ¥15 这个如何解决详细步骤
- ¥15 在微信h5支付申请中,别人给钱就能用我的软件,这个的所属行业是啥?
- ¥30 靶向捕获探针设计软件包
- ¥15 别人给钱就能用我的软件,这个的经营场景是啥?
- ¥15 react-diff-viewer组件,如何解决数据量过大卡顿问题
- ¥20 遥感植被物候指数空间分布图制作
- ¥15 安装了xlrd库但是import不了…
- ¥20 Github上传代码没有contribution和activity记录
- ¥20 SNETCracker