一种用于三维集成电路片上网络的路由器及路由方法

文档序号:8225976阅读:506来源:国知局
一种用于三维集成电路片上网络的路由器及路由方法
【技术领域】
[0001] 本发明涉及集成电路可靠性设计技术领域,具体地说,本发明涉及一种用于三维 集成电路片上网络的路由器及路由方法。
【背景技术】
[0002] 三维集成技术是一种将芯片不同的器件层堆叠起来,垂直集成在一起的一 种封装技术(可参考BanerjeeK.,etal.,"3_DICs:anovelchipdesignfor improvingdeep-submicrometerinterconnectperformanceandsystems-〇n-chip integration,,'inproceedingsoftheIEEE,Volume: 89,Issue: 5, 2001,pp. 602-633.) 〇 这种技术可以缩短芯片内物理连线长度,达到降低系统时延和功耗的作用。在三维集成 电路(也可称为三维芯片)片上网络(Networks-on-Chip,NoC)中,通常每个节点包括路 由器(Router)、路由器间链接(Link)、网络接口(NetworkInterface,NI)和处理单元 (ProcessingElement,PE)等组成部分。各个节点通过路由器以水平或者垂直方式互连,实 现不同节点之间的通信。例如,图1示出了一个简单的4X2X3三维集成电路(也可称为 三维芯片)片上网络(Networks-〇n-Chip,NoC)的拓扑结构,该拓扑结构是常见的三维Mesh 结构。图中有3个不同器件层,整个三维结构共有24个节点,分别用编号0至23表示。
[0003] 在NoC的节点中,路由器的结构相对较为复杂,它是片上网络的主要组成部分。 NoC路由器主要包含控制通路与数据通路两个部分。其中控制通路主要包括路由计算单元 (RoutingComputationUnit)和仲裁器(Arbitrator)等模块,数据通路主要包括管道寄存 器(PipelineRegister,PR),端口缓存(Buffer),内部链接(InnerLink,IL)和交叉开关 (Crossbar,CR)等模块。其通常的执行操作流程为:1)写缓存(BufferWrite,BW) ;2)路 由计算(RoutingComputation,RC) ;3)虚通道分配(Virtual-ChannelAllocation,VA); 4)交换机分配(SwitchAllocation,SA) ;5)交换机通过(SwitchTraversal,ST) ;6)链接 通过(LinkTraversal,LT)等。
[0004] 在实际使用过程中,如果某个或某几个路由器发生故障,对片上网络中的不同PE 之间的通信将会有较大影响,例如:导致系统性能下降、通信死锁,甚至是整个芯片报废, 因此有必要对NoC的路由机制进行可靠性设计。图2示出了一种典型的NoC中各模块所 占面积的百分比,从图2中可以看出,数据通路中的Buffer、PR,IL和CR等模块占据了路 由器绝大部分的面积(可参考ChengLiu,LeiZhang,YinheHan,etal.,"Aresilient on-chiprouterdesignthroughdatapathsalvaging,,'inproceedingsofAsiaand SouthPacificDesignAutomationConference(ASP-DAC),Yokohama, 2011:437-442.)。众 所周知,面积越大在生产及使用的过程中发生故障的几率就越高。因此,在NoC路由器的可 靠性设计中,人们主要关注的是其数据通路的可靠性设计。
[0005]目前国内外针对路由器中不可修复的永久性故障的容错措施通常有三种:第一种 是采取路由器全部冗余的方式,使用时用有效无故障路由器整体替换有故障路由器;第二 种是通过直接绕过有故障路由器的方法,并采取适当的可靠性路由机制;第三种是通过设 计可靠性较高的路由器内部微体系结构,利用路由器内部有效模块完成路由功能,并配合 适当的路由机制,使得系统的数据交换得以维持。
[0006] 第一种方法虽然容错效果显著,但会明显增加三维芯片的面积与功耗开销,这一 点会随着芯片规模的增大愈加明显,因此不利于大范围普及,尤其是针对开销敏感的应用 制造领域产品,该方法难以推广。第二种方法虽然与前一种方法不同,采用低开销的可靠性 路由机制绕开有故障的路由器,但是对路由器中的未失效的模块资源形成了较大的浪费, 损失了较多的芯片性能。第三种方法不增加多余逻辑电路,同时尽可能利用有故障路由器 内部的有效模块完成相应的路由需求,以保证三维芯片的通信正常进行,系统开销较低,这 是在传统二维芯片中经常采用的容错机制,然而三维芯片与二维芯片在结构上具有较大差 另IJ,因此现有的二维芯片容错机制难以直接套用到三维场景下的片上网络。
[0007] 总之,现有的三维集成电路片上网络的可靠性设计方案要么不能保证较高的通信 性能(主要针对的是通信时延和吞吐量两个指标),要么通信的可靠性指标较低,要么需要 较商的面积与功耗开销。

【发明内容】

[0008] 因此,本发明的任务是提供能够克服现有技术上述缺陷的提升三维集成电路片上 网络路由器的可靠性的解决方案。
[0009] 本发明提供了一种用于三维集成电路片上网络的路由器,包括控制通路和数据 通路,所述控制通路包括路由分流子模块,所述数据通路还包括第一交叉开关子模块和第 二交叉开关子模块;
[0010] 所述路由分流子模块用于将来自路由器输入端口的数据包分配至所述第一交叉 开关子模块或者第二交叉开关子模块,所述第一交叉开关子模块的输出端与所述路由器的 一部分输出端口连接,所述第二交叉开关子模块的输出端与所述路由器的另一部分输出端 口连接。
[0011] 其中,所述路由分流子模块通过并口的方式分别与所述第一交叉开关子模块和第 二交叉开关子模块的输入端连接。
[0012] 其中,所述第一交叉开关子模块为水平交叉开关子模块,它的输出端包括东,南, 西和北四个输出端口,所述东,南,西,北输出端口分别与所述路由器的东,南,西,北输出端 口连接。
[0013] 其中,所述第二交叉开关子模块为垂直交叉开关子模块,它的输出端包括上和下 两个输出端口,所述上,下输出端口分别与所述路由器的上,下输出端口连接。
[0014] 其中,所述路由分流子模块还包括本地输出端口,所述本地输出端口与路由器的 本地输出端口连接。
[0015] 本发明还提供了一种用于三维集成电路片上网络的路由方法,包括下列步骤:
[0016] 1)三维集成电路片上网络的各个路由器获取自身输入和输出端口的故障矩阵,并 将自身的故障矩阵信息发送给两跳以内的其它路由器;
[0017] 2)每个路由器根据故障矩阵设置该路由器的每个路由位和每个连接位为有效或 者失效状态;
[0018] 3)采用基于逻辑的路由算法使数据包绕开故障继续路由至目的节点。
[0019] 其中,所述步骤2)包括下列子步骤:
[0020] 21)对于每个路由器,根据自身的故障矩阵和一跳范围内邻居节点的故障矩阵初 步设置该路由器的各个路由位和连接位的值;
[0021] 22)对于当前有效的路由位,再根据故障矩阵判断沿着该路由位所表示路由方向 上的第二跳节点的相应输入端口缓存是否故障并根据判断结果重新设置该路由位。
[0022] 其中,所述步骤3)包括下列子步骤:
[0023] 31)对于路由过程中的任一当前节点,比较当前节点和目标节点的节点坐标,判断 数据包的前进方向;
[0024] 32)对于每个数据包,检查数据包的前进方向上的路由位和连接位,判断当前节点 的相应的输出端口是否可用,在相应的输出端口不可用时,基于路由位和连接位的值来控 制允许的转向,从而使数据包仍能继续路由至目的节点。
[0025] 其中,所述路由位包括代表东北,东南,东上,东下,东东,南东,南西,南上,南下, 南南,西北,西南,西上,西下,西西,北东,北西,北上,北下,北北,上北,上东,上南,上西,上 上,下北,下东,下南,下西或者下下路由方向的路由位,每个路由位表示当前节点的邻居节 点是否接受该路由位所代表的路由方向的数据包;所述连接位包括代表东,南,西,北,上或 下方向的连接位,每个连接位表示当前节点和该连接位所代表的方向上的邻居节点是否连 通。
[0026] 其中,所述步骤32)还包括:根据邻居节点的故障类型和故障位置设置相应的路 由位是否有效,然后对于当前有效的路由位,再判断该邻居节点沿着该路由位所表示路由 方向上的下一跳节点的相应输入端口缓存是否故障并在故障
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1