高性能信號處理通用平臺研究
掃描二維碼
隨時隨地手機(jī)看文章
0引言
當(dāng)前信號處理領(lǐng)域內(nèi)陣列信號處理技術(shù)正在迅速發(fā)展,各種新的算法及新的處理技術(shù)不斷出現(xiàn),要求信號處理系統(tǒng)具有快速適應(yīng)各種新算法和新技術(shù)的能力,采用傳統(tǒng)的基于專用硬件的設(shè)計(jì)方法所開發(fā)出來的信號處理系統(tǒng)無法滿足這樣的要求。開發(fā)具有通用性的計(jì)算平臺,盡可能通過軟件來實(shí)現(xiàn)信號處理功能,成為信號處理的新趨勢,“軟件雷達(dá)”、“軟件無線電”等概念都是基于這一思想。
通過靈活的軟件編程來適應(yīng)算法的變化,通過簡單的硬件擴(kuò)展來適應(yīng)規(guī)模的變化,使系統(tǒng)的靈活性大大提高,研制周期、費(fèi)用大為減少。要支持這種設(shè)計(jì)思路,必須研制出組成通用計(jì)算平臺的信號處理模塊,該模塊既能滿足系統(tǒng)實(shí)時處理需求,又具備通用性、可擴(kuò)展性。
本文提出了一種基于TMS320C6701信號處理器的高性能信號處理模塊的設(shè)計(jì)方案,設(shè)計(jì)了具有一定通用性的并行信號處理模塊,該模塊具有高速互連接口,可以根據(jù)應(yīng)用系統(tǒng)的需求構(gòu)成不同的并行系統(tǒng),完成各種信號處理任務(wù)。
1系統(tǒng)結(jié)構(gòu)
隨著微電子技術(shù)的突飛猛進(jìn),處理器的速度不斷得以提高,但實(shí)際應(yīng)用對于計(jì)算能力的需求還是遠(yuǎn)遠(yuǎn)超出了單個處理器可以提供的范圍,采用并行處理技術(shù)構(gòu)成多處理器系統(tǒng)滿足需要較強(qiáng)計(jì)算能力的應(yīng)用是一種行之有效的技術(shù)途徑。
并行處理的目的是通過采用多個處理單元同時對任務(wù)進(jìn)行處理,加速整個計(jì)算的過程,從而減少任務(wù)的執(zhí)行時間。整個任務(wù)可分解成一些小的任務(wù),分別分配給并行處理系統(tǒng)中各個處理單元執(zhí)行。一般而言,這些并行執(zhí)行的任務(wù)都不能完全獨(dú)立執(zhí)行,一個任務(wù)中的計(jì)算可能需要用到另一個任務(wù)中的數(shù)據(jù),各處理單元之間存在進(jìn)行數(shù)據(jù)交換的要求。因?yàn)榻粨Q數(shù)據(jù)而必須等待的時間,反映了處理單元之間的同步開銷。因此不難看出,并行處理額外增加了數(shù)據(jù)通信和同步等待等開銷。
為使任務(wù)執(zhí)行時間減少增加處理單元個數(shù)成為首要手段,同時要將任務(wù)進(jìn)行更細(xì)粒度的劃分以增加任務(wù)的并行度,但在增加處理單元和任務(wù)細(xì)粒度化的同時將帶來總通信量的增加,再加上同步時間和任務(wù)分配不均所造成的空等待時間開銷,增加處理單元的個數(shù)對增加系統(tǒng)處理能力得不償失。這使得在設(shè)計(jì)并行處理系統(tǒng)時必須著重考慮以下兩個方面:處理單元性能的提高以及處理單元間通信技術(shù)的改進(jìn)。
1.1處理單元的選擇
在通信、語音、圖像處理中信號的動態(tài)范圍有限,一般采用定點(diǎn)運(yùn)算就可以滿足要求,雷達(dá)、聲納信號需要較大的數(shù)據(jù)動態(tài)范圍和數(shù)據(jù)精度,若按定點(diǎn)處理會發(fā)生數(shù)據(jù)上溢出或下溢出,嚴(yán)重時處理將無法進(jìn)行,如果使用移位定標(biāo)或用定點(diǎn)模擬浮點(diǎn)運(yùn)算,程序的執(zhí)行速度將大大降低,為增強(qiáng)計(jì)算平臺的適用性,該通用信號處理平臺使用浮點(diǎn)處理器。
同樣的任務(wù)量,用高性能的處理單元構(gòu)成的“小”規(guī)模系統(tǒng),其效率要高于用較低性能的處理單元構(gòu)成的“大”規(guī)模系統(tǒng)。并行處理單元的性能相當(dāng)重要,它不僅包括運(yùn)算速度,還包括存儲器帶寬、數(shù)據(jù)通信速度等,美國TI公司的TMS320C6000系列DSP是業(yè)界最高性能的通用可編程DSP,TMS320C6701又是該系列中性能較高的浮點(diǎn)處理器。該款DSP完全滿足設(shè)計(jì)的通用計(jì)算平臺對信號處理單元性能的要求,因此選擇TMS320C6701作為信號處理模塊的處理單元。
1.2通信網(wǎng)絡(luò)的設(shè)計(jì)
陣列信號處理必然是多個信號處理單元并行工作,子任務(wù)分配在并行處理系統(tǒng)的各個處理單元中,子任務(wù)間數(shù)據(jù)通信速度和同步時間等不僅取決于處理單元本身的通信速度,還取決于連接處理單元的通信互連網(wǎng)絡(luò),通信鏈路豐富的復(fù)雜網(wǎng)絡(luò)往往能提供較高的數(shù)據(jù)通信速度,然而其設(shè)計(jì)和維護(hù)的難度要高得多。針對不同的實(shí)際應(yīng)用,采用不同形式的通信網(wǎng)絡(luò),可以降低通信網(wǎng)絡(luò)的復(fù)雜度。
在互連結(jié)構(gòu)設(shè)計(jì)中,把整個并行信號處理系統(tǒng)的互連結(jié)構(gòu)分為兩級:系統(tǒng)級互連結(jié)構(gòu)、模塊級互連結(jié)構(gòu)。
系統(tǒng)級互連結(jié)構(gòu)主要用于模塊間的通信,該設(shè)計(jì)中系統(tǒng)級的控制網(wǎng)絡(luò)和信號處理網(wǎng)絡(luò)分別采用RaceWay及VME實(shí)現(xiàn)。模塊級互連結(jié)構(gòu)主要指信號處理模塊內(nèi)的網(wǎng)絡(luò)結(jié)構(gòu)。信號處理模塊系統(tǒng)結(jié)構(gòu)如圖1所示。
信號處理模塊內(nèi)包含4個DSP,可提供4GFLOPS的峰值處理能力。模塊內(nèi)采用共享總線互連結(jié)構(gòu)。一般情況下,程序代碼和運(yùn)算數(shù)據(jù)應(yīng)存放于各DSP的片內(nèi)RAM或局部存儲器中,這樣可以減少共享存儲器訪問次數(shù),減少總線爭用,縮短存儲訪問延時。共享存儲器通常用來支持模塊內(nèi)4個DSP之間交換數(shù)據(jù),以及用來支持在模塊之間交換數(shù)據(jù)。
為了減少模塊內(nèi)各個DSP爭用總線帶來的時延,提高DSP之間的通信能力,相鄰的DSP之間還通過雙向的FIFO連接,構(gòu)成FIFO環(huán)。這種結(jié)構(gòu)十分適合流水處理的應(yīng)用,最大限度地減小了數(shù)據(jù)移動的開銷,提高了處理器間的通信速度。
流水處理以其簡單高效而被廣泛采用,但因?yàn)樗焕昧巳蝿?wù)時間上的并行性,而忽視了空間上的并行性,所以并行度不高,加速比受到限制。當(dāng)流水線中某一段任務(wù)負(fù)載量大于其他段時,就會形成處理瓶頸而降低系統(tǒng)效率。因此,流水線往往和并發(fā)操作結(jié)合起來,即在流水線處理的基礎(chǔ)上,部分的利用空間并行性,稱為局部并行全局串行網(wǎng)絡(luò)。與之對應(yīng)的是全局并行局部串行網(wǎng)絡(luò),即先利用空間并行性再利用時間并行性,設(shè)計(jì)出并行工作的多條流水線。
該并行信號處理系統(tǒng)的信號處理模塊所采用的互連形式——共享總線和FIFO環(huán)的結(jié)構(gòu),能夠很好地適應(yīng)流水處理的各種變形。
2硬件設(shè)計(jì)
該信號處理模塊符合VME標(biāo)準(zhǔn),采用6U雙高板結(jié)構(gòu),模塊內(nèi)部硬件實(shí)現(xiàn)上可劃分為四級總線結(jié)構(gòu),分別是局部總線、全局總線、PCI總線以及VME總線。在局部總線上的資源有:SBRAM、SDRAM及雙向FIFO;全局總線上的資源有:PCI總線接口、SRAM、FLASH;PCI總線上的資源有:RaceWay接口、HOST PCI的橋、PCI VME的橋以及PCI DSP的橋;VME總線上的資源有:
VME總線接口。
2.1存儲系統(tǒng)設(shè)計(jì)
信號處理模塊的存儲器空間包括:局部總線空間和全局總線空間。局部總線空間由局部控制寄存器空間、SBSRAM空間、SDRAM空間、FIFO空間、內(nèi)部程序存儲器空間、內(nèi)部數(shù)據(jù)存儲器空間和內(nèi)部外設(shè)空間構(gòu)成。全局總線空間由全局FLASH空間、全局SRAM空間、全局總線控制寄存器空間和PCI接口空間構(gòu)成。
EMIF是外部存儲器和TMS320C6701片內(nèi)各功能單元的接口,DSP訪問片外存儲器時必須通過EMIF.
EMIF具有很強(qiáng)的接口能力,其數(shù)據(jù)總線寬度為32b,可尋址空間為4GB,可以與目前幾乎所有類型的存儲器直接接口,數(shù)據(jù)吞吐能力最高可達(dá)667MB/s.EMIF支持的器件類型包括:同步突發(fā)靜態(tài)RAM(SBSRAM)、同步動態(tài)RAM(SDRAM)、異步器件(包括異步SRAM、ROM和FLASH等),異步接口速度、時序可編程,可以配合不同的器件。
EMIF處理的外總線請求有四種來源:片內(nèi)程序存儲器控制器發(fā)出的取指請求,片內(nèi)數(shù)據(jù)存儲器控制器發(fā)出的數(shù)據(jù)存取請求,片內(nèi)DMA控制器的請求,外部共享存儲器設(shè)備的控制器發(fā)出的請求。當(dāng)同時有多個部分申請外總線時,由EMIF根據(jù)設(shè)置的優(yōu)先級進(jìn)行仲裁,然后響應(yīng)各個申請。一旦某個申請者根據(jù)優(yōu)先級獲得了處理權(quán),這一處理權(quán)會一直保留到該申請者放棄請求或者是有更高優(yōu)先級的申請者提出申請,其間即便有新的申請出現(xiàn),EMIF也不會受理。在新的申請開始得到處理之前,對于已經(jīng)獲得處理權(quán)的前一個申請者,其尚未完成的操作部分可以優(yōu)先繼續(xù)完成。
2.2全局總線設(shè)計(jì)
模塊內(nèi)全局總線可由4個DSP、PCI接口芯片中的任何一個來占用,全局總線仲裁電路的設(shè)計(jì)是該模塊設(shè)計(jì)中的一個要點(diǎn)??紤]到PCI接口是整個系統(tǒng)信息交換最重要的通道,它的利用率的高低直接決定了系統(tǒng)的性能,所以將其優(yōu)先權(quán)定為高,將DSP的優(yōu)先權(quán)定為低。DSP之間的仲裁采用輪轉(zhuǎn)優(yōu)先級仲裁算法。
DSP通過異步接口空間訪問全局總線,由于TMS320C6701的異步接口空間僅能夠提供4MB的地址空間,為了克服芯片的這個限制,采用頁面的機(jī)制擴(kuò)充異步接口空間,使該空間最大可訪問的空間達(dá)到2GB.把DSP的EMIF提供4MB的異步接口空間分為兩部分,低2MB(即A21=0)用于訪問全局資源,高2MB用于訪問每個DSP的局部資源。采用這種DSP異步接口空間的劃分方法簡化并加快了譯碼。當(dāng)復(fù)位時每個DSP的頁面寄存器都被置為0×0000 0000,它會自動通過異步接口空間指向FLASH,實(shí)現(xiàn)自舉。當(dāng)一個DSP獲得全局總線的訪問權(quán)后,由該DSP的頁面寄存器決定全局總線地址的高11位(GA31:GA21),全局總線地址的低位(GA20:GA2)直接由該DSP驅(qū)動,GA1和GA0由譯碼得到。
通過以下計(jì)算公式可以計(jì)算頁面值和頁內(nèi)偏移量:
頁面值=(全局總線上的地址)
2.3調(diào)試接口
JTAG是基于IEEE 1149.1標(biāo)準(zhǔn)的一種邊界掃描測試方式。TI公司為C6000系列DSP提供了JTAG端口支持,結(jié)合配套的仿真軟件可以訪問DSP的所有資源,包括片內(nèi)寄存器以及所有的存儲器,從而提供了一個實(shí)時的硬件仿真與調(diào)試環(huán)境,便于開發(fā)人員進(jìn)行系統(tǒng)軟件調(diào)試。
該信號處理模塊提供兩種方式的JTAG調(diào)試。一種方式是使用TI的XDS510仿真器和JTAG仿真協(xié)議給信號處理模塊下載程序,在軟件開發(fā)和調(diào)試時控制程序的執(zhí)行。另一種方式是使用TI的代碼編譯開發(fā)環(huán)境和Pentek的SwiftNet通信協(xié)議給信號處理模塊下載程序和進(jìn)行調(diào)試。這兩種方式可通過一個選擇器進(jìn)行選擇使用。
該信號處理板上有4片DSP,需要進(jìn)行多處理器仿真調(diào)試,將DSP的JTAG端口和JTAG仿真器或JTAG控制器間以菊花鏈方式互連。JTAG調(diào)試接口電路如圖2所示。
3系統(tǒng)軟件設(shè)計(jì)
隨著嵌入式系統(tǒng)應(yīng)用范圍不斷擴(kuò)大,功能也越來越強(qiáng)。對于不同的系統(tǒng)應(yīng)用需要采用定制信號處理算法。
在實(shí)時操作系統(tǒng)支持下開發(fā)DSP算法,方便快捷,程序思路清晰,便于代碼調(diào)試和重用,但是目前大多數(shù)DSP實(shí)際應(yīng)用中,仍然采用與早期單片機(jī)開發(fā)一樣的開發(fā)方式,用匯編語言直接在硬件層上開發(fā)。開發(fā)模式的局限,已經(jīng)嚴(yán)重影響了DSP以及嵌入式系統(tǒng)應(yīng)用的發(fā)展。
并且隨著對DSP系統(tǒng)性能要求的迅速提高,DSP軟件將會日益復(fù)雜,特別是開發(fā)大規(guī)模并行系統(tǒng)的軟件,處理機(jī)之間的通信與同步、資源管理、并行任務(wù)分配等都是相當(dāng)繁重的工作。如果完全由程序員手工完成,將增加研發(fā)周期,軟件質(zhì)量也難以保證。因此,需要將這些底層的工作交給系統(tǒng)軟件來處理,程序員的精力集中于信號處理算法的實(shí)現(xiàn)。
信號處理模塊主要承擔(dān)高速實(shí)時信號處理任務(wù),使用DSP陣列。如上所述,并行DSP上使用操作系統(tǒng),將會使復(fù)雜的并行程序開發(fā)變得相對容易并且效率高。
因此,可以考慮選擇系統(tǒng)性能較好并且開發(fā)工具齊全的COTS產(chǎn)品,在此基礎(chǔ)上進(jìn)行二次開發(fā),將并行調(diào)試技術(shù)、負(fù)載平衡技術(shù)等融合進(jìn)去。
VSPWorks操作系統(tǒng)是Wind River公司推出的用于DSP的內(nèi)存占用量小的高性能實(shí)時操作系統(tǒng)。VSPWorks RTOS能夠與VxWorks RTOS進(jìn)行通信,這樣開發(fā)者就可以很容易設(shè)計(jì)出DSP與通用處理器組合在一起的系統(tǒng)。因此,在實(shí)現(xiàn)信號處理模塊的操作系統(tǒng)時,選用VSPWorks操作系統(tǒng)為基礎(chǔ),擴(kuò)充并行調(diào)試和負(fù)載平衡等功能。另外,還要考慮系統(tǒng)的容錯和重構(gòu)等問題。
作為通用的信號處理平臺,是否受用戶歡迎,很大程度并不在于技術(shù)的先進(jìn)性,而在于其開發(fā)工具是否友好,開發(fā)環(huán)境是否完備。該信號處理模塊為了方便用戶應(yīng)用,提供良好的集成開發(fā)環(huán)境(IDE),在IDE中不但包括編輯、編譯、連接等一般工具,另外還針對并行系統(tǒng)開發(fā)的要求提供了任務(wù)加載工具、并行調(diào)試工具和負(fù)載平衡分析工具等。該開發(fā)環(huán)境在宿主機(jī)上運(yùn)行,通過調(diào)試口(如RS232、JTAG)與目標(biāo)系統(tǒng)連接。
該信號處理模塊軟件開發(fā)環(huán)境包含三個高度集成的部分:運(yùn)行在宿主機(jī)和目標(biāo)機(jī)上的強(qiáng)有力的交叉開發(fā)工具和實(shí)用程序;運(yùn)行在目標(biāo)機(jī)上的高性能、可裁剪的實(shí)時操作系統(tǒng);連接宿主機(jī)和目標(biāo)機(jī)的多種通信方式,如:以太網(wǎng)、串口線、仿真器等。信號處理模塊軟件開發(fā)環(huán)境如圖3所示。
4結(jié)語
本文通過對信號處理實(shí)時性、通用性需求的深入研究,提出了基于TMS320C6701處理器的高性能通用信號處理平臺系統(tǒng)結(jié)構(gòu),重點(diǎn)論述了該平臺的通信網(wǎng)絡(luò)、存儲器系統(tǒng)、調(diào)試電路等的設(shè)計(jì),實(shí)現(xiàn)了支持信號處理器的實(shí)時操作系統(tǒng)VSPWorks配置,完善了信號處理平臺軟件開發(fā)環(huán)境。通過把不同分辨率的合成孔徑雷達(dá)成像的計(jì)算過程映射到不同規(guī)模的信號處理模塊組成的并行信號處理系統(tǒng)上,處理能力、存儲容量、通信帶寬等均能滿足系統(tǒng)需求,證明了該信號處理平臺的通用性、可擴(kuò)展性及應(yīng)對大規(guī)模浮點(diǎn)處理的有效性。