文档详情

微机原理§中断处理过程

shaoy****1971
实名认证
店铺
PPT
415KB
约24页
文档ID:112159168
微机原理§中断处理过程_第1页
1/24

一、CPU响应中断的条件 中断响应是指从CPU发现中断请求,中止现行程 序到调出中断处理程序这一过程 §7.2 中断的处理过程 第七章 中断 对每个中断源来说,既要能发出中断请求信号, 而且能保持这个信号,直至CPU响应该请求后再 将其清除因此,每个中断源都要有一个中断请 求触发器,如下图中的触发器A ⒈ 设置中断请求触发器 Date1 具有中断屏蔽的接口电路 §7.2 中断处理过程一、CPU响应中断的条件 Date2 ⒉ 设置中断屏蔽触发器 中断屏蔽,是指即使某个中断源发出中断请求信 号,也使该信号不起作用的措施 设置屏蔽的目的是为了增加控制的灵活性 方法是在每个外设的接口电路中设置一个中断屏 蔽触发器,用来控制其对应外设所发出的中断请 求能否送到CPU,进而又可把一组屏蔽触发器( 如8个)组成一个中断屏蔽寄存器端口,用输出指 令来控制其状态,如上图所示触发器B §7.2 中断处理过程一、CPU响应中断的条件 Date3 ⒊ 开放CPU内部的中断允许触发器 尽管外设有中断请求,但CPU并不一定会响应 因为,在CPU内部设置了一个中断允许触发器, 该触发器的状态决定CPU对外设的中断是否响应 。

CPU不响应中断, 称关中断(中断关闭 ) CPU响应中断,称 开中断(中断开放) 中断允许 触发器 0 1 §7.2 中断处理过程一、CPU响应中断的条件 Date4 1) 当CPU复位时,中断允许触发器处于关中 断状态; 2) 中断请求被响应后,CPU自动关中断; 3) CPU执行关中断指令CLI后,中断关闭 中断允许触发器的状态可用指令CLI和 STI来改 变,下述三种情况可关闭中断: §7.2 中断处理过程一、CPU响应中断的条件 Date5 中断关闭与中断屏蔽不同中断关闭对INTR 上所有的可屏蔽中断均不理睬;中断屏蔽则 只封锁被屏蔽的那个中断源,使其中断请求 不能到达CPU的INTR线上即: 不让其中断请求发往CPU,在 接口中屏蔽 INTR线上有中断请求,但CPU 当时不能响应,CPU内部关闭 屏蔽—— 关闭—— §7.2 中断处理过程一、CPU响应中断的条件 Date6 ⒋ 现行指令执行完毕 在满足前三个条件后,CPU在执行现行指令的最 后一个机器周期的最后一个T状态时,才去采样 中断请求输入线INTR,若发现有中断请求,则把 CPU内部的中断锁存器置“1”,下一个机器周期就 不进入取指周期,而进入中断响应周期。

§7.2 中断处理过程一、CPU响应中断的条件 Date7 二、CPU对中断的响应 CPU进入中断响应周期后,中断响应过程如下: §7.2 中断处理过程 1. 关中断 2. 保护断点 CPU在响应中断后,发出中断响应信号INTA,同 时内部自动关中断,以禁止接受其它的中断请求 把断点处的IP及CS值入栈保存,以备中断处理完 后能正确返回断点 Date8 §7.2 中断处理过程二、CPU对中断的响应 4. 保护现场 5. 执行中断服务程序 6. 恢复现场 7. 开中断及返回 为了不使中断服务程序的运行影响主程序的状态 ,必须把断点处的相关寄存器及标志寄存器压栈 保护 3. 识别中断源 CPU要对中断进行处理,必须找到相应的中断服 务程序的入口地址,这就是中断源的识别 Date9 三、中断源的识别 当CPU响应中断、关中断及保护断点之后,就要寻 找中断源,找到相应的中断服务程序的入口地址 这是中断处理过程的重要的一环 识别中断源有两种方法,即查询中断和矢量中断 §7.2 中断处理过程 Date10 ⒈ 查询中断 查询中断采用软件来识别中断源,其方法是用程序 依次读出每一外设的中断标志位,通过测试这一标 志位来判断它是否曾经发生中断请求,若该标志位 无效则继续往下测试, 直到被检测的设备状态(如中 断请求触发器的状态)出现“1”时,中断识别程序便 转向相应的中断服务程序。

若查完所有状态,仍没 有任何设备请求服务时,说明是错误所致,转到出 错处理查询过程如下图所示: §7.2 中断处理过程三、中断源的识别 Date11 §7.2 中断处理过程三、中断源的识别 Date12 •查询中断与数据的查询传送方式有本质上的不同 查询传送方式需要CPU花费大量时间不断循环询问 ,以等待设备的“就绪”信号;而查询中断在外设无 中断请求时CPU照常执行程序,只有当CPU收到中 断请求,设备已“就绪”时,才查询是谁发出的中断 请求因此查询中断是一种由中断启动而不是由微 处理器启动的“查询” §7.2 中断处理过程三、中断源的识别 •查询中断通常用于比较简单的小系统中对于中断 源较多的大系统来说,查询需要花费较长的时间 Date13 ⒉ 矢量中断 §7.2 中断处理过程三、中断源的识别 矢量中断是指在CPU中断响应周期内,控制逻辑将 发中断请求的外设预先准备好的一个地址送入CPU, CPU在硬件的支持下由该地址自动找到相应的中断 服务程序的入口,并转入中断服务程序外设提供 给CPU的这一地址叫做中断矢量,每个外设都预先 设定一个自己的中断矢量,中断矢量与中断源一一 对应 矢量中断采用硬件来识别中断源,需要花费较多的 硬件资源,但速度快,目前被广泛采用。

Date14 • 矢量中断以硬件的开销换取较快的中断响应速度, 而查询方式以软件和时间为代价来节省硬件有时 混合使用这两种技术可获预期的较好效果,如在一 个较大的中断系统中,用矢量方法将中断源分为若 干小组,然后用查询法迅速从组内中识别出请求中 断的中断源这两种方法结合比完全采用矢量中断 既经济,又不致对速度造成太大的影响 §7.2 中断处理过程三、中断源的识别 Date15 四、中断优先级 实际应用中,常遇到多个中断源同时请求中断,这时 CPU必须确定先为哪个中断服务解决的方法是采用 中断优先排队,即把全部中断源按其中断的必要性和 实时性以及处理的轻重缓急进行排队,给出优先级 因此,中断优先级是指多个中断同时发生时,CPU对 中断源响应的顺序优先权高的先被响应 §7.2 中断处理过程 另外,当CPU正在处理中断时,要能响应优先级更高 的中断请求,同时屏蔽同级或较低的中断请求即多 重中断或中断嵌套的问题 Date16 ⒈ 软件查询优先方式 这是最简单 的中断优先 级处理方式 右图是软 件查询方式 的接口电路 ,下页图为 其流程图 §7.2 中断处理过程四、中断优先级 Date17 实现方法: 将8个外 设的中断 请求触发 器组合为 一个端口 ,并给这 个端口赋 以设备号 (口地址) , §7.2 中断处理过程四、中断优先级 Date18 然后,把各外设的中断请求信号相或后作为INTR信 号。

任何外设有中断请求时,都可向CPU发出INTR 信号CPU响应中断后,把中断寄存器的状态作为 一个输入端口读进CPU,然后逐位检测其状态,若 有中断请求就转入相应的中断服务程序,这样优先 级的级别取决于软件查询的顺序,先测试的中断源 具有较高的优先级 该方式的优点是硬件简单,不需要硬件排队电路 但在中断源较多时,软件查询的时间较长 §7.2 中断处理过程四、中断优先级 Date19 ⒉ 硬件查询优先方式 常用的硬件查询优先方式有两种 : 优先级中断链 矢量优先权排队 §7.2 中断处理过程四、中断优先级 Date20 排队链优先级中断系统 ① 优先级中断链 §7.2 中断处理过程四、中断优先级 Date21 当中断请求得到响应时,中断响应信号就传送到优 先级最高的I/O设备,并按串行方式往下传送若某 设备有中断请求,中断响应信号就不再往下传送, 而中止在该设备上,从而允许该设备使用总线与 CPU交换信息,该设备以后的中断就被屏蔽了显 然,排在链的最前面的优先级最高各中断源的中 断优先级按其在链式排队电路中的先后次序决定 §7.2 中断处理过程四、中断优先级 Date22 用硬件实现优先级的另一种方法是使用优先级控制 器。

优先级控制器或可编程中断控制器(PIC)构成的 “矢量” 是一个由优先级编码器和比较器等构成的电 路,它的基本逻辑结构如下图所示优先级控制器 可接受8个中断输入,每一个中断请求能否送到优 先级编码器,取决于屏蔽寄存器的对应位 ② 矢量优先级排队 §7.2 中断处理过程四、中断优先级 Date23 §7.2 中断处理过程四、中断优先级 Date24 。

下载提示
相似文档
正为您匹配相似的精品文档
相关文档