(8分)请求分页管理系统中,假设某进程的页表内容如下表所示:
页面大小为4KB, 一次内存的访问时间是100ns, 一次快表( TLB) 的访问时间是10ns, 处理一次缺页 的平均时间108ns (已含更新 TLB 和页表的时间),进程的驻留集大小固定为2,采用最近最少使用置 换算法( LRU) 和局部淘汰策略。假设① TLB 初始为空;②地址转换时先访问 TLB, 若 TLB 未命 中,再访问页表(忽略访问页表之后的 TLB 更新时间);③有效位为0表示页面不在内存,产生缺页 中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列2362H 、1565H、 25A5H, 请问:
(1)依次访问上述三个虚地址,各需多少时间?给出计算过程。
(2)基于上述访问序列,虚地址1565H 的物理地址是多少?请说明理由。
[tag_link]
[tag_link]
1)根据页式管理的工作原理,应先考虑页面大小,以便将页号和页内位移分解出来。页面大小为 4KB, 即 2¹²B,则得到页内位移占虚地址的低 12 位,页号占剩余高位。可得三个虚地址的页号 P 如下
(十六进制的一位数字转换成 4 位二进制,因此,十六进制的低三位正好为页内位移,最高位为页号):
2362H:P=2,访问快表 10ns,因初始为空,访问页表 100ns 得到页框号,合成物理地址后访问主存 100ns,共计 10ns+100ns+100ns=210ns。
1565H:P=1,访问快表 10ns,落空,访问页表 100ns 落空,进行缺页中断处理 10⁸ns,访问快表 10ns,合成物理地址后访问主存 100ns,共计 10ns+100ns+10⁸ns+10ns+100ns=100000220ns.
25A5H:P=2,访问快表,因第一次访问已将该页号放入快表,因此花费 10ns 便可合成物理地址,访问主存 100ns,共计 10ns+100ns=110ns。
2)当访问虚地址 1565H 时,产生缺页中断,合法驻留集为 2,必须从页表中淘汰一个页面,根据题目的置换算法,应淘汰 0 号页面,因此 1565H 的对应页框号为 101H。由此可得 1565H 的物理地址为 101565H。