版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 通過任務(wù)分割提高嵌入式系統(tǒng)的實時性 通過任務(wù)分割提高嵌入式系統(tǒng)的實時性摘要:分析長任務(wù)對嵌入式系統(tǒng)實時性的影響,在此基礎(chǔ)上提出任務(wù)分割是提高嵌入式系統(tǒng)實時性的一種有效途徑;總結(jié)長任務(wù)分割的方法,給出一個通過任務(wù)分割提高嵌入式系統(tǒng)實時性的實例。 關(guān)鍵詞:嵌入式系統(tǒng) 實時內(nèi)核 時間片 任務(wù)分割 引言隨著工業(yè)的飛速發(fā)展,人們對系統(tǒng)實時性的要求越來越高。計算機技術(shù)的進步客觀上也為進一步提高實時性提供了可能。因此近年來,嵌入式實時系統(tǒng)的研究已經(jīng)成為單片同應(yīng)用領(lǐng)域的又一大熱點,實編排軟件也越來越多,有商業(yè)軟件,也有免費的代碼。然而影響系統(tǒng)實時性的因素很多,有硬件,也有軟件的。這就決定了提高系統(tǒng)的實時性并
2、不是一件十分容易的事情,除了使用高性能的CPU和高效的實時內(nèi)核外,在實時系統(tǒng)應(yīng)用的過程中,還要結(jié)合具體情況進行具體分析,充分利用CPU的效率,挖掘內(nèi)核的實時潛能。1 任務(wù)與嵌入式多任務(wù)實時系統(tǒng) 任務(wù)與多任務(wù) 在嵌入式多任務(wù)實時系統(tǒng)時,任務(wù)是指一個程序分段。這個分段被操作系統(tǒng)當(dāng)作一個基本單元來調(diào)度。典型地,每個任務(wù)都是一個無限的循環(huán),而且在同一時刻只能處于以下5種狀態(tài)之一。這5種狀態(tài)是休眠態(tài)、就緒態(tài)、運行態(tài)、等待態(tài)和被中斷態(tài),如圖1所示。多任務(wù)系統(tǒng)的執(zhí)行過程實際上就是一系列任在這5種狀態(tài)中循環(huán)流動、輪流被內(nèi)核調(diào)度的過程。多任務(wù)運行使CPU的利用率得到最大的發(fā)揮,并使應(yīng)用程序模塊化。 嵌入式多任務(wù)
3、實時系統(tǒng) RTOS本質(zhì)上就是嵌入的實時內(nèi)核,它負(fù)責(zé)管理各個任務(wù),或者說是為每上任務(wù)分配CPU時間,并且負(fù)責(zé)任務(wù)之間的通信。實時內(nèi)核可分為可剝奪型和不同剝奪型兩類。因此,按照所使用內(nèi)核的不同,嵌入式實時系統(tǒng)也可分為兩類:使用不可剝奪型內(nèi)核的嵌入式實時系統(tǒng)和使用可剝奪型內(nèi)核的嵌入式實時系統(tǒng)。2 實時系統(tǒng)中的長任務(wù)問題 長任務(wù)的定義 在RTOS中,長任務(wù)就是指整個任務(wù)的執(zhí)行時間較長,超出了RTOS中其它某一個或某幾個任務(wù)的實時要求容限,而對整個RTOS的實時性構(gòu)成威脅的那些任務(wù)。 長任務(wù)對RTOS的影響 當(dāng)使用可剝奪型實時內(nèi)核時,長任務(wù)由于執(zhí)行的時間較長,因而更容易被高優(yōu)先級的任務(wù)打斷;一旦高優(yōu)先級
4、的任務(wù)進入了就緒態(tài),當(dāng)前任務(wù)的CPU使用權(quán)就被剝奪了,或者說任務(wù)被掛起了,那個高優(yōu)先級的任務(wù)立刻得到了CPU的控制權(quán)。這樣會出現(xiàn)兩個問題:一是長任務(wù)可能在一次執(zhí)行的過程中被頻敏打斷,長時間得不到一次完整的執(zhí)行;二是長任務(wù)被打斷時,可能要保存大量的現(xiàn)場信息,其目的是為了保證在高優(yōu)先級的任務(wù)執(zhí)行完返回后,長任務(wù)能得以繼續(xù)執(zhí)行。然而,這樣做要占用一定的系統(tǒng)資源,同時保存現(xiàn)場本身也是要占用CPU時間的,因此,實時性也會下降。 當(dāng)使用不可剝奪型實時內(nèi)核時,長任務(wù)對RTOS的影響更為明顯,因為在這種內(nèi)核中,任務(wù)級響應(yīng)時間取決于最長的任務(wù)執(zhí)行時間。這也就是說由于長任務(wù)的存在,任務(wù)級的響應(yīng)時間要變長。其結(jié)果是
5、CPU長時間停留在長任務(wù)中,其它的任務(wù)得不到實時的響應(yīng),甚至于根本得不到執(zhí)行,系統(tǒng)的實時性勢必要下降。 總之,無論是使用可剝奪型內(nèi)核,還是使用不可剝奪型內(nèi)核,長任務(wù)都會對RTOS構(gòu)成嚴(yán)重的威脅。 3 長任務(wù)問題的解決 解決長任務(wù)問題最有效的途徑是進行任務(wù)分割。所謂任務(wù)分割指將影響系統(tǒng)實時性的長任務(wù)分割成若干個小任務(wù)。這樣單個任務(wù)的執(zhí)行時間變短,系統(tǒng)的任務(wù)級響應(yīng)時間變短,實時性提高。 對RTOS的分析與計算 當(dāng)然,長任務(wù)的分割必須結(jié)合系統(tǒng)中所使用的內(nèi)核,以及各任務(wù)對實時性的要求情況,進行必要的分析計算,才能保證分割的合理性和有效懷,具體的步驟如下:分析系統(tǒng)共有多少個任務(wù),這些任務(wù)對實時性的要求有
6、多高,求出各個任務(wù)所要求的最小執(zhí)行頻率f1,f2,f3fn。計算目前各任務(wù)的實際執(zhí)行時間t1,t2,t3tn。確定系統(tǒng)中的長任務(wù)如果maxmin則此系統(tǒng)中不存在長任務(wù)。如果maxmin則存在長任務(wù),而且執(zhí)行時間為max的那個任務(wù)就是要找的長任務(wù)。分析此長任務(wù)是否需要分割分析一下是什么原因?qū)е聢?zhí)行的時間過長,這個時間還能夠通過程序的優(yōu)化來縮短?如果能,則不需要進行任務(wù)分割;否則要對這個長任務(wù)進行分割。 任務(wù)分割 常用的任務(wù)分割的方法有以下兩種:將長任務(wù)按功能分為若干個小模塊,每一個模塊構(gòu)成一個小任務(wù),每個小任務(wù)執(zhí)行一個相對獨立的功能,且要保證執(zhí)行時間t有的長任務(wù)比較特殊,例如鍵盤任務(wù)和動態(tài)LED
7、顯示任務(wù),很難按照方法1所說的把它分成若干個功能相對獨立的小模塊。這時,一般是按照方便保存現(xiàn)場信息原則,強制將其分割成若干個小任務(wù),每個任務(wù)在min時間內(nèi)主動保存現(xiàn)場信息、放棄CPU的控制權(quán),等到再次被內(nèi)核調(diào)度時繼續(xù)執(zhí)行。這種分割方法相對復(fù)雜,各任務(wù)之間界限不是很明顯,看似未經(jīng)分割,但實際上它確實是由多次任務(wù)中斷來完成。下面就以這種分割方法為例具體說明。4 實例分析 系統(tǒng)介紹 在此,系統(tǒng)的硬件基礎(chǔ)是基于MC68HC908GP32單片機系統(tǒng)的,用其普通I/O口作為矩陣式鍵盤的輸入輸出引腳;軟件基礎(chǔ)是在MC68HC908GP32中運行Motorola公司的Joanne Santangeli編寫的基
8、于時間片的不可剝奪的實時內(nèi)核,如圖2所示。 此內(nèi)核主要是利用微控制器內(nèi)部的時間模塊產(chǎn)生恒定的實時中斷,將CPU的運行時間分成一個個時間片。內(nèi)核的任務(wù)調(diào)度工作都是在時間片的開始階段完成的,而每個任務(wù)都必須在單個時間片內(nèi)完成。 在這個內(nèi)核中,每發(fā)生1次時鐘中斷,而每10次時鐘中斷組成了1個時間片。任務(wù)1的優(yōu)先級最高,每2個時間片會執(zhí)行1次,任務(wù)2每4個時間片執(zhí)行1次,優(yōu)先級最低的任務(wù)6則每64個時間片會執(zhí)行1次。 系統(tǒng)中的鍵盤任務(wù)問題 在單片機系統(tǒng)中,鍵盤主要用于輸入數(shù)據(jù)、代碼和命令,因此系統(tǒng)必須循環(huán)不停地掃描掃描;一是有鍵波按下,CPU立即做出響應(yīng)。鍵盤任務(wù)子程序也是根據(jù)這個要求而設(shè)計的。一般有
9、兩種處理方式:一是中斷方式,二是查詢方式。從有鍵按下時開始,到按鍵釋放并轉(zhuǎn)相應(yīng)子程序而終止。該任務(wù)被內(nèi)核調(diào)度的情況如圖3所示。圖3中,t是人手按鍵的時間,一般為100300ms。為12下一頁令 t1-t1=t1,t2-t2=t2則一次鍵盤任務(wù)的執(zhí)行時間t=t2-t1=t2+-t1+=t2+t2-t1-t1=t2-t1+=t+由圖3可知t1tms t25ms實際上,由于兩次任務(wù)執(zhí)行的情況不完全相同,t1與t2可能會有相當(dāng)于幾個指令周期的時間差異,但也只是s級的誤差。而且,這里是以時間片的形式來計算的,所以依然可以認(rèn)為t2-t1=0因而有 t=t+=t=100ms 也就是說,在這20個時鐘片內(nèi)只執(zhí)
10、行1次鍵盤任務(wù),大部分的時間都在空等待。在此期間,系統(tǒng)中會有20-1=19次其它任務(wù)的執(zhí)行被錯過,圖3中虛線所示就是在此100ms期間被錯過執(zhí)行的19個任務(wù)。顯然,這在大多數(shù)多任務(wù)系統(tǒng)中都是不允許的。因此,在這個多任務(wù)實時系統(tǒng)中,鍵盤任務(wù)是個典型的長任務(wù),要使其它19次任務(wù)中斷都有被應(yīng)用的機會,必須對該鍵盤任務(wù)進行分割。 鍵盤任務(wù)的分割 鍵盤分割的方法是將一次鍵盤任務(wù)分成多個小任務(wù),通過多次任務(wù)中斷來完成。我們將其放在任務(wù)4中。這樣有ttask4ttask2ttask4,即可以保證鍵盤任務(wù)完整可靠地執(zhí)行,又提高了CPU的效率。圖4是分割后的鍵盤任務(wù)的執(zhí)行過程。 從圖4可以看出,1次完整的鍵盤任務(wù)是由23次任務(wù)中斷來完成的。情況a中,每一次任務(wù)中斷發(fā)生在ta1時刻,在接下來的一個時間片內(nèi),檢測到有鍵按下,調(diào)用查詢值任務(wù);第一次任務(wù)中斷發(fā)生在ta2時刻,在接下來的一個時間片內(nèi),檢測到按鍵已釋放,跳轉(zhuǎn)并執(zhí)行相應(yīng)鍵處理程序。 情況b中,第二次任務(wù)中斷時,鍵還沒有松開,因此實際上什么也不做;第三次中斷才跳到與鍵值對應(yīng)的子程序。通過這樣的分割,每個子任務(wù)都可以在5ms內(nèi)完成。如果系統(tǒng)中還有大于5ms的長任務(wù)的話,可按此法繼續(xù)進行分割;如果沒有的話,系統(tǒng)任務(wù)級響應(yīng)時間一定小于5ms。這樣,此系統(tǒng)的實時性大大提高,由100ms提高到5ms。本刊網(wǎng)絡(luò)補充版中,介
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 屋里尖尖角課件
- 西京學(xué)院《影視鑒賞》2023-2024學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《數(shù)據(jù)采集與預(yù)處理》2022-2023學(xué)年期末試卷
- 孝親敬老,從我做起
- 西京學(xué)院《機器學(xué)習(xí)》2023-2024學(xué)年期末試卷
- 2024-2025學(xué)年高二物理舉一反三系列1.4質(zhì)譜儀和回旋加速器((含答案))
- 爆米花課件背景
- Module 4單元備課(說課稿)-2024-2025學(xué)年外研版(一起)英語三年級上冊
- 西昌學(xué)院《土地評價學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 天然氣凈化高級單選題復(fù)習(xí)試題有答案
- 班前晨會內(nèi)容及安全注意事項
- 一年級上冊語文學(xué)練優(yōu)電子版
- 焊接專業(yè)大學(xué)生職業(yè)生涯規(guī)劃
- T-NAHIEM 101-2023 急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)
- 工業(yè)自動化中的自動化軟件測試與系統(tǒng)驗證
- 2024屆高考模擬作文“情緒價值”導(dǎo)寫及范文展示
- 教育部《中小學(xué)德育工作指南》-德育工作指南
- 建筑保溫材料生產(chǎn)加工項目建設(shè)方案
- 2016-2023年太原幼兒師范高等專科學(xué)校高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- IT運維述職報告
- 外科學(xué)總論-腫瘤課件
評論
0/150
提交評論