• 
    

    
    

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

      ?

      基于多FPGA的片上網(wǎng)絡(luò)模擬平臺設(shè)計和實現(xiàn)*

      2013-07-13 10:51:54梁利平
      關(guān)鍵詞:管理器引擎延時

      趙 淳,梁利平

      (中國科學(xué)院 微電子研究所,北京 100029)

      隨著應(yīng)用的發(fā)展和芯片制造水平的提高,片上系統(tǒng)單位面積上計算核心的數(shù)量呈現(xiàn)出近似指數(shù)的增長趨勢[1].進入65nm工藝后,片上連線延時的比重迅速上升,甚至超過邏輯延時,這導(dǎo)致基于總線的傳統(tǒng)互連結(jié)構(gòu)無法滿足復(fù)雜系統(tǒng)芯片的設(shè)計需求[2].高性能的系統(tǒng)級芯片強調(diào)良好的邏輯和物理局部性,以降低芯片的全局連線延時.片上網(wǎng)絡(luò)(Networks-on-Chip)相對于總線具有良好的伸縮性和能量效率,能夠有效地緩解全局連線在深亞微米工藝條件下所引入的延時和功耗等問題,因而被認(rèn)為是一種適合未來多核系統(tǒng)芯片大規(guī)模擴展的片上互連和通信結(jié)構(gòu)[3].

      片上網(wǎng)絡(luò)擁有龐大的設(shè)計空間,其研發(fā)周期覆蓋拓?fù)浣Y(jié)構(gòu)、路由算法、交換策略、流控制機制、服務(wù)質(zhì)量、通信協(xié)議和網(wǎng)絡(luò)接口等多個方面的設(shè)計和實現(xiàn)問題[4].因此如何快速地驗證片上網(wǎng)絡(luò)硬件結(jié)構(gòu)的功能,并準(zhǔn)確地評估其性能和實現(xiàn)開銷成為設(shè)計者面臨的嚴(yán)峻挑戰(zhàn).基于FPGA的硬件模擬技術(shù)[5-7]相對于典型的軟件仿真技術(shù)[8-9]具有明顯的速度優(yōu)勢,尤其適合大規(guī)模片上網(wǎng)絡(luò)設(shè)計空間的深度搜索.

      現(xiàn)有的片上網(wǎng)絡(luò)FPGA模擬平臺大多采用片上微處理器,配合專用的硬件功能單元,為目標(biāo)網(wǎng)絡(luò)產(chǎn)生模擬環(huán)境中所需要的各種流量模型[5].這種方法實現(xiàn)復(fù)雜,硬件資源開銷較大,且模擬平臺的性能往往受到流量模型的制約[6],缺乏設(shè)計和移植的靈活性.針對這一點,本文提出并實現(xiàn)了一種基于多FPGA的高性能片上網(wǎng)絡(luò)模擬平臺結(jié)構(gòu),采用了層次化設(shè)計和軟件可重構(gòu)的分布式流量管理器等技術(shù),降低了系統(tǒng)硬件設(shè)計的復(fù)雜度,減小了流量管理系統(tǒng)與片上網(wǎng)絡(luò)內(nèi)核的耦合度,大大提高了片上網(wǎng)絡(luò)功能驗證和性能評估的靈活性.

      1 片上網(wǎng)絡(luò)模擬平臺

      片上網(wǎng)絡(luò)模擬平臺的系統(tǒng)結(jié)構(gòu)框架如圖1所示,包括上位機和基于多FPGA的原型驗證引擎兩大部分,兩者之間可以通過PCIe,Ethernet等接口實現(xiàn)高速的數(shù)據(jù)交換.模擬平臺自頂向下可以劃分為系統(tǒng)軟件層、軟/硬件接口層和硬件結(jié)構(gòu)層3個抽象層次,為結(jié)構(gòu)設(shè)計者提供一套完整的多目標(biāo)、自動化片上網(wǎng)絡(luò)功能驗證和性能評估環(huán)境.

      圖1 片上網(wǎng)絡(luò)模擬平臺結(jié)構(gòu)框架Fig.1 NoC emulation platform framework

      硬件結(jié)構(gòu)層主要包括多片多種形式互連(普通單端、LVDS和千兆級高速串行總線等)的大容量FPGA芯片,為系統(tǒng)中的硬件功能單元提供充足的實現(xiàn)空間.完整的片上網(wǎng)絡(luò)硬件原型包括網(wǎng)絡(luò)內(nèi)核、片間網(wǎng)絡(luò)接口、分布式片上流量管理器和中央控制器等模塊.用戶可以通過每顆FPGA芯片上實現(xiàn)的中央控制器,利用系統(tǒng)應(yīng)用層的軟件服務(wù),直接對流量管理器進行讀/寫操作,完成對其功能的軟重構(gòu).軟/硬件接口層由設(shè)備(PCIe、Ethernet)驅(qū)動程序構(gòu)成,為上層軟件提供了一組可擴展的專用API,將上層的軟件服務(wù)映射為對底層硬件的訪問操作,保證系統(tǒng)軟件層和硬件結(jié)構(gòu)層之間的正確交互.系統(tǒng)應(yīng)用層包括在上位機運行的基于高級語言(SystemC)的仿真引擎[10]和基于腳本語言的控制引擎.其中仿真引擎用于產(chǎn)生下載到流量管理器的模型信息,以及分析處理由流量管理器讀回的統(tǒng)計信息;控制引擎則用于控制整個模擬流程,協(xié)調(diào)和管理各部分系統(tǒng)應(yīng)用軟件功能,以及發(fā)起和終止用戶對底層硬件的訪問操作等.

      2 流量管理器軟/硬件實現(xiàn)

      在片上網(wǎng)絡(luò)的功能驗證和性能評估過程中,流量的產(chǎn)生、收集和分析處理一直都是設(shè)計者所面臨的最棘手的問題.如何設(shè)計結(jié)構(gòu)簡單,靈活度高的片上流量管理器,以實現(xiàn)對片上網(wǎng)絡(luò)全面的功能覆蓋和大范圍的設(shè)計空間搜索,成為整個模擬平臺的設(shè)計重點和難點.為了提高平臺的效率和靈活性,避免網(wǎng)表文件的反復(fù)生成和下載,本文設(shè)計了軟件可重構(gòu)的分布式片上流量管理器,通過軟件配置和控制指令解析的方式為片上網(wǎng)絡(luò)提供豐富的流量模型.

      2.1 流量管理器和中央控制器

      流量管理器作為片上網(wǎng)絡(luò)的終端功能單元,模擬實際系統(tǒng)中的計算資源節(jié)點,按照一定的時間和空間分布規(guī)律產(chǎn)生并向網(wǎng)絡(luò)注入數(shù)據(jù),同時接收并校驗由其他終端發(fā)往本地的數(shù)據(jù).流量管理器包括兩組單向的總線接口.其中用戶接口用于連接片上網(wǎng)絡(luò)中央控制器,為用戶提供“控制指令”的下載和“狀態(tài)數(shù)據(jù)”回傳服務(wù),接口滿足簡單的存儲器讀寫規(guī)范.系統(tǒng)接口用于連接路由節(jié)點,接口滿足片上網(wǎng)絡(luò)物理鏈路的通信規(guī)范.每個路由節(jié)點可以根據(jù)其空閑物理鏈路的數(shù)量連接一個或多個流量管理器.流量管理器內(nèi)部用于存儲控制指令和狀態(tài)數(shù)據(jù)的存儲空間被線性地映射到64位地址所覆蓋的空間范圍內(nèi),允許系統(tǒng)軟件層以直接映射的方式對其進行訪問.整個硬件系統(tǒng)結(jié)構(gòu)如圖2所示.

      流量管理器發(fā)送和接收通道的結(jié)構(gòu)如圖3所示,其結(jié)構(gòu)劃分為發(fā)送通道和接收通道,分別處理網(wǎng)絡(luò)通信事務(wù)的發(fā)送和接收.其中發(fā)送通道由一塊用戶只寫、網(wǎng)絡(luò)只讀的指令存儲器和一個發(fā)送控制狀態(tài)機構(gòu)成.指令存儲器的每一項存儲一條流量控制指令,對應(yīng)一項網(wǎng)絡(luò)發(fā)送事務(wù),其內(nèi)容由目標(biāo)地址、事務(wù)類型、負(fù)載長度、事務(wù)編號、發(fā)送時間等字段構(gòu)成.發(fā)送控制狀態(tài)機每次從指令存儲器中讀出一條流量控制指令,對其進行解析并完成一個完整網(wǎng)絡(luò)數(shù)據(jù)包的重建,同時在其結(jié)尾添加校驗信息,在流控機制的約束下,將數(shù)據(jù)包有序地注入到片上網(wǎng)絡(luò)中.接收通道由一塊用戶只讀、網(wǎng)絡(luò)只寫的數(shù)據(jù)存儲器和一個接收控制狀態(tài)機構(gòu)成.當(dāng)流量管理器接收到一個來自其他終端的網(wǎng)絡(luò)數(shù)據(jù)包時,接收控制狀態(tài)機首先對整個數(shù)據(jù)包的內(nèi)容進行解析和校驗,從中還原出其基本控制信息如源地址、事務(wù)類型、負(fù)載長度和事務(wù)編號等,并記錄下其到達時間,然后將這些信息合并為一項狀態(tài)數(shù)據(jù)存儲到接收通道內(nèi)的數(shù)據(jù)存儲器中,供系統(tǒng)軟件層讀取.

      圖2 硬件系統(tǒng)結(jié)構(gòu)框圖Fig.2 Block diagram of hardware system architecture

      圖3 流量管理器結(jié)構(gòu)框圖Fig.3 Block diagram of traffic manager architecture

      中央控制器為流量管理器提供通用的總線訪問接口,用于對其內(nèi)部存儲資源的讀/寫訪問,從而實現(xiàn)系統(tǒng)軟件層對底層硬件的控制和觀測.中央控制器本質(zhì)上是一個總線譯碼單元,通過對輸入地址總線的三級譯碼選擇其所要訪問的片上存儲空間.相對于其他平臺實現(xiàn)中的微處理器[5-6],中央控制器的資源開銷只有不足其1/10,不僅功能簡單易于實現(xiàn),同時減小了硬件的開銷.

      2.2 系統(tǒng)軟件服務(wù)

      模擬平臺的系統(tǒng)軟件層為用戶提供了大量抽象的參數(shù)配置和控制接口,大大提高了系統(tǒng)的效率和靈活性,避免了硬件代碼的反復(fù)修改,使平臺可以一次性地完成對目標(biāo)平臺的驗證和評估.系統(tǒng)軟件層中的仿真引擎可以自動地為系統(tǒng)中每個流量管理器產(chǎn)生一定約束條件下的流量控制指令序列,并通過控制引擎將其下載到相應(yīng)的指令存儲器中;同時,控制引擎也可以將保存在流量管理器內(nèi)部的狀態(tài)數(shù)據(jù)讀回給仿真引擎,供其快速地考察片上網(wǎng)絡(luò)在不同流量模式下的性能指標(biāo).

      仿真引擎采用SystemC事務(wù)級建模(TLM)的方法實現(xiàn),其核心是一套參數(shù)化的片上網(wǎng)絡(luò)軟件仿真程序,同時具備周期精確的仿真粒度和較快的仿真速度等特點.模擬平臺利用仿真引擎構(gòu)造一個和硬件平臺結(jié)構(gòu)相同的軟件仿真框架,但這個框架只為每個流量管理器產(chǎn)生單獨的網(wǎng)絡(luò)通信事務(wù)隊列,并不進行實際的軟件仿真.通信事務(wù)隊列的數(shù)據(jù)結(jié)構(gòu)與流量管理器中指令存儲器的存儲結(jié)構(gòu)一致,以二進制文件的形式保存在上位機的文件系統(tǒng)中,由控制引擎將其下載到相應(yīng)的流量管理器中.用戶可以調(diào)整流量模型參數(shù),不斷地產(chǎn)生新的二進制文件,從而改變片上網(wǎng)絡(luò)流量的通信特點,以獲得全面的性能統(tǒng)計信息.仿真引擎內(nèi)嵌了性能分析模塊,可以處理從流量管理器中讀回的狀態(tài)數(shù)據(jù)文件.性能分析模塊根據(jù)狀態(tài)數(shù)據(jù)文件和先前產(chǎn)生的控制指令序列文件,精確匹配每一組通信流量,計算其延時,從而得到整個網(wǎng)絡(luò)的平均延時和吞吐性能.

      控制引擎采用腳本語言實現(xiàn),主要用于模擬流程中各軟件模塊的控制.模擬流程中的每一步操作都由控制引擎直接發(fā)起,通過調(diào)用相應(yīng)的應(yīng)用程序驅(qū)動整個流程向下進行.直接受控制引擎調(diào)度的程序包括FPGA綜合和后端實現(xiàn)工具、仿真引擎和軟/硬件接口API等.

      2.3 基于流量管理的系統(tǒng)模擬流程

      片上網(wǎng)絡(luò)模擬流程分為結(jié)構(gòu)定義和設(shè)計空間搜索2個階段,共7個步驟,由系統(tǒng)軟件層中的控制引擎進行集中控制和調(diào)度.控制引擎對已有的可執(zhí)行程序進行高效地集成和封裝,使整個模擬流程無須用戶干預(yù),自動地完成流程中的所有步驟.

      片上網(wǎng)絡(luò)的模擬流程如圖4所示.其中第1步和第2步為結(jié)構(gòu)定義階段.在這個階段里,控制引擎首先根據(jù)用戶設(shè)定的結(jié)構(gòu)參數(shù),從結(jié)構(gòu)單元庫中實例化基本結(jié)構(gòu)單元,快速構(gòu)建目標(biāo)片上網(wǎng)絡(luò)平臺,并調(diào)用FPGA開發(fā)工具,生成可直接下載的FPGA網(wǎng)表,通過軟/硬件接口服務(wù)程序,將網(wǎng)表下載到驗證板的FPGA芯片上.第3步到第7步為設(shè)計空間搜索階段,這一階段往往要進行多次循環(huán)迭代,以考察片上網(wǎng)絡(luò)在各種流量模型下的通信狀況和性能指標(biāo).在一次迭代過程里,控制引擎首先根據(jù)用戶設(shè)定的流量模型參數(shù),調(diào)用仿真引擎,為每個流量管理器產(chǎn)生流量控制指令文件,隨后通過軟/硬件接口服務(wù)程序,將其下載到對應(yīng)流量管理器的指令存儲器中.當(dāng)全部文件下載結(jié)束后,控制引擎向底層硬件發(fā)送一個啟動命令,片上網(wǎng)絡(luò)進入正常工作狀態(tài).系統(tǒng)中全部的流量到達其目標(biāo)后,控制引擎向底層硬件發(fā)送一個暫停命令,并調(diào)用軟/硬件接口服務(wù)程序,將每個流量控制器數(shù)據(jù)存儲器中的狀態(tài)數(shù)據(jù)讀回上位機,并保存在文件系統(tǒng)中.最后,控制引擎調(diào)用仿真引擎,對接收到的數(shù)據(jù)文件進行分析處理,得到本次迭代的平均通信延時和吞吐率等性能參數(shù).

      圖4 片上網(wǎng)絡(luò)模擬流程Fig.4 Emulation flow of NoC emulation

      3 實驗結(jié)果分析

      本文提出的片上網(wǎng)絡(luò)模擬平臺采用通用PC和DINI公司的 DN-DualV6-PCIe-4原型驗證引擎共同構(gòu)建實現(xiàn).其中,驗證引擎既可以通過PCIe接口插放在PC機的主板上,也可以在作為Ethernet終端供局域網(wǎng)內(nèi)的其他PC進行訪問.模擬過程中的全部軟硬件交互均通過PCIe或Ethernet實現(xiàn).引擎上包括兩個大容量的FPGA芯片(Xilinx XC6VSX475T)并通過千兆級高速串行總線互連,為片上網(wǎng)絡(luò)提供基本的硬件實現(xiàn)空間.

      實驗中的路由節(jié)點模塊采用了六端口蟲孔交換虛通道路由器,二維Mesh拓?fù)浣Y(jié)構(gòu)下可以連接2個流量管理器.每個輸入端口包括4條虛通道,每條虛通道的深度為8個微片(flit),采用兩級輪轉(zhuǎn)優(yōu)先的仲裁機制進行虛通道分配和交換分配.片間網(wǎng)絡(luò)接口支持RapidIO高速串行通信,飽和通信帶寬可達10Gbps.每個FPGA芯片上實現(xiàn)一個4×4的Mesh片上網(wǎng)絡(luò),網(wǎng)絡(luò)內(nèi)核的時鐘頻率可以達到100 MHz.

      文獻[6]提出的片上網(wǎng)絡(luò)FPGA模擬平臺AcENoCs在模擬速度上受到目標(biāo)網(wǎng)絡(luò)的規(guī)模和流量注入率的制約,使其在設(shè)計空間搜索的深度和廣度上具有一定的局限性.本文所提出的模擬平臺不受流量注入模型的約束,且受網(wǎng)絡(luò)規(guī)模的影響很小,在6×6的Mesh網(wǎng)絡(luò)下主頻仍可達到80MHz,這使模擬平臺的工作效率得到顯著提高.圖5為2種平臺在模擬速度上的對比結(jié)果,均采用2×2的Mesh網(wǎng)絡(luò)實現(xiàn).由圖5可知,本文實現(xiàn)的平臺結(jié)構(gòu)工作在較低主頻條件下,在性能上仍然具有較大優(yōu)勢.在目標(biāo)網(wǎng)絡(luò)規(guī)模增大和流量注入率升高時,這種優(yōu)勢體現(xiàn)得更加明顯.

      圖5 模擬平臺性能對比Fig.5 Performance comparison between the platform and AcENoCs[6]

      表1反映了目標(biāo)片上網(wǎng)絡(luò)在相同配置條件下,分別使用模擬平臺,高級語言仿真器和RTL仿真進行設(shè)計空間搜索的時間開銷.從表中可以看出,模擬平臺與基于SystemC語言的仿真器相比,速度提高了近500倍,與基于Verilog的RTL仿真相比,速度提高了10 000倍以上.

      表1 片上網(wǎng)絡(luò)模擬-仿真性能對比表Tab.1 Performance comparison between NoC emulation and simulation

      圖6為片上網(wǎng)絡(luò)各部分硬件資源所占的比例.從圖中可以看出,片上網(wǎng)絡(luò)內(nèi)核占據(jù)了硬件系統(tǒng)的絕大部分資源開銷,流量管理器,中央控制器等輔助功能模塊的硬件開銷則相對較小,這符合模擬平臺的設(shè)計原則,以較小的實現(xiàn)代價換取了系統(tǒng)的靈活性,同時最大限度地提高了硬件系統(tǒng)的可控制性和可觀測性.

      圖6 4×4片上網(wǎng)絡(luò)各部分資源分布Fig.6 Resource utilization of a 4×4NoC emulation

      圖7為uniform流量下,不同負(fù)載長度的流量對片上網(wǎng)絡(luò)平均延時性能的影響.當(dāng)流量的有效負(fù)載長度增大時,網(wǎng)絡(luò)的飽和注入率略有降低,網(wǎng)絡(luò)負(fù)載的平均延時顯著增大.這是由于隨著負(fù)載注入率的升高,較長負(fù)載的數(shù)據(jù)包對網(wǎng)絡(luò)的阻塞更加敏感,從而導(dǎo)致其排隊延時的急劇增大,此外,長負(fù)載本身的串行延時也是導(dǎo)致平均延時增大的因素之一.

      圖7 平均延時隨負(fù)載長度變化特性Fig.7 Average packet delay divided by packet length versus normalized accepted traffic for uniform traffic

      4 結(jié) 論

      本文提出了一種基于多FPGA的高性能片上網(wǎng)絡(luò)模擬平臺,用于解決大規(guī)模片上網(wǎng)絡(luò)設(shè)計空間搜索的效率問題.模擬平臺通過對分布式片上流量管理器的軟件重構(gòu)為目標(biāo)網(wǎng)絡(luò)提供豐富的流量模型,避免硬件代碼的反復(fù)修改和下載,大大縮短了驗證和調(diào)試周期.該平臺不依賴于網(wǎng)絡(luò)的規(guī)模和具體實現(xiàn),可以完成對多種結(jié)構(gòu)參數(shù)下片上網(wǎng)絡(luò)的功能驗證和性能評估.實驗結(jié)果表明,該平臺硬件開銷小,靈活性高,可以快速、準(zhǔn)確地給出網(wǎng)絡(luò)的性能指標(biāo).與同類型的FPGA模擬平臺相比,該平臺不受流量模型的制約,大大提高了整個系統(tǒng)的模擬性能.與基于軟件的仿真相比,該平臺具有500~10 000倍的加速,能夠高效率地實現(xiàn)片上網(wǎng)絡(luò)設(shè)計空間的深度搜索.

      [1]GEER D.Chip makers turn to multicore processors[J].IEEE Computer,2005,38(5):11-13.

      [2]PULLINI A,ANGIOLINI F,MURALI S,etal.Bringing NoCs to 65nm[J].IEEE Micro,2007,27(5):75-85.

      [3]DALLY W J,TOWLES B.Route packets,not wires:on-chip interconnection networks[C]//Design Automation Conference.Las Vegas:IEEE Press,2001:684-689.

      [4]MARCULESCU R,OGRAS U Y,PEH L S,etal.Outstanding research problems in NoC design:system,microarchitecture,and circuit perspectives[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2009,28(1):3-21.

      [5]GENKO N,ATIENZA D,DE-MICHELI G,etal.NoC emulation:a tool and design flow for MPSoC[J].IEEE Circuits and Systems Magazine,2007,7(4):42-51.

      [6]LOTLIKAR S,PAI V,GRATZ P V.AcENoCs:a configurable HW/SW platform for FPGA accelerated NoC emulation[C]//24th International Conference on VLSI Design.Madras:IEEE Press,2011:147-152.

      [7]WANG Dan-yao,JERGER N E,STEFFAN J G.DART:a programmable architecture for NoC simulation on FPGAs[C]//Fifth IEEE/ACM International Symposium on Networks on Chip.Pittsburgh:IEEE Press,2011:145-152.

      [8]REN Peng-ju,LIS M,MYONG H C,etal.HORNET:a cycle-level multicore simulator[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2012,31(6):890-903.

      [9]BEN-ITZHAK Y,ZAHAVI E,CIDON I,etal.NoCs simulation framework for OMNeT++[C]//Fifth IEEE/ACM International Symposium on Networks on Chip.Pittsburgh:IEEE Press,2011:265-266.

      [10]李燁挺,梁利平.一種基于SystemC的片上網(wǎng)絡(luò)建模與仿真方法[J].微電子學(xué)與計算機,2010,27(3):78-82.LI Ye-ting,LIANG Li-ping.An NoC modeling and simulating method with systemC[J].Microelectronics & Computer,2010,27(3):78-82.(In Chinese)

      猜你喜歡
      管理器引擎延時
      基于級聯(lián)步進延時的順序等效采樣方法及實現(xiàn)
      應(yīng)急狀態(tài)啟動磁盤管理器
      Windows文件緩沖處理技術(shù)概述
      藍谷: “涉藍”新引擎
      商周刊(2017年22期)2017-11-09 05:08:31
      Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
      無形的引擎
      河南電力(2015年5期)2015-06-08 06:01:46
      基于Cocos2d引擎的PuzzleGame開發(fā)
      高集成度2.5A備份電源管理器簡化鋰離子電池備份系統(tǒng)
      快速導(dǎo)出QQ群消息
      電腦迷(2014年2期)2014-04-29 19:21:13
      桑塔納車發(fā)動機延時熄火
      潮州市| 大姚县| 澄迈县| 内江市| 囊谦县| 儋州市| 海口市| 宜兰县| 江陵县| 台南市| 崇明县| 达孜县| 恭城| 方山县| 榆中县| 华坪县| 马山县| 天气| 平山县| 通辽市| 社旗县| 怀仁县| 西畴县| 临泉县| 敦煌市| 孟津县| 牟定县| 德保县| 绥芬河市| 克拉玛依市| 临潭县| 芷江| 凤冈县| 大化| 八宿县| 阿坝| 遵化市| 平陆县| 青冈县| 海丰县| 岚皋县|