微机原理 汇编语言与接口技术 韩晓茹ch07 微型计算机的中断系统

上传人:E**** 文档编号:89274125 上传时间:2019-05-22 格式:PPT 页数:87 大小:1.04MB
返回 下载 相关 举报
微机原理 汇编语言与接口技术 韩晓茹ch07 微型计算机的中断系统_第1页
第1页 / 共87页
微机原理 汇编语言与接口技术 韩晓茹ch07 微型计算机的中断系统_第2页
第2页 / 共87页
微机原理 汇编语言与接口技术 韩晓茹ch07 微型计算机的中断系统_第3页
第3页 / 共87页
微机原理 汇编语言与接口技术 韩晓茹ch07 微型计算机的中断系统_第4页
第4页 / 共87页
微机原理 汇编语言与接口技术 韩晓茹ch07 微型计算机的中断系统_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《微机原理 汇编语言与接口技术 韩晓茹ch07 微型计算机的中断系统》由会员分享,可在线阅读,更多相关《微机原理 汇编语言与接口技术 韩晓茹ch07 微型计算机的中断系统(87页珍藏版)》请在金锄头文库上搜索。

1、第七章 微型计算机的中断系统,7.1 中断系统的基本概念,7.1.1 中断的基本概念 所谓中断,是指CPU执行程序时,突然有某个外部或内部事件发生,请求CPU处理,CPU暂停当前正在执行的程序,转去执行处理该事件的服务程序,服务完毕后,CPU返回原来程序被中断的地方继续执行。这个过程称为中断。,CPU执行流程,1、基本概念,中断源:引起中断发生的内部或外部事件 中断类型号: 每个中断源唯一的一个编号 断点:该程序中即将执行,由于中断没有被执行的那条指令的地址称为中断断点,简称断点。包括段地址和偏移地址。 中断服务程序:处理中断事件的程序段,2、中断系统的功能,中断系统是指实现中断功能的软、硬件

2、的集合。具有以下功能: 能实现中断响应、中断服务及中断返回。 能实现中断优先权排队。 能实现中断嵌套。,3、计算机系统的性能,并行处理能力 实现CPU和多个外设同时工作,提高CPU效率。 实时处理能力 计算机应用于实时控制时,对外部事件及时响应 故障处理能力 及时处理故障,不影响其他程序的运行。 多任务运行 在操作系统的调度下,运行 多个任务,任务间交替运行,(1)中断请求:中断源发出中断请求信号 (2)中断判优:对申请中断的中断源进行优先级判别的过程称为中断判优。 (3)中断响应:从请求有效到转中断服务程序入口地址这一段时间。实现程序的切换。 (4)中断服务(处理):中断程序的主体。 (5)

3、中断返回:使原来在中断响应过程中的断点地址和标志寄存器中的内容,依次从堆栈中弹出,以便继续执行原来的程序。,4、中断过程,(1)中断请求,可由内部标志或指令引起;也可由外部电路引起,(2)中断判优,有多个中断源同时提出中断请求时,CPU应按照中断源的轻重缓急按次序响应中断。先响应优先级高的请求,后响应优先级低的请求。 软件查询优先权排队法 执行程序按照顺序逐位查询中断请求寄存器的状态,查询的顺序决定了优先级的高低 硬件优先权判别法 菊花链法将每个接口串连起来,离CPU近的优先级高 “向量”优先权排队电路由专用的中断控制器管理优先级,(3)中断响应,从CPU接收到中断请求,到转去执行中断服务程序

4、之间的过程就是中断响应。 CPU实现从当前正在执行的程序到中断服务程序的切换 由硬件完成关中断、保存断点、取中断服务程序入口地址等一系列中断响应操作。,(4)中断服务(处理),1保护现场 保护现场实质:将重要信息压入堆栈。 2开中断 目的:开放所有可屏蔽中断,以允许高级中断嵌套 3执行中断服务程序 中断服务程序主体-中断的目的。 4关中断 目的:关中断以确保可靠有效地恢复现场。 5恢复现场 恢复现场实质:将原来压入堆栈中的内容弹出来。,7.2 8086CPU中断系统,指令中断INTn,异常中断 包括: 失效异常 陷井异常 中止异常,微 处 理 器 中 断 逻 辑,IRQ0 IRQ1 IRQ2

5、: IRQ15,不可屏蔽中断,可屏蔽 中断 外部中断 控制器,7.2.1 8086中断的分类,1、外部中断,不可屏蔽中断(NMI):中断类型号为2号 含义:不能用软件来控制是否允许中断的一种外部中断。 常见NMI中断有: (1)电源掉电 (2)存储器检验出错 (3)总线奇偶错等。 可屏蔽中断(INTR): 含义:可用软件控制是否允许中断的外部中断。即STI使IF=1,允许中断;CLI使IF=0,禁止中断。 常见INTR中断有: 所有外部设备中断如键盘、鼠标、打印机、显示器、声卡、CD-ROM等。,2、内部中断,内部中断是由于8086内部执行程序出现异常引起的程序中断 利用内部中断,微处理器为用

6、户提供了发现、调试并解决程序执行时异常情况的有效途径 例如,ROM-BIOS和DOS系统利用内部中断为程序员提供了各种功能调用,内部中断的中断类型号已定, 除法错中断,在执行除法指令时,若除数为0或商超过了寄存器所能表达的范围,则产生一个向量号为0的内部中断,称为除法错中断 例如:,mov bl,0 idiv bl ;除数BL0,产生除法错中断,mov ax,200h mov bl,1 div bl ;商200H,不能用AL表达 ;产生除法错中断, 指令中断,在执行中断调用指令INT n时产生的一个向量号为n(0 255)的内部中断,称为指令中断 其中向量号为3的指令中断比较特别(生成一个字节

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

8、级,高至低顺序依次为: 内部中断(除单步中断)NMI中断INTR中断单步中断。 除单步中断外,任何内部中断的优先级都高于外部中断。,7.2.2中断向量表,含义: 中断服务程序的入口地址(CS:IP) 组成及格式: 共4个字节,段地址及偏移地址。,段地址,偏移地址,返回,1、中断向量,2、中断向量表,含义: 存放256个中断向量的内存区域。即存放中断服务程序入口地址的内存区域称为中断向量表。 中断向量表大小:1KB 中断向量表地址范围:00000H003FFH。,中断向量地址,中断类型号n与其对应的中断向量存放起始地址之间的关系是: 起始地址=4n;末地址=4n+3 即中断向量在4n 4n+3指

9、示的内存单元中。 示例,实方式下的中断服务程序入口地址求法(例子),【例】假设在实地址方式下,内存00140H到00147H中存放的数据如右图所示,求51H号中断的中断服务程序入口地址。 解:,(1)求中断向量存放的首地址和末地址 由中断类型号51H可知中断向量存放的 首地址51H4=144H(左移两位方法) 末地址51H4+3=147H (2)从首末地址对应的4个单元找出中断向量,即 00144H到00147H中内容就是51H号中断的中断向量 对照中断向量组成及格式可知 段地址=4540H,偏移地址=3430H, 所以中断服务程序入口地址为 段地址16+偏移地址=45400H+3430H=4

10、8830H,求解,中断向量组成及格式,返回,3、中断向量的设置方法(1),DOS功能调用(21H)保存中断向量 AH=35H AL=中断类型号 INT 21H 返回时送ES:BX=中断向量 MOV AL, N MOV AH, 35H INT 21H ; 取原中断向量 PUSH ES PUSH BX,保存原中断向量,DOS功能调用(21H)设置中断向量 AH=25H AL=中断类型号 DS:DX=中断向量 INT 21H MOV AX, SEG INTRPROC MOV DS, AX MOV DX, OFFSET INTRPROC MOV AL, N MOV AH, 25H INT 21H,3、

11、中断向量的设置方法(1),通过传送类指令直接设置中断向量 MOV AX, 0 MOV ES, AX MOV BX, N*4 MOV AX, OFFSET INTRPROC MOV ES: BX, AX ; 偏移地址(N*4) MOV AX, SEG INTRPROC MOV ES: BX+2, AX ; 段地址(N*4+2) INTRPROC: IRET,3、中断向量的设置方法(2),7.2.3 8086对中断的响应,CPU响应中断必须满足如下条件: (1)CPU接收到中断请求; (2)没有DMA请求; (3)当前指令执行结束, (4)如果是INTR中断请求,CPU还必须开中断,即中断标志IF

12、=1。 响应条件满足后,进入中断响应周期,中断响应操作由硬件自动完成。8086CPU对不同类型的中断响应过程稍有不同,主要是获取中断类型号的过程不同。,可屏蔽中断的响应过程,(1) 处理器接到中断申请,处理完当前指令即进入响应周期。 (2) 第二阶段即中断响应周期,在其间CPU向外部中断控制器发送两个响应脉冲信号INTA。 第一个响应脉冲通知中断控制器,已经响应外部中断请求,让中断控制器提供中断类型号。第二个响应脉冲,CPU取走中断类型号。 (3) 将标志寄存器中的内容压入堆栈保护,然后清IF和TF标志,以禁止INTR引脚以及陷井和单步中断。 (4) 将断点地址压入堆栈(CS:EIP或CS:I

13、P)。 断点地址:指中断时CPU待执行的下一条指令对应的逻辑地址。 顺序:先压入断点地址CS,后压入偏移地址EIP(或IP)。 (5) CPU得到中断类型号码n后,通过中断类型号与中断服务程序入口地址的关系找出该类型对应的段基地址和偏移地址,从而转入中断服务程序入口地址。完成中断响应任务。,7.3 中断控制器8259A,一、8259A主要功能: (1)8位可编程中断控制器,又称优先级控制器 (2)处理8级向量优先级中断 (3)可提供中断类型号 (4)8259A芯片级联组成强大的中断管理系统(多至64级外部中断)。 (5)优先级方式可编程 (6)多级中断管理,7.3.1 8259A的 引脚信号,

14、与CPU相连的引脚 D7D0为8位双向的数据线 A0:端口选择信号 CS:片选信号 RD和WR:读/写控制信号 INTA:中断响应输入信号 INT:中断请求输出信号 与中断源相连的引脚 IRi:8个中断源中断请求端 级联扩展引脚 CAS0 CAS2 级联信号 SP/EN:从片/缓冲允许控制 (1)非缓冲时为输入:SP:1=主片, 0 =从片 (2)缓冲时为输出:EN:1CPU写,0CPU读,7.3.2 8259A的内部结构,中断请求寄存器IRR,功能:记录外部中断源的中断申请的状态。 状态:1对应引脚有中断请求且还未被响应 0对应引脚无中断请求或有但已经被响应,寄 存 器 位 引脚,中断优先权

15、分辨器PR,优先权分辨器PR用来确定存放在IRR中 各个中断请求信号对应中断源的优先级。 并总是选出当前最高优先中断源的中断申请通知控制逻辑,以便控制逻辑发送中断请求信号INT给CPU。,中断服务寄存器ISR,功能:记录外部中断源的中断申请被服务的状态。 状态:1对应引脚的中断请求已被响应(服务)且服务还没有结束。 0对应引脚的中断请求未被响应。,寄 存 器 位 引脚,中断屏蔽寄存器IMR,功能: 设置外部中断源的中断屏蔽状态。 状态: 1对应引脚的中断被屏蔽。 0对应引脚的中断未被屏蔽。 注意: 只有IMRi相应位为0且IF=1,CPU才有可能响应可屏蔽中断。,寄 存 器 位 引脚,数据总线

16、缓冲器,数据总线缓冲器是一个三态、双向的8位缓冲器,是8259A与CPU系统数据总线的接口。 数据总线缓冲器的主要功能有: (1) 通过数据总线缓冲器,CPU向8259A内部发送 命令。 (2) CPU接收8259A状态信息。 (3) 在中断响应周期,CPU从中获得中断类型号。,读/写逻辑,接收CPU送来的读/写控制信号、片选信 号以及地址选择信号,对内部各个寄存器 进行读写操作。,级联缓冲/比较器,级联缓冲/比较器在级联方式的主从结构 中(两个以上的8259A组成的系统),用 来存放和比较系统中各8259A的从设备标 志(ID)。,控制逻辑,控制逻辑是控制8259A内部各个部件的主要逻辑电路。 主要功能包括: (1) 根据CPU对8259A编程设定的工作方式来产生内部控制信号。 (2) 如果中断请求寄存器IRR有未被屏蔽的位,则控制逻辑对应于当时最高优先

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

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

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