微机原理§中断处理过程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
06.03.2021
整理ppt
8
§7.2 中断处理过程
二、CPU对中断的响应
3. 识别中断源
CPU要对中断进行处理,必须找到相应的中断服 务程序的入口地址,这就是中断源的识别。
4. 保护现场
为了不使中断服务程序的运行影响主程序的状态, 必须把断点处的相关寄存器及标志寄存器压栈保 护。
5. 执行中断服务程序
06.03.2021
整理ppt
7
§7.2 中断处理过程
二、CPU对中断的响应
CPU进入中断响应周期后,中断响应过程如下:
1. 关中断
CPU在响应中断后,发出中断响应信号INTA,同 时内部自动关中断,以禁止接受其它的中断请求。
2. 保护断点 把断点处的IP及CS值入栈保存,以备中断处理完 后能正确返回断点。
6. 恢复现场 7. 开中断及返回
06.03.2021
整理ppt
9
§7.2 中断处理过程
三、中断源的识别
当CPU响应中断、关中断及保护断点之后,就要寻 找中断源,找到相应的中断服务程序的入口地址。 这是中断处理过程的重要的一环。
识别中断源有两种方法,即查询中断和矢量中断。
06.03.2021
整理ppt
10
§7.2 中断处理过程
⒈ 查询中断
三、中断源的识别
查询中断采用软件来识别中断源,其方法是用程序 依次读出每一外设的中断标志位,通过测试这一标 志位来判断它是否曾经发生中断请求,若该标志位 无效则继续往下测试, 直到被检测的设备状态(如中 断请求触发器的状态)出现“1”时,中断识别程序便 转向相应的中断服务程序。若查完所有状态,仍没 有任何设备请求服务时,说明是错误所致,转到出 错处理。查询过程如下图所示:
触发器
0
CPU不响应中断, 称关中断(中断关闭)
06.03.2021
整理ppt
4
§7.2 中断处理过程
一、CPU响应中断的条件
中断允许触发器的状态可用指令CLI和 STI来改 变,下述三种情况可关闭中断:
1) 当CPU复位时,中断允许触发器处于关中 断状态;
2) 中断请求被响应后,CPU自动关中断; 3) CPU执行关中断指令CLI后,中断关闭。
06.03.2021
整理ppt
1
§7.2 中断处理过程
一、CPU响应中断的条件
具有中断屏蔽的接口电路
06.03.2021
整理ppt
2
§7.2 中断处理过程
⒉ 设置中断屏蔽触发器
一、CPU响应中断的条件
中断屏蔽,是指即使某个中断源发出中断请求信 号,也使该信号不起作用的措施。
设置屏蔽的目的是为了增加控制的灵活性。 方法是在每个外设的接口电路中设置一个中断屏 蔽触发器,用来控制其对应外设所发出的中断请 求能否送到CPU,进而又可把一组屏蔽触发器 (如8个)组成一个中断屏蔽寄存器端口,用输出 指令来控制其状态,如上图所示触发器B 。
• 查询中断通常用于比较简单的小系统中。对于中断 源较多的大系统来说,查询需要花费较长的时间。
06.03.2021
整理ppt
13
§7.2 中断处理过程
⒉ 矢量中断
三、中断源的识别
矢量中断采用硬件来识别中断源,需要花费较多的 硬件资源,但速度快,目前被广泛采用。
矢量中断是指在CPU中断响应周期内,控制逻辑将 发中断请求的外设预先准备好的一个地址送入CPU, CPU在硬件的支持下由该地址自动找到相应的中断 服务程序的入口,并转入中断服务程序。外设提供 给CPU的这一地址叫做中断矢量,每个外设都预先 设定一个自己的中断矢量,中断矢量与中断源一一 对应。
第七章 中断
§7.2 中断的处理过程
一、CPU响应中断的条件
中断响应是指从CPU发现中断请求,中止现行程 序到调出中断处理程序这一过程。
⒈ 设置中断请求触发器
对每个中断源来说,既要能发出中断请求信号, 而且能保持这个信号,直至CPU响应该请求后再 将其清除。因此,每个中断源都要有一个中断请 求触发器,如下图中的触发器A。
06.03.2021
整理ppt
5
§7.2 中断处理过程
一、CPU响应中断的条件
中断关闭与中断屏蔽不同。中断关闭对INTR 上所有的可屏蔽中断均不理睬;中断屏蔽则 只封锁被屏蔽的那个中断源,使其中断请求 不能到达CPU的INTR线上。即:
屏蔽——不让其中断请求发往CPU,在 接口中屏蔽
关闭—— INTR线上有中断请求,但CPU 当时不能响应,CPU内部关闭
06.03.2021
整理ppt
3
§7.2 中断处理过程
一、CPU响应中断的条件
⒊ 开放CPU内部的中断允许触发器
尽管外设有中断请求,但CPU并不一定会响应。 因为,在CPU内部设置了一个中断允许触发器, 该触发器的状态决定CPU对外设的中断是否响应。
中断允许
1
CPU响应中断,称 开中断(中断开放)
06.03.2021
整理ppt
15
§7.2 中断处理过程
四、中断优先级
06.03.2021
整理ppt
11
§7.2 中断处理过程
三、中断源的识别
06.03.2021
整理ppt
12
§7.2 中断处理过程
三、中断源的识别
• 查询中断与数据的查询传送方式有本质上的不同。 查询传送方式需要CPU花费大量时间不断循环询问, 以等待设备的“就绪”信号;而查询中断在外设无 中断请求时CPU照常执行程序,只有当CPU收到中 断请求,设备已“就绪”时,才查询是谁发出的中 断请求。因此查询中断是一种由中断启动而不是由 微处理器启动的“查询” 。
06.03.2021
整理ppt
6
§7.2 中断处理过程
⒋ 现行指令执行完毕
一、CPU响应中断的条件
在满足前三个条件后,CPU在执行现行指令的最 后一个机器周期的最后一个T状态时,才去采样 中断请求输入线INTR,若发现有中断请求,则把 CPU内部的中断锁存器置“1”,下一个机器周期 就不进入取指周期,而进入中断响应周期。
06.Baidu Nhomakorabea3.2021
整理ppt
14
§7.2 中断处理过程
三、中断源的识别
• 矢量中断以硬件的开销换取较快的中断响应速度, 而查询方式以软件和时间为代价来节省硬件。有时 混合使用这两种技术可获预期的较好效果,如在一 个较大的中断系统中,用矢量方法将中断源分为若 干小组,然后用查询法迅速从组内中识别出请求中 断的中断源。这两种方法结合比完全采用矢量中断 既经济,又不致对速度造成太大的影响。