文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2014)08-0038-03
隨著半導(dǎo)體工藝技術(shù)的不斷革新,,功耗、存儲,、頻率等技術(shù)瓶頸問題越來越突出,,單核處理器已經(jīng)很難繼續(xù)通過提高時鐘頻率的方式來提高自身的性能。單核處理器在提高主頻的同時也帶來了功耗和發(fā)熱量的問題,。在這樣的背景下多核并行處理器應(yīng)運而生并且得到了快速發(fā)展,。在這個過程中,設(shè)計的復(fù)雜度和核間通信的線延遲[1]成為了當(dāng)前多核并行處理器設(shè)計的核心問題,。多核并行處理器的各個核獨立執(zhí)行各自的程序,,但各個核之間需要進(jìn)行數(shù)據(jù)傳遞,路由器作為片上通信結(jié)構(gòu)的核心部件,,其設(shè)計性能直接影響整個片上網(wǎng)絡(luò)的處理效率,。本文基于多態(tài)并行處理器功耗和結(jié)構(gòu)復(fù)雜度要求設(shè)計了近鄰?fù)ㄐ藕瓦h(yuǎn)程通信兩種通信機(jī)制,并對所設(shè)計的路由器進(jìn)行了功能仿真和FPGA綜合,。
1 多態(tài)并行處理機(jī)結(jié)構(gòu)
本文提出的多態(tài)并行處理器的處理單元具有單指令多數(shù)據(jù)(SIMD)和多指令多數(shù)據(jù)(MIMD)兩種運行模式[2-3],。該結(jié)構(gòu)兼有硬件的多線程管理和高效的數(shù)據(jù)通信機(jī)制。多態(tài)并行處理機(jī)結(jié)構(gòu)如圖1所示,。
圖1 多態(tài)并行處理機(jī)結(jié)構(gòu)框圖
每個處理器核[4]由算術(shù)邏輯運算器ALU,、線程管理器控制器TM、路由器RU(Router Unit),、鄰接共享存儲(Mn,、Ms、Mw、Me),、數(shù)據(jù)存儲D-men(Data Memory)和指令存儲I-men(Instruction Memory)組成,,每個基本處理單元如圖2所示。
圖2 基本處理器單元結(jié)構(gòu)
2 設(shè)計與實現(xiàn)
路由器的整體結(jié)構(gòu)如圖3所示,。路由器可連接?xùn)|,、西、南,、北4個方向的路由器和本地PE,。
圖3 路由器整體結(jié)構(gòu)框圖
(1)Input_ctrl模塊:分別接收來自北、南,、西,、東、本地5個方向的數(shù)據(jù)請求,,該模塊將5個方向的數(shù)據(jù)打包成固定的格式存儲在FIFO中,。
(2)Xy_router模塊:該模塊采用XY路由算法實現(xiàn),根據(jù)目標(biāo)號和本地號判斷數(shù)據(jù)包的傳輸方向,。
(3)Arbiter模塊:該模塊采用簡單的先來先到仲裁和設(shè)定固定優(yōu)先級的仲裁機(jī)制實現(xiàn),。
(4)Cross_bar模塊:通過選擇完成數(shù)據(jù)和輸出的交叉對應(yīng),并根據(jù)輸出響應(yīng)情況發(fā)送讀數(shù)據(jù)包使能信號,。
(5)Output_ctrl模塊:該模塊完成東、西,、南,、北4個方向的輸出控制,以及本地輸出的數(shù)據(jù)包解包功能,。
多態(tài)并行處理器的數(shù)據(jù)通信機(jī)制包括近鄰?fù)ㄐ藕瓦h(yuǎn)程通信,。
(1)近鄰?fù)ㄐ艡C(jī)制
近鄰?fù)ㄐ艡C(jī)制采用共享存儲的設(shè)計思想,每個處理單元(PE)都有北,、南,、西、東4個方向的共享存儲,,每個方向有兩組存儲,,每組存儲容量為8個字。近鄰?fù)ㄐ艡C(jī)制結(jié)構(gòu)框圖如圖4所示,。
圖4 近鄰?fù)ㄐ艡C(jī)制結(jié)構(gòu)框圖
(2)遠(yuǎn)程通信機(jī)制
遠(yuǎn)程通信機(jī)制的結(jié)構(gòu)如圖5所示,。遠(yuǎn)程通信完成遠(yuǎn)程數(shù)據(jù)傳遞和函數(shù)調(diào)用兩種功能,遠(yuǎn)程數(shù)據(jù)傳遞包括PE之間點對點傳送,、PE與列控制器之間的數(shù)據(jù)傳遞兩種方式,;遠(yuǎn)程函數(shù)調(diào)用包括PE之間的遠(yuǎn)程函數(shù)調(diào)用、PE與行(簇)控制器之間的遠(yuǎn)程函數(shù)調(diào)用兩種方式。
圖5 遠(yuǎn)程通信機(jī)制結(jié)構(gòu)框圖
路由器處理的遠(yuǎn)程數(shù)據(jù)傳輸請求包括:
①遠(yuǎn)程處理器發(fā)送數(shù)據(jù),,來自遠(yuǎn)程處理器的MOVET信息包,;
②遠(yuǎn)程處理器請求發(fā)送數(shù)據(jù),來自遠(yuǎn)程處理器的MOVEF信息包,;
③列控制器發(fā)送數(shù)據(jù)請求,,來自列控制器MVT信息包;
④遠(yuǎn)程處理器發(fā)送多播請求,,來自遠(yuǎn)程處理器MVT信息包,。
路由器處理的遠(yuǎn)程函數(shù)調(diào)用請求包括:
①遠(yuǎn)程處理器發(fā)送函數(shù)調(diào)用請求,來自遠(yuǎn)程處理器CALLR信息包,;
②遠(yuǎn)程處理器返回函數(shù)調(diào)用,,來自遠(yuǎn)程處理器RETR信息包;
③行控制器和簇控制器返回函數(shù)調(diào)用,,來自行控制器RETC信息包,。
路由器相關(guān)數(shù)據(jù)包格式如表1~表6所示。
3 仿真驗證及結(jié)果分析
為了測試路由器數(shù)據(jù)通信機(jī)制,,采用System Verilog搭建包含行控制器RC,、列控制器CC、簇控制器CLC,、處理單元PE,、線程管理器TM、路由器RU的整體仿真平臺,,使用ModelSim SE 10.1c進(jìn)行仿真驗證,。
(1)近鄰?fù)ㄐ艤y試方案:選用PE10作為本地,PE06,、PE09,、PE14、PE11作為鄰接,,測試近鄰?fù)ㄐ诺臄?shù)據(jù)通路,,測試結(jié)果如圖6所示。
圖6 近鄰?fù)ㄐ欧抡鏁r序圖
從圖6可以看出,,PE06的vld2south_ch0有效,,PE09的vld2west_ch0有效,PE14的vld2north_ch0有效,,PE11的vld2east_ch0有效,,表明與PE10相鄰的4個PE分別送了一個數(shù)據(jù)給PE10進(jìn)行運算,PE10執(zhí)行乘法運算,,相乘的結(jié)果39和609分別寫回至地址20和22,,近鄰?fù)ㄐ诺墓δ苷_。
(2)遠(yuǎn)程通信測試方案:選用PE00作為本地,測試調(diào)用遠(yuǎn)程PE10函數(shù)執(zhí)行的數(shù)據(jù)通路,,測試結(jié)果如圖7所示,。
圖7 遠(yuǎn)程通信仿真時序圖
從圖7可以看出,本地PE00發(fā)出CALLR遠(yuǎn)程函數(shù)調(diào)用數(shù)據(jù)包請求給PE10,,當(dāng)PE10執(zhí)行完后返回給本地PE00一個RETR數(shù)據(jù)包,。圖中只給出了CALLR數(shù)據(jù)包通路,CALLR/RETR數(shù)據(jù)通路正常,。
綜上所述,,路由器的近鄰?fù)ㄐ藕瓦h(yuǎn)程通信的數(shù)據(jù)通路是正確的,達(dá)到了預(yù)期的功能要求,。
4 路由器性能分析
在Xilinx ISE14.4中選用型號為Virtex7 XC7V2000T-
fht1761-2的芯片對路由器進(jìn)行綜合,。FPGA綜合結(jié)果表明,本文設(shè)計的5路32 bit數(shù)據(jù)寬度的路由器綜合頻率為314.287 MHz,,高于參考文獻(xiàn)[5]中提出的5路16 bit數(shù)據(jù)寬度的路由器頻率128.8 MHz和參考文獻(xiàn)[6]提出的4路16 bit數(shù)據(jù)寬度的路由器頻率309.02 MHz,。綜合報告如下:
Timing Summary:
Speed Grade: -2
Minimum period:3.182ns(Maximum Frequency: 314.287 MHz)
Minimum input arrival time before clock: 2.409 ns
Maximum output required time after clock: 1.126 ns
Maximum combinational path delay: 0.816 ns
圖8所示給出了路由器在FPGA上的具體資源消耗狀況以及資源利用率。綜上所述,,本文所設(shè)計的路由器具有速度和面積上的優(yōu)勢,。
圖8 FPGA資源利用率
本文提出了一種適用于多態(tài)并行處理機(jī)的數(shù)據(jù)通信和路由器結(jié)構(gòu)的設(shè)計,完成了ModelSim軟件功能仿真,、Xilinx ISE14.4的綜合,,并在Virtex7 XC7V2000Tfht1761-2開發(fā)板中實現(xiàn)了驗證。該設(shè)計結(jié)合并行處理機(jī)的需求設(shè)計了近鄰?fù)ㄐ藕瓦h(yuǎn)程通信兩種通信機(jī)制,,提高了整個并行處理機(jī)的性能和資源利用率,。
參考文獻(xiàn)
[1] GRATZ P,SANKARALINGAM K,,HANSON H,et al.Imple- mentation and evaluation of adynamically routed processor operand network[J].Proceedings of First International Sym posium on Networks-on-chip,,IEEE Computer Society,,2007,23(10):7-17.
[2] 李濤,,肖靈芝.面向圖形和圖像處理的輕核陣列機(jī)結(jié)構(gòu)[J].西安郵電學(xué)院學(xué)報,,2012,17(3):43-46.
[3] 蒲林.多態(tài)并行處理器中的SIMD控制器設(shè)計與實現(xiàn)[J]. 電子技術(shù)應(yīng)用,,2013,,33(11):53-59.
[4] 李濤,楊婷,,易學(xué)淵.螢火蟲2:一種多態(tài)并行機(jī)的硬件體系結(jié)構(gòu)[J].計算機(jī)工程與科學(xué),,2014(2):191-200.
[5] 周東紅.基于3x3NoC的路由器設(shè)計與網(wǎng)絡(luò)性能分析[D].西安:西安電子科技大學(xué),2011.
[6] 林世俊,張凡,,金德鵬.分布式同步的GALS片上網(wǎng)絡(luò)及 其接口設(shè)計[J].清華大學(xué)學(xué)報,,2008,48(1):32-38.
(收稿日期:2014-05-10)
作者簡介:
?;?,男,1988年生,,碩士,,主要研究方向:專用集成電路設(shè)計與系統(tǒng)集成。
李濤,,男,,1954年生,博士,,教授,,主要研究方向:計算機(jī)體系結(jié)構(gòu)、計算機(jī)圖形學(xué),。
楊婷,,女,1989年生,,碩士,,主要研究方向:計算機(jī)系統(tǒng)結(jié)構(gòu)與VLSI。