一種新型多DSP并行處理結(jié)構(gòu)
傳統(tǒng)的雷達(dá)信號(hào)處理系統(tǒng)的設(shè)計(jì)是根據(jù)具體的需求確定算法流程以及硬件結(jié)構(gòu)的。這導(dǎo)致了系統(tǒng)升級(jí)的困難加大。當(dāng)信號(hào)處理的內(nèi)容改變、要求處理的數(shù)據(jù)量加大、改進(jìn)處理算法時(shí),必須對(duì)整個(gè)系統(tǒng)進(jìn)行重新設(shè)計(jì)。利用軟件無(wú)線(xiàn)電的原理,可以構(gòu)建通用的硬件平臺(tái),輔之以必要的軟件系統(tǒng),能實(shí)現(xiàn)各種信號(hào)處理功能。
本結(jié)構(gòu)采用高速浮點(diǎn)DSP(ADSP-21161N)。ADSP-21161N集成了一個(gè)性能優(yōu)良的浮點(diǎn)DSP核和豐富的在片功能,并且提供了實(shí)用可靠的多處理器互聯(lián)及并行處理的方式。以六片ADSP-21161N構(gòu)成的多處理器結(jié)構(gòu)具有強(qiáng)大的處理能力,可以完成各種高速實(shí)時(shí)信號(hào)處理功能。
實(shí)時(shí)信號(hào)處理要求巨大的計(jì)算量與超高速的計(jì)算速度,而現(xiàn)在的單片DSP很難滿(mǎn)足要求,因此必須采用合理的多DSP并行計(jì)算結(jié)構(gòu)。雷達(dá)信號(hào)處理的特點(diǎn)要求處理結(jié)點(diǎn)具有大的I/O帶寬,以實(shí)現(xiàn)高數(shù)據(jù)吞吐能力。通用的系統(tǒng)還必須支持多種算法,因此應(yīng)能根據(jù)不同并行算法的要求靈活地改變多DSP并行計(jì)算的拓?fù)浣Y(jié)構(gòu),并提供方便多樣的相互通信手段。
1 ADSP-21161N芯片簡(jiǎn)介
ADSP-21161N是美國(guó)ADI公司近期推出的功能強(qiáng)大的32bit浮點(diǎn)DSP芯片,采用超級(jí)哈佛結(jié)構(gòu),擁有多條內(nèi)部總線(xiàn)、高速運(yùn)算單元、大容量存儲(chǔ)器、靈活多樣的外部接口。它的核心工作頻率可達(dá)100MHz,外部總線(xiàn)工作頻率可達(dá)50MHz。由于其內(nèi)部包括兩組處理單元,每組又運(yùn)用三級(jí)流水線(xiàn)結(jié)構(gòu)進(jìn)行處理,故而運(yùn)算處理速度可以達(dá)到600MIPS,以此來(lái)實(shí)現(xiàn)DSP的低工作頻率、高處理能力的功能可以降低功耗。
大容量?jī)?nèi)部雙端口SRAM,容量可達(dá)到1Mbit,分成兩個(gè)存儲(chǔ)區(qū),一個(gè)周期可同時(shí)完成指令代碼及操作數(shù)的存取,并可任意設(shè)置成16位、32位或48位字寬,給不同的應(yīng)用帶來(lái)了方便。
主機(jī)(HOST)與多處理器接口無(wú)需外部電路,依靠片內(nèi)總線(xiàn)仲裁邏輯和DMA控制器的支持,能夠方便地構(gòu)成緊耦合的共享總線(xiàn)/共享存儲(chǔ)器的并行系統(tǒng)。在片的SDRAM控制器,可直接管理SDRAM,多DSP之間可以很好地協(xié)調(diào)共同使用SDRAM,從而構(gòu)成一個(gè)一體化的處理系統(tǒng)。
兩套雙向高速LINK數(shù)據(jù)傳輸口,每套LINK口受獨(dú)立的DMA控制器、發(fā)送/接收數(shù)據(jù)FIFO的支持,可進(jìn)行最高達(dá)100MB/s的高速數(shù)據(jù)傳輸,大大提高了并行處理能力,可借以構(gòu)成松耦合的分布式并行系統(tǒng)。
另外,還有SPI端口、可編程I/O管腳(FLAG)以及同步串口等通信端口。
2 多處理器系統(tǒng)基本結(jié)構(gòu)
在多處理器系統(tǒng)中,處理器節(jié)點(diǎn)之間的通信通常使用兩種方案:一種方案是使用專(zhuān)門(mén)的點(diǎn)對(duì)點(diǎn)通信信道;另一種方案是節(jié)點(diǎn)之間通過(guò)一個(gè)共享的全局存儲(chǔ)器和一條并行總線(xiàn)進(jìn)行通信。這兩種解決方案則構(gòu)造了兩種多DSP結(jié)構(gòu),即數(shù)據(jù)流式結(jié)構(gòu)和簇式結(jié)構(gòu)。
2.1 數(shù)據(jù)流式多處理器結(jié)構(gòu)
數(shù)據(jù)流式多處理器結(jié)構(gòu)應(yīng)用ADSP-21161N的鏈路口進(jìn)行點(diǎn)對(duì)點(diǎn)通信。系統(tǒng)的算法可以分解成多個(gè)部分,分別由多個(gè)處理器節(jié)點(diǎn)執(zhí)行,并將數(shù)據(jù)按順序放到由處理器節(jié)點(diǎn)構(gòu)成的“流水線(xiàn)”上。這樣的系統(tǒng)結(jié)構(gòu)特別適合于對(duì)計(jì)算帶寬要求高、靈活性要求低的應(yīng)用。但作為一個(gè)通用的處理平臺(tái),必須做到靈活性強(qiáng),因此本文所介紹的系統(tǒng)并沒(méi)有應(yīng)用數(shù)據(jù)流式結(jié)構(gòu),而是簇式結(jié)構(gòu)。
2.2 簇式多處理器結(jié)構(gòu)
簇式多處理器結(jié)構(gòu)適合于需要一定靈活性的應(yīng)用,特別是當(dāng)一個(gè)系統(tǒng)必須能夠支持多種不同任務(wù),而其中一些可能需要并發(fā)運(yùn)行的情況。簇式多處理器結(jié)構(gòu)如圖1所示。
ADSP-21161N的內(nèi)部存儲(chǔ)器是針對(duì)滿(mǎn)足多處理器系統(tǒng)I/O的需要設(shè)計(jì)的,片內(nèi)的雙口RAM允許在處理器核進(jìn)行雙數(shù)據(jù)訪問(wèn)的同時(shí)進(jìn)行全速的處理器間傳送,而不需要從處理器核竊取周期使處理器保持完整的100MIPS、600MFLOPS的性能。通過(guò)軟件的設(shè)計(jì),6片ADSP-21161N組成的一個(gè)統(tǒng)一的簇式多處理器系統(tǒng),可以將多處理器配置成數(shù)據(jù)并行或者是控制并行系統(tǒng)。由于各處理器節(jié)點(diǎn)內(nèi)核之間不相互制約,這樣一個(gè)系統(tǒng)可以達(dá)到3600MFLOPS的運(yùn)算速度,對(duì)于通常的信號(hào)處理工作完全可以做到實(shí)時(shí)處理。 [!--empirenews.page--]
簇內(nèi)存在一個(gè)瓶頸,這是因?yàn)樵诿總€(gè)周期里只有兩個(gè)處理器可以通過(guò)共享的總線(xiàn)進(jìn)行通信,其它的處理器則被阻塞,直到總線(xiàn)被釋放為止。由于ADSP-21161N也可以在一個(gè)簇中進(jìn)行點(diǎn)對(duì)點(diǎn)的鏈路口傳送,該瓶頸很容易被消除。通過(guò)普通總線(xiàn)可以動(dòng)態(tài)的建立和激活處理器間的數(shù)據(jù)鏈接。由于ADSP-21161N僅有兩個(gè)鏈路口,各處理器間只能兩兩相連構(gòu)成一條鏈路,不相鄰的兩個(gè)處理器節(jié)點(diǎn)之間的通信則要通過(guò)中間節(jié)點(diǎn)給予支持。但由于ADSP-21161N的鏈路口數(shù)據(jù)傳輸速率為100MB/s,而且傳輸字寬為8bit,基本可以消除此瓶頸的影響。
2.3 多處理器總線(xiàn)仲裁
多個(gè)ADSP-21161N可以共享外部總線(xiàn),而不需要另外的仲裁電路。間進(jìn)行仲裁,和主機(jī)處理器之間的總線(xiàn)控制權(quán)傳遞??偩€(xiàn)仲裁可以采用兩種不同的優(yōu)先權(quán)機(jī)制解決總線(xiàn)請(qǐng)求的競(jìng)爭(zhēng):固定優(yōu)先權(quán)和循環(huán)優(yōu)先權(quán)。RPBA管腳決定使用哪種優(yōu)先權(quán)機(jī)制。當(dāng)RPBA為高電平時(shí)選擇循環(huán)優(yōu)先;當(dāng)RPBA為低電平時(shí)選擇固定優(yōu)先。由于循環(huán)優(yōu)先機(jī)制控制比較復(fù)雜,因此一般可用固定優(yōu)先機(jī)制,經(jīng)過(guò)實(shí)踐檢驗(yàn),固定優(yōu)先機(jī)制很容易用,而且效果不錯(cuò)。在固定優(yōu)先機(jī)制中,參與競(jìng)爭(zhēng)總線(xiàn)的ADSP-2116IN中,ID號(hào)最小的ADSP-21161N將成為主處理器,從而可以將優(yōu)先級(jí)較高的處理工作放在ID號(hào)較小的處理器中。在軟件優(yōu)先權(quán)控制上則需要較少的運(yùn)算開(kāi)銷(xiāo)。
要連在一起,21161N的數(shù)量。每個(gè)處理器驅(qū)動(dòng)與自身ID2-0輸入相如果系統(tǒng)中的ADSP-21161N少于6片,應(yīng)上拉為高電平。
3 多DSP并行處理結(jié)構(gòu)的實(shí)現(xiàn)
ADSP-21161N具有設(shè)計(jì)多處理器系統(tǒng)的功能,包括總線(xiàn)控制仲裁、對(duì)其它ADSP-21161N的內(nèi)部存儲(chǔ)器和IOP寄存器的訪問(wèn)等。在多個(gè)ADSP-21161N共享總線(xiàn)式多處理機(jī)系統(tǒng)中,任何一個(gè)處理器都可以成為總線(xiàn)控制者。
實(shí)現(xiàn)一個(gè)典型的多DSP并行處理結(jié)構(gòu),各處理器的三大總線(xiàn)要全部相連。圖2給出了一個(gè)基本的多處理器系統(tǒng)結(jié)構(gòu)圖。在多處理器系統(tǒng)中,某一時(shí)刻總線(xiàn)由主處理器控制,并且主處理器驅(qū)動(dòng)所有總線(xiàn)。由于配置成多處理器后,包括片內(nèi)存儲(chǔ)器以及IOP寄存器在內(nèi)的所有地址空間是統(tǒng)一編址的,因此事實(shí)上只有兩個(gè)節(jié)點(diǎn)(處理器或外設(shè))在同一時(shí)刻在總線(xiàn)上活動(dòng),而此刻總線(xiàn)對(duì)于其它節(jié)點(diǎn)來(lái)說(shuō)是阻塞的。這樣,其它接點(diǎn)只能通過(guò)鏈路口或者FLAG標(biāo)志口進(jìn)行點(diǎn)對(duì)點(diǎn)通信來(lái)交換數(shù)據(jù)和消息。
在多處理器系統(tǒng)中,各控制線(xiàn)上除主DSP外的其它所有節(jié)點(diǎn)都屬于負(fù)載,所以對(duì)于每一根控制線(xiàn)來(lái)說(shuō)都是一個(gè)多負(fù)載的連接,必須在每個(gè)DSP附近接串接電阻以增強(qiáng)驅(qū)動(dòng)能力,否則會(huì)由于驅(qū)動(dòng)能力不足而導(dǎo)致所進(jìn)行的操作失效。另外在所有低電平有效的控制線(xiàn)上應(yīng)接上拉電阻,以保證在沒(méi)有進(jìn)行操作時(shí)從DSP以及外設(shè)不會(huì)接收到虛假的指令。由于本系統(tǒng)是一個(gè)獨(dú)立的結(jié)構(gòu),并沒(méi)有與外部主機(jī)相連,故主機(jī)接口控制線(xiàn)在各DSP相連的情況下,應(yīng)像其它未用管腳一樣根據(jù)ADI技術(shù)文檔的要求進(jìn)行處理。而本結(jié)構(gòu)與外部的通信可以通過(guò)同步串口或者在總線(xiàn)上掛接一片雙端口RAM來(lái)進(jìn)行。
另外多處理器系統(tǒng)的時(shí)鐘、復(fù)位同步問(wèn)題是一個(gè)決定系統(tǒng)工作正常與否的關(guān)鍵問(wèn)題,各DSP的復(fù)位信號(hào)可同時(shí)接到看門(mén)狗的輸出端。時(shí)鐘信號(hào)必須在阻抗可控的傳輸線(xiàn)中傳輸,為保證各DSP的時(shí)鐘信號(hào)之間不存在相位差,或者說(shuō)相位差在系統(tǒng)允許的范圍內(nèi),一般應(yīng)采取始端連接的方式。圖3給出了串聯(lián)傳輸線(xiàn)分配時(shí)鐘的例子,它允許在不同的路徑中存在延時(shí),每個(gè)設(shè)備必須在線(xiàn)的終端。傳輸路徑必須均勻分布,以使各路徑上的傳輸延遲相互匹配。匹配的反相器必須在同一IC上,且相互之間的時(shí)間滯后差必須小于1ns。
并行處理系統(tǒng)的硬件結(jié)構(gòu)搭建好后,如何才能很好地發(fā)揮其超強(qiáng)的處理能力,則要靠軟件的設(shè)計(jì)來(lái)實(shí)現(xiàn)。為適應(yīng)計(jì)算任務(wù)的多樣性,可以采用1片ADSP-21161N作任務(wù)管理器,另外5片ADSP-21161N作運(yùn)算器的主、從式拓?fù)浣Y(jié)構(gòu)。這樣做還有利于實(shí)現(xiàn)指令間的流水處理,提高執(zhí)行效率。而軟件實(shí)現(xiàn)則可以根據(jù)具體的要求來(lái)完成,考慮到系統(tǒng)的高速、高效、實(shí)時(shí)性,軟件可采用ADSP-21161N匯編語(yǔ)言進(jìn)行編程。
本文以通用高速實(shí)時(shí)信號(hào)處理系統(tǒng)的設(shè)計(jì)為應(yīng)用背景,提出了一種由6片ADSP-21161N構(gòu)成的并行處理結(jié)構(gòu)。它充分利用ADSP-21161N芯片本身支持多處理器并行運(yùn)算的特點(diǎn)構(gòu)成了簇式多處理器結(jié)構(gòu),并輔以鏈路口互聯(lián)的點(diǎn)到點(diǎn)通信、FLAG標(biāo)志互連的消息傳遞等靈活多樣的通信方式,具有運(yùn)算能力強(qiáng)、I/O帶寬寬、通信手段方便多樣、能靈活地改變拓?fù)浣Y(jié)構(gòu)、可擴(kuò)展、通用性強(qiáng)等特點(diǎn)。以此并行處理結(jié)構(gòu)為核心輔之高速數(shù)據(jù)采集系統(tǒng),并用高速FPGA作為系統(tǒng)控制設(shè)計(jì)實(shí)現(xiàn)了通用高速實(shí)時(shí)信號(hào)處理系統(tǒng)。實(shí)驗(yàn)表明,這種并行計(jì)算結(jié)構(gòu)易于控制,工作效率高,并且穩(wěn)定可靠。