第7章 8086中断系统与中断控制器.ppt
《第7章 8086中断系统与中断控制器.ppt》由会员分享,可在线阅读,更多相关《第7章 8086中断系统与中断控制器.ppt(92页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主讲:禹定臣主讲:禹定臣微机原理及接口技术微机原理及接口技术信息工程学院信息工程学院第第7章章 8086中断系统与中中断系统与中断控制器断控制器微机原理与接口技术微机原理与接口技术 中断的基本概念中断的基本概念 8086中断系统中断系统 中断处理过程中断处理过程 可编程中断控制器可编程中断控制器8259A主要内容主要内容中断申请主程序中断服务程序返回图7.1 中断示意图1.什么是中断?什么是中断?7.1.1 基本概念基本概念(1)实现CPU 与外设的并行工作,提高了 CPU 的效率。(2)实现实时处理。(3)实现故障处理。2.应用中断技术的优点应用中断技术的优点引起中断的原因,产生中断请求的来
2、源。通常有以下几种:一般的I/O 设备,如键盘、打印机等。实时时钟。硬件故障。中断指令或软件故障,如程序错、运算 错、调试程序而设置的中断(例如设置 断点,单步运行等)。3.3.中断源中断源(1)实现断点地址的保护与恢复。(2)实现现场信息的保护。(3)实现中断优先级的排队。(4)实现中断的嵌套。中断服务2(高优先级)主程序中断服务14.4.中断系统的功能中断系统的功能5.5.中断优先级中断优先级 当多个中断源请求中断时,CPU响应优先级高的中断,挂起优先级低的中断。当CPU运行中断服务子程序时,又有新的更高优先级中断申请进入,CPU要挂起原中断进入更高级的中断服务子程序,实现中断嵌套。7.1
3、.2 实现中断优先级的方法实现中断优先级的方法 软件查询方式 硬件方式 菊花链法 矢量中断优先级1.软件查询方式软件查询方式图7.2 软件查询优先级管理电路图7.3 软件查询中断流程图采用软件查询方式的特点:采用软件查询方式的特点:询问的次序,即为优先权的次序。硬件简单。由查询转至相应的服务程序的时间长,尤其在中断源较多的情况。2.2.硬件方式硬件方式图7.4 菊花链优先级排队电路图7.5 菊花链逻辑电路3.矢量中断优先级矢量中断优先级 利用专用的可编程中断控制器管理中断优先级,又称专用芯片中断管理方式。典型的可编程中断控制器是8259A。8086有256种中断,分为两大类:7.2.1 中断类
4、型中断类型 外部中断(硬件中断)内部中断(软件中断)图7.6 8086中断类型1.外部中断外部中断 (硬件中断)(硬件中断)(1)非屏蔽中断)非屏蔽中断 NMI(类型号类型号2)有效,不受FR 中IF 的影响,常用于 处理系统的重大故障。(2)可屏蔽的中断)可屏蔽的中断INTR 高电平有效,CPU 是否响应,取决于 FR 中IF 的状态。常用于各种外设的中断。2.内部中断(软件中断)内部中断(软件中断)通常由三种情况引起:通常由三种情况引起:(1)INT n 指令中断指令中断(n 为中断类型号)为中断类型号)(2)处理)处理 CPU 某些错误的中断某些错误的中断 除法错中断(中断类型号0)溢出
5、中断(INTO)(中断类型号4)(3)为调试程序设置的中断)为调试程序设置的中断 单步中断当 FR 中TF=1时,每执行一条指令,CPU 产生类型为1 的单步中断。断点中断设置断点实际上是把指令“INT 3”插入到程序中,CPU 每执行到断点处的 “INT 3”指令,便产生类型为3 的中断。8086 系统中,中断优先级的次序为:系统中,中断优先级的次序为:高高低低内部中断内部中断(除法错、除法错、INTO、INT n)NMIINTR单步中断单步中断7.2.2 中断优先级中断优先级一个完整的中断处理过程为:一个完整的中断处理过程为:中断请求(中断源提出)中断请求(中断源提出)中断检测(判断是何种
6、类型中断)中断检测(判断是何种类型中断)中断响应中断响应 执行中断服务程序执行中断服务程序 中断返回中断返回7.3.1 8086CPU对中断的响应流程对中断的响应流程 CPU响应中断要有三个条件:响应中断要有三个条件:外设提出中断申请;外设提出中断申请;本中断位未被屏蔽;本中断位未被屏蔽;中断允许(可用指令中断允许(可用指令STI开中断)。开中断)。满足上述条件,则满足上述条件,则CPU在当前指令执行完后响在当前指令执行完后响应中断。应中断。1.一般的中断响应过程一般的中断响应过程图7.7 中断响应流程 CPU 在每一个指令周期的最后一个总线周在每一个指令周期的最后一个总线周期的最后一个期的最
7、后一个T状态采样状态采样INTR 或或NMI 信号线。信号线。若发现有中断申请,则不进入取指周期,而转入若发现有中断申请,则不进入取指周期,而转入中断响应周期。中断响应周期。下面以下面以INTR 为例,说明为例,说明8086 CPU 响应响应中断的过程。中断的过程。2.8086CPU响应外部中断的过程响应外部中断的过程执行一条指令执行一条指令最后一个总线周期的最后一个最后一个总线周期的最后一个T状态?状态?有有INTR?中断开放?中断开放?(FR中的中的IF=1?)关中断关中断CLI(置置FR中中IF=0)断点地址断点地址(IP.CS)入栈入栈FR 入栈入栈转入相应中断服务程序转入相应中断服务
8、程序保护现场保护现场中断服务处理中断服务处理恢复现场恢复现场开中断开中断STI(置置FR中中IF=1)中断返回中断返回IRET取下一条指令取下一条指令NoNoNoYesYesYes图图7.8 8086CPU 响应响应 INTR 的过程的过程讨论:讨论:(1)为什么要在中断服务程序中执行)为什么要在中断服务程序中执行 STI 指令?指令?(2)STI 指令在中断服务程序中的不同指令在中断服务程序中的不同 位置时,对位置时,对CPU 处理中断有何影响?处理中断有何影响?CPU 响应中断后,如何得到中断服务程响应中断后,如何得到中断服务程序的入口地址,转入到中断服务程序?序的入口地址,转入到中断服务
9、程序?8086CPU 通过建立中断向量表的方法解决。通过建立中断向量表的方法解决。7.3.2 中断向量和中断向量表中断向量和中断向量表1.中断向量表中断向量表图图7.9 中断向量表中断向量表 中断向量中断向量(中断服中断服务程序入口地址务程序入口地址)在表中在表中的地址的地址=中断类型号中断类型号 4 BIOS 负责负责01FH 共共32个中断向量的装个中断向量的装入。用户若想装入自己的中断向量到向量表中入。用户若想装入自己的中断向量到向量表中的,可用以下方法:的,可用以下方法:2.中断向量的装入中断向量的装入(1)用)用STOS 指令填空中断向量表指令填空中断向量表假设类型号假设类型号60H
10、 的中断向量为的中断向量为 CLICLDMOVAX,0MOVES,AXMOV DI,4 60H;DI 指向表中对应位置指向表中对应位置MOVAX,OFFSET_INTR;取偏移地址取偏移地址STOSW;ALDI,AHDI+1,DI+2DIMOV AX,SEG_INTR;取段基址取段基址STOSWSTI SEG_INTR:OFFSET_INTR。(2)利用)利用MOV 指令写入中断向量指令写入中断向量 CLIMOVAX,00HMOVES,AXMOVBX,4 60H;BX 指向表中对应位置指向表中对应位置MOVAX,OFFSET_INTRMOVES:BX,AX;装入装入偏移偏移地址地址MOVAX,
11、SEG_INTRMOVES:BX+2,AX;装入段基址装入段基址(3)利用)利用DOS 功能调用功能调用“INT 21H”的的 AH=25 H 装入中断向量装入中断向量MOVAL,60H;类型号类型号ALMOVAH,25H;功能号功能号25HAHMOVDX,SEG_INTRMOVDS,DXMOVDX,OFFSET_INTR;DS:DX=中断向量中断向量INT21H图7.10 8086转入中断处理程序的过程3.8086CPU转入中断服务程序的过程转入中断服务程序的过程(1)取类型号;)取类型号;(2)计算向量地址;)计算向量地址;(3)根据向量地址查表,将偏移地址送)根据向量地址查表,将偏移地址
12、送 IP,段基址送段基址送CS;(4)转入中断服务程序,进行中断处理。转入中断服务程序,进行中断处理。在在PC机机中中,可可以以使使用用可可编编程程中中断断控制器控制器 Intel 8259A 来来扩展外部中断。扩展外部中断。(2)每一级中断均可以屏蔽。)每一级中断均可以屏蔽。(3)在中断响应周期,)在中断响应周期,8259A 可提供相应的可提供相应的 中断向量。中断向量。(4)可编程使)可编程使8259A 工作在多种不同的方式。工作在多种不同的方式。(1)1片片8259A 能管理能管理8级中断,通过级联用级中断,通过级联用 9片片8259A可构成可构成64 级主从式中断系统。级主从式中断系统
13、。82598259A A的的主要功能:主要功能:图7.11 8259A 内部结构逻辑框图7.4.1 8259A7.4.1 8259A内部结构与引脚信号内部结构与引脚信号1.数据总线缓冲器数据总线缓冲器 8位、双向、三态位、双向、三态缓冲器缓冲器,8259A通过它与通过它与 CPU 进行进行数据和命令的传送。数据和命令的传送。D0D7直接与直接与CPU 数据总线的低数据总线的低8位连接。位连接。2.2.读读/写控制逻辑写控制逻辑CPU 通常利用:通常利用:OUT 指令,指令,IN 指令,指令,接收来自接收来自CPU的读写命令的读写命令RD、WR,片选信号,片选信号CS及端口选择信号及端口选择信号
14、A0。读写操作由这四个信号的组合读写操作由这四个信号的组合控制实现。控制实现。3.中断请求寄存器中断请求寄存器 IRR 8位寄存器,用于存放请求服务的中断源,并位寄存器,用于存放请求服务的中断源,并使使对应位置对应位置“1”(IRi1),),直到直到IRi 得到响应。得到响应。4.中断服务寄存器中断服务寄存器 ISR 8位寄存器,用于存放当前位寄存器,用于存放当前正在处理的中断级,正在处理的中断级,并使对应位置并使对应位置“1”。中断嵌套时,可能多个位置。中断嵌套时,可能多个位置“1”。5.中断屏蔽寄存器中断屏蔽寄存器 IMR 8位寄存器,可对位寄存器,可对IRR起屏蔽作用,由软件起屏蔽作用,
15、由软件设置屏蔽位。某位置设置屏蔽位。某位置“1”,对应,对应 IRi 禁止产生中禁止产生中断。断。6.优先权分析器优先权分析器PR 实现优先权的判断与处理。对刚进来的中断实现优先权的判断与处理。对刚进来的中断与正在服务中的中断进行优先权的比较分析,将与正在服务中的中断进行优先权的比较分析,将具有最高优先权的中断请求送入中断服务寄存器具有最高优先权的中断请求送入中断服务寄存器 ISR,并向,并向 CPU提出中断请求。提出中断请求。7.控制逻辑控制逻辑 按初始化设置的工作方式按初始化设置的工作方式,控制,控制8259A 各部各部件的工作,并件的工作,并向向CPU发出发出INT信号,以及接收信号,以
16、及接收CPU 的的INTA信号。信号。8.级联缓冲级联缓冲/比较器比较器 用于用于级联控制,扩展外中断。级联控制,扩展外中断。在在级联工作时,级联工作时,1片片8259A作主片,其余(作主片,其余(1 8片)片)8259A 作从片,最多可管理作从片,最多可管理64 级向量优级向量优先级中断。先级中断。图7.12 8259A 的引脚图7.4.2 8259A的工作原理的工作原理中断中断请求请求寄存寄存器器IRR优先优先权分权分析器析器PR中断中断服务服务寄存寄存器器ISR控控 制制 逻逻 辑辑中断屏蔽寄存器中断屏蔽寄存器 IMRIR0IR7外设中外设中断请求断请求INTAINTCPU若响应中断,往
17、若响应中断,往8259A回送回送两个负脉冲两个负脉冲。第一个负脉冲到达,第一个负脉冲到达,8259A做做3件事:件事:使使IRR锁存功能失效;锁存功能失效;使使ISR中相应位置中相应位置“1”;使使IRR相应位置相应位置“0”。第二个负脉冲到达,第二个负脉冲到达,8259A完成操作:完成操作:将中断类型码(将中断类型码(ICW2)送)送D7D0;若工作在中断自动结束方式下,将若工作在中断自动结束方式下,将ISR中相中相 应位清应位清“0”。7.4.3 8259A7.4.3 8259A的工作方式的工作方式1.设置优先级的方式设置优先级的方式普通全嵌套方式普通全嵌套方式 特殊全嵌套方式特殊全嵌套方
18、式 优先级自动循环方式优先级自动循环方式 优先级特殊循环方式优先级特殊循环方式(1)普通全嵌套方式)普通全嵌套方式 8259默认方式,中断请求按优先级默认方式,中断请求按优先级07 处理,处理,0级最高。级最高。一个中断被响应时:一个中断被响应时:送出中断类型码送出中断类型码数据总线;数据总线;ISR对应位对应位ISn 1;进入中断服务程序。进入中断服务程序。(2)特殊全嵌套方式)特殊全嵌套方式 处理某一级中断时,可响应同级中断请求。一处理某一级中断时,可响应同级中断请求。一般用于般用于8259A级连系统中。级连系统中。特殊全嵌套方式使用时,应使:特殊全嵌套方式使用时,应使:主片工作在特殊全嵌
19、套方式;主片工作在特殊全嵌套方式;从片工作在其它优先级方式。从片工作在其它优先级方式。整个级连系统仍处在从片的优先级方式。整个级连系统仍处在从片的优先级方式。(3)优先级自动循环方式)优先级自动循环方式 一般用在系统中多个中断源优先级相等的场合。一般用在系统中多个中断源优先级相等的场合。这种方式的中断优先级队列是变化的。一个设备这种方式的中断优先级队列是变化的。一个设备受到中断服务后,其优先级自动降为最低。受到中断服务后,其优先级自动降为最低。初始优先级队列:初始优先级队列:IR0、IR1、IR7。例:例:IR0处理完后,优先级队列为处理完后,优先级队列为IR1IR7、IR0 IR4处理完后,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 8086中断系统与中断控制器 8086 中断 系统 控制器
限制150内