一种基于“包-电路”交换技术的动态转向路由算法制造技术

技术编号:14117019 阅读:137 留言:0更新日期:2016-12-07 23:47
本发明专利技术公开一种基于“包‑电路”交换技术的动态转向路由算法,其特征是应用于“包‑电路”交换技术的链路建立阶段,能根据片上网络中的流量分布和拥塞情况等信息选择适当的路径进行数据传输,是一种自适应路由算法。该算法根据当前路由节点和下游路由节点的端口使用情况,选择无拥塞的路由节点,实现动态的转向路由,从而可以减少网络拥塞发生的概率,使数据流在网络中分均匀分布,进而充分的利用网络资源,提高系统的性能;同时能提高链路的建立成功率,避免在链路建立过程中,多次的建立和撤销链路,降低网络和系统的功耗。

【技术实现步骤摘要】

本专利技术涉及一种基于“包-电路”交换技术的动态转向路由算法,属于片上网络通讯

技术介绍
随着半导体工艺的不断发展,集成电路集成度的大幅提高以及工作频率的不断上升,传统总线结构的多功能片上系统(SoC)的扩展性差、并行度低以及全局时钟同步困难等缺点逐渐显露出来。为了克服总线型SoC的固有缺点,片上网络(NoC)的概念被提了出来。NoC具有良好的地址空间及可拓展性,较强的并行处理能力,同时采用全局同步局部异步的机制有效的解决了全局时钟带来的功耗和面积增加等问题,成为解决片上通信的主流技术之一。片上网络的研究包括:拓扑结构、路由算法和交换技术等方面,拓扑结构决定了片上网络中路由节点和资源节点在网络中位置与连接,目前已实现了多种拓扑结构,例如Mesh、Torus、树形、Fat-tree、星型等结构,Mesh结构由于其结构简单易于拓展与实现而得到广泛的使用,图1所示为一个典型的Mesh结构的片上网络。路由算法决定数据在网络中的传输路径,是影响NoC性能的重要因素之一,按照一定路由算法设计的路由器,其性能将直接影响片上网络的通信效率,从而对NoC性能产生重要影响。交换技术是指数据在路由节点间的交互机制,“包-电路”交换技术是一种适用于与大批量数据传输的交换方式,其特点是将数据的传输分为三个阶段:链路建立阶段,数据传输阶段和链路撤销阶段。常用于虫孔、存储转发和虚通道交换技术的路由算法大多适用于通信量不大的数据传输,因此很难发挥“包-电路”交换技术在大批量数据传输中的优势。
技术实现思路
本专利技术为克服了现有技术的不足之处,提出了一种基于“包-电路”交换技术的动态转向路由算法,以期能减小网络中发生拥塞的概率,实现数据流在网络中的平均分布,提高网络的利用率,同时还能提高链路建立的成功率,提高网络的平均吞吐量,减小平均包延迟,提高数据传输的效率,从而提高系统整体性能。本专利技术为达到上述目的所采用的技术方案是:本专利技术一种基于“包-电路”交换技术的动态转向路由算法,其特点是应用于包含若干个路由节点、若干个资源节点和若干条互连通道所组成的片上网络中;所述路由节点包括:输入控制器、地址译码器、仲裁器、交叉开关、输出控制器;当前路由节点的输入控制器接收来自上游路由节点或资源节点的路由请求后,向所述上游节点或资源节点反馈链路建立情况,并根据所述链路建立情况控制自身输入控制器的工作状态,同时将接收到的路由请求发送到自身地址译码器;所述当前路由节点的地址译码器接收来自不同的输入控制器的路由请求,并按照优先级顺序处理各个路由请求;所述地址译码器从所述路由请求提取路由的目的节点坐标,从而根据所述当前路由节点的坐标和所述目的节点的目标确定所述当前节点的可能路由方向;以可能路由方向作为所述当前节点的后继选择方向;从而确定在所述后继选择方向上的后继节点的可能路由方向;进而将所述后继选择方向、后继节点的可能路由方向以及路由请求发送到仲裁器;所述当前路由节点的仲裁器接收所述后继选择方向、后继节点的可能路由方向以及路由请求后,根据所述当前路由节点和所述后继节点的输出端口占用情况,按照优先级顺序选择所述路由请求在所述当前路由节点上的可用输出端口;若存在可用输出端口,则产生一个互连信号给所述控制交叉开关,若不存在可用输出端口,则向所述当前路由节点的输入控制器反馈失败信号,用于重新确定当前路由节点的输入控制器的工作状态;所述当前路由节点的交叉开关接收来自所述仲裁器的互连信号,从而控制当前路由节点相应的输入控制器和输出控制器相连;所述当前路由节点的输出控制器接收来自所述输入控制器的路由请求,并将其传输到所述后继节点,同时将所述后继节点反馈的链路建立情况发送到所述当前路由节点的输入控制器,从而实现动态改变路由路径。本专利技术所述的动态转向路由算法的特点也在于,假设所述当前节点坐标为(X,Y),所述目的节点的坐标为(DEST_X,DEST_Y);任意一个路由节点具有五个方向,包括:东向、南向、西向、北向和本地方向;则所述当前节点的可能路由方向是按如下原则确定:a.若DEST_X>X,则可能的路由方向为东向;b.若DEST_X<X,则可能的路由方向为西向;c.若DEST_Y>Y,则可能的路由方向为南向;d.若DEST_Y<Y,则可能的路由方向为北向;e.若DEST_X=X且DEST_Y=Y,则可能的路由方向为本地方向。3、根据权利要求2所述的动态转向路由算法,其特征是,所述后继选择方向上的后继节点的可能路由方向是按如下方式确定:a.若当前节点的可能路由方向为东向,则根据所述原则比较目的节点坐标(DEST_X,DEST_Y)和东向上的后继节点坐标(X+1,Y),从而确定后继节点的可能路由方向;b.若当前节点的可能路由方向为南向,则根据所述原则比较目的节点坐标(DEST_X,DEST_Y)和南向上的后继节点坐标(X,Y+1),从而确定后继节点的可能路由方向;c.若当前节点的可能路由方向为西向,则根据所述原则比较目的节点坐标(DEST_X,DEST_Y)和西向上的后继节点坐标(X-1,Y),从而确定后继节点的可能路由方向;d.若当前节点的可能路由方向为北向,则根据所述原则比较目的节点坐标(DEST_X,DEST_Y)和北向上的后继节点坐标(X,Y-1),从而确定后继节点的可能路由方向;e若当前节点可能的路由方向为本地方向,则不进行比较。所述仲裁器是按如下方式选择在所述当前路由节点上的可用输出端口:a.若所述当前节点的可能路由方向为东向,则判断当前节点的东向输出端口是否可用,若不可用,则直接反馈失败信号;若可用,则继续按优先级顺序判断东向上的后继节点的可能路由方向上的输出端口是否可用;若存在可用的输出端口,则选择东向的输出端口作为所述当前路由节点上的可用输出端口;若不存在可用的输出端口,则反馈失败信号;b.若所述当前节点的可能路由方向为南向,则判断当前节点的南向输出端口是否可用,若不可用,则直接反馈失败信号;若可用,继续按优先级顺序判断南向的所述后继节点的可能路由方向上的输出端口是否可用;若存在可用的输出端口,则选择南向的输出端口作为所述当前路由节点上的可用输出端口;若不存在可用输出端口,则反馈失败信号;c.若所述当前节点的可能路由方向为西向,则判断当前节点的西向输出端口是否可用,若不可用,则直接反馈失败信号;若可用,继续按优先级顺序判断西向的所述后继节点的可能路由方向上的输出端口是否可用;若存在可用的输出端口,则选择西向的输出端口作为所述当前路由节点上的可用输出端口;若不存在可用输出端口,则反馈失败信号;d.若所述当前节点的可能路由方向为北向,则判断当前节点的北向输出端口是否可用,若不可用,则直接反馈失败信号;若可用,继续按优先级顺序判断北向的所述后继节点的可能路由方向上的输出端口是否可用;若存在可用的输出端口,则选择北向的输出端口作为所述当前路由节点上的可用输出端口;若不存在可用输出端口,则反馈失败信号;e.若所述当前节点的可能路由方向为本地方向,则直接判断所述当前节点的本地方向输出端口是否可用,若可用,则选择本地方向的输出端口作为所述当前路由节点上的可用输出端口;若不可用,则反馈失败信号。与现有技术相比,本专利技术的有益技术效果体现在:本文档来自技高网...
一种基于“包-电路”交换技术的动态转向路由算法

【技术保护点】
一种基于“包‑电路”交换技术的动态转向路由算法,其特征是应用于包含若干个路由节点、若干个资源节点和若干条互连通道所组成的片上网络中;所述路由节点包括:输入控制器、地址译码器、仲裁器、交叉开关、输出控制器;当前路由节点的输入控制器接收来自上游路由节点或资源节点的路由请求后,向所述上游节点或资源节点反馈链路建立情况,并根据所述链路建立情况控制自身输入控制器的工作状态,同时将接收到的路由请求发送到自身地址译码器;所述当前路由节点的地址译码器接收来自不同的输入控制器的路由请求,并按照优先级顺序处理各个路由请求;所述地址译码器从所述路由请求提取路由的目的节点坐标,从而根据所述当前路由节点的坐标和所述目的节点的目标确定所述当前节点的可能路由方向;以可能路由方向作为所述当前节点的后继选择方向;从而确定在所述后继选择方向上的后继节点的可能路由方向;进而将所述后继选择方向、后继节点的可能路由方向以及路由请求发送到仲裁器;所述当前路由节点的仲裁器接收所述后继选择方向、后继节点的可能路由方向以及路由请求后,根据所述当前路由节点和所述后继节点的输出端口占用情况,按照优先级顺序选择所述路由请求在所述当前路由节点上的可用输出端口;若存在可用输出端口,则产生一个互连信号给所述控制交叉开关,若不存在可用输出端口,则向所述当前路由节点的输入控制器反馈失败信号,用于重新确定当前路由节点的输入控制器的工作状态;所述当前路由节点的交叉开关接收来自所述仲裁器的互连信号,从而控制当前路由节点相应的输入控制器和输出控制器相连;所述当前路由节点的输出控制器接收来自所述输入控制器的路由请求,并将其传输到所述后继节点,同时将所述后继节点反馈的链路建立情况发送到所述当前路由节点的输入控制器,从而实现动态改变路由路径。...

【技术特征摘要】
1.一种基于“包-电路”交换技术的动态转向路由算法,其特征是应用于包含若干个路由节点、若干个资源节点和若干条互连通道所组成的片上网络中;所述路由节点包括:输入控制器、地址译码器、仲裁器、交叉开关、输出控制器;当前路由节点的输入控制器接收来自上游路由节点或资源节点的路由请求后,向所述上游节点或资源节点反馈链路建立情况,并根据所述链路建立情况控制自身输入控制器的工作状态,同时将接收到的路由请求发送到自身地址译码器;所述当前路由节点的地址译码器接收来自不同的输入控制器的路由请求,并按照优先级顺序处理各个路由请求;所述地址译码器从所述路由请求提取路由的目的节点坐标,从而根据所述当前路由节点的坐标和所述目的节点的目标确定所述当前节点的可能路由方向;以可能路由方向作为所述当前节点的后继选择方向;从而确定在所述后继选择方向上的后继节点的可能路由方向;进而将所述后继选择方向、后继节点的可能路由方向以及路由请求发送到仲裁器;所述当前路由节点的仲裁器接收所述后继选择方向、后继节点的可能路由方向以及路由请求后,根据所述当前路由节点和所述后继节点的输出端口占用情况,按照优先级顺序选择所述路由请求在所述当前路由节点上的可用输出端口;若存在可用输出端口,则产生一个互连信号给所述控制交叉开关,若不存在可用输出端口,则向所述当前路由节点的输入控制器反馈失败信号,用于重新确定当前路由节点的输入控制器的工作状态;所述当前路由节点的交叉开关接收来自所述仲裁器的互连信号,从而控制当前路由节点相应的输入控制器和输出控制器相连;所述当前路由节点的输出控制器接收来自所述输入控制器的路由请求,并将其传输到所述后继节点,同时将所述后继节点反馈的链路建立情况发送到所述当前路由节点的输入控制器,从而实现动态改变路由路径。2.根据权利要求1所述的动态转向路由算法,其特征是,假设所述当前节点坐标为(X,Y),所述目的节点的坐标为(DEST_X,DEST_Y);任意一个路由节点具有五个方向,包括:东向、南向、西向、北向和本地方向;则所述当前节点的可能路由方向是按如下原则确定:a.若DEST_X>X,则可能的路由方向为东向;b.若DEST_X<X,则可能的路由方向为西向;c.若DEST_Y>Y,则可能的路由方向为南向;d.若DEST_Y<Y,则可能的路由方向为北向;e.若DEST_X=X且DEST_Y=Y,则可能的路由方向为本地方向。3.根据权利要求2所述的动态转向路由算法,其特征是,所述后继选择方向上的后继节点的可能路由方向是按如下方式确定:a.若当前节点的可能路由方向为东向,则根据所述原则比较...

【专利技术属性】
技术研发人员:宋宇鲲钱庆松张多利姚永彤
申请(专利权)人:合肥工业大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1