在DSP處理器上並行實現ATR演算法

才智咖 人氣:8.05K
摘要:介紹了由DSP晶片構成的多處理器並行系統的結構和效能以及在多處理器並行系統上並行實現ATR演算法需要考慮的要總是,著重研究了在指令級並行DSP處理器上實現ART演算法的並行化軟體開發方法,對ATR演算法的實用化和工程化具有重要的參考價值。

自動目標識別(ATR)演算法通常包括自動地對目標進行檢測、跟蹤、識別和選擇攻擊點等演算法。戰場環境的複雜性和目標型別的不斷增長使ATR演算法的運算量越來越大,因此ATR演算法對微處理器的處理能力提出了更高的要求。由於通用數字訊號處理晶片能夠通過程式設計實現各種複雜的運算,處理精度高,具有較大的靈活性,而且尺寸小、功耗低、速度快,所以一般選擇DSP晶片作為微處理器來實現ATR演算法的工程化和實用化。

在DSP處理器上並行實現ATR演算法

為了保證在DSP處理器上實時地實現ATR演算法,用演算法並行化技術。演算法並行化處理的三要素是:①並行體系結構;②並行軟體系統;③並行演算法。並行體系結構是演算法並行化的硬體基礎,並行演算法都是針對特定的並行體系結構開發的並行程式。根據DSP處理器的數目,ATR演算法的並行實現可以分為處理器間並行和處理器內並行。處理器間並行是指多個DSP處理器以某種方式連線起來的多處理器並行系統,ATR演算法在多個處理器上並行招待。根據處理器使用儲存器的情況,多處理器並行系統又可分為共享儲存器多處理器並行系統和分散式多處理器並行系統。處理器內並行是指在單個DSP處理器內通過多個功能單元的指令級並行(ILP)來實現ATR演算法的並行化。本文分別對在共享儲存器多處理器並行系統、分散式多處理器並行系統和指令級並行DSP處理器上並行實現ATR演算法進行了探討。

1 在共享儲存器多處理並行系統上實現ATR演算法

在共享儲存器多處理器並行系統中,各個處理器通過共享匯流排對所有的儲存器進行操作,實現各個處理器之間的資料通訊。而在任一時刻,只允許一個處理器對共享匯流排進行操作。所以處理器對儲存器進行讀/寫操作時就必須先獲得對共享匯流排的控制權,這通過匯流排仲裁電路實現。然而,由於所有的處理器只能通過一條共享匯流排對儲存器進行訪問,這在處理器數目比較多或者處理器之間頻繁交換資料的情況下容易引起匯流排衝突和等待而降低整個並行系統的執行速度。共享儲存器多處理器並行系統的優點是結構簡單,當處理器的數目較少時,可以達到較高的加速比。

ADSP2106x處理器支援最為常用的共享儲存器多處理器並行系統,組成多處理器系統的每一片ADSP2106x的片記憶體儲器統一編址,任一ADSP2106x可以訪問其它任何一片ADSP2106x的片記憶體儲器。由於片內SRAM為雙口儲存器,因而這種訪問並不中斷被訪問處理器的正常工作。每個處理器片內SRAM既是該處理器的區域性儲存器,又是共享儲存器的部分。在不增加輔助電容的情況下,通過外部匯流排介面直接相連的處理器數量最多為6個。由於每個處理器的工作程式放在其片內的雙口SRAM中,因此各個處理器可以實現並行處理,這是ADSP2106x的儲存器結構所決定的。

ATR演算法在共享儲存器多處理器並行系統中實現時,在編寫並行演算法程式方面應當重點考慮的問題包括:

(1)均衡地把任務分配給各個處理器

ATR演算法在共享儲存器多處理器並行系統中實現任務級並行,因此必須把ATR演算法劃分為計算量均衡的多個任務,把各個任務分配給多個處理器,才能發揮多處理器並行系統的最大並行效率。

(2)儘量減少多處理器之間資料通訊

由於多處理器只能通過一條共享匯流排對儲存器進行訪問,這在多處理器之間頻繁交換資料的情況下容易引起匯流排競爭而降低整個並行系統的執行速度。

(3)利用單個處理器的並行程式設計特性

充分應用單個處理器的並行程式設計特性,有利於縮短各個處理器上任務的執行時間。例如,ADSP2106x的32位浮點運算單元包含一個乘法器、一個加法器和移位邏輯電路,它們並行工作;位元倒轉定址在傅立葉變換運算時非常有用;迴圈定址在作卷積、數字濾波運算時經常用到等。