Skip to content

2024年 408 计算机组成原理 第 18 题

计算机组成原理2024年选择题2分

题目

下列事件中,不是在 MMU 地址转换过程检测的是( )。

错因

A

考生可能误以为"访问越权(违反读/写/执行权限)"是 OS 软件检测的——但权限位(R/W/X、用户/内核态)就保存在页表项里,MMU 在做地址转换时一并检查这些位。一旦发现违反(如对只读页执行写),立即触发"保护异常"陷入 OS。A 是 MMU 检测的事件,本题问"不是 MMU 检测",所以不选 A。

C

考生认为"缺页"是 OS 内存管理的事——但缺页首先由 MMU 检测:MMU 查页表时发现 PTE 的有效位 = 0,立即触发"缺页异常"陷入 OS。OS 服务程序处理换入是之后的事,检测这一步在 MMU 内。C 是 MMU 检测的事件,不选。

D

考生可能把 TLB 当成独立单元——其实 TLB 是 MMU 内部的虚→实地址转换加速器:MMU 拿到虚拟地址 → 先查 TLB → TLB 没命中("TLB 缺失"事件)→ MMU 自己转去查页表(或硬件填 TLB,或陷入 OS 软件填 TLB,取决于体系结构)。TLB 缺失就是 MMU 工作流程中的一个分支——不选 D。

总解析

MMU(内存管理单元)的职责:把 CPU 发出的虚拟地址 → 物理地址,并在转换过程中检查权限。

MMU 工作流程(典型路径):

   CPU 发出虚拟地址

   ┌─────────────┐
   │  查 TLB     │  ← TLB 缺失?是 MMU 检测
   └─────────────┘
        ↓ TLB 命中(取到 PTE 缓存)
   ┌─────────────┐
   │ 检查 PTE    │  ← 有效位 = 0 → 缺页(MMU 检测)
   │ 有效位      │
   │ 权限位      │  ← R/W/X 违反 → 访问越权(MMU 检测)
   └─────────────┘
        ↓ 全部通过
   产生物理地址 → 送给主存(再后面才有 Cache 控制器介入)

逐项判断

选项事件是否 MMU 检测
A访问越权✓(PTE 权限位)
BCache 缺失✗(Cache 控制器检测,发生在 MMU 转换完成之后)
C页面缺失(缺页)✓(PTE 有效位 = 0)
DTLB 缺失✓(TLB 是 MMU 一部分)

B 错在哪里

Cache 缺失发生在 MMU 转换出物理地址之后——CPU 拿到物理地址后送往 Cache 控制器,Cache 控制器去 Cache 中比对:命中就返回数据,未命中(缺失)则去主存取块。整个过程与 MMU 无关,由 Cache 控制器独立处理。

关键时序:MMU 先做地址转换 → 物理地址给 Cache 控制器 → Cache 控制器查 Cache。MMU 在第一步就退出舞台了,第二步的 Cache 缺失它不知道也不管。

最终答案是 B(Cache 缺失)

MMU 检测事件速记

MMU 摸到的全是与页表相关的事件——TLB 是页表的"前置缓存"、PTE 有效位决定缺页、PTE 权限位决定越权。 Cache 是物理地址出来后的另一个独立子系统,MMU 已经退出了。

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数