一种片上网络拓扑结构及其自适应路由方法_3

文档序号:9435942阅读:来源:国知局
确定性的路由策略,而是 在路由过程中对路由环境中的阻塞信息进行监控,同时结合"最短路径策略",动态的调整 下一跳的路由节点,尽可能规避阻塞严重或出现故障的路由节点,从而减小路由延迟,提高 片上网络的吞吐率,即在当前路由节点进行路由计算前,首先检测路由方向上的局部阻塞 信号,优先选择状态为空闲的路由节点;
[0066] 本发明实施例以6X6的H-AnnularMesh片上网络为例,阐述自适应路由方法:
[0067] 步骤1、在网络拓扑结构中,根据用户发送请求信息确定源节点和目的节点;
[0068] 本发明实施例中,设定源节点为S(x_s,y_s),目的节点为D(x_dst,y_dst),当前 节点为C(x,y)。路由开始时,当前节点即为源节点,即C(x,y) =S(x_s,y_s);同时每个 路由节点具有8个方位,分别为东、南、西、北、东北、东南、西北和西南;节点即为路由器,其 中,既有Tx方向连线又有Ty方向连线的路由器有7个端口,包括:本地端口、东向端口、西 向端口、南向端口、北向端口、Tx端口和Ty端口;只有Tx方向或Ty方向连线的路由器有6 个端口,包括:本地端口、东向端口、西向端口、南向端口、北向端口、Tx端口或Ty端口;其余 的路由器有5个端口,包括:本地端口、东向端口、西向端口、南向端口和北向端口;同时设 定该H-annularMesh片上网络的(0,0)节点位于该片上网络的左下角;
[0069] 步骤2、判断当前节点本身是否为目的节点,若是,则将要求发送的数据发送至当 前节点的本地端口,否则,执行步骤3;
[0070] 步骤3、判断当前节点与目的节点之间的方向为东西方向之一、或南北方向之一、 或东南方向、或西南方向、或东北方向、或西北方向,若为东西方向之一,则执行步骤4;若 为南北方向之一,则执行步骤6;若为东南方向,则执行步骤8;若为西南方向,则执行步骤 10;若为东北方向,则执行步骤12;若为西北方向,则执行步骤14;
[0071] 步骤4、判断当前节点是否有Tx端口,若有,则执行步骤5;否则,将要求发送的数 据发送至东向端口或西向端口;
[0072] 步骤5、判断当前节点与目的节点之间的路径上是否有Tx方向连线且该连线属于 当前节点的Tx端口,若有,则将要求发送的数据发送至Tx端口,否则,将要求发送的数据发 送至东向端口或西向端口;
[0073] 本发明实施例中,若x= 0,说明当前节点具有Tx方向的连线,目的节点在当前节 点的东向,则进一步判断^(1说是否等于x+1,若是,则当前节点将数据发送到东向端口进 行输出;否则,当前节点将数据发送到Tx端口进行输出;
[0074] 本发明实施例中,若x= 5,说明当前节点具有Tx方向的连线,目的节点在当前节 点的西向,贝进一步判断x_dst是否等于x-1,若是,贝lj当前节点将数据发送到西向端口进 行输出;否则,当前节点将数据发送到Tx方向端口进行输出;
[0075] 本发明实施例中,若x=2,说明当前节点具有Tx方向的连线,则
[0076] ?若x_dst=x-1,即目的节点在当前节点的西向,则当前节点将数据发送到西向 端口进行输出;
[0077] ?若x_dst=x-2,即目的节点在当前节点的西向,且目的节点与当前节点之间有 Tx的连线,则当前节点将数据发送到Tx方向端口输出;
[0078] ?若x_dst=x+i,其中i=1,2,3,即目的节点在当前节点的东向,贝lj当前节点将 数据发送到东向端口进行输出;
[0079] 本发明实施例中,若x= 3,说明当前节点具有Tx方向的连线,则
[0080] ?若x_dst=x-i,其中i=1,2,3,即目的节点在当前节点的西向,贝lj当前节点将 数据发送到西向端口进行输出;
[0081] ?若x_dst=x+2,即目的节点在当前节点的东向,且目的节点与当前节点之间有 Tx的连线,则当前节点将数据发送到Tx方向端口输出;
[0082] ?若x_dst=x+1,即目的节点在当前节点的东向,则当前节点将数据发送到东向 端口进行输出;
[0083] 若不满足上述条件,说明当前节点不具有Tx方向的连线,则进一步判断x_dst是 否等于x-i,其中i= 1,2,…,t,t为整数,且t彡X,若是,即目的节点在当前节点的西向, 则当前节点将数据发送到西向端口进行输出;否则,即目的节点在当前节点的东向,则当前 节点将数据发送到东向端口进行输出;
[0084] 步骤6、判断当前节点是否有Ty端口,若有,则执行步骤7;否则,将要求发送的数 据发送至南向端口或北向端口;
[0085] 步骤7、判断当前节点与目的节点之间的路径上是否有Ty方向连线且该连线属于 当前节点的Ty端口,若有,则将要求发送的数据发送至Ty端口,否则,将要求发送的数据发 送至南向端口或北向端口;
[0086] 本发明实施例中,若y=0,说明当前节点具有Ty方向的连线,目的节点在当前节 点的北向,则进一步判断7_(1说是否等于y+1,若是,则当前节点将数据发送到北向端口进 行输出;否则,当前节点将数据发送到Ty方向端口进行输出。
[0087] 本发明实施例中,若y= 5,说明当前节点具有Ty方向的连线,目的节点在当前节 点的南向,贝进一步判断y_dst是否等于y-1,若是,贝lj当前节点将数据发送到南向端口进 行输出;否则,当前节点将数据发送到Ty方向端口进行输出。
[0088] 本发明实施例中,若y= 2,说明当前节点具有Ty方向的连线,贝1J
[0089] ?若y_dst=y-1,即目的节点在当前节点的南向,则当前节点将数据发送到南向 端口进行输出;
[0090] ?若y_dst=y-2,即目的节点在当前节点的南向,且目的节点与当前节点之间有 Ty的连线,则当前节点将数据发送到Ty方向端口输出;
[0091] ?若y_dst=y+i,其中i= 1,2,3,即目的节点在当前节点的北向,贝lj当前节点将 数据发送到北向端口进行输出;
[0092] 本发明实施例中,若y= 3,说明当前节点具有Ty方向的连线,则
[0093] ?若y_dst=y-i,其中i= 1,2,3,即目的节点在当前节点的南向,贝lj当前节点将 数据发送到南向端口进行输出;
[0094] ?若y_dst=y+2,即目的节点在当前节点的北向,且目的节点与当前节点之间有 Ty的连线,则当前节点将数据发送到Ty方向端口输出;
[0095] ?若y_dst=y+1,即目的节点在当前节点的北向,则当前节点将数据发送到北向 端口进行输出;
[0096] 本发明实施例中,若不满足上述条件,说明当前节点不具有Ty方向的连线,则进 一步判断y_dst是否等于y-i,其中i= 1,2,…,t,t为整数,且t彡y,若是,即目的节点 在当前节点的南向,则当前节点将数据发送到南向端口进行输出;否则,即目的节点在当前 节点的北向,则当前节点将数据发送到北向端口进行输出;
[0097] 步骤8、判断当前节点与目的节点之间的路径上是否有Tx方向连线且该连线属于 当前节点的Tx端口,或当前节点与目的节点之间的路径上是否有Ty方向连线且该连线属 于当前节点的Ty端口,若有,则将要求发送的数据发送至Tx端口或Ty端口,否则,执行步 骤9 ;
[0098] 所述的将要求发送的数据发送至Tx端口或Ty端口,需要判断对应的Tx端口或Ty 端口是否有阻塞情况,若是,则执行步骤9,若否,则将要发送的数据发送至相应的Tx端口 或Ty端口;
[0099] 步骤9、判断当前节点的东向端口和南向端口是否有阻塞情况,若上述两个端口均 阻塞,则等待阻塞情况消失后将要求发送的数据发送至东向端口或南向端口,若上述两个 端口其中之一阻塞,则将要求发送的数据发送至未阻塞的端口,若上述两个端口均未阻塞, 则通过轮转的方式将要求发送的数据发送至东向端口或南向端口;
[0100] 本发明实施例中,米用pend信号作为传输方向上的局部阻塞信号,该信号为0时 代表路由节点某一路由方向不阻塞,为1时代表路由节点的某一路由方向阻塞;所述pend 信号,包括:pend_e信号、pend_w信号、pend_s信号、pend_n信号、pend_Tx信号和pend_Ty 信号;所述pend_e信号代表东向输出路径的阻塞状态,所述pend_w信号代表西向输出路径 的阻塞状态,所述pend_s信号代表南向输出路径的阻塞状态,所述pend_n信号代表北向输 出路径的阻塞状态,所述pend_TX信号代表Tx方向输出路径的阻塞状态,所述pend_Ty信 号代表Ty方向输出路径的阻塞状态;
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1