论文部分内容阅读
摘 要: 多芯片协同工作是一种廉价、低风险的高密度计算应用解决方案。由于片上网络(Network On Chip, NoC)的数据通讯具有并发、分离的特性,因此可以方便地在板级集成多块NoC多核芯片协同工作,构成NoC多核芯片组,快速提供更强大的处理能力。基于某高性能图像处理项目,其硬件系统主要由4块NoC多核芯片构成,4块芯片采用全互连方式,研究了报文数据在不同多核芯片间的传输问题,提出了一种通过硬件实现的多核芯片组通讯方案,该方案已应用在某高性能图像处理项目。
关键词: 片上网络; 多核芯片组; 通信; 多处理器
中图分类号:TP303 文献标志码:A 文章编号: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 引言
由于人们对复杂应用的无限渴求,需要计算能力更强的硬件系统提供支持。考虑到单块芯片能够提供的计算资源有限,而重新设计功能更强的芯片将使项目成本急剧增加,风险巨大。因此多芯片协同工作就成为一种廉价、低风险的应用解决方案。
片上网络(Network on Chip,NoC)[1-2] 将处理单元和存储单元作为节点组件连接到NoC上,能够提供高带宽、低延迟和低功耗的片上通讯,是一种高效的片上互连通讯技术。由于NoC具有分离的通讯节点,因而可以很方便地将多块NoC多核芯片集成在一块电路板上协同工作,构成NoC多核芯片组,快速地构建起一个强大的计算系统。
本文基于某高性能图像处理项目,其硬件系统主要由4块NoC多核芯片构成,4块芯片采用全互连的互连方式。针对报文数据在不同多核芯片间的传输问题,本文提出了一种硬件实现的多核芯片组通讯方案。
1 平台及问题描述
成熟的处理器芯片互连技术有很多,如PCI、PCI-X[3]、PCI-Express[4]总线,以太网,以及现在广泛使用的Rapid IO[5]等,这些互连技术功能完善,但协议以及接口电路设计较复杂。
[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多核芯片组示意图
本项目中4块NoC多核芯片集成在一块背板中,构成NoC多核芯片组。为了简化板级互连协议及接口电路设计,每块NoC芯片集成了3个高速串行收发器组(high speed serial transceivers,HSSTs),实现具有全互连通讯结构的NoC多核芯片组系统,如图1所示。其中PU(processor unit)表示片上网络中计算节点,由处理核和路由器组成。芯片组间的通讯均为点对点通讯,协议简单。
基于NoC的多核芯片组利用报文实现不同资源节点间的数据交换,而由于不同多核芯片的网络坐标独立编码,因此不论采用何种芯片互连方式,当报文跨越不同多核芯片传输时,需要一种简单易实现的路由地址变换方法,确保报文头切片的正确传输。
2 路由地址变换方法
本文提出一种简单易实现的路由地址变换方法,以解决报文在不同的NoC多核芯片间传输的问题。图2为头切片在不同子系统间传输过程。报文头切片的路由地址信息域由三部分组成,分别为源节点坐标、目的节点坐标和循环移位步幅。源节点坐标只有一个,目的节点坐标的数目由报文流经的NoC多核芯片个数决定。以图2为例,报文需要从坐标为12的源节点流经chip0、chip1,最终到达chip2中坐标为21的目的节点。整个传输过程中,报文共流经3个NoC多核芯片,相应的头切片应包含3个目的节点坐标。路由器固定读取目的节点1的坐标完成路由计算。循环移位步幅由报文需要流经的NoC多核芯片个数决定,并且每通过一个NoC多核芯片该值减1。 片间互连单元完成报文头切片的路由地址变换操作,由输出模块和输入模块组成。输出模块根据循环移位步幅对头切片的路由地址做循环移位操作,并且将循环移位步幅减1。例如在Step1,循环移位步幅为3,源节点坐标、目的节点坐标1、目的节点坐标2和目的节点坐标3执行步幅为3的循环移位操作,并且循环移位步幅由3减为2;在Step3,循环移位步幅为2,源节点坐标、目的节点坐标1和目的节点坐标2执行步幅为2的循环移位操作,目的节点坐标3不参加循环移位操作,并且循环移位步幅由2减为1。输入模块使用所在片上网络的节点坐标替换头切片中源节点坐标。例如,在Step2,chip1的互连单元坐标00替换此时头切片源节点坐标30;在Step4,chip2的互连单元的坐标03替换此时头切片源节点坐标33。
该路由器地址变换方案简单且易于硬件实现,不需要软件支持,并且该方案具有普适性,不受NoC多核芯片的数量、拓扑结构和路由算法限制。对于拓扑结构不同、路由算法不同的NoC多核芯片间通讯同样适用。
3 通讯模块设计
图3所示为NoC多核芯片组的片间通讯模块。NoC多核芯片采用Xilinx Virtex 6 FPGA设计,通过调用Aurora流模式的IP核实现芯片间互连。
图3 片间通讯模块设计
Aurora协议由Xilinx开发,使用一个或多个高速的串行通道构成更高速的通路。本文的设计中,每个通讯模块包含四组高速串行收发器,可提供10Gbs的传输带宽。
Aurora协议简单,只控制链路层和物理层,支持用户自定义协议。片间互连单元完成NoC协议与Aurora协议间的转化,同时该模块还完成报文头切片路由地址的变换。
4 结束语
本文基于某高性能图像处理项目,采用4块NoC多核芯片构成NoC多核芯片组,实现了图像处理算法的快速处理。针对NoC多核芯片组中的报文传输问题,本文提出了一种硬件实现的多核芯片组通讯方案,重点解决了报文头切片在不同NoC多核芯片间传输过程中的路由地址变换问题。
参考文献:
[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体系结构导读[M].机械工业出版社,2010.
[5] M.Sam. RapidIO: The Embedded System Interconnect [M]. wiley,
2005.
关键词: 片上网络; 多核芯片组; 通信; 多处理器
中图分类号:TP303 文献标志码:A 文章编号: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 引言
由于人们对复杂应用的无限渴求,需要计算能力更强的硬件系统提供支持。考虑到单块芯片能够提供的计算资源有限,而重新设计功能更强的芯片将使项目成本急剧增加,风险巨大。因此多芯片协同工作就成为一种廉价、低风险的应用解决方案。
片上网络(Network on Chip,NoC)[1-2] 将处理单元和存储单元作为节点组件连接到NoC上,能够提供高带宽、低延迟和低功耗的片上通讯,是一种高效的片上互连通讯技术。由于NoC具有分离的通讯节点,因而可以很方便地将多块NoC多核芯片集成在一块电路板上协同工作,构成NoC多核芯片组,快速地构建起一个强大的计算系统。
本文基于某高性能图像处理项目,其硬件系统主要由4块NoC多核芯片构成,4块芯片采用全互连的互连方式。针对报文数据在不同多核芯片间的传输问题,本文提出了一种硬件实现的多核芯片组通讯方案。
1 平台及问题描述
成熟的处理器芯片互连技术有很多,如PCI、PCI-X[3]、PCI-Express[4]总线,以太网,以及现在广泛使用的Rapid IO[5]等,这些互连技术功能完善,但协议以及接口电路设计较复杂。
[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多核芯片组示意图
本项目中4块NoC多核芯片集成在一块背板中,构成NoC多核芯片组。为了简化板级互连协议及接口电路设计,每块NoC芯片集成了3个高速串行收发器组(high speed serial transceivers,HSSTs),实现具有全互连通讯结构的NoC多核芯片组系统,如图1所示。其中PU(processor unit)表示片上网络中计算节点,由处理核和路由器组成。芯片组间的通讯均为点对点通讯,协议简单。
基于NoC的多核芯片组利用报文实现不同资源节点间的数据交换,而由于不同多核芯片的网络坐标独立编码,因此不论采用何种芯片互连方式,当报文跨越不同多核芯片传输时,需要一种简单易实现的路由地址变换方法,确保报文头切片的正确传输。
2 路由地址变换方法
本文提出一种简单易实现的路由地址变换方法,以解决报文在不同的NoC多核芯片间传输的问题。图2为头切片在不同子系统间传输过程。报文头切片的路由地址信息域由三部分组成,分别为源节点坐标、目的节点坐标和循环移位步幅。源节点坐标只有一个,目的节点坐标的数目由报文流经的NoC多核芯片个数决定。以图2为例,报文需要从坐标为12的源节点流经chip0、chip1,最终到达chip2中坐标为21的目的节点。整个传输过程中,报文共流经3个NoC多核芯片,相应的头切片应包含3个目的节点坐标。路由器固定读取目的节点1的坐标完成路由计算。循环移位步幅由报文需要流经的NoC多核芯片个数决定,并且每通过一个NoC多核芯片该值减1。 片间互连单元完成报文头切片的路由地址变换操作,由输出模块和输入模块组成。输出模块根据循环移位步幅对头切片的路由地址做循环移位操作,并且将循环移位步幅减1。例如在Step1,循环移位步幅为3,源节点坐标、目的节点坐标1、目的节点坐标2和目的节点坐标3执行步幅为3的循环移位操作,并且循环移位步幅由3减为2;在Step3,循环移位步幅为2,源节点坐标、目的节点坐标1和目的节点坐标2执行步幅为2的循环移位操作,目的节点坐标3不参加循环移位操作,并且循环移位步幅由2减为1。输入模块使用所在片上网络的节点坐标替换头切片中源节点坐标。例如,在Step2,chip1的互连单元坐标00替换此时头切片源节点坐标30;在Step4,chip2的互连单元的坐标03替换此时头切片源节点坐标33。
该路由器地址变换方案简单且易于硬件实现,不需要软件支持,并且该方案具有普适性,不受NoC多核芯片的数量、拓扑结构和路由算法限制。对于拓扑结构不同、路由算法不同的NoC多核芯片间通讯同样适用。
3 通讯模块设计
图3所示为NoC多核芯片组的片间通讯模块。NoC多核芯片采用Xilinx Virtex 6 FPGA设计,通过调用Aurora流模式的IP核实现芯片间互连。
图3 片间通讯模块设计
Aurora协议由Xilinx开发,使用一个或多个高速的串行通道构成更高速的通路。本文的设计中,每个通讯模块包含四组高速串行收发器,可提供10Gbs的传输带宽。
Aurora协议简单,只控制链路层和物理层,支持用户自定义协议。片间互连单元完成NoC协议与Aurora协议间的转化,同时该模块还完成报文头切片路由地址的变换。
4 结束语
本文基于某高性能图像处理项目,采用4块NoC多核芯片构成NoC多核芯片组,实现了图像处理算法的快速处理。针对NoC多核芯片组中的报文传输问题,本文提出了一种硬件实现的多核芯片组通讯方案,重点解决了报文头切片在不同NoC多核芯片间传输过程中的路由地址变换问题。
参考文献:
[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体系结构导读[M].机械工业出版社,2010.
[5] M.Sam. RapidIO: The Embedded System Interconnect [M]. wiley,
2005.