问题
问答题
某请求页式系统允许用户空间为32个页面(每页1KB),主存为16KB,若一个用户程序有10页长,某时刻该进程的页表如下所示:
虚页号 | 物理块号 | 是否在TLB中 |
0 | 8 | 是 |
1 | 7 | 是 |
2 | 4 | 否 |
3 | 10 | 否 |
4 | 5 | 否 |
5 | 3 | 是 |
6 | 2 | 是 |
其他 | 无效 |
(2)页表存放在主存中,对主存的一次存取需要1.5ns,对TLB表的查找时间忽略为0,试问这两次访问共耗费多少时间
答案
参考答案:(1)32个页面需要用5位来区分,页内地址需要10位。虚地址0AC5H的页号为2,页内地址为1011000101。从页表可知,其物理块号为4,因此,其物理地址为1001011000101=12C5H。虚地址1AC5H的页号为6,页内地址为1011000101。根据页表可知,该虚地址对应的物理块号为2,其物理地址为101011000101=0AC5H。
(2)第1次访问TLB没有命中,因此需要查找页表,再访问主存一次,总计时间为3ns。第2个虚地址在TLB中,只需要一次内存访问,总时间为1.5ns。