硬线程多核中央处理器的报文转发方法及装置制造方法及图纸

技术编号:13458937 阅读:392 留言:0更新日期:2016-08-03 18:37
本发明专利技术公开了一种硬线程多核中央处理器的报文转发方法,该方法包括:第一硬线程接收并处理完当前报文后,检查上一个报文是否发送完成;当上一个报文发送完成时,触发发送当前报文的指令;触发发送当前报文的指令之后,指示第一硬线程继续接收下一个报文,或者在没有接收到下一个报文时,将时间让给其他硬线程处理报文。本发明专利技术还公开了一种硬线程多核中央处理器的报文转发装置。采用本发明专利技术能够进一步提高报文转发性能。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种硬线程多核中央处理器的报文转发方法,该方法包括:第一硬线程接收并处理完当前报文后,检查上一个报文是否发送完成;当上一个报文发送完成时,触发发送当前报文的指令;触发发送当前报文的指令之后,指示第一硬线程继续接收下一个报文,或者在没有接收到下一个报文时,将时间让给其他硬线程处理报文。本专利技术还公开了一种硬线程多核中央处理器的报文转发装置。采用本专利技术能够进一步提高报文转发性能。【专利说明】硬线程多核中央处理器的报文转发方法及装置
本专利技术涉及网络通信技术,特别涉及一种硬线程多核中央处理器的报文转发方法及装置。
技术介绍
硬线程多核中央处理器(CPU)是广泛用于嵌入式系统的CPU。多核CPU上VXWorks或Iinux下基于软件协议栈的IP报文转发,其性能很低:在一款硬线程多核CPU上的转发速度只有10Mbps左右。而在同样硬线程多核CPU上基于硬转发的速度可达到十多倍的性能提升。其中,硬转发指的是CPU收到报文后不经过协议栈软件而是直接处理并转发。因此,这种高速硬转发技术需要进一步改进以满足更高性能需求。下面所讲的报文转发都是基于硬转发进行的。现有技术中,硬线程多核中央处理器的报文转发方法包括以下步骤:步骤S1、第一硬线程接收并处理完当前报文后,触发发送当前报文的指令,进行当前报文的发送;步骤S2、触发发送当前报文的指令后,即在当前报文发送过程中周期性查询状态寄存器,根据状态寄存器的指示确定当前报文是否发送完成。步骤S3、当确定当前报文发送完成后,指示第一硬线程继续接收下一个报文,或者在没有接收到下一个报文时,将时间让给其他硬线程处理报文。根据上述描述,现有技术中的报文硬转发方法,需要等待当前报文在第一线程上发送完成,才可以接收下一个报文,如果没有接收到下一个报文时,将时间让给其他硬线程处理报文。实际测得等待时间长短不一,长的有8?10us,短的不到lus,也就是说,从触发发送报文的指令到报文发送完成之间的时间就是等待时间。如何进一步提高报文转发性能是现阶段有待解决的问题。
技术实现思路
有鉴于此,本专利技术提供了一种硬线程多核中央处理器的报文转发方法及装置,能够进一步提高报文转发性能。为达到上述目的,本专利技术的技术方案具体是这样实现的:本专利技术公开了一种硬线程多核中央处理器的报文转发方法,该方法包括:第一硬线程接收并处理完当前报文后,检查上一个报文是否发送完成;当上一个报文发送完成时,触发发送当前报文的指令;触发发送当前报文的指令之后,指示第一硬线程继续接收下一个报文,或者在没有接收到下一个报文时,将时间让给其他硬线程处理报文。所述检查上一个报文是否发送完成的方法包括:周期性查询状态寄存器,根据状态寄存器的指示确定上一个报文是否发送完成。所述硬线程多核处理器包括多个硬线程,每个硬线程执行相应的任务,具有相应独立的状态寄存器。本专利技术还公开了一种硬线程多核中央处理器的报文转发装置,应用于执行转发的硬线程,该装置包括:查询单元,用于接收并处理完当前报文后,检查上一个报文是否发送完成;触发单元,用于当上一个报文发送完成时,触发发送当前报文的指令;指示单元,用于在触发发送当前报文的指令之后,指示硬线程继续接收下一个报文,或者在没有接收到下一个报文时,将时间让给其他硬线程处理报文。所述查询单元,具体用于周期性查询状态寄存器,根据状态寄存器的指示确定是否发送完成。由上述的技术方案可见,本专利技术提供了一种硬线程多核中央处理器的报文转发方法,该方法包括:第一硬线程接收并处理完当前报文后,检查上一个报文是否发送完成;当上一个报文发送完成时,触发发送当前报文的指令;触发发送当前报文的指令之后,无需等待发送完成,指示第一硬线程继续接收下一个报文,或者在没有接收到下一个报文时,将时间让给其他硬线程处理报文。而不像现有技术那样,第一硬线程接收并处理完当前报文后,进行当前报文的发送,但是要等待当前报文发送完成,才能指示第一硬线程继续接收下一个报文,或者在没有接收到下一个报文时,将时间让给其他硬线程处理报文。如此,这种节省CPU处理时间的方法在报文转发中大幅提升了性能,从而实现本专利技术的目的。【附图说明】图1为本专利技术一实施例提供了一种硬线程多核中央处理器的报文转发方法流程示意图。图2为本专利技术一种硬线程多核中央处理器的报文转发装置的结构示意图。【具体实施方式】为使本专利技术的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本专利技术进一步详细说明。硬线程多核中央处理器包括多个硬线程,每个硬线程有各自独立的转发报文机制。每个硬线程执行相应的任务,具有相应独立的收发单元。其中收发单元是一种状态寄存器,用于硬线程根据状态寄存器的指示确认该硬线程上的报文是否发送完成。以4硬线程2核CPU来说,就是每4个硬线程绑定I个核,共2个核绑定I个CPU。本专利技术的核心思想是,第一硬线程接收并处理完当前报文后,且触发发送当前报文之前,检查上一个报文是否发送完成;触发发送当前报文之后,指示第一硬线程继续接收下一个报文,或者在没有接收到下一个报文时,将时间让给其他硬线程处理报文。如此,第一硬线程触发发送当前报文的指令后,不需要周期性查询状态寄存器,等待当前报文在第一线程上发送完成,就直接指示第一硬线程可以接收下一个报文,如果没有接收到下一个报文时,将时间让给其他硬线程处理报文。从而将这个等待时间节省下来,接收第一硬线程上的下一个报文,或者给其他硬线程处理报文。并且,不需要像现有技术那样,触发发送当前报文的指令后,即在当前报文发送过程中周期性查询状态寄存器,根据状态寄存器的指示确定当前报文是否发送完成。而是将检查提前到了发送当前报文之前,检查上一个报文是否发送完成。但实际上,在发送当前报文之前,上一个报文大多数已经发送完成,所以这样的提前检查,基本没有引入额外的等待时间,和现有技术触发发送当前报文的指令后,检查当前报文是否发送完成所耗费的等待时间相比,差别很大,前者所用时间很短。如图1所示,本专利技术一实施例提供了一种硬线程多核中央处理器的报文转发方法,该方法包括以下步骤:步骤11、第一硬线程接收并处理完当前报文后,检查上一个报文是否发送完成;其中,检查上一个报文是否发送完成的方法具体包括:周期性查询状态寄存器,根据状态寄存器的指示确定上一个报文是否发送完成。实际上,在发送当前报文之前,上一个报文大多数已经发送完成,所以本专利技术中虽然也需要周期性查询状态寄存器,但是基本上绝大多数情况I次查询,就可以确定上一个报文已经发送完成。所以,本步骤基本没有引入额外的等待时间,和现有技术触发发送当前报文的指令后,检查当前报文是否发送完成所耗费的I?Sus的等待时间相比,差别很大,前者所用时间很短。步骤12、当上一个报文发送完成时,触发发送当前报文的指令;步骤13、触发发送当前报文的指令之后,指示第一硬线程继续接收下一个报文,或者在没有接收到下一个报文时,将时间让给其他硬线程处理报文。这里,硬线程多核中央处理器包括多个硬线程,本专利技术为方便清楚地说明本专利技术的方法,定义第一硬线程和其他硬线程,对于第一硬线程没有任何特定含义,接收当前报文的任何一个硬线程都可以称作第一硬线程。为清楚说明本专利技术,下面列举具体场景,以4个硬线程为例进行说明。首先,硬线程I接收并本文档来自技高网
...

【技术保护点】
一种硬线程多核中央处理器的报文转发方法,该方法包括:第一硬线程接收并处理完当前报文后,检查上一个报文是否发送完成;当上一个报文发送完成时,触发发送当前报文的指令;触发发送当前报文的指令之后,指示第一硬线程继续接收下一个报文,或者在没有接收到下一个报文时,将时间让给其他硬线程处理报文。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈晓科李伟
申请(专利权)人:普天信息技术有限公司
类型:发明
国别省市:北京;11

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

1