中断处理过程有哪些?中断处理过程的五个阶段

时间:2023-05-14 05:24:04 

中断处理全过程指的是从中断源发出中断请求开始,CPU响应这个请求,现行程序被中断,转至中断服务程序,直到中断服务程序执行完毕,CPU再返回原来的程序继续执行的整个过程。那么具体的中断处理全过程是哪些呢,下面小编就带着大家一起具体看看吧!

中断处理过程有哪些?中断处理过程的五个阶段

中断处理过程的五个阶段

中断处理的基本过程包括中断请求、中断判优、中断响应、中断服务 和中断返回等五个阶段。

1.中断请求阶段

1)发生在CPU内部的中断(内部中断),不需要中断请求,CPU内部的中断控制逻辑直接接收处理。

2)外部中断请求由中断源提出。外部中断源利用CPU的中断输入引脚 输入中断请求信号。一般CPU设有两个中断请求输入引脚:可屏蔽中断请求输入引脚和不可屏蔽中断请求输入引脚。

1.1中断请求触发器

每个中断源发中断请求信号的时间是不确定的,而CPU在何时响应中断也 是不确定的。所以,每个中断源都有一个中断请求触发器,锁存自己的中断请求信号,并保持到CPU响应这个中断请求之后才将其清除。

1.2中断允许触发器

在CPU内部有一个中断允许触发器,当其为“1”时,允许CPU响应中断, 称为开中断。若其为“0”,不允许CPU响应中断,中断被屏蔽,称为关中断。

%%通常,当CPU复位时,中断允许触发器也复位为“0”,即关中断。当 CPU中断响应时,CPU自动关闭中断,禁止接受另一个新的中断。

%%中断允许触发器的状态可以用开中断或关中断指令来设置。

2.中断判优阶段

CPU一次只能接受一个中断源的请求,当多个中断源同时向CPU提出中断请求时,CPU必须找出中断优先级最高的中断源,这一过程称为中断判优。

中断判优可以采用硬件方法,也可采用软件方法。

2.1软件判优

CPU检测到中断请求后,首先读取中断请求寄存器的内容,逐位检测它们的状态,检测到某一位为1,就确定对应的中断源有中断请求,转去执行它的中断服务程序。

先检测哪一个,哪一个的优先级就高,后检测哪一个,哪一个优先级就低,检测的顺序就是各中断源的优先级顺序。

中断处理过程有哪些?中断处理过程的五个阶段

假设上图中输入端口地址为87FFH。有如下查询程序:

MOV DX, 87FFH

IN AL, DX ;读中断请求寄存器内容

SHR AL, 1

JC IR0 ;IRQ0有请求,转IR0

SHR AL,1

JC IR1 ;IRQ1有请求,转IR1

SHR AL,1

JC IR2 ;IRQ2有请求,转IR2

… …

软件判优耗时较长。如果中断源很多,中断的实时性就很差,但是软件判优优先权安排灵活。

2.2硬件判优

利用专门的硬件电路确定中断源的优先级,有两种常见的方式:菊花链判优电路和中断控制器判优。

2.2.1菊花链判优电路

设计思想:每个中断源都有一个中断逻辑电路,所有的中断逻辑电路形成一个链,犹如菊花链。排在链前端的中断源优先级最高,越靠后的设备优先级越低。

中断处理过程有哪些?中断处理过程的五个阶段

实现过程: CPU收到中断请求,如果允许中断,CPU发出中断响应信号。中断响应信号首先到达菊花链的前端,如果中断源1提出了中断请求,它就会截获中断响应信号,封锁它,使它不能向下一个中断源传送。不论下面的中断源有没有提出中断请求,都不可能接收到中断响应信号,因此它们的中断请求也不能被响应。

2.2.2中断控制器判优

中断控制器,如Intel8259A,可以以多种方式设置中断源的中断优先级。 中断控制器中有一个中断优先级判别器,它自动判别出目前提出中断请求的优先级最高的中断源,并将它的中断向量码送到数据总线,CPU接收中断向量码并据此找到它的中断服务程序。

中断处理过程有哪些?中断处理过程的五个阶段

3、中断响应阶段

经过中断判优,中断处理就进入中断响应阶段。中断响应时,CPU向中断源发出中断响应信号,同时:

① 保护硬件现场;

② 关中断;

③ 保护断点;

④ 获得中断服务程序的入口地址。

4、中断服务阶段

中断服务程序的一般结构为:

1)保护现场。 在中断服务程序的起始部分安排若干条入栈指令,将各寄存器的内容压入堆栈保存。

2)开中断。 在中断服务程序执行期间允许级别更高的中断请求中断现 行的中断服务程序,实现中断嵌套。

3)中断服务。 完成中断源的具体要求。

4)恢复现场。 中断服务程序结束前,必须恢复主程序的中断现场。通常是将保存在堆栈中的现场信息弹出到原来的寄存器中。

5)中断返回。 返回到原程序的断点处,继续执行原程序。

5.中断返回阶段

返回到原程序的断点处,恢复硬件现场,继续执行原程序。

中断返回操作是中断响应操作的逆过程。

标签:
0
投稿

猜你喜欢

  • win10如何清理电脑广告弹窗

    2022-07-12 04:31:19
  • 迅速提取Word和Powerpoint文档里面地图片

    2023-10-23 02:01:24
  • 升级iOS 13后,App Store没有更新选项怎么办?

    2022-05-06 12:52:49
  • win11任务管理器在哪打开

    2023-12-26 13:02:12
  • WinXP系统电脑读取源文件或磁盘失败的解决方法

    2022-10-18 07:20:56
  • WPS文档技巧—如何显示文章行号

    2022-09-14 08:36:57
  • ppt怎么制作微立体效果? ppt微立体风的设计方法

    2023-06-26 11:04:39
  • win11系统硬盘怎么设置性能? Win11磁盘开启高性能的技巧

    2022-11-01 11:31:06
  • 用EXCEL表格和软件打开xml文件的方法具体步骤

    2023-11-11 05:45:53
  • 百度网盘转存失败是什么原因?百度网盘转存失败解决方法

    2023-10-25 08:47:12
  • 石头阅读如何去广告?石头阅读去广告的方法

    2023-03-22 09:16:18
  • 微软Win10 2004 RTM Build 19041 MSDN官方ISO镜像下载大全(持续更新)

    2022-08-11 17:15:02
  • 红米RedmiG怎么进入bios?RedmiG进bios介绍

    2022-10-04 14:49:04
  • Excel2007如何设置只读加密属性,保护数据安全

    2022-05-29 21:58:04
  • Win11系统怎么进行多任务分屏?Win11多任务分屏设置方法

    2022-02-18 02:42:14
  • win7磁盘碎片整理的开启取消方法

    2023-11-05 05:28:05
  • Win10一周年更新版累积更新14393.187 或将于9月14日发布

    2023-10-08 11:29:36
  • Win7打开ie提示api-ms-win-core-path-l1-1-0.dll丢失怎么解决?

    2022-03-08 23:52:32
  • 干货:快速提高效率的9种WPS排版方法

    2022-06-15 05:06:40
  • 马桶MT怎么上传录音 马桶MT上传录音的图文操作

    2022-12-13 18:18:08
  • asp之家 电脑教程 m.aspxhome.com