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