你的位置: 首页> 通信技术> 嵌入式系统

ARM中断延迟

2016-10-23 09:16:41 |人围观 | 评论:

关于“最大中断延迟”:当FIQ使能时,最坏情况是正在执行一条装载所有寄存器的指令“LDM”(它耗时最长),同时发生了FIQ和数据中止异常,在响应FIQ中断之前要先把正在执行的指令完成,然后先进入数据中止异常,再马上跳转到FIQ异常入口,所以延迟时间包含:
(1)Tsyncmax,请求通过同步器的最长时间。为2个处理器周期(由内核决定);
(2)Tldm,最长的指令执行需要的时间。Tldm在零等待状态系统中的执行时间为20个周期。注意,是在零等待状态系统中。一般的基于ARM7核的芯片的存储器系统比内核速度慢,造成其不是零等待的;
(3)Texc,数据中止入口的时间。Texc为3个周期(由内核决定);
(4)Tfiq,FIQ入口的时间。Tfiq为2个周期(由内核决定)。
“FIQ总的延迟时间”= syncmax +Tldm +Texc +Tfiq=27个周期
在40MHz处理器时钟时,最大延迟时间略少于0.7us。在此时间结束后,ARM7TDMI执行位于0x1C处的指令。
最大的IRQ延迟时间与之相似,但必须考虑到这样一种情况,当更高优先级的FIQ和IRQ同时申请时,IRQ要延迟到FIQ处理程序允许IRQ中断时才处理(可能需要对中断控制器进行相应的操作)。IRQ延迟时间也要相应增加。
关于“最小中断延迟”:FIQ或IRQ的最小中断延迟是请求通过同步器的时间Tsyncmin加上Tfiq(共4个处理器周期)。




标签:

相关内容推荐: