999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種SAR 成像矩陣的高效存取方法

2022-11-05 08:30:42張偉達
電子設計工程 2022年21期

張偉達

(中國電子科技集團公司第十研究所,四川成都 610036)

合成孔徑雷達(SAR)因其高分辨的成像能力和穿透性強,具有全天時全天候的特點,被廣泛應用于海洋、陸地、航空航天等領域[1-5]。而隨著SAR 成像實時性、分辨率等要求越來越高,成像處理中的數據量和運算量也越來越大,此時多節點、多內核的并行處理架構常常被用來提高系統性能,以解決上述問題[6-7]。

SAR 成像功能中需要處理的復數點數據以二維數據矩陣的形式存儲,且數據量規模龐大,而傳統用于存儲處理數據的DSP 芯片可使用的存儲空間有限,同時若直接以線性方式存儲二維數據(在存儲介質中某一維度數據連續存儲,另一維度跨越式存儲),則會造成數據讀寫性能失衡,某一維度存取速率很高而另一維度卻非常低。

該文基于某國產類TMS320C6678 芯片[8-13],針對大規模數據的存儲和矩陣的二維高效傳輸,設計了一種將單片DSP 不足以容納的數據存儲于多片DSP中,并且DSP 間通過Serial RapidIO[14-16](SRIO)網絡互聯的系統方案,系統網絡中的每一片DSP 都可以通過SRIO 接口訪問到其他DSP 中的數據,同時制定數據矩陣在DSP 中的存儲策略來替換線性存儲方式,以達到網絡中的DSP 都可以以任意維度高效訪問完整矩陣空間數據的目的,為系統中多DSP 并行高效地完成成像運算提供支持。

1 系統組成

單片DSP 不足以存儲完整的二維復數點數據矩陣,可以將數據矩陣分布式的存儲在多片DSP存儲介質中,多片DSP 通過SRIO 網絡協同實現對完整數據矩陣的訪問,該文設計的雷達信號數據處理板根據待處理的數據量,采用四片類6678 DSP并行工作的方式,提高運算效率的同時擴展了存儲容量。

方案中使用的國產類TMS320C6678 DSP 芯片具有8 個內核,每個內核最高主頻為1 GHz;具有兩組SRIO 控制器,且全部接入SRIO 網絡中,速率均使用4×3.125 Gbps 配置,在接入交換芯片的情況下,實際讀寫吞吐量分別可達到5.9 Gbps、8.6 Gbps;DSP 外部配有8 GB 容量的DDR(雙倍速率同步動態隨機存儲器),內部配有4 MB 的MSMC(共享內存空間),其他存儲能力與TMS320C6678 完全相同。

系統構成圖如圖1 所示,四片類6678 DSP 芯片通過1848 交換芯片接入共同的SRIO 網絡,每片DSP與交換芯片間都有兩組SRIO 相連接,傳輸數據時可獨立并行傳輸。

圖1 系統構成圖

在該文方案中,可以處理的復數點(4 字節實部+4 字節虛部)上限為64k×64k 的二維矩陣(共32 GB數據),完整的待處理數據矩陣將被分成2×2個子矩陣(對應4 個DSP 組成的2×2 DSP 矩陣)分布式地保存在四片DSP 的DDR 中,(1,1)子矩陣被保存在(1,1)號DSP 中,(1,2)子矩陣被保存在(1,2)號DSP中,以此類推,數據矩陣分塊方法如圖2 所示。

圖2 數據矩陣分塊方法

考慮到可擴展性的需要,在其他應用場景中,可根據待處理矩陣數據量靈活地選擇SRIO 網絡中參與存取處理數據的DSP 矩陣規模,若選擇的DSP 矩陣模型為m×n(共m×n片DSP),則數據矩陣也要相應的被分割成m×n個子矩陣,并依據編號對應的保存在相應的DSP 中,如圖3 所示。

圖3 規模為m×n的DSP矩陣架構圖

2 二維矩陣在DDR中的排布策略

雷達成像數據一般以二維復數點矩陣形式排列,矩陣的行、列兩個維度分別對應著方位向和距離向兩類數據,在存儲時,若單獨地以某一個維度為單位將整個數據矩陣存入DDR 中,那么由于存儲單位使用的維度對應的數據在DDR 中連續存儲,其讀寫速度非常快,但另一維度的數據在DDR 中會以不連續的方式排列,且隨著數據體量的增大間隔也越大,同時會頻繁發生跨頁(DDR 中的存儲單位)讀寫數據的情況,此時,其對應的讀寫效率非常差。所以在DDR 中存寫數據矩陣時,都應依據一定的存寫策略平衡兩個維度的速率,以提高整體效率。

該文方案中使用如下存儲方法,以2×2 的DSP模型(共4 片)和64k×64k 的二維數據矩陣為例:

64k×64k 的二維數據矩陣會被分為2×2 個32k×32k 的子矩陣分別存儲在每片DSP 的DDR 中,為均衡行數據和列數據在DDR 中的讀寫速率,將數據矩陣分解為兩種規模的數據塊Rank 和Block,劃分規則如下:

原始數據矩陣(32k×32k)如圖4 所示,每一個數據點由其在矩陣中的行序號和列序號表示,表示形式為(0,0)~(32k-1,32k-1):

圖4 原始數據矩陣

Rank:每一列中以h(以h為512 為例,可根據DDR 的具體類型選擇最優的h值)個點為一組,定義為一個Rank,Rank 為存入ddr 中的基本單元,每一個Rank 中的數據按順序寫入ddr 的一段連續空間,如圖5 所示。

圖5 Rank在數據矩陣中的定義

Block:每一行Rank(以Rank為單位,包括Rank0~32k-1)為一個Block,如圖6 所示,32k×32k 數據矩陣中存在64 個Block,同一個Block 內的不同Rank 之間依照序號順序先后寫入連續的DDR 空間,該例中寫入Block0 數據塊時,先寫入Rank0,再寫入Rank1,依次寫入Block0 中的全部Rank。

圖6 Block在數據矩陣中的定義

Block 之間同樣依照序號順序依次寫入連續的DDR 空間,在DDR 中,用于存儲數據矩陣的起始地址開始存寫Block0 數據塊,在Block0 數據塊的下一個連續地址寫入Block1 數據塊,依次寫入全部Block數據塊。

3 二維矩陣的存取方法

由于圖像處理的高效性要求,往往采用并行處理的方式,既包括8 核的并行數據處理,也包括同步進行的數據傳輸與數據處理。

利用芯片的集成外設DMA(Direct Memory Access)控制器[17],可以實現DMA 控制器進行數據搬移的同時使用CPU 并行執行數據處理;使用ping-pong 模式,CPU 處理ping 區數據時DMA 搬移數據至pong區,CPU 處理完ping 區數據后開始處理pong 區數據,此時DMA 開始搬移并更新ping 區數據。

數據傳輸部分包括兩個環節:1)通過DMA 完成DDR 和本地MSMC 間的傳輸;2)通過SRIO 完成源DSP 與目標DSP 的MSMC 間傳輸。由于存儲方案并沒有線性地將數組數據存入DDR 中,需要使用DMA的多維傳輸和鏈式傳輸模式完成數據由DDR 到MSMC 的搬移,流程如下:

行讀寫時,DDR 中數據矩陣同一行數據的相鄰兩個數據點間隔h(即一個Rank 中的點數)個數據點(每個復數點占8 字節),行讀寫時,使用二維DMA 讀寫,即讀取一個點后間隔h個點讀取下一個點,為提高效率,在多行(設為g行,根據需要)讀寫中,一次讀取g個數據點(g行數據中相同序號的數據點相鄰,即存在于同一個Rank 中),間隔h個點后再讀取下一組的g個點。

圖7 以512 個點為一個Rank(h=512)、讀寫4 行數據(g=4)、以每行32k 個點為例,使用DMA 的二維傳輸模式(以固定間隔跨越式地多次傳輸),以4k Byte 為間隔每次搬移32 Byte,共搬移32k 次,陰影部分為待傳輸數據。

圖7 行數據在DDR中分布及讀寫示例

列讀寫時,列數據在DDR 中被分為數個Rank 存儲,Rank 中數據連續存儲,同一列數據所屬的兩個Rank 間隔h(本例中h為512)×32k(32k×32k 矩陣中)個數據點,使用鏈式DMA 進行傳輸,每一個節點傳輸一個Rank,為提高效率,在多列(g列)傳輸中,一次節點傳輸g個Rank(同一個Block 內,相鄰列數據的Rank 連續)。

圖8 以512 個點為一個Rank(h=512)、讀寫4 列數據(g=4)、以每列32k 個點為例,使用DMA 的鏈式傳輸模式,每個DMA 節點傳輸2 048(512×4 列)個復數點,一次DMA 傳輸鏈包括64 個節點(32×1 024/512),陰影部分為待傳輸數據,每一段陰影部分都為一次DMA 傳輸節點待傳輸的數據。

圖8 列數據在DDR中分布及讀寫示例

為了進一步提高數據傳輸的效率,同樣使用ping-pong模式,使DDR 和本地MSMC間的DMA 傳輸、源DSP 與目標DSP 間的SRIO 傳輸兩個環節同步執行,DMA 向ping 區搬移數據完成后,啟動ping 區數據SRIO 傳輸,同時DMA 開始向pong 區搬移數據,通過并行運行減少數據讀出DDR 的損耗。

4 性能評估

實驗采用圖1 所示的4 片DSP 模型,國產類6678 DSP 主頻時鐘使用1 GHz,DDR 工作時鐘使用667 MHz,兩組SRIO 設備都使用4 路3.125 Gbps 的配置(在通過交換芯片互連的情況下,實測SRIO 讀模式可達2×8.503 Gbps,寫模式可達2×5.915 Gbps)。

每次測試以讀寫4 條數據線為例,每條數據線分別訪問64k 個復數點(共4(線數)×64×1 024(點數)×8(點字節數)=2 MB 數據)和32k 個復數點(共4(線數)×32×1 024(點數)×8(點字節數)=1 MB 數據),存儲策略中Rank的h參數使用512。

該文方案實際傳輸帶寬及與傳統線性存儲方案(以行為單位逐字節存入DDR 中)對比如表1 和表2。

表1 訪問4線64k個復數點實驗性能對比表

表2 訪問4線32k個復數點實驗性能對比表

由實驗結果可以看出,由于采用了DMA 和SRIO并行工作的ping-pong 模式,完整流程的傳輸帶寬會受到二者中速率較慢一方的限制。

傳統線性存儲方式中,若以行為單位逐字節地將數據存入DDR 中,由于行數據在DDR 中連續,DMA 對DDR 中行數據的寫入、讀出非常快速,此時數據傳輸的帶寬僅受SRIO 帶寬上限制約;但由于列數據在DDR 中不連續,且同一列中連續的兩點之間間隔較大,實驗中間隔32k 個復數點(即256 kB,一片DSP 中存有32k×32k 數據矩陣),DMA 對DDR 中列數據的寫入讀出效率非常低(由于DDR 中頁屬性的限制,兩點間間隔越大,跨頁越多,耗時越久),此時數據傳輸的帶寬受DMA 對DDR 中數據讀寫速率的限制。

通過對比可以看出,使用該文方案后,列數據在DDR 中以Rank 的形式存儲,Rank 內部連續存儲,Rank 間離散分布,此時使用DMA 的鏈式傳輸模式,可以使列數據傳輸帶寬得到大幅提高;同時,雖然行數據由連續分布變為了離散分布,但連續兩點之間的存儲間隔可控,且會被設置為較小值,以便增加單個DDR 頁(DDR 中的存儲單位)中的存儲行點數,此時行數據讀寫時跨頁的消耗會被大大減少,最后達到在提高列數據傳輸速率的同時有限地降低行數據獲取性能的目的。

此方案中的讀寫性能同時也受訪問數據線數的影響,訪問的數據線數目越多,待操作的數據分布在同一個DDR 頁中的部分就越多,性能便越高,反之性能則會有所下降,實驗結果如表3 所示。

表3 訪問線數不同時實驗性能對比表

實驗數據可以看出,幾種訪問方式下,隨著訪問數據線數的降低,數據存寫效率也隨之降低,常用的2 線和4 線存寫和8 線相比性能分別下降了20%和10%,當只進行單線讀寫時速率達到最低,僅能達到8 線訪問性能的60%,實際應用中可根據具體需求選擇最合適的訪問模式來完成二維矩陣的傳輸。

5 結束語

該文提出的基于SRIO 網絡的多DSP 架構模式簡單靈活易擴展,有效解決了存儲數據量龐大及系統芯片間數據矩陣傳輸效率的問題,搭配文中闡述的二維矩陣存儲方案,相較于線性存儲,顯著地提高了兩個維度中較慢維度的傳輸速率,同時對另一維度數據的存取影響有限,使系統的綜合效率得以提高。

主站蜘蛛池模板: 国内熟女少妇一线天| 人妖无码第一页| 亚洲成a人片77777在线播放| 久久国产精品麻豆系列| 欧美国产菊爆免费观看| 日本91视频| 精品国产成人av免费| 美女高潮全身流白浆福利区| 国产精品亚洲一区二区在线观看| 亚洲欧美在线综合图区| 中文字幕无码av专区久久| 动漫精品中文字幕无码| 午夜国产精品视频| 免费不卡视频| 欧美一级高清免费a| 亚洲AV无码久久天堂| 亚洲人成网站观看在线观看| 婷婷色中文网| 最近最新中文字幕免费的一页| 欧美精品在线看| 国产精品成人不卡在线观看 | 狠狠久久综合伊人不卡| 亚洲AV无码久久精品色欲| 亚洲欧美极品| 国产凹凸一区在线观看视频| 成人免费黄色小视频| 伊人久久大线影院首页| 亚洲av无码久久无遮挡| 成年片色大黄全免费网站久久| 尤物在线观看乱码| 欧美日韩国产在线播放| 午夜精品福利影院| 伊人久久福利中文字幕| 欧美日韩导航| 欧美a在线看| 影音先锋丝袜制服| 就去色综合| 亚洲日本中文字幕天堂网| 久久中文电影| 国产视频资源在线观看| 精品无码日韩国产不卡av| 天天干天天色综合网| 高清亚洲欧美在线看| 国产午夜在线观看视频| 日本免费精品| 欧美精品成人一区二区视频一| 亚洲精品福利视频| 91精品国产自产在线老师啪l| 视频二区欧美| 尤物国产在线| 国产成+人+综合+亚洲欧美| 免费看黄片一区二区三区| 亚洲人成在线免费观看| 无码一区中文字幕| 国产成人乱码一区二区三区在线| 亚洲男人天堂网址| 国产91透明丝袜美腿在线| 国产91久久久久久| 91蜜芽尤物福利在线观看| 蜜臀AV在线播放| 亚卅精品无码久久毛片乌克兰 | 精品久久国产综合精麻豆| 欧美翘臀一区二区三区| 国产成人精品一区二区秒拍1o| 又粗又大又爽又紧免费视频| 偷拍久久网| 综合社区亚洲熟妇p| 国产精品久久久久无码网站| 欧美一级高清视频在线播放| 在线a视频免费观看| 毛片在线看网站| 久久精品日日躁夜夜躁欧美| 九九视频免费看| 国产一区二区三区在线无码| 动漫精品啪啪一区二区三区| 欧美一道本| 九九热精品在线视频| 日韩欧美91| 欧美日韩精品在线播放| 欧美精品色视频| 亚洲男人在线| 二级特黄绝大片免费视频大片|