第五章 输入输出系统
5.6 DMA方式
5.5 程序中断方式
5.4 程序查询方式
5.3 I/O接口
5.2 外部设备
5.1 概述中断服务程序中断服务程序入口 1
入口 2
1
2
5.5 程序中断方式一、中断的概念

K
K+1
Q
Q+1


中断服务程序中断服务程序二,I/O 中断的产生以打印机为例发中断请求空闲 接收数据接收数据准备 发中断请求打印 打印打印机执行主程序 继续执行主程序 继续执行主程序响应中断中断返回响应中断中断返回启动打印机传送数据传送数据
CPU
CPU 与打印机并行工作
5.5
三、程序中断方式的接口电路
1,配置中断请求触发器和中断屏蔽触发器
D
Q
&
1
INTR
中断请求触发器
INTR = 1 有请求
MASK
中断屏蔽触发器
MASK = 1 被屏蔽来自 CPU 的中断查询信号受设备本身控制
INTR
D MASK
Q
D 完成触发器
5.5
中断请求
2,排队器排队 在 CPU 内、在接口电路中(链式排队器)硬件软件
5.5
详见第八章
INTP1′ INTP2′ INTP3′ INTP4′
INTR1 INTR2 INTR3 INTR4
1 & 1 & 1 & 1 &
设备 1#,2#,3#,4# 优先级按 降序排列
INTRi = 1 有请求 即 INTRi = 0
1
INTP1
1
INTP2
1
INTP3
1
INTP4
& & & &
INTR1 INTR2 INTR3 INTR4
INTR1 INTR2 INTR3 INTR4
1 & 1 & 1 & 1 &
INTP1′ INTP2′ INTP3′ INTP4′
5.52,排队器排队 在 CPU 内、在接口电路中(链式排队器)硬件软件 详见第八章
3,中断向量地址形成部件入口地址

向量地址

排队器输出由软件产生硬件向量法显示器服务程序打印机服务程序
JMP 400
JMP 300
JMP 200




主存
12H
13H
14H
200
300
向量地址入口地址入口地址中断向量地址形成部件设备编码器
1 0 0 0…
0 0 0 1 0 0 1 0
0 1 …
1
详见第八章由 硬件 产生 向量地址再由 向量地址 找到 入口地址
5.5
设备选择电路
DBR
DQ
&
数据线启动命令地址线
SEL
输入数据启动设备设备工作结束
&
1
Q Q
D INTR
BQ
QMASK
设备编码器排队器中断查询来自高一级的排队器至低一级的排队器向量地址中断响应
INTA
中断请求命令译码
4,程序中断方式接口电路的基本组成 5.5
四,I/O 中断处理过程
1,CPU 响应中断的条件和时间
(1) 条件
(2) 时间允许中断触发器 EINT = 1
用 开中断 指令置,1” EINT
用 关中断 指令置,0” EINT 或硬件 自动复位当 D = 1( 随机)且 MASK = 0 时在每条指令执行阶段的结束前
CPU 发 中断查询信号 (将 INTR 置,1” )
5.5
设备选择电路
DBR
DQ
&
数据线启动命令地址线
SEL
输入数据启动设备设备工作结束
&
1
Q Q
D INTR
BQ
QMASK
设备编码器排队器中断查询来自高一级的排队器至低一级的排队器向量地址中断响应
INTA
中断请求命令译码①







2,I/O 中断处理过程
① 10






设备选择电路
01
以输入为例

5.5
五、中断服务程序流程
1,中断服务程序的流程
(1) 保护现场
(2) 中断服务
(3) 恢复现场
(4) 中断返回对不同的 I/O 设备具有不同内容的设备服务中断返回指令
2,单重中断和多重中断不允许中断 现行的 中断服务程序单重 中断多重 中断 允许级别更高 的中断源中断 现行的 中断服务程序中断隐指令完成进栈指令出栈指令程序断点的保护寄存器内容的保护
5.5
3,单重中断和多重中断的服务程序流程中断否?
保护现场设备服务恢复现场开中断中断返回取指令执行指令中断服务程序中断响应程序断点进栈关中断向量地址 PC
中断周期是中断返回保护现场设备服务恢复现场开中断开中断中断隐指令中断隐指令否取指令执行指令中断否? 否中断响应程序断点进栈关中断向量地址 PC
中断周期是中断服务程序单重 多重
5.5
主程序和服务程序抢占 CPU 示意准备工作 准备工作 准备工作传送数据 传送数据发中断请求 发中断请求
I/O
宏观 上 CPU 和 I/O 并行 工作微观 上 CPU 中断现行程序 为 I/O 服务主程序 继续执行主程序启动外设 服务程序
(传送数据)
服务程序
(传送数据)
继续执行主程序
CPU
5.5
程序中断接口芯片 8259A 的内部结构 5.5
内部总线缓冲器读 / 写逻 辑级联缓冲器 /比较器优先权比较器
( PR )
中断服务寄存器
(ISR)
中断请求寄存器
(IRR)
中断屏蔽寄存器
( IMR)
控制逻辑
INTINTA
D7~D0
A0
RD
WR
CS
CAS0
CAS1
CAS2
SP/EN
IR0
IR1
IR2
IR3
IR4
IR5
IR6
IR7
内部总线