Cortex-M3 处理器的咬尾中断

       最近在学习Cortex-M3 处理器,看到一些资料上提到一些不太好理解的名词,像:“背对背中断”、“占线优先级”、“次优先级”等,相信有很多朋友应该在初次看到时也会有一些疑惑吧!下面是我个人对它们的理解,如果有不对的地方,还望大家指正

       首先看看Cortex-M3 处理器是怎么处理中断的吧,它像其他的单片机一样,当出现异常(对于Cortex-M3 处理器来说,异常分为很多种,我们常用到的中断只是其中的一部分而已)的时候,先会将处理器状态保存到相应的堆栈中,并在中断服务程序结束时,从堆栈中将那些保存了的寄存器值恢复,在这里恢复的时候如果没有多余的状态保存和恢复指令的话就会用到咬尾中断了。

       我个人的理解就是,当处理器当前正在处理一个中断的时候,来了一个优先级更高的中断请求,那么当前的中断处理就会被打断,而被挂起,这个就和uC/OS的任务调度差不多,对于中断的处理前面已经提过,就是中断发生时会先保存处理器相关寄存器的值,而后在ISR结束时恢复,那么在高优先级中断打断低优先级中断这个过程中,处理器对于寄存器入栈和出栈的操作只进行了一次,即处理器在挂起低优先级中断任务,并去响应高优先级中断的过程就没有对处理器相关寄存器入栈和出栈的操作——咬尾中断,这样相对于处理器来说对于中断的响应时间就会减少,特别是对于在发生中断嵌套的时候由低优先级任务切换到高优先级任务时的响应速度会有较大提升。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值