《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信与网络 > 设计应用 > 多态并行处理器的数据通信和路由器的设计
多态并行处理器的数据通信和路由器的设计
来源:电子技术应用2014年第8期
海 虎,李 涛,韩俊刚,杨 婷
(1.西安邮电大学 电子工程学院,陕西 西安710061; 2.西安邮电大学 计算机学院,陕西 西安
摘要: 随着多核技术的发展,核间通信问题面临新的挑战,核间通信性能决定了整个多核处理器的性能。通过分析多核处理器的数据通信需求,提出了一种适用于多态并行处理器的数据通信结构。该结构采用邻接共享寄存器实现的核间近邻通信和路由器硬件加速结构实现的远程通信两种数据通信方式,远程通信机制的路由器使用输入缓存机制实现,采用经典的确定性路由算法——XY路由算法实现了路由计算,加入多播和容错技术,采用专用的仲裁机制简化了设计复杂度。这些改进降低了处理器的核间通信延迟和功耗,提高了多态并行处理器的性能。
中圖分類號(hào): TN492
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)08-0038-03
Design of a polymorphic parallel processor data communication and router
Hai Hu1,Li Tao2,3,Han Jungang2,3,Yang Ting2
1.School of Electronic Engineering, Xi′an University of Posts and Telecommunications,Xi′an 710061,China;2.School of Computer,Xi′an University of Posts and Telecommunications,Xi′an 710061,China;3.Shaanxi Provincial Research Center for Telecommunication ASIC Design,Xi′an 710061,China
Abstract: With the developing of multi-core technology,inter-core communication faces new challenges.Communication between cores determines the performance of the multi-core processors. By analyzing the data communications needs of multi-core processors,this paper designs a data communication structure for a polymorphic parallel processor. This structure uses two types of data communication, adjacent neighbor communication using shared registers and remote communication using router hardware.The main remote communication mechanism has input buffers,and employs the classical deterministic XY routing algorithm to achieve route calculation. It is able to do multicasting with fault tolerance capability.It adopts a specialized arbitration scheme to simplify design complexity. This improved architecture reduces the delay of inter-core communication and cuts the power consumption.It also improves the efficiency of communication between the processor core.
Key words : multi-core technology;communication between multi-core;router;multicast

    隨著半導(dǎo)體工藝技術(shù)的不斷革新,功耗、存儲(chǔ)、頻率等技術(shù)瓶頸問(wèn)題越來(lái)越突出,單核處理器已經(jīng)很難繼續(xù)通過(guò)提高時(shí)鐘頻率的方式來(lái)提高自身的性能。單核處理器在提高主頻的同時(shí)也帶來(lái)了功耗和發(fā)熱量的問(wèn)題。在這樣的背景下多核并行處理器應(yīng)運(yùn)而生并且得到了快速發(fā)展。在這個(gè)過(guò)程中,設(shè)計(jì)的復(fù)雜度和核間通信的線延遲[1]成為了當(dāng)前多核并行處理器設(shè)計(jì)的核心問(wèn)題。多核并行處理器的各個(gè)核獨(dú)立執(zhí)行各自的程序,但各個(gè)核之間需要進(jìn)行數(shù)據(jù)傳遞,路由器作為片上通信結(jié)構(gòu)的核心部件,其設(shè)計(jì)性能直接影響整個(gè)片上網(wǎng)絡(luò)的處理效率。本文基于多態(tài)并行處理器功耗和結(jié)構(gòu)復(fù)雜度要求設(shè)計(jì)了近鄰?fù)ㄐ藕瓦h(yuǎn)程通信兩種通信機(jī)制,并對(duì)所設(shè)計(jì)的路由器進(jìn)行了功能仿真和FPGA綜合。

1 多態(tài)并行處理機(jī)結(jié)構(gòu)

    本文提出的多態(tài)并行處理器的處理單元具有單指令多數(shù)據(jù)(SIMD)和多指令多數(shù)據(jù)(MIMD)兩種運(yùn)行模式[2-3]。該結(jié)構(gòu)兼有硬件的多線程管理和高效的數(shù)據(jù)通信機(jī)制。多態(tài)并行處理機(jī)結(jié)構(gòu)如圖1所示。

圖1  多態(tài)并行處理機(jī)結(jié)構(gòu)框圖

 

每個(gè)處理器核[4]由算術(shù)邏輯運(yùn)算器ALU、線程管理器控制器TM、路由器RU(Router Unit)、鄰接共享存儲(chǔ)(Mn、Ms、Mw、Me)、數(shù)據(jù)存儲(chǔ)D-men(Data Memory)和指令存儲(chǔ)I-men(Instruction Memory)組成,每個(gè)基本處理單元如圖2所示。

圖2  基本處理器單元結(jié)構(gòu)

2 設(shè)計(jì)與實(shí)現(xiàn)

    路由器的整體結(jié)構(gòu)如圖3所示。路由器可連接?xùn)|、西、南、北4個(gè)方向的路由器和本地PE。

圖3  路由器整體結(jié)構(gòu)框圖

 

    (1)Input_ctrl模塊:分別接收來(lái)自北、南、西、東、本地5個(gè)方向的數(shù)據(jù)請(qǐng)求,該模塊將5個(gè)方向的數(shù)據(jù)打包成固定的格式存儲(chǔ)在FIFO中。

    (2)Xy_router模塊:該模塊采用XY路由算法實(shí)現(xiàn),根據(jù)目標(biāo)號(hào)和本地號(hào)判斷數(shù)據(jù)包的傳輸方向。

    (3)Arbiter模塊:該模塊采用簡(jiǎn)單的先來(lái)先到仲裁和設(shè)定固定優(yōu)先級(jí)的仲裁機(jī)制實(shí)現(xiàn)。

    (4)Cross_bar模塊:通過(guò)選擇完成數(shù)據(jù)和輸出的交叉對(duì)應(yīng),并根據(jù)輸出響應(yīng)情況發(fā)送讀數(shù)據(jù)包使能信號(hào)。

    (5)Output_ctrl模塊:該模塊完成東、西、南、北4個(gè)方向的輸出控制,以及本地輸出的數(shù)據(jù)包解包功能。

多態(tài)并行處理器的數(shù)據(jù)通信機(jī)制包括近鄰?fù)ㄐ藕瓦h(yuǎn)程通信。

    (1)近鄰?fù)ㄐ艡C(jī)制

    近鄰?fù)ㄐ艡C(jī)制采用共享存儲(chǔ)的設(shè)計(jì)思想,每個(gè)處理單元(PE)都有北、南、西、東4個(gè)方向的共享存儲(chǔ),每個(gè)方向有兩組存儲(chǔ),每組存儲(chǔ)容量為8個(gè)字。近鄰?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之間點(diǎn)對(duì)點(diǎn)傳送、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ù)傳輸請(qǐng)求包括:

    ①遠(yuǎn)程處理器發(fā)送數(shù)據(jù),來(lái)自遠(yuǎn)程處理器的MOVET信息包;

    ②遠(yuǎn)程處理器請(qǐng)求發(fā)送數(shù)據(jù),來(lái)自遠(yuǎn)程處理器的MOVEF信息包;

    ③列控制器發(fā)送數(shù)據(jù)請(qǐng)求,來(lái)自列控制器MVT信息包;

    ④遠(yuǎn)程處理器發(fā)送多播請(qǐng)求,來(lái)自遠(yuǎn)程處理器MVT信息包。

    路由器處理的遠(yuǎn)程函數(shù)調(diào)用請(qǐng)求包括:

    ①遠(yuǎn)程處理器發(fā)送函數(shù)調(diào)用請(qǐng)求,來(lái)自遠(yuǎn)程處理器CALLR信息包;

    ②遠(yuǎn)程處理器返回函數(shù)調(diào)用,來(lái)自遠(yuǎn)程處理器RETR信息包;

    ③行控制器和簇控制器返回函數(shù)調(diào)用,來(lái)自行控制器RETC信息包。

路由器相關(guān)數(shù)據(jù)包格式如表1~表6所示。

3 仿真驗(yàn)證及結(jié)果分析

    為了測(cè)試路由器數(shù)據(jù)通信機(jī)制,采用System Verilog搭建包含行控制器RC、列控制器CC、簇控制器CLC、處理單元PE、線程管理器TM、路由器RU的整體仿真平臺(tái),使用ModelSim SE 10.1c進(jìn)行仿真驗(yàn)證。

    (1)近鄰?fù)ㄐ艤y(cè)試方案:選用PE10作為本地,PE06、PE09、PE14、PE11作為鄰接,測(cè)試近鄰?fù)ㄐ诺臄?shù)據(jù)通路,測(cè)試結(jié)果如圖6所示。

圖6  近鄰?fù)ㄐ欧抡鏁r(shí)序圖

從圖6可以看出,PE06的vld2south_ch0有效,PE09的vld2west_ch0有效,PE14的vld2north_ch0有效,PE11的vld2east_ch0有效,表明與PE10相鄰的4個(gè)PE分別送了一個(gè)數(shù)據(jù)給PE10進(jìn)行運(yùn)算,PE10執(zhí)行乘法運(yùn)算,相乘的結(jié)果39和609分別寫(xiě)回至地址20和22,近鄰?fù)ㄐ诺墓δ苷_。

    (2)遠(yuǎn)程通信測(cè)試方案:選用PE00作為本地,測(cè)試調(diào)用遠(yuǎn)程PE10函數(shù)執(zhí)行的數(shù)據(jù)通路,測(cè)試結(jié)果如圖7所示。

圖7  遠(yuǎn)程通信仿真時(shí)序圖

從圖7可以看出,本地PE00發(fā)出CALLR遠(yuǎn)程函數(shù)調(diào)用數(shù)據(jù)包請(qǐng)求給PE10,當(dāng)PE10執(zhí)行完后返回給本地PE00一個(gè)RETR數(shù)據(jù)包。圖中只給出了CALLR數(shù)據(jù)包通路,CALLR/RETR數(shù)據(jù)通路正常。

綜上所述,路由器的近鄰?fù)ㄐ藕瓦h(yuǎn)程通信的數(shù)據(jù)通路是正確的,達(dá)到了預(yù)期的功能要求。

4 路由器性能分析

    在Xilinx ISE14.4中選用型號(hào)為Virtex7 XC7V2000T-

fht1761-2的芯片對(duì)路由器進(jìn)行綜合。FPGA綜合結(jié)果表明,本文設(shè)計(jì)的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。綜合報(bào)告如下:

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è)計(jì)的路由器具有速度和面積上的優(yōu)勢(shì)。

圖8  FPGA資源利用率

    本文提出了一種適用于多態(tài)并行處理機(jī)的數(shù)據(jù)通信和路由器結(jié)構(gòu)的設(shè)計(jì),完成了ModelSim軟件功能仿真、Xilinx ISE14.4的綜合,并在Virtex7 XC7V2000Tfht1761-2開(kāi)發(fā)板中實(shí)現(xiàn)了驗(yàn)證。該設(shè)計(jì)結(jié)合并行處理機(jī)的需求設(shè)計(jì)了近鄰?fù)ㄐ藕瓦h(yuǎn)程通信兩種通信機(jī)制,提高了整個(gè)并行處理機(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é)報(bào),2012,17(3):43-46.

[3] 蒲林.多態(tài)并行處理器中的SIMD控制器設(shè)計(jì)與實(shí)現(xiàn)[J].  電子技術(shù)應(yīng)用,2013,33(11):53-59.

[4] 李濤,楊婷,易學(xué)淵.螢火蟲(chóng)2:一種多態(tài)并行機(jī)的硬件體系結(jié)構(gòu)[J].計(jì)算機(jī)工程與科學(xué),2014(2):191-200.

[5] 周東紅.基于3x3NoC的路由器設(shè)計(jì)與網(wǎng)絡(luò)性能分析[D].西安:西安電子科技大學(xué),2011.

[6] 林世俊,張凡,金德鵬.分布式同步的GALS片上網(wǎng)絡(luò)及 其接口設(shè)計(jì)[J].清華大學(xué)學(xué)報(bào),2008,48(1):32-38.

                                                                                                                                 (收稿日期:2014-05-10)  

作者簡(jiǎn)介:

?;?,男,1988年生,碩士,主要研究方向:專用集成電路設(shè)計(jì)與系統(tǒng)集成。

李濤,男,1954年生,博士,教授,主要研究方向:計(jì)算機(jī)體系結(jié)構(gòu)、計(jì)算機(jī)圖形學(xué)。

楊婷,女,1989年生,碩士,主要研究方向:計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)與VLSI。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。