新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > μC/OS-II實(shí)時(shí)性能測試與研究

μC/OS-II實(shí)時(shí)性能測試與研究

作者: 時(shí)間:2012-11-10 來源:網(wǎng)絡(luò) 收藏

3.2 時(shí)間測試步驟及結(jié)果
  
① 同時(shí)間測試。


圖2 時(shí)間測試

② 如圖2所示,建立一個(gè)任務(wù)Task_IRT_Test和定時(shí)器0對(duì)應(yīng)的中斷服務(wù)子程序Timer0_IRT_Test。在任務(wù)中開啟定時(shí)器0,當(dāng)定時(shí)器0自減到0時(shí),CPU響應(yīng)該中斷,CPU的中斷向量跳轉(zhuǎn)到定時(shí)器0的中斷服務(wù)子程序Timer0_IRT_Test,由它保存CPU的全部寄存器;然后通知內(nèi)核進(jìn)入中斷服務(wù)子程序,同時(shí)將堆棧指針保存到當(dāng)前任務(wù)控制塊OS_TCB中,之后用戶的中斷服務(wù)代碼開始執(zhí)行,在此停止定時(shí)器0,讀出它的數(shù)值a2。
  
③ 根據(jù)式(2)計(jì)算結(jié)果。
  
④ 重復(fù)10次實(shí)驗(yàn),取最大值0.24 μs。

4 CPU運(yùn)行頻率對(duì)μC/OS-II實(shí)時(shí)性的影響
  
將CPU運(yùn)行頻率分別降低到152.00 MHz、101.25 MHz、67.50 MHz和33.75 MHz。
  
測試方法不變,其測試結(jié)果分別如圖3和圖4所示。其中,時(shí)間的最大值分別為7.14 μs、10.74 μs、16.35 μs、32.71 μs;時(shí)間的最大值分別為0.32 μs、0.47 μs、0.95 μs、1.90 μs。




 測試結(jié)果分析: 總體上,隨著CPU運(yùn)行頻率的增加,時(shí)間和中斷響應(yīng)時(shí)間都會(huì)減小,且呈非線性變化。特別是CPU運(yùn)行頻率較低時(shí),其變化對(duì)實(shí)時(shí)性能影響較大;當(dāng)CPU運(yùn)行在較高的頻率時(shí),其變化幅度相對(duì)要小些。其非線性變化是與最小分頻時(shí)間相關(guān)的。
  
這說明CPU運(yùn)行頻率對(duì)實(shí)時(shí)性能起著非常重要的作用。因?yàn)樗苯記Q定指令的處理周期,頻率增加時(shí),指令周期減小,系統(tǒng)用于同步等待的時(shí)間縮短,CPU執(zhí)行每條語句的速度加快,保存和恢復(fù)CPU寄存器內(nèi)容的速度也相應(yīng)加快,因此實(shí)時(shí)性能變得更好。

5 CPU利用率對(duì)μC/OS-II實(shí)時(shí)性能的影響
  
之前的測試都是在CPU負(fù)荷較小的情況下進(jìn)行的,當(dāng)CPU負(fù)荷增大(即利用率升高)時(shí),實(shí)時(shí)性又會(huì)如何變化呢?這里建立了N個(gè)相同的任務(wù),同時(shí)進(jìn)行大批量的浮點(diǎn)運(yùn)算。再建立一個(gè)任務(wù),利用μC/OS-II自帶函數(shù)OSStat()計(jì)算CPU利用率。對(duì)應(yīng)不同的N值,有不同的CPU利用率,分別測試其實(shí)時(shí)性,得到的結(jié)果如圖5所示。測試結(jié)果表明: 當(dāng)CPU負(fù)荷增大時(shí),任務(wù)切換時(shí)間會(huì)增加,中斷響應(yīng)時(shí)間也會(huì)略有增加。CPU利用率對(duì)系統(tǒng)的實(shí)時(shí)性能有一定的影響,但不是很大。

6 結(jié)論

本文在特定的硬件平臺(tái)上測得μC/OS-II在不同情況下的任務(wù)切換時(shí)間和中斷響應(yīng)時(shí)間,能較好地反映出它的實(shí)時(shí)性能。測試方法在沒有精密儀器的條件下即可完成,具有簡單易行、硬件依賴性低、可信度高的特點(diǎn),為開發(fā)人員將μC/OS-II用于嵌入式操作系統(tǒng)的實(shí)時(shí)應(yīng)用提供了依據(jù)。


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉