經驗積累:ARM處理器中如何判別IRQ與FIQ中斷?
發布時間:2015-05-18 責任編輯:sherry
【導讀】本篇文章主要對ARM中IRQ和FIQ進行了簡單的介紹,而後對這兩者的區別進行了相近的分析。希望大家在閱讀過本篇文章之後能夠對ARM處理器中的中斷知識有進一步的了解。
ARM可以說是曆史上最成功的處理器之一,其之所以能夠暢銷,主要原因是其比其他同類32位代碼能夠節省將近35%的電能,但卻能保留住所有的優勢。得益於ARM的廣泛應用,針對其研發的技術與設計不在少數。ARM當中有兩種終端技術,FIQ與IRQ。這兩種中斷技術均是ARM能夠支持的類型,並且提供對應的叫做FIQ和IRQ處理器模式(ARM有7種處理模式)。
通常來說,在芯片的中斷控製器當中,設計者能夠自行決定與控製器相連的中斷輸入是FIQ還是IRQ。所以一個中斷是可以指定為FIQ或者IRQ的,為了達到合理的效果,以及要求係統更快響應,自身處理所耗時間也很短的中斷設置為FIQ,否則就設置了IRQ。
如果該中斷設置為了IRQ,那麼當該中斷產生的時候,中斷處理器通過IRQ請求線告訴ARM,ARM得知IRQ中斷的存在,然後ARM切換到IRQ模式運行。類似的如果該中斷設置為FIQ,那麼當該中斷產生的時候,中斷處理器通過FIQ請求線告訴ARM,ARM就知道有個FIQ中斷,然後切換到FIQ模式運行。
通過實際操作,能夠發現FIQ比IRQ快,這是為什麼呢?原因主要有四點。
ARM的FIQ模式提供了更多的banked寄存器,r8到r14還有SPSR,而IRQ模式就沒有那麼多,R8、R9,R10、R11、R12對應的banked的寄存器就沒有,這就意味著在ARM的IRQ模式下,中斷處理程序自己要保存R8到R12這幾個寄存器,然後退出中斷處理時程序要恢複這幾個寄存器,而FIQ模式由於這幾個寄存器都有banked寄存器,模式切換時CPU自動保存這些值到banked寄存器,退出FIQ模式時自動恢複,所以這個過程FIQ比IRQ快。
FIQ比IRQ有更高優先級,如果FIQ和IRQ同時產生,那麼FIQ先處理。
FIQ的中斷向量地址在0x0000001C,而IRQ的在0x00000018。(也有的在FFFF001C以及FFFF0018),寫過完整彙編係統的都比較明白這點的差別,18隻能放一條指令,為了不與1C處的FIQ衝突,這個地方隻能跳轉,而FIQ不一樣,1C以後沒有任何中斷向量表了,這樣可以直接在1C處放FIQ的中斷處理程序,由於跳轉的範圍限製,至少少了一條跳轉指令。
IRQ和FIQ的響應延遲有區別。
IRQ的響應並不及時,從Verilog仿真來看,IRQ會延遲幾個指令周期才跳轉到中斷向量處,看起來像是在等預取的指令執行完。FIQ的響應不清楚,也許比IRQ快。
中斷延遲:從外部中斷請求信號發出到執行對應的中斷服務程序ISR的第一條指令所需要的時間。通過軟件程序設計來縮短中斷延遲的方法有:中斷優先級和中斷嵌套。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
- 從技術研發到規模量產:恩智浦第三代成像雷達平台,賦能下一代自動駕駛!
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索




