?

基于多核DSP的SAR數據并行訪問研究

2018-08-06 05:54周峰李健
現代電子技術 2018年15期
關鍵詞:信號處理

周峰 李健

摘 要: 合成孔徑雷達(SAR)數據處理中的一個重要操作是分別訪問存儲器中的距離向和方位向數據,當前在Keystone多核DSP平臺上主要使用單個核或EDMA訪問SAR數據,但很多情形下無法充分利用存儲器的帶寬。針對該問題,結合EDMA,DDR存儲器等外設的硬件特性,提出一種適用于多核DSP的SAR數據分塊映射存儲方法及行切換開銷最優的并行訪問技術,并給出應用并行訪問模式的一個充分條件。測試結果表明,分塊映射存儲方法能均衡距離向和方位向數據的訪問速度,且更能充分地利用存儲器帶寬,提高數據的訪問效率。

關鍵詞: 多核DSP; 并行訪問; 信號處理; 矩陣轉置; 合成孔徑雷達; 分塊映射

中圖分類號: TN957.52?34 文獻標識碼: A 文章編號: 1004?373X(2018)15?0026?05

Research on multi?core DSP based parallel access for SAR data

ZHOU Feng, LI Jian

(The 32th Research Institute of China Electronics Technology Group Corporation, Shanghai 201808, China)

Abstract: One of the important operations during SAR (synthetic aperture radar) data processing is to access the range direction and azimuth data stored in the memory. The method of single core or EDMA is mainly used to access the SAR data on Keystone multi?core DSP platform, but the memory bandwidth couldn′t be taken full advantage in many cases. For the above problem, the hardware features of EDMA, DDR and other peripherals are combined to propose a SAR data block mapping storage method suitable for multi?core DSP, and a parallel access technology for optimal row switch overhead. A sufficient condition for parallel access mode is given. The test results show that the block mapping storage method can balance the access speed of range direction and azimuth data, utilize the memory bandwidth more effectively, and improve the data access efficiency.

Keywords: multi?core DSP; parallel access; signal processing; matrix transpose; SAR; block mapping

0 引 言

合成孔徑雷達(SAR)是一種應用比較廣泛的成像雷達,具有二維分辨能力,抗干擾能力強,能全天候、全天時工作,并且能夠穿透云層和掩蓋物。在國防和國民經濟等眾多領域中扮演著重要角色。目前,多核DSP的數據處理平臺在SAR信號處理領域仍有著廣泛的應用[1?3]。SAR采集到的原始數據為一個二維矩陣,二維矩陣中每一行的數據是對發射的線性調頻脈沖進行采樣的值,每一列的數據是雷達在不同空間位置處對接收到的線性調頻脈沖進行采樣的值。因此,二維矩陣的行方向就為距離向,列方向就為方位向。

當前SAR數據存儲器主要以DDR SDRAM為主。對DDR存儲器的連續地址訪問時,速率可達到10 GB/s,如果矩陣按照順序存儲,則距離向數據的訪問速率較高。方位向數據由于被分開存儲到DDR的多個頁中,故需要頻繁地進行關閉頁、預充電、打開頁等操作,導致其訪問速率降得很低,大約只能達到150 MB/s。因此,需要研究一種能提高方位向數據訪問速率的方法。文獻[4?6]分別研究了兩頁式、三頁式矩陣轉置方法,文獻[2,7?8]研究了快速轉置和原位轉置方法。這些方法適合于只需要單次轉置的SAR成像算法,例如距離多普勒算法。文獻[9?10]研究了矩陣線性映射方法,將矩陣分塊映射到DDR的頁面內,能在一定程度上均衡距離向和方位向數據的訪問速度。但文獻[9]的映射方法會造成DDR不同行內的方位向數據的間隔過大,無法發揮Keystone上EDMA的性能。文獻[10]需要設計專用的地址計算硬件單元,無法直接在DSP上使用。文獻[3]提出一種交織存儲方式,解交織時僅使用單路EDMA傳輸,沒有充分利用DSP的傳輸帶寬,而且通過使用CPU解交織得到距離向和方位向數據,不僅占用計算資源,而且訪問速度也慢。

本文根據EDMA和DDR的硬件特性,提出一種適合于Keystone多核DSP的分塊映射存儲方式,并研究SAR數據的并行訪問模式,給出應用該模式的充分條件。該方法能提高數據的實際傳輸帶寬,加快數據的訪問速度。本文提出的矩陣分塊映射方法和文獻[2,9]使用的方法相比更適合在DSP上使用,和文獻[10]相比,更能充分發揮多核DSP的并行處理性能。

1 并行訪問設計

1.1 分塊映射存儲

矩陣分塊映射的主要方法就是將矩陣分為多個子矩陣,再分別將每個子矩陣存儲到DDR的一個物理頁面中。這樣DDR的一個頁面中既有距離向數據,也有方位向數據,因此可在一定程度上均衡距離向和方位向數據的訪問。

設SAR所處理的數據矩陣是個二維矩陣,記為[Ai, j],[0≤i≤NA-1],[0≤j≤NR-1],其中,[NA]表示方位向采樣點數,[NR]表示距離向采樣點數,[i]表示邏輯行號,[j]表示邏輯列號,這里的[i, j]稱為數據的邏輯坐標。

DDR在尋址時是按照bank、行、列的順序進行,因此是個三維空間,記為[Bb, r, c],其中,[b]表示bank號,[r]表示行號,[c]表示列號。這里的[b, r, c]稱為數據的物理坐標。

映射過程就是將數據的二維邏輯坐標映射到三維物理坐標的過程,具體方法如下:

將二維矩陣[A]分成[W×L]個等大小的子矩陣,其中,[W]表示方位向上子矩陣的個數,[L]表示距離向上子矩陣的個數。子矩陣的大小為[Na×Nr],每個子矩陣用[Am,n]表示,其中,[Na=NAW],[Nr=NRL],[m∈0, W],[n∈0, L]。分塊后的矩陣如下式所示:

將每個子矩陣映射到DDR的一個頁面,子矩陣的大小是2 KB,包含256個復數點。子矩陣可以采用方陣形式([16×16])或其他形式([8×32],[4×64]等),為使方位向和距離向的行切換次數保持平衡,子矩陣采用方陣的形式[7]。

根據映射方法建立從二維邏輯坐標[i, j]到三維物理坐標[b, r, c]的映射關系:

式中:[floorx]表示對變量[x]向下取整;[modxy]表示對[xy]取余。

在上面的兩種映射關系中,子矩陣內的數據在每個DDR頁面里的排列順序如圖1所示。

在圖1的存儲方式中,每[Na]個距離向數據是連續存儲的,方位向數據是離散存儲的。

映射后的bank分布圖如圖2所示,圖中的每個小方格表示一個子矩陣,小方格里的數字表示bank號,根據前面的映射關系,每個子矩陣行[Ai,0,Ai,1,…,Ai,L]存放在同一個bank中,接著下一個子矩陣行存放在下一個bank中。

1.2 并行訪問

由文獻[11]可知,對于64位1 333 MB的DDR,其最大訪問帶寬是10 666 MB/s,而EDMA僅CC0的一個傳輸控制器的最大帶寬就能達到16 000 MB/s,因此,DDR沒有足夠的帶寬支持多個EDMA傳輸控制器對DDR進行并發訪問,優先級相同的情況下,它們將瓜分DDR的帶寬。本文之所以還使用多個EDMA同時對DDR進行訪問是因為單個EDMA傳輸控制器實際使用帶寬遠遠達不到其理論最大帶寬。EDMA的實際傳輸帶寬與ACNT的取值呈正相關的關系[11],ACNT的取值越大,其實際傳輸帶寬就越大。在根據1.1節的存儲方式訪問距離向或方位向數據時,ACNT取值最大就是[8Nr]或[8Na],對于[16×16]的方型子矩陣,即128,對應的實際傳輸帶寬約600 MB/s,這就給并行訪問提供了改善實際傳輸帶寬的空間。

注1:若單個EDMA訪問存儲器時帶寬得到充分利用,使用多個EDMA反而會因為總線競爭等因素降低總的帶寬利用率。因此,并行訪問模式適用于單個EDMA沒有充分利用存儲器帶寬的情形。

在使用多個EDMA并行訪問數據時,會引入附加的行切換開銷,例如,同時訪問DDR中同一個bank中不同的頁面。在訪問距離向和方位向數據時需要采用一定的方式來避免并行訪問帶來的附加行切換開銷。在使用多個EDMA訪問數據前,需要合理地為每個EDMA安排待訪問的DDR區域,下面針對距離向和方位向數據分別討論。

在訪問距離向數據時,可使用下面的方式:

每個EDMA訪問一個bank中的數據,如圖3所示,圖中的細箭頭表示各個EDMA的訪問起始位置,首先訪問G0組中的數據,訪問完全部數據后,再跳轉到G1組繼續訪問,直到訪問完最后一組。這種訪問方式的好處是在任意時刻多個EDMA訪問的均是不同bank中的頁面,因此這是訪問距離向數據時行切換開銷最優的方式。

由于距離向數據在每個頁面內是連續存儲的,可使用EDMA的AB同步傳輸模式進行訪問,每次訪問可讀完一行距離向數據。

在訪問方位向數據時,可使用下面的方式:

所有EDMA跨bank訪問一個頁面中的數據,如圖3所示,圖中的粗箭頭表示各個EDMA的訪問起始位置,首先訪問[G0]組中第一列子矩陣的數據,接著跳轉到[G1]組繼續訪問第一列子矩陣的數據,直到訪問完最后一組。然后再訪問[G0]中第二列的子矩陣,以此類推。這種訪問方式的好處是多個EDMA要么在訪問不同bank中的頁面,要么在訪問同一個bank中的相同頁面,因此這是訪問方位向數據時行切換開銷最優的方式。

由于方位向數據在每個頁面內是離散存儲的,可使用EDMA的鏈式傳輸模式進行訪問。每次訪問可讀完一列方位向數據。

注2:Keystone多核DSP上獨立的傳輸控制器多于10個,由于其支持的DDR bank的數量最多為8個,使用全部的EDMA將導致在任意時刻都產生行切換開銷,因此,在實際中同時使用的EDMA傳輸控制器的數量最好不超過8個。

1.3 應用條件

1.2節討論了并行訪問時如何避免引入附加的行切換開銷。但除了行切換,并行訪問時的競爭也會導致各個EDMA的訪問帶寬降低,當競爭過于激烈時甚至可能導致并行模式下總的訪問帶寬小于單個EDMA,此時并行訪問將變得沒有意義。這一小節討論應用并行訪問時的一個充分條件。

在多個EDMA同時訪問DDR時,設第[i]個EDMA在訪問存儲器時的等待時間是[τi],其中,[i∈0,Nh],[Nh]表示EDMA的總數。Keystone上的DDR控制器有一個特點是當最早的訪問請求超過預設時間后,會臨時提高該請求的優先級至最高[12]。這意味著:

式中[γ]表示預設時間值,是16個DDR3CLKOUT的倍數,可通過DDR3控制器中的VBUSM寄存器進行設置。

在使用單個EDMA時,即沒有競爭產生,假設對DDR進行訪問的帶寬是[Bs],則:

式中:[Nburst]表示DDR一次突發傳輸的字節數;[t]表示相應的傳輸時間。

在使用多個EDMA時,此時會產生競爭,假設第i個EDMA對DDR進行訪問時的帶寬是[Bim],則:

為讓并行訪問下總的訪問帶寬大于單個EDMA下的訪問帶寬,令:

不等式(6)成立的一個充分條件是:

即并行訪問時每個EDMA的等待時間均是[γ],這是并行模式下訪問帶寬最差的情形。

由式(4),式(7)可得:

因此,在配置VBUSM寄存器時,可根據式(8)進行計算來確保并行模式下總的訪問帶寬大于單個EDMA的帶寬。

當單個EDMA的實際傳輸帶寬[B]已知時,還可根據式(3)~式(5)估算并行訪問在最差情形下的實際傳輸帶寬[Bworst]:

[Bworst=defBim=NburstNburstBs+τi≥NburstNburstBs+γ] (9)

式(3)給出了一個EDMA訪問等待時間[τi]的上界,還可根據實驗的方法確定其下界。

由式(4),式(5)可得:

[τi=NburstBs-BimBsBim] (10)

當多個EDMA在A同步傳輸模式下對DDR存儲器進行高速并發訪問時,此時的等待時間[τi]最小,記為[Γ],根據文獻[11]的測試結果可得:

[Γ=16 B10 383 MBs-1 312 MBs10 383×1 312 MB2s2=7 DDR3CLKOUT] (11)

因此,當單個EDMA的實際傳輸帶寬[B]已知時,可根據式(11)估算并行訪問在最好情形下的實際傳輸帶寬[Bbest]:

[Bbest=defNburstNburstBs+Γ] (12)

2 測試結果

當前已經根據本文所設計的方法開發了SAR數據存儲庫。采用德州儀器發行的TMDSEVM6678L開發板作為測試硬件平臺。通過開發板上的DSP完成對片外DDR3 SDRAM的訪問,并對矩陣分塊映射方法和并行訪問帶寬進行測試。

將一個4k×8k的二維復數矩陣按照分塊映射的方法存儲到DDR中,然后8個核分別使用1個EDMA傳輸控制器,再以距離向或方位向的方式同時將數據從DDR讀取到各自的LL2中,直到遍歷完全部的數據,記錄總時間并計算實際訪問帶寬。

在測試時用到的傳輸控制器為:CC0的TC0,TC1;CC1的TC0,TC1,TC2,TC3和CC2的TC0,TC1。首先通過核0分別使用這8個傳輸控制器讀取DDR中的距離向或方位向數據,記錄并計算實際的傳輸帶寬,如圖4中的斜線柱狀圖所示。接著再通過8個核同時使用8個傳輸控制器讀取DDR中的數據,實際的傳輸帶寬如圖4中的圓點柱狀圖所示。

通過圖4中的測試結果可以看出,在使用單個EDMA時,每個EDMA傳輸控制器的實際訪問帶寬大約是500 MB/s,在并行訪問時,每個EDMA傳輸控制器的實際訪問帶寬大約是320 MB/s,與單個EDMA相比均有所下降,這是DDR存儲總線的競爭引起。但并行模式下總的訪問帶寬大約是2 560 MB/s,與單個EDMA相比提高了大約5倍。

可根據式(9)估算并行訪問時各個EDMA的最差訪問帶寬[Bworst]。根據文獻[12]可知,DDR控制器一次突發傳輸的字節數是16,DDR3CLKOUT設置為666.5 MHz,則:

[Bworst=NburstNburstBs+?=16 B16 B500 MBs+16666.5 MHz=286 MBs]

再根據式(12)計算并行訪問時各個EDMA的最優訪問帶寬:

[Bbest=NburstNburstBs+Γ=16 B16 B500 MBs+7666.5 MHz=376 MBs]

實際每個EDMA的并行訪問帶寬是320 MB/s,正好位于區間[Bworst,Bbest]中,這與實測結果是吻合的。對方位向數據的訪問測試結果和距離向的類似,不再贅述。

3 結 論

通過對Keystone上EDMA和DDR控制器的特性進行分析,提出一種適用于多核DSP的SAR數據分塊映射存儲方法,將二維矩陣分塊存儲到DDR的物理頁面中。EDMA可直接從DDR存儲器中訪問一行距離向和方位向數據,并能以附加行切換開銷最小的方式實現并行訪問,并給出應用并行訪問模式的充分條件。測試結果表明,該方法不僅能均衡距離向和方位向數據的訪問速度,還能同時提高兩個維度上數據的實際訪問帶寬。

參考文獻

[1] 張強,馮仰松,郭朋.基于多核DSP互聯架構的SAR處理研究與設計[J].電子技術應用,2016,42(1):37?39.

ZHANG Qiang, FENG Yangsong, GUO Peng. Research and design of SAR imaging based on multi?core DSP interconnection architecture [J]. Application of electronic technique, 2016, 42(1): 37?39.

[2] 張蘭,秦斯奇,唐瑞.SAR成像系統快速矩陣轉置算法的設計[J].科學技術與工程,2016,16(21):266?271.

ZHANG Lan, QIN Siqi, TANG Rui. Design of fast matrix transposition algorithm for SAR image systems [J]. Science technology and engineering, 2016, 16(21): 266?271.

[3] 張維陶,孫英欽,姚迪.用于合成孔徑雷達實時成像的高性能虛擬單節點設計[J].信號處理,2013,29(10):1376?1382.

ZHANG Weitao, SUN Yingqin, YAO Di. High?performance virtual single?node design for synthetic aperture radar real?time imaging [J]. Journal of signal processing, 2013, 29(10): 1376?1382.

[4] 盧世祥,韓松,王巖飛.合成孔徑雷達實時成像轉置存儲器的兩頁式結構與實現[J].電子與信息學報,2005,27(8):1226?1228.

LU Shixiang, HAN Song, WANG Yanfei. The structure and implementation of the two?frame corner turn memory (CTM) in real time imaging of SAR [J]. Journal of electronics & information technology, 2005, 27(8): 1226?1228.

[5] 謝應科,張濤,韓承德.實時SAR成像系統中矩陣轉置的設計和實現[J].計算機研究與發展,2003,40(1):6?11.

XIE Yingke, ZHANG Tao, HAN Chengde. Design and implementation of matrix transposition unit for real?time SAR image systems [J]. Journal of computer research and development, 2003, 40(1): 6?11.

[6] 李早社,禹衛東,汪亮,等.基于SDRAM的星載SAR星上實時成像轉置存儲器[J].信號處理,2007,23(3):433?436.

LI Zaoshe, YU Weidong, WANG Liang, et al. Corner turning memory based on SDRAM for spaceborne SAR on?board real?time imaging [J]. Journal of signal processing, 2007, 23(3): 433?436.

[7] 林桐,謝宜壯,劉偉.實時SAR成像系統矩陣原位轉置的實現[J].計算機工程,2013,39(6):319.

LIN Tong, XIE Yizhuang, LIU Wei. Implementation of matrix in?place transpose for real?time SAR imaging system [J]. Computer engineering, 2013, 39(6): 319.

[8] 鮑勝榮,周海斌.SAR實時成像高效矩陣轉置研究和實現[J].現代雷達,2013,35(3):24?27.

BAO Shengrong, ZHOU Haibin. Study and implementation of high efficient matrix transpose for SAR real?time imaging system [J]. Modern radar, 2013, 35(3): 24?27.

[9] 邊明明,畢福昆,汪精華.實時SAR成像系統矩陣轉置方法研究與實現[J].計算機工程與應用,2011, 47(22):117?119.

BIAN Mingming, BI Fukun, WANG Jinghua. Research and implementation of matrix transpose for real?time SAR imaging system [J]. Computer engineering and applications, 2011, 47(22): 117?119.

[10] 劉小寧,謝宜壯,趙博雅,等.一種二維訪問效率均衡的SAR數據矩陣轉置方法[J].電子學報,2016,44(1):33?38.

LIU Xiaoning, XIE Yizhuang, ZHAO Boya, et al. A SAR data matrix transpose method of efficiency balanced two dimensional access [J]. Acta electronica sinica, 2016, 44(1): 33?38.

[11] Texas Instruments Incorporated. TMS320C6678 memory access performance [EB/OL]. [2011?03?14]. http;//www.ti.com.cn/cn/lit/er/sprz334h/sprz334h.pdf.

[12] Texas Instruments Incorporated. Keystone architecture DDR3 memory controller [EB/OL]. [2015?10?12]. http;//www.ti.com.cn/product/cn/tms320c6678.

[13] Texas Instruments Incorporated. Keystone architecture enhanced direct memory access (EDMA3) controller [EB/OL]. [2015?11?03]. http;//www.ti.com.cn/product/cn/66AK2H14/datasheet/2?ZHCSBT2G#SPRS864C_002a.

猜你喜歡
信號處理
《信號處理》征稿簡則
《信號處理》第九屆編委會
《信號處理》第九屆編委會
《信號處理》征稿簡則
《信號處理》征稿簡則
《信號處理》第九屆編委會
《信號處理》征稿簡則
《信號處理》第九屆編委會
《信號處理》征稿簡則
《信號處理》第九屆編委會
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合