软件设计师 · 高频练习

TLB查找10ns、内存100ns、命中率90%,有效访问时间是多少?

中级 单选题 第 1094 题 较难 软件设计师TLB有效访问时间命中率分页存储
题目

某分页系统先查TLB再访问主存,TLB查找时间为10ns,主存访问时间为100ns,TLB命中率为90%。TLB未命中时需再访问一次主存读取页表,然后访问目标数据。忽略缺页和Cache,平均有效访问时间为()。

A 100ns
B 110ns
C 120ns
D 210ns
题目类型:原创高频练习题 用途:用于帮助理解软件设计师相关考点和答案解析,不等同于官方真题。
正确答案
C
答案解析

命中耗时10+100=110ns;未命中耗时10+100+100=210ns。加权平均为0.9×110+0.1×210=99+21=120ns。

选项分析

A

错误。忽略了TLB查找时间和未命中开销。

B

错误。只计算了命中路径,没有把10%的未命中纳入平均。

C

正确。0.9×110+0.1×210=120ns。

D

错误。210ns只是未命中单次耗时,不是平均时间。

本题为什么容易错

常见错误是直接写命中率×内存时间,漏掉每次都发生的TLB查找,或者把未命中时的页表访问和数据访问只算一次。

先看结论

简短答案

TLB查找10ns、内存100ns、命中率90%,有效访问时间是多少,正确答案是 C(120ns)。命中耗时10+100=110ns;未命中耗时10+100+100=210ns。加权平均为0.9×110+0.1×210=99+21=120ns。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
100ns 本题干扰项 错误。忽略了TLB查找时间和未命中开销。 看到该词不要急着选,先判断是否真正解决题干问题
110ns 本题干扰项 错误。只计算了命中路径,没有把10%的未命中纳入平均。 看到该词不要急着选,先判断是否真正解决题干问题
120ns 本题正确答案 正确。0.9×110+0.1×210=120ns。 看到题干核心场景时优先联想到它
210ns 本题干扰项 错误。210ns只是未命中单次耗时,不是平均时间。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • 100ns:错误。忽略了TLB查找时间和未命中开销。
  • 110ns:错误。只计算了命中路径,没有把10%的未命中纳入平均。
  • 210ns:错误。210ns只是未命中单次耗时,不是平均时间。
复习

知识点详解

TLB缓存近期页表项。命中后可直接得到物理页框号,再访问目标数据;未命中则需查询页表并把结果写入TLB,然后访问数据。有效访问时间是不同路径耗时按发生概率的期望值。

备考速记

先算命中一条路、未命中另一条路,最后再让命中率当权重。

TLB 在分页存储场景中的作用

若命中率提高到99%,同一条件下平均时间变为0.99×110+0.01×210=111ns,说明较高命中率能显著压低页表访问成本。

拓展

同类题怎么考

  • 根据TLB命中率计算有效访问时间。
  • 判断多级页表对TLB未命中代价的影响。
TLB 在软件设计师软考中的考法

选项中出现110、120、210通常分别对应命中、加权平均和未命中路径,按概率期望即可区分。

解题思路

这题最稳的做法是先不碰命中率。命中路径走TLB和一次内存,共110;未命中多走一次页表内存,共210。最后才按九成和一成加权,得到120,选C。

考点定位

先分别画命中和未命中路径,再按概率加权。是否并行查TLB与Cache、是否计页表多级访问必须按题干设定。

易错提醒

  • 把90%写成90参与乘法。
  • 命中和未命中路径没有分别列清。
  • 自行假设TLB与主存并行,改变题目明确的串行条件。

备考提示

  • 固定三步:列路径、算单次、概率加权。
  • 题干若给多级页表,未命中路径还要按访问层数调整。

你可能还想了解

  • TLB命中为什么还要访问一次内存?
  • TLB未命中要访问几次主存?
  • 有效访问时间为什么要概率加权?

本文小结

命中路径110ns、未命中路径210ns,按90%命中率加权后平均有效访问时间为120ns。