彈載信息處理系統(tǒng)是一種實(shí)時(shí)嵌入式數(shù)字處理系統(tǒng),用于對(duì)彈載導(dǎo)引系統(tǒng)接收信號(hào)進(jìn)行分析處理,實(shí)現(xiàn)對(duì)目標(biāo)信號(hào)的檢測(cè)、截獲和跟蹤以及目標(biāo)信息的提取,是彈載雷達(dá)導(dǎo)引系統(tǒng)的關(guān)鍵組成部分。隨著軍事技術(shù)的發(fā)展,未來(lái)空戰(zhàn)面臨著越來(lái)越嚴(yán)酷的戰(zhàn)場(chǎng)環(huán)境,對(duì)于彈載雷達(dá)導(dǎo)引系統(tǒng)的探測(cè)能力以及反隱身、抗干擾等性能提出了更高的要求。為此需要采用復(fù)雜處理算法,如數(shù)字波束形成、空時(shí)自適應(yīng)處理技術(shù)、雜波抑制、低信噪比信號(hào)檢測(cè)和識(shí)別、超分辨等,提高系統(tǒng)目標(biāo)探測(cè)和抗干擾能力。數(shù)據(jù)處理復(fù)雜度越來(lái)越大、實(shí)時(shí)性要求越來(lái)越高,同時(shí)彈載應(yīng)用環(huán)境對(duì)系統(tǒng)功耗、尺寸又有著嚴(yán)格的限制,因此需要運(yùn)算速度更快、容量更大、功耗更低的數(shù)字處理平臺(tái)來(lái)實(shí)現(xiàn)這些功能需求?;趩魏?u>DSP的信號(hào)處理實(shí)現(xiàn)方式難以適應(yīng)大運(yùn)算量實(shí)時(shí)處理的新需求,傳統(tǒng)的DSP互聯(lián)技術(shù)是將多個(gè)單核DSP用高速接口連接在一起,但是這樣的系統(tǒng)架構(gòu)會(huì)帶來(lái)功耗和尺寸方面的問題。采用基于單片異構(gòu)多核處理器的信號(hào)處理平臺(tái)成為發(fā)展趨勢(shì),以實(shí)現(xiàn)高速實(shí)時(shí)并行處理平臺(tái)的小型化、低功耗設(shè)計(jì),顯著提高彈載信息處理系統(tǒng)的信號(hào)與信息處理能力。
1 多核處理器TMS320C6678性能
單核DSP其性能通常由時(shí)鐘頻率來(lái)評(píng)價(jià),然而DSP的時(shí)鐘頻率并不能做到直線上升,單片單核結(jié)構(gòu)受限于速度極限,很難再有更大發(fā)展空間;隨著應(yīng)用系統(tǒng)復(fù)雜性持續(xù)增加,只通過提高時(shí)鐘頻率來(lái)增強(qiáng)處理性能達(dá)到了極限。單片多核的結(jié)構(gòu)將成為DSP發(fā)展的主流,應(yīng)用單片多核處理器,將顯著提升彈載雷達(dá)信息處理系統(tǒng)性能,并能實(shí)現(xiàn)彈載雷達(dá)信息處理平臺(tái)更進(jìn)一步的小型化。
多核DSP是近年來(lái)針對(duì)高性能嵌入式應(yīng)用而出現(xiàn)的一類多核微處理器(MultiCore MicroProcessor)。相比傳統(tǒng)的單核處理器,多核處理器在提高并行處理能力的同時(shí)配置了更高的存儲(chǔ)帶寬和更靈活的存儲(chǔ)結(jié)構(gòu)。TMS320C6678是TI公司的最新型的KeyStone架構(gòu)多核DSP,該DSP集成了8個(gè)DSP內(nèi)核,每個(gè)內(nèi)核頻率可達(dá)1.25 GHz;定點(diǎn)運(yùn)算能力為320 GMAC,浮點(diǎn)運(yùn)算能力可達(dá)160 GFLOPS,運(yùn)算能力比現(xiàn)在主流的DSP(如TS1 01)有大幅提高(TS101的內(nèi)核時(shí)鐘是300MHz,浮點(diǎn)運(yùn)算能力為1 800 MFLOPS),充分體現(xiàn)并行處理的理念。每個(gè)DSP內(nèi)核配置32 kb的一級(jí)局部程序緩存器、32 kb的一級(jí)局部數(shù)據(jù)緩存器和512 kb的二級(jí)局部緩存器。TMS320C6678的功能原理圖如圖1所示。
基于KeyStone體系架構(gòu),能夠確保多核DSP的每一個(gè)內(nèi)核發(fā)揮全面的處理功能,TMS320C6678除了具有多DSP內(nèi)核導(dǎo)致的運(yùn)算處理能力提高,還提供了豐富的對(duì)外通信接口以及存儲(chǔ)單元的支持,增強(qiáng)了處理器對(duì)外高速數(shù)據(jù)交換的吞吐能力。Keystone多核架構(gòu)為RISC和DSP內(nèi)核以及專用協(xié)處理器和I/O的集成提供了一種高性能的系統(tǒng)結(jié)構(gòu),Keystone架構(gòu)能夠在處理器內(nèi)核、外部設(shè)備、協(xié)處理器和I/O之間建立無(wú)阻塞數(shù)據(jù)傳輸,這主要基于多核導(dǎo)航器(MulTIcore Navigator)、TeraNet、多核共享存儲(chǔ)區(qū)控制器(MulTIcore Shared Memory Controller,)和超鏈接總線(HyperLink)。超鏈接總線和高速輸入輸出接口實(shí)現(xiàn)DSP與外界信息傳輸,TeraNet總線結(jié)構(gòu)(速度為2Tbps)把所有組成部分有機(jī)聯(lián)系在一起,包括作為主要處理單元的多個(gè)內(nèi)核以及通信協(xié)議處理器和數(shù)據(jù)信息包傳輸協(xié)處理器,能實(shí)現(xiàn)快速無(wú)沖突的內(nèi)部數(shù)據(jù)傳送。
多核共享存儲(chǔ)控制器(MSMC)配有DSP內(nèi)核共享的4 MBSRAM存儲(chǔ)器,對(duì)共享存儲(chǔ)器存取和信息包傳輸能夠并發(fā)進(jìn)行;為了實(shí)現(xiàn)對(duì)外部存儲(chǔ)器快速存取,提供了速度為1 600 MHz的64位DDR3接口,尋址存儲(chǔ)空間可達(dá)到8 GB。多核導(dǎo)航器配置控制8192個(gè)多用途硬件隊(duì)列的隊(duì)列管理器,建立基于DMA的零開銷信息包傳送通道,當(dāng)需要并行處理的多任務(wù)被分配到隊(duì)列中,多核導(dǎo)航器通過將任務(wù)引導(dǎo)到適當(dāng)?shù)目捎糜布?lái)實(shí)現(xiàn)任務(wù)的加速派遣。網(wǎng)絡(luò)協(xié)處理器支持信息包傳送加速和安全加速引擎,增強(qiáng)了與上位機(jī)的通信功能。TMS320C6678提供豐富的高速外設(shè)接口:四路串行高速IO(SRIO),每路傳輸速度最高可達(dá)到5 GBaud;兩通道PCIe—II傳輸,每通道速度最高可達(dá)5 GBaud;超鏈接總線(HyperLink)支持與其他具有KeyStone架構(gòu)的器件互連,傳輸速度可達(dá)到50 GBaud;16位擴(kuò)展存儲(chǔ)器接口,支持256 MBNAND Flash和16 MB NOR Flash,支持異步SRAM容量可達(dá)到1 MB;以及16個(gè)GBIO接口等,諸多高速的外部接口可以保證多通道高采樣率的大量數(shù)據(jù)實(shí)時(shí)進(jìn)入DSP內(nèi)核進(jìn)行處理。另外,TM S320C6678具備動(dòng)態(tài)電源監(jiān)測(cè)和SmartReflex電源管理技術(shù),能夠在低功耗和強(qiáng)大運(yùn)算處理能力之間達(dá)到性能平衡。
綜上所述,TMS320C6678處理器為彈載高速實(shí)時(shí)大容量數(shù)據(jù)處理、數(shù)據(jù)傳輸和復(fù)雜算法實(shí)現(xiàn)提供了強(qiáng)大的硬件平臺(tái)基礎(chǔ)。其中的Keystone架構(gòu)提供了一種集成了片內(nèi)各種子系統(tǒng)的可編程平臺(tái),該架構(gòu)使用多種開創(chuàng)性的技術(shù)和硬件組成使得芯片內(nèi)部和芯片之間的數(shù)據(jù)信息傳輸達(dá)到最佳化,從而保障各種DSP資源能夠高效無(wú)縫發(fā)揮作用。這種體系架構(gòu)的中樞是稱為多核導(dǎo)航器的關(guān)鍵組成單元,它能夠?qū)崿F(xiàn)各種芯片組成之間高效的數(shù)據(jù)管理,對(duì)各內(nèi)核進(jìn)行管理和協(xié)調(diào),使得DSP內(nèi)核高效互聯(lián),保證多核處理器的效能得到發(fā)揮。Teranet交換網(wǎng)絡(luò)能實(shí)現(xiàn)2Tbps的無(wú)阻塞信息交換,能進(jìn)行快速無(wú)沖突的內(nèi)部數(shù)據(jù)傳送,多核共享存儲(chǔ)控制器確保處理器內(nèi)核無(wú)需通過數(shù)據(jù)傳輸網(wǎng)絡(luò)就能夠直接存取共享存儲(chǔ)器和外部存儲(chǔ)器。
2 基于多核DSP的軟件設(shè)計(jì)
為了有效發(fā)揮多核DSP系統(tǒng)的運(yùn)算處理和數(shù)據(jù)傳輸能力,獲得多核DSP實(shí)際應(yīng)用系統(tǒng)的最佳性能,需要進(jìn)行相應(yīng)的基于多核DSP的系統(tǒng)軟件設(shè)計(jì),軟硬件的有機(jī)配合,確保多核DSP的功能和性能真正發(fā)揮作用。對(duì)于基于多核DSP的信息處理系統(tǒng),盡管多核DSP提供了高性能硬件基礎(chǔ),在系統(tǒng)設(shè)計(jì)過程中,需要考慮每個(gè)內(nèi)核之間的任務(wù)分配和信息傳輸,因此,為充分利用多核DSP的硬件優(yōu)勢(shì),多核DSP系統(tǒng)并行軟件設(shè)計(jì)是關(guān)鍵,多核DSP對(duì)軟件設(shè)計(jì)提出新的挑戰(zhàn),同時(shí)也導(dǎo)致軟件設(shè)計(jì)理念和設(shè)計(jì)方法的改變。
TMS320C6678集成了8個(gè)DSP內(nèi)核,多內(nèi)核之間的任務(wù)分配和系統(tǒng)處理算法直接影響多核系統(tǒng)的性能和效率。任務(wù)分配的目的就是合理配置系統(tǒng)資源,設(shè)法減少DSP內(nèi)核間的通訊開銷。均衡負(fù)載是將系統(tǒng)承擔(dān)的任務(wù)合理地分配給各DSP內(nèi)核,以提高系統(tǒng)吞吐量。顯然,減少通訊量和均衡負(fù)載是相互矛盾的,因此,系統(tǒng)任務(wù)分配策略也就是最大限度地減少各子系統(tǒng)間的通訊量,同時(shí)均衡各子系統(tǒng)問的負(fù)載,以提高整個(gè)系統(tǒng)的性能。
為了全面挖掘多核處理器的潛力、充分利用多核處理器的優(yōu)勢(shì),軟件設(shè)計(jì)人員必須掌握相應(yīng)的并行軟件設(shè)計(jì)技術(shù),將彈載信息處理系統(tǒng)任務(wù)映射到各DSP內(nèi)核。任務(wù)并行是指軟件中的獨(dú)立任務(wù)同時(shí)執(zhí)行。對(duì)于一個(gè)單核處理器,各單獨(dú)任務(wù)必須共享同一個(gè)處理器;而在一個(gè)多核處理器上,各任務(wù)實(shí)質(zhì)上是相互獨(dú)立運(yùn)行,從而導(dǎo)致更高效的任務(wù)執(zhí)行。
為了將彈載信息處理系統(tǒng)映射到多核處理器,需要識(shí)別任務(wù)的并行度并相應(yīng)選擇最適宜的處理模式。彈載多核DSP系統(tǒng)的并行處理模式可采用數(shù)據(jù)流模式。數(shù)據(jù)流模式表現(xiàn)為分布式控制和執(zhí)行,處理任務(wù)依次通過如同流水線一樣的各處理階段。每個(gè)內(nèi)核使用各種算法處理一組數(shù)據(jù),然后這些數(shù)據(jù)被傳送到另一個(gè)內(nèi)核做進(jìn)一步處理。初始內(nèi)核通常與一個(gè)輸入接口相連接,通過該接口可接收來(lái)自A/D轉(zhuǎn)換器或FPGA的待處理的初始數(shù)據(jù)。調(diào)度的觸發(fā)依賴于數(shù)據(jù)的可用性。由于彈載信息處理系統(tǒng)包含大量復(fù)雜的運(yùn)算成分和信號(hào)與信息處理算法,它們互相關(guān)聯(lián)且不可能在一個(gè)內(nèi)核上處理完成。采用該模型需要將復(fù)雜的處理任務(wù)劃分到各內(nèi)核并確保系統(tǒng)具有高數(shù)據(jù)流動(dòng)速率。系統(tǒng)的組成通常需要被拆分并映射到多個(gè)內(nèi)核中,并確保處理數(shù)據(jù)有規(guī)則地流水傳送。高速數(shù)據(jù)傳輸速率要求各內(nèi)核之間具備適宜的存儲(chǔ)帶寬,各內(nèi)核之間數(shù)據(jù)流動(dòng)是規(guī)則的,并確保數(shù)據(jù)傳送開銷低。數(shù)據(jù)流處理模型如圖2所示。該處理模型要求每個(gè)處理器內(nèi)核映射一個(gè)或多個(gè)任務(wù),而各內(nèi)核之間通過消息傳遞實(shí)現(xiàn)運(yùn)行同步;各內(nèi)核之間的數(shù)據(jù)傳送通過共享存儲(chǔ)器或DMA方式進(jìn)行。
對(duì)于多核信息處理系統(tǒng),完成并行任務(wù)的辯識(shí)后,任務(wù)的映射和調(diào)度也需要精心策劃。多核并行處理系統(tǒng)軟件設(shè)計(jì)可以遵循四步處理法原則,即發(fā)現(xiàn)并行執(zhí)行的機(jī)會(huì),其核心是定義大量的小型任務(wù),以便得到待解決問題的高效分解;定義任務(wù)之間的信息流動(dòng)和數(shù)據(jù)傳輸;確定在多核架構(gòu)上高效運(yùn)行的任務(wù)組;以及將各任務(wù)映射分配到各內(nèi)核中,確定每個(gè)任務(wù)將由哪個(gè)內(nèi)核執(zhí)行。為了提高多核系統(tǒng)軟件開發(fā)效能,開展基于嵌入式實(shí)時(shí)操作系統(tǒng)的軟件開發(fā),在操作系統(tǒng)和多核軟件開發(fā)工具支持下,自動(dòng)識(shí)別任務(wù)的并行性并將各處理任務(wù)映射到單個(gè)內(nèi)核,為多個(gè)實(shí)時(shí)任務(wù)合理分配資源,有效實(shí)現(xiàn)系統(tǒng)進(jìn)程管理,方便多任務(wù)程序?qū)崟r(shí)調(diào)度,確保多核DSP能夠發(fā)揮最佳系統(tǒng)性能。
3 結(jié)束語(yǔ)
隨著DSP技術(shù)的不斷發(fā)展和應(yīng)用需求的不斷提高,單片多核處理器結(jié)構(gòu)逐漸成為DSP發(fā)展的主流,單片多核處理器具有強(qiáng)大的多任務(wù)實(shí)時(shí)運(yùn)算處理能力,同時(shí)具備數(shù)據(jù)搬移、通訊、資源共享和存儲(chǔ)器管理等有利于并行任務(wù)執(zhí)行的豐富硬件配置,能很好地支持多任務(wù)實(shí)時(shí)并行處理。對(duì)于小尺寸、低功耗且運(yùn)算處理性能要求極高的彈載信息處理系統(tǒng),多核DSP使得彈載雷達(dá)信息處理能夠?qū)崟r(shí)實(shí)現(xiàn)目標(biāo)探測(cè)識(shí)別以及目標(biāo)信息高分辨測(cè)量等復(fù)雜系統(tǒng)算法,能夠帶來(lái)性能/功耗比的大幅提升。采用多核DSP也成為彈載雷達(dá)信息處理系統(tǒng)的發(fā)展趨勢(shì)。對(duì)于多核DSP應(yīng)用系統(tǒng),軟件設(shè)計(jì)是多核DSP性能能否充分發(fā)揮的系統(tǒng)設(shè)計(jì)關(guān)鍵。對(duì)于基于多核DSP的彈載信息處理系統(tǒng),運(yùn)用數(shù)據(jù)流處理模式將系統(tǒng)處理任務(wù)劃分映射到各處理器內(nèi)核以實(shí)現(xiàn)高效實(shí)時(shí)并行處理。在嵌入式實(shí)時(shí)操作系統(tǒng)和多核軟件開發(fā)工具支持下,開展基于多核DSP并行軟件開發(fā)將成為彈載信息處理系統(tǒng)軟件設(shè)計(jì)的新課題。