基于DSP/BIOS 的TI DSP 應(yīng)用程序框架設(shè)計
3.3 任務(wù)拆分與合并
DSP/BIOS 實時內(nèi)核能保證運行在它之上的所有任務(wù)在適當?shù)臅r刻被正確地調(diào)度。在通常情況下,系統(tǒng)中運行的任務(wù)越多,花費在DSP/BIOS 任務(wù)調(diào)度上的時間也就越多,單任務(wù)系統(tǒng)花費最少的任務(wù)調(diào)度時間,因此在一個應(yīng)用框架中應(yīng)該合理地規(guī)定任務(wù)的規(guī)模,過細或過粗地劃分任務(wù)都將為系統(tǒng)性能帶來負面影響。在ERF5 中,每個功能獨立的信號處理模塊分別定義成一個任務(wù)線程,其中包含了與當前信號處理功能相對應(yīng)的數(shù)據(jù)輸入預(yù)處理和數(shù)據(jù)輸出后處理部分,在一個獨立的任務(wù)線程中將可以使用EDMA 等外設(shè)模塊實現(xiàn)的處理算法與必須由CPU 參與運算的算法獨立開來,并在它們之間引入雙緩沖以模擬流水線機理,這樣就把原先的任務(wù)線程之間的通信變換為在單個任務(wù)線程內(nèi)的算法單元之間的通信,使得任務(wù)線程之間的通信和數(shù)據(jù)交換由于線程的獨立性而被最小化,從而有效避免了由于線程通信造成系統(tǒng)死鎖情況的發(fā)生。
4 性能分析
本節(jié)以 CPU 負載為指標在本文所提出的應(yīng)用程序框架和RF5 之間進行性能比較與分析。為了使實驗結(jié)果更具有說服力,我們使用TMS320DM642 *估板中的MPEG2 編解碼例程作為RF5 框架的一個實現(xiàn)范例,另外,我們又采用本文所提出的ERF5 實現(xiàn)了MPEG2 編解碼系統(tǒng),兩者使用同樣的符合XDAIS 算法標準的MPEG2 編解碼算法庫。這里我們將CPU負載定義為:
對于一個視頻信號處理系統(tǒng)來說,一般要求系統(tǒng)能在 1 秒內(nèi)處理25-30 幀圖像數(shù)據(jù),因此不妨將其作為上述視頻編解碼系統(tǒng)的實時性指標,即系統(tǒng)對一幀圖像進行編碼或解碼的最大周期為33-40 毫秒。根據(jù)以上計算公式作出RF5 和改進的應(yīng)用程序框架的CPU 負載圖如圖4 所示。從圖中可以看出ERF5 的CPU 占用率與RF5 基本相近,甚至要稍好于RF5,若將它應(yīng)用在視頻信號處理領(lǐng)域,其CPU 占用率只有7.92%-9.50%,完全滿足實際應(yīng)用的需要。
圖 4 MPEG2 編解碼系統(tǒng)中ERF5 與RF5 的CPU 負載比較圖
5 總結(jié)
本文簡單介紹了 TI DSP 參考框架RF5,并提出ERF5 應(yīng)用程序框架,它解決了RF5 不能被有效地應(yīng)用于以DSP 作為協(xié)處理器的多處理器復(fù)雜數(shù)字信號處理系統(tǒng)當中的問題,且CPU 占用率與RF5 相當。從我們的實際項目經(jīng)驗證明,RF5 適用于以TI DSP 作為主控和主處理單元的單處理器信號處理系統(tǒng),并能得到良好的性能;ERF5 能對多處理器系統(tǒng)給予最大化的支持,并已成功應(yīng)用于一個復(fù)雜的H.264 混合編解碼系統(tǒng)當中。
評論