白海斌 武寶剛 張曉宇
摘要:為滿足大容量、多功能的信息處理需求,采用VPX標(biāo)準(zhǔn)、SRIO交換等技術(shù),利用RapidIO總線高速率、低時(shí)延、高可靠性,設(shè)計(jì)了基于SRIO交換架構(gòu)的多功能分布式處理系統(tǒng)。在RapidIO總線技術(shù)基礎(chǔ)上,介紹了RapidIO網(wǎng)絡(luò)拓?fù)浜徒粨Q原理,提出了對(duì)節(jié)點(diǎn)功能動(dòng)態(tài)重構(gòu)、SRIO路由靈活配置的方案。設(shè)計(jì)實(shí)現(xiàn)了整體系統(tǒng)功能在線動(dòng)態(tài)重構(gòu),以快速適應(yīng)不同的功能模式和工作場(chǎng)景,大大提高了處理系統(tǒng)資源利用率。
關(guān)鍵詞:SRIO;功能重構(gòu);RapidIO交換;VPX
中圖分類號(hào):TN919文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-1739(2021)19-55-4
0引言
隨著電子信息技術(shù)快速發(fā)展和大容量寬帶通信常態(tài)化,日常產(chǎn)生并處理數(shù)據(jù)量以及傳輸速率急劇增加,對(duì)信息系統(tǒng)的處理能力和適應(yīng)場(chǎng)景提出了更高的要求。傳統(tǒng)X86,PowerPC,ARM等架構(gòu)的單系統(tǒng)環(huán)境,已經(jīng)不能滿足大容量信息處理的需求。采用VPX標(biāo)準(zhǔn)規(guī)范,基于串行RapidIO(SRIO)交換架構(gòu),集成X86,PowerPC,DSP,F(xiàn)PGA等處理資源和存儲(chǔ)資源,構(gòu)建大規(guī)模嵌入分布式系統(tǒng)基礎(chǔ)平臺(tái),可為綜合化信息處理系統(tǒng)提供解決方案,并通過(guò)動(dòng)態(tài)軟件加載、功能重構(gòu)進(jìn)一步提高資源利用率,面向不同應(yīng)用形成不同功能的信息處理系統(tǒng)。
1 VPX標(biāo)準(zhǔn)規(guī)范
VPX是由VME國(guó)際貿(mào)易協(xié)會(huì)(VITA)組織于2007年提出的新一代高速串行總線標(biāo)準(zhǔn),并于2010年正式發(fā)布OpenVPX標(biāo)準(zhǔn),具有高集成度、高計(jì)算性能、高可靠性和開(kāi)放互聯(lián)的特點(diǎn),主要面向工業(yè)、軍事、航空航天領(lǐng)域中多處理器協(xié)同、實(shí)時(shí)的信號(hào)/信息處理應(yīng)用。VPX基本規(guī)范、總線信號(hào)、結(jié)構(gòu)散熱、互聯(lián)拓?fù)涞葍?nèi)容在ANSI/VITA系列技術(shù)規(guī)范[1]中的具體定義,VITA系列技術(shù)規(guī)范如表1所示。
VPX總線由VME總線發(fā)展而來(lái),重要變化是采用高速串行總線來(lái)替代并行總線。VPX模塊之間可采用的高速串行總線主要有SRIO,PCI-E,Ethernet等標(biāo)準(zhǔn)總線,特別是SRIO總線技術(shù)已經(jīng)成熟應(yīng)用于高速數(shù)據(jù)傳輸與交換。
2 RapidIO總線技術(shù)
RapidIO總線技術(shù)主要針對(duì)嵌入式系統(tǒng)的芯片到芯片、板卡到板卡、機(jī)框到機(jī)框的高性能互聯(lián)互通,具有高速率、低時(shí)延、高可靠和可擴(kuò)展的特性,可為未來(lái)大規(guī)模分布式處理系統(tǒng)提供高性能數(shù)據(jù)交換和通信機(jī)制。RapidIO協(xié)議規(guī)定了總線軟件接口和驅(qū)動(dòng)規(guī)范,是一種基于分組數(shù)據(jù)交換的協(xié)議體系,包括邏輯層、傳輸層和物理層3層。其中,邏輯層定義了操作協(xié)議和包格式;傳輸層定義了包交換的路由和尋址機(jī)制;物理層定義了電氣特性、鏈路控制和糾錯(cuò)重傳。
RapidIO操作是基于請(qǐng)求和響應(yīng)事務(wù)方式進(jìn)行數(shù)據(jù)交互,包是RapidIO節(jié)點(diǎn)間通信的基本單元,主要定義了維護(hù)包、讀/寫(xiě)包和消息包等數(shù)據(jù)包結(jié)構(gòu)。
RapidIO包含并行和串行2種方式,目前廣泛應(yīng)用的是串行RapidIO,即SRIO。SRIO支持×4/×2/×1鏈路寬度的配置,支持每路1.25 Gbaud,2.5 Gbaud,3.125 Gbaud,5 Gbaud,6.25 Gbaud等傳輸速率。目前,RapidIO最新標(biāo)準(zhǔn)為4.1版[2],單路支持25 Gbaud,采用×4鏈路可達(dá)到100 Gbaud的帶寬。
3 RapidIO交換網(wǎng)絡(luò)
一個(gè)典型的RapidIO網(wǎng)絡(luò)有端節(jié)點(diǎn)(End Point)和交換機(jī)(Switch)2個(gè)元素。不通過(guò)交換機(jī)端節(jié)點(diǎn)間直接互聯(lián),可構(gòu)成點(diǎn)到點(diǎn)、點(diǎn)到多點(diǎn)、多點(diǎn)到多點(diǎn)網(wǎng)絡(luò)拓?fù)浼軜?gòu)[3],無(wú)交換機(jī)的網(wǎng)絡(luò)拓?fù)浼軜?gòu)具體如圖1所示。
基于RapidIO交換機(jī)進(jìn)行端節(jié)點(diǎn)間互聯(lián),可構(gòu)成星狀、雙星、網(wǎng)狀等網(wǎng)絡(luò)拓?fù)浼軜?gòu),端節(jié)點(diǎn)間互聯(lián)更加靈活,基于RapidIO交換機(jī)的網(wǎng)絡(luò)拓?fù)浼軜?gòu)如圖2所示。
端節(jié)點(diǎn)的每一個(gè)RapidIO端口配置有器件ID號(hào),通過(guò)ID來(lái)區(qū)分端節(jié)點(diǎn)設(shè)備,ID長(zhǎng)度支持8位或16位,因此一個(gè)RapidIO網(wǎng)絡(luò)最多可容納256或65 536個(gè)端節(jié)點(diǎn)。端節(jié)點(diǎn)是數(shù)據(jù)包的源或目的地,源節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包中包含源ID和目的ID,RapidIO交換機(jī)根據(jù)配置的路由轉(zhuǎn)發(fā)表查找目標(biāo)ID進(jìn)行包轉(zhuǎn)發(fā),目的節(jié)點(diǎn)接收數(shù)據(jù)包,實(shí)現(xiàn)數(shù)據(jù)包收發(fā)。
4基于RapidIO交換的分布式系統(tǒng)平臺(tái)設(shè)計(jì)
按照VITA協(xié)會(huì)VITA65(OpenVPX)標(biāo)準(zhǔn),設(shè)計(jì)基于 RapidIO交換網(wǎng)絡(luò)的分布式系統(tǒng),配置2個(gè)VPX機(jī)箱,每個(gè)機(jī)箱12個(gè)槽位,設(shè)計(jì)實(shí)現(xiàn)了多種功能板卡,系統(tǒng)配置靈活支持槽位互換,提供高帶寬SRIO、以太網(wǎng)內(nèi)部全互連和對(duì)外接口?;赗apidIO交換的分布式系統(tǒng)平臺(tái)如圖3所示。
系統(tǒng)設(shè)計(jì)多種高性能處理板卡,包含P4080 CPU性能處理器、XC7V高性能FPGA處理器、C6678高性能DSP處理器,以及交換板卡、存儲(chǔ)板卡,具有高性能數(shù)據(jù)處理、高性能信號(hào)處理、高帶寬數(shù)據(jù)交換、大容量數(shù)據(jù)存儲(chǔ)的能力,通過(guò)多種類型、多個(gè)節(jié)點(diǎn)構(gòu)成了分布式信息處理系統(tǒng),可滿足不同應(yīng)用的運(yùn)算處理需求,通過(guò)動(dòng)態(tài)加載各節(jié)點(diǎn)功能軟件,分時(shí)或同時(shí)實(shí)現(xiàn)不同的系統(tǒng)功能。
系統(tǒng)采用SRIO作為數(shù)據(jù)平面,是板卡間高速數(shù)據(jù)交換的主要通道,整機(jī)采用雙星型交換方式互聯(lián);采用千兆以太網(wǎng)作為控制平面(Control Plane),提供以太網(wǎng)全交換,用于實(shí)現(xiàn)各處理板卡間的控制、數(shù)據(jù)或程序加載等功能。
5分布式系統(tǒng)功能動(dòng)態(tài)重構(gòu)實(shí)現(xiàn)
分布式處理系統(tǒng)中,不同的處理節(jié)點(diǎn)實(shí)現(xiàn)不同功能,多節(jié)點(diǎn)共同完成系統(tǒng)功能。其中,基于DSP,F(xiàn)PGA的處理節(jié)點(diǎn)側(cè)重于實(shí)現(xiàn)信號(hào)采集與處理,基于CPU的處理節(jié)點(diǎn)側(cè)重于數(shù)據(jù)信息處理,SRIO交換則實(shí)現(xiàn)各處理節(jié)點(diǎn)間的高速信息交換。
系統(tǒng)功能的動(dòng)態(tài)重構(gòu)包含2個(gè)方面:SRIO交換網(wǎng)絡(luò)的路由配置、各個(gè)處理節(jié)點(diǎn)的功能重構(gòu)。本系統(tǒng)中,存儲(chǔ)板卡上有不同版本、不同模式的波形軟件,也支持程序遠(yuǎn)程加注存儲(chǔ)。存儲(chǔ)板卡作為主控單元,CPU,F(xiàn)PGA,DSP處理板卡作為各處理單元,SRIO交換機(jī)作為交換單元。主控單元通過(guò)SRIO網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)處理單元ID、交換單元路由表的配置,通過(guò)以太網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)處理節(jié)點(diǎn)的軟件加載重構(gòu)。
5.1處理節(jié)點(diǎn)功能重構(gòu)
各處理節(jié)點(diǎn)功能重構(gòu)中,主控單元運(yùn)行配置管理軟件,其他各處理單元與主控單元交互管理協(xié)議,完成受控波形軟件加載與功能重構(gòu)。軟件加載與重構(gòu)原理如圖4所示。
主控單元作為管理核心,實(shí)現(xiàn)管理配置界面、任務(wù)解析、波形管理、波形庫(kù)以及重構(gòu)與配置管理接口。采用基于TCP/IP的波形重構(gòu)與配置管理協(xié)議,主控單元讀取各個(gè)處理單元的狀態(tài),并根據(jù)任務(wù)解析情況按需將各類波形軟件以配置文件bin、可執(zhí)行文件、腳本或配置參數(shù)等各類形式下發(fā)到各個(gè)處理單元。各個(gè)處理單元完成波形的加載重構(gòu)或參數(shù)的更新。主控單元還提供波形庫(kù)以及波形庫(kù)的管理,根據(jù)任務(wù)需求增加、更新或刪除波形,完成波形的管理。
以FPGA型處理板卡為例,板卡上協(xié)處理器運(yùn)行配置管理代理,提供與主控單元管理總線的接口,通過(guò)解析配置協(xié)議,完成波形文件接收與本地更新,并將波形文件通過(guò)板卡內(nèi)部管理接口轉(zhuǎn)發(fā)至管理FPGA,管理FPGA通過(guò)SelectMap[4]方式將波形文件加載到目標(biāo)FPGA。同樣,主控單元可以發(fā)送參數(shù)配置,完成各個(gè)處理單元的配置參數(shù)更新或當(dāng)前波形下的工作模式切換等功能。
5.2 SRIO交換的路由動(dòng)態(tài)配置
在系統(tǒng)中,由于SRIO交換機(jī)之間以及與各個(gè)處理節(jié)點(diǎn)的物理連接是固定不變的,因此要改變節(jié)點(diǎn)間互聯(lián)關(guān)系,則需改變的是交換芯片的路由轉(zhuǎn)發(fā)表,即端口與目標(biāo)ID的映射關(guān)系。完整的SRIO啟動(dòng)及配置流程包括:系統(tǒng)初始化、設(shè)備器件枚舉、SRIO路由表配置、存儲(chǔ)器映射,由主節(jié)點(diǎn)控制完成。
器件枚舉采用廣度優(yōu)先或深度優(yōu)先的算法遍歷SRIO網(wǎng)絡(luò),以發(fā)現(xiàn)系統(tǒng)中所有SRIO節(jié)點(diǎn)并為其分配唯一的器件ID。SRIO路由表配置有3種方式實(shí)現(xiàn):JTAG,I2C,RapidIO維護(hù)包[5]。其中,JTAG用于設(shè)備交換器件調(diào)試中進(jìn)行路由表維護(hù),I2C接口配置管理是通過(guò)預(yù)先固化到EEPROM中的初始化路由表信息進(jìn)行上電配置,這2種方法均有局限性。
本文采用了RapidIO維護(hù)包方式,對(duì)整個(gè)SRIO網(wǎng)絡(luò)中任意端節(jié)點(diǎn)和交換器件的能力寄存器、狀態(tài)寄存器[6]和數(shù)據(jù)結(jié)構(gòu)實(shí)時(shí)動(dòng)態(tài)訪問(wèn)控制。與靜態(tài)路由配置相比,采用RapidIO維護(hù)包可根據(jù)枚舉階段記錄的節(jié)點(diǎn)互聯(lián)信息以及當(dāng)前系統(tǒng)任務(wù)規(guī)劃、功能部署情況,計(jì)算互聯(lián)最短路徑,實(shí)時(shí)配置和動(dòng)態(tài)維護(hù)SRIO路由表,配置維護(hù)靈活快捷,大大提高系統(tǒng)工作效率。路由表配置流程如圖5所示。
6結(jié)束語(yǔ)
基于SRIO交換架構(gòu)的分布式處理系統(tǒng)滿足了對(duì)數(shù)據(jù)交換高性能、大帶寬、低時(shí)延和高可靠的需求,通過(guò)SRIO節(jié)點(diǎn)功能的動(dòng)態(tài)重構(gòu)、SRIO交換的路由靈活配置,實(shí)現(xiàn)系統(tǒng)功能在線動(dòng)態(tài)重構(gòu),快速適應(yīng)不同的功能模式和工作場(chǎng)景,大大提高系統(tǒng)資源利用率,可廣泛應(yīng)用于衛(wèi)星地面關(guān)口站、雷達(dá)信號(hào)地面處理中心、機(jī)載/星載/艦載數(shù)據(jù)處理系統(tǒng)等大型綜合電子信息系統(tǒng)。
參考文獻(xiàn)
[1] ANSI/VITA 46.0-2019: VPX BASELINE[S/OL].https://www. vita.com/,VMEbus International Trade Association (VITA)/VME2019.
[2] RapidIOTMInterconnect Specification 4.1[S/OL].https:// RapidIO. org, RapidIO Trade Association/RapidIO2017.6.
[3] FULLER S.RapidIO:The Embedded System Interconnect[M].USA: John Wiley&Sons Inc, 2009.
[4] Xilinx. 7 Series FPGAs Configuration User Guide[EB/OL]. https://www.xilinx.com, 2018.
[5]鄧豹.RapidIO交換互連與配置管理研究[J].航空計(jì)算技術(shù), 2014,44(2):124-127.
[6] Renesas Electronics Corporation. CPS-1848 Datasheet[EB/OL]. https://www.renesas.com, 2019.
計(jì)算機(jī)與網(wǎng)絡(luò)2021年19期