首页 > 关于缺页中断后快表的变更时机的疑问
头像
mkbkdf
编辑于 2022-02-13 03:50
+ 关注

关于缺页中断后快表的变更时机的疑问

题目:

        某分页式虚拟存储系统,用于页面交换的磁盘的平均访问及传输时间是20ms。页表保存在主存,访问时间为1μs,即每引用一次指令或数据,需要访问两次内存。为改善性能,可以增设一个关联寄存器,如果页表项在关联寄存器里,则只要访问一次内存就可以。假设80%的访问其页表项在关联寄存器中,剩下的20%中,10%的访问(即总数的2%)会产生缺页。请计算有效访问时间。

 

答案1有效访问时间 = 80% * 1微秒 + (1-80%)((1-10%) * 1微秒 * 2 + 10% * (1微秒 * 3 + 20毫秒)) = 401.22微秒

答案2:有效访问时间 = 80% * 1微秒 + (1-80%)((1-10%) * 1微秒 * 2 + 10% * (1微秒 * 2 + 20毫秒)) = 401.2微秒

 

参考答案给的是答案2,解释如下:

       …访问TLB(不计时间)+ 访问内存中的页表(1us+ 缺页中断(20ms+ 访问TLB(不计时间)+ 访问物理地址中的数据(1us);

按照答案的意思,缺页中断后立即发生了页表和快表的更新,因此之后只要再访问一次快表即可很多类似题目的答案也都是按照这个思路解释的  可是我觉得这与汤子丹的教材中给出的流程不同,教材中好像是说快表的修改在成功访问页表之后。

按下图汤子丹教材给出的流程图分析,我个人认为答案1是正确的,原因如下:

先访问TLB(不计时间),访问了一次页表(1us),缺页中断(20ms),再次访问TLB(不计时间)(此时TLB还未更新),访问页表(1us),修改TLB,访问物理地址中的数据(1us)。

 

请牛友帮忙分析下哪种解释比较合理,感谢不尽!


全部评论

(4) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

近期精华帖

热门推荐