微机原理与接口技术(第二版) 教学课件 ppt 作者 毛红旗 刘敏 杨洪亮 第08章 中断系统

上传人:E**** 文档编号:89416001 上传时间:2019-05-24 格式:PPT 页数:47 大小:633KB
返回 下载 相关 举报
微机原理与接口技术(第二版) 教学课件 ppt 作者 毛红旗 刘敏 杨洪亮 第08章 中断系统_第1页
第1页 / 共47页
微机原理与接口技术(第二版) 教学课件 ppt 作者 毛红旗 刘敏 杨洪亮 第08章 中断系统_第2页
第2页 / 共47页
微机原理与接口技术(第二版) 教学课件 ppt 作者 毛红旗 刘敏 杨洪亮 第08章 中断系统_第3页
第3页 / 共47页
微机原理与接口技术(第二版) 教学课件 ppt 作者 毛红旗 刘敏 杨洪亮 第08章 中断系统_第4页
第4页 / 共47页
微机原理与接口技术(第二版) 教学课件 ppt 作者 毛红旗 刘敏 杨洪亮 第08章 中断系统_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《微机原理与接口技术(第二版) 教学课件 ppt 作者 毛红旗 刘敏 杨洪亮 第08章 中断系统》由会员分享,可在线阅读,更多相关《微机原理与接口技术(第二版) 教学课件 ppt 作者 毛红旗 刘敏 杨洪亮 第08章 中断系统(47页珍藏版)》请在金锄头文库上搜索。

1、第8章 中断系统,8.1 中断的基本概念 8.2 PC系列机的中断结构 8.3 可编程中断控制器8259A,第8章 中断,8.1 中断的概念 中断是指计算机的CPU在执行主程序时,收到了外部的或内部的中断请求,因而暂时中止主程序的执行,转去执行一段预先编制好的中断服务程序来处理这一中断请求,待处理完毕之后,又返回主程序接着被中断处继续执行,这样的一个过程就称为中断。,主程序,IRET,中断服务程序,断点,中断请求,中断请求可以来自处理器外部的中断源,也可以由处理器执行指令引起: 例如执行INT n指令。,中断的过程,中断源,引起中断的原因或者发出中断请求的来源,称为中断源。 根据中断源是来自C

2、PU内部还是外部,将中断源分为两类:外部中断源和内部中断源,对应的中断称为外部中断和内部中断。,8.2 PC系列机的中断结构,8086/8088的中断源,1、外部中断,外部中断是由于8088外部提出中断请求引起的程序中断 利用外部中断,微机系统可以实时响应外部设备的数据传送请求,能够及时处理外部意外或紧急事件 外部中断的原因是处理器外部随机产生的,所以是真正的中断(Interrupt) 内部中断的原因是处理器执行程序出现异常,所以经常被称为异常(Exception), 非屏蔽中断,通过非屏蔽中断请求信号向微处理器提出的中断请求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为非屏

3、蔽中断 8088的非屏蔽中断的向量号为2,非屏蔽中断请求信号为NMI 非屏蔽中断主要用于处理系统的意外或故障。例如: 电源调电前的数据保护 存储器读写错误的处理, 可屏蔽中断,外部通过可屏蔽中断请求信号向微处理器提出的中断,微处理器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断 8088的可屏蔽中断请求和响应信号分别是INTR和INTA*;由IF标志控制可屏蔽中断是否允许响应;向量号来自外部中断控制器 8088通常需要配合中断控制器8259A共同处理可屏蔽中断 可屏蔽中断主要用于主机与外设交换数据,IF控制可屏蔽中断的响应,2、 内部中

4、断,内部中断是由于8088内部执行程序出现异常引起的程序中断 利用内部中断,微处理器为用户提供了发现、调试并解决程序执行时异常情况的有效途径 例如,ROM-BIOS和DOS系统利用内部中断为程序员提供了各种功能调用,内部中断的中断向量号已定, 除法错中断,在执行除法指令时,若除数为0或商超过了寄存器所能表达的范围,则产生一个向量号为0的内部中断,称为除法错中断 例如:,mov bl,0 idiv bl ;除数BL0,产生除法错中断,mov ax,200h mov bl,1 div bl ;商200H,不能用AL表达 ;产生除法错中断, 指令中断,在执行中断调用指令INT n时产生的一个向量号为

5、n(0 255)的内部中断,称为指令中断 其中向量号为3的指令中断比较特别(生成一个字节的指令代码:11001100),常用于程序调试,被称为断点中断,例如:DEBUG.EXE调试程序的运行命令G设置的断点,就是利用INT 3指令实现的, 溢出中断,在执行溢出中断指令INTO时,若溢出标志OF为1,则产生一个向量号为4的内部中断,被称为溢出中断 例如:,mov ax,2000h add ax, 7000h ;2000H7000H9000H,溢出:OF1 into ;因为OF1,所以产生溢出中断,单步中断,若单步中断TF为1,则在每条指令执行结束后产生一个向量号为1的内部中断,称为单步中断,例如

6、:DEBUG.EXE调试程序的单步命令T就利用单步中断实现对程序的单步调试,3中断优先级,系统将所有的中断划分为四级,以0级为最高,依次降低,各级情况如下: 0级-除单步中断以外的所有内部中断 1级-不可屏蔽中断 2级-可屏蔽中断 3级-单步中断 不同级别的中断同时申请时,CPU根据级别高低依次决定响,8.2.2 中断向量和中断向量表,中断类型号 在8086系统中,共设有256类中断,每类中断分配到一个8位的编号,这个编号就叫做中断类型号。 中断类型号的范围: 00FFH(0255D) 8086获取中断类型号的方法为: 可屏蔽中断(硬件中断):由中断控制器8259A提供。 软件中断:在中断指令

7、INT n 中,参数n即为中断类型号 除上面二种情况外,其余中断都是固定类型号:除法错(类型0)、单步中断(类型1)、断点中断INT 3(类型3)、溢出中断INTO(类型4),不可屏蔽中断(类型2)。,8.2.2 中断向量与中断向量表,中断服务程序的入口地址叫做中断向量,将全部中断向量集中在一张表中,这张表叫做中断向量表。 PC机中断向量表的位置固定在内存的最低1K字节中,即00000H003FFH处。每一个中断服务程序的入口地址在表中占4字节:前2字节为偏移量,后2字节为段基址。 为了便于在中断向量表中找到中断向量,通常设置一种指针,来指出中断向量存放在中断向量表中的具体位置; 存放中断向量

8、的4个存储单元的最低地址称为中断向量表地址指针。 计算方法:中断向量表地址指针=中断类型号4,根据中断类型号找到中断向量的过程,如果已知一个中断类型号,则通过两次地址转换(中断类型号到中断向量表地址;中断向量表地址到中断处理程序入口地址)后,可到达中断服务程序。,8086中断向量表,8.3 可编程中断控制器8259A,8.3.1 8259A的引脚信号和内部结构 8259A芯片是由美国Intel公司研制生产的,功能强大。它可以对中断源进行优先级判别、可以向CPU提供中断矢量号n,还可以根据中断源需要屏蔽中断请求。一片8259A可以管理8级中断源,并且可通过级联扩展,最多可用9片管理64级中断。

9、8259A可编程中断控制器,主要用于管理外部中断请求。,1. 8259A的引脚,D0D7:双向数据总线。CPU用来传送命令,接收状态和读取中断向量。,CAS0CAS2:级联总线,双向。主控8259A与从控8259A的连接线。主控时该总线为输出,从控时则为输入。,IR0IR7:外设中断请求线,输入。从外设送来的中断请求由这些引脚输入到8259A。在边沿触发方式中IR输入应有由低到高的上升沿,此后保持为高,直到被响应。在电平触发方式中,IR输入应保持高电平直到被响应为止。,SP/EN:主从定义/缓冲器方向引脚,是一个双功能引脚。在非缓冲方式中用作输入线,指定8259A为主控制器(=1)或是从控制器

10、(=0)。在缓冲方式中用作输出线,控制缓冲器的接收/发送。 INTA:中断响应引脚,输入。接收CPU发送来的2个中断响应脉冲,第一个用来通知8259A,其中断请求已被响应;第二个作为读操作信号,读取8259A所提供的中断类型号。 CS:片选信号,输入,低电平有效。注意,不论该信号是否有效,都不会影响对8259A读取中断类型号。,WR:写信号,输入,低电平有效。 RD:读信号,输入,低电平有效。 A0:地址线,输入。该引脚与片选、读/写信号联合使用,作为对8259A内部端口寻址。 Vcc和GND:8259A的+5V电源和地线。,2. 8259A的内部结构,8259的工作原理,8.3.2 8259

11、A的工作方式,中断优先方式与中断嵌套,中断嵌套方式 在中断处理过程中允许被更高优先级的事件所中断称为中断嵌套。8259A有两种中断嵌套方式: 普通全嵌套方式(默认方式) 一中断正被处理时,只有更高优先级的事件可以打断当前的中断处理过程而被服务。 特殊全嵌套方式 一中断正被处理时,允许同级或更高优先级的事件可以打断当前的中断处理过程而被服务。 注: 特殊全嵌套仅用于多个8259A级连时的主8259A,而不能用于从属8259A或单8259A系统。,D.,主8259A,IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7,一般嵌套方式: 从片的INT被主片封锁,故更高级别的IR0-IR2中

12、断也无法得到响应,特殊嵌套方式: 因主片不封锁从片的INT,故级别高的IR0-IR2中断可以得到响应。(但IR3-IR7仍被本从片封锁),C.,假定IR7发生中断,并获得服务,一般嵌套方式:IR4的中断被服务时,这些中断将被封锁。,B.,特殊嵌套方式:IR4的中断被服务时,只封锁IR5-IR7。,A.,INT,E.,从8259A,INT,IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7,一般全嵌套方式与特殊全嵌套方式的区别,去CPU,3. 结束中断处理方式,什么是8259A的中断结束?,8259A利用中断服务寄存器ISR判断: 某位为1,表示正在进行中断服务; 该位为0,就是该中

13、断结束服务。,3. 结束中断处理方式,自动中断结束方式 普通中断结束方式 配合全嵌套优先权方式使用 当CPU用输出指令往8259A发出普通中断结束EOI命令时,8259A就会把所有正在服务的中断中优先权最高的ISR位复位 特殊中断结束方式 配合循环优先权方式使用 CPU在程序中向8259A发送一条特殊中断结束命令,这个命令中指出了要清除哪个ISR位,4. 连接系统总线的方式,缓冲方式 将8259A通过总线驱动器和数据总线相连接。一般用于较大的系统中,比如采用多片8259A级联组成的主从式系统,多采用这种方式。 8259A的数据线需加缓冲器予以驱动 8259A把SP*/EN*引脚作为输出端,输出

14、允许信号,用以锁存或开启缓冲器 非缓冲方式 将8259A直接与系统数据总线相连接。一般用于小系统中,比如只有一片8259A,就可采用非缓冲方式。 SP*/EN*引脚为输入端 若8259A级连,由其确定是主片或从片,8.3.3 8259A的初始化命令字,初始化8259A必须从ICW1开始 写ICW1意味着重新初始化8259A 写入ICW1后,8259A的状态如下: 清除ISR和IMR(全0); 将中断优先级设成初始状态:IR0最高,IR7最低; 设定为一般屏蔽方式; 采用非自动中断结束方式; 状态读出逻辑预置为读IRR。,ICW1初始化字,LTIM: 触发方式 =1 高电平触发 =0 上升沿触发

15、 SNGL: 级连控制 =1 单片 =0 级连 IC4: ICW4控制 =1 要写ICW4 =0 不写ICW4(默认ICW4为全0),A0 D7 D6 D5 D4 D3 D2 D1 D0 0 x x x 1 LTIM x SNGL IC4,ICW2中断向量码,T7T3: 中断向量码的高5位 T2T0: 最低3位为中断源的序号IRn 000111分别对应IR0IR7 由8259A根据中断源的序号自动填入 例如: 若ICW2命令字为48H,则IR0的中断向量码为48H,IR7的中断向量码为4FH,等等。,A0 D7 D6 D5 D4 D3 D2 D1 D0 1 T7 T6 T5 T4 T3 0 0

16、 0,ICW3级连控制字,主片的级联控制字 Si=1 对应IRi线上连接了从片,A0 D7 D6 D5 D4 D3 D2 D1 D0 1 S7 S6 S5 S4 S3 S2 S1 S0,从片的级联控制字 ID2ID0 标识码,说明本从片连接到主片的哪个IR引脚上。 000111分别对应IR0IR7。,A0 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 0 0 0 ID2 ID1 ID0,示例,ICW3级连控制字(续),ICW3必须与主从片的连接关系一致: 例如,主片的IR4与从片的INT线连接,则主片的ICW3=10H,从片的ICW3=04H。 中断响应时,主片通过级连线CAS2-CAS0送出被允许中断的从片标识码,各从片用自己的ICW3与CAS2-CA

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号