队列的调度方法及装置的制造方法

文档序号:9870095阅读:360来源:国知局
队列的调度方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信领域,具体而言,涉及一种队列的调度方法及装置。
【背景技术】
[0002]在数据通信领域,数据进入不同网络的带宽变化或者多通道汇聚都会存在队列调度。在通信设备带宽越来越大的趋势下,对多队列的调度效率也有了更高的要求。多队列高效率调度要求调度出队的周期越来越短,调度出队的报文要求没有间隔,也就是背靠背调度。
[0003]队列调度需要根据不同队列入队报文存储情况进行调度;队列调度的单位一般是数据包或者数据分片,报文或者分片个数需要存储在芯片缓存中,而队列信息和状态表一般也存在芯片缓存中。背靠背高效率队列调度的传统设计中,队列出队需要从缓存读出该队列报文个数等信息,并在调度出队的当拍时钟周期立即更新该队列和队列信息的缓存内容。而缓存资源在芯片中都会放在固定位置,操作缓存时会带来缓存单元和布局布线的延时。在通信芯片设计时,芯片工作的主时钟频率都有要求,传统多队列调度带来的延时会使芯片时钟设计更加困难。
[0004]相关技术的背靠背调度方法需要在I个时钟周期完成从队列状态模块获取队列信息,再根据队列信息进行队列调度,最后队列调度完后立即更新队列状态模块。而队列信息通常是存在芯片缓存里,这种队列信息在缓存间读取更新操作造成缓存单元和布局布线延时会比较大。在芯片的实现中,为达到系统处理带宽要求,系统时钟频率有最低设计要求,操作队列信息模块造成的较大延时,使得I个时钟周期完成队列调度的设计实现起来非常困难。
[0005]针对相关技术中难以实现在一个时钟周期完成队列信息的获取以及根据队列信息进行队列调度、最后在队列完成后立即更新队列信息操作的问题,目前尚未提出有效的解决方案。

【发明内容】

[0006]本发明的主要目的在于提供一种队列的调度方法及装置,解决了相关技术中难以实现在一个时钟周期完成队列信息的获取以及根据队列信息进行队列调度、最后在队列完成州立即更新队列信息的操作的问题。
[0007]为了实现上述目的,根据本发明的一个方面,提供了一种队列的调度方法,包括:在第一时钟周期内,获取对一个或多个队列进行调度所需要的状态信息,并存储;在第二时钟周期内,按照与获取的所述状态信息对应的调度策略执行调度操作。
[0008]进一步地,所述状态信息包括:所述队列包含的报文数量。
[0009]进一步地,按照与获取的所述状态信息对应的调度策略执行调度操作包括:判断所述报文数量是否大于预定阈值;在判断结果为是时,按照第一队列调度策略对所述一个或多个队列执行调度操作;在判断结果为否时,按照第二队列调度策略执行调度操作,其中,与所述第一队列调度策略对应的调度速度大于与第二队列调度策略对应的调度速度。
[0010]进一步地,所述第一队列调度操作为在单位周期内对预定长度的报文进行背靠背出队列调度操作;和/或所述第二队列调度操作为在不小于预定数量个单位周期内进行出队列调度操作。
[0011]进一步地,所述预定阈值为3个报文。
[0012]进一步地,所述单位周期为一个时钟周期。
[0013]根据本发明的另一个方面,提供了一种队列的调度装置,包括:获取模块,用于在第一时钟周期内,获取对一个或多个队列进行调度所需要的状态信息,并存储;调度模块,用于在第二时钟周期内,按照与获取的所述状态信息对应的调度策略执行调度操作。
[0014]进一步地,所述状态信息包括:所述队列包含的报文数量。
[0015]进一步地,所述调度模块包括:判断单元,用于判断所述报文数量是否大于预定阈值;第一调度单元,用于在判断结果为是时,按照第一队列调度策略对所述一个或多个队列执行调度操作;第二调度单元,用于在判断结果为否时,按照第二队列调度策略执行调度操作,其中,与所述第一队列调度策略对应的调度速度大于与第二队列调度策略对应的调度速度。
[0016]进一步地,所述第一队列调度操作,为在单位周期内对预定长度的报文进行背靠背出队列调度操作;和/或所述第二队列调度操作,为在不小于预定数量个单位周期内进行出队列调度操作。
[0017]通过本发明,在多个时钟周期内完成存储一个或多个队列的状态信息,并根据该状态信息对应的调度策略执行调度操作的方式,解决了相关技术中难以实现在一个时钟周期完成队列信息的获取以及根据队列信息进行队列调度、最后在队列完成后立即更新队列信息操作的问题,减小了用于存储状态信息的芯片缓存单元和布局布线延时对时序设计的影响,进一步满足了芯片设计中对时钟频率的需求。
【附图说明】
[0018]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019]图1是根据本发明实施例的队列的调度方法的流程图;
[0020]图2是根据本发明实施例的队列的调度装置的结构示意图;
[0021]图3是根据本发明实施例的队列的调度装置的优选结构示意图;
[0022]图4是根据本发明可选实施例的高效率多队列调度的装置结构示意图;
[0023]图5是根据本发明可选实施例的高效率多队列调度的方法流程图。
【具体实施方式】
[0024]下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0025]在本实施例中提供了一种本发明实施例的连接建立方法,图1是根据本发明实施例的队列的调度方法的流程图,如图1所示,该流程包括如下步骤:
[0026]步骤S102:在第一时钟周期内,获取对一个或多个队列进行调度所需要的状态信息,并存储;
[0027]步骤S104:在第二时钟周期内,按照与获取的状态信息对应的调度策略执行调度操作。
[0028]通过本实施例,在多个时钟周期内完成存储一个或多个队列的状态信息,并根据该状态信息对应的调度策略执行调度操作的方式,解决了相关技术中难以实现在一个时钟周期完成队列信息的获取以及根据队列信息进行队列调度、最后在队列完成后立即更新队列信息的操作的问题,减小了用于存储状态信息的芯片缓存单元和布局布线延时对时序设计的影响,进一步满足了芯片设计中对时钟频率的需求。
[0029]在本实施例的一个可选实施方式中,状态信息可以包括:队列包含的报文数量,此夕卜,该状态信息还可以包括队列中报文的长度信息等。
[0030]为了能够执行调度策略调度的操作,在本实施例的一个可选实施方式中,按照与获取的状态信息对应的调度策略执行调度操作可以通过以下方式实现,该方式包括以下步骤:
[0031]步骤Sll:判断报文数量是否大于预定阈值;
[0032]步骤S12:在判断结果为是时,按照第一队列调度策略对一个或多个队列执行调度操作;
[0033]步骤S13:在判断结果为否时,按照第二队列调度策略执行调度操作,其中,与第一队列调度策略对应的调度速度大于与第二队列调度策略对应的调度速度。
[0034]可选地,第一队列调度操作,为在单位周期内对预定长度的报文进行背靠背出队列调度操作;和/或第二队列调度操作,为在不小于预定数量个单位周期内进行出队列调度操作。需要说明的是本实施例中的对调度操作预定数量个单位周期优选的为3个单位周期,但需要说明的是上述3个单位周期仅仅是举例说明,本领域技术人员可以根据实际情况对调度的操作单位周期进行相应的调整。
[0035]在本实施例的一个实施例中,上述步骤Sll中的预定阈值可选为3个报文。同样的,这里对预定阈值的限定也仅仅是一种可选的实施方式,并不对本发明构成限定,本领域技术人员可以根据实际情况对该预定阈值进行相应的调整。
[0036]可选地,为了能够实现芯片缓存单元和布局线延时的统一,将该单位周期设置一个时钟周期。
[0037]在本实施例中还提供了一种队列的调度装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能被构想的。
[0038]图2是根据本发明实施例的队列的调度装置的结构示意图,如图2所示,该装置包括:包括:获取模块22,用于在第一时钟周期内,获取对一个或多个队列进行调度所需要的状态信息,并存储;调度模块24与获取模块24耦合连接,用于在
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1