FIQ和IRQ區(qū)別

簡(jiǎn)單的對(duì)比的話就是FIQ比IRQ快,為什么快呢?

1:ARM的FIQ模式提供了更多的banked寄存器,r8到r14還有SPSR,而IRQ模式就沒有那么多,R8,R9,R10,R11,R12對(duì)應(yīng)的banked的寄存器就沒有,這就意味著在ARM的IRQ模式下,中斷處理程序自己要保存R8到R12這幾個(gè)寄存器,然后退出中斷處理時(shí)程序要恢復(fù)這幾個(gè)寄存器,而FIQ模式由于這幾個(gè)寄存器都有banked寄存器,模式切換時(shí)CPU自動(dòng)保存這些值到banked寄存器,退出FIQ模式時(shí)自動(dòng)恢復(fù),所以這個(gè)過程FIQ比IRQ快。

2:FIQ比IRQ有更高優(yōu)先級(jí),如果FIQ和IRQ同時(shí)產(chǎn)生,那么FIQ先處理。

3:FIQ的中斷向量地址在0x0000001C,而IRQ的在0x00000018。(也有的在FFFF001C以及FFFF0018),寫過完整匯編系統(tǒng)的都比較明白這點(diǎn)的差別,18只能放一條指令,為了不與1C處的FIQ沖突,這個(gè)地方只能跳轉(zhuǎn),而FIQ不一樣,1C以后沒有任何中斷向量表了,這樣可以直接在1C處放FIQ的中斷處理程序,由于跳轉(zhuǎn)的范圍限制,至少少了一條跳轉(zhuǎn)指令。
————————————————
版權(quán)聲明:本文為CSDN博主「michaelcao1980」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/michaelcao1980/article/details/19542039

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 哈嘍,大家好。我終于回來了!19號(hào)剛提交完大論文,就被抓去出差了,折騰了整整一周,26號(hào)晚上,才回到學(xué)校。鴿了好久...
    3561cc5dc1b0閱讀 1,294評(píng)論 0 0
  • Linux 中,當(dāng)外設(shè)觸發(fā)中斷后,大體處理流程如下: a -- 具體CPU architecture相關(guān)的模塊會(huì)進(jìn)...
    呼啦啦的愛閱讀 983評(píng)論 0 0
  • 偽指令:編譯器識(shí)別的指令。 ldr偽指令 ldr r0,=0x12345678 ldr指令 ldr r0,[r0...
    ibo閱讀 410評(píng)論 0 0
  • 版權(quán)聲明:本文為小斑馬學(xué)習(xí)總結(jié)文章,技術(shù)來源于韋東山著作,轉(zhuǎn)載請(qǐng)注明出處! 一、概念引入與處理流程 取個(gè)場(chǎng)景解釋中...
    ZebraWei閱讀 7,635評(píng)論 0 2
  • 本文為我在復(fù)習(xí)嵌入式系統(tǒng)這門課程時(shí)對(duì)該課程的知識(shí)點(diǎn)的歸納總結(jié),不定期更新,希望可以有所幫助。 考試相關(guān) 考試內(nèi)容 ...
    HappyTianHao閱讀 1,874評(píng)論 0 5

友情鏈接更多精彩內(nèi)容