计算机硬件第7章_中断课件

上传人:我*** 文档编号:138588453 上传时间:2020-07-16 格式:PPT 页数:59 大小:381KB
返回 下载 相关 举报
计算机硬件第7章_中断课件_第1页
第1页 / 共59页
计算机硬件第7章_中断课件_第2页
第2页 / 共59页
计算机硬件第7章_中断课件_第3页
第3页 / 共59页
计算机硬件第7章_中断课件_第4页
第4页 / 共59页
计算机硬件第7章_中断课件_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《计算机硬件第7章_中断课件》由会员分享,可在线阅读,更多相关《计算机硬件第7章_中断课件(59页珍藏版)》请在金锄头文库上搜索。

1、第7章 中断技术,2020/7/16,2,7.1 中断技术概述,7.1.1 中断的基本概念 什么是中断? 在CPU正常运行程序时,由于内部或外部某个非预料事件的发生,使CPU暂停正在运行的程序,而转去执行处理引起中断事件的程序,然后再返回被中断了的程序,继续执行。这个过程就是中断。,2020/7/16,3,CPU执行流程,2020/7/16,4,7.1.2 中断的分类,中断源引起中断的原因,或发出中断申请的来源。 中断源有: I/O设备,如键盘,CRT,打印机等 数据通道,如磁盘,磁带等 (1)外部中断源 实时钟,如外部所需的定时电路等 故障源,如掉电等 CPU指令执行产生的异常 (2)内部中

2、断源 执行INT软件中断指令,2020/7/16,5,中断分类,(1) 内部中断软件中断,由CPU执行软中断指令引起。 INT 21H (2)外部中断硬件中断,由外部中断源向CPU提出中断请求而引起。 外部中断又可分为: 可屏蔽中断(INTR引脚)可以在CPU内部被屏蔽,CPU可以控制这种中断响应或不被响应。 不可屏蔽中断(NMI引脚)中断请求不能在CPU的内部被屏蔽掉,它一经提出CPU必须响应.,2020/7/16,6,1000:150H,、 、 、 、 、 MOV AX, 0 ADD AX, DX MOV DI , AX 、 、 、 、 、 PUSH AX 、 、 IRET,CPU在执行此

3、指令时, 某中断源发申请中断; CPU在执行完该指令后, 转去执行中断子程,地址1000:150H为断点,断点概念:,2020/7/16,7,1000:150H,、 、 、 、 、 MOV AH, 01 INT 21H CMP AL, 0Dh 、 、 、 、 、 PUSH AX 、 、 IRET,用指令调用中断程序,软件中断 用指令 调用中断程序,2020/7/16,8,7.1.3 中断系统的功能,中断系统的功能 中断处理 发现中断请求 响应中断请求 ISP 中断返回 中断控制 中断排优 中断嵌套,2020/7/16,9,7.1.4 中断处理过程,基本过程: 中断请求,中断判优,中断响应,中断

4、处理,中断返回。 P273, 图7.4,2020/7/16,10,CPU响应中断的条件, 外设通过接口向CPU发出请求信号: 在接口中设置 中断请求触发器 中断屏蔽触发器 CPU开中断请求信号才能进入CPU 当前指令执行完方可响应 STI IF=1 两种情况下,CPU自动关中断: 上电和复位后 响应中断后 必须在进入中断服务程序后用指令开中断,以实现中断嵌套。,2020/7/16,11,CPU响应中断(中断处理)过程, 自动关中断 IF=0, TF=0 自动保护断点(入栈),转中断服务子程序 服务 保护现场(入栈) 子程 中断服务 在适当处开中断 序 恢复现场(出栈) 中断返回自动恢复FR,断

5、点 开/关中断 指令:STI IF=1 , 允许中断 CLI IF=0 , 禁止响应,2020/7/16,12,中断源的识别,7.1.5 中断优先权,问题1:系统有多个中断请求,CPU如何识别中断源?,解答:中断查询,2020/7/16,13,第7章:中断查询接口,2020/7/16,14,中断优先权排队,第7章:中断优先权(续1),问题2:有多个中断同时请求, CPU如何应对?,解答1:链式优先权排队电路 解答2:优先权编码电路,2020/7/16,15,第7章: 中断优先权中断源识别和排优,给每个中断源指定一个优先权,称为中断优先权 中断源可能有多个,而CPU只有一条中断请求线 当多个中断

6、源同时发出中断请求时,CPU需识别中断源 根据优先权排列: 同时申请,CPU响应优先权高的 高的申请可打断低的服务(中断嵌套) 排优方法:(1)软件排优 (2)硬件排优,2020/7/16,16,第7章:软件排优(软件查询),- 各中断源的优先权主要由软件安排 需简单的硬件电路,P275 图7.6 只要任一个外设有中断请求(“1”状态), INTR=1,CPU便可响应中断。 在中断服务子程序中:查询程序按照优先级 “高低”顺序检测各外设状态。,2020/7/16,17,第7章 硬件排优,-利用专门的硬件电路或中断控制器对各中断源的优先权进行安排 1. 硬件排优电路 P277 图7.8 说明:

7、在链式电路中,排在链最前面的中断源优先权最高,即由其在链中的位置决定。 “高级”封闭“低级” 2. 专用芯片可编程的中断控制器,2020/7/16,18,中断嵌套,第7章:中断优先权(续2),问题3:中断处理过程中, 又有中断提出请求,怎么办?,2020/7/16,19,7.2 8086/8088中断系统,7.2.1 8086/8088中断结构 256个中断源,每个对应一个类型码 00-FFH。 (0255) 按中断源的不同,分类: 内部中断(软件中断) 外部中断(硬件中断) P278 图7.9,2020/7/16,20,第7章:硬件中断,指外部芯片通过 CPU的INTR引脚或NMI引脚 发出

8、中断申请引起的中断。 当INTR上有高电平信号 当NMI上有上升沿信号,2020/7/16,21,第7章: 1. 非屏蔽中断,由NMI引脚引起的中断,称非屏蔽中断。 当NMI引脚上产生上升沿信号,CPU必须响应此中断请求,即NMI引脚上的中断请求不受IF标志的控制。 IF不能屏蔽NMI引脚上的中断请求。 中断类型码为2。 系统中只允许有一个非屏蔽中断。 用于处理重大故障或紧急情况,如掉电、紧急停机。,2020/7/16,22,第7章: 2. 可屏蔽中断,由INTR引脚引起的中断,CPU在允许的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中断响应信号INTA# ,称可屏蔽中断。 CPU是否

9、响应INTR引脚上的中断请求取决于IF标志: IF=1,CPU响应INTR引脚上的中断请求 IF=0,CPU不响应INTR引脚上的中断请求 即当IF=0时,将INTR引脚上的中断申请屏蔽 中断类型码(向量号)来自外部中断控制器 通常需要配合中断控制器8259A共同处理可屏蔽中断 可屏蔽中断主要用于主机与外设交换数据,2020/7/16,23,第7章:中断标志IF的状态,IF0:可屏蔽中断不会被响应 关中断、禁止中断、中断屏蔽 系统复位,使IF0 任何一个中断被响应,使IF0 执行指令CLI,使IF0 IF1:可屏蔽中断会被响应 开中断、允许中断、中断开放 执行指令STI,使IF1 执行指令IR

10、ET恢复原IF状态,明 确 IF 标 志 的 状 态 是 关 键,2020/7/16,24,第7章:软件中断内部中断,指CPU执行某些特殊操作或由INT指令引起的中断 被零除操作或OF=1时执行INTO指令引起 使用DEBUG中的单步或断点设置操作引起 执行INTn 指令引起 例如,ROM-BIOS和DOS系统利用内部中断为程序员提供了各种功能调用,2020/7/16,25,第7章:软件中断,1. 类型码 04 (1)除法出错中断 0型中断 (2) 单步中断 1型中断 (3) 溢出中断 4型中断 (4) 断点中断 3型中断 2. 指令中断 n型中断,2020/7/16,26,第7章: 除法出错

11、中断 0型中断,在执行除法指令DIV 或IDIV时,若除数为0或商超过了寄存器所能表达的范围,则产生一个向量号为0的内部中断,称为除法错中断 例如:,mov bl,0 idiv bl;除数BL0,产生除法错中断,mov ax,200h mov bl,1 div bl;商200H,不能用AL表达 ;产生除法错中断,2020/7/16,27,第7章: (2)单步中断 1型中断,若单步中断TF为1,则在每条指令执行结束后产生一个向量号为1的内部中断,称为单步中断,例如:DEBUG.EXE调试程序的单步命令T就利用单步中断实现对程序的单步调试 DEBUG 中的T命令,置TF=1 通过PUSHF和POP

12、F设置TF(P279),2020/7/16,28,第7章: (3) 溢出中断 4型中断,若溢出标志OF为1,在执行溢出中断指令INTO时,则产生一个向量号为4的内部中断,被称为溢出中断 例如:,mov ax,2000h add ax, 7000h ;2000H7000H9000H,溢出:OF1 into;因为OF1,所以产生溢出中断,2020/7/16,29,第7章: (4) 断点中断 3型中断,程序中设置断点,运行到断点处,程序就转移去执行一个断点中断服务子程序。 用于程序调试 INT 3 单字节指令 指令代码:11001100 DEBUG.EXE调试程序的运行命令G设置的断点,就是利用IN

13、T 3指令实现的,2020/7/16,30,第7章:(5)指令中断 n型中断,在执行中断调用指令INT n时产生的一个向量号为n(0 255)的内部中断,称为指令中断 INT n 软件中断指令 类型码 说明: 内部中断的类型码由内部(指令或预定)提供 除单步外,不能用软件禁止(不受IF影响) 服务处理用户按排 除单步外,优先级比硬件中断高,2020/7/16,31,7.2.2 中断向量表,CPU响应中断后,如何转入各个中断服务处理程序? 如何从中断类型码(n)转换成中断子程序的入口地址 中断向量表,2020/7/16,32,中断向量表,中断向量中断处理子程序的入口地址。 最多有256个中断向量

14、 一个中断向量,4个字节 前2个字节 IP(偏址) 后2个 字节CS(段址) 在内存的最低1k字节(0段的003FFH)区域建立一个中断向量表。,2020/7/16,33,中断向量表,中断向量表 P280 图7.10 中断类型码的分类 专用中断(00H04H) 系统使用(如PC-DOS)(05H3FH) 用户可用(40H0FFH) 类型码与中断向量所在位置的对应关系为: 中断向量的地址4中断类型码,2020/7/16,34,中断向量表,例如,给定中断类型码为 20H 中断向量存放的位置为: 0000H:0080H (420H=80H) 若:在00080H00083H 存放的值分别为10H、21

15、H、32H、45H, 20H号中断所对应的中断向量即中断处理程序的入口地址为4532H:2110H。即CS=4532H,IP=2110H。,2020/7/16,35,中断向量表,例如:中断类型码17H的中断处理子程序的起始地址为:1234:5670H 对应于该17H类型码的中断向量存放在0000:005CH(417H=5CH)开始的4个字节中。 0段的005CH005FH这4个单元中的值分别为70H、56H、34H、12H。,2020/7/16,36,7.2.3 中断响应过程,当中断源产生中断申请后,不论是内部中断、非屏蔽中断,还是可屏蔽中断,只要满足响应条件,在执行完当前指令后,CPU内部硬件会自动完成下列响应中断的过程:,2020/7/16,37,第7章: 内部中断响应过程,对于 专用中断 类型码,自动生成 INT n 指令 类型码 n 说明:有些中断服务程序是系统提供的,不需用户编写。,内部中断特点: 1. CPU不需要执行中断响应周期 2. 除单步外,不受IF影响 3. 没有随机性,2020/7/16,38,第7章: 外部中断响应过程,NMI非屏蔽中断 不受IF的限制,即不能用软件禁止 类型号 02H 中断优先级高于INTR 响应过程: 有效; CPU收到

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

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

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