用于设计片上网络的一种带宽动态分配方法

文档序号:7655064阅读:232来源:国知局
专利名称:用于设计片上网络的一种带宽动态分配方法
技术领域
本发明属于集成电路设计、尤其涉及片上互连网络设计领域。
背景技术
集成电路一直按照摩尔定律推进,单芯片所集成的IP(Intellectual Property)块数目越来越多,传统的基于总线的片上互连结构已经在带宽、功耗、可靠性、扩展性等方面表现处越来越多的局限性,片上通信已经取代计算成为集成电路设计的瓶颈。片上网络(Network-on-Chip,NoC)作为集成电路设计领域的一项关键技术,已用于解决芯片规模增大所带来的片上互连问题。
由于片上网络资源有限并对传输延迟比较敏感,目前片上网络的研究者们多数推荐采用虫孔路由方式。在虫孔路由方式中,数据包被切割成一串数据微片(基本的数据传输单元),然后微片串以流水的方式在网络中传输,因此极大的降低了传输延迟。数据包的第一个微片被称为头微片,只有它才包含路由信息。数据包的其他微片只是紧跟在头微片的后面在网络中传输。一旦头微片被堵塞,其他微片原地等待,因此路由节点允许使用较小的缓冲区。
在虫孔路由方式中,由于数据包可以同时占用几个路由器的缓冲区,因此可能出现的两个问题是1)链路利用率低;2)死锁。通过将物理链路分成若干虚通道,可以有效提高链路利用率和避免死锁。
多个虚通道共享一个物理链路,必须合理分配各个虚通道的带宽才能保证物理链路带宽的有效利用。图1所示为传统的基于时隙的固定带宽分配方法,在该方法中,物理链路的带宽被固定分配给四个虚通道,当某个发送虚通道缓冲区没有数据或接收虚通道缓冲区已满时,都造成该虚通道时隙无法传输数据,分配给该虚通道的带宽将被浪费。因此,固定带宽分配方法不能很好的利用物理链路的带宽。

发明内容
本发明的目的在于提出一种可以克服固定带宽分配方法的缺点的动态带宽分配方法。
本发明的特征在于,依次含有以下步骤步骤(1).初始化在发送端,设定一个仲裁器,在输入端设有N个数据输入端,N个读使能信号输出端,N为虚通道发送缓冲区的个数,每个虚通道发送缓冲区设有一个数据输出端,以及个读使能信号输入端,分别与所述仲裁器的相应的数据信号输入端、读使能信号输出端相连,每个虚通道发送缓冲区输出的数据的带宽为kW,W为物理链路总带宽,k为每个虚通道发送缓冲区所输出数据的带宽占物理链路总带宽之比,0≤k≤1;此外,还在每个虚通道发送缓冲区设有一个空标志指示信号,该信号为“0”,表示所述的虚通道发送缓冲区为空,否则,为不空,用“1”表示;在接收端,设定一个分路器,在输出端设有N个数据输出端以及N个写使能信号输出端,N为虚通道接收缓冲区的个数,所述虚通道接收缓冲区的个数与虚通道发送缓冲区的个数相等,每个虚通道接收缓冲区都设有一个数据输入端和一个写使能信号输入端;另外,在每个虚通道接收缓冲区设有一个满标志信号,该信号为“0”,表示所述虚通道接收缓冲区已满,否则,为不满,用“1”表示;此外,在发送端,还设有N个与门电路,每个与门电路的两个输入端分别与所述虚通道发送缓冲区的空标志指示信号输出端以及虚通道接收缓冲区的满标志指示信号输出端相连,每个与门电路的输出端与仲裁器的多路选择器的控制信号输入端相连;步骤(2).依次按以下步骤执行带宽动态分配方法步骤(2.1).所述仲裁器设置一个虚通道指示标记,初始化为虚通道d;步骤(2.2).在第一个链路时钟周期,该仲裁器在所述初试化虚通道的下一个虚通道开始搜索,直到找出某一个与门电路的输出为“1”为止,此时表示该虚通道有相应的带宽请求,分配给相应虚通道带宽并传送相应虚通道的数据;否则,如果没有找到有带宽请求的虚通道,则在该时钟周期链路空闲,不传送任何数据;步骤(2.3).对于以后任何一个链路时钟周期,仲裁器都在虚通道指示标志所指示的下一个虚通道按步骤(2.2)所述方法开始搜索。
本发明保证了在任何时刻均能有效利用物理链路带宽。


图1.传统的固定带宽分配方法。
图2.带宽动态分配方法中在时刻1的带宽分配。
图3.带宽动态分配方法中在时刻2的带宽分配。
图4.带宽动态分配方法的实施流程图。
图5.仲裁器工作流程图。
具体实施例方式
针对固定带宽分配方法在带宽分配上的缺点,我们提出了动态带宽分配方法,该方法在每个时钟周期根据每个发送虚通道缓冲区和接收虚通道缓冲区的空满情况,动态将物理链路带宽平均分配给发送缓冲区不空且接收缓冲区不满的虚通道。例如在时刻1(如图2所示),a、b、c、d四个虚通道的发送缓冲区都不空(有数据等待传输),接收缓冲区都不满(可以接收数据),则a、b、c、d四个虚通道在时刻1分别被分配到1/4的物理链路带宽。然而,在时刻2(如图3所示),a虚通道的发送缓冲区为空(没有数据等待传输),c虚通道的接收缓冲区为满(不能接收数据),b、d虚通道的发送缓冲区不空且接收缓冲区都不满,则在时刻2,b、d虚通道分别被分配到1/2的物理链路带宽,而不分配给a、c虚通道任何带宽。这样保证了在任何时刻物理链路带宽均能被有效利用。
实施方式如图4所示,在发送端,动态带宽分配通过一个仲裁器来实现。虚通道的发送缓冲区设置了一个空标志指示信号,空用“0”表示,不空用“1”表示。虚通道的接收缓冲区设置了一个满标志指示信号,满用“0”表示,不满用“1”表示。将虚通道发送缓冲区的空标志指示信号和接收缓冲区的满标志指示信号相与的结果作为该虚通道的带宽请求信号。仲裁器通过判断每个虚通道的带宽请求信号决定是否分配给该虚通道带宽,当虚通道带宽请求信号为“1”时,表示该虚通道有带宽请求,则仲裁器分配给该虚通道带宽,否则,当该信号为“0”时,仲裁器不分配给该虚通道带宽。
仲裁器的具体工作流程如图5所示(以四个虚通道a,b,c,d为例)仲裁器设置一个虚通道指示标记,该标记指示上一时钟周期发送数据的虚通道,初始化为虚通道d,在每个时钟周期,仲裁器从虚通道指示标记指示的虚通道的下一个虚通道开始搜索,直到找到有带宽请求的虚通道为止,然后为搜索到的虚通道的数据贴上标签(该标签指示数据所属的虚通道)并将其发送出去,同时将虚通道指示标记更新为在该时钟周期发送数据的虚通道。如果搜索了所有虚通道仍没有找到有带宽请求的虚通道,则在该时钟周期不发送数据,虚通道指示标记不变。
在接收端,分路器根据每个接收到数据的标签,将数据存入相应的虚通道缓冲区。
综上所述,动态带宽分配方法避免了传统的固定带宽分配方法在某些情况下浪费带宽的缺点,保证了在任何时刻均能有效利用物理链路带宽。
权利要求
1.用于设计片上网络的一种带宽动态分配方法,其特征在于,依次含有以下步骤步骤(1).初始化在发送端,设定一个仲裁器,在输入端设有N个数据输入端,N个读使能信号输出端,N为虚通道发送缓冲区的个数,每个虚通道发送缓冲区设有一个数据输出端,以及一个读使能信号输入端,分别与所述仲裁器的相应的数据信号输入端、读使能信号输出端相连,每个虚通道发送缓冲区输出的数据的带宽为kW,W为物理链路总带宽,k为每个虚通道发送缓冲区所输出数据的带宽占物理链路总带宽之比,0≤k≤1;此外,还在每个虚通道发送缓冲区设有一个空标志指示信号,该信号为“0”,表示所述的虚通道发送缓冲区为空,否则,为不空,用“1”表示;在接收端,设定一个分路器,在输出端设有N个数据输出端以及N个写使能信号输出端,N为虚通道接收缓冲区的个数,所述虚通道接收缓冲区的个数与虚通道发送缓冲区的个数相等,每个虚通道接收缓冲区都设有一个数据输入端和一个写使能信号输入端;另外,在每个虚通道接收缓冲区设有一个满标志信号,该信号为“0”,表示所述虚通道接收缓冲区已满,否则,为不满,用“1”表示;此外,在发送端,还设有N个与门电路,每个与门电路的两个输入端分别与所述虚通道发送缓冲区的空标志指示信号输出端以及虚通道接收缓冲区的满标志指示信号输出端相连,每个与门电路的输出端与仲裁器的多路选择器的控制信号输入端相连;步骤(2).依次按以下步骤执行带宽动态分配方法步骤(2.1).所述仲裁器设置一个虚通道指示标记,初始化为虚通道d;步骤(2.2).在第一个链路时钟周期,该仲裁器在所述初试化虚通道的下一个虚通道开始搜索,直到找出某一个与门电路的输出为“1”为止,此时表示该虚通道有相应的带宽请求,分配给相应虚通道带宽并传送相应虚通道的数据;否则,如果没有找到有带宽请求的虚通道,则在该时钟周期链路空闲,不传送任何数据;步骤(2.3).对于以后任何一个链路时钟周期,仲裁器都在虚通道指示标志所指示的下一个虚通道按步骤(2.2)所述方法开始搜索。
2.根据权利要求1所述的用于设计片上网络的一种带宽动态分配方法,其特征在于,所述的N=4。
全文摘要
用于设计片上网络的一种带宽动态分配方法属于片上互连网络设计领域,其特征在于,在发送端设定一个仲裁器,其输入端与各虚通道发送缓冲区相连;在发送缓冲区设定一个空标志指示信号,指示信号为“0”,表示“空”,为“1”表示“不空”;在接收端设定一个分路器,其各数据输出端与各虚通道接收缓冲区相连,在接收缓冲区也设定一个满标志指示信号,若为“0”表示“满”,为“1”表示“不满”;把所述各发送或接收缓冲区的指示信号送往与缓冲区个数相应的多个与门,当某一个与门输出为“1”时,表示某个虚通道请求带宽,由仲裁器为其分配带宽。本方法保证在任何时刻都能有效利用物理链路的带宽。
文档编号H04L12/56GK101075959SQ20071011771
公开日2007年11月21日 申请日期2007年6月22日 优先权日2007年6月22日
发明者林世俊, 曾烈光, 金德鹏, 苏厉 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1