隨著技術的發展,在導彈控制和通信等領域,需要處理的任務規模越來越大。雖然隨著VLSI技術的發展,已產生了運算能力達每秒幾十億次的處理器,但還遠遠不能滿足這些領域的需求。而VLSI技術的發展已受到其開關速度的限制,進一步提高處理器主頻遇到的困難越來越大。為此,把用于大型計算機的并行處理技術應用到信號處理中來,在信號處理系統中引入并行多處理器技術是必然趨勢。傳統彈載計算機一般針對特定場合,先確定算法,再根據算法確定系統結構,由于系統結構與算法嚴格相關,因此通用性較差。隨著一些標準技術(標準板型、接口、互聯協議等)在彈上控制系統中的應用,設計標準化、模塊化的通用型計算機成為了可行。而且所設計的還要可擴展、可重構,進而根據不同的應用場合和算法構建各種彈載計算機系統。 1 并行彈載計算機處理結構模型 普遍的兩種并行處理結構如圖1所示,一種是共享總線結構,另一種是分布式并行結構。其中,P(Proces-sor):處理器;M(Memory):存儲器;MB(Memory Bus):存儲器總線;NIC(Network Interface Circuitry):網絡接口電路。共享總線結構中多個處理器P經由高速總線連向共享存儲器,每個處理器等同地訪問共享存儲器、I/O設備和操作系統服務。分布式并行結構中多個處理節點通過高通信帶寬、低延遲的定制網絡互聯,每個處理節點都有物理上的分布存儲器,節點間通過消息傳遞相互作用。 并行處理的目的是采用多個處理器同時對任務處理,從而減小任務執行時間,它主要反映在加速比(S)和并行效率(E)上。加速比是指對于一個特定應用,并行算法的執行速度相對串行算法加快了很多倍。效率則是針對每個處理器來衡量的。依據并行處理中可擴放性(Sealability)評測的等效率度量標準可從理論上評測這兩種結構。 首先考慮共享總線結構。設 分別是并行系統上第i個處理器的有用處理時間和額外開銷時間。設每個處理器上子任務的運算量和通信量之比為r,即平均r次運算中有一個數據需要交換?偩被p個處理器輪流訪問,tio。是處理器完成一次總線存取所需的相對時間,等效為處理器運算能力和總線訪問能力之比。一般情況下,總的處理時間和額外開銷時間如下: 假設任務均勻分成p部分,就有:Te=pt。在最壞情況下,p個處理器總是同時訪問總線,考慮最后得到總線訪問權的處理器: Tp是每個處理器上并行算法運行時間,在最壞情況下,Tp=Te+To。設問題規模W為最佳串行算法完成的計算量,即W=Te,加速度比: 顯而易見,共享總線系統的并行效率隨著處理器數目p的增大而下降。 而在分布式并行系統中,理想情況下任一時刻都可有兩個處理器通過其通信口相互交換數據,設一個通信口傳送一個數據的相對時間為tcomm,等效為處理器運算能力和通信口傳輸能力之比。同時,假設每次交換還需對本地存儲器訪問。這樣就有通信開銷: 和處理規模p成線性關系,并行效率與p無關。 以上討論的是假設任意兩個處理器之間可以直接進行數據交換,而在實際情況下,尤其是處理器數目p多于處理器的通信口數量時,兩個非直接相連的處理器之間的數據交換所需開銷與其經過的路徑成正比關系。但這并不影響以上討論的公式。因為在規則網絡拓撲結構中最大或平均路徑是一個定值n,那么這時,分布式并行系統的加速比公式為: 可見,在這種情況下分布式并行系統同樣能獲得線性加速比。由以上理論分析可知,共享總線并行結構適合共享存儲編程模型,進行細粒度的并行處理,但其擴展性能較差,處理器的數目有限,單機處理性能有限;分布式并行結構采用消息傳遞的機制,適合進行粗粒度的并行處理,便于大規模的系統擴展,提供強大的整體性能。 2 彈載計算機的設計實現 由于彈上信號處理算法的復雜性,信號處理系統具有復雜多樣的并行處理模式,如基于空間的數據并行處理、基于時間的流水并行處理等。另外,彈上計算機系統具有多種類型的數據流,如原始數據流(A/D采集之后的數據流)、中間數據流(各處理節點之間傳遞的數據流)、定時同步信號以及控制數據流等。這些不同的數據流的傳輸帶寬不同,因此系統中要有與這些不同數據流相匹配的互聯網絡。 高性能通用并行彈載計算機是構建信號處理系統的基礎。它除了選用高性能的處理器外,為了具有通用性,還要具有標準化、模塊化、可擴展、可重構的特點,以便構建各類控制和信號處理系統。同時為了適應控制和信號處理系統復雜并行處理模式和多種數據流的特點,它要具有混合的并行模式和多層次的互聯網絡;谶@些要求和上文中對并行處理結構模型的理論分析,筆者選用當前業界最高性能的浮點DSP芯片TS201和大規模FPGA,設計了一個標準化、模塊化、可擴展、可重構、混合并行模式、多層次互聯的高性能通用并行彈載計算機。圖2是其結構框圖。 該彈載計算機選用標準cPCI 6U板型,板內集成了兩個處理節點,同時可承載兩個PMC子板。 2.1 DSP+FPGA共享總線型處理節點 彈上控制和信號處理系統中,低層的信號處理算法處理的數據量大,對處理速度要求高,但運算結構相對簡單,適于用FPGA實現,這樣能同時兼顧速度及靈活性。高層處理算法處理的數據量較低層算法少,但算法的控制結構復雜,適于用運算速度高,尋址方式靈活,通信機制強大的DSP來實現。 為此,筆者設計的彈載計算機主要包括DSP,FP-GA,SDRAM和CPLD。DSP主要實現數據的高層算法處理和控制,FPGA實現對外的接口,并可對輸入輸出的數據進行低層算法預處理,SDRAM用來緩存數據,CPLD用來實現一些輔助邏輯。選用的DSP芯片是ADI公司的TS201,單片處理能力3.6 GFLOPS,內核時鐘頻率600 MHz,片內內存24 Mb,125 MHz/64 b片外總線,具有1 GB的SDRAM訪問能力,還有4個Link口,每個Link口收發獨立,最高帶寬為1.2 GB/s。 所有特點都使得TS201適合多片擴展,構成一個大規模高性能的信號處理系統。選用的FPGA芯片為Xilinx公司的VirtexⅡpro系列XC2VP20,它的規模約200萬門,內部集成了1 584 Kb的RAM,88個18×18 b的乘法器,8個傳輸速率可達3.125 Gb/s的Rock-etIO高速通道,這些特點使得該FPGA適合實現數據的傳輸和預處理。而且它的管腳兼容XC2VP30/40,可實現FPGA規模的進一步擴展。每個處理節點包括兩片TS201,一片FPGA,最高4 GB的SDRAM,以及一片CPLD,并共享總線。之所以只用兩片TS201,是考慮到總線上設備太多,會使得總線時鐘頻率降低,帶寬變小,并行度和效率都不高。兩片TS201共享總線充分發揮了處理能力、傳輸能力、存儲能力的匹配性。TS201總線上的SDRAM最高支持1 GB的空間,通過CPLD進行邏輯控制,可使SDRAM擴展到4 GB,增加了存儲能力,適應大容量存儲應用的場合。 2.2 多層次互聯網絡 互聯網絡是構建一個并行處理和控制系統的關鍵。本彈載計算機利用系統PCI總線、TS201的Link口,基于FPGA的RocketIO物理通道實現的串行RapidIO協議,以及利用CPLD實現的同步定時總線,構成了不同層次的互聯網絡,以便適應信號處理系統中不同類型的數據流傳輸。cPCI標準通過J1,J2連接64 b系統PCI總線,PCI橋把系統PCI總線轉換為局部PCI總線。每個處理節點通過FPGA(FPGA 0和FPGA 1)實現PCI接口,兩個處理節點和兩個PMC子板共享局部PCI總線,并通過PCI橋與系統PCI總線連接在一起。這使得系統主控模塊可以通過PCI總線實現對每個處理節點以及PMC子板的控制。同時各個節點之間也可通過。PCI總線交換數據。但由于總線的限制,只能實現一些低速、非實時的數據交換。TS201具有4個高速Link口,可實現多片TS201之間的高速數據傳輸。對于板內的4片TS201,利用各自2個Link口構成1個環形Link連接,使得板內4片TS201緊密耦合在一起。另外,每片TS201的1個Link口共4個Link口連到FPGA 2(稱之為Link Switch)上,同時每個PMC的PJ4上也定義兩個Link口,板卡的J4上定義4個Link口,所有這些Link口都連到FPGA2上。通過FPGA2,可以靈活地配置板內、板內與PMC子板、板間不同節點構成不同的Link互聯網絡,并且可以利用。FPGA的動態加載功能,動態地配置不同的Link互聯網絡結構。FPGA2同時還與J5上的32 b自定義接口連接,可實現一些用戶自定義接口。同時每個處理節點內的2片TS201還有1個Link口都連到了節點內總線上的FPGA(FPGA0和FPGA1),與該FPGA對外的串行RapidIO接口相配合,實現外部串行RapidIO數據流與TS201內部數據的交換。Link口具有大帶寬、低延時的特點,因此適合用來傳輸原始數據流和一些帶寬大,實時性強的中間數據流。串行RapidIO是基于包交換的第三代互聯協議,相比TS201的Link協議,它具有更為完善的分層協議定義(包括邏輯層、傳輸層和物理層)。該協議使得模塊具有更強的通用性,不僅可以與同類型的各模塊互聯,還可以與任何具有串行RapidIO接口的異構模塊互聯。利用FPGA的Rocke-tIO物理通道,通過FPGA編程可實現串行RapidIO協議。FPGA0和FPGA1通過4個RocketIO通道直接相連,可實現二者之間4個1×模式或1個4×模式的串行RapidIO接口。同時,FPGA0和FPGAl還各自通過4個RocketIO與J3相連,這樣通過J3,彈載計算機就可以以8個1×模式或2個4×模式的串行RapidIO接口與其他模塊互聯,構成多個模塊之間的串行Ra-pidIO互聯網絡。串行RapidIO網絡也具有大帶寬的特性,而且相比Link口具有更為完善的協議控制,但正是由于復雜的協議控制,使它的傳輸延時相比Link口更大。因此,它可與Link網絡形成很好的互補,用來傳輸大帶寬,延時要求不高的數據流。在J3上定義了8 b同步定時信號,用來實現各個節點之間的同步定時控制。這些信號通過RS 245驅動后與每個節點內部的CPLD相連。每片TS201可通過中斷或讀寫寄存器等方式對節點內的CPLD進行操作,進而通過CPLD內部邏輯產生相應的同步定時信號進行各個節點之間的同步。RS 245的雙向性使得每個節點既可以發出同步信號,也可以接收同步信號,更加靈活。該模塊所有對外的互聯接口都是通過J1~J5接插件連接,這樣就可以在底板上把各個模塊之間的各個接口連接起來。而且既可以使用固定拓撲結構的無源底板,也可以使用帶有交換芯片的有源底板或專門的交換板,靈活構建各類互聯網絡。 3 應用驗證 該彈載計算機具有通用化、可擴展、可重構的特點?筛鶕煌男枨,通過增減彈載計算機來改變處理能力,通過改變各模塊之間的互聯形式來適應不同的算法。下面以基于該彈載計算機構建數據并行的相控陣雷達信號處理系統來驗證這些特點。圖3是以該彈載計算機構建的某相控陣雷達信號處理系統結構框圖。 該系統采用光纖與相控陣天線陣列之間傳輸數據,把光纖接口板做成標準PMC板型,可以集成在彈載計算機中。每個彈載計算機集成兩個光纖接口板,一個光纖接口板接收一個子陣的回波數據,并通過彈載計算機上每個PMC板卡的PJ4上定義的Link口,經LinkSwitch把數據傳給每個處理節點。每個處理節點對數據進行波束形成,然后再把形成的子陣波束通過J3定義的串行RapidIO接口傳給進行子陣級波束形成的彈載計算機。該模塊進行子陣級波束的形成以及其他雷達信號的處理,并承載PMC板型同步定時模塊,由其產生系統中各個模塊的同步定時信號,使各個模塊同步工作。該處理系統采用數據并行的處理模式,每個節點處理一個子陣的回波,可以通過增減處理節點來靈活適應天線陣列的增減。 4 結 語 并行計算機是解決信號處理控制領域任務規模不斷增大、問題不斷復雜的關鍵技術。本文在分析了共享總線和分布式并行兩種并行模型優缺點的基礎上,設計并實現了一種適應信號處理系統需求的混合并行、多層次互聯、標準化、模塊化、可擴展、可重構的高性能通用并行彈載計算機。實際中,使用該彈載計算機,配合相應的I/O模塊,構建了多個相控陣雷達、合成孔徑雷達、圖像處理等彈載計算機系統,獲得了廣泛的應用,驗證了該彈載計算機的高性能、通用性。 |