版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔-下載后可編輯一種實(shí)時(shí)操作系統(tǒng)硬件加速設(shè)計(jì)-設(shè)計(jì)應(yīng)用隨著科技的進(jìn)步,嵌入式系統(tǒng)的功能逐漸由簡(jiǎn)單向復(fù)雜發(fā)展,開發(fā)難度也隨之提高。嵌入式操作系統(tǒng)的使用,屏蔽了部分硬件信息,提供給開發(fā)者統(tǒng)一的平臺(tái),降低了開發(fā)難度,提高了代碼的重復(fù)利用率。在一些特殊的領(lǐng)域(醫(yī)療、汽車、航空航天),對(duì)嵌入式系統(tǒng)的實(shí)時(shí)性要求非常高。在這些場(chǎng)合,任務(wù)必須在給定的時(shí)間內(nèi)響應(yīng)并正確完成。而實(shí)時(shí)操作系統(tǒng)RTOS(RealTimeOperationSystem)本身的運(yùn)行,必然會(huì)引起性能的下降,在任務(wù)數(shù)量增加時(shí),這種下降更加明顯。例如,使用uC/OS-II實(shí)時(shí)操作系統(tǒng)在PowerPC處理器上運(yùn)行,在TimeTick(時(shí)鐘節(jié)拍)周期為10?滋s、運(yùn)行64個(gè)任務(wù)的情況下,TimeTick中斷函數(shù)占用的CPU時(shí)間已達(dá)到42%[1]。
目前,RTOS軟件層面的研究已經(jīng)很成熟,可有效提高RTOS性能的方法有以下幾種:
(1)提高處理器的運(yùn)行頻率[2]。這對(duì)功耗相當(dāng)敏感的嵌入式系統(tǒng)并不是好方法。同時(shí)高頻時(shí)鐘所引起的電磁干擾對(duì)電路板布線的要求也更高;
(2)設(shè)計(jì)專用于RTOS系統(tǒng)服務(wù)的硬件。硬件對(duì)相同的操作可并行處理。如果設(shè)計(jì)一種硬件,在任務(wù)數(shù)量或TimeTick頻率增加的情況下,系統(tǒng)也能在固定的時(shí)鐘周期內(nèi)完成所有任務(wù)域的更新,從而降低RTOS運(yùn)行所占的CPU時(shí)間。
本文設(shè)計(jì)了實(shí)時(shí)系統(tǒng)加速RTA(Real-TimeAcceleration)模塊,對(duì)任務(wù)調(diào)度和系統(tǒng)時(shí)間管理進(jìn)行硬件化,降低了任務(wù)中斷時(shí)間,并對(duì)終的測(cè)量數(shù)據(jù)進(jìn)行對(duì)比,得出結(jié)論。
1RTA的硬件設(shè)計(jì)
本文的硬件平臺(tái)使用OR1200[3]CPU,它是一款由OpenCores網(wǎng)站維護(hù)的開放源代碼CPU,內(nèi)部結(jié)構(gòu)可見可修改,且沒有版權(quán)問題。RTA模塊作為從設(shè)備連接到Wishbone總線[4]上。在RTA模塊中,由硬件實(shí)現(xiàn)任務(wù)管理和時(shí)間管理。RTA中的寄存器全部映射到內(nèi)存空間上,軟件通過對(duì)寄存器的訪問來控制RTA模塊的運(yùn)行。
該專用硬件可分成如下兩部分:
(1)任務(wù)管理和時(shí)間管理部分。RTA模塊支持64個(gè)任務(wù),使用基于優(yōu)先級(jí)的調(diào)度策略,每個(gè)任務(wù)有的優(yōu)先級(jí)。RTA只在需要任務(wù)切換時(shí)才中斷CPU。時(shí)間延時(shí)的單位是TimeTick(時(shí)鐘節(jié)拍),長(zhǎng)時(shí)間延時(shí)可達(dá)65535個(gè)TimeTick;
(2)用于產(chǎn)生TimeTick信號(hào)的Timer(計(jì)時(shí)器)。RTA必須有獨(dú)立的Timer為其產(chǎn)生TimeTick信號(hào)。在本文中,利用OR1200自帶的Timer完成此工作。
本文使用的系統(tǒng)是在μC/OS-II實(shí)時(shí)操作系統(tǒng)基礎(chǔ)上改進(jìn)實(shí)現(xiàn)的。該RTOS由Micrium網(wǎng)站維護(hù),已經(jīng)應(yīng)用于商業(yè)產(chǎn)品[5]。整個(gè)軟硬件的實(shí)現(xiàn)在FPGA開發(fā)板DE2-70上完成,系統(tǒng)時(shí)鐘頻率為25MHz。
1.1任務(wù)管理和時(shí)間管理
任務(wù)管理和時(shí)間管理的設(shè)計(jì)框圖如圖1所示。
每個(gè)任務(wù)都有4個(gè)域:TaskValid、OSTCBStat、OSTCBDly和OSTCBStatPend。每個(gè)任務(wù)都有一個(gè)任務(wù)就緒標(biāo)志TaskReady,RTA通過PrioBitmapToBinary模塊找到的優(yōu)先級(jí)并送給HighestPrio。在CPU響應(yīng)外部中斷或者給調(diào)度器上鎖時(shí),可以通過OSIntNesting和OSLockNesting寄存器關(guān)閉RTA的中斷。
μC/OS-II實(shí)時(shí)系統(tǒng)內(nèi)核中,任務(wù)調(diào)度基于TimeTick完成,由于程序只能順序執(zhí)行,任務(wù)的timedly域更新也是順序執(zhí)行的,從而使得調(diào)度函數(shù)的執(zhí)行時(shí)間與運(yùn)行的任務(wù)數(shù)量有關(guān)。在RTA模塊中,基于TimeTick的調(diào)度機(jī)制并沒有改變,只是原型中順序執(zhí)行的timedly更新,在硬件中可以同時(shí)執(zhí)行。在使用RTA模塊的系統(tǒng)中,移去了軟件中的用于任務(wù)調(diào)度的數(shù)據(jù)結(jié)構(gòu),相應(yīng)地在硬件中予以實(shí)現(xiàn)。
當(dāng)有更高優(yōu)先級(jí)的任務(wù)進(jìn)入就緒態(tài)時(shí),就會(huì)產(chǎn)生RTA中斷。硬件實(shí)現(xiàn)上,當(dāng)進(jìn)入就緒態(tài)的上個(gè)時(shí)鐘周期的優(yōu)先級(jí)和本時(shí)刻的優(yōu)先級(jí)不同時(shí),便產(chǎn)生中斷信號(hào)。在μC/OS-II中,每個(gè)TimeTick時(shí)刻都會(huì)發(fā)生中斷,這就需要更頻繁地保存CPU寄存器,相比本文提出的方法,浪費(fèi)了更多的CPU時(shí)間。
1.2TimeTick信號(hào)的產(chǎn)生
RTA的運(yùn)行需要一個(gè)可配置的Timer來為其產(chǎn)生TimeTick信號(hào)。在本文中,通過對(duì)OR1200進(jìn)行改造,利用其內(nèi)部的Timer產(chǎn)生中斷信號(hào)作為RTA任務(wù)調(diào)度的標(biāo)準(zhǔn)時(shí)鐘節(jié)拍,而將RTA的中斷信號(hào)連接到原來Timer在CPU的接口處。這樣,CPU通過Wishbone總線可對(duì)Timer進(jìn)行讀寫,且RTA產(chǎn)生的中斷不會(huì)占用可編程中斷控制器PIC(ProgrammableInterruptController)。改造后的框圖如圖2所示。
1.3軟件實(shí)現(xiàn)
因?yàn)槿蝿?wù)數(shù)據(jù)結(jié)構(gòu)的改變,源碼中所有涉及到任務(wù)數(shù)據(jù)結(jié)構(gòu)的函數(shù)都要進(jìn)行修改。由于任務(wù)調(diào)度和時(shí)間處理由RTA模塊執(zhí)行,原先執(zhí)行TimeTick的中斷函數(shù)要作相應(yīng)修改,在中斷時(shí),只需讀取RTA中HighestPrio寄存器,然后做上下文切換,運(yùn)行該優(yōu)先級(jí)的任務(wù)即可。
2實(shí)驗(yàn)結(jié)果
本實(shí)驗(yàn)使用的CPU為OR1200,CPU和所有的外設(shè)都通過Wishbone總線連接,系統(tǒng)時(shí)鐘為25MHz。在Altera的CycloneIIFPGA平臺(tái)上,使用Quartus8.1工具對(duì)RTA進(jìn)行布局布線,其共占用4197個(gè)邏輯單元LE(LogicElement)。
任務(wù)響應(yīng)時(shí)間是RTOS性能的一個(gè)重要指標(biāo),其定義為:從任務(wù)中斷產(chǎn)生的時(shí)刻起,到恢復(fù)任務(wù)執(zhí)行之間的時(shí)間。試驗(yàn)中,利用自定義的Timer作為測(cè)量標(biāo)尺,在2個(gè)測(cè)試點(diǎn)各讀取,相減后的數(shù)值再乘以此Timer的周期,便得到該段測(cè)試時(shí)間。圖3是有硬件加速和無硬件加速的任務(wù)響應(yīng)時(shí)間的測(cè)試結(jié)果,單位是系統(tǒng)時(shí)鐘周期。
從圖中3可以看出,在無硬件支持的RTOS中,隨著任務(wù)數(shù)的增加,任務(wù)響應(yīng)時(shí)間也隨之呈線性增加。其原因是,程序順序執(zhí)行,在無硬件加速的情況下,RTOS內(nèi)核在每個(gè)TimeTick中斷都要對(duì)任務(wù)的延時(shí)域進(jìn)行順序更新。隨著任務(wù)的增加,延時(shí)域的處理時(shí)間也增長(zhǎng)。有硬件加速支持時(shí),任務(wù)響應(yīng)時(shí)間縮短,而且與正在運(yùn)行的任務(wù)數(shù)量沒有關(guān)系。這是因?yàn)樗腥蝿?wù)的延時(shí)域都同時(shí)更新,在一個(gè)時(shí)鐘周期內(nèi)即可全部完成。所以使用RTA模塊后,降低了系統(tǒng)本身占用CPU的時(shí)間,提
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030消息傳遞廣播電視行業(yè)新媒體融合發(fā)展規(guī)劃簡(jiǎn)報(bào)
- 2025-2030洗衣機(jī)制冷烘干技術(shù)創(chuàng)新與節(jié)能環(huán)保發(fā)展策略研究
- 2025-2030汽車零配件行業(yè)共享制造模式資源利用率分析深度
- 職場(chǎng)新人培訓(xùn)內(nèi)容與計(jì)劃
- 2026年計(jì)算機(jī)三級(jí)網(wǎng)絡(luò)安全攻防演練試題及答案
- 2025年船舶儀表系統(tǒng)操作與維護(hù)測(cè)試試卷及答案
- 2026年客運(yùn)電梯監(jiān)督人員資格認(rèn)證試題及答案
- 2025年山東省農(nóng)業(yè)經(jīng)濟(jì)師資格考試時(shí)間安排試卷及答案
- 小學(xué)垃圾分類管理崗位職責(zé)制度
- 企業(yè)年度營(yíng)銷策略調(diào)整方案
- 初中語文仿寫訓(xùn)練
- 老同學(xué)聚會(huì)群主的講話發(fā)言稿
- 天然氣輸氣管線陰極保護(hù)施工方案
- 高血壓?jiǎn)柧碚{(diào)查表
- QC成果提高花崗巖磚鋪裝質(zhì)量
- YS/T 416-2016氫氣凈化用鈀合金管材
- GB/T 25156-2010橡膠塑料注射成型機(jī)通用技術(shù)條件
- GB/T 20878-2007不銹鋼和耐熱鋼牌號(hào)及化學(xué)成分
- 第六章 亞洲 第一節(jié) 概述
- 第六單元作文素材:批判與觀察 高一語文作文 (統(tǒng)編版必修下冊(cè))
- 全新版尹定邦設(shè)計(jì)學(xué)概論1課件
評(píng)論
0/150
提交評(píng)論