傳感,驅動,控制-第九章quiz2複習(UTS-41081)

計算傳感器多任務利用率的問題:
術語:WCET:worst-case instructions
每一個tick執行時間爲120ms,週期爲500ms,所以利用率爲24%
在這裏插入圖片描述
當使用情況與利用率不匹配的時候,如下圖,BL執行時間爲200ms,TL執行時間爲350ms,因此,利用率爲550/500=110% ,但是此情況說明不能在指定的時間內執行任務,程序的實際情況是,在550ms處進行清空Timeflag,然後在1000ms處繼續執行tick。
在這裏插入圖片描述
當兩個任務具有不同週期的時候,計算,利用率和實際使用情況的窗口時,成爲超週期(hyperperiod
當BL週期爲200ms, TL週期爲300ms時;共有周期計算爲多個任務週期的最小公倍數——600ms
若真實使用情況爲BL時間爲30ms,TL時間爲90ms,則在共有周期內,BL將被執行
600/200=3(次);TL被執行600/300=2(次);現在再計算,週期爲(30x2+90x3)/600=55% 。
在這裏插入圖片描述
超週期計算H = LCM(T1.period,T2.period,…,Tn.period)
利用率= ((H / T1.period)x T1.WCET +(H / T2.period)x T2.WCET ++(H / Tn.period x Tn.WCET)/ H
發生溢出的情況:
1.利用率大於100%一定發生
2.利用率小於100%:(1)一項任務:不會發生
(2)多項任務,可能發生
例如:BL的週期和WCET分別爲100 ms和30 ms,而TL的週期爲200 ms和90 ms。
在這裏插入圖片描述
Scheduling
等待(waiting):等待的上一個進程執行完
就緒(ready):上一個程序已經執行完,與下一個進行開始執行的時間差(
理想情況下,一旦任務準備就緒,任務將立即開始執行)
執行(exexuting):執行synchSM的階段
在這裏插入圖片描述
最晚結束時間(deadline):如下圖,BL(週期300ms,WCET 30ms)和TL(週期200ms,WCET 90ms) 下如在100ms和700
ms的時候錯過了最晚結束時間。
在這裏插入圖片描述
調整BL和TL的執行順序,即可避免錯過最晚截至時間:
在這裏插入圖片描述
搶佔式:程序可能會被打斷,以便更高優先級的任務
並且可以將無限循環的任務將控制權交給另一個任務。
非搶佔:不會暫停正在執行的任務
電子書:zybook鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章