侯寧 盧亞鵬 張多利
摘 要: 多芯片協(xié)同工作是一種廉價(jià)、低風(fēng)險(xiǎn)的高密度計(jì)算應(yīng)用解決方案。由于片上網(wǎng)絡(luò)(Network On Chip, NoC)的數(shù)據(jù)通訊具有并發(fā)、分離的特性,因此可以方便地在板級(jí)集成多塊NoC多核芯片協(xié)同工作,構(gòu)成NoC多核芯片組,快速提供更強(qiáng)大的處理能力?;谀掣咝阅軋D像處理項(xiàng)目,其硬件系統(tǒng)主要由4塊NoC多核芯片構(gòu)成,4塊芯片采用全互連方式,研究了報(bào)文數(shù)據(jù)在不同多核芯片間的傳輸問(wèn)題,提出了一種通過(guò)硬件實(shí)現(xiàn)的多核芯片組通訊方案,該方案已應(yīng)用在某高性能圖像處理項(xiàng)目。
關(guān)鍵詞: 片上網(wǎng)絡(luò); 多核芯片組; 通信; 多處理器
中圖分類號(hào):TP303 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2014)10-17-02
Communication solution of multi-core chipset based on NoC
Hou Ning1,2, Lu Yapeng1, Zhang Duoli2
(1. Henan University of Urban Construction, Pingdingshan, Henan 467000, China; 2. The Institute of VLSI Design, Hefei University of Technology)
Abstract: The Network-on-Chip (NoC) is a promising technique for the on-chip interconnection. The data transfer of NoC is unattached and simultaneous. Several NoC multi-core chips which cooperate with each other, called NoC chipset, set up a powerful computing system. In this paper, a communication solution is proposed, which solve the problem of the packet transfer between different multi-core chips.
Key words: network on chip; multi-core chipset; communication; multiprocessor
0 引言
由于人們對(duì)復(fù)雜應(yīng)用的無(wú)限渴求,需要計(jì)算能力更強(qiáng)的硬件系統(tǒng)提供支持??紤]到單塊芯片能夠提供的計(jì)算資源有限,而重新設(shè)計(jì)功能更強(qiáng)的芯片將使項(xiàng)目成本急劇增加,風(fēng)險(xiǎn)巨大。因此多芯片協(xié)同工作就成為一種廉價(jià)、低風(fēng)險(xiǎn)的應(yīng)用解決方案。
片上網(wǎng)絡(luò)(Network on Chip,NoC)[1-2] 將處理單元和存儲(chǔ)單元作為節(jié)點(diǎn)組件連接到NoC上,能夠提供高帶寬、低延遲和低功耗的片上通訊,是一種高效的片上互連通訊技術(shù)。由于NoC具有分離的通訊節(jié)點(diǎn),因而可以很方便地將多塊NoC多核芯片集成在一塊電路板上協(xié)同工作,構(gòu)成NoC多核芯片組,快速地構(gòu)建起一個(gè)強(qiáng)大的計(jì)算系統(tǒng)。
本文基于某高性能圖像處理項(xiàng)目,其硬件系統(tǒng)主要由4塊NoC多核芯片構(gòu)成,4塊芯片采用全互連的互連方式。針對(duì)報(bào)文數(shù)據(jù)在不同多核芯片間的傳輸問(wèn)題,本文提出了一種硬件實(shí)現(xiàn)的多核芯片組通訊方案。
1 平臺(tái)及問(wèn)題描述
成熟的處理器芯片互連技術(shù)有很多,如PCI、PCI-X[3]、PCI-Express[4]總線,以太網(wǎng),以及現(xiàn)在廣泛使用的Rapid IO[5]等,這些互連技術(shù)功能完善,但協(xié)議以及接口電路設(shè)計(jì)較復(fù)雜。
[PU\&\&PU\&\&PU\&\&\&\&PU\&PU\&HSSTs\&\&\&\&PU\&HSSTs\&HSSTs\&][Chip0] [PU\&\&PU\&\&PU\&\&\&\&HSSTs\&PU\&PU\&\&\&\&HSSTs\&HSSTs\&PU\&][Chip1] [PU\&\&HSSTs\&\&HSSTs\&\&\&\&PU\&PU\&HSSTs\&\&\&\&PU\&PU\&PU\&][Chip2] [HSSTs\&\&HSSTs\&\&PU\&\&\&\&HSSTs\&PU\&PU\&\&\&\&PU\&PU\&PU\&][Chip3]
圖1 NoC多核芯片組示意圖
本項(xiàng)目中4塊NoC多核芯片集成在一塊背板中,構(gòu)成NoC多核芯片組。為了簡(jiǎn)化板級(jí)互連協(xié)議及接口電路設(shè)計(jì),每塊NoC芯片集成了3個(gè)高速串行收發(fā)器組(high speed serial transceivers,HSSTs),實(shí)現(xiàn)具有全互連通訊結(jié)構(gòu)的NoC多核芯片組系統(tǒng),如圖1所示。其中PU(processor unit)表示片上網(wǎng)絡(luò)中計(jì)算節(jié)點(diǎn),由處理核和路由器組成。芯片組間的通訊均為點(diǎn)對(duì)點(diǎn)通訊,協(xié)議簡(jiǎn)單。
基于NoC的多核芯片組利用報(bào)文實(shí)現(xiàn)不同資源節(jié)點(diǎn)間的數(shù)據(jù)交換,而由于不同多核芯片的網(wǎng)絡(luò)坐標(biāo)獨(dú)立編碼,因此不論采用何種芯片互連方式,當(dāng)報(bào)文跨越不同多核芯片傳輸時(shí),需要一種簡(jiǎn)單易實(shí)現(xiàn)的路由地址變換方法,確保報(bào)文頭切片的正確傳輸。
2 路由地址變換方法
本文提出一種簡(jiǎn)單易實(shí)現(xiàn)的路由地址變換方法,以解決報(bào)文在不同的NoC多核芯片間傳輸?shù)膯?wèn)題。圖2為頭切片在不同子系統(tǒng)間傳輸過(guò)程。報(bào)文頭切片的路由地址信息域由三部分組成,分別為源節(jié)點(diǎn)坐標(biāo)、目的節(jié)點(diǎn)坐標(biāo)和循環(huán)移位步幅。源節(jié)點(diǎn)坐標(biāo)只有一個(gè),目的節(jié)點(diǎn)坐標(biāo)的數(shù)目由報(bào)文流經(jīng)的NoC多核芯片個(gè)數(shù)決定。以圖2為例,報(bào)文需要從坐標(biāo)為12的源節(jié)點(diǎn)流經(jīng)chip0、chip1,最終到達(dá)chip2中坐標(biāo)為21的目的節(jié)點(diǎn)。整個(gè)傳輸過(guò)程中,報(bào)文共流經(jīng)3個(gè)NoC多核芯片,相應(yīng)的頭切片應(yīng)包含3個(gè)目的節(jié)點(diǎn)坐標(biāo)。路由器固定讀取目的節(jié)點(diǎn)1的坐標(biāo)完成路由計(jì)算。循環(huán)移位步幅由報(bào)文需要流經(jīng)的NoC多核芯片個(gè)數(shù)決定,并且每通過(guò)一個(gè)NoC多核芯片該值減1。
片間互連單元完成報(bào)文頭切片的路由地址變換操作,由輸出模塊和輸入模塊組成。輸出模塊根據(jù)循環(huán)移位步幅對(duì)頭切片的路由地址做循環(huán)移位操作,并且將循環(huán)移位步幅減1。例如在Step1,循環(huán)移位步幅為3,源節(jié)點(diǎn)坐標(biāo)、目的節(jié)點(diǎn)坐標(biāo)1、目的節(jié)點(diǎn)坐標(biāo)2和目的節(jié)點(diǎn)坐標(biāo)3執(zhí)行步幅為3的循環(huán)移位操作,并且循環(huán)移位步幅由3減為2;在Step3,循環(huán)移位步幅為2,源節(jié)點(diǎn)坐標(biāo)、目的節(jié)點(diǎn)坐標(biāo)1和目的節(jié)點(diǎn)坐標(biāo)2執(zhí)行步幅為2的循環(huán)移位操作,目的節(jié)點(diǎn)坐標(biāo)3不參加循環(huán)移位操作,并且循環(huán)移位步幅由2減為1。輸入模塊使用所在片上網(wǎng)絡(luò)的節(jié)點(diǎn)坐標(biāo)替換頭切片中源節(jié)點(diǎn)坐標(biāo)。例如,在Step2,chip1的互連單元坐標(biāo)00替換此時(shí)頭切片源節(jié)點(diǎn)坐標(biāo)30;在Step4,chip2的互連單元的坐標(biāo)03替換此時(shí)頭切片源節(jié)點(diǎn)坐標(biāo)33。
該路由器地址變換方案簡(jiǎn)單且易于硬件實(shí)現(xiàn),不需要軟件支持,并且該方案具有普適性,不受NoC多核芯片的數(shù)量、拓?fù)浣Y(jié)構(gòu)和路由算法限制。對(duì)于拓?fù)浣Y(jié)構(gòu)不同、路由算法不同的NoC多核芯片間通訊同樣適用。
3 通訊模塊設(shè)計(jì)
圖3所示為NoC多核芯片組的片間通訊模塊。NoC多核芯片采用Xilinx Virtex 6 FPGA設(shè)計(jì),通過(guò)調(diào)用Aurora流模式的IP核實(shí)現(xiàn)芯片間互連。
圖3 片間通訊模塊設(shè)計(jì)
Aurora協(xié)議由Xilinx開(kāi)發(fā),使用一個(gè)或多個(gè)高速的串行通道構(gòu)成更高速的通路。本文的設(shè)計(jì)中,每個(gè)通訊模塊包含四組高速串行收發(fā)器,可提供10Gbs的傳輸帶寬。
Aurora協(xié)議簡(jiǎn)單,只控制鏈路層和物理層,支持用戶自定義協(xié)議。片間互連單元完成NoC協(xié)議與Aurora協(xié)議間的轉(zhuǎn)化,同時(shí)該模塊還完成報(bào)文頭切片路由地址的變換。
4 結(jié)束語(yǔ)
本文基于某高性能圖像處理項(xiàng)目,采用4塊NoC多核芯片構(gòu)成NoC多核芯片組,實(shí)現(xiàn)了圖像處理算法的快速處理。針對(duì)NoC多核芯片組中的報(bào)文傳輸問(wèn)題,本文提出了一種硬件實(shí)現(xiàn)的多核芯片組通訊方案,重點(diǎn)解決了報(bào)文頭切片在不同NoC多核芯片間傳輸過(guò)程中的路由地址變換問(wèn)題。
參考文獻(xiàn):
[1] Hemani, A. Jantsch, S. Kumar, et al. Network on chip: An
architecture for billion transistor era [C]. In Proceedings of the IEEE NorChip conference,2000.
[2] L. Benini, G. De Micheli. Networks on chip: a new SoC paradigm
[J]. IEEE Computer, vol. 35, no. 1,2002.
[3] MindShare. Inc, Tom.S. PCI-X system Achitecture[M].
Addison-Wesley Professional,2001.
[4] 王奇.PCI Express體系結(jié)構(gòu)導(dǎo)讀[M].機(jī)械工業(yè)出版社,2010.
[5] M.Sam. RapidIO: The Embedded System Interconnect [M]. wiley,
2005.