页表结构:
页号(虚拟页号)
页框号(物理页帧号)
有效位(存在位):1表示页面在内存,0表示缺页
页面大小:4KB(2^12字节),决定了页内偏移量的位数(虚地址低12位)。
2^12
驻留集:进程在内存中允许驻留的页面数(本题固定为2)。
虚地址拆分:
虚地址 = 页号 + 页内偏移量。
本题页面大小为4KB,页内偏移占12位(十六进制低3位)。
例如:虚地址2362H → 页号2H,页内偏移362H。
2362H
2H
362H
TLB(快表)查找:
若TLB命中,直接获取页框号。
若TLB未命中,需访问页表。
页表查找:
根据页号查页表:
有效位=1:获取页框号,合成物理地址。
有效位=0:触发缺页中断。
缺页处理:
置换算法:LRU(最近最少使用)。
局部淘汰:仅淘汰当前进程的页面。
缺页开销:本题为10^8 ns(含TLB和页表更新)。
10^8 ns
TLB访问时间:10ns。
内存访问时间:100ns(包括访问页表或物理内存)。
缺页处理时间:10^8 ns。
总时间公式:
TLB命中:TLB时间 + 内存访问时间 = 10 + 100 = 110ns。
TLB时间 + 内存访问时间 = 10 + 100 = 110ns
TLB未命中但页表命中:TLB时间 + 页表访问时间 + 内存访问时间 = 10 + 100 + 100 = 210ns。
TLB时间 + 页表访问时间 + 内存访问时间 = 10 + 100 + 100 = 210ns
缺页时:TLB时间 + 页表访问时间 + 缺页处理时间 + 重新执行的开销 ≈ 10 + 100 + 10^8 + 210ns(通常简化为10^8 ns主导)。
TLB时间 + 页表访问时间 + 缺页处理时间 + 重新执行的开销 ≈ 10 + 100 + 10^8 + 210ns
物理地址 = 页框号 × 页面大小 + 页内偏移量。
例如:页框号254H,偏移362H → 物理地址254000H + 362H = 254362H。
254H
254000H + 362H = 254362H
驻留集大小=2,初始时页0和页2在内存(页1缺页)。
访问序列可能触发置换(如访问页1时需淘汰页0或页2中最近最少使用的页)。
用户登录可进行刷题及查看答案
登录后提交答案