首页 > 范文大全 > 正文

一种面向多核处理器的2 GHz片上网络通信单元

开篇:润墨网以专业的文秘视角,为您筛选了一篇一种面向多核处理器的2 GHz片上网络通信单元范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:提出了一种面向多核处理器的2 ghz片上网络通信单元设计方案,通信单元能够在45 nm工艺下达到2 GHz的工作频率,流水线级数为2,最多支持8个双向通信接口,每个端口单向峰值带宽32 GBps.构建了一种16核处理器片上网络测试环境,测试结果表明:使用提出的通信单元构建的片上网络能够满足16核处理器存储系统对网络带宽的要求,在对访存优化的情况下,聚合带宽能够随着处理器核心与线程的增加而线性增加.另外,通信单元还具有可重用的特性,能够通过优化与扩展进一步应用于众核处理器片上网络.研究成果已成功应用于某国产16核高性能微处理器,片上网络实测频率达到2 GHz.

关键词:多核处理器;片上网络;通信单元

中图分类号:TP332 文献标识码:A

A 2 GHz Network-on-chip Communication Unit

for Multi-core Microprocessors

ZHOU Hong-wei1, ZHANG Li-xia2, DOU Qiang1, LI Yong-jin1, YAN Xiao-bo1, ZHANG Ying1

(1.College of Computer, National Univ of Defense Technology, Changsha, Hunan 410073, China;

2. College of Information Science and Engineering, Central South Univ, Changsha, Hunan 410083, China)

Abstract: A 2 GHz network-on-chip communication unit for multi-core microprocessors was proposed. A 2 GHz frequency in 45nm process technology can be reached and the pipeline stage is 2. There are eight bi-direction communication ports totally and the peak bandwidth is 32 GBps in each port. A test environment for network-on-chip which supports 16 high-performance processor cores was built. The test results show that network-on-chip constructed by the proposed communication unit can meet the requirements of network bandwidth by 16-core processor storage system. In the case that memory access is optimized, the aggregate bandwidth can be increased linearly with the number of the processor and thread increase. In addition, the communication unit has reusable features and can continue to be used for network-on-chip in many-core processor when it will be optimized and expanded in future. The idea of this paper has been used successfully in one of self-designed 16-core high performance microprocessors. The frequency of network-on-chip logic has been reached to 2 GHz.

Key words: multi-core processor; network-on-chip; communication unit

目前主流的多核处理器一般集成4~16个处理器核心,采用片上多处理器(Chip Multiprocessors,CMP)体系结构.多核处理器通常以总线、环和交叉开关作为片上互连网络拓扑结构,当核数较少时,处理器内部数据通信的要求基本能够得到满足.由于总线能够连接的结点数与工作频率和总线接口电路的速度、驱动能力、总线长度以及负载有关,所以一般适用于对通信能力要求不高且规模较小的片上网络,斯坦福大学的Hydra[1]多核处理器就是采用总线进行片上互连的典型实例.交叉开关具有选址方便、控制简单的优点,但是所需的设备量大,通路的利用率较低,因此一般适用于对通信能力要求较高的片上网络.Sun UltraSPARC T2[2], Fujitsu SPARC64 VIIIFx[3]和IBM Cyclops64[4]等处理器均采用交叉开关进行片上互连.环网能够支持相邻结点间并行通信,具有比总线更高的网络带宽,比交叉开关更少的设备量,主要用于有一定的通信能力要求且规模中等的片上网络,例如SONY CELL处理器[5]和ARM Cortex A15[6]处理器等采用环网进行片上互连.二维mesh互连网络具有结点度高、可靠性好和易大规模实现等特点,通常用于构建规模较大的片上互连网络,使用该互连网络的多核或众核处理器有RAW[7]和Tile64[8]等.随着片上集成的处理器核数目越来越多,处理器核之间的通信距离不对称、全局通信跳步数多、延迟大,二维mesh互连网络也遇到了性能和功耗可扩展性瓶颈,必须减少片上网络的通信开销.对于并行应用,其通信必须尽量被限制在少量的临近处理器核(结点簇)之间,具有簇内通信密集、但簇间通信稀疏的特性.

近年来,针对数据局部化通信特性进行片上网络拓扑结构优化成为多核处理器片上网络研究的热点.目前提出的优化的片上网络拓扑结构有集中式mesh(Concentrated mesh,Cmesh)[9],展平butterfly (flattened butterfly, fbfly)[10]和混合拓扑结构[11].Cmesh中对局部化通信支持好,局部通信具有低延迟高带宽的特性,尽管其中单个通信单元(路由器)的功耗比二维mesh中通信单元的功耗大,但是由于通信单元数目更少,因此总体上仍能够降低功耗.Fbfly通过权衡通道位宽和路由器维度,能够实现较好的能量效率,但是对局部化通信的支持不如Cmesh.混合拓扑结构通过总线互连6~12个节点,构成一个簇,簇间通过二维mesh网络互连,该结构重点对互连网络进行功耗优化,能发挥出总线的低功耗特性,局部化通信功耗低,能够满足对局部化通信功耗敏感且带宽要求不高的应用.以上几种网络拓扑结构目前仍处于学术研究阶段,并未在主流的高性能多核微处理器中大规模应用,主要原因如下:第一,传统的二维mesh或者环网由于其结构简单的优势容易实现较高的频率,所以仍被大多数多核处理器作为首选;第二, Cmesh和fbfly的路由器端口多,对物理设计提出了很高的要求,采用传统的设计方法很难满足延迟和功耗的要求,而混合拓扑结构由于存在多种异构的互连网络拓扑结构,因此无论从报文格式还是路由算法上都提高了设计难度.另外,传统多核处理器片上网络还存在以下问题:由于片上网络的工作频率直接影响多核处理器通信带宽,因此目前对于片上网络的设计主要采用定制设计的方法,导致模块化不足、设计难度大、周期长以及可重用性不强.

本文将重点针对以上问题提出以下解决方法:1)设计可配置通信单元,提高片上网络的可重用性;2)采用源数据队列和源路由技术简化通信单元流水线结构,减少通信单元的数据传输时间;3)提出面向通信协议的通信单元内部互连时序优化方法,优化时序的同时减少通信单元的物理面积和功耗;4)提出面向物理布局的数据队列优化方法,进一步优化通信单元的时序和功耗.

1 通信单元体系结构

对于面向局部性优化的应用来说,不同的网络拓扑对性能、功耗或者能量延迟积具有不同的优化效果,选用何种互连结构取决于设计者对这些设计参数的具体要求,设计师希望具有可重用的片上网络设计组件,能够通过简单装配实现不同拓扑结构.通信单元是构建片上通信网络的核心,它直接与需要进行片上通信的处理器各部件互连.本文提出一种可配置的通信单元设计方案,每个通信单元包括4个物理通道,每个物理通道包含8个通信接口,每个通信接口可以与处理器中的一个部件相连,例如1个二级Cache、1个Cache一致性控制器、1个IO控制器等,也可以作为级连接口(Link Port,LP)和另一个通信单元互连,构建更加复杂的网络拓扑结构.所有部件的接口使用统一的通信报文格式,简化设计的同时增强可重用性.通信单元设计为IP核(Intellectual Property core)的形式,其通信端口数、物理通道数、端口数据位宽均可配置,通过可配置性设计,能够控制通信单元的规模和设计需要相匹配,保证性能的同时降低功耗.

图1为通信单元中一个物理通道的数据通路流水线结构示意图.网络通信单元包含输入输出接口、两级流水线结构和站间寄存器:输入接口能够接收来自最多8个源的报文微包(flip),采用基于信用的流控机制;输出接口能够发送微包到最多8个目的端口,也采用基于信用的流控机制;两级流水线结构包括仲裁站和数据选择站,前者用于仲裁输入请求及缓存输入微包数据,后者用于将被仲裁许可的微包数据进行选择输出.

如图1所示,来自各个请求源的请求有效信号构成“请求组”,仲裁站中的仲裁控制器按照公平轮转的仲裁算法产生仲裁许可信号.当“请求组”内的有效信号超过1个时,由于每个时钟周期只有一个请求能够获得仲裁许可,未被许可的请求需要在后续的时钟周期继续请求以获得许可,因此一个“请求组”可能需要多次通过仲裁控制器才能完全获得对组内各请求的仲裁许可.若“请求组”中某个请求被仲裁许可,则将产生一个到产生该请求的部件的信用释放信号,经过寄存后返回给请求部件,用于释放该请求部件的发送信用.当一个“请求组”需要多个时钟周期才能通过通信单元时,来自输入接口的新的“请求组”会由于仲裁控制器忙而无法被立即进行仲裁,这些新的“请求组”被记录到“检查板”逻辑中以避免丢失.由于只有当同一时刻产生的“请求组”中的所有请求全部被仲裁许可后,仲裁器才会处理下一个“请求组”,而且“检查板”按照先入先出的顺序依次保留待仲裁的“请求组”,因此仲裁器最终按照请求的到达时间进行仲裁,保证了服务质量(Quality of Service,QoS).检查板的深度能够根据输入接口的数目和每个请求部件发送微包的信用值进行配置.当检查板为空时,新的“请求组”可以通过检查板旁路直接被仲裁控制器仲裁.对于从输入接口到仲裁站的来自各接口的输入报文微包数据,仲裁站不做任何处理,直接送入微包数据队列.

在数据选择站,输出报文有效信号和微包选择信号由仲裁站的仲裁结果产生.输出报文有效信号在路由控制逻辑的控制下,产生到输出接口各接收部件的报文有效信号.微包选择信号用于控制微包选择器,从微包数据队列输出的多个微包数据中进行选择,选出的微包与报文有效信号一起经过寄存后,发送给输出接口中某个接收设备或者级连的通信单元.

图2为采用通信单元构建的多核处理器片上网络的示意图.图2(a)是构建环形网络的示意图,每个通信单元配置为8个双向接口,使用4个物理通道(分别传输请求、响应、监听和监听应答报文).通信单元使用接口6和接口7进行级连.每个通信单元连接4个私有的L2Cache(L2C)、1个目录控制部件(Directory Control Unit,DCU),通信单元1通过5号端口连接了1个IO控制器(IO Controller,IOC).图2(b)为使用通信单元构建二维mesh网络的示意图,每个通信单元配置为连接三个处理器核,一个存储单元,剩余端口用于互连,每个通信单元及其连接的处理器核构成“结点簇”.

2 通信单元时序和功耗优化

为了在45 nm工艺下实现2 GHz时钟频率,我们对通信单元进行了专门的时序和功耗优化,主要优化内容包括面向通信协议的内部互连优化和面向数据队列的优化.

2.1 面向通信协议的内部互连优化

由于通信单元共支持8个双向端口,因此单元内部的连线资源非常多,给物理设计带来了很大的困难.考虑到多核处理器片上网络主要用于传输Cache一致性报文,虽然使用4个物理通道分别用于传输请求、响应、监听和监听应答四类报文,但是根据协议的特点,并不是任何两个部件间均需要进行报文传输.以图2(a)的片上网络为例,对于监听通路,只有DCU会主动发出监听请求,另外级连端口6和7(LP6和LP7)也会发送来自级连的其他通信单元的监听请求.接收监听请求的部件为4个L2Cache,以及级连端口LP6和LP7.级连端口5(LP5)既不发送也不接收监听报文,因此不需要监听数据通路.

根据以上特点,可以仅在具有通信需求的部件间设计通路,节省内部互连线资源,例如对监听通路内部互连通路的简化如图3所示.简化后共使用6个仲裁器(ARB0~ARB5),每个仲裁器最多仅需要3个输入报文缓冲队列,互连通路共16条.若使用标准的8端口全交叉方式设计,则需要8个仲裁器,每个仲裁器7个输入报文缓冲队列,互连通路56条.基于同样的思想,可以对其他物理通道进行优化设计,总体上降低整个通信单元的逻辑和连线资源.

2.2 面向数据队列的优化

数据队列缓存来自各个请求源的待仲裁的报文.每个源到每个目的都有对应的数据队列.数据队列的深度取决于能够缓存的报文的个数及报文类型.为了减少数据队列的面积开销,同时尽量避免带数据报文由于信用耗尽被迫发送中断,数据队列被设计为能够缓存3个报文,其中2个是不带数据的报文,1个是带数据的报文(1个命令微包+4个数据微包).为了满足时序要求,数据队列为一个先进先出的FIFO结构,使用寄存器搭建,以7深度的数据队列为例,其结构示意图如图4所示.为了使FIFO的输出尽量靠近输出接口,减少数据选择站中报文数据的长距离传输延迟,Q0寄存器固定为FIFO的输出.每个寄存器的D端具有以下3个来源:1)来自新的报文的输入(pkg_in);2)来自后一个寄存器的输出;3)自己的输出.FIFO读写过程如下:当某一个寄存器作为FIFO尾之后的第一个无效寄存器时,新的数据写入该寄存器;当Q0被读出后,其后所有保存有效数据的寄存器的值将同时移动到各自的前一个寄存器中;当Q0未被读出时,FIFO中所有的寄存器均保持当前值.多路选择器的控制信号包括:选择(sel),移位(shift)和保持(hold),分别控制从新输入报文、后继寄存器的输出和自己的输出中选择一个.数据队列也可以设计为固定Q6为输入,输出从Q0~Q6中选择的方式.具体选择哪一种方式取决于FIFO的时序关键路径是报文从输入接口寄存器输入到FIFO的路径还是从FIFO输出到输出接口寄存器的路径.

3 实验及结果分析

3.1 测试环境

考虑到处理器核心在芯片上按照上下对称的方式排列,芯片中间的面积用于片上网络通道时更容易布局,我们构建了如图5所示的16核处理器片上网络测试结构.处理器具有16个处理器核心,每个核心拥有私有的L2Cache,8个处理器核及对应的L2Cache位于芯片上部,另外8个位于芯片下部.片上网络位于芯片中部,4个通信单元通过端口5和端口6级连,由于通信单元0~3在拓扑结构上一字排开,因此位于两侧的通信单元相互通信需要经过中间的两个通信单元,造成跳步数多、延迟增加、带宽受限.为了解决该问题,我们使用配置为仅具有两个端口的通信单元(通信单元4和5)分别连接通信单元1和通信单元2,通信单元0和通信单元3,以提高非相邻通信单元之间的通信效率.为了对构建的多核处理器片上网络进行测试,我们设计了L2Cache模型L2C_model、目录控制单元的模型DCU_model和IO单元的模型IOC_model.

L2C_model的基本功能如下:1)每个L2C最多可以缓存8个未收到响应的请求报文,否则不能发送新的请求报文;2)由于流拷贝(stream copy)程序具有较高的访存压力,因此L2C模型支持stream程序的发送序列模式:为了获得接近真实情况下L2C已经充满时的情况,L2C平均每发送两个读请求会发送一个写回或者替换请求,且写回和替换请求发送概率相同;3)每个L2C可以缓存发出请求的特征信息,如标识(tag),等待响应回来后通过匹配特征信息确认是哪一个请求的响应,从而获得从请求发出到接收到响应之间的访问延迟.DCU_model的基本功能如下:1)根据实际的逻辑设计数据,DCU的访存延迟平均为25个时钟周期;2)根据DCU的体系结构,设置DCU的缓冲和流水线中最多可以容纳50个请求.IOC_model可以在有信用的前提下连续发送DMA读或写请求,4个DCU体采用低位交叉方式编址,因此DMA请求依次轮转访问各DCU模型.

3.2 测试及数据统计方法

3.2.1 带宽的测试与数据统计

对于L2C和IOC部件,统计发送请求的平均带宽,对于DCU部件,统计发送响应的平均带宽.假设模拟系统的时钟周期为T(ns),总模拟时间为t(ns),通信单元的目标工作频率为f(GHz),期间发送的微包数目为N,微包有效位宽为128位(16 Byte),则发送时的峰值带宽(BWpeak)和实际带宽(BWreal)可以分别按照式(1)和式(2)计算,单位为GBps.

Stream copy程序的实质是大块数据拷贝,能够衡量处理器的片上网络和存储系统在压力访问下的性能和可扩展性.在stream copy程序测试时,L2C按照先发送2个读请求、再发送1个写请求、1个替换请求这样的发送序列发送报文.每个读响应数据为64 Byte,因此每一组发送序列可以获得128 Byte的读响应数据.假设在t的模拟时间内发送了K组发送序列,stream copy程序的读响应带宽(BWstream)可以按照式(3)计算.

3.2.2 延迟的测试与数据统计

延迟统计在L2C_model中完成.L2C_model每发出一个请求报文,则启动对应该请求报文的时钟周期计数器,当该请求报文对应的响应报文返回到L2C_model时,停止计数器,计数器的值即为从发出请求报文到接收到响应时整个过程的时钟周期数.通过将每个访问延迟按照一定的延迟区间进行统计,统计落在设定的延迟区间内的访问延迟的个数,可以得到访问延迟的分布情况.为了测试不同规模配置下的带宽和延迟情况,我们对单核单线程(1C1T)、8核64线程(8C64T)、12核96线程(12C96T)和16核128线程(16C128T)4种典型配置进行测试,分析不同规模下片上网络的带宽和延迟情况.

3.3 测试结果及分析

3.3.1 最大压力测试

压力测试是指使片上网络和片上存储系统的带宽达到饱和的测试,使用的测试激励为每个核的每个硬件线程执行一个独立的stream copy线程,同时IOC在不受IO部件带宽限制的前提下,以通信单元端口的峰值带宽连续发送DMA写请求.表1是不同规模配置下执行压力测试时的带宽测试结果.64线程时,请求聚合带宽(L2C请求总带宽和IO DMA写请求带宽之和)为104.43 GBps,每个DCU平均响应带宽为24.50 GBps,继续增加线程数,请求聚合带宽和DCU平均响应带宽基本保持不变,达到饱和.随着线程数增多,DMA写带宽逐步减小,线程数达到最大规模时,IO写带宽达到下限6.26 GBps.我们另外测试了16C128T配置下stream copy程序和IO DMA读同时执行时的带宽.测试结果为:每个L2C的平均请求带宽为2.68 GBps,IO DMA读请求带宽为16.63 GBps,请求聚合带宽为59.51 GBps,DCU的平均响应带宽为27.73 GBps.由于DCU带宽已经饱和,IO DMA读访问影响了stream copy的带宽.

L2C14进行延迟统计,充分考虑到位于两边的通信单元上的L2C的访问延迟比位于中间通信单元上的L2C的访问延迟更大的特点,统计最坏情况下的延迟分布情况.

分析带宽和延迟测试结果可以看出:1)在没有竞争的情况下,互连网络的访问延迟低,例如在单核单线测试时,L2C报文延迟在64周期以下,且有50%以上小于64周期;2)L2C报文延迟主要由L2C请求在DCU中的等待时间构成,DCU的响应带宽达到饱和是导致L2C请求在DCU中排队时间长的主要原因,当线程数超过64时,随着线程数的增加,落在较大访问延迟区间内的访问个数所占的比例逐渐增加;3)对于12C96T配置,DMA写请求能够获得的带宽下限为22.13 GBps,对于16C128T配置,DMA写请求能够获得的带宽下限为6.26 GBps,超过96线程后,L2Cache的访问对DMA写带宽影响显著增加;4)对于16C128T配置,DMA读请求能够获得的带宽最低为16.63 GBps,相对于DMA写时的6.26 GBps,DMA读请求受L2Cache访问的影响较小,主要原因是4个DCU体采用低位交叉方式编址,DMA写依次串行向4个DCU发送写请求报文,与16个L2Cache同时竞争请求通道,在公平优先级的情况下DMA写请求和L2Cache请求的带宽比约为1∶16,而DMA读的数据通过响应通道从4个DCU获得,在公平优先级的情况下DMA读响应和L2Cache响应的带宽比约为4∶16,因此能够获得较大的带宽.

3.3.2 单独的IO DMA测试

我们设置L2C不执行任何程序,进行单独的DMA读和DMA写测试.测试结果表明,DMA读带宽最大为6.40 GBps,DMA写带宽最大为6.65 GBps,已经到达IOC部件的最大有效带宽.根据前面最大压力测试的结果,即使在最大压力下,DMA写带宽也接近IOC部件所能达到的最大有效带宽,因此DMA读写带宽的瓶颈在于IOC部件本身,通信单元接口所能提供的有效带宽大于IOC实际的带宽.

3.3.3 单独的stream copy程序测试

当多个线程各自以未优化的方式执行stream copy程序时,虽然每个线程内源地址和目的地址互不交叠,但是起始地址访问均落在同一个DCU中,且按跨步为1的方式依次访问各DCU.各线程同时启动,每个线程访问DCU的行为相同,所有线程的第一个读请求同时到达通信单元,某个DCU将接收到各线程的第一个读请求.由于不同L2C访问同一个DCU时通过片上网络的路径不同,访问延迟具有差异,因此各线程开始基本保持同步,之后延迟差异对各线程执行速度的影响逐渐显露,各线程执行速度的差异越来越大.

DCU流水线处理地址相关时,由于资源冲突,需要阻塞相关的地址.DCU流水线地址相关性处理方式是影响性能的一个重要因素.Stream copy程序访存可能出现两种极端情况:a)最坏情况(worst):各线程访问DCU中同一个目录组,造成大量DCU流水线处理相关,只能串行访问;b)最优情况(opt):调整线程访问地址,使不同线程访问DCU的不同目录组,能够减少DCU冲突.我们对这两种情况分别进行了试验,测试结果如图7所示,图中折线反映了单核带宽、Cache系统的聚合带宽和理想饱和带

宽分别随线程数增加而变化的趋势.图7(a)为最坏情况下的试验结果,当线程数从8(8-worst)增加到96(96-worst)时,聚合带宽随着线程数的增加而增加,当线程数达到96时,聚合带宽达到最高值29.88 GBps,为理想饱和带宽的62.1%,当超过96时,随着线程数继续增多,聚合带宽反而略有下降.图7(b)为最优情况下的试验结果,Cache系统聚合

带宽随线程数的增多呈线性增长,在不同线程数目时均接近理想饱和带宽.测试表明不同地址流模式下stream copy程序的性能差异较大.对于1线程到96线程,片上Cache系统具有较好的可扩展性,超过96线程,Cache带宽可能达到饱和.综上,通过优化设计,片上网络带宽没有成为片上存储系统的瓶颈,其聚合带宽能够随着处理器核与线程的增加而线性增加,访存调度优化是能够发挥出片上网络和存储系统性能的关键.

4 结 论

本文提出了一种用于多核微处理器的2 GHz片上网络通信单元设计方案,通信单元能够在45 nm工艺下达到2 GHz的工作频率,流水线级数为2,最多支持8个双向通信接口,每个端口单向峰值带宽32 GBps.测试结果表明:构建的片上网络能够满足16核处理器存储系统对网络带宽的要求,在对访存优化的情况下,聚合带宽能够随着处理器核与线程数的增加而线性增加.通信单元还具有可重用的特性,能够通过优化与扩展进一步在众核处理器中使用.本文的研究成果已经成功应用于某国产16核高性能微处理器,片上网络的实测频率达到2 GHz.在今后的工作中,我们将进一步考虑支持不同优先级的仲裁策略,缓解多个通信单元级连时位于不同通信单元上的设备所获得的通信带宽和延迟不均衡的问题.

参考文献

[1] HAMMOND L, HUBBERT B A, SIU M, et al. The stanford hydra CMP[J]. IEEE Micro, 2010, 20(2):71-84.

[2] SHAH M, BARREH J, BROOKS J, et al. UltraSPARC T2: a highly-threaded, power-efficient,SPARC SOC[C]//Proceedings of the IEEE Asian Solid-State Circuit Conference. Jeju, Korea: IEEE Asian Publications,2007:22-25.

[3] MARUYAMA T. SPARC64 VIIIfx: Fujitsu's new generation octo-core processor for petascale computing[J]. IEEE Micro, 2010, 30(2): 30-40.

[4] DEL CUVILLO J, ZHU W, HU Z, et al. FAST: a functionally accurate simulation tool set for the Cyclops64 cellular architecture[C] //The First Annual Workshop on Modeling, Benchmarking, and Simulation (MoBS-1). Wisconsin, USA: ISCA Conference Publications, 2005:14-24.

[5] AINSWORTH T W, PINKSTON T. Characterizing the cell EIB on-chip network[J]. IEEE Micro, 2007,27(5):6-14.

[6] ARM Limited company. Cortex-A15 Processor[EB/OL] http:///products/processors/cortex-a/cortex-a15.php,2012-04-18/2013-02-12.

[7] TAYLOR M B, KIM J, MILLER J, et al. The raw microprocessor: a computational fabric for software circuits and general-purpose programs[J]. IEEE Micro, 2002, 22(2):25-35.

[8] TILERA Company. TILERA: Tile64 processor[EB/OL]. [2010-06-12] http:///products/processors/TILE64,2010-06-12/2012-11-15.

[9] BALFOUR J, DALLY W J. Design tradeoffs for tiles cmp on-chip networks[C]// Proceedings of the 20th Annual International Conference Supercomputing. New York: ACM, 2006: 187-198.

[10]KIM J, BALFOUR J, DALLY W. Flattened butterfly topology for on-chip networks[C]// Proceedings of the 40th Annual IEEE/ACM International Symposium on Microarchitecture. New York: ACM, 2007: 172-182.

[11]DAS R, EACHEMPATI S, MISHRA A K, et al. Design and evaluation of a hierarchical on-chip interconnect for next-generation CMPs[C]//Proceedings of IEEE 15th International Symposium on High Performance Computer Architecture. Washington, DC: IEEE Computer Society, 2009:175-186.