在采用分页存储的系统中设置 TLB(快表),其主要目的是()。
页表通常放在内存中,若没有 TLB,一次访存可能先访问页表,再访问目标数据。TLB 是保存近期页表项的高速相联存储器;命中时可以直接得到页框号,从而省去访问内存页表的步骤。
选项分析
错误。页面大小由系统设计决定,TLB 不改变地址字段划分。
错误。TLB 只保存少量页表项,不保存完整页面数据,更不会把磁盘页面全部装入。
错误。TLB 命中率高可以加快转换,但不能消除工作集不足造成的缺页。
正确。TLB 命中后可直接获得页框号,减少一次访问内存页表的开销。
本题为什么容易错
“未命中”三个字很像故障,但 TLB 未命中只是缓存里没有;内存页表仍可能显示该页有效。缺页中断则说明所需页面当前不在物理内存,两者代价差距很大。
简短答案
TLB 快表为什么能加快分页地址转换,正确答案是 D(缓存近期页表项,减少地址转换所需的内存访问)。页表通常放在内存中,若没有 TLB,一次访存可能先访问页表,再访问目标数据。TLB 是保存近期页表项的高速相联存储器;命中时可以直接得到页框号,从而省去访问内存页表的步骤。
易混淆概念对比表
| 概念 | 本题判断 | 区别要点 | 记忆提示 |
|---|---|---|---|
| 扩大每个页面的大小,减少页内偏移位数 | 本题干扰项 | 错误。页面大小由系统设计决定,TLB 不改变地址字段划分。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| 把磁盘中的全部页面永久装入内存 | 本题干扰项 | 错误。TLB 只保存少量页表项,不保存完整页面数据,更不会把磁盘页面全部装入。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| 保证程序运行过程中绝不会发生缺页中断 | 本题干扰项 | 错误。TLB 命中率高可以加快转换,但不能消除工作集不足造成的缺页。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| 缓存近期页表项,减少地址转换所需的内存访问 | 本题正确答案 | 正确。TLB 命中后可直接获得页框号,减少一次访问内存页表的开销。 | 看到题干核心场景时优先联想到它 |
本题易混淆选项怎么区分
- 扩大每个页面的大小,减少页内偏移位数:错误。页面大小由系统设计决定,TLB 不改变地址字段划分。
- 把磁盘中的全部页面永久装入内存:错误。TLB 只保存少量页表项,不保存完整页面数据,更不会把磁盘页面全部装入。
- 保证程序运行过程中绝不会发生缺页中断:错误。TLB 命中率高可以加快转换,但不能消除工作集不足造成的缺页。
知识点详解
TLB 通常采用相联查找,以虚拟页号为线索快速找到页框号和访问控制信息。命中后,页框号与页内偏移组合成物理地址;未命中时再访问内存中的多级或单级页表,并可把结果写回 TLB。若页表项的有效位表明页面不在内存,才进入缺页异常处理。
备考速记
TLB 没找到先查页表,页表说不在才叫缺页。
TLB 在地址转换场景中的作用
TLB在本题中的核心价值,是解决“在采用分页存储的系统中设置 TLB(快表),其主要目的是()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。
同类题怎么考
- 根据 TLB 命中率和内存访问时间计算有效地址转换时间。
- 判断 TLB 未命中后下一步查页表还是直接访问磁盘。
- 比较 TLB、Cache 和页表各自缓存或记录的内容。
TLB 在软件设计师软考中的考法
软考选择题通常不会只考概念定义,还会把TLB放到地址转换场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。
解题思路
老师常把 TLB 未命中和缺页画成两道门:第一道门没找到页表项,就去内存页表再查;查到页表项且有效,照样可以继续访问。只有页表告诉你页面不在内存,才需要触发缺页处理。
考点定位
TLB 缓存的是页号到页框号等页表项映射,提升地址转换速度;TLB 未命中只表示要查内存页表,不等于所访问页面一定不在内存。
易错提醒
- 把 TLB 当成页面数据缓存;它缓存的是页表项,不是普通数据块。
- 认为 TLB 未命中必然发生磁盘 I/O。
- 忽略进程切换时 TLB 条目可能需要刷新,或通过地址空间标识符加以区分。
备考提示
- 画出 CPU→TLB→内存页表→主存页面的查找路径,分别标注命中和未命中。
- 把 Cache 未命中、TLB 未命中、缺页中断放在一起比较它们查找的对象和处理代价。
你可能还想了解
- TLB 中保存的是页面数据还是页表项?
- TLB 未命中为什么不一定发生缺页?
- 一次分页访存为什么可能访问两次内存?
- TLB 与 CPU Cache 有什么区别?
本文小结
TLB缓存近期页表项,命中时可直接取得页框号,省去访问内存页表的步骤。TLB未命中只需继续查页表,并不等于页面不在内存或一定触发缺页。