在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
本文就CPU中断响应过程的九个步骤进行简单讲述,希望大家都能通过本文大致了解中断响应过程。

CPU响应中断,就是CPU要去执行相应的中断服务程序,其响应过程是CPU将现在执行程序的指令地址压入堆栈,跳转到中断服务程序入口地址,中断服务程序的入口地址就是中断向量,这个中断向量用2个16位寄存器存放。入口地址是22位的,地址的低16位保存在该向量的低16位,地址的高16位则保存在它的高6位,更高的10位保留。
步骤一:任何一个PIE中断组的外设或外部中断产生中断。如果外设模块内的中断被使能,中断请求将被送到PIE模块。
步骤二:PIE模块将识别出别的PIE中断组x内的y中断(INTx.y)申请,然后相应的PIE中断标志位被锁存:PIEIFRx.y=1。
步骤三:PIE的中断如要送到CPU需满足下面两个条件:
1.相应的使能位必须被设置(PIEIERx.y=1)。
2.相应的PIEACKx位必须被清除。
步骤四:如果满足步骤三中的两个条件,中断请求将被送到CPU并且相应的响应寄存器位被置1(PIEACKx=1)。PIEACKx位将保持不变,除非为了使本组中的其他中断向CPU发出申请而清除该位。
步骤五:CPU中断标志位被置位(CPUIFRx=1),表明产生一个CPU级的挂起中断。
步骤六:如果CPU中断被使能(CPUIERx=1,或DBGIERx=1),并且全局中断使能(INTM=0),CPU将处理中断INTx。
步骤七:CPU识别到中断并且自动保存相关的中断信息,清除使能寄存器(IER)位,设置INTM,清除EALLOW。CPU完成这些任务准备执行中断服务程序。
步骤八:CPU从PIE中获取响应的中断向量。
步骤九:对于复用中断,PIE模块用PIEIERx和PIEIFRx寄存器中的值确定响应中断的向量地址。有以下两种情况:
1.在步骤四中若有更高优先级的中断产生,并使能了PIEIERx寄存器,且PIEIFRx的相应位处于挂起状态,则首先响应优先级更高的中断。
2.如果在本组内没有挂起的中断被使能,PIE将响应组内优先级最高的中断,调转地址使用INTx.1。这种操作相当于处理器的TRAP或INT指令。
CPU进入中断服务程序后,将清除PIEIFRx.y位。需要说明的是,PIEIERx寄存器用来确定中断向量,在清除PIEIERx寄存器时必须注意。
以上就是CPU中断响应过程,讲解的每一个步骤都是干货,大家都弄清楚了吗?觉得有用的小伙伴可以分享出去,给更多需要的人看到。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
安卓被曝的严重漏洞是什么?
相信涉及用户隐私的网络安全问题,一直都是大家关注的焦点。近来,安卓被爆存在严重漏洞。那么,安卓被曝的严重漏洞到底是什么呢?原来,在安卓系统的相机App中,以色列的一家安全公司发现恶意软件可以通过存储访问的权限,调用用户的摄像头和麦克风。这一消息的发布,可谓是一石激起千层浪,要知道如果是真的这将对数亿用户都造成影响。事实果真如此吗?让我们一起来看看最新的事件详情。
5828
2019-11-21 18:03:08
计算机培训班有用吗?哪些人适合报培训班?
关于计算机培训班是否有用要根据自己的情况出发,如果是零基础学员小编认为参加计算机培训班非常有用也很有必要。培训机构为整个IT行业培养了大量的专业人才,不少IT行业的从业者都有过培训的经历,总体来说计算机培训比较靠谱。
12181
2020-04-20 15:25:48
如何判断IT培训机构及教学质量好坏?
如何判断IT培训机构及教学质量好坏?培训机构以及它的课程,只有质量好才能用名声或口碑来宣传自己,吸引更多的人报名参加。对于学习这件事情来说,以学到为准,不以谁传授,传授方式,密度强度为准。
5272
2020-06-11 14:44:15
靠谱的IT软件培训学校怎么挑选?
怎样挑选靠谱的IT软件培训学校?多数大学生虽是从计算机专业毕业的,但由于没有实际操作经验很难满足企业的需求,导致常常面临刚毕业又面临失业的状况。面对就业的压力,大学生不得不再次学习来满足企业的需求。于是许多人会想选择去IT软件培训学校学习,那么应该怎样挑选靠谱的IT软件培训学校呢?
4822
2020-06-17 17:48:27
Go语言和Python区别是什么?学哪个好?
Go语言和Python区别是什么?学哪个好?Python功能强大的高级编程语言,用于科学和工程计算。Go通用编程语言,由Google设计,借鉴了许多其他语言,避免导致复杂性和不可靠代码的功能。放下个人偏见和喜好,从优点和功能的角度来评价两种语言。不管选择了哪种语言,Go 和 Python 都在持续演进。
6580
2020-07-31 11:05:45
