Tail-chaining(末尾連鎖)中斷說明


【轉載】http://lxdawn.blog.163.com/blog/static/173620990201273111337204/

Tail-chaining是指一個中斷退出至下一個中斷進入這段時間的動

在工控領域,用戶要求具有更快的中斷速度,Cortex-M3采用了Tail-Chaining中斷技術,完全基於硬件進行中斷處理,最多可減少12個時鍾周期數,在實際應用中可減少 70%中斷。

當CPU服務於某個中斷(假設為A)時,如果有優先級低於當前中斷的其它中斷到達,它們(假設有B、C、D)將會被至於掛起狀態;當前中斷的處理結束后,所有處於掛起狀態的中斷中優先級最高的哪個(假設是C)將要被響應(8樓那段英文的后半段就是這個意思)。
按照以前沒有Tail-chaining的處理,大致的處理過程可以如下描述:
1)壓棧保存寄存器
2)進入中斷A的服務程序
3)處理中斷A
4) 退棧恢復寄存器
5)壓棧保存寄存器
6)進入中斷C的服務程序
7)處理中斷C
8) 退棧恢復寄存器
引入Tail-chaining的概念,上述的步驟4)和步驟5被省略,節省了時間。
從這個過程可以看出Tail-chaining的概念與中斷優先級的概念無關。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM