ARM中断与软中断

本文阐述了ARM处理器中中断和软中断的工作机制,包括它们如何处理现场保护、中断服务程序的特点以及中断返回过程的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ARM中 中断干的事:

              当发生中断时,系统不会马上转向执行中断,而是做了下面事:①继续执行完当前的指令,②将此时PC的值减去4后放入中断模式下的链接寄存器R14_irq,将状态寄存器中的值复制到中断模式下的备用状态寄存器SPSR_irq中;③将PC指针强制转到中断服务程序入口地址。

             要注意的是:①执行完当前的指令,由于流水线技术,保存在链接寄存器中的PC值其实是将要执行指令的下一条指令。流水线:取指令(放在PC中),译码,执行,。。。五级流水线技术,当前取指令放在PC中,所以当前正在执行的指令的地址是PC-8,译码的指令的地址是PC-4.

                                  ②在中断返回时,ARM啥事也没做即 没有进行任何现场的恢复

                                  ③中断子程序 既无参数 也无返回值

软中断干的事:

              主要就是将工作模式转换到管理模式下。干的事情是,系统调用软中断函数,那么马上进行模式的转换,并不是执行完当前的指令再进行转换,然后进行现成的保护,和硬中断一样做了两方面现场的保护。不同的是,此时保护的PC-4正好是将来返回时需要执行指令的地址。

              要注意的是:①软中断需要有个参数,即软中断号,此号是在创建软中断函数时人为设定的。在模式转换时,软中断号被保存在了当时正在执行的指令的后24位中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值