中断系统与中断控制器.ppt_第1页
中断系统与中断控制器.ppt_第2页
中断系统与中断控制器.ppt_第3页
中断系统与中断控制器.ppt_第4页
中断系统与中断控制器.ppt_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主讲:禹定臣,微机原理及接口技术,信息工程学院,第7章 8086中断系统与中断控制器,微机原理与接口技术,中断的基本概念 8086中断系统 中断处理过程 可编程中断控制器8259A,主要内容,7.1 概述,图7.1 中断示意图,1. 什么是中断?,7.1.1 基本概念,(1)实现CPU 与外设的并行工作, 提高了 CPU 的效率。,(2)实现实时处理。,(3)实现故障处理。,2. 应用中断技术的优点,引起中断的原因,产生中断请求的来源。,通常有以下几种:, 一般的I/O 设备,如键盘、打印机等。 实时时钟。 硬件故障。 中断指令或软件故障,如程序错、运算 错、调试程序而设置的中断(例如设置 断

2、点,单步运行等)。,3. 中断源,(1)实现断点地址的保护与恢复。 (2)实现现场信息的保护。 (3)实现中断优先级的排队。 (4)实现中断的嵌套。,4. 中断系统的功能,5. 中断优先级,当多个中断源请求中断时,CPU响应优先级高的中断,挂起优先级低的中断。当CPU运行中断服务子程序时,又有新的更高优先级中断申请进入, CPU要挂起原中断进入更高级的中断服务子程序,实现中断嵌套。,7.1.2 实现中断优先级的方法,软件查询方式 硬件方式 菊花链法 矢量中断优先级,1. 软件查询方式,图7.2 软件查询优先级管理电路,图7.3 软件查询中断流程图,采用软件查询方式的特点:, 询问的次序,即为优

3、先权的次序。 硬件简单。 由查询转至相应的服务程序的时间长, 尤其在中断源较多的情况。,2. 硬件方式,图7.4 菊花链优先级排队电路,图7.5 菊花链逻辑电路,3. 矢量中断优先级,利用专用的可编程中断控制器管理中断优先级,又称专用芯片中断管理方式。典型的可编程中断控制器是8259A。,7.2 8086的中断系统,8086有256种中断,分为两大类:,7.2.1 中断类型,外部中断(硬件中断) 内部中断(软件中断),图7.6 8086中断类型,1. 外部中断 (硬件中断),(1)非屏蔽中断 NMI(类型号2),有效,不受FR 中IF 的影响,常用于 处理系统的重大故障。,(2)可屏蔽的中断I

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

5、.2.2 中断优先级,7.3 中断处理过程,一个完整的中断处理过程为: 中断请求(中断源提出) 中断检测(判断是何种类型中断) 中断响应 执行中断服务程序 中断返回,7.3.1 8086CPU对中断的响应流程,CPU响应中断要有三个条件: 外设提出中断申请; 本中断位未被屏蔽; 中断允许(可用指令STI开中断)。 满足上述条件,则CPU在当前指令执行完后响应中断。,1. 一般的中断响应过程,图7.7 中断响应流程,CPU 在每一个指令周期的最后一个总线周期的最后一个T状态采样INTR 或NMI 信号线。若发现有中断申请,则不进入取指周期,而转入中断响应周期。,下面以INTR 为例,说明8086

6、 CPU 响应中断的过程。,2. 8086CPU响应外部中断的过程,执行一条指令,最后一个总线周期的最后一个T状态?,有INTR?,中断开放? (FR中的IF=1?),关中断CLI (置FR中IF=0),断点地址(IP. CS)入栈,FR 入栈,转入相应中断服务程序,保护现场,中断服务处理,恢复现场,开中断STI (置FR中IF=1),中断返回IRET,取下一条指令,No,No,No,Yes,Yes,Yes,图7.8 8086CPU 响应 INTR 的过程,讨论:,(1)为什么要在中断服务程序中执行 STI 指令? (2)STI 指令在中断服务程序中的不同 位置时,对CPU 处理中断有何影响?

7、,CPU 响应中断后,如何得到中断服务程序的入口地址,转入到中断服务程序?8086CPU 通过建立中断向量表的方法解决。,7.3.2 中断向量和中断向量表,1. 中断向量表,图7.9 中断向量表,中断向量 (中断服务程序入口地址) 在表中的地址 = 中断类型号 4,BIOS 负责01FH 共32个中断向量的装入。用户若想装入自己的中断向量到向量表中的,可用以下方法:,2. 中断向量的装入,(1)用STOS 指令填空中断向量表,假设类型号60H 的中断向量为,CLICLDMOVAX, 0MOVES, AXMOV DI, 460H; DI 指向表中对应位置MOVAX, OFFSET_INTR; 取

8、偏移地址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; 装入段基址,(3)利用DOS 功能调用“ INT 21H ” 的 AH = 25 H 装入中断向量,MOVAL, 60H; 类型号ALMOVAH, 25H; 功能号

9、25HAHMOVDX, SEG_INTRMOVDS, DXMOVDX, OFFSET_INTR; DS:DX=中断向量INT21H,图7.10 8086转入中断处理程序的过程,3. 8086CPU转入中断服务程序的过程,(1)取类型号; (2)计算向量地址; (3)根据向量地址查表,将偏移地址送 IP,段基址送CS; (4)转入中断服务程序,进行中断处理。,7.4 8259A可编程中断控制器,在PC机中,可以使用可编程中断控制器 Intel 8259A 来扩展外部中断。,(2)每一级中断均可以屏蔽。 (3)在中断响应周期,8259A 可提供相应的 中断向量。 (4)可编程使8259A 工作在多

10、种不同的方式。,(1)1片8259A 能管理8级中断,通过级联用 9片8259A可构成64 级主从式中断系统。,8259A的主要功能:,图7.11 8259A 内部结构逻辑框图,7.4.1 8259A内部结构与引脚信号,1. 数据总线缓冲器,8位、双向、三态缓冲器,8259A通过它与 CPU 进行数据和命令的传送。,D0D7直接与CPU 数据总线的低8位连接。,2. 读/写控制逻辑,CPU 通常利用:,OUT 指令,,IN 指令,,接收来自CPU的读写命令RD、WR,片选信号CS及端口选择信号A0。读写操作由这四个信号的组合控制实现。,3. 中断请求寄存器 IRR,8位寄存器,用于存放请求服务

11、的中断源,并使对应位置“1”( IRi1),直到IRi 得到响应。,4. 中断服务寄存器 ISR,8位寄存器,用于存放当前正在处理的中断级,并使对应位置“1”。中断嵌套时,可能多个位置“1”。,5. 中断屏蔽寄存器 IMR,8位寄存器,可对IRR起屏蔽作用,由软件设置屏蔽位。某位置 “1”,对应 IRi 禁止产生中断。,6. 优先权分析器PR,实现优先权的判断与处理。对刚进来的中断与正在服务中的中断进行优先权的比较分析,将具有最高优先权的中断请求送入中断服务寄存器 ISR,并向 CPU提出中断请求。,7. 控制逻辑,按初始化设置的工作方式,控制8259A 各部件的工作,并向CPU发出INT信号

12、,以及接收CPU 的INTA信号。,8. 级联缓冲/比较器,用于级联控制,扩展外中断。 在级联工作时,1片8259A作主片,其余(1 8片) 8259A 作从片,最多可管理64 级向量优先级中断。,图7.12 8259A 的引脚图,7.4.2 8259A的工作原理,CPU若响应中断,往8259A回送两个负脉冲。 第一个负脉冲到达, 8259A做3件事: 使IRR锁存功能失效; 使ISR中相应位置“1”; 使IRR相应位置“0”。 第二个负脉冲到达, 8259A完成操作: 将中断类型码(ICW2)送D7D0; 若工作在中断自动结束方式下,将ISR中相 应位清“0”。,7.4.3 8259A的工作

13、方式,1. 设置优先级的方式,普通全嵌套方式 特殊全嵌套方式 优先级自动循环方式 优先级特殊循环方式,(1)普通全嵌套方式,8259默认方式,中断请求按优先级07 处理,0级最高。 一个中断被响应时: 送出中断类型码数据总线; ISR对应位ISn 1; 进入中断服务程序。,(2)特殊全嵌套方式,处理某一级中断时,可响应同级中断请求。一般用于8259A级连系统中。 特殊全嵌套方式使用时,应使: 主片工作在特殊全嵌套方式; 从片工作在其它优先级方式。 整个级连系统仍处在从片的优先级方式。,(3)优先级自动循环方式,一般用在系统中多个中断源优先级相等的场合。 这种方式的中断优先级队列是变化的。一个设

14、备受到中断服务后,其优先级自动降为最低。 初始优先级队列:IR0、IR1、IR7。 例:IR0处理完后,优先级队列为IR1IR7、IR0 IR4处理完后,优先级队列为IR5IR3、IR4,(4)优先级特殊循环方式,初始最低优先级由编程确定,最高优先级也由此而定。 如:初始最低优先级定为IR5,则最高优先级为IR6。,2. 屏蔽中断源的方式,(1)普通屏蔽方式,通过屏蔽寄存器屏蔽对应位的中断请求输入。,(2)特殊屏蔽方式,设置某一屏蔽位时,会同时使ISR中的对应位清0。从而开放了其它级别较低的中断。 特殊屏蔽方式总是在中断处理程序中使用的。,3. 结束中断处理的方式,中断处理结束的动作是使ISn

15、 位清0。,(1)中断自动结束方式,系统一进入中断过程,8259A自动将ISR中对应位ISn清除。 这种方式只能用于系统中只有一片8259A,且多个中断不会嵌套的情况。,(2)一般中断结束方式,用于全嵌套情况,由中断服务程序的最后一条中断结束命令清除最高的IS位。,(3)特殊中断结束方式,在中断结束命令中指出要清除ISR中哪个IS位。 这种方式用于非全嵌套情况,此时,由ISR无法确定当前正在处理的是哪级中断。,4. 连接系统总线的方式,(1)缓冲方式,多片8259A级连系统中, 8259A通过总线驱动器与数据总线相连的方式。 在这种方式下,要将的 SP/ EN 端连总线驱动器的允许端。,(2)

16、非缓冲方式,小系统中,直接将8259A与数据总线相连。对单片或多片8259A, SP/ EN 有不同接法。,5. 引入中断请求的方式,即外设 8259A的信号。,(1)边沿触发方式,中断请求输入端出现的上升沿作为中断请求信号。,(2)电平触发方式,中断请求输入端出现的高电平作为中断请求信号。 在电平触发方式下,中断请求得到响应后,输入端应及时撤除高电平。,(3)中断查询方式,外设仍通过向8259A发中断请求信号要求CPU服务,但8259A不使用INT信号向CPU发中断请求信号。 CPU使用软件查询确认中断源。,7.4.4 8259A的初始化命令字和操作命令字,初始化命令字 ICW和操作命令字O

17、CW确定8259A的工作状态和操作方式,由CPU发出。 ICW:确定8259A的工作状态,在系统复位后写入。 OCW:控制8259A的操作方式,如中断屏蔽、中断结束、优先级循环方式等。可在初始化后任何时刻写入。,8259A 只有两个端口地址,A0=,0 偶地址端口,1 奇地址端口,具体地址依实际连线而定。,PC机中,两个端口地址分别是:20H,21H。,写入命令字时,要注意,端口地址,写入的顺序,有关的标志位,1. 初始化命令字,初始化命令字完成的功能: 设定中断请求触发方式:高电平/上升沿。 设定8259A工作方式:单片/级联。 设定中断类型号基值:IR0对应的中断类 型号。 设定优先级设置

18、方式。 设定自动中断结束方式。,ICW1ICW4必须按顺序写入,且ICW1偶地址端口;ICW2 ICW4 奇地址端口。,(1)ICW1 芯片控制初始化字,设定IRi 触发方式,是否单片使用,是否写入ICW4。,0,1,LTIM,SNGL,IC4,A0,D7,D6,D5,D4,D3,D2,D1,D0,标志位:以区别OCW2 3,格式:,LTIM,1 高电平触发,0 触发,=,SNGL,1 单片使用,0 级联使用,=,IC4,1 后面写入ICW4,0 不写入ICW4,=,(2)ICW2 设置中断类型号初始化字,设置中断类型号的高5位,中断类型号的低3位由引入中断请求的引脚IR0IR7产生。,格式:

19、,T7 T6 T5 T4 T3 T2 T1 T0,由ICW2规定,0 0 0,0 0 1,0 1 0,1 1 1,IR0,IR1,IR2,IR7,(3)ICW3 标识主片/从片初始化字,只有在一个系统中包含多片8259A时,该初始化字才有意义。此时,ICW1中D1位SNGL = 0。 ICW3的具体格式与本片为主片还是从片有关。, 写给主片的ICW3,Si = 1, 表示主片IRi上接有从片。, 写给从片的ICW3,例:写出下面级连方式主/从片的ICW3。,IR5,INT,主片,从片,ICW3 = 00100000,ICW3 = 00000101,(4)ICW4 方式控制初始化字,只有在ICW

20、1中D0位IC4 = 1时才用。,格式:,1 缓冲方式,0非缓冲方式, SFNM: 规定8259A中断的嵌套方式, BUF,=,0 一般全嵌套方式,1特殊全嵌套方式, M/S:,BUF = 1时,,1 主8259A,0 从8259A,M/S =,BUF = 0时,M/S无意义。, AEOI: 规定中断的结束方式,即如何使ISR 中对应位置0。,AEOI = 1 自动中断结束方式:,当CPU 发出第二个INTA后,ISR 中的相应位复位,此时,不能实现中断嵌套。,AEOI = 0 非自动中断结束方式:,由程序发出EOI 命令 (由8259A 的OCW 实现),使ISR 中相应位复位。,对8259

21、A 进行初始化编程后,8259A作好了接收中断请求输入的准备,在8259A 工作期间可由操作命令字OCW1OCW3规定其各种工作方式,如中断屏蔽,中断优先级次序,中断结束方式等。,2. 8259A的操作命令字,(1)OCW1 中断屏蔽操作命令字,设置或消除IMR 的各个位。,Mi =,1 屏蔽由IRi引入的中断请求,0 允许由IRi引入的中断请求,(2)OCW2 优先权循环方式和 中断结束方式操作字,功能: 设定优先级循环方式。 设定非自动结束中断方式。,格式,D7 (R) =,0 固定优先权方式: IR0 IR1 IR7,优先级循环方式: SL = 0,优先级自动循环 SL = 1,优先级特

22、殊循环,D6(SL) =,0 L2L1L0位编码无效,1 L2L1L0位编码有效,例1:R = 1,SL = 0 设定为优先权自动循环方式,IR7,IR6,IR5,IR4,IR3,IR2,IR1,IR0,初始优先权为:,7,6,5,4,3,2,1,0,若IRR =,0,1,0,1,0,0,0,0,当 IR4 服务完毕后,优先权为:,2,1,0,7,6,5,4,3,最低,最高,例2:R = 1,SL = 1 设置为优先权特殊循环方式,此时,L2L1L0 规定循环开始时的最低优先权,若OCW2为:,1 1 0 0 1 0 1,IR5优先权最低,则循环开始时优先权为:,IR7,IR6,IR5,IR4

23、,IR3,IR2,IR1,IR0,1,0,7,6,5,4,3,2,D5(EOI):中断结束命令位。,EOI =1,SL = 0 一般中断结束: 将OCW2写入8259A后,将刚 刚被服务的ISn对应位复位。,SL = 1 特殊中断结束: 写入OCW2后,使L2L1L0指定 的ISn位复位。,D2D1D0(L2L1L0): 特殊中断结束时,指定要清 除的ISn位。 特殊优先级循环时,指定循 环开始时最低优先级中断IRi。,例3: OCW211000011B 特殊优先级,优先级由高至低为 IR4, IR5, IR6, IR7, IR0, IR1, IR2, IR3。 OCW201100010B 特

24、殊中断结束命令,清除IS2。 OCW211100100B L2L1所指的中断结束后,进行优 先级轮换,即IR4中断服务完毕后, 使IS4复位,IR4变为最低优先级。,(3)OCW3,功能: 设置和撤消特殊屏蔽方式。 设置中断查询方式。 设置读8259A内部寄存器命令。,格式:, 设置和撤消特殊屏蔽工作方式,正常的屏蔽方式,由OCW1设置 IMR 实现,特殊的屏蔽工作方式,因此,可以通过设置或撤消特殊的屏蔽工作方式,动态改变优先权的结构。, 为CPU 读取8259A内部寄存器提供选择,INAL, INTA1; IMR AL,8259A 中的IMR由OCW1设置,对应奇地址端口,可以写入,也可以读

25、出。,8259A 中IRR、ISR 只能读出,不能写入,都对应偶地址端口。此时,可先写入OCW3,OCW3中的RR、RIS 规定从偶地址端口读出的是IRR 或ISR 的值。, 使8259A 和CPU 的通信方式由中断方式 查询方式,当中断源超过64个时,可令CPU 关中断,用查询方式为中断源服务。,令OCW3 中的P = 1,写入OCW3后,若之前有IRi有效,8259A 把CPU 的下一个读信号看作 信号,使ISR 中最高优先权的某一位置位,同时送查询字至DB。,MOVAL, OCW3; 其中 P=1OUTINTA0, AL; 发OCW3INAL, INTA0; 读偶地址端口,此时,AL 中的数据(查询字):,I,W2,W1,W0,D7,D0,当前最高优先权IRi对应的编 码,0 0 0,0 0 1,1 1 1,IR0,IR1,IR7,通过该查询字,CPU得到当前级别最高的中断请求IRi,然后转入该中断处理程序。,8259A 只占两个端口,但ICW

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论