用于控制流水线中寄存器的方法和装置制造方法及图纸

技术编号:17413718 阅读:37 留言:0更新日期:2018-03-07 09:28
本发明专利技术实施例提供用于控制流水线中寄存器的方法和装置,属于通信领域。所述方法包括:当寄存器从流水线的下一级寄存器接收到用于指示暂停的反压时,暂停向所述下一级寄存器发送报文;在反压未被撤销的期间,判断所述寄存器中是否具有数据;当所述寄存器中不具有数据时,不向流水线中上一级寄存器传递所述反压;当所述寄存器中具有数据时,向流水线中上一级寄存器传递所述反压。本发明专利技术能够在减少缓存资源消耗的同时,提高报文的处理效率。

A method and device for controlling registers in a pipeline

【技术实现步骤摘要】
用于控制流水线中寄存器的方法和装置
本专利技术涉及通信
,具体地涉及用于控制流水线中寄存器的方法和装置。
技术介绍
在进行数据交换(例如,以太网数据交换)时,需要对数据报文进行处理。为了提高处理效率,可以采用流水线方式对多个报文进行并行处理。例如,在转发报文的过程中,由流水线上的各级寄存器对报文进行逐级处理。流水线上的各级寄存器对当前报文处理完成后,将该报文送入下一级寄存器进行处理,并从上一级寄存器接收新的报文进行处理。报文从进入流水线到输出,可能会经过上百级的寄存器,在最大吞吐率的情况下,可能会有上百个报文同时在芯片内部被处理,他们分散在的流水线各级的寄存器上,进行当前级的寄存器所对应的处理。流水线中各级的寄存器进行处理时,可能会出现处理失败的情况,例如需要读表的寄存器在共享查表冲突时读失败,如此导致寄存处无法完成对当前报文的处理。相关技术中,采用队列存储的方式,将在此阶段到达寄存器的报文存储到队列(例如,FIFO先入先出队列)中。待此寄存器处理正常后,再从队列中依次取出报文进行处理。相关技术的缺陷在于,流水线中级数过多,对于各级寄存器均分配用于缓存的队列,则会消耗大量的存储资源。
技术实现思路
本专利技术实施例的目的是提供用于控制流水线中寄存器的方法和装置,以解决上述技术问题或者至少部分地解决上述技术问题。为了实现上述目的,本专利技术实施例提供一种用于控制流水线中寄存器的方法,所述方法包括:当寄存器从流水线的下一级寄存器接收到用于指示暂停的反压时,暂停向所述下一级寄存器发送报文;在反压未被撤销的期间,判断所述寄存器中是否具有数据;当所述寄存器中不具有数据时,不向流水线中上一级寄存器传递所述反压;当所述寄存器中具有数据时,向流水线中上一级寄存器传递所述反压。可选的,所述暂停向所述下一级寄存器发送报文包括:在所述寄存器接收的反压未被撤销时,将所述寄存器的环回通路打开;所述方法还包括:在所述寄存器接收的反压被撤销时,将所述寄存器的环回通路关闭。可选的,所述方法还包括:在寄存器用于读多个表的情况下,将针对各个表的读请求进行优先级排序;按优先级顺序发送读请求至对应表;在当前发送的读请求成功的情况下,发送下一优先级的读请求;在当前发送的读请求失败的情况下,将优先级排序中在当前发送的读请求之后的读请求取消;在接收到将所在流水线阻塞的指示时,将所在流水线阻塞;其中,当共享查表冲突时,取得较高优先级的表的访问权的流水线取得针对各个表的访问权,其他流水线被指示进行阻塞直至访问权被释放。可选的,所述方法还包括:在寄存器用于取多拍表的情况下,当针对所述多拍表的读请求成功时,将对应报文存入队列中;在多拍之后从所述多拍表取得数据后,判断所述寄存器是否从流水线的下一级寄存器接收到反压;在所述寄存器没有从流水线的下一级寄存器接收到反压的情况下,从队列中取出所述报文发送至流水线下一级寄存器。可选的,所述方法还包括:当用于存储报文的队列空间被占满时,判断所述寄存器是否具有数据;当所述寄存器具有数据时,产生指示暂停的反压并传递到流水线的上一级寄存器。可选的,所述方法还包括:在寄存器用于读表的情况下,判断发送的读请求是否成功;在当前发送的读请求失败的情况下,产生指示暂停的反压并传递到流水线的上一级寄存器。根据本专利技术的另一方面,公开了一种用于控制流水线中寄存器的装置,所述装置包括:暂停模块,用于当寄存器从流水线的下一级寄存器接收到用于指示暂停的反压时,暂停向所述下一级寄存器发送报文;传递模块,用于在反压未被撤销的期间,判断所述寄存器中是否具有数据;当所述寄存器中不具有数据时,不向流水线中上一级寄存器传递所述反压;当所述寄存器中具有数据时,向流水线中上一级寄存器传递所述反压。可选的,所述暂停模块用于在所述寄存器接收的反压未被撤销时,将所述寄存器的环回通路打开;所述暂停模块还用于在所述寄存器接收的反压被撤销时,将所述寄存器的环回通路关闭。可选的,所述装置还包括:调度模块,用于在寄存器用于读多个表的情况下,将针对各个表的读请求进行优先级排序;按优先级顺序发送读请求至对应表;在当前发送的读请求成功的情况下,发送下一优先级的读请求;在当前发送的读请求失败的情况下,将优先级排序中在当前发送的读请求之后的读请求取消;暂停模块还用于在接收到将所在流水线阻塞的指示时,将所在流水线阻塞;其中,当共享查表冲突时,取得较高优先级的表的访问权的流水线取得针对各个表的访问权,其他流水线被指示进行阻塞直至访问权被释放。可选的,所述装置还包括:存储模块,用于在寄存器用于取多拍表的情况下,当针对所述多拍表的读请求成功时,将对应报文存入队列中;在多拍之后从所述多拍表取得数据后,判断所述寄存器是否从流水线的下一级寄存器接收到反压;在所述寄存器没有从流水线的下一级寄存器接收到反压的情况下,从队列中取出所述报文发送至流水线下一级寄存器。可选的,所述传递模块还用于当用于存储报文的队列空间被占满时,判断所述寄存器是否具有数据;当所述寄存器具有数据时,产生指示暂停的反压并传递到流水线的上一级寄存器。可选的,所述传递模块还用于在寄存器用于读表的情况下,判断发送的读请求是否成功;在当前发送的读请求失败的情况下,产生指示暂停的反压并传递到流水线的上一级寄存器。根据本专利技术的又一方面,提供了一种控制器可读存储介质,该控制器可读存储介质上存储指令,该指令用于使得控制器执行前述任一项用于控制流水线中寄存器的方法。通过上述技术方案,利用反压来使得流水线中上一级寄存器暂停对下一级寄存器发送报文,并利用不具有数据的寄存器进行反压传递的中断,如此,能够在减少缓存资源消耗的同时,提高报文的处理效率。本专利技术实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本专利技术实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本专利技术实施例,但并不构成对本专利技术实施例的限制。在附图中:图1是根据本专利技术实施例的用于控制流水线中寄存器的方法的流程图;图2是根据本专利技术实施例的使用本专利技术方法的信息传递示意图;图3是根据本专利技术实施例的用于控制流水线中寄存器的方法的流程图;图4是根据本专利技术实施例的读多表情况下的信息传递示意图;图5是根据本专利技术实施例的用于控制流水线中寄存器的方法的流程图;图6是根据本专利技术实施例的读多拍表情况下的信息传递示意图;图7是根据本专利技术实施例的读多张多拍表情况下的信息传递示意图;图8A是根据本专利技术实施例的读单拍表场景的示意图,图8B为在图8A的处理之后下一时钟中读单拍表场景的示意图;图9是根据本专利技术实施例的读多拍表场景的示意图;图10是根据本专利技术实施例的用于控制流水线中寄存器的装置的结构图;图11是根据本专利技术实施例的用于控制流水线中寄存器的装置的结构图;以及图12是根据本专利技术实施例的用于控制流水线中寄存器的装置的结构图。具体实施方式以下结合附图对本专利技术实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术实施例,并不用于限制本专利技术实施例。图1是根据本专利技术实施例的用于控制流水线中寄存器的方法的流程图,该方法可用于网络交换设备,例如支持三层交换的以太网交换芯片中,如图1所示,该方法可包括如下步骤。在步骤S110中,当寄存本文档来自技高网...
用于控制流水线中寄存器的方法和装置

【技术保护点】
一种用于控制流水线中寄存器的方法,其特征在于,所述方法包括:当寄存器从流水线的下一级寄存器接收到用于指示暂停的反压时,暂停向所述下一级寄存器发送报文;在反压未被撤销的期间,判断所述寄存器中是否具有数据;当所述寄存器中不具有数据时,不向流水线中上一级寄存器传递所述反压;当所述寄存器中具有数据时,向流水线中上一级寄存器传递所述反压。

【技术特征摘要】
1.一种用于控制流水线中寄存器的方法,其特征在于,所述方法包括:当寄存器从流水线的下一级寄存器接收到用于指示暂停的反压时,暂停向所述下一级寄存器发送报文;在反压未被撤销的期间,判断所述寄存器中是否具有数据;当所述寄存器中不具有数据时,不向流水线中上一级寄存器传递所述反压;当所述寄存器中具有数据时,向流水线中上一级寄存器传递所述反压。2.根据权利要求1所述的方法,其特征在于,所述暂停向所述下一级寄存器发送报文包括:在所述寄存器接收的反压未被撤销时,将所述寄存器的环回通路打开;所述方法还包括:在所述寄存器接收的反压被撤销时,将所述寄存器的环回通路关闭。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在寄存器用于读多个表的情况下,将针对各个表的读请求进行优先级排序;按优先级顺序发送读请求至对应表;在当前发送的读请求成功的情况下,发送下一优先级的读请求;在当前发送的读请求失败的情况下,将优先级排序中在当前发送的读请求之后的读请求取消;在接收到将所在流水线阻塞的指示时,将所在流水线阻塞;其中,当共享查表冲突时,取得较高优先级的表的访问权的流水线取得针对各个表的访问权,其他流水线被指示进行阻塞直至访问权被释放。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在寄存器用于取多拍表的情况下,当针对所述多拍表的读请求成功时,将对应报文存入队列中;在多拍之后从所述多拍表取得数据后,判断所述寄存器是否从流水线的下一级寄存器接收到反压;在所述寄存器没有从流水线的下一级寄存器接收到反压的情况下,从队列中取出所述报文发送至流水线下一级寄存器。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:当用于存储报文的队列空间被占满时,判断所述寄存器是否具有数据;当所述寄存器具有数据时,产生指示暂停的反压并传递到流水线的上一级寄存器。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:在寄存器用于读表的情况下,判断发送的读请求是否成功;在当前发送的读请求失败的情况下,产生指示暂停的反压并传递到流水线的上一级寄存器。7.一种用于控制流水线中寄存器的装置,其特征在于,所述装置包括:暂停模块,用于当寄存器从流水线的下...

【专利技术属性】
技术研发人员:尤子威杨健鸷伍楠朱峰
申请(专利权)人:深圳市楠菲微电子有限公司
类型:发明
国别省市:广东,44

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

1