分页存储系统中内存有效访问时间计算

案例:有一个将页表存放在内存中的一级页表的分页系统,下面两种情况下,请计算有效访问时间分别是多少。

1.      系统中没有快表,访问一次内存需要0.2us;

2.      系统中有快表,快表命中率为90%,假定查快表花费的时间为λ,访问一次内存仍需0.2us。

 

分析:一级页表,访问内存中的一个数据需要两次访问内存,第一次是查页表找地址,第二次是根据地址找数据。

这个题目很简单:

对于问题1,如果页面在内存中,那么时间就是0.2+0.2=0.4us

对于问题2,如果页面在内存中,并且快表有记录,那么时间就是λ+0.2(查快表λ+找数据),如果快表没有记录,那么时间就是λ+0.2+λ+0.2(找快表λ+找页表+更新快表λ+找数据);此时再根据百分比计算就好了。

 

数据在内存中,怎么都好说,就怕数据不再内存中,就麻烦了。因为数据不再内存中就得到外存去找,这时就要发生中断,假设中断的处理时间是τ,那么这是查找一次数据的时间是多少呢?先看看流程:

先查快表不中λ,再查页表不中0.2,发生中断τ(把数据存入了内存),更新页表0.2,更新快表λ,查找数据0.2

此时总的时间是:λ+0.2+τ+0.2+λ+0.2。

 

因此上面红色字体部分大家一定要记住!!

老羊快跑  一个简单、纯粹的公众号,欢迎关注。

  • 26
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 根据题意,可以使用以下公式计算内存有效访问时间有效访问时间 = 快表命访问时间 + 快表未命访问时间,快表命访问时间为快表的访问时间,即35ns;快表未命访问时间内存访问时间,即200ns。 快表未命的概率为1-快表命率,即8%。因此,快表未命访问时间需要乘以快表未命的概率,即: 快表未命访问时间 = 200ns * 8% = 16ns 将快表命访问时间和快表未命访问时间相加,即可得到内存有效访问时间有效访问时间 = 35ns + 16ns = 51ns 因此,在引入快表的分页存储管理方式内存有效访问时间为51ns。 ### 回答2: 在分页存储管理,每次访问内存都需要通过页表进行地址映射,这个过程比直接访问内存要耗费更多的时间,会降低内存有效访问时间。为了优化这个过程,可以采用快表技术。 快表类似于缓存,记录了最近被访问的一些页表项,通过快表可以直接访问到物理地址,避免了通过页表进行地址映射的过程,同时也降低了访问内存时间。 题目给出了快表的命率为92%,即有92%的地址可以通过快表直接访问到,此时的访问时间为35ns。而剩下的8%需要通过页表进行地址映射,访问时间为200ns。因此,内存有效访问时间可以通过下列公式计算: Effective Access Time = Hit rate * Hit time + Miss rate * Miss time 其,Hit rate为命率,Hit time为快表访问时间,Miss rate为未命率(即1 - 命率),Miss time为通过页表访问内存时间。 根据题目给出的数据,可以得出: Hit rate = 92% = 0.92 Hit time = 35ns Miss rate = 1 - Hit rate = 0.08 Miss time = 200ns 将以上数值代入公式进行计算: Effective Access Time = 0.92 * 35ns + 0.08 * 200ns = 40.2ns 因此,引入快表后的分页存储管理方式内存有效访问时间为40.2ns。 ### 回答3: 在一个具有快表的分页存储管理系统访问一次内存时间是200ns,快表的命率为92%,快表的访问时间为35ns。要计算在引入快表的分页存储管理方式内存有效访问时间是多少,我们可以利用公式: Effective Access Time = (快表的访问时间 + 命时间 * 内存访问时间) / 总体访问时间 首先,要计算总体访问时间。因为快表的命率为92%,所以快表的访问次数为1 - 92% = 8%。而在未命快表的情况下,我们必须通过访问内存来完成对页的访问。因此,内存访问次数为100% - 92% = 8%。所以,总体访问时间计算方法如下: 总体访问时间 = (快表访问时间 * 快表访问次数) + (内存访问时间 * 内存访问次数) = (35ns * 8%) + (200ns * 92%) = 18.8ns + 184ns = 202.8ns 现在,我们可以使用先前提到的公式来计算内存有效访问时间内存有效访问时间 = (快表的访问时间 + 命时间 * 内存访问时间) / 总体访问时间 = (35ns + 0.92 * 200ns) / 202.8ns = 0.35 * 0.92 + 1 * 0.08 = 0.324 + 0.08 = 0.404 因此,内存有效访问时间是0.404 * 1000 = 404ns。 综上所述,引入快表的分页存储管理方式内存有效访问时间是404ns。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值