當(dāng)CPU正在處理某件事情的時(shí)候,外部發(fā)生的某一事件請(qǐng)求CPU迅速去處理, CPU暫時(shí)中止當(dāng)前的工作,轉(zhuǎn)去處理所發(fā)生的事件,處理完該事件以后,再回到原來(lái)被中止的地方,繼續(xù)原來(lái)的工作。這種過(guò)程為中斷,實(shí)現(xiàn)這種服務(wù)的部件稱為中斷系統(tǒng)。
功能:①實(shí)時(shí)處理,能對(duì)外界異步發(fā)生的事件作出及時(shí)的處理。②完全消除了CPU在查詢方式中的等待現(xiàn)象,大大提高了CPU的工作效率。③實(shí)現(xiàn)實(shí)時(shí)控制。
中斷優(yōu)先級(jí)處理的原則是什么?
中斷優(yōu)先級(jí)是CPU響應(yīng)中斷的先后順序。中斷優(yōu)先處理的原則是:
(1)先響應(yīng)優(yōu)先級(jí)高的中斷請(qǐng)求,再響應(yīng)優(yōu)先級(jí)低的中斷請(qǐng)求。
(2)如果一個(gè)中斷請(qǐng)求己被響應(yīng),同級(jí)的其他中斷請(qǐng)求將被禁止。
(3)如果同級(jí)的多個(gè)中斷請(qǐng)求同時(shí)出現(xiàn),CPU則按單片機(jī)內(nèi)部的自然優(yōu)先級(jí)順序響應(yīng)各中斷請(qǐng)求。
單片機(jī)內(nèi)部自然優(yōu)先級(jí)順序(由高到低)為: 外部中斷0→定時(shí)器0中斷→外部中斷l(xiāng)→定時(shí)器1中斷→串行接口中斷。
單片機(jī)中斷響應(yīng)時(shí)間的計(jì)算
中斷響應(yīng)時(shí)間:從外部中斷請(qǐng)求有效(外部中斷請(qǐng)求標(biāo)志置1)到轉(zhuǎn)向中斷入口地址所需要的響應(yīng)時(shí)間。每個(gè)機(jī)器周期的S5P2時(shí)刻,INTx引腳的電平被鎖存到內(nèi)部寄存器中,待下一個(gè)周期查詢。
1.最短時(shí)間:中斷請(qǐng)求有效,查詢后在下一個(gè)周期便開(kāi)始執(zhí)行一條硬件的子程序的調(diào)用(時(shí)間是兩個(gè)周期),然后開(kāi)始執(zhí)行服務(wù)程序的第一條指令。這樣從鎖存電平的周期到執(zhí)行中斷服務(wù)程序,中間相隔3個(gè)機(jī)器周期。
2.最長(zhǎng)時(shí)間:如果中斷信號(hào)發(fā)生在前面所說(shuō)的3種情況時(shí),響應(yīng)時(shí)間就要變長(zhǎng):
(1)響應(yīng)時(shí)間取決于正在執(zhí)行的同級(jí)或高級(jí)中斷的執(zhí)行時(shí)間;
(2)指當(dāng)前CPU執(zhí)行的指令是多周期指令,如乘除法指令(4個(gè) 周期),最壞情況,還要等3個(gè)周期。這樣響應(yīng)周期變?yōu)?+3=6個(gè)周期;
(3)CPU當(dāng)前執(zhí)行的指令是RETI或訪問(wèn)IE、IP寄存器時(shí),本指令(1個(gè)周期)沒(méi)有響應(yīng),且下一條指令執(zhí)行完后才能響應(yīng),這樣附加的等待時(shí)間最長(zhǎng)不會(huì)超過(guò)5個(gè)周期(1+4)。整個(gè)響應(yīng)為5+3=8個(gè)周期。
這樣,如果不考慮第1種情況,整個(gè)中斷響應(yīng)的時(shí)間范圍應(yīng)當(dāng)是: 3~8個(gè)機(jī)器周期。
審核編輯:黃飛
-
單片機(jī)
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634621 -
cpu
+關(guān)注
關(guān)注
68文章
10854瀏覽量
211573 -
中斷系統(tǒng)
+關(guān)注
關(guān)注
1文章
96瀏覽量
61015
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論