經(jīng)驗(yàn)積累:ARM處理器中如何判別IRQ與FIQ中斷?
發(fā)布時(shí)間:2015-05-18 責(zé)任編輯:sherry
【導(dǎo)讀】本篇文章主要對(duì)ARM中IRQ和FIQ進(jìn)行了簡(jiǎn)單的介紹,而后對(duì)這兩者的區(qū)別進(jìn)行了相近的分析。希望大家在閱讀過(guò)本篇文章之后能夠?qū)RM處理器中的中斷知識(shí)有進(jìn)一步的了解。
ARM可以說(shuō)是歷史上最成功的處理器之一,其之所以能夠暢銷,主要原因是其比其他同類32位代碼能夠節(jié)省將近35%的電能,但卻能保留住所有的優(yōu)勢(shì)。得益于ARM的廣泛應(yīng)用,針對(duì)其研發(fā)的技術(shù)與設(shè)計(jì)不在少數(shù)。ARM當(dāng)中有兩種終端技術(shù),F(xiàn)IQ與IRQ。這兩種中斷技術(shù)均是ARM能夠支持的類型,并且提供對(duì)應(yīng)的叫做FIQ和IRQ處理器模式(ARM有7種處理模式)。
通常來(lái)說(shuō),在芯片的中斷控制器當(dāng)中,設(shè)計(jì)者能夠自行決定與控制器相連的中斷輸入是FIQ還是IRQ。所以一個(gè)中斷是可以指定為FIQ或者IRQ的,為了達(dá)到合理的效果,以及要求系統(tǒng)更快響應(yīng),自身處理所耗時(shí)間也很短的中斷設(shè)置為FIQ,否則就設(shè)置了IRQ。
如果該中斷設(shè)置為了IRQ,那么當(dāng)該中斷產(chǎn)生的時(shí)候,中斷處理器通過(guò)IRQ請(qǐng)求線告訴ARM,ARM得知IRQ中斷的存在,然后ARM切換到IRQ模式運(yùn)行。類似的如果該中斷設(shè)置為FIQ,那么當(dāng)該中斷產(chǎn)生的時(shí)候,中斷處理器通過(guò)FIQ請(qǐng)求線告訴ARM,ARM就知道有個(gè)FIQ中斷,然后切換到FIQ模式運(yùn)行。
通過(guò)實(shí)際操作,能夠發(fā)現(xiàn)FIQ比IRQ快,這是為什么呢?原因主要有四點(diǎn)。
ARM的FIQ模式提供了更多的banked寄存器,r8到r14還有SPSR,而IRQ模式就沒(méi)有那么多,R8、R9,R10、R11、R12對(duì)應(yīng)的banked的寄存器就沒(méi)有,這就意味著在ARM的IRQ模式下,中斷處理程序自己要保存R8到R12這幾個(gè)寄存器,然后退出中斷處理時(shí)程序要恢復(fù)這幾個(gè)寄存器,而FIQ模式由于這幾個(gè)寄存器都有banked寄存器,模式切換時(shí)CPU自動(dòng)保存這些值到banked寄存器,退出FIQ模式時(shí)自動(dòng)恢復(fù),所以這個(gè)過(guò)程FIQ比IRQ快。
FIQ比IRQ有更高優(yōu)先級(jí),如果FIQ和IRQ同時(shí)產(chǎn)生,那么FIQ先處理。
FIQ的中斷向量地址在0x0000001C,而IRQ的在0x00000018。(也有的在FFFF001C以及FFFF0018),寫過(guò)完整匯編系統(tǒng)的都比較明白這點(diǎn)的差別,18只能放一條指令,為了不與1C處的FIQ沖突,這個(gè)地方只能跳轉(zhuǎn),而FIQ不一樣,1C以后沒(méi)有任何中斷向量表了,這樣可以直接在1C處放FIQ的中斷處理程序,由于跳轉(zhuǎn)的范圍限制,至少少了一條跳轉(zhuǎn)指令。
IRQ和FIQ的響應(yīng)延遲有區(qū)別。
IRQ的響應(yīng)并不及時(shí),從Verilog仿真來(lái)看,IRQ會(huì)延遲幾個(gè)指令周期才跳轉(zhuǎn)到中斷向量處,看起來(lái)像是在等預(yù)取的指令執(zhí)行完。FIQ的響應(yīng)不清楚,也許比IRQ快。
中斷延遲:從外部中斷請(qǐng)求信號(hào)發(fā)出到執(zhí)行對(duì)應(yīng)的中斷服務(wù)程序ISR的第一條指令所需要的時(shí)間。通過(guò)軟件程序設(shè)計(jì)來(lái)縮短中斷延遲的方法有:中斷優(yōu)先級(jí)和中斷嵌套。
特別推薦
- 車用開關(guān)電源的開關(guān)頻率定多高才不影響EMC?
- 大聯(lián)大世平集團(tuán)的駕駛員監(jiān)控系統(tǒng)(DMS)方案榮獲第六屆“金輯獎(jiǎng)之最佳技術(shù)實(shí)踐應(yīng)用”獎(jiǎng)
- 貿(mào)澤推出針對(duì)基礎(chǔ)設(shè)施和智慧城市的工程技術(shù)資源中心
- 貿(mào)澤電子開售用于IoT、智能和工業(yè)應(yīng)用的Siemens LOGO! 8.4云邏輯模塊
- 英飛凌推出全球最薄硅功率晶圓,突破技術(shù)極限并提高能效
- 東芝推出面向多種車載應(yīng)用3相直流無(wú)刷電機(jī)的新款柵極驅(qū)動(dòng)IC
- 村田開發(fā)兼顧伸縮性和可靠性的“可伸縮電路板”
技術(shù)文章更多>>
- 優(yōu)化SPI驅(qū)動(dòng)程序的幾種不同方法
- DigiKey 2024 年第三季度新增 139 家供應(yīng)商和 611,000 多種創(chuàng)新產(chǎn)品,擴(kuò)展了新產(chǎn)品陣容
- 匯聚智造大咖,共探智能工業(yè)未來(lái) AMTS & AHTE SOUTH CHINA 2024亮點(diǎn)全揭秘!
- 時(shí)刻關(guān)注“得捷時(shí)刻”直播活動(dòng),DigiKey 將在electronica 2024展示新產(chǎn)品,并贈(zèng)送精美禮品
- 意法半導(dǎo)體公布2024年第三季度財(cái)報(bào)
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索