异步可容错片上网络路由器设计方法

文档序号:6550602阅读:186来源:国知局
异步可容错片上网络路由器设计方法
【专利摘要】本发明公开了一种异步可容错片上网络路由器设计方法,是基于准延时不敏感逻辑,采用四相握手协议和1-of-4编码方式,结合路由计算单元的可容错性硬件设计,即根据当前节点和目的节点的相对位置关系,以选择最少跳数的路径为目标,绕过故障区域路由数据包。本发明方案减小了面积和功耗开销,降低了平均延时,提高了网络整体性能,且具有良好的可扩展性和容错能力,适合大规模全局异步局部同步系统。
【专利说明】异步可容错片上网络路由器设计方法

【技术领域】
[0001] 本发明涉及集成电路芯片的应用【技术领域】,尤其涉及一种异步可容错片上网络路 由器设计方法。

【背景技术】
[0002] 片上网络的设计模式提供了可扩展的片上全局通信,取代了传统的共享总线结 构。目前有同步和异步两种实现方式。大部分的片上网络是由同步电路实现的同步片上 网络,且节点间的通信是由单一或多时钟驱动。然而随着片上网络规模的增加,同步NoC 就需要庞大的时钟树设计,导致面积和功耗的大量增加。同时,由于时钟速度逐渐增快,很 难保证时钟可以同时到达芯片上的每个单元。然而,由异步电路设计实现的异步片上网络 (Asynchronous Network on Chip, ANoC),节点间的通信是通过握手协议控制,这种无时钟 树的设计消除了芯片上的全局时钟信号,在无数据传输时不产生任何动态功耗。特别指出 的是,准延时不敏感的应用在异步电路通信中易于实现,可保证传输质量,减少后端设计的 复杂度。全局异步局部同步通信模式中,网络中每个器件的时钟都是通过自身的时钟源产 生,而且每个时钟源都被假设为具有相同的频率,但实际并不完全相同。由于在大规模网络 中源端和目的端共享一个时钟源是不现实的,故全局异步局部同步信号常被用在大型网络 中。
[0003] 综上所述,异步片上网络的主要优势体现在其无时钟树的结构,以及在网络负载 较低时较小的动态功耗和报文传输延时。
[0004] 全局异步局部同步(globally asynchronous and local synchronous,GALS)系统 近来成为异步片上网络的研究热点。阴影部分采用异步电路设计,无时钟域通过局部握手 协议控制,而每个资源节点可以看做一个局部单元,有着自己的时钟域,并和其他资源节点 相互独立。网络接口用于同步网络和异步网络对接,资源节点产生的信息发往网络时,要在 网络接口进行同步到异步转换,而网络中的信息发向资源节点时,要在网络接口进行异步 到同步转换。
[0005] 目前异步片上网络是学者们研究的热点之一。ANoC架构的链路和路由器都使用了 异步电路技术,在准延时不敏感(Quasi Delay Insensitive, QDI)逻辑类型中,不同的设计 方案则采用不同的异步数据传输模型。」提出一种基于QDI的ANoC,可进行简单的自适 应路由,具有较低的平均延时,但是该方法在一定的网络故障情况下路由能力差。


【发明内容】

[0006] 本发明目的就是为了弥补已有技术的缺陷,提供一种异步可容错片上网络路由器 设计方法。
[0007] 本发明是通过以下技术方案实现的: 一种异步可容错片上网络路由器设计方法,步骤操作如下: 步骤a、设定具体的延时假设模型、握手方式、编码方式、1/0模块间交互模式,设定异 步片上网络和片上路由器的基础结构; 步骤b、使用异步片上网络路由器中的测试模块检测端口或者与端口相连的链路故障 情况; 步骤C、数据包异步片上网络中传输时,每到达一个路由器,针对周围故障情况,在路由 计算单元,采用可容错偏转路由算法,选择数据包的输出端口; 步骤d、循环所述步骤C,直至数据包到达目的节点。
[0008] 步骤a中所述的设定异步片上网络的方法如下: 异步片上网络的延时假设模型选择quasi-delay insensitive模型,将电路的正确性 和延时分开考虑;同时,采用四相握手方式,初始时,请求和应答信号都为低,每次握手周期 请求和应答信号都分别经过两次跳变,当握手完成后,请求和应答信号均恢复到低电平,同 步电路采用二进制编码,每条线仅代表一个数据,而异步网络编码方式采用l-〇f-4编码, 即使用四条线用来传输两位数据,且l-〇f-4编码在数据线路上传输延时并不影响整体功 能,基于准延时不敏感逻辑,异步片上网络主要有三个部件组成:异步片上路由器、异步链 路和同步/异步转换接口。
[0009] 步骤c中所述的数据包异步片上网络中传输,具体步骤如下: 步骤e、处理单元作为发送端,通过同步到异步接口将数据包划分为微片(flits)发送 到网络中; 步骤 f、在 Synchronous-To-Asynchronous 接口中将 flits 转换成 l-〇f-4 编码; 步骤g、flits离开发送端后,通过若干异步链路和异步路由器到达目的路由器,再通 过异步到同步接口解码并重组,最后传入目的处理单元。
[0010] 步骤b中所述的片上网络路由器包含五个输入模块和五个输出模块,无中间仲裁 单元,采用虫孔路由方式,头flit到达后确定路由路径,向输出端口发送请求信号Request Signal,接收到输出端口回复的应答信号,再通过数据线传送数据,随后的flits依 次连续发送,当尾flit离开路由器时此次数据包传输结束。
[0011] 步骤c中所述的可容错偏转路由算法,具体步骤如下: 步骤h、将当前节点(Xcurr、Ycurr)和目的节点(Xdst、Ydst)的相对位置,通过传统的 维序路由逻辑进行计算,得到四个输出端口信号值Ν'、S'、W'和E',其中只有一个输出端口 方向信号为1,表不选中该方向输出,剩余三个信号都为〇,由于这个过程并没有结合故障 信息,故并不是最终选择的输出端口; 步骤i、将计算得到Ν'、S'、W'和E'值和得到的故障信息相结合,根据目的节点相对 于当前节点所在的象限位置,以跳数为依托,设定位于不同象限的节点的输出端口优先级, 即跳数越小优先级越高,跳数越大优先级越低,相同跳数则设定逆时针相邻的端口优先级 商; 步骤j、对已知的相对位置关系,结合测试架构检测到的端口或链路故障信息,得到异 步片上网络容错路由算法中四个端口的逻辑表达式,得到输出端口,直到输出端口号为本 地截止。
[0012] 异步电路有多种电路延时假设模型,这些假设模型由多种电路结构实现。因此 延时假设模型也是决定异步电路的抗延时抖动能力、面积、延时和功耗因素之一。当前 使用较多的延时假设模型有,延时不敏感(delay insensitive,DI)模型、准延时不敏感 (quasi-delay insensitive,QDI )、速度无关(speed independent,SI)模型以及延时绑定模 型。
[0013] 异步电路通过握手协议实现信号的传输,请求信号是用于建立握手过程,应答信 号用于表示一次握手信号传输结束。握手协议可分为四相握手和两相握手两类。四相握手 协议采用高低电平表示信号,相邻存储单元之间的数据传输通过四步完成,分别是请求、应 答、撤销请求和撤销应答。两相握手协议与四相握手不同的是相邻存储单元之间的数据传 输仅通过两步完成,即发送方发出请求信号和接收方在确认操作完成后返回的应答信号。 然而,实际数据的传递通常是伴随请求信号一起传递给接收方。由此可看出,握手协议直接 影响电路的性能。
[0014] 和同步电路的二进制编码不同,异步电路常采用的编码方式有一下几种:双轨编 码、I-Of-Ν编码以及M-of-N编码等。由于二进制编码所有的码字都是用于表示有效数据, 故具有较大的编码效率。然而延时不敏感电路或准延时不敏感电路模型的数据需要同时表 示数值和有效状态。二进制编码不存在无效编码,数据不能表示其有效状态,只能被用于同 步电路。由此可知,根据不同类型的握手协议、假设模型和编码方式,异步电路流水线存在 众多的实现方式,如数据绑定流水线、多轨流水线使用M-of-N编码和高速串行流水线等。
[0015] 全局异步局部同步或全异步的片上网络体系结构,是满足大型片上系统带宽需求 的有效方法之一。异步片上网络的网络接口统一,每个节点可以按需要调节自身的时钟频 率,因此处理核之间的异步路由器和链路可同时进行多个通信,降低了功耗和电磁干扰,增 加了可靠性,提升了整体性能,满足了片上网络的高带宽需求。故本发明方案选择准延时不 敏感电路作为异步电路逻辑设计的基础。
[0016] 本发明的优点是:本发明是通过片上网络和异步通信模式相结合实现了新型的异 步片上网络架构设计,并结合偏转路由容错算法,尽可能短路径绕过故障区域达到容错目 的,不仅减低了面积开销,还具有良好的可扩展性和容错能力。

【专利附图】

【附图说明】
[0017] 图1为异步片上网络基本模式选择图。
[0018] 图 2 为 GALS NoC 架构。
[0019] 图3为异步片上网络数据包格式。
[0020] 图4为异步片上网络路由器架构。
[0021] 图5为异步片上网络故障模型。
[0022] 图6为路由逻辑表达式。
[0023] 图7为异步片上网络路由器西端口地址处理单元。

【具体实施方式】
[0024] -种异步可容错片上网络路由器设计方法,步骤操作如下: a、根据所需实现的性能,选择异步片上网络基本模式,如延迟模型、握手协议、编码方 式,做好前期基础架构选择。
[0025] b、设定异步片上网络数据传输格式,先通过资源节点向网络中发送数据包,到达 目的地后再传送到目的节点的本地资源节点。
[0026] c、异步片上网络路由器架构,是异步片上网络中的关键部件,设定路由器的基本 组成,如输入输出单元,以及输入输出单元之间的连接。
[0027] d、设计异步片上网络故障模型,知道故障模型,则有针对性的设计路由算法进行 容错。
[0028] e、容错路由算法采用一种具有优先级的偏转路由送错算法。在地址处理模块,获 取到目的地址信息和故障信息后,根据当前节点和目的节点的相对位置关系,以选择最少 跳数的路径为目标路由数据包。最后再根据算法原理设计电路的硬件实现。
[0029] 异步片上网络基本模式选择: 本发明选择准延时不敏感电路作为异步电路逻辑设计的基础。在准延时不敏感电路 中,假设门和连线的延时是任意的,且所有分支上的互连线延时也是完全相同的。但是,在 引入应答信号后,每次数据传输必须要在应答信号到来后才可进行,这样保证了电路的延 时不敏感性。当前使用最多的就是QDI模型,其优点是可将电路的正确性和延时分开考虑, 见图1(a)为QDI延时模型。
[0030] 本发明异步片上网络通信采用四相握手方式,其控制电路相对简单,具体见图 1(b)所示,四相握手方式。初始时,请求和应答信号都为低,每次握手周期请求和应答信号 都分别经过两次跳变。当握手完成后,请求和应答信号均恢复到低电平。通常情况下,同步 电路采用简单的二进制编码,每条线仅代表一个数据。本发明中的异步网络编码方式采用 l-of-4编码,即使用四条线用来传输两位数据,其中只需一条线跳变即表示两位数据,见图 1(c)为l-of-4编码图。由于编码数据在数据线路上传输延时并不影响整体功能,故l-of-4 编码也是基于准延时不敏感逻辑的,且比双轨编码的系统翻转概率更少。
[0031] 异步片上网络数据传输模式设计: 本发明采用传统的2D mesh拓扑结构,设计的ANoC主要有三个部件组成:异步路 由器、异步链路和同步/异步转换接口,见图2。处理单元作为发送端,通过同步到异步 (Synchronous-To-Asynchronous,S2A)接口将数据包划分为微片(flits)发送到网络中。 在S2A接口中还将flits转换成l-of-4编码。每个数据包包含一个头fliUBOP位为1)、 多个体flits和一个尾flit (Ε0Ρ为1),格式见图3。微片离开发送端后,通过若干异步 链路和异步路由器到达目的路由器,再通过异步到同步(Asynchronous-To-Synchronous, A2S)接口解码并重组,最后传入目的处理单元。
[0032] 异步片上网络路由器架构设计: 本发明提出的ANoC是依托于传统同步路由器结构设计的,包含五个输入模块和五个 输出模块,无中间仲裁单元,见图4 (a)为ANoC路由器架构图。采用虫孔路由方式,头flit 到达后确定路由路径,通过浅色的信号线向输出端口发送请求信号Request Signal,接收 到输出端口回复的应答信号acki后,再通过深色的数据线传送数据,随后的flits依次连 续发送,当尾flit离开路由器时此次数据包传输结束。
[0033] 图4(b)为西输入和东输出模块间信息交互图,西输入、东输出模块间信息交互图。 数据包到达当前路由器的西输入端口后,首先存放在输入缓冲区,并对接收到的数据包头 flit进行分析,将其目的地址信息发送给地址处理单元。地址处理单元接受到Destination address signal和故障信息Fault signals后进行路由计算,产生一个东输出端口请求信 号Request signal发送到东输出模块。在另一端,东输出模块接收到从西输入发了的请求 信号,也可能接受到其他输入端口的请求信号Request signal,之后对请求信号进行仲裁。 如图所示,东输出模块选择西输入端口请求进行应答Grant signal,返回确认信号acki,并 和西输入端口建立连接。连接建立完毕后,从西输入端到东输出端开始传输数据,直到数据 包的尾flit传输完毕,则释放连接。
[0034] 此外,输入、输出模块中还包含了测试模块,用于检测端口或者与端口相连的链路 故障情况。其工作原理如下,当前输入端的测试模块先向其他几个输出端口的测试模块发 送测试请求Test request signal ;接受到测试请求的输出端测试模块检测当前端口和相邻 链路的故障情况,将该故障信息Test ack signal返回给输入端测试模块;输入端测试模块 整合接收到的来自各个输出测试模块返回的所有故障信息Fault signals,并发送给当前 输入模块的地址处理单元,地址处理单元结合故障信息进行路由计算,确定输出端口。
[0035] 异步路由器故障模型: 本发明假设出现故障的位置为端口或链路故障,异步路由器故障模型见图5。图中显示 的是ANoC中两个相邻路由器相互通信,右侧路由器的西输出端口发生故障时,便不能向相 邻的下游路由器的转发数据。同样当链路发生故障时,相邻路由器间不能相互通信。这两 种情况都会造成网络拥塞,增大了网络延时,降低了吞吐量。一旦发生永久性故障,如果不 采取相应的容错措施,只会使网络状况越来越差。因此在路由器设计时必须考虑端口和链 路故障问题。
[0036] 容错路由算法设计及硬件实现: 该容错路由的路由逻辑可以分为三部分理解。首先根据地址信息分析当前节点和目的 节点的相对位置,即将当前节点和目的节点坐标和Xdst、和Ydst通过传统的维序路 由逻辑进行计算,得到四个输出端口信号值Ν'、S'、W'和E',其中只有一个输出端口方向信 号为1,表不选中该方向输出,剩余三个信号都为0。由于这个过程并没有结合故障信息,故 并不是最终选择的输出端口。
[0037] 然后就是将计算得到Ν'、S'、W'和E'值和得到的故障信息相结合。若当前路由器 的输出端口或者相邻链路出现故障,则根据目的节点相对于当前节点所在的象限位置,以 跳数为依托,设定位于不同象限的节点的输出端口优先级,即跳数越小优先级越高,跳数越 大优先级越低,相同跳数则设定逆时针相邻的端口优先级高。若目的节点位于当前节点的 第一象限,则输出端口优先级为N>E>W>S ;同理,第二象限端口优先级为W>N>S>E ;第三象限 S>W>E>N;第四象限端口优先级为E>S>N>W。这是为了确保数据包尽可能的向着目的节点路 由,减少绕路。最后,通过已知的相对位置关系,结合测试架构检测到的端口或链路故障信 息,可以得到异步片上网络容错路由算法中四个端口的逻辑表达式,见图6。本发明用F e、 IV Fs和Fn分别表示当前路由器的东、西、南、北端口或者相邻链路故障情况,〇表示故障,1 表示无故障。由于输出端口和相邻链路中任意一个出现故障,都不可以通过该端口向下游 路由器路由,故当出现其中任一故障情况都采用F E、Fw、Fs和FN参数表示。以东端口为例, 得到西端口的逻辑结构图,见图7。
【权利要求】
1. 一种异步可容错片上网络路由器设计方法,其特征在于:步骤操作如下: 步骤a、设定具体的延时假设模型、握手方式、编码方式、I/O模块间交互模式,设定异 步片上网络和片上路由器的基础结构; 步骤b、使用异步片上网络路由器中的测试模块检测端口或者与端口相连的链路故障 情况; 步骤c、数据包异步片上网络中传输时,每到达一个路由器,针对周围故障情况,在路由 计算单元,采用可容错偏转路由算法,选择数据包的输出端口; 步骤d、循环所述步骤c,直至数据包到达目的节点。
2. 根据权利要求1所述的一种异步可容错片上网络路由器设计方法,其特征在于:步 骤a中所述的设定异步片上网络的方法如下: 异步片上网络的延时假设模型选择quasi-delay insensitive模型,将电路的正确性 和延时分开考虑;同时,采用四相握手方式,初始时,请求和应答信号都为低,每次握手周期 请求和应答信号都分别经过两次跳变,当握手完成后,请求和应答信号均恢复到低电平,同 步电路采用二进制编码,每条线仅代表一个数据,而异步网络编码方式采用l-〇f-4编码, 即使用四条线用来传输两位数据,且l-〇f-4编码在数据线路上传输延时并不影响整体功 能,基于准延时不敏感逻辑,异步片上网络主要有三个部件组成:异步片上路由器、异步链 路和同步/异步转换接口。
3. 根据权利要求1所述的一种异步可容错片上网络路由器设计方法,其特征在于:步 骤c中所述的数据包异步片上网络中传输,具体步骤如下: 步骤e、处理单元作为发送端,通过同步到异步接口将数据包划分为微片(flits)发送 到网络中; 步骤 f、在 Synchronous-To-Asynchronous 接 口中将 flits 转换成 l-〇f-4 编码; 步骤g、flits离开发送端后,通过若干异步链路和异步路由器到达目的路由器,再通 过异步到同步接口解码并重组,最后传入目的处理单元。
4. 根据权利要求1所述的一种异步可容错片上网络路由器设计方法,其特征在于:步 骤b中所述的片上网络路由器包含五个输入模块和五个输出模块,无中间仲裁单元,采用 虫孔路由方式,头flit到达后确定路由路径,向输出端口发送请求信号Re questSignal,接 收到输出端口回复的应答信号ad^后,再通过数据线传送数据,随后的flits依次连续发 送,当尾flit离开路由器时此次数据包传输结束。
5. 根据权利要求1所述的一种异步可容错片上网络路由器设计方法,其特征在于:步 骤c中所述的可容错偏转路由算法,具体步骤如下: 步骤h、将当前节点(Xcurr、Ycurr)和目的节点(Xdst、Ydst)的相对位置,通过传统的 维序路由逻辑进行计算,得到四个输出端口信号值Ν'、S'、W'和E',其中只有一个输出端口 方向信号为1,表不选中该方向输出,剩余三个信号都为〇,由于这个过程并没有结合故障 信息,故并不是最终选择的输出端口; 步骤i、将计算得到Ν'、S'、W'和E'值和得到的故障信息相结合,根据目的节点相对 于当前节点所在的象限位置,以跳数为依托,设定位于不同象限的节点的输出端口优先级, 即跳数越小优先级越高,跳数越大优先级越低,相同跳数则设定逆时针相邻的端口优先级 商; 步骤j、对已知的相对位置关系,结合测试架构检测到的端口或链路故障信息,得到异 步片上网络容错路由算法中四个端口的逻辑表达式,得到输出端口,直到输出端口号为本 地截止。
【文档编号】G06F15/173GK104065570SQ201410284202
【公开日】2014年9月24日 申请日期:2014年6月23日 优先权日:2014年6月23日
【发明者】欧阳一鸣, 欧阳小叶, 梁华国, 黄正峰, 高妍妍, 陈 田, 王悄, 李建华 申请人:合肥工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1