微机原理第8章-中断.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《微机原理第8章-中断.ppt》由会员分享,可在线阅读,更多相关《微机原理第8章-中断.ppt(119页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 有关中断的基本概念有关中断的基本概念 8259A可编程中断控制器可编程中断控制器 8086中断系统中断系统 8086CPU中断响应流程中断响应流程本章内容本章内容本章内容本章内容 掌握中断技术的基本概念 了解8086中断系统及其对各种类型中断的响应流程 了解8259A中涉及到的有关概念 掌握8259A的编程应用学习目的学习目的学习目的学习目的 8.1 中断系统的基本概念中断系统的基本概念一、什么叫中断?一、什么叫中断?一、什么叫中断?一、什么叫中断?中断申请主程序中断服中断服务程序务程序返回中断示意图所谓中断,是指这样一个过程:当CPU正在执行程序过程中,由于某一突突然然事件的发生,暂暂时时
2、中中止止正在执行的程序,转去处理突然发生的事件(执行中断服务程序),处理完毕,再再返返回回原来被中止的程序继续运行。日常生活中类似日常生活中类似“中断中断”的例子:的例子:例例1:门铃响时,放下手中正在做的事情,跑去开门,招待客人;客人走后,接着做原来的事情。例例2:教师讲课过程中,同学遇有疑问,不同理解之处,随时向老师提问。问题:请同学们列举类似问题:请同学们列举类似“中断中断”的例子。的例子。二、应用中断技术的优点二、应用中断技术的优点二、应用中断技术的优点二、应用中断技术的优点1.1.实实实实现现现现CPU CPU 与与与与外外外外设设设设的的的的并并并并行行行行工工工工作作作作,提提提
3、提高高高高了了了了 CPU CPU 的效率。的效率。的效率。的效率。NYREADY?输入状态信息输入数据查询方式的数据输入中断方式的数据输入外设请求中断 INTR有效主程序中断服务程序输入 数据外设准备数据二、应用中断技术的优点二、应用中断技术的优点二、应用中断技术的优点二、应用中断技术的优点1.实现实现CPU 与外设的并行工作,提与外设的并行工作,提高了高了 CPU 的效率。的效率。2.实现实时处理。实现实时处理。3.实现故障处理。实现故障处理。三、中断源三、中断源三、中断源三、中断源引起中断的原因,产生中断请求的来源。通常有以下几种:通常有以下几种:1.一般的一般的I/O 设备,如键盘、打
4、印机等。设备,如键盘、打印机等。2.实时时钟。实时时钟。3.故障源。故障源。4.为了调试程序而设置的中断。为了调试程序而设置的中断。(例如设置断点,单步运行等例如设置断点,单步运行等)四、中断系统的功能四、中断系统的功能四、中断系统的功能四、中断系统的功能计算机系统中,用于实现中断功能的硬件和软件的集合,称为中断系统。中断系统应解决如下问题:中断系统应解决如下问题:1.中断请求信号的产生(中断源如何申请中断?)2.CPU如何响应?(如何知道有中断请求?是否有求必应?响应后的处理过程?)3.中断优先权问题4.中断的具体服务5.中断服务完毕,如何返回原程序?五、实现中断优先权的方法五、实现中断优先
5、权的方法五、实现中断优先权的方法五、实现中断优先权的方法 判判断断和和确确定定中中断断源源的的中中断断优优先先权权,可可以以采采用用软件软件和和硬件硬件两种方法。两种方法。当系统中有多个中断源存在时,若有几个中断源同时提出申请,CPU先响应谁先响应谁?当CPU正响应某一中断过程中,又有另外的中断源提出中断请求,CPU是否响应是否响应?为此提出了中断优先权的概念。为此提出了中断优先权的概念。1.1.1.1.用用用用软软件确定中断件确定中断件确定中断件确定中断优优先先先先权权优先权管理电路三态 缓冲器 译 码锁 存 器INTRD7 D0A15A0中 断 源 A 中 断 源 B 中 断 源 CM/I
6、O1.用软件确定中断优先权用软件确定中断优先权软件查询流程图优先权管理电路三态 缓冲器 译 码锁 存 器INTRD7 D0A15A0中 断 源 A 中 断 源 B 中 断 源 CIOM在 中 断 服 务 中 读 入 请 求 状 态A 申 请?B 申 请?中 断 返 回为中断源A 服务的程序段YC 申 请?为中断源B 服务的程序段为中断源C 服务的程序段YY 采用软件查询方式的特点:采用软件查询方式的特点:询问的次序,即为优先权的次序。询问的次序,即为优先权的次序。硬件简单。硬件简单。由查询转至相应的服务程序的时间长,由查询转至相应的服务程序的时间长,尤其在中断源较多的情况。尤其在中断源较多的情
7、况。2.2.硬件方式硬件方式硬件方式硬件方式(1)若CPU 未处理任何中断,则“优先权失 效”信号为高,当任一中断源请求中断时,通过门2发出INTR 信号。128-3 优先权 编码器优先权 寄存器A B 比较器A2 A1 A0 B2B1B0比较失效 中断请求0 中断请求1 中断请求2 7D7 D0INTR 编码器和比较器的优先权排队电路(2)若CPU 正在进行中断处理,当某一中断源请求中断时,能否向CPU 发出INTR信号,受比较器的控制。2.硬件方式硬件方式128-3 优先权 编码器优先权 寄存器A B 比较器A2 A1 A0 B2B1B0比较失效 中断请求0 中断请求1 中断请求2 7D7
8、 D0INTR 编码器和比较器的优先权排队电路 1六、六、六、六、80868086CPU CPU 响应外部中断的过程响应外部中断的过程响应外部中断的过程响应外部中断的过程 CPU 在每一个指令周期的最后一个总线周期的最后一个T状态采样INTR 或NMI 信号线。下面以INTR 为例,说明8086 CPU 响应中断的过程。执行一条指令最后一个总线周期的最后一个T状态?有INTR?中断开放?(FR中的IF=1?)关中断(置FR中IF=0)断点地址(CS.IP)入栈FR 入栈识别中断源,转入相应中断服务程序保护现场中断服务处理恢复现场开中断STI(置FR中IF=1)中断返回IRET取下一条指令NoN
9、oNoYesYesYes讨论:讨论:1.为什么要在中断服务程序中执行STI 指令?2.STI 指令在中断服务程序中的不同位置时,对CPU 处理中断有何影响?七、小结七、小结1.实现断点地址的保护与恢复。实现断点地址的保护与恢复。2.实现现状信息的保护。实现现状信息的保护。3.实现中断优先权的排队。实现中断优先权的排队。4.实现中断的嵌套。实现中断的嵌套。中断服务2(高优先级)主程序中断服务1中断过程由计算机的中断系统,配合用户设计的中断服务程序来实现。中断应具备以下功能:INT n 指令 中断逻辑非屏蔽中断请求中断 控制系统(8259A)INT 3 指令INTO 指令单步 中断除数为 0中断
10、可屏蔽 中断请求NMI INTR硬件中断软件中断 8.2 8086CPU的中断系统的中断系统一、中断类型一、中断类型一、中断类型一、中断类型8086能处理256种中断,分为两大类:外部中断和内部中断。其中断分类如右图8086的中断分类1.1.外部中断外部中断外部中断外部中断 (硬件中断硬件中断硬件中断硬件中断)(1)非屏蔽中断非屏蔽中断 NMI (类型号为类型号为2)有效,不受FR 中IF 的影响,常用于处理系统的重大故障。(2)可屏蔽的中断可屏蔽的中断INTR 高有效,CPU 是否响应,取决于 FR 中IF 的状态。常用于各种外设的中断。2.2.内部中断内部中断内部中断内部中断 (软件中断软
11、件中断软件中断软件中断)通常由三种情况引起:(1)INT n 指令中断指令中断(n 为中断类型号为中断类型号)(2)处理处理CPU 某些错误的中断某些错误的中断 除法错中断 (中断类型号为0)溢出中断(INTO)(中断类型号为4)(3)为调试程序设置的中断为调试程序设置的中断a 单步中断当FR 中TF=1时,每执行一条指令,CPU 产生类型为1 的单步中断。b 断点中断设置断点实际上是把指令“INT 3”插入到程序中,CPU 每执行到断点处的“INT 3”指令,便产生类型为3 的中断。二、中断优先级二、中断优先级二、中断优先级二、中断优先级8086 系统中,中断优先级的次序为:系统中,中断优先
12、级的次序为:高低内部中断(除法错、INTO、INT n)NMIINTR单步中断三、中断向量表三、中断向量表三、中断向量表三、中断向量表 CPU 响应中断后,如何得到中断服务程序的入入口口地地址址(中中断断向向量量),转入到中断服务程序?8086CPU 通过建立中断向量表的方法解决。中中 断断 向向量量(中中断断服服务务程程序序入入口口地地址址)在在表表中中的的地地址址=中中断断类型号类型号 4中断向量表溢出中断0000 :0014 H 0000 :0013 H0000 :0010 H 0000 :000F H0000 :000C H 0000 :000B H0000 :0008 H 0000
13、:0007 H0000 :0004 H 0000 :0003 H0000 :0000 H类型5类型255供用户定义的中断(共224个)0000 :007 FH 0000 :007 EH0000 :03 FFHCS IPCS IPCS IPCS IPCS IPCS IPCS IP专用的中断(共5个)保留的中断(共27个)类型32 类型31类型0类型4类型3类型2类型1除数为 0 中断非屏蔽中断单步中断断点中断四、中断向量的装入四、中断向量的装入四、中断向量的装入四、中断向量的装入 BIOS 负责01FH 共32个中断向量的装入。用户若想装入自己的中断向量到向量表中的,可用以下方法:1.1.用用用
14、用STOS STOS 指令填空中断向量表指令填空中断向量表指令填空中断向量表指令填空中断向量表假设类型号为假设类型号为60H 的中断向量为的中断向量为CLICLDMOVAX,0MOVES,AXMOV DI,4 60H;DI 指向表中对应位置指向表中对应位置MOVAX,OFFSET_INTR;取偏移地址取偏移地址STOSW;ALDI,AHDI+1 ;DI+2DI MOV AX,SEG_INTR;取段基址取段基址STOSWSTISEG_INTR:OFFSET_INTR。2.2.利用利用利用利用MOV MOV 指令写入中断向量指令写入中断向量指令写入中断向量指令写入中断向量CLIMOVAX,00HM
15、OVES,AXMOVBX,4 60H;BX 指向表中对应位置指向表中对应位置MOVAX,OFFSET_INTRMOVES:BX,AX;装入编程地址装入编程地址MOVAX,SEG_INTRMOVES:BX+2,AX;装入段基址装入段基址 方方法法1,2由由用用户户直直接接操操作作中中断断向向量量表表,因此,要熟悉中断向量表的具体组织。因此,要熟悉中断向量表的具体组织。3.3.利用利用利用利用DOS DOS 功能调用功能调用功能调用功能调用“INT 21H”INT 21H”的的的的AH=25 H AH=25 H 装入中断向量装入中断向量装入中断向量装入中断向量MOVAL,60H;类型号类型号ALM
16、OVAH,25H;功能号功能号25HAHMOVDX,SEG_INTRMOVDS,DXMOVDX,OFFSET_INTR;DS:DX=中断向量中断向量INT21H 方方法法3由由DOS功功能能调调用用具具体体实实现现,中中断断向量表对用户是透明的。向量表对用户是透明的。1.取类型号;取类型号;2.计算向量地址;计算向量地址;3.根据向量地址查表,将偏移地址送根据向量地址查表,将偏移地址送IP,段基段基址送址送CS;4.转入中断服务程序,进行中断处理。转入中断服务程序,进行中断处理。五、五、五、五、80868086CPU CPU 转入中断服务程序的过程转入中断服务程序的过程转入中断服务程序的过程转
17、入中断服务程序的过程8086转入中断处理程序的过程1800HF000H00H 18H 00H F0HPUSH IRET例:执行INT21H 向量地址 21H 4 84H CPU IP CSMEM(4)(1)(2)(3)0 :0000H 0 :0084H 0 :0087H 0 :03FFH F000 :1800H中断向量表2.计算向量地址;计算向量地址;向量地址 21H 4 84H3.根据向量地址查表,将偏移地址送根据向量地址查表,将偏移地址送IP,段基址送段基址送CS;4.转入中断服务程序,进行中断处理。转入中断服务程序,进行中断处理。1.取类型号;取类型号;21H 六、六、8086CPU中断
18、响应流程中断响应流程内部中断?NMI?INTR?TF0?执行下条指令完成当前指令IF1?标志进栈保存TF,将IF、TF清0断点地址进栈查中断向量表,转中断服务程序保护现场中断服务恢复现场开中断,返回 中断响应流程第一个中断响应周期 AD7 AD0 浮空 第二个响应周期,取中断类型码YYYYNNNNYN内部中断?NMI?INTR?TF0?执行下条指令完成当前指令 IF1?第一个中断响应周期 AD7 AD0 浮空 第二个响应周期,取中断类型码AYYYYYNNNNNY标志进栈保存TF,将IF、TF清0断点地址进栈查中断向量表,转中断服务程序保护现场中断服务恢复现场开中断,返回A1.8086CPU各种
19、类型中断的优先级;各种类型中断的优先级;2.CPU响应响应INTR的条件;的条件;3.INTR与其它类型中断响应过程的异同。与其它类型中断响应过程的异同。请同学们总结:请同学们总结:内部中断?NMI?INTR?TF0?执行下条指令完成当前指令IF1?标志进栈保存TF,将IF、TF清0断点地址进栈查中断向量表,转中断服务程序保护现场中断服务恢复现场开中断,返回 中断响应流程第一个中断响应周期 AD7 AD0 浮空 第二个响应周期,取中断类型码YNYNYYNNYN 8.3 8259A 可编程中断控制器可编程中断控制器 在在微微机机系系统统中中,可可以以使使用用8259A 扩扩展展外外部部中中断断,
20、Intel 8259A 可可编编程程中中断断控控制制器器,主要有以下功能:主要有以下功能:3.在在中中断断响响应应周周期期,8259A 可可提提供供相相应应的的中中断类型号。断类型号。1.1片片8259A 能能管管理理8级级中中断断,通通过过级级联联用用9片片8259A可以构成可以构成64 级主从式中断系统。级主从式中断系统。2.每一级中断可以屏蔽或允许。每一级中断可以屏蔽或允许。4.可编程使可编程使8259A 工作在多种不同的方式。工作在多种不同的方式。一、一、一、一、82598259A A 的内部结构与引脚信号的内部结构与引脚信号的内部结构与引脚信号的内部结构与引脚信号 控制逻辑中断服务
21、寄存器 ISR优先权 电路 PR中断请求 寄存器 IRR中断屏蔽寄存器IMR读写控制 逻辑级联缓冲 比较器数据总线 缓冲器D0D7A0CAS0 CAS1 CAS2INTIR0 IR1 IR78259A内部逻辑框图1.数据总线缓冲器数据总线缓冲器 8位、双向、三态,是8259A与 CPU 之间的数据接口。D0D7直接与CPU 数据总线的低8位连结。2.读读/写控制逻辑写控制逻辑A0:常常与地址信号线A0相连。8259A的两个端口地址CPU 通常利用:OUT 指令,IN 指令,3.中断请求寄存器中断请求寄存器 IRR 8 位,若IRi 有效(“1”,),对应位置“1”,直到IRi 得到响应。因此,
22、因此,IRRIRR记录外中断源记录外中断源IRIRi i的请求信息。的请求信息。4.中断服务寄存器中断服务寄存器 ISR8位,当IRi得到响应时,对应位置“1”。ISR 记录正在处理的IRi,当中断嵌套中断嵌套时,可能多位置“1”。因此,因此,ISR记录记录CPU对对IRi的响应情况。的响应情况。5.中断屏蔽寄存器中断屏蔽寄存器 IMR8位,某位置“1”,对应IRi 禁止产生中断。因此,因此,IMR控制是否对控制是否对IRi进行屏蔽操作进行屏蔽操作。6.优先权电路优先权电路实现优先权的判断与处理,采用编码器和比较器电路,如下图所示。8259A中的中断优先权电路7.控制逻辑控制逻辑(1)由IRR
23、等情况,向8259A 其它部件发出控制信息。(2)向CPU 发出INT 信号,接收CPU 信号。8.级联缓冲级联缓冲/比较器比较器可以实现8259A的级联,扩展外中断。(1)CAS2、CAS1、CAS0 引脚 主主8259A:CAS2CAS0 输出,输出被输出,输出被 响应的从片的标志码。响应的从片的标志码。问问题题:8259A级级联联时时,如如何何确确定定主主8259A的的IRi接接有有从从片片,从从片片接接入入主主8259A的的IRi?8259A 从片 A 8259A 主片8259A 从片 B INT CAS0 CAS1 CAS2 IR0INT CAS0 CAS1 CAS2 IR0 INT
24、 CAS0 CAS1 CAS2 IR7 IR6 IR3 IR0 SP/EN SP/ENIR7CS A0 INTACS A0 INTACS A0 INTAIR7SP/ENIR7AB CB DBGND GND Vcc 从从8259A:CAS2CAS0 输输入入,接接收收主主片片发发出出的的标标志志码码,与与自自己己的的标标志志码码比比较较。若若相相等等,下下一一个个INTA信信号号到到来来时,将中断类型号送至数据总线。时,将中断类型号送至数据总线。从片A标志码:011,从片B标志码:110(2)SP/EN引脚 当当8259A 工作于非缓冲方式工作于非缓冲方式(直接与直接与CPU 的的DB 相连相连
25、)为输入,是主从芯片定义引脚。当当8259A 工作于缓冲方式工作于缓冲方式(通过总线缓冲器与通过总线缓冲器与 CPU 的的DB 相连相连)EN为输出,用于CPU与8259A传送数据信息时启动数据总线驱动器。DBDBCPU数据总线驱动器8259A此时,主从芯片的定义由ICW4中的M/S实现。8259A 的引脚图二、二、二、二、82598259A A 的中断处理过程的中断处理过程的中断处理过程的中断处理过程下面以8259A单片使用为例,说明其中断处理过程。1、当一条或多条中断请求线IR0 IR7变变高高时,设置相应的IRR位。2、PR对中断优先权和中断屏蔽寄存器的状态进行判断之后,如某中断优先权最
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 中断
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内