微机原理与接口技术-第7章中断系统_17概要

上传人:今*** 文档编号:107567849 上传时间:2019-10-20 格式:PPT 页数:39 大小:219KB
返回 下载 相关 举报
微机原理与接口技术-第7章中断系统_17概要_第1页
第1页 / 共39页
微机原理与接口技术-第7章中断系统_17概要_第2页
第2页 / 共39页
微机原理与接口技术-第7章中断系统_17概要_第3页
第3页 / 共39页
微机原理与接口技术-第7章中断系统_17概要_第4页
第4页 / 共39页
微机原理与接口技术-第7章中断系统_17概要_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《微机原理与接口技术-第7章中断系统_17概要》由会员分享,可在线阅读,更多相关《微机原理与接口技术-第7章中断系统_17概要(39页珍藏版)》请在金锄头文库上搜索。

1、微机原理与接口技术,第7章 中断系统,2,主要内容,7.1 中断系统概述 7.2 8086CPU的中断系统 7.3 可编程中断控制器8259A 7.4 小结,7.1 中断系统概述,7.1.1 中断的基本概念 什么是中断? 与生活场景的比较,正在看书,电话铃响,接电话,继续看书,执行程序,事件发生,事件处理,继续执行程序,中断处理,中断请求及响应,实际场景,计算机,中断返回,1. 中断的定义,什么是中断? 让CPU挂起当前正在执行的程序,转去执行处理某一事件的操作。 什么是中断过程? CPU暂停执行原来的程序,转去执行处理特定事件的服务程序,处理结束之后,又返回到原来的程序,从断点开始继续往下执

2、行的全过程。,中断过程示意图7-1,中断嵌套,2. 中断源,引起CPU中断的事件中断源。例如: 外设请求输入输出数据,报告故障等 事件掉电、硬件故障、软件错误、非法操作、定时时间到等 中断源分为:外部中断、内部中断 内部中断:CPU内部执行程序时自身产生的中断 外部中断:CPU以外的设备、部件产生的中断,7,3. 中断服务程序,为完成中断源所期望的功能而编写的程序称为中断服务程序。 每一个中断都对应一个中断服务程序,计算机运行时,中断服务程序驻留在内存。 中断服务程序的第一条指令所在的地址(即入口地址)称为该中断服务程序的中断向量。 要调用中断服务程序,只需要将程序执行跳转到相应的中断服务程序

3、的入口地址。,8,4. 中断类型号,中断类型号为了区别不同的中断服务程序,分配给每个中断服务程序的唯一编号。 用户调用中断服务程序时,只要给出对应的中断类型号,计算机即可自动查表获得中断向量。 在8086/8088CPU中,中断系统能处理256种不同类型的中断。其中断类型号为00HFFH。,9,5. 中断优先权,系统中存在多个中断源,CPU必须设法找出发出中断请求的中断源中断识别 当出现多个中断源同时需要CPU处理的时候,CPU应该先响应谁?中断判优 这种响应中断的顺序,即各种中断源的优先权顺序。,10,7.1.2 中断处理系统,一个中断处理系统需要具备的功能有: 实现中断及返回 实现优先权排

4、队 多个中断源同时提出中断请求时,能找到优先权级别最高的中断源进行响应,处理完后,响应级别较低的中断源。 实现中断嵌套 当正在处理某个中断时,若有更高优先权的中断源发出中断请求,则CPU中断该中断服务程序,响应更高级的中断,待执行完后,再返回执行被中断的中断服务程序。,中断嵌套,主程序,中断嵌套示意图,主程序,中断源5处理程序,中断源3请求,中断源1请求,返回,返回,返回,中断源5请求,(假设中断源1n的优先级为从高到低),中断源3处理程序,中断源1处理程序,13,7.1.3 中断控制方式的优点,并行处理能力 实现了CPU和多个外部设备同步工作 实时处理能力 中断系统能处理实时要求 故障处理能

5、力 CPU出现意想不到的情况或故障,可以利用中断系统自动处理,而不用关机。,7. 2 8086的中断系统,与中断有关的控制线为:NMI、INTR、INTA# 8086系统的中断源 内部中断 除法溢出:类型号0,商大于目的操作数所能表达的范围时产生。 单步中断:类型号1,TF=1时产生 断点中断:类型号3,这是一个软中断 溢出中断:类型号4,软中断即INTO指令。 软件中断:即INT n指令,类型号n(0-255)。 外部中断 非屏蔽中断NMI:类型号2,不可用软件屏蔽,CPU必须响应它。 可屏蔽中断INTR:类型号由PIC提供。IF=1时CPU才能响应。,NMI,INTR,中断逻辑,软件中断指

6、令,溢出中断,除法错,单步中断,非屏蔽中断请求,中断控 制器 8259A PIC,8086/8088CPU内部逻辑,断点中断,8086/8088中断源类型,可 屏 蔽 中 断 请 求,n,4,3,0,1,2,中断源的识别,8086系统采用中断类型码来识别不同的中断源,每个中断源都有一个与它相对应的中断类型码 。 溢出、断点、除法溢出、单步、非屏蔽中断的类型码为固定值 软件中断的类型码由指令给出 可屏蔽中断的类型码由PIC给出,17,1. 内部中断,CPU中断 :CPU执行某些指令时出现错误或对标志寄存器的标志位进行设置而引发的中断。 除法错中断 中断类型号为0 单步执行中断 中断类型号为1 断

7、点中断 中断类型号为3 溢出中断 中断类型号为4 INTO:当CPU检测到溢出标志OF为1,且当前指令是INTO指令时,则立即引起溢出中断。 INT 4:如果直接执行软件中断指令INT 4,无论OF标志位如何,CPU都将会调用4型服务程序。,18,1. 内部中断,软中断 CPU执行在用户程序中安排的有定义的INT n指令而引发的中断。 软中断的中断类型号是在指令中直接给出的。软中断是在程序中安排而不是随机的。 在PC系列机器中,软件中断主要分为: BIOS中断 DOS中断,19,2. 外部中断(硬中断),硬中断是由来自CPU外部事件产生的中断,即由外部设备提出中断请求而产生的。硬中断的产生具有

8、随机性,何时产生中断,CPU预先并不知道。 在PC/AT系统中,硬中断由两片8259A中断控制器引入。,PC/AT系统硬件中断表,21,2. 外部中断(硬中断),1) 非屏蔽中断 (边缘触发) 非屏蔽中断NMI:不受中断允许标志IF的影响,它总是被CPU接受的。非屏蔽中断的优先权高于可屏蔽中断, 中端类型号为2。 2) 可屏蔽中断(电平触发的) 可屏蔽中断INTR:是否响应INTR的请求,取决于中断允许标志位IF的状态。只有当中断允许标志位IF为1时,CPU才能响应INTR的中断请求。如果IF为0,即使INTR端有中断请求信号CPU也不会响应。这种情况称为中断屏蔽。,22,3. 中断向量表,中

9、断向量是中断处理子程序的入口地址,每个中断类型对应一个中断向量。 中断向量表是在内存中00000到00400h开辟的一个区域,将每个中断服务程序的入口地址存放其中。共1KB,可以存放256个中断向量。 查表方法: 中断号*4=中断向量表地址 低16位偏移量 高16位代码段地址 例:INT 13H 入口地址 CS:IP=0210:045D,图 8086中断向量表,中断向量表的初始化,初始化将中断服务程序的入口地址放入向量表 例:中断类型码为48H的中断处理子程序的名字为int48h,编写程序段将该中断处理子程序的入口地址放入向量表。,中断向量表的初始化,CLI MOV AX,0 MOV DS,A

10、X MOV SI,48H*4 MOV AX,OFFSET int48h MOV SI,AX MOV AX,SEG int48h MOV SI+2,AX STI,26,4. 中断响应条件,向CPU发出中断请求 CPU处于开中断状态。 即IF标志为1。 CPU复位时,自动关中断,当CPU响应任何中断时,也立即自动关中断。在中断服务程序中用开中断指令 STI 开中断。 CPU在一条现行指令结束之后响应中断。,5. 中断处理过程,一个中断处理过程应该包含以下五个过程: (1)中断请求 (2)中断排队 (3)中断响应 (4)中断服务 (5)中断返回,1)中断请求,外设接口(中断源)发出中断请求信号,送到

11、CPU的INTR或NMI引脚; 中断请求信号:边沿请求,电平请求 例如,NMI为边沿请求,INTR为电平请求 中断请求信号应保持到中断被处理为止; CPU响应中断后,中断请求信号应及时撤销。 在8086/8088系统中,外设的中断要经过8259A可编程中断控制器(PIC)的排队判优后向CPU发出: (I/O接口) 8259A CPU(INTR),2)中断排队,中断源识别 中断源有很多,CPU必须识别是哪一个设备产生中断。识别中断源有两个方法: 软件查询。将中断信号从数据总线读入,用程序进行判别。 中断矢量法。由中断源提供中断类型号,CPU根据类型确定中断源。(8086/8088即采用此种方法)

12、,2)中断排队,中断判优 确定当前所有中断请求中优先级最高的中断源。 因为CPU一次只能响应一个中断,所以必须首先处理最紧急最重要的中断。 根据中断源的轻重缓急给予一个中断优先权级别,优先权级别最高的中断源将首先得到响应。 中断优先级的控制方法 硬件判优链式判优、并行判优(中断向量法) 软件判优顺序查询中断请求,先查询的先服务(即先查询的优先级别高) x86系统中,这项任务由8259A和CPU共同完成。,3)中断响应,CPU通过中断排队确定了要响应的中断源后,进入中断响应,自动完成以下步骤: 标志寄存器入栈 关中断;0 IF 保护断点,将正要执行的程序地址(CS:IP)入栈; 形成中断服务程序

13、入口地址。,3)中断响应(续),CPU中断响应时,要做下述三项工作: 向中断源发出INTA中断响应信号; 断点保护,包括FLAGS和CS、IP 。这主要是保证中断结束后能返回被中断的程序。 获得中断服务程序首地址(入口)。 中断类型码*4 =IP 中断类型码*4+2 =CS,33,8086硬件中断的时序,8086从INTA发出中断响应信号; 第一个总线周期用来通知外设,CPU准备响应中断,第二个总线周期接收外设发回的中断类型码,该类型码必须通过16位数据总线的低8位传送。,4)中断处理(中断服务),中断服务是指CPU执行中断服务程序。 中断服务程序应包括: 保护现场,CPU响应中断时自动保护断

14、点,寄存器则由程序员决定是否要入栈; 开中断,CPU响应中断时,自动执行关中断操作。要实现中断嵌套,必须在中断服务程序中开中断;,4)中断处理(中断服务),中断处理,对中断源作相应的处理,是中断服务程序的核心; 关中断,若中断服务程序设置了开中断,则此时应该关中断,以保证恢复现场的操作不被打断; 恢复现场,按后进先出的原则,PUSH和POP应配对使用; 中断返回,从堆栈中弹出断点,返回主程序。,5)中断返回,执行中断返回指令IRET IRET指令将使CPU把堆栈内保存的断点信息弹出到IP、CS和FLAG中,保证被中断的程序从断点处能够继续往下执行。,IPL,IPH,CSL,CSH,FLAGL,FLAGH,SP,IPL,IPH,CSL,CSH,FLAGL,FLAGH,SP,IP,CS,FLAG,进入中断服务程序时,中断返回后,(1)中断响应 (2)标志寄存器入栈 (3)关中断: 0 IF (4)保存断点: (CS:IP)入栈 (5)形成中断向量地址,转入相应的中断服务程序。 (6)保护现场 (7)中断处理 (8)恢复现场 (9)中断返回,总结:CPU中断响应及其处理过程,IServer PROC FAR PUSHA ;保护现场 STI;开中断 ;中断服务 CLI ;关中断 POPA ;恢复现场 IRET ;中断返回 IServer ENDP,作业,P174 1、2、7,

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

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

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