• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于RapidIO的多DSP互聯(lián)仿真實(shí)現(xiàn)①

      2020-07-25 11:35:14蔡恒雨鳳維杰丁上義盧茂輝鄭啟龍
      關(guān)鍵詞:路由表板卡傳輸速率

      蔡恒雨,鳳維杰,丁上義,盧茂輝,鄭啟龍

      (中國科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,合肥 230027)

      近年來,高性能的嵌入式系統(tǒng)層出不窮,例如DSP,FPGA和ARM 等眾多硬件系統(tǒng)都得到了快速發(fā)展.伴隨著嵌入式系統(tǒng)的發(fā)展,分布式計(jì)算系統(tǒng)以及數(shù)據(jù)交換協(xié)議和交換芯片也進(jìn)入了快速發(fā)展期,如RapidIO協(xié)議和以太網(wǎng)協(xié)議等在各種數(shù)據(jù)互聯(lián)系統(tǒng)中發(fā)揮著重要的作用.

      RapidIO協(xié)議具有傳輸速率快、基于硬件進(jìn)行處理和低成本等特點(diǎn).它主要在嵌入式系統(tǒng)[1]的內(nèi)部互聯(lián)中發(fā)揮重要作用,可以實(shí)現(xiàn)芯片和芯片,板卡和板卡之間的相互連接,如用于DSP之間和DSP板卡之間的互聯(lián)并進(jìn)行數(shù)據(jù)通信.IDT公司生產(chǎn)的交換芯片CPS1848[2]支持RapidIO2.0標(biāo)準(zhǔn),有48個(gè)雙向的數(shù)據(jù)傳輸通路,支持1x、2x或4x三種端口模式,每個(gè)端口的速率可以設(shè)置為不同速率.

      隨著硬件設(shè)計(jì)的發(fā)展,軟件模擬硬件實(shí)現(xiàn)的仿真建模技術(shù)也得到快速發(fā)展,例如時(shí)鐘精確級的模擬和功能級的模擬等.SystemC[3]是一種新的系統(tǒng)建模語言,其目的是為系統(tǒng)級設(shè)計(jì)提供一種單一的語言,通過提供一個(gè)公共平臺來更好地進(jìn)行軟硬件協(xié)同設(shè)計(jì)和驗(yàn)證.其中集成的TLM2.0作為傳輸模型建模標(biāo)準(zhǔn),定義了通用數(shù)據(jù)單元payload,十分適合進(jìn)行RapidIO交換模型[4]的功能級模擬.中國電子科技集團(tuán)第三十八研究所設(shè)計(jì)研發(fā)的BWDSP芯片[5]是一款高性能數(shù)字信號處理器,具有豐富的計(jì)算資源,可以處理計(jì)算密集型任務(wù).故本文基于SystemC語言,設(shè)計(jì)了用于多個(gè)BWDSP之間互聯(lián)的RapidIO交換模型,并且設(shè)計(jì)實(shí)現(xiàn)了BWDSP芯片構(gòu)成的虛擬板卡平臺,使BWDSP芯片模型之間可以進(jìn)行高效的數(shù)據(jù)傳輸.

      本文的主要工作如下:基于RapidIO協(xié)議特點(diǎn)和BWDSP體系結(jié)構(gòu)特點(diǎn),設(shè)計(jì)了基于SystemC語言的RapidIO交換模型,并且設(shè)計(jì)了多BWDSP芯片模型構(gòu)成的虛擬板卡平臺,對虛擬平臺的性能測試結(jié)果進(jìn)行分析.本文第1節(jié)介紹了RapidIO協(xié)議和BWDSP的體系結(jié)構(gòu);第2節(jié)介紹了BWDSP虛擬平臺的整體設(shè)計(jì)以及RapidIO交換模型的設(shè)計(jì),并且分析了BWDSP虛擬平臺的工作流程和相關(guān)性能指標(biāo);第3節(jié)對BWDSP虛擬平臺的性能測試結(jié)果進(jìn)行分析;第4節(jié)是總結(jié)和展望.

      1 RapidIO協(xié)議與BWDSP體系結(jié)構(gòu)

      1.1 RapidIO協(xié)議

      RapidIO協(xié)議作為一種快速數(shù)據(jù)交換協(xié)議,具有總線頻率高、延遲低和可靠性高等優(yōu)點(diǎn),它可以為未來高性能的嵌入式系統(tǒng)發(fā)展提供數(shù)據(jù)交換和通信機(jī)制.RapidIO協(xié)議包括邏輯層、傳輸層和物理層3層[6].其中邏輯層定義了RapidIO組件使用的讀寫和消息傳遞語義;傳輸層定義了RapidIO數(shù)據(jù)包如何通過RapidIO結(jié)構(gòu)進(jìn)行路由;物理層定義了RapidIO 鏈路的電路編碼和電氣特性.RapidIO架構(gòu)主要由兩種設(shè)備組成:端點(diǎn)設(shè)備和交換機(jī)設(shè)備.

      RapidIO協(xié)議是一種基于數(shù)據(jù)包交換的互聯(lián)體系標(biāo)準(zhǔn)[7],總體來說定義了請求包和響應(yīng)包兩種類型的包,主要定義了維護(hù)包、讀寫包和消息包等數(shù)據(jù)包結(jié)構(gòu),其中消息包又可以分為郵箱包和門鈴包.RapidIO規(guī)范中定義了8種類型的數(shù)據(jù)包,其類型如表1所示.

      表1 RapidIO數(shù)據(jù)包類型

      RapidIO的事務(wù)是通過數(shù)據(jù)包的傳輸來完成的[8].在每一個(gè)事務(wù)中,發(fā)起方發(fā)出請求并產(chǎn)生相應(yīng)的事務(wù)請求包,事務(wù)請求包通過交換設(shè)備到達(dá)接收方,在事務(wù)請求包收到來自接收方的響應(yīng)后才會開始執(zhí)行事務(wù).RapidIO 事務(wù)包在兩個(gè)設(shè)備間傳遞時(shí),需要及時(shí)進(jìn)行響應(yīng)確認(rèn),類似采用握手協(xié)議實(shí)現(xiàn)同步控制.RapidIO 讀響應(yīng)包處理流程如圖1所示.

      圖1 RapidIO 讀響應(yīng)事務(wù)處理流程

      1.2 BWDSP體系結(jié)構(gòu)

      本文所采用的BWDSP模型是由中國電子科技集團(tuán)第三十八所研制的BWDSP系列處理器,可以對雷達(dá)信號進(jìn)行快速處理[9],是一種分簇架構(gòu)設(shè)計(jì)的32位DSP處理器.它同時(shí)兼容16位和32位的定點(diǎn)數(shù)據(jù)格式,指令槽能夠同時(shí)發(fā)射16條指令,并使用SIMD和VLIW架構(gòu).BWDSP芯片的讀數(shù)據(jù)和寫數(shù)據(jù)總線位寬不同,其中讀數(shù)據(jù)位寬為512位,寫數(shù)據(jù)位寬為216位.BWDSP的最大工作主頻為500 MHz,指令周期為2 ns,同時(shí)內(nèi)部有11級的流水線.BWDSP體系結(jié)構(gòu)中具有4個(gè)通用執(zhí)行宏單元(計(jì)算簇)、3個(gè)地址產(chǎn)生器(U,V,W)和3個(gè)內(nèi)存塊(Block0,Block1,Block2),每個(gè)執(zhí)行宏間是彼此獨(dú)立的高速鏈路口,且每個(gè)執(zhí)行宏可向其他3個(gè)執(zhí)行宏傳輸數(shù)據(jù).每個(gè)計(jì)算簇與內(nèi)存塊、地址產(chǎn)生器間都通過總線相互連接.BWDSP的體系結(jié)構(gòu)圖如圖2所示.

      圖2 BWDSP體系結(jié)構(gòu)

      2 BWDSP虛擬平臺設(shè)計(jì)

      BWDSP板卡系統(tǒng)整體的設(shè)計(jì)是采取4片BWDSP模型與RapidIO交換機(jī)模型的4個(gè)端口相連接,將交換機(jī)剩余的一個(gè)端口互聯(lián)其他交換機(jī)模型或者外部存儲模型,如圖3所示.外部存儲器模型可以是互聯(lián)DDR等快速外設(shè),實(shí)現(xiàn)DSP對存儲器中信息的快速讀寫.外部存儲器的地址空間映射到DSP地址空間中的某一塊區(qū)域[10],然后通過地址轉(zhuǎn)換映射機(jī)制實(shí)現(xiàn)對外設(shè)中信息的讀寫,通常使用DMA方式進(jìn)行讀寫.

      圖3 BWDSP板卡結(jié)構(gòu)圖

      2.1 BWDSP虛擬平臺數(shù)據(jù)流動

      BWDSP板卡系統(tǒng)中,4個(gè)BWDSP模型可以通過switch模型相互發(fā)送數(shù)據(jù)包,數(shù)據(jù)包經(jīng)過switch模型解析后會發(fā)送到正確的接收方BWDSP模型中.由于在switch模型的各個(gè)端口設(shè)計(jì)了緩沖區(qū),各BWDSP模型同時(shí)發(fā)送數(shù)據(jù)時(shí)不會產(chǎn)生沖突阻塞問題.當(dāng)系統(tǒng)中數(shù)據(jù)流量在一定范圍內(nèi),switch模型中不會發(fā)生緩存區(qū)溢出問題,可以保持高效的數(shù)據(jù)轉(zhuǎn)發(fā)速率[11].

      在BWDSP虛擬平臺中,RapidIO數(shù)據(jù)包是嵌入在TLM2.0標(biāo)準(zhǔn)定義的payload 中進(jìn)行傳輸?shù)?RapidIO數(shù)據(jù)包在虛擬平臺中的流動過程主要有如下幾步:

      (1)BWDSP模型根據(jù)事務(wù)要求生成相應(yīng)的的RapidIO數(shù)據(jù)包.

      (2)RapidIO數(shù)據(jù)包會被包裝進(jìn)payload 中的數(shù)據(jù)屬性中,并在payload的擴(kuò)展字段設(shè)置相應(yīng)命令.

      (3)Payload通過BWDSP模型的tlm_socket接口發(fā)出,然后等待響應(yīng)信息.

      (4)RapidIO交換模型收到payload,并將其存入內(nèi)部的buffer緩沖區(qū)中,采取存儲轉(zhuǎn)發(fā)模式,同時(shí)向發(fā)送方響應(yīng)交換模型收到該數(shù)據(jù)包.

      (5)RapidIO交換模型從buffer 中取出一個(gè)payload,并從中解析出RapidIO數(shù)據(jù)包部分.根據(jù)RapidIO數(shù)據(jù)包的類型和目標(biāo)ID進(jìn)行處理或轉(zhuǎn)發(fā).

      (6)如果該數(shù)據(jù)包有RapidIO模型進(jìn)行處理,則不需要轉(zhuǎn)發(fā)操作.否則,RapidIO交換模型根據(jù)目標(biāo)ID 查找路由表,定位到某個(gè)出站接口.

      (7)RapidIO交換模型從選擇的出站接口轉(zhuǎn)發(fā)該payload,并等待下一個(gè)設(shè)備的響應(yīng)確定是否從buffer緩沖區(qū)刪除該payload.

      (8)BWDSP模型接收到該payload 后,解析出其中的RapidIO數(shù)據(jù)包,并根據(jù)事務(wù)要求進(jìn)行處理,再根據(jù)RapidIO數(shù)據(jù)包中的源設(shè)備ID進(jìn)行響應(yīng),發(fā)送一個(gè)響應(yīng)數(shù)據(jù)包給發(fā)送方.

      2.2 BWDSP虛擬平臺功能特性

      BWDSP芯片最大工作主頻500 MHz,指令周期2 ns,讀總線位寬512 bit,寫總線位寬256 bit,理論上讀數(shù)據(jù)速率可以達(dá)到200 Gbs,寫數(shù)據(jù)速率可以達(dá)到100 Gbs,完全可以處理RapidIO標(biāo)準(zhǔn)所定義的數(shù)據(jù)傳輸速率.故BWDSP虛擬平臺中RapidIO交換模型的數(shù)據(jù)處理速率應(yīng)該達(dá)到RapidIO規(guī)范標(biāo)準(zhǔn),數(shù)據(jù)傳輸速率達(dá)到1.25 Gbs、2.5 Gbs和3.125 Gbs,各個(gè)BWDSP模型之間可以進(jìn)行快速通信.

      BWDSP模型發(fā)送和接收的RapidIO數(shù)據(jù)包長度為len字節(jié),時(shí)鐘頻率為bw_fre,總線的位寬bandwidth位.RapidIO交換模型的時(shí)鐘頻率rio_fre,傳輸速率為rio_speed,該模型每個(gè)時(shí)鐘周期可以處理一個(gè)完整的RapidIO數(shù)據(jù)包.理論上當(dāng)BWDSP模型與RapidIO交換模型協(xié)同工作時(shí),rio_fre和bw_fre應(yīng)該滿足式(1),rio_speed應(yīng)該滿足式(2).

      2.3 RapidIO交換模型設(shè)計(jì)

      本文設(shè)計(jì)的BWDSP虛擬板卡中也含有4個(gè)BWDSP模型和一個(gè)RapidIO交換模型,RapidIO交換模型除了用于板內(nèi)通信的接口以外,還有一個(gè)離開板卡的接口來和外部板卡之間進(jìn)行通信.根據(jù)上述原則,可設(shè)計(jì)如圖4所示的switch功能模塊,一共有5個(gè)接口,每個(gè)接口都有一個(gè)路由查詢表和相應(yīng)的入站/出站模塊.其中,0號接口負(fù)責(zé)外部板卡和存儲設(shè)備的通信,第1、2、3和4號接口分別與板卡內(nèi)部的4個(gè)BWDSP芯片模型相連.

      圖4 RapidIO交換模型結(jié)構(gòu)圖

      RapidIO交換模型的工作方式為存儲轉(zhuǎn)發(fā)模式,switch的設(shè)計(jì)中為每個(gè)端口保留一個(gè)緩沖隊(duì)列,設(shè)計(jì)為8個(gè)緩沖單元,每個(gè)switch模型有5個(gè)端口,按每個(gè)緩存單元為RapidIO數(shù)據(jù)包最大長度276字節(jié)計(jì)算,為276×8×5字節(jié).該類初始化時(shí)通過參數(shù)設(shè)置來初始化其各個(gè)端口,并且初始化各端口相連的buffer緩沖區(qū).同時(shí)設(shè)計(jì)路由表基類Route_table類作為switch類的模板參數(shù),在switch模型初始化的同時(shí)實(shí)例化特定的路由表,使switch類的設(shè)計(jì)具有一定的擴(kuò)展性,可以兼容新的路由表結(jié)構(gòu)設(shè)計(jì).

      路由表的基本工作原理如下:從輸入分組中提取目的地ID字段并將其與可編程路由表中的值進(jìn)行比較并轉(zhuǎn)發(fā).本系統(tǒng)的RapidIO交換機(jī)為每個(gè)交換機(jī)端口設(shè)計(jì)了一個(gè)單獨(dú)的路由表,因此每個(gè)接口都可以不同地路由數(shù)據(jù)包,根據(jù)數(shù)據(jù)包的目標(biāo)ID字段中的值與路由表中編程的值之間的比較,將傳入數(shù)據(jù)包路由到其目標(biāo)接口.數(shù)據(jù)包可以路由到以下目的地之一:單播到某一接口,終端設(shè)備或者switch設(shè)備;多播到多個(gè)接口[12].

      2.4 BWDSP虛擬平臺初始化

      BWDSP虛擬平臺初始化時(shí),首先需要進(jìn)行RapidIO系統(tǒng)的初始化,該階段有一個(gè)初始化枚舉探測階段,用于探測整個(gè)系統(tǒng)的拓?fù)浣Y(jié)構(gòu)并且分配終端設(shè)備ID.該功能主要由系統(tǒng)中一個(gè)或多個(gè)終端設(shè)備加載系統(tǒng)初始化驅(qū)動程序代碼,作為主設(shè)備開始執(zhí)行系統(tǒng)探測功能,本設(shè)計(jì)中將初始化設(shè)備ID分配為0的終端節(jié)點(diǎn)當(dāng)作為主設(shè)備開始執(zhí)行系統(tǒng)枚舉探測.系統(tǒng)中各switch路由表的初始化有靜態(tài)配置和動態(tài)配置方式[13].靜態(tài)配置通常是通過系統(tǒng)上電初始化I2C 等方式進(jìn)行配置,動態(tài)配置則是在系統(tǒng)枚舉探測時(shí),分配各個(gè)設(shè)備ID的同時(shí)將路由信息寫入RapidIO交換模型的路由表中,同時(shí)設(shè)置默認(rèn)路由端口信息.

      RapidIO的系統(tǒng)初始化探測算法采用類似于深度優(yōu)先的圖搜索算法[14,15],在搜索過程中會形成一顆搜索樹,該搜索樹即可代表整個(gè)系統(tǒng)設(shè)備互聯(lián)的拓?fù)浣Y(jié)構(gòu)圖.RapidIO系統(tǒng)初始化探測算法如算法1所示,其中rioEnumerateNeighbor函數(shù)實(shí)現(xiàn)深度優(yōu)先搜索部分.

      算法1.RapidIO系統(tǒng)初始化探測算法輸入:BWDSP芯片和RapidIO交換模型組成的BWDSP虛擬平臺系統(tǒng)輸出:BWDSP虛擬平臺系統(tǒng)拓?fù)浣Y(jié)構(gòu)和各交換模型路由表信息1)初始化時(shí)global_id=0,hop_count=0,所有終端設(shè)備的base_id設(shè)為0xff選擇某片BWDSP模型作為主設(shè)備,分配base_id為0x00由該主設(shè)備執(zhí)行rioEnumerateNeighbor(hop_count)算法

      2)rioEnumerateNeighbor(hop_count)算法流程:發(fā)送跳數(shù)為hop_count的初始化維護(hù)數(shù)據(jù)包,然后等待響應(yīng)信息(調(diào)用read_information()函數(shù)實(shí)現(xiàn))if 收到終端節(jié)點(diǎn)的響應(yīng),且該終端節(jié)點(diǎn)未被鎖定global_id++分配global_id為該終端設(shè)備的base_id(調(diào)用write_information()函數(shù)實(shí)現(xiàn))算法返回else if 收到終端節(jié)點(diǎn)的響應(yīng),且該終端節(jié)點(diǎn)已經(jīng)被鎖定則該終端設(shè)備已經(jīng)分配base_id,放棄分配算法返回else if 收到switch節(jié)點(diǎn)發(fā)回的響應(yīng)信息提取響應(yīng)信息數(shù)據(jù)負(fù)載中switch端口數(shù)總數(shù)port_total和與該設(shè)備相連的switch端口信息port_number通過一個(gè)for 循環(huán)將所有已檢測到的設(shè)備id即0-global_id和port_number作為路由信息寫入該響應(yīng)switch(調(diào)用write_information()函數(shù)實(shí)現(xiàn))while(port_total-1)//將port_number端口去掉,防止重復(fù)檢測記錄此時(shí)檢測的switch端口號為port_numvar遞歸執(zhí)行rioEnumerateNeighbor(hop_count+1)算法,并等待算法返回結(jié)果將新檢測到的所有設(shè)備id 信息和port_numvar作為路由信息寫入該switch 中算法返回

      假設(shè)該系統(tǒng)中每個(gè)BWDSP板卡結(jié)構(gòu)都如圖3所示,RapidIO交換模型用于互聯(lián)各BWDSP板卡,系統(tǒng)中有N個(gè)BWDSP芯片和M個(gè)RapidIO交換模型,其中N為4的整數(shù)倍,N和M的關(guān)系近似為N=3×M.采用單主機(jī)進(jìn)行系統(tǒng)初始化,則主機(jī)到各終端設(shè)備路徑長度近似為log4N.需要讀取一次設(shè)備信息,并且寫一次設(shè)備ID 信息到終端設(shè)備中,同時(shí)寫一次路由信息到相應(yīng)的RapidIO交換模型中,故時(shí)間上限為3×(N-1)×log4N,時(shí)間復(fù)雜為O(N×log4N).每次發(fā)送數(shù)據(jù)包都是由主機(jī)進(jìn)行發(fā)送的,所以需要的存儲量為每個(gè)RapidIO交換模型保留一個(gè)RapidIO數(shù)據(jù)包.

      2.5 BWDSP虛擬平臺工作流程

      圖5是BWDSP虛擬平臺運(yùn)行流程圖,從系統(tǒng)啟動時(shí)RapidIO系統(tǒng)初始化探測枚舉階段開始,到系統(tǒng)正常工作時(shí)BWDSP模型之間通過swtich模型進(jìn)行相互通信.圖5是以RapidIO交換模型的工作視角為主體進(jìn)行展示的,故其工作流程是對RapidIO數(shù)據(jù)包的解析和轉(zhuǎn)發(fā),同時(shí)對寄存器讀寫和路由表維護(hù)信息進(jìn)行簡單展示.

      BWDSP虛擬平臺啟動后[16],首先會初始化終端設(shè)備和交換機(jī)設(shè)備中的各個(gè)寄存器,并且選擇其中一個(gè)終端設(shè)備將其base_id設(shè)為0,使其成為主設(shè)備.然后,由主設(shè)備開始進(jìn)行系統(tǒng)初始化階段的探測枚舉階段,該階段主要是探測并獲得整個(gè)系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),并且給各switch 中的路由表動態(tài)配置路由信息.當(dāng)整個(gè)系統(tǒng)初始化階段結(jié)束以后,各個(gè)BWDSP模型之間可以相互發(fā)送信息,通過RapidIO交換模型進(jìn)行數(shù)據(jù)的交互,協(xié)同完成某項(xiàng)工作.系統(tǒng)初始化結(jié)束之后,主設(shè)備擁有整個(gè)系統(tǒng)的拓?fù)浣Y(jié)構(gòu)信息,可以提取該信息并保存.

      圖5 BWDSP虛擬平臺運(yùn)行過程

      3 BWDSP虛擬平臺實(shí)驗(yàn)和分析

      3.1 系統(tǒng)傳輸速率分析

      對普通數(shù)據(jù)讀寫包的發(fā)送進(jìn)行測試,將數(shù)據(jù)發(fā)送設(shè)備和交換機(jī)設(shè)備的頻率都設(shè)置為2 MHz,數(shù)據(jù)接收BWDSP 保持在正常的500 MHz 工作頻率下.根據(jù)上文式(1)和式(2),當(dāng)RapidIO數(shù)據(jù)包長度取276字節(jié)時(shí),RapidIO交換模型在1 s 內(nèi)轉(zhuǎn)發(fā)處理的數(shù)據(jù)字節(jié)數(shù)為(256+20)×2 MB,速率近似為4.416 Gbs.然后又測試了發(fā)送不同RapidIO數(shù)據(jù)包長度時(shí),系統(tǒng)整體的傳輸速率,如數(shù)據(jù)字節(jié)數(shù)為(64+20)×2 MB時(shí),swtich模型的速率近似為1.344 Gbs.實(shí)驗(yàn)結(jié)果表明,該BWDSP虛擬平臺中交換模型的數(shù)據(jù)傳輸速率符合RapidIO規(guī)范標(biāo)準(zhǔn)中的傳輸速率.表2是在不同數(shù)據(jù)包長度下,RapidIO交換模型的傳輸速率測試結(jié)果.

      表2中第1條和第2條測試數(shù)據(jù)中數(shù)據(jù)包長度字節(jié)為36 B和52 B時(shí),發(fā)送設(shè)備采用固定的發(fā)送頻率進(jìn)行數(shù)據(jù)發(fā)送.此時(shí)交換設(shè)備和接收設(shè)備無法充分利用信道和計(jì)算資源,數(shù)據(jù)傳輸速率分別是0.576 Gbs和0.832 Gbs.

      表2 數(shù)據(jù)傳輸速率表

      3.2 系統(tǒng)初始化階段分析

      RapidIO系統(tǒng)初始化階段主要是進(jìn)行系統(tǒng)的探測枚舉,即枚舉整個(gè)系統(tǒng)中的所有設(shè)備,并分配終端設(shè)備base_id和配置各交換機(jī)路由表.本文在設(shè)計(jì)時(shí)對RapidIO 初始化階段數(shù)據(jù)包采取直通轉(zhuǎn)發(fā),這是為了加快系統(tǒng)初始化,故我們采取對傳輸數(shù)據(jù)包的長度和個(gè)數(shù)進(jìn)行統(tǒng)計(jì),并近似算出系統(tǒng)初始化階段時(shí)間,與理論時(shí)間進(jìn)行對比分析.設(shè)BWDSP虛擬平臺中BWDSP模型數(shù)為bw_num個(gè),switch模型數(shù)為sw_num個(gè),初始化階段發(fā)送數(shù)據(jù)包數(shù)為pkt_num個(gè).則系統(tǒng)初始化時(shí)間下限為t_lower,上限為t_high,下限和上限分別符合式(3)和式(4).

      系統(tǒng)初始化枚舉探測階段執(zhí)行完成時(shí),通過打印輸出來檢查各switch模型的路由表,與系統(tǒng)理論拓?fù)浣Y(jié)構(gòu)保持一致,說明系統(tǒng)初始化階段枚舉探測算法正常工作.表3所示是在不同系統(tǒng)拓?fù)浣Y(jié)構(gòu)下,BWDSP和交換機(jī)模型的頻率都設(shè)置為2 MHz時(shí),BWDSP系統(tǒng)初始化時(shí)發(fā)送的數(shù)據(jù)包個(gè)數(shù).

      表3 初始化數(shù)據(jù)包數(shù)

      表3中BWDSP模型數(shù)為20和switch模型數(shù)為6進(jìn)行分析,系統(tǒng)發(fā)送的RapidIO數(shù)據(jù)包的數(shù)量為434,系統(tǒng)時(shí)鐘頻率為2 MHz,發(fā)送數(shù)據(jù)包時(shí)間為217 us.對于最后一個(gè)發(fā)送數(shù)據(jù)包被接收時(shí),理論上所經(jīng)過的switch模型個(gè)數(shù)少于BWDSP模型數(shù),故系統(tǒng)初始化階段需要時(shí)間下限為217 us,上限為227 us.當(dāng)系統(tǒng)拓?fù)浣Y(jié)構(gòu)更大時(shí),初始化階段發(fā)送的數(shù)據(jù)包數(shù)量也會相應(yīng)增加,上述時(shí)間計(jì)算公式依然適用.

      表3中第5條和第6條實(shí)驗(yàn)數(shù)據(jù)具有相同BWDSP模型數(shù)和switch模型數(shù),但是系統(tǒng)拓?fù)浣Y(jié)構(gòu)互聯(lián)方式不同,導(dǎo)致系統(tǒng)初始化時(shí)需要的數(shù)據(jù)包數(shù)量也不相同.在兩種系統(tǒng)拓?fù)浣Y(jié)構(gòu)下,RapidIO 初始化功能都可以正確執(zhí)行,設(shè)計(jì)的BWDSP虛擬平臺具有一定的可擴(kuò)展性.

      3.3 系統(tǒng)功能正確性分析

      中國電子科技集團(tuán)第三十八研究所設(shè)計(jì)了用于軟硬件模型開發(fā)和調(diào)試的CES集成開發(fā)環(huán)境,本文設(shè)計(jì)的BWDSP虛擬板卡平臺使用三十八所的CES集成開發(fā)環(huán)境進(jìn)行調(diào)試.BWDSP 主設(shè)備模型會向RapidIO交換模型相連的存儲模型中指定位置寫入數(shù)據(jù),該數(shù)據(jù)包會通過switch模型進(jìn)行轉(zhuǎn)發(fā),然后檢查該位置數(shù)據(jù)是否寫入正確,以此驗(yàn)證RapidIO交換模型能否對數(shù)據(jù)包進(jìn)行正確轉(zhuǎn)發(fā).實(shí)驗(yàn)中BWDSP模型向存儲位置為0x012003001位置寫入0x80200401,然后逐個(gè)位置寫入加1 后的值,測試結(jié)果如圖6所示.該測試結(jié)果表明該RapidIO交換模型可以正常工作,將RapidIO數(shù)據(jù)包轉(zhuǎn)發(fā)到正確設(shè)備和地址并進(jìn)行處理.

      圖6 數(shù)據(jù)傳輸測試結(jié)果

      RapidIO協(xié)議中其他的數(shù)據(jù)包類型如維護(hù)數(shù)據(jù)包等,都進(jìn)行了相應(yīng)的數(shù)據(jù)通信測試[17],并且測試結(jié)果正確,符合RapidIO規(guī)范標(biāo)準(zhǔn).如路由信息維護(hù)數(shù)據(jù)包的測試結(jié)果,成功將switch模型中的路由信息修改為維護(hù)數(shù)據(jù)包中數(shù)據(jù)負(fù)載部分,正確實(shí)現(xiàn)了switch模型的路由表信息動態(tài)維護(hù)功能.

      3.4 系統(tǒng)延遲性分析

      BWDSP虛擬平臺正常工作時(shí),即各個(gè)BWDSP模型之間進(jìn)行數(shù)據(jù)傳輸時(shí),通過實(shí)驗(yàn)測量數(shù)據(jù)傳輸延遲時(shí)間,對BWDSP虛擬平臺傳輸性能進(jìn)行分析.

      表4中的數(shù)據(jù)包長度為276字節(jié),傳播時(shí)延信息是發(fā)送方結(jié)束發(fā)送時(shí)刻到接收方開始接收時(shí)刻之間的時(shí)間,單位為us.各個(gè)BWDSP芯片同時(shí)通過RapidIO交換模型進(jìn)行數(shù)據(jù)發(fā)送,并且是隨機(jī)發(fā)往其他設(shè)備,故傳播時(shí)延并非是單個(gè)數(shù)據(jù)包傳播時(shí)延乘以包的數(shù)量.其中第5條和第6條實(shí)驗(yàn)數(shù)據(jù)的傳播時(shí)延也說明了系統(tǒng)的拓?fù)浣Y(jié)構(gòu)會影響B(tài)WDSP芯片之間的數(shù)據(jù)傳輸.結(jié)合終端設(shè)備頻率和讀寫位寬信息,可以得知數(shù)據(jù)發(fā)送時(shí)間和接收時(shí)間為20 us.完整的數(shù)據(jù)傳輸時(shí)間tm如式(5)所示,其中tp是傳播時(shí)間,ts是發(fā)送數(shù)據(jù)時(shí)間,tr是接收數(shù)據(jù)時(shí)間.

      表4 數(shù)據(jù)傳輸時(shí)延表

      當(dāng)系統(tǒng)中數(shù)據(jù)流量[18]過大時(shí),測試RapidIO交換模型發(fā)生緩存數(shù)據(jù)溢出時(shí)的系統(tǒng)行為.該RapidIO交換模型檢測到緩存溢出情況,立刻向數(shù)據(jù)的發(fā)送方進(jìn)行緩存已滿的響應(yīng),并減緩數(shù)據(jù)發(fā)送方的數(shù)據(jù)發(fā)送頻率,調(diào)整系統(tǒng)的擁塞程度.

      3.5 實(shí)驗(yàn)總結(jié)

      Tundra公司開發(fā)的RapidIO交換芯片Tsi578應(yīng)用廣泛,符合1.3版本的串行RapidIO互聯(lián)規(guī)范,串行數(shù)據(jù)傳輸速率可以達(dá)到1.25 Gbs.而本文所設(shè)計(jì)的RapidIO交換模型除了正常工作的5端口模式外,支持?jǐn)U展端口數(shù),可以靈活配置形成復(fù)雜的系統(tǒng)拓?fù)浣Y(jié)構(gòu).采用RapidIO最大數(shù)據(jù)包長度276字節(jié)時(shí),數(shù)據(jù)傳輸速率可以達(dá)到4.416 Gbs.

      BWDSP芯片計(jì)算峰值性能為12.8 GFLOPS,則4個(gè)芯片構(gòu)成的BWDSP板卡系統(tǒng)在忽略系統(tǒng)通信消耗的情況下,理論計(jì)算性能可以達(dá)到51.2 GFLOPS,具有進(jìn)行深度學(xué)習(xí)應(yīng)用開發(fā)的潛力.

      綜合上述實(shí)驗(yàn)結(jié)果及分析,該BWDSP虛擬平臺成功實(shí)現(xiàn)了多BWDSP模型之間的數(shù)據(jù)通信,且數(shù)據(jù)傳輸速率符合RapidIO標(biāo)準(zhǔn)規(guī)定.

      4 總結(jié)與展望

      為了使RapidIO協(xié)議更好的適用于具體硬件產(chǎn)品,提高BWDSP模型之間相互通信的能力.本文以國產(chǎn)BWDSP芯片模型為基礎(chǔ),基于SystemC 建模語言設(shè)計(jì)了RapidIO交換模型,并構(gòu)建了BWDSP虛擬平臺.實(shí)驗(yàn)結(jié)果表明該串行RapidIO的功能級模擬符合實(shí)際RapidIO規(guī)范標(biāo)準(zhǔn),設(shè)計(jì)的BWDSP虛擬平臺數(shù)據(jù)傳輸速率達(dá)到預(yù)先設(shè)計(jì)的性能指標(biāo).

      本文BWDSP虛擬平臺中的交換模型主要實(shí)現(xiàn)串行RapidIO功能級的模擬,在switch交換模型內(nèi)部的調(diào)度算法模塊中,目前只實(shí)現(xiàn)了按照時(shí)間和優(yōu)先級的輪詢調(diào)度方式,考慮為BWDSP虛擬平臺提供更加復(fù)雜的數(shù)據(jù)包調(diào)度方式以適應(yīng)多種數(shù)據(jù)通信應(yīng)用場景.未來針對更加復(fù)雜的系統(tǒng)互聯(lián)拓?fù)浣Y(jié)構(gòu),需要設(shè)計(jì)更加靈活的動態(tài)路由算法,優(yōu)化數(shù)據(jù)傳輸性能.

      猜你喜歡
      路由表板卡傳輸速率
      基于OSPF特殊區(qū)域和LSA的教學(xué)設(shè)計(jì)與實(shí)踐
      基于PCI9054的多總線通信板卡的研制
      基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
      組播狀態(tài)異常導(dǎo)致故障
      跨山通信中頻段選擇與傳輸速率的分析
      黑龍江電力(2017年1期)2017-05-17 04:25:16
      數(shù)據(jù)傳輸速率
      CHIP新電腦(2016年9期)2016-09-21 10:31:09
      一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
      新一代全球衛(wèi)星通信網(wǎng)絡(luò)將百倍提升傳輸速率
      新一代全球衛(wèi)星通信網(wǎng)絡(luò)將百倍提升傳輸速率
      基于新路由表的雙向搜索chord路由算法
      兴文县| 清涧县| 普宁市| 柳州市| 阜宁县| 郴州市| 平果县| 那曲县| 永修县| 涞源县| 张家川| 兴义市| 阿克苏市| 平顺县| 大安市| 钟祥市| 长白| 文安县| 伊金霍洛旗| 历史| 济南市| 新绛县| 镇雄县| 长兴县| 临安市| 屏南县| 峨边| 禹州市| 香港| 洞口县| 长沙市| 如皋市| 麻阳| 玉环县| 营山县| 江陵县| 资兴市| 三门县| 金坛市| 郧西县| 伊吾县|