<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>
你的位置:首頁(yè) > 傳感技術(shù) > 正文

經(jīng)驗積累:ARM處理器中如何判別IRQ與FIQ中斷?

發(fā)布時(shí)間:2015-05-18 責任編輯:sherry

【導讀】本篇文章主要對ARM中IRQ和FIQ進(jìn)行了簡(jiǎn)單的介紹,而后對這兩者的區別進(jìn)行了相近的分析。希望大家在閱讀過(guò)本篇文章之后能夠對ARM處理器中的中斷知識有進(jìn)一步的了解。
 
ARM可以說(shuō)是歷史上最成功的處理器之一,其之所以能夠暢銷(xiāo),主要原因是其比其他同類(lèi)32位代碼能夠節省將近35%的電能,但卻能保留住所有的優(yōu)勢。得益于A(yíng)RM的廣泛應用,針對其研發(fā)的技術(shù)與設計不在少數。ARM當中有兩種終端技術(shù),FIQ與IRQ。這兩種中斷技術(shù)均是ARM能夠支持的類(lèi)型,并且提供對應的叫做FIQ和IRQ處理器模式(ARM有7種處理模式)。
 
通常來(lái)說(shuō),在芯片的中斷控制器當中,設計者能夠自行決定與控制器相連的中斷輸入是FIQ還是IRQ。所以一個(gè)中斷是可以指定為FIQ或者IRQ的,為了達到合理的效果,以及要求系統更快響應,自身處理所耗時(shí)間也很短的中斷設置為FIQ,否則就設置了IRQ。
 
如果該中斷設置為了IRQ,那么當該中斷產(chǎn)生的時(shí)候,中斷處理器通過(guò)IRQ請求線(xiàn)告訴ARM,ARM得知IRQ中斷的存在,然后ARM切換到IRQ模式運行。類(lèi)似的如果該中斷設置為FIQ,那么當該中斷產(chǎn)生的時(shí)候,中斷處理器通過(guò)FIQ請求線(xiàn)告訴ARM,ARM就知道有個(gè)FIQ中斷,然后切換到FIQ模式運行。
 
通過(guò)實(shí)際操作,能夠發(fā)現FIQ比IRQ快,這是為什么呢?原因主要有四點(diǎn)。
 
ARM的FIQ模式提供了更多的banked寄存器,r8到r14還有SPSR,而IRQ模式就沒(méi)有那么多,R8、R9,R10、R11、R12對應的banked的寄存器就沒(méi)有,這就意味著(zhù)在A(yíng)RM的IRQ模式下,中斷處理程序自己要保存R8到R12這幾個(gè)寄存器,然后退出中斷處理時(shí)程序要恢復這幾個(gè)寄存器,而FIQ模式由于這幾個(gè)寄存器都有banked寄存器,模式切換時(shí)CPU自動(dòng)保存這些值到banked寄存器,退出FIQ模式時(shí)自動(dòng)恢復,所以這個(gè)過(guò)程FIQ比IRQ快。
 
FIQ比IRQ有更高優(yōu)先級,如果FIQ和IRQ同時(shí)產(chǎn)生,那么FIQ先處理。
 
FIQ的中斷向量地址在0x0000001C,而IRQ的在0x00000018。(也有的在FFFF001C以及FFFF0018),寫(xiě)過(guò)完整匯編系統的都比較明白這點(diǎn)的差別,18只能放一條指令,為了不與1C處的FIQ沖突,這個(gè)地方只能跳轉,而FIQ不一樣,1C以后沒(méi)有任何中斷向量表了,這樣可以直接在1C處放FIQ的中斷處理程序,由于跳轉的范圍限制,至少少了一條跳轉指令。
 
IRQ和FIQ的響應延遲有區別。
 
IRQ的響應并不及時(shí),從Verilog仿真來(lái)看,IRQ會(huì )延遲幾個(gè)指令周期才跳轉到中斷向量處,看起來(lái)像是在等預取的指令執行完。FIQ的響應不清楚,也許比IRQ快。
 
中斷延遲:從外部中斷請求信號發(fā)出到執行對應的中斷服務(wù)程序ISR的第一條指令所需要的時(shí)間。通過(guò)軟件程序設計來(lái)縮短中斷延遲的方法有:中斷優(yōu)先級和中斷嵌套。
 
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉

久久无码人妻精品一区二区三区_精品少妇人妻av无码中文字幕_98精品国产高清在线看入口_92精品国产自产在线观看481页
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>