微机系统原理及接口技术应用课件

上传人:我*** 文档编号:141686399 上传时间:2020-08-11 格式:PPT 页数:50 大小:390KB
返回 下载 相关 举报
微机系统原理及接口技术应用课件_第1页
第1页 / 共50页
微机系统原理及接口技术应用课件_第2页
第2页 / 共50页
微机系统原理及接口技术应用课件_第3页
第3页 / 共50页
微机系统原理及接口技术应用课件_第4页
第4页 / 共50页
微机系统原理及接口技术应用课件_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《微机系统原理及接口技术应用课件》由会员分享,可在线阅读,更多相关《微机系统原理及接口技术应用课件(50页珍藏版)》请在金锄头文库上搜索。

1、第七章 中 断,6学时 7.1 中断概述 7.2 8086的中断系统 7.3 80X86系列高档微处理器的中断系统(了解) 7.4 80X86系列微机的硬中断控制逻辑,7.1中断概述,中断”,是指CPU在执行正常程序时,为处理一些紧急发生的情况,暂时中止当前程序,转而对该紧急事件进行处理,并在处理完后返回正常程序的过程。,CPU执行流程,中断系统,中断系统是微机中实现中断功能的各种软、硬件的总称。中断系统一般包括CPU内部相应的中断逻辑、接口中的中断控制电路及各类中断服务子程序,中断系统相关概念,可屏蔽中断 (INTR) 不可屏蔽中断 (NMI),外部中断 (硬件中断) 内部中断 (软件中断)

2、,(执行指令所引起的),中断源:引起中断的原因,或能够发出中断请求信号的外设 中断类型号:处理器对各类中断的中断源进行的统一编号N,N的取值范围是0255,、 、 、 、 、 MOV AH, 01 INT 21H CMP AL, 0Dh 、 、 、 、 、 PUSH AX 、 、 IRET,软件中断,中断系统相关概念,中断向量:中断向量即中断服务子程序的入口地址,也就是中断服务子程序的第一条指令在存储器中的存放地址。 中断优先级:在系统中多个中断源可能同时提出中断请求时,需要按中断的轻重缓急给每个中断源指定一个优先级别,这就是中断优先级。,中断系统相关概念,断点:是指CPU执行的现行程序被中断

3、时的下一条指令的地址,又称断点地址。,中断现场:是指CPU转去执行中断服务程序前的运行状态,包括CPU内部各寄存器、断点地址等。,中断嵌套:当CPU正在进行某一级别中断源的中断处理时,若有更高级别的新中断源发出请求,且新中断源满足响应条件,则CPU应中止当前的中断服务程序,保护此程序的断点和现场,转而响应高级中断。这种多级(重)中断的处理方式称为“嵌套”。,、 、 、 、 、 MOV AX, 0 ADD AX, DX MOV DI , AX 、 、 、 、 、 PUSH AX 、 、 IRET,地址1000:150H为断点,断点概念,中断系统相关概念,中断屏蔽:在某些情况下,CPU可能不对中断

4、请求信号作出响应或处理,这就是中断屏蔽。 中断屏蔽标志 系统在处理优先级别较高的中断请求时,不会理睬后来的级别较低的中断请求 。,中断处理过程,中断检测 CPU内部硬件自动完成 中断响应 CPU内部硬件自动完成 中断服务 中断服务是根据用户自行编制的指令顺序完成各项操作的。,程序中断与子程序调用的区别,子程序的执行是程序员事先安排好的(由调用子程序的指令转入);中断服务子程序的执行一般由随机的中断事件引发。 子程序的执行受到主程序或上层子程序的控制;中断服务子程序一般与被中断的现行程序无关。 不存在同时调用多个子程序的情况,因此子程序不需要进行优先级排队;而不同中断源则可能同时向CPU提出服务

5、请求。,中断系统的功能,一、实现中断及返回 中断源发出中断请求,CPU决定是否响应,若响应,则保护断点和现场,转入相应中断服务程序,中断服务结束后,恢复现场和断点,继续执行原程序。,非预料事件是指事件发生的时间无法预知,即中断源何时产生中断不确定,是随机的。,中断源产生中断的随机性,使中断服务程序的执行也具有随机性,即何时执行中断服务程序不是在程序中安排好的。,中断系统的功能,二、能实现优先权排队 按各中断请求的重要程度排列CPU响应的次序称为中断优先级。 即同时有多个中断请求到来时,CPU会首先响应和处理优先级别最高的中断请求。 中断优先级的实现可以用软件或硬件的办法。,中断系统的功能,三、

6、高级中断源能中断低级的中断处理 当CPU正在处理某个中断时,如果外部又有一个优先级别比本优先级别更高的中断请求,则可以实现中断嵌套。,中断嵌套过程示意图,中断嵌套必须具备的几个条件,1)第一级中断(已处于响应状态的原中断)的服务程序中,应在保护现场执行完毕后加上开放总中断(IF位置1)的指令; 2)新到来的中断应具有比原中断高的优先级,同级或低级均不能嵌套; 3)为保护各级中断服务程序的数据不被破坏,所有服务程序中均应有保护现场、恢复现场的指令; 4)每个中断服务程序末尾必须有IRET指令以示结束,从而返回被中断的程序地址处,CPU响应外中断的条件,1具备中断请求触发器 2具备中断屏蔽触发器

7、3开放总中断 4在现行指令结束后响应中断,7.2 8086的中断系统,8086的中断源(8086微型机有两类中断): 1、可屏蔽硬件中断INTR、不可屏蔽硬件中断NMI、 2、软件中断(包括自动产生中断)。各类中断源如图所示。,根据8086内部的中断逻辑电路,各种中断源的优先权顺序为:被0除中断软件中断INTO NMI INTR 单步中断。,CPU内的中断逻辑,中断类型码,一、中断类型码:8086可以处理256个中断请求。每个中断请求均对应于唯一固定的类型码。被0除类型码是0,单步为1; NMI为2;断点中断为3,溢出中断为4;等。,IBM-PC/XT中断类型号的功能分配,中断向量和中断向量表

8、,二、中断向量:中断服务程序的入口地址,包括段地址(存放于高字单元)和偏移地址(存放于低字单元)。 三、中断向量表:存放中断向量的表格。位于内存空间的最低地址(000H-3FFH),长度1KB,可容纳256类中断向量(25641024)。,中断向量和中断向量表,中断响应与处理,中断类型码的获取 NMI、断点中断、溢出中断、被0除、单步中断等类型码固定。 INT N软中断类型码由立即数N给出。 外部中断读取中断类型码。 获得中断类型码后,如何进入中断服务程序? 1、中断类型码乘以4,得中断向量表的向量首址指针。 2、取中断向量:把向量表指针所指的4个连续字节的内容作为中断服务程序的入口地址,分别

9、送给IP和CS。 3、按新的CS:IP指针执行中断服务程序。,(FLAG),0150,1000,中断响应过程,中断响应周期时序,CPU从引脚/INTA 发中断响应信号, 接口芯片接收此信号,把中断类型号准备好;同时ISRi=1,IRRi=0。 CPU再从引脚/INTA 发中断响应信号, 接口芯片接此信号后,将中断类型号送至数据总线上; CPU从数据总线获取中断类型号。,8086的中断过程,8086系统中有关INTR中断的处理(外部中断源的管理),多个外部硬件中断源共用一条INTR线时,要在程序中采取一定措施或用外部硬件解决中断源的优先权排列和多级中断的嵌套等。 中断优先权(优先级):中断优先权

10、就是为每个中断源所确定的响应级别。 软件排序:CPU响应中断后,在程序中用查询的方法判定外设的中断请求。,外部中断源的管理,INTR中断接口电路 1、中断请求触发器 2、中断屏蔽触发器 3、数据缓冲器 4、端口地址译码电路,外部中断源的管理,软件查询排序的特点是:查询次序即优先权排序,最先被询问的故障具有最高优先级;节省硬件;修改方便,只要改变程序中的查询次序即可;由询问转至真正的服务程序入口时间长,在中断源较多的情况下执行速度较慢。 硬件排序:采用优先权的编码电路,对各种外部硬中断进行排队。还有菊花链式硬件排序电路,以及中断控制集成芯片8259A,软件法排序的接口电路示意图,软件查询程序流程

11、图,软件法排序程序,IN AL,20H;读中断触发器的状态 TEST AL,80H;有电源故障请求? JZ B1;没有,继续查询 JMP PWF;转至电源故障程序入口 B1:TEST AL,40H;有磁盘请求吗? JZ B2;无,继续查询 JMP DISS;转至磁盘服务程序 B2:TEST AL,20H;有磁带请求吗? JZ B3;无,继续查询 JMP MT;转至磁带服务程序 B3:TEST AL,10H;有CRT请求? JZ B4;无,继续查询,软件法排序程序,JMP CRT;转至CRT显示服务程序 B4:TEST AL,08H;有纸带请求? JZ B5;无,继续查询 JMP PIN;转至纸

12、带输入服务程序 B5:TEST AL,04H;有纸带穿孔请求吗? JZ B6;无,继续查询 JMP PH;转至纸带穿孔服务程序 B6:TEST AL,02H;是键盘输入中断请求吗? JZ POUT;否,转打印中断服务程序 JMP KEYIN;转至键盘输入中断服务程序 POUT: ,硬件优先权排序电路,用户中断服务子程序的装载,将用户中断服务子程序的入口地址放入中断向量表的相应位置的过程称为用户中断服务子程序的装载 。 常用的装载方法有三种,用户中断服务子程序的装载,1、定义数据段与向量表重合 DATA SEGMENT AT 0000H ; 定义数据段(DS) = 0000H ORG n * 4

13、 ; n为中断类型号 SUB DW noffset ; 中断服务程序的入口IP DW nseg ; 中断服务程序的入口CS DATA ENDS,用户中断服务子程序的装载,2、程序初始化部分用数据传送指令 DATA SEGMENT AT 0000H ORG n * 4 SUB DW 2DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA MOV AX, DATA MOV DS, AX MOV SUB, noffset ; 中断服务程序的入口IP MOV SUB + 2, nseg ; 中断服务程序的入口CS,用户中断服务子程序的装载,3、DO

14、S中断功能调用 INT 21H置中断向量功能 功能号 25H AH 中断号 n AL 入口参数 中断服务程的入口地址CS:IP DS:DX INT 21H 注: 中断服务程的入口地址CS:IP值将放入 中断向量表的n*4处连续4个存储单元中,用户中断服务子程序的装载,INT 21H读中断向量功能 功能号 35H AH 中断号 n AL INT 21H 出口参数 ES:BX 注: ES:BX中为中断号n的中断服务程 的入口地址CS:IP值,用户中断服务子程序的装载,3、DOS中断功能调用 ;-保存原向量- MOV AL, N; AL中预置中断类型号 MOV AH, 35H; AH中预置功能号35

15、H INT 21H; 调用DOS中断将取中断向量到ES:BX中 PUSHES; 保存原中断向量的段基址部分 PUSH BX; 保存原中断向量的段内偏移量部分,用户中断服务子程序的装载,;-设置新向量- PUSHDS MOVAX, SEG INTSUB MOV DS, AX; DS中预置段基址 MOV DX, OFFSET INTSUB; DX中预置偏移量 MOV AL, N; AL中预置中断类型号 MOV AH, 25H; AH中预置功能号25H INT 21H; 调用DOS中断将用户中断向量置入中断向量表 POPDS ,置中断向量例,某中断服务程序的 中断号为40H,中断 务程序的入口地址

16、CS:IP =3500H:4830H 用INT 21H功能置 中断向量到中断向 量表中,MOV AH, 25H MOV AL, 40H PUSH DS 40H*4 MOV AX, 3500H MOV DS, AX MOV DX, 4830H INT 21H POP DS,中断服务程序,保护现场:保存CPU内部各寄存器的内容,以便在服务程序中可以使用这些寄存器而不致破坏原信息。 开总中断:将IF置1,使得在该中断服务期间CPU仍然能够响应更高级的中断请求。 具体处理:进行用户的中断服务。 关总中断:将IF位清0。 恢复现场:将入栈保护的各寄存器内容依次弹出,恢复进入中断服务程序前的状态。 开总中断:再次将IF位置1,使返回之后能够再响应。 中断返回:执行一句IRET指令,CPU将

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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