二级分页内存习题求解:地址参数计算与访存性能分析
二级分页内存系统习题解答
已知条件
- 二级分页内存管理架构
- 物理内存总大小256MB,按字节寻址,共划分为1024个物理页框(题目表述为页面)
(a) 逻辑内存相关参数计算
- 单个页面大小:分页机制中逻辑页面与物理页框大小严格对齐。物理内存总大小256MB,共1024个页框,因此单个页框大小为
256MB / 1024 = 256KB,对应单个页面大小也为256KB。 - 逻辑内存容量:题目给定总页面数为1024,因此逻辑内存总容量为
1024 * 256KB = 256MB。 - 逻辑地址位宽:按字节寻址,
2^28 = 256MB,因此逻辑地址总位宽为28位。其中高10位为逻辑页号,拆分为2级页号适配二级分页结构,低18位为页内偏移(对应256KB的页面大小)。
(b) 物理内存相关参数计算
- 物理内存容量:题目给定为256MB。
- 物理地址位宽:按字节寻址,
2^28 = 256MB,因此物理地址位宽为28位,其中高10位为物理页框号,低18位为页内偏移。 - 单个页框大小:
256MB / 1024 = 256KB,与页面大小一致。
(c) 缺页处理时间约束计算
首先明确二级分页的访存流程与固定开销:
- 所有内存访问首先查询TLB,固定开销10ns。
- TLB命中(概率95%):直接获取页框号,仅需1次内存访问即可读取目标数据,总耗时
10ns + 100ns = 110ns,该场景下TLB存储的均为有效页表项,无缺页可能。 - TLB未命中(概率5%):需要依次访问一级页表、二级页表(共2次内存访问)查询页表项:
- 若页表命中(概率98%,无缺页):获取页框号后访问目标内存(第3次内存访问),总耗时
10ns + 100ns*3 = 310ns。 - 若页表未命中(概率2%,触发缺页):完成2次页表访问后执行缺页处理,设缺页处理总耗时为T(包含磁盘调页、更新页表/TLB的全部开销),处理完成后访问目标内存,总耗时
310ns + T。
- 若页表命中(概率98%,无缺页):获取页框号后访问目标内存(第3次内存访问),总耗时
第一步:计算无缺页场景的基准有效访问时间
缺页率为0时,有效访问时间EAT_base为:
EAT_base = 0.95*110ns + 0.05*310ns = 104.5ns + 15.5ns = 120ns
第二步:计算带缺页场景的有效访问时间
存在缺页时,有效访问时间EAT_pf为:
EAT_pf = 0.95*110ns + 0.05*0.98*310ns + 0.05*0.02*(310ns + T) = 104.5ns + 15.19ns + 0.31ns + 0.001T = 120ns + 0.001T
第三步:根据性能约束求解T
题目要求缺页导致的性能下降幅度不超过10%,即满足:
(EAT_pf - EAT_base)/EAT_base ≤ 10%
代入数值计算:
(0.001T)/120ns ≤ 0.1 0.001T ≤ 12ns T ≤ 12000ns = 12μs
即缺页处理时间不能超过12微秒。
内容的提问来源于stack exchange,提问作者nonso
相关产品推荐
相关产品推荐

