附加请求数优先级的片上网络资源仲裁方法及仲裁单元的制作方法

文档序号:9304523阅读:355来源:国知局
附加请求数优先级的片上网络资源仲裁方法及仲裁单元的制作方法
【技术领域】
:
[0001]本发明涉及片上网络设计领域,具体涉及一种解决片上网络全局链路节点服务公平性的仲裁方法及仲裁单元。
【背景技术】
:
[0002]片上网络(Network on Chip, NoC)技术的出现使单芯片可以集成数目众多的同构或异构IP核。异构IP核如内存、1控制器可以作为共享资源供其它主IP核如CPU访问。当访问请求发生竞争和冲突时,片上路由器的的仲裁单元为多个输入请求分配虚拟通道(virtual channel, VC)和输出端口资源,其执行效率、公平性、复杂程度直接决定了 NoC的性能。NoC中采用的仲裁方法有固定优先级仲裁(FPA)、可变优先级仲裁(VPA)、轮询仲裁(RRA)、加权仲裁(WRR)等。其中轮询仲裁因其简单易实现被较多NoC设计采用。轮询算法一般按请求、应答、授权三个步骤执行。在一个请求队列ΣΓι里,每个成员(请求)都具有相同的地位,轮询算法在这组成员中顺序给予资源授权。轮询算法的资源分配是可预知的,每个请求被选择的机会是1/ΣΓι,适用于集群中所有路由节点的处理能力和性能均相同的情况。但是,轮询仲裁只能在本地节点提供公平服务。当源节点发送的数据包沿着路由链路传播时,在未到达目的节点处的共享IP核之前,不断有其他源节点发送过来的数据包注入链路,距离共享IP核一个跳数的节点只需要经过一个路由节点的轮询仲裁,而距离共享IP核η个跳数的节点则需要经过η个路由节点的轮询仲裁,这会导致距离共享IP核远的节点得到服务的概率不断降低。
[0003]解决此问题并提供全局节点的服务公平性主要有两种方法,一是采用加权算法,根据节点当前的负载状况(即权值)来构成负载平衡的优先级队列,队列中的每个等待处理的成员都具有不同处理等级,按照加权后的优先级顺序进行处理,该方案需要动态监控资源的状态并实时计算数据包权值,增加额外的延时,实现较复杂。二是引入计算机领域的数据包寿命机制,即Age-based仲裁(ABA)。ABA可以为多个数据包竞争同一共享资源时提供全局公平性,生存时间最长数据包最先得到权限,但是在NoC中该方案实现较困难,需要占用较大的片上资源。
[0004]综上所述,常用的NoC资源仲裁算法如FPA、VPA、RRA难以保证全局节点的服务的公平性,而WRR和ABA实现复杂,占用资源较多,在NoC中不易采用。本文提出了一种附加请求数优先级的片上网络资源仲裁方法,在传统的仲裁单元中附加了一个请求计数和优先级排序结构,根据头微片的请求计数位对各微片进行优先级排序,可以有效的解决远端节点多次请求均得不到资源的情况,有利于提供公平服务保证。

【发明内容】

:
[0005]本发明的目的是为了解决片上网络不同位置的节点在访问同一共享IP核时传统NoC仲裁算法带来的全局公平服务问题。为实现本发明的目的提供了一种附加请求数加权的片上网络仲裁方法,包括以下步骤:
[0006]A:仲裁单元接收各个头微片发起的资源请求,并检测各个头微片的请求标志位,对请求标志位为执行计数状态的头微片的执行请求计数位加I操作;其中所述头微片包含请求计数位、仲裁方式选择位、请求标志位;
[0007]B:若各个头微片中有一个头微片的仲裁方式选择位为请求数优先级仲裁或者请求计数位的值达到预定值则仲裁单元执行步骤D请求数优先级仲裁;否则仲裁单元执行步骤C轮询仲裁;
[0008]C:仲裁单元按照顺序分配资源算法为各个头微片分配虚拟通道和端口资源,与头微片关联的数据包从分配到虚拟通道和端口资源输出后送入下一个路由节点;
[0009]D:仲裁单元以各个头微片的请求计数位的值作为优先级并进行排序,优先级最高的头微片优先得到虚拟通道和端口资源,头微片关联的数据包从分配到虚拟通道和端口资源输出后送入下一个路由节点。
[0010]进一步,仲裁单元在头微片的请求计数位全为高电平时则置仲裁方式选择位为优先级仲裁方式,置请求标志位为停止计数状态。
[0011]优选地,所述仲裁方式选择位的初始值为轮询仲裁方式。
[0012]优选地,所述步骤B中请求计数位的值全为I时,仲裁单元执行步骤D请求数优先级仲裁。
[0013]优选地,所述请求计数位在数据包注入路由节点时初始值为0,在节点链路中传输时,每发起一次资源请求,则由仲裁单元对请求计数位加I。
[0014]优选地,步骤D中,若有两个或两个以上的头微片请求计数位数值相等,则随机选择一个头微片进行资源分配。
[0015]优选地,若源节点发送紧急数据包时,则在注入网络之前将头微片请求计数位置为最高。
[0016]本发明的另一目的在于提供一种用于实现上述片上网络资源仲裁方法的仲裁单元,包括η个资源状态输入端口、η个请求信号输入端口、P Xη个授权信号输出端口、I个仲裁选择输入端口、I个请求计数器、I个轮询仲裁模块和I个优先级仲裁模块;
[0017]所述η个资源状态输入端口用于监测虚拟通道或输出端口的状态;
[0018]所述ρΧη个请求信号输入端口用于接收各头微片发起的资源请求信号,P为输入端口的虚拟通道数目;
[0019]所述I个请求计数器用于对检测各个头微片的请求标志位,对请求标志位为执行计数状态的头微片的执行请求计数位加I操作;
[0020]所述I个仲裁选择输入端口用于根据各个头微片中若有一个头微片的仲裁方式选择位为请求数优先级仲裁或者请求计数位的值达到预定值则启动请求数优先级仲裁模块;否则启动轮询仲裁模块;
[0021]所述I个轮询仲裁模块用于按照顺序分配资源算法对各个头微片执行roundrobin轮询仲裁;
[0022]所述I个优先级仲裁模块用于对各个头微片中的请求计数位的值的大小进行排序,执彳丁尚低优先级仲裁;
[0023]所述η个授权信号输出端口用于把输出端口分配给授权的数据包。本发明的优点、有益效果在于:
[0024]1.本发明可以为不同位置节点访问同一共享IP核提供公平服务保证,尤其对远距离节点多次请求未被授权的情况有较大改善,可以有效降低NoC网络的延时抖动。
[0025]2.在传统仲裁单元的基础上附加请求计数和优先级排序结构,对于仲裁单元的面积和功耗开销影响不大,适用于大规模的SoC设计。
[0026]3.在头数据微片中引入请求计数位不仅起到标志优先级的作用,而且还可以在初始注入阶段通过置高请求计数位的方式使该数据包在每个路由节点都得到优先服务,即可以提供一定的服务质量保证。
[0027]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
:
[0028]图1为本发明仲裁方法具体实施例的数据包帧格式示意图;
[0029]图2为本发明仲裁单元具体实施例的结构示意图;
[0030]图3为本发明具体仲裁过程示意图;
[0031]图4为本发明仲裁方法和仲裁单元具体实施例在4X4 2D Mesh网络拓扑结构中的应用示意图。
【具体实施方式】
:
[0032]为了更清楚的介绍本发明提出的一种附加请求数优先级的片上网络资源仲裁方法及仲裁单元,下面将结合附图和具体实例进行详细说明。
[0033]根据说明书所述的附加请求数优先级的片上网络资源仲裁方法,以4X4 2D MESH网络拓扑结构为例,所述的片上网络包含路由节点、资源节点和互连通道;传输协议为带有虚拟通道的虫孔路由,数据包被分割成若干微片;所述资源包含虚拟通道资源和输出端口资源。实现本发明所采用的数据包帧格式实例如图1所示。每个数据包包含一个头微片和若干个负载微片,其中第一个微片为头微片,包含使能连接位LA、微片控制位FC[0:3]、头信息位HI [0:8]、仲裁控制位(AS、CF、RC [0:7])和数据位DATA,其它微片为负载微片,包含使能连接位LA,微片控制位FC和数据位DATA。其中,
[0034]使能连接位LA,用于控制路由节点之间的通断;
[0035]微片控制位FC[0:3],其中FC[0]为微片有效标志位,FC[1:2]为虚拟通道选择位,FC [3]为头微片标志位;
[0036]头信息位HI [0:8],其中HI [0:2]为输出端口选择位、HI [3:6]为目的节点地址位、HI [7:8]为负载微片数目位;
[0037]仲裁控制位,其中AS为仲裁方式选择位(O为轮询仲裁,I为请求数优先级仲裁),CF为请求标志位(O代表继续计数,I代表停止计数),RC [0:
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1