基于高性能多DSP互連技術(shù)研究
前言
由于現(xiàn)代數(shù)字信號(hào)處理器(DSP)設(shè)計(jì)、半導(dǎo)體工藝、并行處理和互連與傳輸技術(shù)的進(jìn)步,現(xiàn)代高性能DSP的處理能力得到極大發(fā)展。但在移動(dòng)通信、雷達(dá)信號(hào)處理和實(shí)時(shí)圖像處理等復(fù)雜電子系統(tǒng)中,單片DSP的性能仍可能無法滿足需求,通常需要使用多片DSP構(gòu)成并行信號(hào)處理系統(tǒng)。
在多DSP系統(tǒng)中,互連技術(shù)連接DSP、接口及其他處理器,一起構(gòu)成系統(tǒng)的靜態(tài)體系結(jié)構(gòu),是數(shù)據(jù)傳輸?shù)闹虚g介質(zhì)的總和?;ミB技術(shù)傳輸代表計(jì)算任務(wù)、中間數(shù)據(jù)、結(jié)果或狀態(tài)控制信息的數(shù)據(jù)流,使接口與DSP中的算法模塊通過數(shù)據(jù)流動(dòng)態(tài)地連接起來,整合成分工協(xié)作的有機(jī)整體。
已經(jīng)有一些對(duì)多DSP并行系統(tǒng)互連技術(shù)的綜述,但還不夠全面而且沒有反映高性能DSP互連技術(shù)的最新進(jìn)展。因此,本文以世界主流公司的典型高性能DSP產(chǎn)品為例,全面總結(jié)高性能DSP的互連接口技術(shù)及其發(fā)展,對(duì)其互連特性進(jìn)行總結(jié)和歸納分類,在此基礎(chǔ)上全面總結(jié)給出并行信號(hào)處理系統(tǒng)中多DSP互連設(shè)計(jì)的總體設(shè)計(jì)考慮和實(shí)際經(jīng)驗(yàn)。
高性能DSP互連接口技術(shù)及其發(fā)展
多DSP系統(tǒng)的互連以DSP自身接口為基礎(chǔ),下面以TI、ADI和Freescale三家公司的高性能DSP為例系統(tǒng)概括現(xiàn)有的DSP互連接口,見表1。
現(xiàn)有DSP的互連接口在物理層和傳輸控制上的特性是選擇使用互連技術(shù)的基礎(chǔ),表2是對(duì)表1中所有的DSP互連接口的互連特性的總結(jié)。
可以看出,在越來越高的傳輸速率需求的推動(dòng)下,高性能DSP互連接口在物理層技術(shù)的主要發(fā)展趨勢是:從高電壓擺幅→低電壓擺幅,從單端信號(hào)→差分信號(hào);從并行總線→串行信號(hào)線;從收發(fā)異步→收發(fā)外同步→源同步→串行碼流中嵌入時(shí)鐘的串行器/解串行器(SerDes);從半雙工→全雙工;從多點(diǎn)分時(shí)共享總線→點(diǎn)-點(diǎn)的專用互連;最終使接口傳輸速率從幾十Mbit/s發(fā)展到目前的10Gbit/s。
數(shù)據(jù)的串行化意味著數(shù)據(jù)必須以分組方式傳輸。而由于信號(hào)完整性問題,高速串行差分線一般不允許多點(diǎn)負(fù)載,因此基于SerDes的互連一般是點(diǎn)到點(diǎn)的直接互連。當(dāng)DSP數(shù)量較少時(shí),可以采用DSP間兩兩的直接互連;當(dāng)DSP數(shù)量較多時(shí),須要采用中間DSP或用于數(shù)據(jù)傳輸?shù)闹虚g器件—交換機(jī)。
因此,物理層技術(shù)的發(fā)展推動(dòng)著高性能DSP的主要互連技術(shù)從多點(diǎn)并行總線轉(zhuǎn)向高速串行直連和分組傳輸交換。例如TI在2008年10月發(fā)布的3核DSP TMS320C6474、Freescale在2008年11月發(fā)布的6核DSP MSC8156,都已經(jīng)取消傳統(tǒng)意義上的數(shù)據(jù)、地址和控制三總線接口而代之以sRIO、GE之類的標(biāo)準(zhǔn)分組交換網(wǎng)絡(luò)接口以及AIF這樣的高速直連接口。
根據(jù)傳輸特性對(duì)互連技術(shù)分類
互連的目的滿足接口及算法鏈路的數(shù)據(jù)傳輸需要,因此互連特性往往與傳輸特性緊密相關(guān)。各種互連技術(shù)雖各有不同,但可以根據(jù)互連與傳輸?shù)墓残赃M(jìn)行統(tǒng)一分類,有助于理解并選擇合適的互連技術(shù)。表3是根據(jù)互連與傳輸?shù)奶匦詫?duì)現(xiàn)有主要DSP互連技術(shù)的分類。圖1~圖4是對(duì)典型互連技術(shù)實(shí)例的圖示。
圖1 典型直接互連:鏈?zhǔn)?、星型、陣?/p>
圖2 典型多點(diǎn)總線直接互連:對(duì)等總線、主從總線
圖3 典型非網(wǎng)絡(luò)間接互連:存儲(chǔ)器中介(雙口、FIFO、共享)、FPGA
圖4 交換網(wǎng)絡(luò)互連:直接接入及需要適配器接口轉(zhuǎn)換
對(duì)表3補(bǔ)充說明如下:多點(diǎn)總線為多DSP共享并分時(shí)占用,不能多數(shù)據(jù)流并發(fā)傳輸。多點(diǎn)主從總線可能有主總線的橋接轉(zhuǎn)換,例如PCI-HPI的PCI2040(TI)、PCI-Local總線的PCI9054(PLX)。傳統(tǒng)互連中的數(shù)據(jù)傳輸過程一般都需要源、中間或目的處理器的顯性或隱性(例如TDM中的時(shí)隙分配)地直接參與。而基于交換機(jī)的網(wǎng)絡(luò)互連則一般不需要。間接傳輸中的中介器件、DSP或交換機(jī)可以根據(jù)需要級(jí)聯(lián)。接口轉(zhuǎn)換橋方式連接標(biāo)準(zhǔn)網(wǎng)絡(luò)的實(shí)例有:專用于ADI公司SHARC及TigerSHARC的SharcFin和FINe(Bittware)、通用的TSI620(Tundra)。高端FPGA由于其豐富的接口、對(duì)幾乎所有互連標(biāo)準(zhǔn)的有效支持、使用的靈活性和高性能的計(jì)算處理能力,也會(huì)在多DSP的互連中發(fā)揮重要作用。
在2003年RapidIO成為ISO/IEC 18372標(biāo)準(zhǔn)之前,還沒有規(guī)范的多DSP互連網(wǎng)絡(luò)標(biāo)準(zhǔn),各廠商推出了多種非標(biāo)準(zhǔn)DSP互連網(wǎng)絡(luò)、接口和交換芯片,例如:Solano(Spectrum Signal)、StarFabric(StarGen)、FPDP/sFPDP(ICS/VITA)、RaceWay(Mercury)、SKYChannel(SKY Computer)。RapidIO是在這些技術(shù)的基礎(chǔ)上發(fā)展起來的,特別針對(duì)高性能DSP或嵌入式系統(tǒng)互連優(yōu)化,其產(chǎn)業(yè)鏈已經(jīng)基本成熟,并開始逐步取代這些非標(biāo)準(zhǔn)互連技術(shù)。
總結(jié)高性能DSP間的數(shù)據(jù)傳輸及控制,可以看出,其主要發(fā)展趨勢是:從DSP間的直接互連傳輸→通過中介DSP的間接傳輸→通過分組交換互連網(wǎng)絡(luò)的間接傳輸;源DSP和目的DSP的關(guān)系從主從關(guān)系→對(duì)等關(guān)系;從DSP軟件主動(dòng)參與傳輸控制→硬件獨(dú)立自主控制傳輸過程,例如sRIO由硬件完成檢錯(cuò)和重傳;從專有互連傳輸技術(shù)→標(biāo)準(zhǔn)互連傳輸技術(shù)。
系統(tǒng)級(jí)設(shè)計(jì)考慮
構(gòu)建多DSP并行DSP系統(tǒng)時(shí),需要決策解決的系統(tǒng)級(jí)問題有:為主數(shù)據(jù)路徑選用哪些互連技術(shù)與整體拓?fù)?統(tǒng)一互連還是混合互連技術(shù)?直接還是間接互連?如果直接互連采用何種DSP接口?如果間接互連是采用存儲(chǔ)器、FPGA、交換機(jī)還是其他器件擴(kuò)展?是否需要連接外部網(wǎng)絡(luò)?如何處理控制、程序配置、管理等的傳輸需求?是否需要區(qū)分?jǐn)?shù)據(jù)平面、控制/配置平面、管理平面?在控制/配置/管理平面內(nèi),又應(yīng)采用何種互連技術(shù)與互連拓?fù)?
如何選擇合適的互連技術(shù),設(shè)計(jì)合理的互連體系結(jié)構(gòu),應(yīng)當(dāng)根據(jù)數(shù)字信號(hào)處理算法及其在各DSP上的分解、解耦與適配結(jié)果,考慮數(shù)據(jù)傳遞鏈路在速率、延遲、并發(fā)數(shù)等方面的性能需求,針對(duì)已有DSP接口的互連與傳輸特性,滿足系統(tǒng)在控制、配置和管理方面的數(shù)據(jù)傳遞需要,滿足系統(tǒng)在成本、硬軟件開發(fā)復(fù)雜度、調(diào)試測試方便性、構(gòu)建使用靈活性與可擴(kuò)展性等使用特性上的需要。在工程中設(shè)計(jì)實(shí)際并行處理系統(tǒng)時(shí),一般需要混合使用多種互連傳輸技術(shù)與互連拓?fù)浼軜?gòu)。
經(jīng)驗(yàn)總結(jié)
在信號(hào)處理平面:當(dāng)多DSP間整體流量不大或需要共享內(nèi)存且器件支持時(shí),可以使用對(duì)等并行總線;當(dāng)處理過程需要主處理器參與轉(zhuǎn)移、分配、匯聚或控制時(shí),可以選用主從并行總線;當(dāng)多DSP異構(gòu)、具有非對(duì)等總線接口、需要分發(fā)匯聚或需要FPGA參與處理時(shí),可以用緩存或FPGA做中介的間接互連;當(dāng)需要高性能且鏈路為直接點(diǎn)—點(diǎn)時(shí),可以選用高速直接互連鏈路或多點(diǎn)總線蛻化的直接互連;當(dāng)需要并發(fā)的多個(gè)高速數(shù)據(jù)流、路徑需要?jiǎng)討B(tài)變化或需要擴(kuò)展性,可以采用高性能分組交換網(wǎng)絡(luò)互連;如果DSP不具有網(wǎng)絡(luò)接口或網(wǎng)絡(luò)為非標(biāo)準(zhǔn),則需要橋接器件。語音、定時(shí)特性明顯的中小數(shù)據(jù)量傳輸可以采用McASP、TDM、McBSP等同步串行總線;對(duì)網(wǎng)絡(luò)數(shù)據(jù)可以采用FE、GE的標(biāo)準(zhǔn)網(wǎng)絡(luò)。
在配置、控制和管理數(shù)據(jù)平面,對(duì)低速數(shù)據(jù)可以采用串行總線如UART、I2C、CAN、UART擴(kuò)展的RS485等;對(duì)于高速傳輸可以采用主從并行總線如PCI、HPI、DSI、UTOPIA等,或采用FE/GE、PCIe、sRIO等網(wǎng)絡(luò)互連技術(shù);如果需要通過外部以太網(wǎng)管理系統(tǒng)內(nèi)部則需要使用FE、GE等通用網(wǎng)絡(luò)技術(shù)。
對(duì)于系統(tǒng)的整體互連拓?fù)洌?dāng)整體算法鏈路固定且主要為順序傳遞或逐級(jí)分解/匯聚或DSP數(shù)量較少時(shí),可以采用兩DSP間點(diǎn)—點(diǎn)直接互連組成的鏈/環(huán)式、樹/星型、二/三維規(guī)則拓?fù)洹esh等拓?fù)浣Y(jié)構(gòu);當(dāng)需要中、低性能的多DSP間相互傳輸,可以采用多點(diǎn)總線、FPGA星型、FE/GE的星型網(wǎng)絡(luò)拓?fù)?當(dāng)需要較多DSP間的高性能互連、算法靈活或需要性能與規(guī)模的線性擴(kuò)展時(shí),可以使用FPGA或分組交換網(wǎng)絡(luò)形成的星型拓?fù)洹?/p>
結(jié)語
現(xiàn)代高性能多DSP并行DSP系統(tǒng)一般將采用分平面的混合互連與傳輸技術(shù)。高性能多DSP的互連和數(shù)據(jù)傳輸將主要是基于低壓差分SerDes的全雙工互連和分組數(shù)據(jù)傳輸。當(dāng)DSP數(shù)量較少時(shí)系統(tǒng)級(jí)互連將以DSP間的直接互連為主,當(dāng)DSP數(shù)量較多時(shí)將以交換機(jī)及交換網(wǎng)絡(luò)為中心。多DSP互連的整體發(fā)展趨勢是從局部的差異化互連→全局統(tǒng)一的網(wǎng)絡(luò)互連;從直接互連/傳輸→通過中介的間接傳輸→通過互連網(wǎng)絡(luò)的間接傳輸;從非標(biāo)準(zhǔn)互連→標(biāo)準(zhǔn)互連;從通用以太網(wǎng)→面向信號(hào)處理優(yōu)化的高性能嵌入互連網(wǎng)絡(luò)sRIO。