第8章中断 ■8.1引言 第7章中当CPU与外设交换信息时,若用查询方 式,则CPU就要浪费很多时间去等待外设,这就存 在一个快速的CP与慢速的外设之间的矛盾,这也 是计算机在发展过程中遇到的严重问题之 中断的出现是为了解决高速CPU与慢速外设之 间的矛盾而引出的一个概念
第8章 中断 8.1 引言 第7章中当CPU与外设交换信息时,若用查询方 式,则CPU就要浪费很多时间去等待外设,这就存 在一个快速的CPU与慢速的外设之间的矛盾,这也 是计算机在发展过程中遇到的严重问题之一。 中断的出现是为了解决高速CPU与慢速外设之 间的矛盾而引出的一个概念
8.1.1中断的概念及为什么要用中断技术 中断是指CPU暂时中止它正在执行的主程序,转 去执行请求中断的那个外设的中断服务程序,处理 完毕后,又返回主程序的过程。 ■子程序的调用是固定的,而中断是随机的。 1、同步操作 可以使CPU与外设同时工作,CP启动启动外设后 继续执行主程序 2、实现实时处理 3、故障处理
8.1.1 中断的概念及为什么要用中断技术 中断是指C P U暂时中止它正在执行的主程序,转 去执行请求中断的那个外设的中断服务程序,处理 完毕后,又返回主程序的过程。 子程序的调用是固定的,而中断是随机的。 1、同步操作 可以使C P U与外设同时工作,C P U启动启动外设后 继续执行主程序。 2、实现实时处理 3、故障处理
8.1.2中断源 中断源:引起中断的原因或能发出中断申请的来源 1、一般的输入输入输出设备(如键盘、打印机等) 数据通道中断源(如磁盘、磁带机) 3、实时时钟(外部电路如8253) 4、故障源(如掉电,需保存信息 5、调试程序时设置的中断源(如断点、单步)
8.1.2 中断源 中断源:引起中断的原因或能发出中断申请的来源。 1、一般的输入输入输出设备(如键盘、打印机等) 2、数据通道中断源(如磁盘、磁带机) 3、实时时钟(外部电路如8253) 4、故障源(如掉电,需保存信息) 5、调试程序时设置的中断源(如断点、单步)
8.2最简单的中断情况 ■8.2.1cP响应中断的条件 1、设置中断请求出触发器; 2、设置中断屏蔽触发器; 3、中断是开放的; 4、现行指令执行结束;
8.2 最简单的中断情况 8.2.1 CPU响应中断的条件 1、设置中断请求出触发器; 2、设置中断屏蔽触发器; 3、中断是开放的; 4、现行指令执行结束;
8.2.2CPU对中断的响应 ■8.2.2cPU对中断的响应 满足以上四个条件后,CPU响应中断,转入中断 周期,CPU完成如下操作(P267-268) 1、关中断; 2、保留断点; 3、保护现场; 4、给出中断入口,转入相应中断服务程序; 5、恢复现场; 6、开中断与返回;
8.2.2 CPU对中断的响应 8.2.2 CPU对中断的响应 满足以上四个条件后,C P U响应中断,转入中断 周期,CPU完成如下操作(P267-268) 1、关中断; 2、保留断点; 3、保护现场; 4、给出中断入口,转入相应中断服务程序; 5、恢复现场; 6、开中断与返回;
8.3中断优先权 ■8.3.1用软件确定中断优先权 例:把8个外设的中断请求组合起来,作为一个端口 将各个外设请求信号“或”后,作为INTR信号,如下图示 INTR INTRI ≥1 INTR (CPU) InTR D,至CPU数据 I/O 总线 软件优先权排队 端口控制
8.3 中断优先权 8.3.1 用软件确定中断优先权 例: 把8个外设的中断请求组合起来,作为一个端口, 将各个外设请求信号 “ 或 ”后,作为INTR信号,如下图示: ≥ 1 INTR (CPU) I/O D 0 D1 至CPU数据 总线 INTR 0 INTR1 INTR 7 D 7 软件优先权排队 端口控制
8.3.1用软件确定中断优先权 D D 20H 电磁磁 纸纸键打 源盘带 带带盘印 故 显输穿输机 示入孔入输 出
8.3.1 用软件确定中断优先权 D 7 D 0 20H 磁 盘 纸 带 输 入 纸 带 穿 孔 打 印 机 输 出 CRT显 示 电 源 故 障 磁 带 键 盘 输 入
8.3.1用软件确定中断优先权 判优:一个外设有中断请求,都可向CP发INTR,CPU响应 后把中断寄存器的状态读入CPU,设该状态为1,表示该位有中 断中请,通过软件查询,查到那位为1,转到相应中断服务程序。 程序段如下: 1、屏蔽法(P269) IN AL. 2 0H TEST AL,80H;}D7有请求 JNZ II1 有,转对应中断服务程序 TEST AL 40H D6有请求? JNZ II2 ;有,转对应中断服务程序 先查谁,谁的优先权高
8.3.1 用软件确定中断优先权 判优: 一 个 外 设 有 中 断 请 求,都可向CPU发INTR, CPU响应 后把中断寄存器的状态读入C P U,设该状态为1,表示该位 有 中 断 申 请,通 过 软 件查询,查到那位为1,转到相应中断服务程序。 程序段如下: 1、屏蔽法(P269) IN AL,20H TEST AL,80H ;D7有请求? JNZ II1 ;有,转对应中断服务程序 TEST AL,40H ;D6有请求? JNZ II2 ;有,转对应中断服务程序 ┇ 先查谁,谁的优先权高
8.3.1用软件确定中断优先权 ■2、移位法(P269) XOR ALAL IN AL. 2 0H RCL AL. 1 JC PWS RCL AL. 1 JC DISK 先移位到C标志的优先权高
8.3.1 用软件确定中断优先权 2、移位法(P269) XOR AL,AL IN AL,20H RCL AL,1 JC PWS RCL AL,1 JC DISK ┇ 先移位到C标志的优先权高
8.3.2用硬件确定中断优先权 ■编码器和比较器硬件组成的优先权排队电路 IB A INTR香 比较器 InTR < BBB 优先 CPU数据总线 & 权寄 存器 优先权失效信号 图8-7编码器和比较器硬件组成的优先权排队电路
8.3.2 用硬件确定中断优先权 编码器和比较器硬件组成的优先权排队电路 … 1 ≥ INTR 0 INTR 7 } 优先权编码组 中断输入 … & 1 图8-7 编码器和比较器硬件组成的优先权排队电路 & 2 A>B 比较器 A2 A1 A0 B2 B1 B0 优先权失效信号 1 ≥ 去CPU INTR 优先 CPU数据总线 权寄 存器