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

學識都 人氣:8.17K
摘要:介紹了由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位浮點運算單元包含一個乘法器、一個加法器和移位邏輯電路,它們並行工作;比特倒轉尋址在傅立葉變換運算時非常有用;循環尋址在作卷積、數字濾波運算時經常用到等。