CPU · INTERRUPT HANDLING

中断处理流程 — 每一步谁在执行、执行了什么

以一次外设中断为例,忽略向量 / 非向量的区别,聚焦执行者的交接。右侧实时显示 PC、PSW(EINT 开关)与程序栈的变化。用底部按钮单步推进。

主程序 CPU 硬件(采样) 中断隐指令(硬件自动) 中断服务程序(OS 软件) 中断返回指令(软件)
执行流程 / 舞台
CPU / 内存 状态
PC
0x4010
阶段
主程序运行
EINT = 1 · 开中断
程序栈 (STACK)SP →
— 空 —
当前执行者
主程序
CPU 正常取指执行用户程序,每条指令末尾会采样中断请求线。
执行时间轨迹
外部设备
中断服务程序
现行程序
当前活跃 并行工作 挂起等待
0 / 0
读图要点: 琥珀色三步(关中断 → 存 PC/PSW → 转入口)是中断隐指令,硬件自动、无操作码; 蓝色是 OS 编写的服务程序(补存通用寄存器→处理→恢复);紫色 中断返回指令才把 PC/PSW 弹回。 注意 EINT 何时被关、何时被开,以及栈的后进先出对称性。