发布时间:2022-07-04 15:19:33来源:JQDEMO.COM
中断处理过程有哪些 CPU响应请求转至中断服务程序分享,中断处理的全过程是指中断源发出中断请求,CPU为响应此请求,当前程序被中断,转移到中断服务程序,直到中断服务程序完成,CPU然后回到原来程序继续执行的整个过程。那具体中断处理的全过程是什么,下面小编就带大家一起来看看吧!
中断处理过程的五个阶段
中断处理的基本过程包括中断请求.中断判优.中断响应.中断服务和中断返回等五个阶段。
1.请求中断阶段
1)发生在CPU内部中断(内部中断),无需中断请求,CPU直接接收处理内部中断控制逻辑。
2)中断源提出外部中断请求。外部中断源断源CPU中断输入引脚输入中断请求信号。CPU有两个中断请求输入脚:屏蔽中断请求输入脚和不屏蔽中断请求输入脚。
1.请求触发器中断
中断请求信号的每个中断源的时间是不确定的,但是,CPU不确定响应何时中断。因此,每个中断源都有一个中断请求触发器,将自己的中断请求信号锁定并保持到CPU在响应中断请求后,将其清除。
1.允许触发器中断
在CPU内部有一个中断允许触发器,当它是“1”时,允许CPU响应中断,称为开中断。如果它是“0”,不允许CPU响应中断,中断被屏蔽,称为关中断。
通常为%%%CPU复位时,中断允许触发器也复位为“0”即关中断CPU中断响应时,CPU自动关闭中断,禁止接受新的中断。
开中断或关中断指令可以设置%%%中断允许触发器的状态。
2.中断判优阶段
CPU当多个能接受一个中断源的请求只能接受一个中断源的请求CPU提出中断请求时,CPU必须找出中断优先级最高的中断源,这个过程称为中断判断。
硬件法或软件法可用于中断判优。
2.1软件判优
CPU检测到中断请求后,首先阅读中断请求寄存器的内容,逐个检测它们的状态,检测到某个位置为1,确定相应的中断源有中断请求,并转移到其中断服务程序。
先检测哪一个,哪一个优先级就高,后检测哪一个,哪一个优先级就低,检测顺序就是每一个中断源的优先级。
假设上图中的输入端口地址为87FFH。有以下查询程序:
MOVDX,87FFH
INAL,DX;请求寄存器的内容
SHRAL,1
JCIR0;IRQ0有请求,转IR0
SHRAL,1
JCIR1;IRQ1有请求,转IR1
SHRAL,1
JCIR2;IRQ2有请求,转IR2
……
软件判优需要很长时间。若中断源多,中断的实时性很差,但软件判优先权安排灵活。
2.2硬件判优
有两种常见的方法可以使用专用硬件电路来确定中断源的优先级:菊花链判优电路和中断控制器判优。
2.2.菊花链判优电路
设计理念:每个中断源都有一个中断逻辑电路,所有中断逻辑电路都形成一条链条,就像菊花链一样。链条前端的中断源优先级最高,设备越低,优先级越低。
实现过程:CPU如果允许中断请求,收到中断请求,CPU发出中断响应信号。中断响应信号首先到达菊花链的前端。如果中断源1提出中断请求,它将拦截中断响应信号并阻止它,使其无法传输到下一个中断源。无论下面的中断源是否提出中断请求,都不可能接收中断响应信号,因此无法响应其中断请求。
2.2.2中断控制器判优
中断控制器,例如Intel8259A,中断源的中断优先级可以以多种方式设置。中断控制器中有一个中断优先级判断器,它自动判断当前中断请求的最高优先级中断源,并将其中断向量代码发送到数据总线,CPU接收中断向量码,找到其中断服务程序。
3.中断响应阶段
中断判决后,中断处理进入中断响应阶段。中断响应时,CPU同时向中断源发出中断响应信号:
①保护硬件现场;
②关中断;
③保护断点;
④获取中断服务程序的入口地址。
4.中断服务阶段
中断服务程序的一般结构是:
1)保护现场。在中断服务程序的开始部分,安排几条入栈指令,将寄存器的内容压入堆栈保存。
2)中断。在中断服务程序执行期间,允许更高级别的中断请求中断当前的中断服务程序,实现中断嵌套。
3)中断服务。具体要求完成中断源。
4)恢复现场。在中断服务程序结束之前,必须恢复主程序的中断现场。通常情况下,现场信息保存在堆栈中弹出到原来的寄存器中。
5)中断返回。回到原程序的断点,继续执行原程序。
5.中断返回阶段
回到原程序断点,恢复硬件现场,继续执行原程序。
中断返回操作是中断响应操作的反向过程。
JQ下载站为您提供最好的手机教程,为您带来最新的手机信息
驱动精灵怎么设置CPU预警温度
驱动精灵如何测试cpu性能
360驱动大师如何关闭CPU温控
MuMu模拟器CPU占用率怎么降低
雷电模拟器cpu设置核数是多少
雷电模拟器cpu占用过高怎么办
微星小飞机怎么显示CPU
BlueStacks如何增加CPU核心数
雷电模拟器怎么设置CPU参数
雷电模拟器如何设置CPU
好压(HaoZip)在哪开启智能限制CPU使用率
360安全浏览器如何解决CPU占用率太高 解决CPU占用率太高方法介绍
win11CPU锁频怎么回事 CPU锁频原因介绍
win10 1909cpu占用率高怎么回事 1909cpu占用率高原因介绍
驱动精灵如何测试cpu性能好坏 测试cpu性能好坏教程分享
电脑怎么超频(电脑怎么超频cpu)
电脑cpu温度过高怎么办(笔记本电脑cpu温度过高怎么办)
cpu使用率100怎么办(cpu使用率100怎么办九种处理方法)
cpu性能怎么看(cpu性能怎么看好坏)
cpu怎么超频(台式机cpu怎么超频)
王国冲突竞技场
84MB | 模拟塔防
大话仙境无限仙玉版
163.33MB | 挂机养成
特种部队小组2内置MOD菜单
284.82MB | 枪战射击
战后手游最新版国际版
145.48MB | 枪战射击
光隙解语国际服官网版
1053MB | 卡牌对战
鬼天3社区版多人联机版
1648.37MB | 动作格斗
极限摩托公鸡
18.68MB | 体育竞技
像素酷跑大师
133MB | 休闲益智
奥特曼格斗进化2内置菜单版
未知 | 动作格斗
海岛奇兵官方下载
144.6M | 模拟塔防
从零开始的异世界生活手游
1.95G | 角色扮演
拳皇98终极之战OL官方版
1,010.2M | 动作格斗
火箭联盟极限汽车赛全解锁版
未知 | 体育竞技
元梦之星2023
1.11GB | 休闲益智
仙剑风云再起
未知 | 挂机养成
中世纪战场
27.7MB | 模拟塔防
2023-04-19
OPPOA1Pro红包提醒在哪开启 红包提醒开启方法介绍
保密观怎么快速进入课程 快速进入课程方法介绍
企业微信日程怎么删除 日程删除方法介绍
b站uid如何查找人 uid查找人教程介绍
iqoo11在哪关闭自动亮度调节 关闭自动亮度调节方法介绍
微博怎么看关注报告 看关注报告方法介绍
番茄小说在哪里设置听书模式 设置听书模式教程介绍
红米k60任务管理界面怎么显示运行内存 任务管理界面显示运行内存方法
vivos16如何隐藏桌面应用 隐藏桌面应用方法介绍