- 7
- 0
- 约1.32万字
- 约 80页
- 2019-12-02 发布于湖北
- 举报
第7章 中断系统和中断控制器 7.1 中断概述 7.1.1 中断概念 中断的出现,会带来以下好处。 (1)同步操作:允许多个外设同时工作 (2)实现实时处理:外设在任何时间发出中断请求,要求cpu处理 (3)故障处理 2 中断源 (1)一般的输入、输出设备:如键盘、行打印机等。 (2)数据通道中断源:如磁盘、磁带等。 (3)实时时钟: 在控制中,常要遇到时间控制,若用前面介绍的用CPU执行一段程序来实现延时的方法,则在这段时间内,CPU不能干别的工作,降低了CPU的利用率。 (4)故障源 (5)为调试程序而设置的中断源 3 中断系统的功能 (1)实现中断响应、保护断点及中断服务和中断返回 7.1.2 中断优先级管理 1 用软件查询确定中断优先权 7.1.3中断处理过程 五个步骤: 中断请求 中断判优(中断源识别) 中断响应 中断服务 中断返回 (一)中断请求 1、CPU用INTR引脚和NMI引脚接收硬件中断请求信号。 2、中断请求信号应保持到中断被处理为止; 3、CPU响应中断后,中断请求信号应及时撤销。 4、对于软件中断源,在CPU内部由中断指令或程序出错直接引发中断。 (二)中断标志 1、中断允许标志 在CPU的标志寄存器中的IF标志。表示是否可以响应外设的中断请求。通常用1来表示允许。 在8086/8088系统中可以用CLI和STI指令来设置IF,禁止或允许来自INTR可屏蔽中断请求引脚的中断申请。 2、中断请求标志 对应每个外设有一位,用来记录外设的中断请求状态。 有请求时置1,中断处理完后清0。 三)中断屏蔽 有些硬件中断源的请求可以根据IF标志决定是否响应,而有些硬件中断源的请求需要一定被响应。 在8086/8088系统中,INTR是可屏蔽中断请求引脚;NMI是不可屏蔽的中断请求引脚。 在PC机系统中,外设中断源通过8259A连到CPU的INTR脚。在8259A内部有8位的中断申请寄存器和8位的中断屏蔽寄存器,可以对应于8个外设的中断申请和中断屏蔽。 (四)中断嵌套 在CPU的处理外部中断的时候,如果有更高优先级的中断请求,再转去处理高优先级的中断。 在PC机中,可以中断嵌套。 (五)断点与返回地址 CPU在每条指令执行的最后一个时钟周期检测中断请求,如果响应中断的话,转去执行中断处理程序,程序被中断的地方称为“断点”。 断点处的指令是中断处理结束后,返回时恢复执行的第一条指令的地址称为“返回地址”。 7.2 8086/8088中断系统 8086的中断系统采用中断向量机制,能够处理256个中断,用中断向量号0 ~ 255(0H~FFH)区别 中断根据其中断源是产生于CPU内部还是外部可分为两:内部中断和外部中断 外部中断 1.可屏蔽中断 2.非屏蔽中断 ② 溢出中断INTO(中断类型号为4)。 CPU进行带符号数的算术运算时,若发生了溢出,则标志位OF=1,若此时执行INTO指令,会产生溢出中断,打印出一个错误信息,结束时不返回,而把控制权交给操作系统。若OF=0,则INTO不产生中断,CPU继续执行下一条指令。INTO指令通常安排在算术指令之后,以便在溢出时能及时处理。例如: ADD AX,BX INTO ;测试加法的溢出 (3) 中断指令INT n引起的中断(中断类型号为n) 程序设计时,可以用INT n指令来产生软件中断,中断指令的操作数n给出了中断类型号,CPU执行INT n 指令后,会立即产生一个类型号为n的中断,转入相应的中断处理程序来完成中断功能。 2.硬件中断(外部中断) 8086/8088 CPU有两条外部中断请求线NMI (非屏蔽中断)和INTR(可屏蔽中断)。 (1) 非屏蔽中断NMI(中断类型号为2) 整个系统只有一个非屏蔽中断,它不受 IF标志位的屏蔽。出现在NMI上的请求信号是上升沿触发的,一旦出现,CPU将予以响应。非屏蔽中断一般用于紧急故障处理。 (2) 可屏蔽中断INTR (中断类型32?255) 请求信号从INTR引脚送往CPU,高电平有效,受IF标志位屏蔽,IF=0时,对于所有从INTR引脚进入的中断请求,CPU均不予响应; 另外,也可以在CPU外部的中断控制器(8259A)中以及各个I/O接口电路中对某一级中断或某个中断源单独进行屏蔽。 当外设的中断请求未被屏蔽,且 IF=1,则 CPU 在当前指令周期的最后一个T状态去采样INTR引脚,若有效,C
原创力文档

文档评论(0)