在页式、段式和段页式存储管理中,当访问一条指令或数据时,各需要访问内存几次其过程如何假设一个页式存储系统具有快表,多数活动页表项都可以存在其中。如果页表存放在内存中,内存访问时间是1μs,检索快表的时间为0.2μs,若快表的命中率是85%,则有效存取时间是多少若快表的命中率为50%,那么有效存取时间是多少
参考答案:1)页式存储管理中,访问指令或数据时,首先要访问内存中的页表,查找到指令或数据所在页面对应的页表项,然后再根据页表项查找访问指令或数据所在的内存页面。需要访问内存两次。
段式存储管理同理,需要访问内存两次。
段页式存储管理,首先要访问内存中的段表,然后再访问内存中的页表,最后访问指令或数据所在的内存页面。需要访问内存三次。
对于比较复杂的情况,如多级页表,若页表划分为N级,则需要访问内存N+1次。若系统中有快表,则在快表命中时,只需要一次访问内存即可。
2)按1)中的访问过程分析,有效存取时间为:
(0.2+1)×85%+(0.2+1+1)×(1-85%)=1.35(μs)
3)同理可计算得:
(0.2+1)×50%+(0.2+1+1)×(1 50%)=1.7(μs)
从结果可以看出,快表的命中率对访存时间影响非常大。当命中率从85%降低到50%时,有效存取时间增加一倍。因此在页式存储系统中,应尽可能地提高快表的命中率,从而提高系统效率。
注意.在有快表的分页存储系统中,计算有效存取时间时,需注意访问快表与访问内存的时间关系。通常的系统中,先访问快表,未命中时再访问内存;在有些系统中,快表与内存的访问同时进行,当快表命中时就停止对内存的访问。这里题中未具体指明,我们按照前者进行计算。但如果题中有具体的说明,计算时则应注意区别。