Skip to content

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

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

题目

下列关于多重中断系统的叙述中,错误的是( )。

错因

A

A 是正确叙述。CPU 在每条指令执行完毕进入下一次取指之前的"中断响应周期"才采样中断请求——不会在指令中段响应。原因是只有完整指令边界才能干净地保存断点(PC、PSW),中段响应会导致状态混乱。这是中断响应硬性约束。

C

C 也正确。中断请求来自 CPU 外部(设备 / 时钟 / DMA 完成等),与 CPU 当前正在跑哪条指令完全无关——这是"中断"区别于"异常"的核心特征。异常才与当前指令相关。题面是"多重中断"系统讨论,所谓中断就是外中断,自然与当前指令无关。

D

D 也正确。CPU 在每条指令执行结束时(更精确是"中断响应周期"开始时)采样中断请求引脚——这是"边沿采样 / 电平采样"的标准实现。如果不采样,CPU 根本不知道有中断到来。

总解析

核心矛盾点:B 错在哪

B 说"中断处理期间 CPU 处于关中断状态"——这话对单级中断成立、对多重中断不成立。题面明确说的是"多重中断系统",多重中断的核心特征恰恰是允许嵌套——必须在 ISR 内适当时机开中断让高优先级中断进来。

多重中断的标准时序

进入 ISR

(硬件已关中断)

保护现场(push 通用寄存器) ← 这段还是关中断的,怕被打断破坏栈

开中断 ← 关键步骤!允许更高优先级的中断打断当前 ISR

执行中断处理逻辑(这段允许嵌套)

关中断 ← 恢复现场前再关一次,怕弹栈过程被打断

恢复现场(pop 通用寄存器)

中断返回(IRET 自动恢复 PSW,包含中断使能位)

所以 ISR 期间 CPU 既有关中断阶段也有开中断阶段,并不是"全程关中断"。B 把单级中断的行为套到了多重中断上。

单级 vs 多重中断对照

维度单级中断(不允许嵌套)多重中断(允许嵌套)
进入 ISR 时硬件关中断硬件关中断
保护现场时关中断关中断
处理中段保持关中断必须开中断(允许更高级中断进来)
恢复现场时关中断(隐式)关中断
返回时IRET 恢复中断使能位IRET 恢复中断使能位
屏蔽字使用通常无用屏蔽字定义"哪些级别能抢占当前级"

逐项判定

选项是否成立为什么
A 一条指令结束时响应中断中断响应必须在指令边界
B 中断处理期间 CPU 关中断多重中断要求 ISR 中段开中断以允许嵌套
C 中断请求与当前指令无关外中断的固有特性
D CPU 采样中断请求信号检测中断响应周期的硬件动作

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

关联题型:2010-21 单级中断 ISR 内顺序、2011-21 多重中断屏蔽字设置——同一系列,三道题串起来看就把"中断响应 + 多重中断 + 屏蔽字"完整闭环。

最后更新:

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