第五章输入输出系统 5.1概述 52外部设备 53IO接口 54程序查询方式 55程序中断方式 56DMA方式
第五章 输入输出系统 5.6 DMA方式 5.5 程序中断方式 5.4 程序查询方式 5.3 I/O接口 5.2 外部设备 5.1 概述
55程序中断方式 中断的概念 入口1 K K+1 入口 Q+1 中断服务程序—中断服务程 序2
中 断 服 务 程 序 中 断 服 务 程 序 入口1 入口2 1 2 5.5 程序中断方式 一、中断的概念 … K K+1 Q Q+1 … … 中 断 服 务 程 序 1 中 断 服 务 程 序 2
二、IO中断的产生 55 以打印机为例CPU与打印机并行工作 执行主程序继续执行主程序继续执行主程序 CPU 响应中断 中断返回 响应中断 中断返回 启动 传送 传送 打印机 数据 数据 准备 打印发 打印 打印机 发中断请求 中断请求 空闲 接收 接收 数据 数据
二、I/O 中断的产生 以打印机为例 发 中 断 请 求 空闲 接收 数据 接收 数据 准备 发 中 断 请 求 打印 打印 打印机 执行主程序 继续执行主程序 继续执行主程序 响 应 中 断 中 断 返 回 响 应 中 断 中 断 返 回 启动 打印机 传送 数据 传送 数据 CPU CPU 与打印机并行工作 5.5
、程序中断方式的接口电路 55 1.配置中断请求触发器和中断屏蔽触发器 中断请求 NTR NTR 中断请求触发器 MASK 来自CPU的 INTR=1有请求 中断查询信号 MASK 中断屏蔽触发器 & MASK=1被屏蔽 D受设备本身控制D完成触发器
三、程序中断方式的接口电路 1. 配置中断请求触发器和中断屏蔽触发器 D Q & 1 INTR 中断请求触发器 INTR = 1 有请求 MASK 中断屏蔽触发器 MASK = 1 被屏蔽 来自 CPU 的 中断查询信号 受设备本身控制 INTR D MASK Q D 完成触发器 5.5 中断请求
2.排队器 55 队{使件在CPU内、在接口电路中(链式排队器) 软件详见第八章 TP INTP & & & & INTRI nTR2 INTR3 INTRA 设备1、2、3、4#优先级按降序排列 INTR2=1有请求即NTR2=0
2. 排队器 排队 硬件 在 CPU 内、在接口电路中(链式排队器) 软件 5.5 详见第八章 INTP1´ INTP2´ INTP3´ INTP4´ INTR1 INTR2 INTR3 INTR4 1 & 1 & 1 & 1 & INTR1 设备 1 # 、2 # 、3 # 、4 #优先级按 降序排列 INTRi = 1 有请求 即 INTRi = 0
2.排队器 55 #队件在CPU内、在接口电路中(链式排队器) 软件详见第八章 INTP INTP INTP INTP & & & INTRI INTR2 INTR3 INTRA INTPI NTP & & & & INTRI ntR2 INTR3 NTR4
1 INTP1 1 INTP2 1 INTP3 1 INTP4 & & & & INTR1 INTR2 INTR3 INTR4 INTR1 INTR2 INTR3 INTR4 1 & 1 & 1 & 1 & INTP1´ INTP2´ INTP3´ INTP4´ INTR2 INTR1 INTR1 INTR2 5.5 1 & INTP2 2. 排队器 排队 硬件 在 CPU 内、在接口电路中(链式排队器) 软件 详见第八章
3.中断向量地址形成部件 55 由软件产生详见第八章 入口地址 硬件向量法由硬件产生向量地址 再由向量地址找到入口地址 向量地址 主存 00010010 12H JMP 200 设备 中断向量地址八(編码器|向量地址13HJMP300 形成部件 14H|JMP400 入口地址20打印机服务程序 排队器输出 入口地址300显示器服务程序
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 0 0 … 0 0 0 1 0 0 1 1 详见第八章 由 硬件 产生 向量地址 再由 向量地址 找到 入口地址 5.5
4.程序中断方式接口电路的基本组成 55 向量地址 中断响应 设备编码器 至低一级 INTA 匚排队器 的排队器 中断请求 来自高一级 INTR 的排队器 D MASK 1中断查询 命令译码 1启动设备 D B 启动命令 & SEL ↓设备工作 地址线 设备选择电路 结束 输入数据 数据线 DBR
设备选择电路 DBR D Q & 数据线 启动命令 地址线 SEL 输入数据 启动设备 设备工作 结束 & 1 Q Q D INTR B Q Q MASK 设备编码器 排队器 中断查询 来自高一级 的排队器 至低一级 的排队器 向量地址 中断响应 INTA 中断请求 命令译码 4. 程序中断方式接口电路的基本组成 5.5
四、IO中断处理过程 55 1.CPU响应中断的条件和时间 (1)条件 允许中断触发器EINT=1 用开中断指令置“1”EINT 用关中断指令置“0”EINT或硬件自动复位 (2)时间 当D=1(随机)且MASK=0时 在每条指令执行阶段的结束前 CPU发中断查询信号(将INTR置“1”)
四、I/O 中断处理过程 1. CPU 响应中断的条件和时间 (1) 条件 (2) 时间 允许中断触发器 EINT = 1 用 开中断 指令置 “1” EINT 用 关中断 指令置“ 0” EINT 或硬件 自动复位 当 D = 1(随机)且 MASK = 0 时 在每条指令执行阶段的结束前 CPU 发 中断查询信号(将 INTR 置“1”) 5.5
2.I/O中断处理过程 ⑧ 以输入为例55 向量地址 中断响应⑦ 设备编码器 至低一级 INTA 的排队器 6 匚排队器 中断请求 来自高一级 INTR 的排队器 D MASK 1中断查询 ①命令译码 1启动设备 D B 启动命令 SEL 1设备工作 地址线 设备选择电路 结束 ③输入数据 数据线← DBR
设备选择电路 DBR D Q & 数据线 启动命令 地址线 SEL 输入数据 启动设备 设备工作 结束 & 1 Q Q D INTR B Q Q MASK 设备编码器 排队器 中断查询 来自高一级 的排队器 至低一级 的排队器 向量地址 中断响应 INTA 中断请求 ① 命令译码 ② ③ ④ ⑤ ⑥ ⑦ ⑧ 2. I/O 中断处理过程 ① 0 1 & DBR ③ ④ ⑤ ⑦ ⑧ ⑥ 设备选择电路 1 0 以输入为例 ② 5.5