收藏 分享(赏)

微机原理第8讲-中断.ppt

上传人:知足长乐 文档编号:1227401 上传时间:2018-06-19 格式:PPT 页数:119 大小:953KB
下载 相关 举报
微机原理第8讲-中断.ppt_第1页
第1页 / 共119页
微机原理第8讲-中断.ppt_第2页
第2页 / 共119页
微机原理第8讲-中断.ppt_第3页
第3页 / 共119页
微机原理第8讲-中断.ppt_第4页
第4页 / 共119页
微机原理第8讲-中断.ppt_第5页
第5页 / 共119页
点击查看更多>>
资源描述

1、,本章内容, 掌握中断技术的基本概念, 了解8086中断系统及其对各种类型中断的响应流程, 了解8259A中涉及到的有关概念, 掌握8259A的编程应用,8.1 中断系统的基本概念,一、什么叫中断?,中断示意图,日常生活中类似“中断” 的例子:,例1:门铃响时,放下手中正在做的事情,跑去开门,招待客人;客人走后,接着做原来的事情。,例2:教师讲课过程中,同学遇有疑问,不同理解之处,随时向老师提问。,二、应用中断技术的优点,1.实现CPU 与外设的并行工作,提高了 CPU 的效率。,查询方式的数据输入,中断方式的数据输入,二、应用中断技术的优点,1. 实现CPU 与外设的并行工作,提高了 CPU

2、 的效率。,2. 实现实时处理。,3. 实现故障处理。,三、中断源,引起中断的原因,产生中断请求的来源。,通常有以下几种:,1. 一般的I/O 设备,如键盘、打印机等。 2. 实时时钟。 3. 故障源。 4. 为了调试程序而设置的中断。(例如设置断点,单步运行等),四、中断系统的功能,计算机系统中,用于实现中断功能的硬件和软件的集合,称为中断系统。,中断系统应解决如下问题:,1. 中断请求信号的产生 ( 中断源如何申请中断?),CPU如何响应?(如何知道有中断请求? 是否有求必应?响应后的处理过程?),3. 中断优先权问题,4. 中断的具体服务,5. 中断服务完毕,如何返回原程序?,五、实现中

3、断优先权的方法,判断和确定中断源的中断优先权,可以采用软件和硬件两种方法。,当系统中有多个中断源存在时,若有几个中断源同时提出申请,CPU先响应谁? 当CPU正响应某一中断过程中,又有另外的中断源提出中断请求,CPU是否响应? 为此提出了中断优先权的概念。,1. 用软件确定中断优先权,优先权管理电路,1.用软件确定中断优先权,软件查询流程图,优先权管理电路, 采用软件查询方式的特点:, 询问的次序,即为优先权的次序。 硬件简单。 由查询转至相应的服务程序的时间长,尤其在中断源较多的情况。,2.硬件方式,2.硬件方式,1,六、8086CPU 响应外部中断的过程,CPU 在每一个指令周期的最后一个

4、总线周期的最后一个T状态采样INTR 或NMI 信号线。,下面以INTR 为例,说明8086 CPU 响应中断的过程。,讨论:,1. 为什么要在中断服务程序中执行STI 指令? 2. STI 指令在中断服务程序中的不同位置时,对CPU 处理中断有何影响?,七、小结,1. 实现断点地址的保护与恢复。2. 实现现状信息的保护。 3. 实现中断优先权的排队。 4. 实现中断的嵌套。,中断过程由计算机的中断系统,配合用户设计的中断服务程序来实现。中断应具备以下功能:,8.2 8086CPU的中断系统,一、中断类型,8086能处理256种中断,分为两大类:外部中断和内部中断。其中断分类如右图,8086的

5、中断分类,1. 外部中断 (硬件中断),(1) 非屏蔽中断 NMI (类型号为2),(2) 可屏蔽的中断INTR,高有效,CPU 是否响应,取决于 FR 中IF 的状态。常用于各种外设的中断。,2. 内部中断 (软件中断),通常由三种情况引起:,(1) INT n 指令中断 (n 为中断类型号),(2) 处理CPU 某些错误的中断, 除法错中断 (中断类型号为0) 溢出中断 (INTO) (中断类型号为4),(3) 为调试程序设置的中断,a 单步中断,当FR 中TF = 1时,每执行一条指令,CPU 产生类型为1 的单步中断。,b 断点中断,设置断点实际上是把指令“INT 3” 插入到程序中,

6、CPU 每执行到断点处的“INT 3” 指令,便产生类型为3 的中断。,二、中断优先级,8086 系统中,中断优先级的次序为:,三、中断向量表,CPU 响应中断后,如何得到中断服务程序的入口地址 (中断向量),转入到中断服务程序?8086CPU 通过建立中断向量表的方法解决。,中断向量 (中断服务程序入口地址) 在表中的地址 = 中断类型号 4,中断向量表,四、中断向量的装入,BIOS 负责01FH 共32个中断向量的装入。用户若想装入自己的中断向量到向量表中的,可用以下方法:,1. 用STOS 指令填空中断向量表,假设类型号为60H 的中断向量为,CLICLDMOVAX, 0MOVES, A

7、XMOV DI, 460H; DI 指向表中对应位置MOVAX, OFFSET_INTR; 取偏移地址STOSW; ALDI, AHDI+1 ;DI+2DI MOV AX, SEG_INTR; 取段基址STOSWSTI,SEG_INTR: OFFSET_INTR。,2. 利用MOV 指令写入中断向量,CLIMOVAX, 00HMOVES, AXMOVBX, 460H; BX 指向表中对应位置MOVAX, OFFSET_INTRMOVES:BX, AX; 装入编程地址MOVAX, SEG_INTRMOVES:BX+2, AX; 装入段基址,方法1,2由用户直接操作中断向量表,因此,要熟悉中断向量表的具体组织。,3. 利用DOS 功能调用“ INT 21H ” 的AH = 25 H 装入中断向量,MOVAL, 60H; 类型号ALMOVAH, 25H;功能号25HAHMOVDX, SEG_INTRMOVDS, DXMOVDX, OFFSET_INTR;DS:DX=中断向量INT21H,方法3由DOS功能调用具体实现,中断向量表对用户是透明的。,1. 取类型号; 2. 计算向量地址; 3. 根据向量地址查表,将偏移地址送IP,段基址送CS; 4. 转入中断服务程序,进行中断处理。,五、8086CPU 转入中断服务程序的过程,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑环境 > 环境科学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报