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

文章转载自 我自己的小破站。欢迎大佬们围观~

1.页错误的有效访问时间计算公式

设 f 为页错误的概率(0≤f≤1,页错误的情况较多,这里主要指缺页,因此f为缺页率),希望f接近于0,即页错误很少,那么有效访问时间为:
E A T = ( 1 − f ) × m a + f × 页 错 误 处 理 时 间 EAT=( 1 - f ) × ma + f × 页错误处理时间 EAT=(1f)×ma+f×

2.请求分页管理方式中的有效访问时间计算

(1)不考虑命中率和缺页率的有效访问时间计算

访问内存的操作共有3种情况:

  1. 访问的页在主存中,且访问页的页表项在快表中(若访问页的页表项在快表中,则一定不会缺页):
    即:EAT = 查找快表时间+形成物理地址并访问内存数据时间
    E A T = e + t EAT=e+t EAT=e+t

  2. 访问的页在主存中(不缺页),且访问页的页表项不在快表中:
    即:EAT=查找快表时间+查找页表时间+修改快表时间+形成物理地址并访问内存数据时间
    E A T = e + t + e + t = 2 ( e + t ) EAT=e+t+e+t=2(e+t) EAT=e+t+e+t=2(e+t)

  3. 访问的页不在主存中(缺页),设处理缺页中断的时间为t1(产生缺页中断并将该页调入内存、更新快表和页表的时间):
    即:EAT=查找快表时间+查找页表时间+处理缺页中断的时间t1+查找快表时间+形成物理地址并访问内存数据时间
    E A T = e + t + t 1 + e + t = t 1 + 2 ( e + t ) EAT=e+t+t1+e+t=t1+2(e+t) EAT=e+t+t1+e+t=t1+2(e+t)

(2)考虑命中率和缺页率的有效访问时间计算

EAT= 查找快表时间 + α × 形成物理地址并访问内存数据时间 + (1-α) × [查找页表时间+f×(处理缺页中断的时间(t1) + 查找快表时间 + 形成物理地址并访问内存数据时间) + (1-f) × (修改快表时间+形成物理地址并访问内存数据时间)]
E A T = e + α t + ( 1 − α ) [ t + f ( t 1 + e + t ) + ( 1 − f ) ( e + t ) ] EAT=e+αt+(1-α)[t+f(t1+e+t)+(1-f)(e+t)] EAT=e+αt+(1α)[t+f(t1+e+t)+(1f)(e+t)]
其中,α为命中率, f为缺页率

(3)不考虑查找快表的时间
即 e = 0
E A T = α t + ( 1 − α ) [ t + f ( t 1 + t ) + ( 1 − f ) t ] EAT=αt+(1-α)[t+f(t1+t)+(1-f)t] EAT=αt+(1α)[t+f(t1+t)+(1f)t]

(4)处理缺页中断的时间t1的计算

如果题目中没有给出被置换的页面修改和不修改两种不同情况,则将缺页中断处理时间看成t1。如果题目中给出被置换的页面修改和不修改两种不同情况,前者的概率为β,处理时间为ta,后者的处理时间为tb,则:
t 1 = β × t a + ( 1 − β ) × t b t1=β×ta+(1-β)×tb t1=β×ta+(1β)×tb

(5)推论(待商榷)

如果题目中没有给出快表等,也就是说e=0,a=0,则有效访问时间为:
E A T = t + f ( t 1 + t ) + ( 1 − f ) t EAT=t+f(t1+t)+(1-f)t EAT=t+f(t1+t)+(1f)t

  • 27
    点赞
  • 180
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 19
    评论
### 回答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。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZTao-z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值