微机原理与应用 教学课件 ppt 作者 曹玉珍 中国机械工业教育协会 组编 微机原理与应用-第7章

上传人:E**** 文档编号:89501112 上传时间:2019-05-26 格式:PPT 页数:27 大小:719.50KB
返回 下载 相关 举报
微机原理与应用 教学课件 ppt 作者 曹玉珍 中国机械工业教育协会 组编 微机原理与应用-第7章_第1页
第1页 / 共27页
微机原理与应用 教学课件 ppt 作者 曹玉珍 中国机械工业教育协会 组编 微机原理与应用-第7章_第2页
第2页 / 共27页
微机原理与应用 教学课件 ppt 作者 曹玉珍 中国机械工业教育协会 组编 微机原理与应用-第7章_第3页
第3页 / 共27页
微机原理与应用 教学课件 ppt 作者 曹玉珍 中国机械工业教育协会 组编 微机原理与应用-第7章_第4页
第4页 / 共27页
微机原理与应用 教学课件 ppt 作者 曹玉珍 中国机械工业教育协会 组编 微机原理与应用-第7章_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《微机原理与应用 教学课件 ppt 作者 曹玉珍 中国机械工业教育协会 组编 微机原理与应用-第7章》由会员分享,可在线阅读,更多相关《微机原理与应用 教学课件 ppt 作者 曹玉珍 中国机械工业教育协会 组编 微机原理与应用-第7章(27页珍藏版)》请在金锄头文库上搜索。

1、微机原理及其应用 第7章中断,机械工业出版社 http:/ 电子制作:邓蓓,7.1 中断概念,7.2 中断处理过程,7.3 8086/8088的中断系统,目录,内容简介:中断的一些基本知识;8086/8088中断系统;并以8259A中断控制器为例,讲述中断控制器的结构与寄存器编程。,7.4 可编程中断控制器8259A及其应用,第7章 中断,机械工业出版社 http:/ 电子制作:邓蓓,7.1 中断的概念,7.1.1 中断的定义与作用 当CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理

2、该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。中断的执行过程又和子程序的概念十分相似,如图7-2所示。,子程序与中断的区别:相同点都是独立于主程序的一小段分支程序,最终都须返回主程序;异同点分支程序的入口点不同。子程序只能在固定的位置执行,而中断程序可以在中断条件允许的条件下,在主程序中任意的位置执行。,机械工业出版社 http:/ 电子制作:邓蓓,中断功能: 1实现CPU与外部设备的速度匹配与并行工作 2实现实时信息监测和控制 3实现故障检测和自动处理 7.1.2 中断源 引起CPU中断的原因或发出中断请求的来源,称为中断源。中断源通常有以下几种: 1外设中断源 2故障

3、中断源 3软件中断源 4为调试而设置的中断源,第7章 中断,机械工业出版社 http:/ 电子制作:邓蓓,中断处理工作是一个软硬件协调工作的过程,整个工作过程可分为五个子过程,包括:中断请求、中断判优、中断响应、中断处理和中断返回五个过程来完成。 7.2.1 中断请求 当中断源需要CPU为其服务时,可以向CPU发出中断请求。中断请求可以是由中断指令或是某些特定条件产生,也可以是通过CPU引脚向CPU发出中断请求信号而产生。一般需要具备两个条件:一是外设已处于准备就绪状态;二是系统允许该外设发出中断申请。 中断请求随中断源类型不同而出现不同的特点: 1外部中断源的中断请求 当外部设备要求CPU为

4、它服务时,需要发一个信号给CPU进行中断请求。 8086由两根外部中断请求引脚INTR和NMI供外设向其发送中断请求信号用,这两根引脚的区别在于8086响应中断的条件不同。 8086在执行完每条指令后都要检测中断请求输入引脚,看是否由外设的中断请求信号。根据优先级,8086先检查NMI引脚再检查INTR引脚。,第7章 中断,7.2 中断处理过程,机械工业出版社 http:/ 电子制作:邓蓓,(1)可屏蔽中断请求。 INTR引脚上的请求称为可屏蔽中断请求,这种请求8086是否响应取决于标志寄存器的IF标志位的值。IF1为允许标志,8086可以响应INTR上的中断请求;IF0 为禁止中断,8086

5、将不理会INTR上的中断请求。 (2)不可屏蔽中断请求。 NMI引脚上的中断请求称为不可屏蔽中断请求,这种中断请求CPU必须响应,它不能被IF标志位所禁止。不可屏蔽中断请求通常用于处理应急事件,在微机中,RAM奇偶校验错、I/O校验错和协处理器8087运算错等都能够产生不可屏蔽中断请求。,第7章 中断,机械工业出版社 http:/ 电子制作:邓蓓,2内部中断源的中断请求 内部中断请求不需要使用CPU的引脚,它由CPU在下列情况下自动触发:一是在系统运行程序时,内部某些特殊事件发生(如:除数为0,运算溢出或单步跟踪及断点设置等);二是CPU执行了软件中断指令INT n。所有的内部中断都是不可屏蔽

6、的,即CPU总是响应而不受IF限制。 微机中完整的中断系统的结构如图7-4所示。,第7章 中断,机械工业出版社 http:/ 电子制作:邓蓓,7.2.2 中断判优 当多个中断源产生中断时,CPU首先要判断为谁服务?即中断优先级控制问题。在x86系统中,通常将中断判优与中断源识别合并在一起进行处理。 中断优先级控制可能遇到两种情况:对同时产生的中断,应首先处理优先级别较高的中断,若优先级别相同,则按先来先服务的原则处理;对非同时产生的中断,低优先级别的中断处理程序允许被高优先级别的中断源所中断,即允许中断嵌套。,第7章 中断,图7-5 用软件查询方式的接口电路,确定中断优先级的方法可采用以下三种

7、方法。 1软件查询方法 当CPU检测到中断后,用软件查询以确定是哪些外设发出中断申请,并判断它们的优先权。典型的优先权接口电路如图7-5所示。,机械工业出版社 http:/ 电子制作:邓蓓,上图八个外设的中断请求信号接到同一个中断请求锁存器,将各个外设的中断请求信号相“或”后,作为INTR信号,只要其中有一个中断请求,都可以向CPU发出INTR信号,当CPU响应中断后,把中断请求锁存器的状态读入CPU,逐个检查它们的状态,根据相对应的位判断出相应的设备,则转到相应的服务程序的入口。其流程图如图7-6所示。,第7章 中断,机械工业出版社 http:/ 电子制作:邓蓓,2简单硬件方式(菊花链电路)

8、 采用简单硬件方式是在每个外设对应的接口上连接一个逻辑电路,这些逻辑电路构成一个链,称为菊花链,由菊花链来控制中断回答信号的通路。见图7-7所示。,3专用硬件方式 该方式是引入可编程的中断控制器对多个外部中断源进行管理。其中断控制器为8259A,由它先对多路外部中断请求进行排队,在有中断请求冲突时,根据预先设定的优先级决定允许哪一个中断源向CPU发送中断请求。,第7章 中断,机械工业出版社 http:/ 电子制作:邓蓓,7.2.3 中断响应 CPU在每条指令的最后一个时钟周期结束后检测INTR或NMI信号,有无中断请求。若查询到有中断请求,并且在允许响应中断的情况下,系统自动进入中断响应周期,

9、由硬件完成关中断、保存断点、取中断服务程序的入口地址等一系列操作,而后转向中断服务程序执行中断响应。 80868088中断的响应,其特点如下: 1对内部中断请求,CPU在当前指令执行到最后一个总线周期的最后一个T状态予以响应,响应后接着就转向执行中断服务。 2对NMI的中断请求,CPU在当前指令周期的最后一个T状态对其采样,若为1则进入中断响应总线周期。 3对经INTR来的外部中断请求,CPU首先检查IF是否等于1,当IF1则允许响应中断,当前指令结束后进入中断响应周期;然后关闭中断,以便中断响应周期不被其他的中断干扰,接着由硬件电路保护断点和当前状态,最后寻找中断服务程序的入口地址。若IF0

10、则对INTR脚上的中断请求不予响应。 80868088响应中断的次序为: 软件中断NMI端中断INTR断中断单步中断。,第7章 中断,机械工业出版社 http:/ 电子制作:邓蓓,7.2.4 中断处理 中断处理就是执行中断服务程序中规定的操作。 中断服务程序,就是为实现中断源所期望达到的功能而编写的处理程序。 中断服务程序一般由四部分组成:保护现场、中断服务、恢复现场和中断返回。保护现场是为了在主程序被打断时有些寄存器存放着有用的内容,为了返回后不破坏主程序的断点处的状态,应将有关寄存器的内容压入堆栈保存。中断服务部分是整个中断服务程序的核心,负责完成与外设的数据交换。恢复现场是指中断服务程序

11、完成后,把原先压入堆栈的寄存器内容再弹回到CPU相应的寄存器中。 7.2.5 中断返回 中断返回是由执行中断服务程序中的中断返回指令IRET来完成。执行该条指令后将使CPU把堆栈内保存的断点信息弹出到IP、CS和FLAG中,保证被中断的程序从断点处能够继续往下执行。,第7章 中断,机械工业出版社 http:/ 电子制作:邓蓓,7.3 8086/8088的中断系统,80868088中断系统中,每个中断都有一个类型码,供CPU进行识别,该系统可处理256种不同类型的中断。中断可以由外部设备启动,也可以由软件中断指令启动,有些情况CPU可自身启动。,表7-1部分中断类型码及功能,7.3.1 中断类型

12、 为了更好地区分不同的中断源,在微机系统中,为每个中断源规定了一个中断类型码,8086/8088中断系统一共可处理256种不同的中断类型,其类型码用8位二进制表示,范围为0-256。,第7章 中断,机械工业出版社 http:/ 电子制作:邓蓓,7.3.2 中断矢量 每个中断源在内存中都对应有一个中断服务子程序,供CPU相应中断后执行,因此每个中断服务程序都需要有惟一确定的入口地址。每个服务程序入口地址有四个字节,占四个存储单元,前两个字节为中断服务程序入口地址中的偏移量,后两个字节为入口地址中的段地址。通常把每个中断服务子程序的入口地址称为一个中断矢量,它由段地址CS和段内偏移量IP两部分组成

13、。 80868088系统中,在内存00000H003FFH 1K字节中存放256个中断矢量,这些连续依次按照一定规律排列存放的中断矢量形成一个表,称为中断矢量表,如图7-8所示。 表中每个中断矢量的序号n(0255)就是相应中断源的中断类型码。,第7章 中断,机械工业出版社 http:/ 电子制作:邓蓓,例1:某中断源的中断类型号n为40H,中断服务程序的入口地址为标号INT-PM,设置中断矢量的程序段如下。 CLI ;关中断 MOV AH,25H ;25H功能调用 MOV AL,40H ;中断类型号40H送入AL MOV DX,SEG INT-P ;入口段基址送入DS MOV DS,DX ;

14、 MOV DX,OFFSET INT-PM;入口偏移地址送入DX INT 21H ;中断调用 STI ;开中断 INT-PM: ;中断服务程序入口 IRET ;中断返回,为了避免不必要的错误,在DOS功能调用INT 21H中提供了25H设置中断矢量,35H获取中断矢量。 (1)25H功能调用 系统功能25H调用提供的入口参数为: (AH)= 25H (DS:DX)= 中断服务程序入口地址 (AL)= 中断类型号,第7章 中断,机械工业出版社 http:/ 电子制作:邓蓓,7.4 可编程中断控制器8259A及其应用,Intel系列的8259A芯片是一个中断控制器,并且是可编程的,即可以由软件设置

15、该中断控制器的工作模式,在使用中非常灵活方便。8259A可编程中断控制器主要特点如下。 (1)具有8级优先权控制,可连接8个中断源; (2)通过级联可扩展至64级优先权控制,可连接64个中断源; (3)每一级中断均可屏蔽或允许; (4)在中断响应周期,可提供相应的中断矢量号; (5)具有固定优先权、循环优先权、完全嵌套、特殊嵌套、一般屏蔽、特殊屏蔽、自动结束和非自动结束中断等多种工作方式,可通过编程进行选择。,第7章 中断,机械工业出版社 http:/ 电子制作:邓蓓,7.4.1 8259A引脚 8259A是28个引脚的双列直插式芯片,其引线如图7-9所示。 D7D0 双向三态数据线。 RD读信号。 WR写信号。 (4) INT 该引脚与CPU的INTR端相连,8259

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

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

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