包-电路交换片上路由器及其传输方法

文档序号:7743004阅读:272来源:国知局
专利名称:包-电路交换片上路由器及其传输方法
技术领域
本发明涉及一种应用于片上网络的包-电路交换片上路由器,具体地说是一种构
成片上网络的低资源消耗、高性能包-电路交换片上路由器及其传输方法。
背景技术
片上网络(NoC)由资源节点(Resource)、路由器(Router)、通道(Channel)和网
络接口 (Network Interface, NI)组成,如图1所示 11为资源节点执行计算和存储任务的节点。 12为路由器也称为开关节点或通讯节点,执行通信任务。 13为通道指资源节点和开关节点之间、开关节点和开关节点之间的连线(图1 中的E、W、N、S禾卩L)。 14为网络接口 指资源节点和开关节点之间的接口,通常划分在资源节点中。只 有配备了网络接口的资源节点才能连接到网络上与其他资源节点进行通信。
NoC最为突出的优点是可扩展性和可重用性。NoC采用分布式的拓扑结构,资源节 点和开关节点相互独立,资源节点通过一个标准接口接入网络(与开关节点相连)。也就是 说,只要资源节点具备网络接口就可以在网络上任何一个开关点接入网络,而且每个开关 节点都是相同的。NoC这种规则化的结构特征,一方面使得资源所占带宽不会随着网络扩 展而下降;另一方面,使得IP重用和网络架构重用都成为可能。正是由于这种灵活性,基于 NoC的复杂系统芯片面市时间和研发成本都得以大幅降低。 在NoC设计中,片上路由器设计的优劣将直接影响整个NoC系统的性能,故尤为重 要。包交换路由器是目前研究中最主要的路由器类型,其功能和结构是宏观网络中路由器 的简化。包交换路由器一般使用缓冲器将数据包暂时存储,缓冲器的大小与网络性能密切 相关,所以包交换路由器的面积通常较大。包交换路由器的数据传输延时与网络状况有关, 其延时通常较长(数十至数千个周期,每个路由器的理想延时在四至七个周期之间),不易 满足系统实时性要求。 随着集成规模的增加,片上路由器将大量存在于NoC中,因此要求其面积较小,同 时为了获得高性能,包_电路交换片上路由器必须具有较小且可预见的通讯延时。

发明内容
为了满足片上网络的面积和性能要求,本发明的目的是提供一种构成片上网络的
包-电路交换片上路由器及其传输方法,该路由器资源消耗低、性能高,能满足片上网络的 面积和性能要求。本发明的目的通过以下技术方案来实现 —种包-电路交换片上路由器,其特征在于该路由器包括输入状态机、输出状态 机、优先级编码器、地址译码器、仲裁器和交叉开关,输入状态机控制输入通道的工作状态, 并将接收的请求信号传送给优先级编码器;优先级编码器根据设定的固定优先级对请求信号进行编码,并通过地址译码器将输入的目标节点地址信号转变为路由方向信号输出;仲 裁器接受地址译码器的解码结果,根据固定优先级顺序和端口占用情况,输出输入端口与 输出端口互连信号及输出端口占用信号,直到选择合适的路径到达目的节点;交叉开关接 收仲裁器输出的互连信号,实现输入、输出端口之间的正确互连。 本发明中,输入状态机包括五个工作状态空闲、请求、半锁定、锁定和失败;输入 状态机在空闲态接收请求包,并进入请求状态;如果该路由请求得到授权,则输入状态机进 入半锁定状态,如果该路由请求被驳回,则输入状态机进入路由失败状态;输入状态机在半 锁定状态时,如果收到链路建立成功信号,则输入状态机进入锁定状态,如果收到链路建立 失败信号,则输入状态机进入路由失败状态。 优先级编码器设定的各输入通道的优先级顺序是本地>东>南>西>北。
输出状态机有空闲、锁定两个工作状态,空闲表示输出通道当前可用,锁定表示输 出通道已被占用;当源节点的一位控制信号为O或复位信号有效时,输出状态机进入空闲 态;输出状态机在空闲态时,如果仲裁器授权该通道传输数据,则输出状态机进入锁定状 态,直到仲裁器释放该通道,输出状态机回到空闲态。 所述输入状态机的输入通道数量为一组若干个;输出状态机的输出通道数量也为
一组若干个。 —种包-电路交换片上路由器的传输方法,其特征在于该传输过程分为三个阶 段链路建立阶段,数据传输阶段和链路释放阶段。 链路建立阶段,路由器首先存储请求包,然后进行优先级编码、地址解码、仲裁,再 将请求包转发到下一路由器, 一旦链路建立成功,该链路就成为专用电路而不能被网络上 的其他路由器使用。 数据传输阶段,路由器不对数据包进行任何处理,直接将数据包经过一级流水线 发送到下一路由器,数据通过每个路由器的延时仅为一个时钟周期。 链路释放阶段,数据传输完成后,将电路由专用变为空闲状态,可供其余路由器使 用。 在包_电路交换中,只有建立链路时的路由延时与网络状况有关,而一旦链路建 立以后,数据传输便不依赖于网络状况,数据通讯延时很小而且可预测,这使得包_电路交 换可以满足大量、连续数据传输的强实时性要求;面积上,因为包_电路交换片上路由器的 每个输入(或输出)通道只需要存储一个数据包,所以其面积较小。本发明公开的包-电 路交换片上路由器实现简单,资源消耗少,传输延时小,适用于构成高性能片上网络,可以 用于采用片上网络结构的复杂片上系统。


图l是NoC结构示意图; 图2是本发明的结构示意图; 图3是本发明中输入状态机状态转换图; 图4是本发明中优先级编码器编码示意图; 图5是本发明中动态XY路由算法示意图; 图6是本发明中地址译码器原理示意 图7是本发明中输出状态机状态转换图;
图8是链路建立流程示意图;
图9是本发明中通路示意图;
图10是本发明的接口示意图;
图11是本发明中数据包格式示意图; 图12是采用本发明的二维网格(3X3)NoC系统的硬件结构示意图;
具体实施例方式
—种包-电路交换片上路由器,如图2所示。该路由器包括输入状态机1、输出状 态机2、优先级编码器3、地址译码器4、仲裁器5和交叉开关6,输入状态机1控制输入通道 的工作状态,并将接收的请求信号传送给优先级编码器3 ;优先级编码器3根据设定的固定 优先级对请求信号进行编码,并通过地址译码器4将输入的目标节点地址信号转变为路由 方向信号输出;仲裁器5接受地址译码器4的解码结果,根据固定优先级顺序和端口占用情 况,输出输入端口与输出端口互连信号及输出端口占用信号,直到选择合适的路径到达目 的节点;交叉开关6接收仲裁器5输出的互连信号,实现输入、输出端口之间的正确互连。
该路由器的实现易于升级,通过例化额外的输入、输出状态机,路由器的输入、输 出端口可以方便地增加,连接到路由器的资源节点可以方便地增加。由于一次只处理一个 请求包,地址译码器并不随资源节点数目不同而改变。同时,运用参数化的设计方法,优先 级编码器、仲裁器和交叉开关也可以实现相应的参数化配置。
包-电路交换片上路由器的各个组成模块如下。 输入状态机的功能是控制输入通道的工作状态。输入状态机有五个工作状态空 闲(IDLE)、请求(REQ)、半锁定(PREL0CK)、锁定(LOCK)和失败(FAIL),其状态转换示意图 如图3所示。 当源节点的一位控制信号(Stb)为O或复位信号有效时,输入状态机进入空闲态。 输入状态机在空闲态接收请求包,并进入请求状态;如果该路由请求得到授权(Grant),状 态机进入半锁定状态,如果该路由请求被驳回(Deny),状态机进入路由失败状态。在路由失 败状态,状态机将从失败状态无条件跳回空闲态,向上游节点发送路由失败信号(nAck),源 节点收到路由失败信号后将源节点控制信号(Stb)置为0,取消链路建立请求。状态机在半 锁定状态时,如果收到链路建立成功信号(Ack),状态机进入锁定状态;如果收到链路建立 失败信号(nAck),状态机进入路由失败状态。输入状态机被锁定后,便可高效传输数据包, 此时Fwd信号与数据包Data对应,当Fwd信号为1时表示数据包有效,否则数据包无效。状 态机在锁定状态收到链路撤销信号(Cancel)后,回到空闲态。 包-电路交换片上路由器具有多个输入通道,而只有一个路由通路。路由器的五 个输入通道被赋予固定优先级,当多个输入通道同时发出路由请求时,优先级编码器根据 固定优先级对请求信号进行编码。在包_电路交换片上路由器中,各输入通道的优先级顺 序是本地>东>南>西>北(L〉E〉S〉W〉N),即优先级顺序依次为本地、东、南、西、 北。图4是优先级编码器的编码示意图。 包-电路交换片上路由器采用动态XY路由算法。所谓动态XY路由就是请求包先 沿X方向路由,当X方向路由发生阻塞的时候,即向Y方向发出路由请求,如果请求得到应
5答则向该方向传送请求包,否则向上游节点返回路由失败信号,该动态XY路由算法的示意 图如图5所示。同时规定不允许数据向远离目的节点的方向运动,所以动态XY路由是没有 死锁的。 地址译码器的输入是目标节点地址,输出是路由方向信号。根据动态XY路由算 法,地址译码器通过比较目的地址和本地地址,对L、E、 S、 W和N五个方向做出选择,地址译 码器原理示意图如图6所示。其中,Xd、Yd分别表示目的节点的X、Y方向地址;X、Y分别表 示本节点的X、Y方向地址;reqL、reqE、reqS、reqW、reqN表示路由方向。例如,当目的地址 为(Xd, Yd) = (2,3),本地地址为(X, Y) = (1, 1)时,reqL = 1, bO,reqE = 1, bl,reqS = 1' bl,reqW = 1' bO,reqN = 1' b0,这些可能的路由方向都交给仲裁器进行仲裁,仲裁器将 尝试建立一条线路,指向这两个方向中的一个。 仲裁器模块接收地址译码器的解码结果,根据固定优先级顺序(L > E > S > W > N)和端口占用情况,输出输入端口和输出端口互连信号和输出端口占用信号。在某一时刻, 一个输出端口只能与一个输入端口相连,当数据传送结束输出端口被释放后,其他输入端 口才可以选择此输出端口。如果某输入端口所有可能选择的输出端口都被占用,仲裁器输 出驳回路由请求信号(Deny),输入状态机进入路由失败状态,向上游节点或网络接口发送 路由失败信号(nAck),释放已经建立的链路;如果该端口的某一可能选择的输出端口没被 占用,该输出端口被选择,仲裁器输出授权信号(Grant),以此类推,直到选择合适的路径到 达目的节点。 交叉开关接收仲裁器输出的互连信号,实现输入、输出端口之间的正确互连。在数 据传输阶段,输入端口的数据信号通过数据通路直接传向下一节点,而不经过路由通路,数 据通路只包含一级流水线,因而数据信号通过一个路由器的时间延时仅为一个时钟周期。 当目标节点释放链路时,数据通路内相应输入端口与输出端口的连接关系被撤消。
输出状态机的功能是控制输出通道的工作状态。输出状态机仅有两个工作状态 空闲(IDLE)、锁定(LOCK),前者表示输出通道当前可用,后者表示输出通道已被占用,其状 态转换示意图如图7所示。当Stb信号为O或复位信号有效时,输出状态机进入空闲态。输 出状态机在空闲态时,如果仲裁器授权该通道传输数据(Occupied),状态机进入锁定状态。 直到仲裁器释放该通道,状态机回到空闲态。 包-电路交换片上路由器的传输过程分为三个阶段链路建立阶段,数据传输阶 段和链路释放阶段。 链路建立阶段,路由器首先存储请求包,然后进行优先级编码、地址解码、仲裁,再 将请求包转发到下一路由器, 一旦链路建立成功,该链路就成为专用电路而不能被网络上 的其他路由器使用。 数据传输阶段,路由器不对数据包进行任何处理,直接将数据包经过一级流水线 发送到下一路由器,数据通过每个路由器的延时仅为一个时钟周期。 链路释放阶段,数据传输完成后,将电路由专用变为空闲状态,可供其余路由器使 用。 在包_电路交换片上路由器中,链路的建立通过发送请求包完成,而数据的通讯 则采用电路形式。图8显示了链路建立的流程。 如图8(a)所示,一次成功的传输包含5个阶段(1)源节点以请求包的形式向网络发出路由请求,当该请求包通过网络时,链路被暂时锁定,因此不能够被其他传输过程使 用;(2)当请求包到达目的地时,一个Ack信号沿链路传回,同时暂时锁定被设为永久锁定 (锁定时间仅取决于当前的传输时间间隔);(3)当Ack返回到源节点时,开始传输有效数 据;(4)当数据传输完成后,源节点发出结束包;(5)最后,当目的节点收到结束包后,目的 节点发出Cancel信号,释放锁定链路。概括起来,(1_2)是链路建立阶段,(3)是数据传输 阶段,(4-5)是链路释放阶段。 如果链路在一个节点处被阻塞,阻塞节点发送nAck信号到源节点,并取消已建立 链路;源节点接收到nAck信号后将重新发送路由请求,如图8(b)所示。
包-电路交换片上路由器的功能特点决定其有两条通路路由通路和数据通路, 如图9所示。 一个路由器只有一条路由通路,路由通路根据请求包建立网络链路,路由延时 与网络状况有关(每个路由器的理想路由延时为七个周期);数据通路由路由通路进行控 制,负责数据传输,延时较小仅为一个周期, 一个路由器可以有多个数据通路。
包-电路交换片上路由器的接口示意图如图10所示。该路由器在5个方向上各有 一组输入、输出通道,分别对应本地(U、东(E)、南(S)、西(W)、北(N)5个方向。其中,Stb 是一位控制信号,为1时表示源节点链路建立请求有效,为0时从源节点开始立即释放锁定 链路;Fwd是一位传输数据有效标志信号;Data是34位数据总线,以图11所示的包格式进 行传输;Ack是一位正响应信号,为1时表示链路建立成功;hAck是一位负响应信号,为1时 表示链路建立失败,取消已建立链路;Cancel是一位反馈信号,为1时表示收到结束包,数 据传输完成,释放锁定链路。 采用包-电路交换片上路由器构成二维网格(3X3)NoC系统的RTL模型,其硬件 结构示意图如图12所示。NoC由包_电路交换片上路由器、链路和本地子系统组成。包_电 路交换片上路由器是网络的核心部件;本地子系统包含一个数据发生器和一个数据接收 器,分别用于发送数据和接收数据。该实施用例的功能是本地子系统通过NoC系统发送和 接收数据。 用Modelsim进行功能仿真,得到该NoC系统的链路建立延时平均为七个周期/路 由器,其中六个周期是路由器的路由通路延时,一个周期是链路建立响应(Ack)延时;数据 传输延时与网络状况无关,仅为一个周期/路由器。数据通过该NoC系统可以得到高效传 输。而传统包交换路由器的数据传输延时与网络状况有关,其延时通常较长(数十至数千 个周期,每个路由器的理想延时在四至七个周期之间),因此说,包_电路交换片上路由器 大大提高了NoC系统的性能。 采用SMIC 0. 1811111标准单元库进行逻辑综合,得到包-电路交换片上路由器的时 钟频率为500MHz,每个通道的吞吐率达16Gbps。每个路由器的资源消耗为4. 3K门。相比 传统包交换路由器,包_电路交换片上路由器的面积减小,而吞吐率却提高两倍以上。
针对不同的应用,本地子系统可以是带有处理单元或存储单元或二者的结合,以 支持具体的应用。另外,由于包-电路交换片上路由器的链路建立延时与网络状况有关,而 数据传输延时与网络状况无关且仅为一个周期,所以该包_电路交换片上路由器更适合于 大批量、连续数据传输的应用。 本发明所述的包_电路交换片上路由器具有低硬件资源消耗、高性能的优点,适 用于构成高性能片上网络,可以用于采用片上网络结构的复杂片上系统。
权利要求
一种包-电路交换片上路由器,其特征在于该路由器包括输入状态机(1)、输出状态机(2)、优先级编码器(3)、地址译码器(4)、仲裁器(5)和交叉开关(6),输入状态机(1)控制输入通道的工作状态,并将接收的请求信号传送给优先级编码器(3);优先级编码器(3)根据设定的固定优先级对请求信号进行编码,并通过地址译码器(4)将输入的目标节点地址信号转变为路由方向信号输出;仲裁器(5)接受地址译码器(4)的解码结果,根据固定优先级顺序和端口占用情况,输出输入端口与输出端口互连信号及输出端口占用信号,直到选择合适的路径到达目的节点;交叉开关(6)接收仲裁器(5)输出的互连信号,实现输入、输出端口之间的正确互连。
2. 根据权利要求1所述的包-电路交换片上路由器,其特征在于输入状态机(1)包 括五个工作状态空闲、请求、半锁定、锁定和失败;输入状态机(1)在空闲态接收请求包, 并进入请求状态;如果该路由请求得到授权,则输入状态机(1)进入半锁定状态,如果该路 由请求被驳回,则输入状态机(1)进入路由失败状态;输入状态机(1)在半锁定状态时,如 果收到链路建立成功信号,则输入状态机(1)进入锁定状态,如果收到链路建立失败信号, 则输入状态机(1)进入路由失败状态。
3. 根据权利要求l所述的包-电路交换片上路由器,其特征在于优先级编码器(3)设 定的各输入通道的优先级顺序是本地> 东 > 南 > 西 > 北。
4. 根据权利要求1所述的包_电路交换片上路由器,其特征在于输出状态机(2)有 空闲、锁定两个工作状态,空闲表示输出通道当前可用,锁定表示输出通道已被占用;当源 节点的一位控制信号为0或复位信号有效时,输出状态机(2)进入空闲态;输出状态机(2) 在空闲态时,如果仲裁器(5)授权该通道传输数据,则输出状态机(2)进入锁定状态,直到 仲裁器(5)释放该通道,输出状态机(2)回到空闲态。
5. 根据权利要求1所述的包_电路交换片上路由器,其特征在于所述输入状态机(1) 的输入通道数量为一组;输出状态机(2)的输出通道数量为一组。
6. —种权利要求1所述的包_电路交换片上路由器的传输方法,其特征在于该传输过 程分为三个阶段链路建立阶段,数据传输阶段和链路释放阶段;链路建立阶段,路由器首先存储请求包,然后进行优先级编码、地址解码、仲裁,再将请 求包转发到下一路由器, 一旦链路建立成功,该链路就成为专用电路而不能被网络上的其 他路由器使用;数据传输阶段,路由器不对数据包进行任何处理,直接将数据包经过一级流水线发送 到下一路由器,数据通过每个路由器的延时仅为一个时钟周期;链路释放阶段,数据传输完成后,将电路由专用变为空闲状态,可供其余路由器使用。
全文摘要
本发明公开了一种构成片上网络的包-电路交换片上路由器及其传输方法,该路由器中的输入状态机控制输入通道的工作状态,并将接收的请求信号传送给优先级编码器;优先级编码器根据设定的固定优先级对请求信号进行编码,并通过地址译码器将输入的目标节点地址信号转变为路由方向信号输出;仲裁器接受地址译码器的解码结果,根据固定优先级顺序和端口占用情况,输出输入端口与输出端口互连信号及输出端口占用信号,直到选择合适的路径到达目的节点;交叉开关接收仲裁器输出的互连信号,实现输入、输出端口之间的正确互连。本发明资源消耗少,传输延时小,适用于构成高性能片上网络,可以用于采用片上网络结构的复杂片上系统。
文档编号H04L12/56GK101778049SQ20101011859
公开日2010年7月14日 申请日期2010年3月4日 优先权日2010年3月4日
发明者万健, 何书专, 刘刚, 李丽, 李明, 沙金, 赵晶晶 申请人:南京大学;中国电子科技集团公司第十四研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1