中斷延遲時間的衡量

2021-08-25 16:14:21 字數 1154 閱讀 1819

中斷延遲

[email protected]

tiger宣告:本人鄙視直接複製本人文章而不加出處的個人或團體,

中斷是為了從系統中得到更好響應的乙個工具。everyone wants to know :系統對每個中斷的響應速度到底有多快?

中斷延遲就是系統響應乙個中斷所需要的時間,在一些情況下,如果系統對中斷處理不及時,系統可能會顯得非常遲鈍甚至出現崩潰的現象。

1.最小中斷延遲:

fiq或irq

的最小中斷延遲是請求通過同步器的時間tsyncmin

加上tfiq (

共4個處理器週期)

2.最大中斷延遲

當fiq

使能時,最壞情況是正在執行一條裝載所有暫存器的指令ldm(

它耗時最長)

,同時發生了fiq

和資料中止異常,在響應fiq

中斷之前要先把正在執行的指令完成,然後先進入資料中止異常,再馬上跳轉到fiq

異常入口,所以延遲時間包含:

ltsyncmax:

請求通過同步器的最長時間,為2

個處理器週期(由核心決定)

ltldm:

最長的指令執行需要的時間。tldm

在零等待狀態系統中的執行時間為20

個週期。

(注:此處是特殊情況,一般的arm7

核心的晶元的儲存器系統比核心速度慢,造成其不是零等待的)

ltexc:

資料中止入口的時間,texc

為3個週期(由核心決定)

ltfiq:fiq

入口的時間。tfiq

為2個週期(

由具體的核心決定)

fiq總的延遲時間=tsyncmax+tldm+texc+tfiq=27

個週期。

(例如:在40mhz

處理器時鐘中,最大延遲時間略少於0.7us

。在此時間結束後,arm7

執行位於0x1c

處的指令。

注:最大的irqy

延遲時間與之相似,但必須考慮到這樣一種情況,當更高優先順序的fiq

和irq

同時申請時,irq

要延遲到fiq

處理程式允許irq

中斷時才處理(可能需要對中斷控制器進行相應的操作)。ifq

延遲時間也要相應增加。

網路延遲時間

有 n 個網路節點,標記為 1 到 n。給定乙個列表 times,表示訊號經過有向邊的傳遞時間。times i u,v,w 其中 u 是源節點,v 是目標節點,w 是乙個訊號從源節點傳遞到目標節點的時間。現在,我們從某個節點 k 發出乙個訊號。需要多久才能使所有節點都收到訊號?如果不能使所有節點收到...

LeetCode 網路延遲時間

q 有 n 個網路節點,標記為 1 到 n。給定乙個列表 times,表示訊號經過有向邊的傳遞時間。times i u,v,w 其中 u 是源節點,v 是目標節點,w 是乙個訊號從源節點傳遞到目標節點的時間。現在,我們向當前的節點 k 傳送了乙個訊號。需要多久才能使所有節點都收到訊號?如果不能使所有...

Linux 延遲時間及定時時間

系統延時任務以及定時任務 1 系統延時任務 root localhost date root localhost at 9 21 設定任務執行時間 at touch file 任務動作 at ctrl d 用ctrl d發起任務 root localhost date 檢視到時間點是否會執行上述動作...