單片機(jī)中斷響應(yīng)時間的計算
中斷響應(yīng)時間:從外部中斷請求有效(外部中斷請求標(biāo)志置1)到轉(zhuǎn)向中斷入口地址所需要的響應(yīng)時間。每個機(jī)器周期的S5P2時刻,INTx引腳的電平被鎖存到內(nèi)部寄存器中,待下一個周期查詢。
1.最短時間:中斷請求有效,查詢后在下一個周期便開始執(zhí)行一條硬件的子程序的調(diào)用(時間是兩個周期),然后開始執(zhí)行服務(wù)程序的第一條指令。這樣從鎖存電平的周期到執(zhí)行中斷服務(wù)程序,中間相隔3個機(jī)器周期。
2.最長時間:如果中斷信號發(fā)生在前面所說的3種情況時,響應(yīng)時間就要變長:
(1)響應(yīng)時間取決于正在執(zhí)行的同級或高級中斷的執(zhí)行時間;
(2)指當(dāng)前CPU執(zhí)行的指令是多周期指令,如乘除法指令(4個周期),最壞情況,還要等3個周期。這樣響應(yīng)周期變?yōu)?+3=6個周期;
(3)CPU當(dāng)前執(zhí)行的指令是RETI或訪問IE、IP寄存器時,本指令(1個周期)沒有響應(yīng),且下一條指令執(zhí)行完后才能響應(yīng),這樣附加的等待時間最長不會超過5個周期(1+4)。整個響應(yīng)為5+3=8個周期。
這樣,如果不考慮第1種情況,整個中斷響應(yīng)的時間范圍應(yīng)當(dāng)是:3~8個機(jī)器周期。