【发布时间】:2017-03-01 15:09:54
【问题描述】:
考虑以下信息
- 假设缓存是物理寻址的
- TLB命中率为95%,访问时间=1个周期
- 缓存命中率为 90%,再次访问时间 = 1 个周期
- 页面错误为 1%,并且在 TLB 和 Cache 都发生未命中时发生
- TLB 访问和缓存访问是顺序的
- 主存访问时间为 5 个周期
- 磁盘访问时间为 100 个周期
- 页表始终保存在主内存中
根据以下信息,平均内存访问时间是多少?
我的方法 => 我正在给出我如何理解这个问题的方法。请检查一下。
平均内存访问时间
==>
Probability of NO page fault (Memory access time)
+
Probability of page fault (Page fault service time)
==>
0.99(TLB命中(TLB访问时间+缓存命中+缓存未命中)+TLB未命中(TLB访问时间+页表访问时间+缓存命中+缓存未命中) )
+
0.01(TLB访问时间+页表访问时间+磁盘访问时间)
==>
0.99 ( 0.95 (1 + 0.90(1) + 0.10(1 + 5)) + 0.05(1 + 5 + 0.90(1) + 0.10(1 + 5)强>)))
+
0.01 (1 + 5 + 100)
给定的表达式是否正确?
请告诉我,我的方法是正确的还是我犯了一些错误?
谁能帮帮我?
PS:我下周要期中考试,需要练习这些问题
【问题讨论】:
-
哥们,你是不是在忙着工作痛苦。
-
你的数字中的 0.99 和 0.01 是什么?
-
@Ivan,1% 是页面错误。因此,我使用 99% 来避免页面错误。
-
@Willturner 在页面错误的情况下,为什么不包括 1 个周期作为缓存尝试时间?
-
@Ivan,这只是 1 个周期。即使我添加它,它也不会改变结果。实际上,我的教授告诉我答案是 3 个周期,但我得到了一些 4 个周期,这就是为什么我认为我犯了一些错误。你能回答这个吗?跨度>
标签: caching operating-system paging tlb