在线客服
扫描二维码
下载博学谷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中断响应过程,讲解的每一个步骤都是干货,大家都弄清楚了吗?觉得有用的小伙伴可以分享出去,给更多需要的人看到。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
面试中经常遇到的问题(中)HR都会问什么?
面试中经常遇到的问题(中)HR都会问什么?你最擅长的技术方向是什么?你能为我们公司带来什么呢?最能概括你自己的三个词是什么?你的业余爱好是什么?等问题。
10715
2019-08-08 09:59:29
嵌入式工程师待遇怎么样?工资高吗?
嵌入式工程师待遇怎么样?以北京为例的一线城市,嵌入式工程师待遇优渥。不算其他福利,基础月薪怎么也有一万五,工作两三年差不多在三万左右。这样的工资即使是在北京也已经算是高薪了。而且随着物联网和智能硬件的发展,嵌入式技术逐渐与智能学科相结合,相信在未来二三线城市会有更多的工作需求,嵌入式工程师待遇都不会太低。
7715
2019-08-01 11:14:24
现在哪个行业前景好?未来发展趋势怎么样?
现在哪个行业前景好?随着第四次工业革命的到来,未来十年各行各业都会发生极大的改变。第四次工业革命在许多人耳中可能有些陌生,但是大家一定知道5G高速通信技术、人工智能、大数据技术吧,这些科技的重大突破是真真切切地改变着我们的生活和工作,其未来发展的趋势也是不可限量的。
7608
2019-08-16 16:32:49
微信监听用户聊天记录是真的吗?
不知道大家是否经历过如下的事情:刚和大家聊吃什么菜系,打开某App就有相关餐馆推荐;昨晚和家人在聊买房,今天就推送了油漆;昨天刚说床不舒服,今天就推送床垫等等。可能出现一两次还是偶然,但是如果大家经常出现这么巧的情况,就难免会有所怀疑。最近,网传微信监听了用户聊天记录,这是真的吗?下面我们一起来分析一下。
11176
2020-06-02 18:26:28
如何写出一份有价值的周报?
前两天,一位阿里员工爆料,阿里的周报取消了!网友对此纷纷表示羡慕、嫉妒之情,毕竟其他厂的互联网人还仍旧在被周报“折磨”。虽然写周报让人头大,不过周报对于绝大部分公司来说,还是必须要写的。既然要写,那我们就一定要把它的价值发挥到最大。接下来我们来聊聊“如何写出一份有价值的周报”。
4691
2020-07-16 15:22:35