一次完整的中断处理 外中断 · 硬件中断隐指令 + 软件服务程序

IF 中断允许触发器 1 · 开中断
PSW 状态位 0 · 用户态
PC 程序计数器 2000

I/O 设备(打印机)接口寄存器

状态工作中…
数据缓冲寄存器'A'
中断类型号05
INTR 请求线

用户程序用户态执行

2000add R3, R4 ; 执行中
2004mul R1, R2 ; 下一条
2008sub R5, R6

CPU 中断响应硬件电路固化 · 非指令

采样指令周期末检查 INTR
隐①关中断(IF←0)
隐②PC、PSW 压栈,切核心态
隐③查向量表,入口→PC
恢复弹出 PSW、PC(iret 触发)
屏蔽字 = 1110 0000

中断向量表机制硬件 · 内容 OS 填

03 时钟5000
05 打印机8000 ◀
07 磁盘6400

栈(内存中)现场保存区

内存缓冲区:

中断服务程序OS 编写 · 核心态

8000push R1, R2 ; 保护现场
8008设置屏蔽字
800C开中断 ; 允许嵌套
8010特权读缓冲→内存 ; 设备服务
8014关中断
8018pop R2, R1 ; 恢复现场
801C开中断
8020特权iret ; 中断返回

用户程序 硬件自动(隐指令) 服务程序(软件·核心态) 设备 控制 / 地址传递 数据传输