Skip to content

2016年 408 计算机组成原理 第 22 题

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

题目

异常是指令执行过程中在处理器内部发生的特殊事件,中断是来自处理器外部的请求事件。下列关于中断或异常情况的叙述中,错误的是( )。

错因

B

B 是正确叙述。整数除以 0 由 ALU 在执行除法指令时检测,事件源在 CPU 内部的运算单元,与"外部请求"无关——按题面定义属"指令执行过程中处理器内部发生",妥妥的异常。

C

C 也正确。DMA 传送结束由 DMA 控制器(CPU 外部硬件)发出中断信号,经中断控制器送到 CPU 的 INTR 引脚——事件源完全在 CPU 外部。这是教科书里"外部中断"的标准例子之一。

D

D 也正确。存储保护错(写只读段、用户态访问内核段等)由 MMU 在地址翻译/权限检查时检测,事件源在 CPU 内部的内存管理单元——属指令执行中触发的内部事件,是异常(具体是 fault 类)。

总解析

回顾题面给的定义(这道题题干自己定义了概念,按题面定义判断):

  • 中断:来自处理器外部的请求事件
  • 异常:指令执行过程中在处理器内部发生的特殊事件

判定的关键是事件源在 CPU 内还是外,而不是事件涉及的资源在哪。

逐项判定

选项事件触发主体真实分类选项说的是对/错
A访存缺页MMU(CPU 内部地址翻译单元)异常(fault 类)中断✗ 错
B整数除以 0ALU(CPU 内部运算单元)异常(fault 类)异常
CDMA 传送结束DMA 控制器(CPU 外部)中断(外中断)中断
D存储保护错MMU(CPU 内部)异常(fault 类)异常

A 的陷阱在哪——很多学生看到"访存""存储"就想成"涉及外部主存,所以是外部"。但定义说的是触发该事件的主体在哪,不是事件涉及的存储设备在哪:

  • 访存动作是由 CPU 通过 MMU 发起的
  • 缺页是由 MMU 在 CPU 内部判断"页表项的存在位 = 0"得出的
  • 主存只是被动响应地址请求,不会"主动告诉 CPU 我没这页"

所以缺页的触发主体是 CPU 内的 MMU,类别是异常,不是中断——A 错。

最终答案是 A(这是错误叙述)

易错对照表(408 高频混淆):

事件触发主体分类易错点
访存缺页MMU(内)异常容易因"访存"误判为外
存储保护错MMU(内)异常同上
整数除 0ALU(内)异常较少错
浮点下溢/上溢FPU(内)异常较少错
非法指令控制器(内)异常较少错
特权违规控制器(内)异常较少错
DMA 传送结束DMA 控制器(外)中断较少错
键盘按键键盘控制器(外)中断较少错
时钟到时定时器(外)中断较少错

记忆口诀:"指令执行中、CPU 自己抓住的 → 异常;外部硬件主动告诉 CPU 的 → 中断"。

最后更新:

⚠️ 这道题暂未配可视化,欢迎在 CodeBrick 反馈区告诉我们你想看哪道题