CN100454899C - 一种网络处理装置及方法 - Google Patents
一种网络处理装置及方法 Download PDFInfo
- Publication number
- CN100454899C CN100454899C CNB2006100027851A CN200610002785A CN100454899C CN 100454899 C CN100454899 C CN 100454899C CN B2006100027851 A CNB2006100027851 A CN B2006100027851A CN 200610002785 A CN200610002785 A CN 200610002785A CN 100454899 C CN100454899 C CN 100454899C
- Authority
- CN
- China
- Prior art keywords
- address
- register
- unit
- buffer
- micro engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title abstract description 9
- 239000000872 buffer Substances 0.000 claims abstract description 88
- 238000013507 mapping Methods 0.000 claims abstract description 50
- 238000003672 processing method Methods 0.000 claims description 20
- 230000011218 segmentation Effects 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 7
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明为一种网络处理装置及方法,包括:接口单元、微引擎单元,所述接口单元包括多个通道,用于报文的接收和转发;所述微引擎单元包括多个微引擎;地址映射单元,其由多个寄存器分段组成,用于分段的地址映射;其中,所述通道中的报文根据所述地址映射单元分段的地址映射被填充到所述微引擎的缓存中。使报文送入不同的报文处理微引擎,解决了报文处理微引擎转发软件开发的方便性的问题。
Description
技术领域
本发明涉及网络处理单元(NPU:Network Process Unit),具体的讲是一种网络处理装置及方法。
背景技术
网络处理单元(NPU:Network Process Unit)是一种可编程或可配置的半导体器件,专为处理网络数据(数据包)而设计和优化。网络处理单元的优化包括用以支持高速数据包分类和数据包修改的硬件和指令集。网络处理单元最主要的作用是把网络应用特有的数据传送和处理任务从通用处理器中卸载下来,从而使信息包的处理和传输大大加快。一个网络处理单元一般由一个核心处理器(如Strong ARM core系列)和多个微引擎(Micro engine)组成,并发同步完成一个数据包的处理。在网络处理单元中,一般有多个微引擎用以接收来自多个接口的报文,这样的方案是非常复杂的。
如图1所示,在现有技术中所述的网络处理单元一般包含如下几个单元:微引擎单元、存储单元、接口单元以及寄存器单元。微引擎单元是网络处理单元的核心,完成报文分析和转发。网络处理单元的微引擎单元可以拥有多个微引擎并行处理。存储单元是网络处理单元内部存储设备,如SRAM等,报文或表项等存储的位置。接口单元是网络处理单元的对外数据接口,报文由入接口进入,再由出接口转发。寄存器单元完成网络处理单元的配置。
现有技术中的网络处理单元在处理报文的流程如下:从接口单元中通道进入的报文,首先缓存在存储单元,当需要处理时,微引擎用特定的指令从存储单元中读取进行处理。由于多个接口的报文都存储在微引擎外的专用存储器中,需要复杂的存储管理。并且,当微引擎处理报文时,需要调度特定的指令并且需要额外的资源来读取报文内容进行处理。这样会增加存储单元的管理复杂度(因为有多个通道),另外还会增加接口数据到达微引擎的时延,从而降低网络处理单元的性能。
可见,在以往的网络处理单元中,多个微引擎要获取需处理的报文是困难而复杂的,有的需要从外部存储空间(SRAM)中获取,有的则需多个微引擎从共同的存储空间中取得报文。
发明内容
本发明的目的在于,提供一种网络处理装置及方法,使报文能够灵活方便的被送入网络处理单元的任意存储空间,提高网络处理单元的性能,同时也降低了网络处理单元设计的复杂度。
本发明的技术方案为:一种网络处理装置,包括:接口单元、微引擎单元,所述接口单元包括多个通道,用于报文的接收和转发;所述微引擎单元包括多个微引擎,所述装置还包括:
地址映射单元,其由多个寄存器分段组成,采用三段地址映射机制实现通道与微引擎所对应的缓冲器或微引擎内部的缓冲器之间的映射关系;
其中,所述通道中的报文根据所述地址映射单元分段的地址映射被填充到与所述微引擎相对应的缓冲器或所述微引擎内部的缓冲器中。
所述地址映射单元包括:第一段映射单元,包括多个寄存器,所述寄存器数与所述接口单元的通道数相同;第二段映射单元,包括至少一个寄存器;第三段映射单元,包括两组寄存器,每组寄存器数与所述微引擎数相同。
所述第三段映射单元包括:地址寄存器组,包括多个第一寄存器,所述第一寄存器数与所述微引擎单元的微引擎数相同,每个所述第一寄存器中存储有一个所述微引擎单元中一个微引擎缓冲器的地址;位置寄存器组,其与地址寄存器组一一对应,包括多个第二寄存器,每个所述第二寄存器中存储有一个所述微引擎单元中另一个微引擎缓冲器的地址。
所述第一段映射单元的每个寄存器中分别存储有所述第二段映射单元的一个寄存器的地址。
所述第一段映射单元的多个寄存器存储有所述第二段映射单元的一个寄存器的地址。
所述第二段映射单元中寄存器个数的取值范围是:大于等于1小于等于所述通道个数的任何整数值;所述第二段映射单元的每个寄存器存储有所述第三段映射单元中的一个寄存器的地址。
本发明还提供了一种网络报文处理方法,其中包括:采用接口中的通道接受报文的进入;使所述的通道通过分段地址映射与微引擎所对应的缓冲器或微引擎内部的缓冲器建立通信联接,并将通道中的报文填充到与微引擎所对应的缓冲器或微引擎内部的缓冲器中,所述分段地址映射为采用三段地址映射机制实现通道与微引擎所对应的缓冲器或微引擎内部的缓冲器之间的映射关系。
本发明所述的网络报文处理方法,其具体步骤为:
接口单元去访问其一个通道对应的第一段映射单元中的一个寄存器,并获得存储于该寄存器中的第一地址;
接口单元去访问所述第一地址对应的第二段映射单元的一个寄存器,并获得存储于该寄存器中的第二地址;
接口单元去访问所述第二地址对应的第三段映射单元的一个寄存器,并获得存储于该寄存器中的第三地址;
接口单元将进入其所述通道的报文存入第三地址对应的缓冲器。
当一个缓冲器填充完成以后,第二段映射单元的寄存器所存储的第二地址会根据第三段映射单元中定义的下一个缓冲器的地址而改变,以指向存储所述下一个缓冲器地址的第三段映射单元的寄存器。
本发明还提供了一种网络报文处理方法,其中包括:接口单元的一个通道接收外部的报文;接口单元搜索地址映射单元,找到所述通道对应的缓冲器的地址,所述地址映射单元采用三段地址映射机制实现通道与微引擎所对应的缓冲器或微引擎内部的缓冲器之间的映射关系;接口单元通过总线将该报文存入与微引擎所对应的缓冲器或微引擎内部的缓冲器。
所述的网络报文处理方法的具体步骤为,所述接口单元搜索地址映射单元找到所述通道对应的缓冲器的地址,接口单元检索其一个通道所对应的第一映射单元中的一个寄存器存储的第一地址;检索所述第一地址对应的第二映射单元的一个寄存器存储的第二地址;检索所述第二地址对应的第三映射单元的一个寄存器的存储的第三地址;接口单元将进入其一个通道的报文存入第三地址对应的缓冲器。
当一个缓冲器填充完成以后,第二映射单元的寄存器所存储的第二地址会根据第三映射单元中定义的下一个缓冲器的地址而改变,以指向存储所述下一个缓冲器地址的第三映射单元的寄存器。
本发明的有益效果在于:由于采用三段地址映射机制,进入网络处理装置的报文能灵活的到达网络处理单元的任意存储空间,解决了网络处理单元中,接口数据管理难,以及微引擎难获取待处理报文和获取报文开销大的普遍难题,从而提高报文的转发和处理性能,并使报文处理微引擎软件更容易实现。
附图说明
图1为现有技术的网络处理单元的结构示意图;
图2为本发明三段地址映射的寄存器图;
图3为本发明三段地址映射的实施例1的寄存器图;
图4为本发明三段地址映射的实施例2的寄存器图;
图5为本发明三段地址映射的实施例3的寄存器图;
图6为本发明网络处理装置的结构示意图;
图7为本发明网络处理方法的流程图;
图8为本发明网络处理方法具体实施方式的流程图。
具体实施方式
下面结合附图说明本发明的具体实施方式。本发明主要应用于网络处理单元的硬件设计中,本发明定义网络处理单元包含如下几个单元:微引擎单元(或存储单元)、接口单元以及寄存器单元。
微引擎单元是网络处理单元的核心,完成报文分析和转发。网络处理单元的微引擎单元可以拥有多个微引擎并行处理。
存储单元是网络处理单元内部存储设备,如SRAM等,报文或表项等存储的位置。
接口单元是网络处理单元的对外数据接口,报文有入接口进入,再由出接口转发。
寄存器单元完成网络处理单元的分段地址映射。
在所述寄存器单元中定义三组寄存器单元,即:第一段映射单元(MAPStage1)、第二段映射单元(MAP Stage2)和第三段映射单元(MAP Stage3),如图2所示。第一段映射单元,由多个寄存器组成,且所述寄存器的个数与所述通道的个数相等;第二段映射单元,由至少一个寄存器组成;第三段映射单元,由多个寄存器组成,且所述寄存器的个数与所述通道的个数相关联;缓冲单元,由多个缓冲器组成,且所述缓冲器的个数与所述第三段映射单元中寄存器的个数相对应,所述的缓冲器与一微引擎相对应或是指微引擎内部的缓冲器。
第一段映射单元寄存器组寄存器个数和接口单元中通道个数相同,分别定义接口单元中通道是否有效,如果通道对应的寄存器值指向的是第二段映射单元寄存器组中有效寄存器,则表明接口单元中该通道有效,否则表明该通道无效。
第二段映射单元寄存器组中的寄存器值则又是指向第三段映射单元寄存器组中特定寄存器。是三段地址映射中唯一可变化的,通过它的不停变化,从而使它指向的第三段映射单元地址也是不停变化的,也就是说第一段映射单元寄存器组中定义的有效通道报文能够灵活的到达不同的缓冲器(MAP Stage3地址定义)中。
第三段映射单元寄存器组实际是由一一对应的两组寄存器组成,一组寄存器定义内存地址(buffer地址),一组寄存器定义buffer大小和下一个buffer的位置。当一个buffer填充完成(满)以后,第二段映射单元寄存器组对应的寄存器值会根据第三段映射单元中定义的下一个buffer位置而改变寄存器值,这个第二段映射单元寄存器又指向了一个新的第三段映射单元寄存器。后续报文依次类推。
实施例1:
各阶段地址映射设置如示意图3所示,其结构示意图如图6所示,其中的网络处理装置100包括:接口单元101、微引擎单元103,所述接口单元包括多个通道,用于报文的接收和转发;所述微引擎单元包括多个微引擎,其特征在于,所述装置还包括:地址映射单元102,其由多个寄存器分段组成,用于分段的地址映射;其中,所述通道中的报文根据所述地址映射单元分段的地址映射被填充到所述微引擎的缓存中。其具体映射关系为:
MAP Stage1的n个通道地址都设置指向MAP Stage2地址0,说明接口单元的n个通道有效,都有可能有报文到达。MAP Stage2的0地址中设置了指向MAP Stage3的0地址。由于MAP Stage1的n个通道地址都设置了0,说明n个通道都有报文进入,n个通道以Round-Robin方式轮询,MAP Stage1地址0(即通道1)指向MAP Stage2地址0,MAP Stage2地址0也是指向MAP Stage3的地址0,所以通道1的报文填充MAP Stage3地址0(MAP Stage2地址所指向的MAPStage3地址)所指的Buffer1地址,填满以后,可根据MAP Stage3第二组寄存器设置的步长来修改MAP Stage2地址,如果需要填充下一个MAP Stage3地址所指的Buffer2,则可设置步长为1,MAP Stage2地址0则会被修改成1(0+1),于是通道2(MAP Stage1通道的轮询)的报文到达时(MAP Stage1地址设置通道2也是指向MAP Stage2地址0),则根据MAP Stage2地址0的值(=1),取到MAP Stage3地址1(MAP Stage2地址所指向MAP Stage3地址)中的Buffer2,从而去填充Buffer2,然后MAP Stage2地址又变成2(1+1),以此类推,一直到最后一个buffer,MAP Stage2地址又变回0,从而完成一个循环,如此无限循环下去,各个通道的报文被灵活的分发到任意Buffer中(SRAM或报文处理微引擎等)。
如图7所示,为本发明网络报文处理方法的工作流程,其中:采用接口中的通道接受报文的进入;使所述的通道通过分段地址映射与微引擎的缓存建立通信联接,并将通道中的报文填充到所述微引擎的缓存中。
本发明网络报文处理方法的具体工作流程为(如图8所示):如图3所示的映射关系,网络处理装置的接口单元去访问其通道1对应的第一段映射单元中的一个寄存器,即:并获得存储于该寄存器中的第一地址0;接口单元去访问所述第一地址对应的第二段映射单元的一个寄存器,并获得存储于该寄存器中的第二地址0;接口单元去访问所述第二地址对应的第三段映射单元的一个寄存器,并获得存储于该寄存器中的第三地址(即Buffer1的地址);从而使所述的接口单元将进入其所述通道的报文存入第三地址对应的缓冲器Buffer1中。
Buffer1填满以后,可根据MAP Stage3第二组寄存器设置的步长来修改MAP Stage2地址,如果需要填充下一个MAP Stage3地址所指的Buffer2,则可设置步长为1,MAP Stage2地址0则会被修改成1(0+1),于是通道2(MAP Stage1通道的轮询)的报文到达时(MAP Stage1地址设置通道2也是指向MAP Stage2地址0),则根据MAP Stage2地址0的值(=1),取到MAP Stage3地址1(MAP Stage2地址所指向MAP Stage3地址)中的Buffer2,从而去填充Buffer2,然后MAP Stage2地址又变成2(1+1),以此类推,一直到最后一个buffer,MAP Stage2地址又变回0,从而完成一个循环,如此无限循环下去,各个通道的报文被灵活的分发到任意Buffer中(SRAM或报文处理微引擎等)。
实施例2:
各阶段地址映射设置如示意图4所示,其结构示意图如图6所示,其中的网络处理装置100包括:接口单元101、微引擎单元103,所述接口单元包括多个通道,用于报文的接收和转发;所述微引擎单元包括多个微引擎,其特征在于,所述装置还包括:地址映射单元102,其由多个寄存器分段组成,用于分段的地址映射;其中,所述通道中的报文根据所述地址映射单元分段的地址映射被填充到所述微引擎的缓存中。其具体映射关系为:
MAP Stage1地址n个通道都设置了指向MAP Stage2地址的值,MAP Stage1地址的n个通道都有效。通道1设置的值为0,指向MAP Stage2地址0,MAP Stage2地址0设置的指向MAP Stage3地址的值也为0,通道1到达的报文将填充MAPStage3地址0中的buffer1。同样的,通道2报文也将填充MAP Stage3地址1中的buffer2,通道n报文将通充MAP Stage3地址n中的buffer n,于是各个通道被设置成了独立的到达各个不同的buffer中,此种情况下,MAP Stage2地址可以不变(变化步长设置为0),通道0的报文始终填充buffer1,通道n的报文始终填充buffer n。
如图7所示,为本发明网络报文处理方法的工作流程,其中:采用接口中的通道接受报文的进入;使所述的通道通过分段地址映射与微引擎的缓存建立通信联接,并将通道中的报文填充到所述微引擎的缓存中。本发明网络报文处理方法的具体工作流程为:如图4所示的映射关系,网络处理装置的接口单元去访问其通道1对应的第一段映射单元中的一个寄存器,获得存储于该寄存器中的第一地址0;接口单元去访问所述第一地址对应的第二段映射单元的一个寄存器,并获得存储于该寄存器中的第二地址0;接口单元去访问所述第二地址对应的第三段映射单元的一个寄存器,并获得存储于该寄存器中的第三地址(即Buffer1的地址);从而使所述的接口单元将进入其所述通道1的报文存入第三地址对应的缓冲器Buffer1中。
接口单元去访问其通道2对应的第一段映射单元中的一个寄存器,获得存储于该寄存器中的第一地址1;接口单元去访问所述第一地址对应的第二段映射单元的一个寄存器,并获得存储于该寄存器中的第二地址1;接口单元去访问所述第二地址对应的第三段映射单元的一个寄存器,并获得存储于该寄存器中的第三地址(即Buffer2的地址);从而使所述的接口单元将进入其所述通道2的报文存入第三地址对应的缓冲器Buffer2中。
重复上述步骤,直到接口单元去访问其通道n对应的第一段映射单元中的一个寄存器,获得存储于该寄存器中的第一地址n;接口单元去访问所述第一地址对应的第二段映射单元的一个寄存器,并获得存储于该寄存器中的第二地址n;接口单元去访问所述第二地址对应的第三段映射单元的一个寄存器,并获得存储于该寄存器中的第三地址(即Buffern的地址);从而使所述的接口单元将进入其所述通道n的报文存入第三地址对应的缓冲器Buffern中。
实施例3:
各阶段地址映射设置如示意图5所示,其结构示意图如图6所示,其中的网络处理装置100包括:接口单元101、微引擎单元103,所述接口单元包括多个通道,用于报文的接收和转发;所述微引擎单元包括多个微引擎,其特征在于,所述装置还包括:地址映射单元102,其由多个寄存器分段组成,用于分段的地址映射;其中,所述通道中的报文根据所述地址映射单元分段的地址映射被填充到所述微引擎的缓存中。其具体映射关系为:
MAP Stage1的2个通道地址设置指向MAP Stage2地址0,MAP Stage1的另2个通道地址分别设置指向MAP Stage2地址3、地址4,MAP Stage1的剩余n个通道地址均设置指向MAP Stage2地址m,说明接口单元的各个通道有效,都有可能有报文到达。MAP Stage2的0地址中设置了指向MAP Stage3的0地址。由于MAP Stage1的2个通道地址都设置了0,说明该2个通道都有报文进入,该2个通道以Round-Robin方式轮询,MAP Stage1地址0(即通道1)指向MAP Stage2地址0,MAP Stage2地址0也是指向MAP Stage3的地址0,所以通道1的报文填充MAP Stage3地址0(MAP Stage2地址所指向的MAP Stage3地址)所指的Buffer1地址,填满以后,可根据MAP Stage3第二组寄存器设置的步长来修改MAP Stage2地址,如果需要填充下一个MAP Stage3地址所指的Buffer2,则可设置步长为1,MAP Stage2地址0则会被修改成1(0+1),于是通道2(MAPStage1通道的轮询)的报文到达时(MAP Stage1地址设置通道2也是指向MAPStage2地址0),则根据MAP Stage2地址0的值(=1),取到MAP Stage3地址1(MAP Stage2地址所指向MAP Stage3地址)中的Buffer2,从而去填充Buffer2。
MAP Stage1地址1的通道设置了指向MAP Stage2地址3,MAP Stage1地址的该通道有效。MAP Stage2地址3设置的指向MAP Stage3地址的值为3,该通道到达的报文将填充MAP Stage3地址3中的buffer3。
MAP Stage1地址3的通道设置了指向MAP Stage2地址4,MAP Stage1地址的该通道有效。MAP Stage2地址3设置的指向MAP Stage3地址的值为4,该通道到达的报文将填充MAP Stage3地址4中的buffer4。
MAP Stage1的剩余n个通道地址均设置指向MAP Stage2地址m,MAP Stage2的m地址中设置了指向MAP Stage3的n地址。由于MAP Stage1的n个通道地址都设置了m,说明该n个通道都有报文进入,该n个通道以Round-Robin方式轮询,MAP Stage1地址n指向MAP Stage2地址m,MAP Stage2地址m也是指向MAP Stage3的地址n,所以通道n1的报文填充MAP Stage3地址n(MAP Stage2地址所指向的MAP Stage3地址)所指的Buffern1地址,填满以后,可根据MAP Stage3第二组寄存器设置的步长来修改MAP Stage2地址,如果需要填充下一个MAP Stage3地址所指的Buffern2,则可设置步长为1,MAP Stage2地址m则会被修改成m+1,于是通道n2(MAP Stage1通道的轮询)的报文到达时(MAP Stage1地址设置通道n2也是指向MAP Stage2地址m,则根据MAP Stage2地址m的值,取到MAP Stage3地址n(MAP Stage2地址所指向MAP Stage3地址)中的Buffern2,从而去填充Buffern2。然后MAP Stage2地址又变成m+2,以此类推,一直到最后一个buffer,MAP Stage2地址又变回m,从而完成一个循环,如此无限循环下去,各个通道的报文被灵活的分发到任意Buffer中(SRAM或报文处理微引擎等)。
如图7所示,为本发明网络报文处理方法的工作流程,其中:采用接口中的通道接受报文的进入;使所述的通道通过分段地址映射与微引擎的缓存建立通信联接,并将通道中的报文填充到所述微引擎的缓存中。本发明网络报文处理方法的具体工作流程如图5所示的映射关系,其中的网络报文处理方法如上述实施例1和实施例2中网络报文处理方法的结合。
以上是三个实施例,根据前面的说明,还可以组出更多的更灵活的配置方法,从而使不同通道的报文到达不同的地址中(微引擎单元或存储单元),方便报文处理微引擎的处理。
本发明技术方案带来的有益效果为:本发明解决了网络处理单元中,接口数据管理难以及微引擎难获取待处理报文和获取报文开销大的普遍难题,从而使报文处理微引擎软件更容易实现,并提高报文转发性能。
以上具体实施方式仅用于说明本发明,而非用于限定本发明。
Claims (13)
1、一种网络处理装置,包括:接口单元、微引擎单元,所述接口单元包括多个通道,用于报文的接收和转发;所述微引擎单元包括多个微引擎,其特征在于,所述装置还包括:
地址映射单元,其由多个寄存器分段组成,采用三段地址映射机制实现通道与微引擎所对应的缓冲器或微引擎内部的缓冲器之间的映射关系;
其中,所述通道中的报文根据所述地址映射单元分段的地址映射被填充到与所述微引擎相对应的缓冲器或所述微引擎内部的缓冲器中。
2、如权利要求1所述的网络处理装置,其特征在于,所述地址映射单元包括:
第一段映射单元,包括多个寄存器,所述寄存器数与所述接口单元的通道数相同;
第二段映射单元,包括至少一个寄存器;
第三段映射单元,包括两组寄存器,每组寄存器数与所述微引擎数相同。
3、如权利要求2所述的网络处理装置,其特征在于,所述第三段映射单元包括:
地址寄存器组,包括多个第一寄存器,所述第一寄存器数与所述微引擎单元的微引擎数相同,每个所述第一寄存器中存储有一个所述微引擎单元中一个微引擎缓冲器的地址;
位置寄存器组,其与地址寄存器组一一对应,包括多个第二寄存器,每个所述第二寄存器中存储有一个所述微引擎单元中另一个微引擎缓冲器的地址。
4、如权利要求2所述的网络处理装置,其特征在于,所述第一段映射单元的每个寄存器中分别存储有所述第二段映射单元的一个寄存器的地址。
5、如权利要求2所述的网络处理装置,其特征在于,所述第一段映射单元的多个寄存器存储有所述第二段映射单元的一个寄存器的地址。
6、如权利要求2所述的网络处理装置,其特征在于,所述第二段映射单元中寄存器个数的取值范围是:大于等于1小于等于所述通道个数的任何整数值;所述第二段映射单元的每个寄存器存储有所述第三段映射单元中的一个寄存器的地址。
7、如权利要求1所述的网络处理装置,其特征在于,所述地址映射单元包括:
第一段映射单元,包括多个寄存器,所述寄存器数与所述接口单元的通道数相同;所述第一段映射单元的每个寄存器中分别存储有第二段映射单元的一个寄存器的地址;
第二段映射单元,包括至少一个寄存器;所述第二段映射单元中寄存器个数的取值范围是:大于等于1小于等于所述通道个数的任何整数值;所述第二段映射单元的每个寄存器存储有第三段映射单元中的一个寄存器的地址;
第三段映射单元,包括两组寄存器,每组寄存器数与所述微引擎数相同;所述第三段映射单元包括:地址寄存器组,包括多个第一寄存器,所述第一寄存器数与所述微引擎单元的微引擎数相同,每个所述第一寄存器中存储有一个所述微引擎单元中一个微引擎缓冲器的地址;位置寄存器组,其与地址寄存器组一一对应,包括多个第二寄存器,每个所述第二寄存器中存储有一个所述微引擎单元中另一个微引擎缓冲器的地址。
8、一种网络报文处理方法,其特征在于,
采用接口中的通道接受报文的进入;
使所述的通道通过分段地址映射与微引擎所对应的缓冲器或微引擎内部的缓冲器建立通信联接,并将通道中的报文填充到与微引擎所对应的缓冲器或微引擎内部的缓冲器中,所述分段地址映射为采用三段地址映射机制实现通道与微引擎所对应的缓冲器或微引擎内部的缓冲器之间的映射关系。
9、如权利要求8所述的网络报文处理方法,其特征在于,
接口单元去访问其一个通道对应的第一段映射单元中的一个寄存器,并获得存储于该寄存器中的第一地址;
接口单元去访问所述第一地址对应的第二段映射单元的一个寄存器,并获得存储于该寄存器中的第二地址;
接口单元去访问所述第二地址对应的第三段映射单元的一个寄存器,并获得存储于该寄存器中的第三地址;
接口单元将进入其所述通道的报文存入第三地址对应的缓冲器。
10、如权利要求9所述的网络报文处理方法,其特征在于,还包括:
当一个缓冲器填充完成以后,第二段映射单元的寄存器所存储的第二地址会根据第三段映射单元中定义的下一个缓冲器的地址而改变,以指向存储所述下一个缓冲器地址的第三段映射单元的寄存器。
11、一种网络报文处理方法,其特征在于,包括:
接口单元的一个通道接收外部的报文;
接口单元搜索地址映射单元,找到所述通道对应的缓冲器的地址,所述地址映射单元采用三段地址映射机制实现通道与微引擎所对应的缓冲器或微引擎内部的缓冲器之间的映射关系;
接口单元通过总线将该报文存入与微引擎所对应的缓冲器或微引擎内部的缓冲器。
12、如权利要求11所述的网络报文处理方法,其特征在于,所述接口单元搜索地址映射单元找到所述通道对应的缓冲器的地址,具体包括:
接口单元检索其一个通道所对应的第一映射单元中的一个寄存器存储的第一地址;
检索所述第一地址对应的第二映射单元的一个寄存器存储的第二地址;
检索所述第二地址对应的第三映射单元的一个寄存器存储的第三地址;
接口单元将进入其一个通道的报文存入第三地址对应的缓冲器。
13、如权利要求12所述的网络报文处理方法,其特征在于,还包括:
当一个缓冲器填充完成以后,第二映射单元的寄存器所存储的第二地址会根据第三映射单元中定义的下一个缓冲器的地址而改变,以指向存储所述下一个缓冲器地址的第三映射单元的寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100027851A CN100454899C (zh) | 2006-01-25 | 2006-01-25 | 一种网络处理装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100027851A CN100454899C (zh) | 2006-01-25 | 2006-01-25 | 一种网络处理装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1845529A CN1845529A (zh) | 2006-10-11 |
CN100454899C true CN100454899C (zh) | 2009-01-21 |
Family
ID=37064444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100027851A Active CN100454899C (zh) | 2006-01-25 | 2006-01-25 | 一种网络处理装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100454899C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789869A (zh) * | 2009-01-23 | 2010-07-28 | 华为技术有限公司 | 协议无关组播业务处理方法及装置 |
CN102855213B (zh) * | 2012-07-06 | 2017-10-27 | 中兴通讯股份有限公司 | 一种网络处理器指令存储装置及该装置的指令存储方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5379393A (en) * | 1992-05-14 | 1995-01-03 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Cache memory system for vector processing |
US6243762B1 (en) * | 1994-08-08 | 2001-06-05 | Mercury Computer Systems, Inc. | Methods and apparatus for data access and program generation on a multiprocessing computer |
US20030105901A1 (en) * | 1999-12-22 | 2003-06-05 | Intel Corporation, A California Corporation | Parallel multi-threaded processing |
CN1577310A (zh) * | 2003-06-27 | 2005-02-09 | 株式会社东芝 | 信息处理***和存储器管理方法 |
US20050198090A1 (en) * | 2004-03-02 | 2005-09-08 | Altek Corporation | Shift register engine |
-
2006
- 2006-01-25 CN CNB2006100027851A patent/CN100454899C/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5379393A (en) * | 1992-05-14 | 1995-01-03 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Cache memory system for vector processing |
US6243762B1 (en) * | 1994-08-08 | 2001-06-05 | Mercury Computer Systems, Inc. | Methods and apparatus for data access and program generation on a multiprocessing computer |
US20030105901A1 (en) * | 1999-12-22 | 2003-06-05 | Intel Corporation, A California Corporation | Parallel multi-threaded processing |
CN1577310A (zh) * | 2003-06-27 | 2005-02-09 | 株式会社东芝 | 信息处理***和存储器管理方法 |
US20050198090A1 (en) * | 2004-03-02 | 2005-09-08 | Altek Corporation | Shift register engine |
Non-Patent Citations (4)
Title |
---|
IXP1200网络处理器多层次并行机制研究. 刘钰,赵荣彩,张铮,芦阳.微机发展,第14卷第6期. 2004 |
IXP1200网络处理器多层次并行机制研究. 刘钰,赵荣彩,张铮,芦阳.微机发展,第14卷第6期. 2004 * |
IXP2400网络处理器及其微引擎中多线程实现的研究. 吴闻,李雪莹,许榕生,刘秉瀚.计算机工程与应用,第9期. 2004 |
IXP2400网络处理器及其微引擎中多线程实现的研究. 吴闻,李雪莹,许榕生,刘秉瀚.计算机工程与应用,第9期. 2004 * |
Also Published As
Publication number | Publication date |
---|---|
CN1845529A (zh) | 2006-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240171507A1 (en) | System and method for facilitating efficient utilization of an output buffer in a network interface controller (nic) | |
US8656071B1 (en) | System and method for routing a data message through a message network | |
CN108900327B (zh) | 一种基于dpdk的天文数据采集和实时处理方法 | |
CN1201532C (zh) | 具有中心调度程序的atm交换机及其调度方法 | |
JP6535253B2 (ja) | 複数のリンクされるメモリリストを利用する方法および装置 | |
CN107124286B (zh) | 一种海量数据高速处理、交互的***及方法 | |
US20130219148A1 (en) | Network on chip processor with multiple cores and routing method thereof | |
CN101594299B (zh) | 基于链表的交换网络中队列缓冲管理方法 | |
US8699491B2 (en) | Network element with shared buffers | |
US20030110166A1 (en) | Queue management | |
CN101359314A (zh) | 通过将所检索的数据直接写入存储器的存储控制器来最佳使用缓冲器空间 | |
CN114356223B (zh) | 存储器的访问方法及装置、芯片、电子设备 | |
WO2012019475A1 (zh) | 一种rldramsio访问控制方法和装置 | |
CN1545658A (zh) | 具有双端口存储器仿真配置的交换结构 | |
CN102446087B (zh) | 指令预取方法与预取装置 | |
US11425057B2 (en) | Packet processing | |
CN112084136A (zh) | 队列缓存管理方法、***、存储介质、计算机设备及应用 | |
WO2012055319A1 (zh) | 调度tcam查询和刷新消息的方法和装置 | |
US20030056073A1 (en) | Queue management method and system for a shared memory switch | |
CN111641566A (zh) | 数据处理的方法、网卡和服务器 | |
CN103023669A (zh) | 基于交换网络的一种广播调度方法 | |
US20190319891A1 (en) | Bandwidth matched scheduler | |
CN100454899C (zh) | 一种网络处理装置及方法 | |
US8170041B1 (en) | Message passing with parallel queue traversal | |
CN101420233B (zh) | 一种比特交织器及交织方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220118 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: xFusion Digital Technologies Co., Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |