一种固定时间片协同流控的片上环网防饥饿处理方法

文档序号:9790847阅读:780来源:国知局
一种固定时间片协同流控的片上环网防饥饿处理方法
【技术领域】
[0001] 本发明设及片上多核结构的环网技术领域,特别是设及一种固定时间片协同流控 的片上环网防饥饿处理方法。
【背景技术】
[0002] 随着半导体工艺的进步和片上系统(System On化ip,SoC)技术的不断完善,单忍 片上集成的处理器核数、片上缓存、存储控制器和各种I/O接口越来越多,连接运些模块的 片上网络(Network化化ip,NoC)设计复杂度不断提高,在正确性验证、后端物理实现和频 率提升等多方面都面临着新的挑战。
[0003] NoC的设计包括拓扑结构、路由算法、服务质量和阻塞控制等几个方面,由于NoC在 一个忍片上实现,受面积和功耗的限制,具体实现时,应在满足性能需求的前提下,尽量选 择简单高效的拓扑结构和路由算法,并在此基础上考虑服务质量和阻塞控制等问题。其中, 路由算法对正确性至关重要,设计时必须满足W下要求:
[0004] 1)路由算法必须能将消息正确发送到目的地,即要求算法无死锁和活锁;
[0005] 2)路由算法应该公平对待NoC上的所有节点,W防止饥饿。
[0006] NoC的路由算法一般选择确定性路由,通过查询路由表或设置有限状态机来实现。 路由算法在给定的源和目标节点之间提供唯一的消息传递路径,且通常是最短路径。在当 前主流的SoC架构下,NoC节点数在10个左右,综合考虑性能和硬件开销,一般选择环网结构 来连接各处理器、I/O接口和存储器接口,且采用双向环网来提高环网带宽。
[0007] 基于此类环网拓扑结构,一种简单易行的路由算法如下:
[000引1)采用源方路由机制,每个节点按最短路径算法制定一张路由表,明确指示一个 消息从源节点传递到目标节点是采用顺时针环网还是逆时针环网,同时指定传输的跨步距 离;
[0009] 2)每个方向的环网节点,根据消息的来源和目标,将消息分为4类:本地到本地消 息、本地到远程消息、远程到本地消息、远程到远程消息;其中,本地到本地消息和本地到远 程消息简称插入消息,远程到本地消息和远程到远程消息简称网络消息;
[0010] 3)每个方向的每个环网节点,设置2个站台:落地站台和转发站台,落地站台暂存 本地到本地或远程到本地的消息,转发站台暂存本地到远程或远程到远程的消息;落地站 台和转发站台合起来作为本节点的网络资源;
[0011] 4)网络消息绝对优先于插入消息:本地到本地消息与远程到本地消息仲裁进入落 地站台,远程到本地消息无条件优先于本地到本地消息;本地到远程消息与远程到远程消 息仲裁进入转发站台,远程到远程消息无条件优先于本地到远程消息;
[0012] 5)每个方向的环网实现为无阻塞网络,通过源与目标之间的信用机制W及网络消 息绝对优先于插入消息,保证源节点发出的消息一定不会滞留在任何一个网络节点的落地 站台和转发站台。
[0013] 上述路由算法设计简单,能有效避免死锁问题,但因网络消息无条件优先于插入 消息,所W源节点可能存在饥饿问题。产生饥饿的情况有两种:
[0014] 1)源节点有本地到本地消息需要占用落地站台,但因上游节点持续不断地向源节 点发送远程到本地消息,使得源节点长时间无法发送本地到本地消息;
[0015] 2)源节点有本地到远程消息需要占用转发站台,但因上游节点持续不断地向源节 点发送远程到远程消息,使得源节点长时间无法发送本地到远程消息。
[0016] 落地站台和转发站台合起来作为本节点的网络资源,需要一起进行防饥饿处理。

【发明内容】

[0017] 本发明所要解决的技术问题是提供一种固定时间片协同流控的片上环网防饥饿 处理方法,能够彻底防止源节点出现饥饿问题。
[0018] 本发明解决其技术问题所采用的技术方案是:提供一种固定时间片协同流控的片 上环网防饥饿处理方法,在消息环网之外,构建一个独立的流量控制环网来传递所有饥饿 节点的流量控制包,同一个环网方向上的所有饥饿节点只能在固定时间片里向其上游节点 发送原始流量控制包,原始流量控制包通过流量控制环网依次传递给本饥饿节点对应的所 有上游节点,上游节点根据所收到的流量控制包信息,选择在适当的时机禁止发送某种跨 步距离的本地到远程消息,协同预留一个网络空闲的时间片,使饥饿节点一定能发送插入 消息,解除饥饿。
[0019] 所述流量控制环网与消息环网的方向相反,且流量控制包中的信息包含饥饿节点 与本上游节点在消息环网上的跨步距离信息。
[0020] 如果消息传递的最大跨步距离为n,则饥饿节点需要通知n个上游节点进行流量控 审IJ,流量控制包在流量控制环网上依次传递,最终到达所有的上游节点。
[0021] 连续两次发送原始流量控制包的时间片间隔等于一个饥饿节点传递流量控制包 给最远端上游节点的时间。
[0022] 所述上游节点根据收到的流量控制包信息,确定在某一时钟周期里禁止发送某种 跨步距离的本地到远程消息;如果消息传递的最大跨步距离为n,每个节点传递流量控制包 的延迟为y,每个节点传递消息的延迟为X,则与饥饿节点距离为j(l含j含n)的上游节点,收 到的流量控制包值为"n-j+r,经过(n*y+(n-j)*x)拍后,禁止发送跨步距离含j的本地到远 程消息,允许发送跨步距离<j的本地到远程消息、本地到本地消息和网络消息;饥饿节点经 过n*(x+y)拍后,一定有一拍网络空闲可W发送插入消息,解除饥饿。
[0023] 所述上游节点在进行流量控制时,即使本节点也处于饥饿状态,仍不能发送某种 跨步距离的本地到远程消息,W保证当前被处理的饥饿节点一定能解除饥饿;如果消息传 递的最大跨步距离为n,每个节点传递流量控制包的延迟为y,每个节点传递消息的延迟为 X,则与饥饿节点距离为j(l < j <n)的上游节点,收到流量控制包(n*y+(n-j)*x)拍W后,即 使本节点自身也处于饥饿状态,仍然禁止发送跨步距离含j的本地到远程消息。
[0024] 所述饥饿节点在等待解除饥饿解除状态,如果提前识别到网络空闲,且不在进行 流量控制,则可W发送插入消息,提前解除饥饿。
[00巧]有益效果
[0026]由于采用了上述的技术方案,本发明与现有技术相比,具有W下的优点和积极效 果:本发明在消息环网之外,构建一个独立的流量控制环网来传递所有饥饿节点的流量控 制包,同一个环网方向上的所有饥饿节点只能在固定时间片里向其上游节点发送原始流量 控制包,原始流量控制包通过流量控制环网依次传递给本饥饿节点对应的所有上游节点, 上游节点根据所收到的流量控制包信息,选择在适当的时机禁止本节点向该饥饿节点发送 本地到远程消息,协同预留一个网络空闲的时间片,使饥饿节点一定能发送插入消息,解除 饥饿,从而彻底解决了远程请求无条件优先的无阻塞环网中存在的饥饿问题,同时又最大 限度保证了消息传递效
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1