问题 问答题

请求分页管理系统中,假设某进程的页表内容如下表所示。

页号 页框号 有效位(存在位)
0 101H 1
1 —— 0
2 254H 1
页面大小为4KB,一次内存的访问时间是100ns,一次快表(TLB)的访问时间是10ns,处理一次缺页的平均时间为108ns(已含更新TLB和页表的时间),进程的驻留集大小固定为2,采用最近最少使用置换算法(LRU)和局部淘汰策略。假设:
①TLB初始为空;
②地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间);
③有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列2362H、1565H、25A5H,请问:

依次访问上述三个虚地址,各需多少时间给出计算过程。

答案

参考答案:根据页式管理的工作原理,应先考虑页面大小,以便将页号和页内位移分解出来。页面大小为4KB=212B,则得到页内位移占虚地址的低12位,页号占剩余高位。
可得三个虚地址的页号P如下(十六进制的一位数字转换成4位二进制,因此,十六进制的低12位正好为页内位移,最高位为页号):
2362H:页号P=2,有效位为1,存在内存中。
先访问快表10ns,因初始为空,不在快表中,因此,需要访问页表100ns得到页框号,合成物理地址后访问主存100ns,共计10ns+100ns+100ns=210ns。
1.565H:页号P=1,有效位为0,不存在内存中。
先访问快表10ns,落空,访问页表100ns落空,进行缺页中断处理108ns,合成物理地址后访问主存100ns,共计10ns+100ns+108ns+100ns≈108ns。
25A5H:页号P=2,有效位为1,存在内存中。
访问快表,因第一次访问已将该页号放入快表,因此花费10ns便可合成物理地址,访问主存100ns,共计10ns+100ns=110ns。

写作题
单项选择题