程序中断方式
# 程序中断方式
# 中断的概念
# I/O 中断的产生
以打印机为例
CPU 与打印机部分并行工作
# 程序中断方式的接口电路
配置中断请求触发器和中断屏蔽触发器
- 进行数据传输时需要屏蔽中断
排队器
- 优先级
- 硬件实现
- 软件实现
中断向量地址形成部件
- 中断向量可理解为中断服务程序的入口地址
- 由软件产生
- 第八章
- 硬件向量法
- 由硬件产生向量地址,再由向量地址找到入口地址
-
- P119 页有设备编码器的具体结构
- 由软件产生
程序中断方式接口电路的基本组成
# I/O 中断的处理过程
CPU 响应中断的条件和时间
- 条件
- 允许中断触发器 EINT = 1
- 时间
- 当 D = 1(随机)且 MASK = 0 时
- 在每条指令执行阶段的结束前, CPU发中断查询信号(将 INTR 置“1”)
I/O 中断的处理过程
# 中断服务程序流程
中断服务程序的流程
- 保护现场
- 程序断点的保护
- 中断隐指令
- 由硬件完成
- 寄存器内容的保护
- 进栈指令
- 不一定非要使用进栈指令
- 进栈指令
- 程序断点的保护
- 中断服务
- 恢复现场
- 出栈指令
- 使用进栈指令时采取的恢复措施
- 出栈指令
- 中断返回
- 中断返回指令
单重中断和多重中断
- 单重中断
- 不允许中断现行的中断服务程序
单重中断流程示意图
- 多重中断
- 允许级别更高的中断源中断现行的中断服务程序
多重中断流程示意图
- 开中断的位置和单重中断不一样
主程序和中断服务程序抢占 CPU 示意图
- 宏观上 CPU 和 I/O 并行工作
- 微观上 CPU 中断现行程序为 I/O 服务
编辑 (opens new window)