CN1494692A - 用于处理流水线化数据的设备和方法 - Google Patents

用于处理流水线化数据的设备和方法 Download PDF

Info

Publication number
CN1494692A
CN1494692A CNA018222854A CN01822285A CN1494692A CN 1494692 A CN1494692 A CN 1494692A CN A018222854 A CNA018222854 A CN A018222854A CN 01822285 A CN01822285 A CN 01822285A CN 1494692 A CN1494692 A CN 1494692A
Authority
CN
China
Prior art keywords
piece
instruction
treating apparatus
argument
logical block
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.)
Granted
Application number
CNA018222854A
Other languages
English (en)
Other versions
CN100492341C (zh
Inventor
L-O
L-O·斯文松
J·罗斯
��������ķ������
T·斯特罗姆奎斯特
P·维斯特伦德
P·霍尔姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Marvell International Ltd
Marvell Technology Sweden AB
Original Assignee
Xelerated AB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xelerated AB filed Critical Xelerated AB
Publication of CN1494692A publication Critical patent/CN1494692A/zh
Application granted granted Critical
Publication of CN100492341C publication Critical patent/CN100492341C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)
  • Advance Control (AREA)

Abstract

本发明涉及到用于处理流水线化数据的处理装置(3),该处理装置包括存储装置和至少一个用于对数据块(4)执行操作的逻辑单元(11)。存储装置包括至少包含一条指令的指令表(12a),并且该至少一个逻辑单元(11)在至少一个流水线级中适应于接收块(4)和该至少一条指令中的第一指令(13a)并执行第一指令(13a)。本发明还涉及到处理流水线化数据的方法、处理流水线化数据的模块(1)、集成电路(15)、电路板组件(16)、计算机单元(22)和流水线化处理系统。

Description

用于处理流水线化数据的设备和方法
技术领域
本发明涉及到一种用于处理流水线化(pipelined)数据的方法、用于流水线化数据的处理装置、用于处理流水线化数据的模块、集成电路、电路板组件、计算机单元和流水线化处理系统。
背景技术
许多处理器使用称为用流水线传送或者流水线化处理的技术,其中,处理器在完成第一指令之前就开始执行第二指令。也就是说,几条指令同时处于“流水线”中,每一个处于不同的处理级。该流水线被分成级(即段),并且每一级可以与其它级并行地执行其操作(即与指令相关的已定义的动作)。当某一级完成操作时,它就将结果传递给流水线中的下一级并从前一级获取下一个操作。每条指令的最终结果在流水线的末端快速地接连显现。
不仅仅是高性能的和基于RISC(精简指令集计算机)的微处理器使用指令的流水线传送。RISC给微处理器执行的指令提供了高的可编程性并且与基于CISC(复杂指令集计算机)的微处理器相比,对于软件给出了更高的需求。虽然基于RISC的微处理器的时钟频率比基于CISC的微处理器更快,但是对于CISC可被配置用于的特定用途,它们却较慢。然而,一般对于特定用途,RISC和CISC都比ASIC(专用集成电路)要慢,因为ASIC是特别适应于特定用途的。既然ASIC为特定的预定工作而优化,那么它就有不适应于其它用途的缺点,并因此缺少通用微处理器的灵活性。US-6157955-A公开了一种用于加速网络基础结构应用的通用可编程分组处理平台。例如,通过将分组处理的步骤分成多个流水线级并提供定制的专用分类引擎和通用微处理器(称为策略(policy)处理器)来执行某些应用所期望的任意动作,加速得以实现。然而,该策略处理器不得不在能够开始执行随后的请求动作之前执行该期望的动作。
发明内容
本发明总的目的是提供一种计算机结构,对于特殊应用,它允许比通常的基于RISC和基于CISC的微处理器更快地执行指令并在可编程性上比ASIC更灵活。
本发明因此提供了一种用于流水线化处理的方法。该方法包括至少一个流水线化处理级,它包括如下步骤:
在处理装置中接收块和第一程序计数器,即用来记住下一指令地址的变量,其中,第一程序计数器和该块相关;
在至少包括第一指令的指令表中查找对应于第一程序计数器的第一指令,也就是在预定值表(数组、矩阵等)中选择;和
在逻辑单元中至少执行一个与第一指令相关的操作。
因此实现了:在进入块的流水线化处理中的每一级都与指令表相关,在指令表中,为应用指定的指令是可编辑的,因而可以为特定应用定制配置每一级。
合适地,至少一个流水线化处理级包括如下步骤:
在处理装置中接收至少一个变元,即变量,其中该至少一个变元与该块相关;和
在逻辑单元中的至少一个操作的执行是对该至少一个变元、或该块或者对该至少一个变元和该块两者完成。
因此实现了可以在指令表中对更复杂的和不同的指令编程。
优选地,在上述级之前,该方法包括如下步骤:
在分类装置中接收与块相关的搜索向量;
比较搜索向量和存储在相关存储器中的数据,该数据包括第一程序计数器和至少一个变元;和
在该至少一个处理级之前把该至少一个变元和第一程序计数器发送到处理装置。
因此实现在处理级之前的分类级,其中,可能与发送到分类装置的块的各种类型不同的至少一个变元和第一程序计数器确定在该处理装置的第一级中块的可能修改。该相关的存储器(即通过比较存储在其中的数据内容而不是寻址预定位置来访问的存储器)是可编程的,这使流水线化处理与ASIC中的处理相比更具灵活性。
有利地,该方法包括如下步骤:
在第一级中创建第二程序计数器,和
在第二级创建第三程序计数器。
因此实现了:当在第一或第二级执行可能的相应条件跳转指令时,条件跳转是可能的。
本发明也涉及到用于处理流水线化数据的处理装置。该处理装置包括存储装置和至少一个用于对数据块执行操作的逻辑单元。该存储装置包括包含至少一条指令的指令表。该至少一个逻辑单元在至少一个流水线化处理级中适应于接收该块和至少一条指令的第一指令,并执行与该第一指令相关的至少一个操作。
适当地,该至少一个逻辑单元在至少一个流水线化处理级中适应于接收至少一个与该块相关的变元,并对该块、至少一个变元或者块和至少一个变元两者执行至少一个操作。
优选地,该指令表包括至少第二指令。因此实现了在流水线化处理期间使用条件跳转的选项。
在根据本发明的处理装置的第一个方面,块是PDU(协议数据单元),例如是IP分组的一部分。因而实现了处理装置可以例如用在诸如因特网等通信网中的设备中。
在该处理装置的第二个方面,块包括模拟信号序列的数字表示。因而实现了处理装置可以用于数字信号处理。
适当地,该逻辑单元包括ALU和用于挑选块中一个部分或几个部分的装置。
而且,本发明涉及到用于处理流水线化数据的模块。该模块包括用于匹配或标识数据块的分类装置和用于处理该块的处理装置。处理装置包括存储装置和至少一个用于对从分类装置传递到处理装置的块执行操作的逻辑单元。分类装置适应于把与块相关的程序计数器发送到处理装置,而存储装置包括包含至少一条指令的指令表。该至少一个逻辑单元在至少一个流水线化处理级适应于接收块和至少一条指令的第一指令并执行与第一指令相关的至少一个操作。
适当地,分类装置适应于把与块相关的至少一个变元发送到处理装置,而该至少一个逻辑单元在至少一个流水线化处理级中适应于接收该至少一个变元并对块、至少一个变元或者块和至少一个变元两者执行至少一个操作。
此外,本发明也涉及到集成电路,它包括根据以上所述的至少一个模块。
而且,本发明还涉及到电路板组件,例如适用于路由器的线路卡(line card)。根据上面所述,该电路板组件包括至少一个包含至少一个模块的集成电路。
而且,本发明涉及到包括至少一个集成电路的计算机单元,例如网络计算机单元或者信号处理计算机单元等,其中,根据以上所述,该至少一个集成电路包括至少一个模块。
本发明也涉及到流水线化处理系统,该系统包括用于匹配或标识数据块的分类装置、存储装置和用于处理该块的处理装置。该处理装置包括至少一个用于对从分类装置传递到处理装置的块执行操作的逻辑单元。该分类装置适应于把与块相关的程序计数器发送到处理装置,而存储装置包括包含至少一条指令的指令表。该至少一个逻辑单元在至少一个处理级中适应于接收块和该至少一条指令的第一指令,并执行与该第一指令相关的至少一个操作。
附图说明
当与附图一起阅读下面对本发明优选实施例和其它实施例的详细描述时,本发明的目的、优点、效果以及特征将更易于理解,其中:
图1示意地显示了用于根据本发明对数据进行流水线化处理的模块;
图2图解了根据本发明的分类装置的功能;
图3示意地显示了根据本发明的处理装置的操作方法概览;
图4更详细地显示了根据图3的处理装置的两个处理级;
图5显示了根据本发明实施例的电路板组件的示意图;
图6示意地显示了根据本发明的路由器;和
图7显示了根据本发明在线路卡上组件的示意块图。
具体实施方式
虽然本发明覆盖了各种变化和替换方法及系统,但是本发明的优选实施例在图中显示并且在下文中还将进行详细说明。但是应该理解为,具体的描述和附图不是意欲把本发明限制到所公开的具体形式。相反地,它希望要求权利的发明范围包括落入如所附权利要求表述的本发明精神和范围到其等价物的整个范围之内的所有修改及其替换构造。
包括用于根据本发明进行流水线化处理的分类装置2和处理装置3的模块1在图1中示意性地图示。采用PDU形式(例如IP分组(因特网协议分组)的一部分等)的块4由分类装置2接收。与块4相关且从其提取出的搜索向量5也由分类装置2接收。块4被分类装置2转发到处理装置3而没有改变块4。处理装置3也从分类装置2接收至少一个变元6和第一程序计数器7a。此后,处理装置3可以对块4执行不同的操作,这取块于例如已经经分类装置分类的块的类型。处理装置3从模块1把改变了的或未改变的块4发送出去。为了执行期望的任务,几个模块可以互相串行耦合,因而创建交替的分类装置2和处理装置3的结构。为了串行耦合模块,第二搜索向量(图中没有显示)可能由处理装置创建并可被发送到可能的第二串行耦合的模块(图中没有显示)。
分类装置2将参照图2进行更详细地描述。在这里,搜索向量5与相关存储器8(CAM=内容可寻址存储器)中的至少一列中的字符串进行比较。相关存储器对于本领域的技术人员而言是公知的,因而没有对它进行详细描述。在比较之后,第一程序计数器7a和对应于搜索向量5的一个或者多个变元6从分类装置2发送到处理装置3。块4在没有改变的情况下通过分类装置2被转发。该转发被延时以便使块4基本上与该一个或者多个变元6和第一程序计数器7a同时发送到处理装置3。在下文中,说明书仅仅提到一个变元6,但是应该理解为,用于每个块的几个变元可以在处理装置中发送、存储以及编辑。
图3示意性地显示了处理装置3操作的基本方法。这里,对数据的块的流水线化处理包括5个处理级9a-9e,其中,每一级在一个时钟周期中处理,但是,处理装置3中的流水线化处理当然可以包括低到仅一级或者大大多于5级。用流水线传送的原理对于本领域的普通技术人员而言是公知的,因此,只对一个块及其相关变元及程序计数器的处理进行描述。在每个级9a-9e之前和之后,输入数据和输出数据每一个都存储在一寄存器(即保存内部操作数值的小型高速计算机电路)中。图3中显示的通过处理装置3的三个分离的并行流中最上一个流图示了对块4的处理。中间的流图示了对相关变元6的处理,而最下面一个流图示了对用于每一级的程序计数器的接收。正如下面将进行解释的,块可以在每一级变化,该变元可以在每一级变化,而新的程序计数器在每一个新级中被创建。
图4显示了图3中显示的5级中最开始的两级9a和9b。应该理解为,其它的三级9c-9e按照与开始的两级9a和9b相同的原理操作,且因此被省略了。根据图3类推,结合图3描述的三种流在图4中也显示了。块4在第一寄存器10a中接收和存储。基本上在相同的时间,变元在第二寄存器10b中接收和存储,第一程序计数器7a在第三寄存器10c中接收和存储。在时钟报时信号(clock tick)的开始,逻辑单元11分别从第一和第二寄存器接收块4和变元6。第一程序计数器7a被用来查找存储在可编辑的第一指令表12a中的相应指令,该第一指令表12a被包含在处理装置3中含有的存储装置中。第一指令表21a至少包括第一指令13a,但是,这里的第一指令表12a分别与第二和第三指令13b、13c一起图示。第一指令表12a当然可以包括任意数目的指令。指令13a-c中的每一条包括可编辑的指令字段(图中没有显示)。当找到对应于第一程序计数器7a的指令时,该指令被发送到逻辑单元11来执行对应于该指令的操作。在图4中,第一指令13a对应于第一程序计数器7a。因此,第一指令13a被发送到逻辑单元11来执行对应于第一指令13a的操作。例如,指令字段可以包括跳转条件指令。
逻辑单元11包括用于创建新的程序计数器的装置(即逻辑子单元)和用于执行与接收到的指令相关的操作的装置。在这个实例的第一级中,用于执行操作和计算条件跳转的装置是ALU(算术逻辑单元)。ALU对于本领域的技术人员而言是公知的,因此没有对它进行详细的描述。用于执行操作的附加或替换装置的示例是用于挑选块的一部分或几部分的装置、用于在块中插入数据的装置(例如给分组加新的头标)和用于处理浮点运算的FPU(浮点单元)。在由逻辑单元11接收到第一指令13a以后,实施第一指令13a所需的操作就得到执行。通过举例的方式,IP分组中的TOS(服务类型)字段可以修改。逻辑单元11也能够编辑变元6。而且,基于块4、变元6、对块4和/或变元6执行的操作和/或期望的条件跳转,逻辑单元11创建第二程序计数器7b。在时钟报时信号(以及由此该第一级9a)结束之前,变化的或者未变的块4存储在第四寄存器10d中,变化的或者未变的变元6存储在第五寄存器10e中,第二程序计数器存储在第六寄存器10f中。
在随后的时钟报时信号期间第二级9b以与第一级9a相似的方式工作。在这里,第二逻辑单元14分别从第四和第五寄存器接收修改过的或未修改过的块4和变元6。第二程序计数器7b与在可编辑的第二指令表12b中的指令作比较,在图4中,指令表12b包括3条指令:第四指令13d、第五指令13e和第六指令13f。当然,指令13d-13f可以类似于或等同于第一指令表12a中的指令13a-13c。在图4中,第六指令13f对应于第二程序计数器7b。因此,第二逻辑单元15接收第六指令13f并对接收到的块4和/或变元6执行对应于第六指令13f的操作,并将块4发送到第七寄存器10g和将变元6发送到第八寄存器10h。第二逻辑单元14也创建第三程序计数器7c,它在第九寄存器10i中发送和存储。
如图4所示,在处理装置3中每个新处理级都创建新的程序计数器。如果第二模块串行耦合到第一模块,则第一处理装置的最后变元存储在寄存器中并构成用于包含在第二模块中的第二分类装置的搜索向量。图4也指出了这样一个事实,即可编辑指令表和不同的逻辑单元(无论是物理上不同的逻辑单元方面还是在包含在每个逻辑单元中的完全不同或部分不同的组件类型方面)都可应用于处理装置3中的每一级。可选地,代替在每一级使用不同的逻辑单元,而在某些级或所有的级可共享相同的逻辑单元。本发明还包括对于处理装置中的某些或每一级只使用一个可编辑指令表。然而,这样的实施例可能限制了处理速度。必须指出的是,指令可能只指示既不影响块4也不影响变元6的操作的执行。例如,当块仅仅标识为必须通过一级、几级或者整个处理装置来传输的一个块时,可能使用这样的指令。
应该理解为,包含处理装置3使用的可编辑指令表的存储装置可能包含在处理装置3中或者在处理装置3之外,但是在模块1上或者集成在IC(集成电路)15中,该IC也包含至少一个模块1。电路板组件16在图5中示意性地图示了。在这里,电路板组件16分别包括本地CPU17、IC15、第一和第二接口设备18a、18b。这样的电路板组件的一个应用实例是在计算机单元中用于防火墙应用。IC15包含串行耦合的第一模块1和第二模块19。如双头箭头20所示,IC15能够通过总线与本地CPU17通信。IC15和本地CPU17之间通信的更详细的实例将在后面参照图7进行描述。贯穿整个说明书,本地CPU17是本领域技术人员所熟知的类型,因此没有作过多的描述。箭头21图示从第一接口设备18a进入IC15的块。输入的块由串行耦合的第一和第二模块1、19进行处理,然后再发送回第一接口设备18a。虽然没有显示,但是来自第二接口设备18b的块当然也可以以相似的方式进行处理。
现在将描述包含根据本发明的模块的计算机单元22的实例。这个实例涉及到路由器,即将分组从一个LAN(局域网)或WAN(广域网)转发到另一个的计算机。图6示意性地图示了路由器中的部分结构,其中安排了几个线路卡(即电路板组件),每一个都装备了用于特定协议的发送/接收部分。在这里,只显示了三个线路卡23a-23c,但是,在路由器中当然可以有或多或少的线路卡。每一个线路卡包括至少一个IC15,IC15包括至少一个根据本发明的模块1。如图5所示,与每个IC15相关的本地CPU17可以位于每一个线路卡23a-23c上。对于需要快速处理大量数据的应用,光纤被用来把线路卡23a-23c连接到通信网络(图中没有显示)。因此,每一个线路卡23a-23c都包括第一端口集,也就是有三组第一端口集,在图6中仅仅用线路卡23a-23c左边的有两个箭头的三条线24a-24c表示该第一端口集。线路卡通过交换结构卡25(即包含路由器用来把从该卡一个端口进来的数据重定向到其另一端口的结构的卡)互相通信。因此,交换结构卡25充当线路卡23a-23c的交换和交叉。每一个线路卡23a-23c包括用于与交换结构卡通信的第二端口集,即在图6中有三组第二端口集。每一第二端口集用相关线路卡23a-23c和交换结构卡25之间具有两个箭头的线26a-26c表示。例如,设备27用于计算路由表,即路由器中包含当前通信网络的信息的数据库表。通过设备27,IC15的供应商可以更新上面公开的可编辑指令表12a-12b中的指令。然而,更新不是本发明的一部分,因此不作更详细的描述。
图7示意性地显示了线路卡23a-23c中的一个线路卡上的电路结构的实例,它包括多个根据本发明的模块。在这里,第一端口集连接到复用器28。多个模块串行耦合到复用器28并通到单元29执行诸如排队、调度和整形等操作。这些操作对于本领域的技术人员而言是公知的,并且不是本发明的部分。在流水线化分组被传递到反向复用器30并通过对应于第一端口集的第二端口集输出之前,附加模块紧跟在单元29之后。对复用器28的反馈也可以完成。而且,该分组可以从逆复用器30转发到本地CPU17进行处理。同样地,CPU17可以把分组发送到复用器28。
可以由图7中模块中的一个执行的任务的实例是:
对不同类型的分组(例如ATM信元和以太网包等)进行解码;
作防火墙,用来确定分组应被转发到随后的模块还是过滤出去;
作防火墙,以便只从该线路卡转发特定类型的分组;
业务调节,即测量输入分组的长度并可具有这样的条件,即只有确定数量的数据允许被转发到通信网络中确定的地址,并且在该限制以外的所有数据都被丢弃;
使用路由表把分组转发到另一个线路卡;
对优先权标识排队,例如在不同的分组具有关于通过通信网的快速传送的不同优先权的情况下;和
向输入分组添加或者从它删除头标。
上面描述的处理装置3、用于处理装置3的方法和模块1当然可以应用于上述路由器和用于防火墙应用的计算机单元以外的各种计算机单元,其中,该计算机单元将从用流水线传送获益。这样的计算机单元的实例是网络计算机单元,例如交换机、网关(即在不同类型的网络和应用之间执行协议转换的计算机单元)和用于Web服务器的负载平衡单元等。
本发明也可应用于涉及数字信号处理(即对来自诸如声音、气象卫星和地震监测器等源的信号进行分析和/或修改)的计算机单元。模块1接收到的数据的块4在这种情况下可以是模拟信号序列的数字表示。结合本发明使用的数字信号处理的领域是例如生物医学、声纳、雷达、地震学、语音和音乐处理、图像和通信。
权利要求书
(按照条约第19条的修改)
1.一种用于流水线化处理的方法,该处理包括多个流水线化处理级,其特征在于包括如下步骤:
在处理装置(3)的第一逻辑单元(11)中接收块(4);
在包括至少第一指令(13a)的第一指令表(12a)中查找对应于与该块(4)相关的第一程序计数器(7a)的第一指令(13a);
在第一逻辑单元(11)中执行至少一个与该第一指令(13a)相关的操作;
在第一逻辑单元(11)中创建与块(4)相关的第二程序计数器(7b);
在处理装置(3)中的第二逻辑单元(14)中接收该块(4);
在至少包括另外的指令(13f)的第二指令表(12b)中查找对应于第二程序计数器(7b)的另外的指令(13f);和
在第二逻辑单元(14)中执行至少一个与该另外指令(13f)相关的操作。
2.根据权利要求1的方法,其中,所述至少一个流水线化处理级包括如下步骤:
在第一逻辑单元(11)中接收至少一个变元(6),其中,该至少一个变元(6)与该块(4)相关;和
在第一逻辑单元(11)中的至少一个操作的执行是对该至少一个变元(6)、该块(4)、或者是对该至少一个变元(6)和块(4)两者完成。
3.根据权利要求2的方法,包括如下步骤:
在分类装置(2)中接收与该块(4)相关的搜索向量(5);
比较该搜索向量(5)和存储在相关存储器(8)中的数据,该数据包括第一程序计数器(7a)和该至少一个变元(6);和
在该多个流水线化处理级中任何一级之前把该至少一个变元(6)和第一程序计数器(7a)发送到处理装置(3)。
4.根据前面权利要求中任何一项的方法,包括如下步骤:
在第一级(9a)创建第二程序计数器(7b),和
在第二级(9b)创建第三程序计数器(7c)。
5.一种用于处理流水线化数据的处理装置(3),它包括存储装置和多个用于对数据块(4)执行操作的逻辑单元(11,14),
其特征在于,该存储装置包括多个指令表(12a,12b),每一个指令表包含至少一条指令,该多个逻辑单元中的第一逻辑单元(11)在第一流水线化处理级(9a)中适应于接收块(4)和该多个指令表中第一指令表(12a)中的第一指令(13a),并执行与该第一指令(13a)相关的至少一个操作,该多个逻辑单元中的第二逻辑单元(14)在第二流水线化处理级(9b)中适应于接收块(4)和该多个指令表中第二指令表(12b)中的另外的指令(13f),并执行与该另外的指令(13f)相关的至少一个操作。
6.根据权利要求5的处理装置(3),其中,
至少一个逻辑单元(11)适应于接收至少一个与块(4)相关的变元(6),并对块(4)、至少一个变元(6)或者块(4)和至少一个变元(6)两者执行各自的至少一个操作。
7.根据权利要求5或6的处理装置(3),其中,至少一个指令表(12a)也至少包括第二指令(13b)。
8.根据权利要求5-7中任何一项的处理装置(3),其中,块(4)是PDU,例如是IP分组的一部分。
9.根据权利要求5-7中任何一项的处理装置(3),其中,块(4)包括模拟信号序列的数字表示。
10.根据权利要求5-9中任何一项的处理装置(3),其中,
逻辑单元(11)中至少一个包括ALU。
11.根据权利要求10的处理装置(3),其中,第一逻辑单元(11)包括用于挑选块(4)中一个部分或几个部分的装置。
12.一种用于处理流水线化数据的模块(1),它包括用于匹配或标识数据块(4)的分类装置(2)和用于处理块(4)的处理装置(3),该处理装置(3)包括存储装置和用于对从分类装置(2)传递到处理装置(3)的块(4)执行操作的至少一个逻辑单元(11),
其特征在于,
该分类装置(2)适应于把与块(4)相关的程序计数器(7a)发送到处理装置(3),
该存储装置包括包含至少一条指令的指令表(12a),以及
该至少一个逻辑单元(11)在至少一个流水线化处理级适应于接收块(4)和至少一条指令的第一指令(13a)并执行与该第一指令(13a)相关的至少一个操作。
13.根据权利要求12的模块(1),其中,分类装置(2)适应于把与块(4)相关的至少一个变元(6)发送到处理装置(3),以及
该至少一个逻辑单元(11)在至少一个流水线化处理级中适应于接收该至少一个变元(6),并对块(4)、至少一个变元(6)或者块(4)和至少一个变元(6)两者执行至少一个操作。
14.一种集成电路(15),其特征在于根据权利要求12的至少一个模块(1)。
15.一种电路板组件(16),例如适用于路由器的线路卡,其特征在于,至少一个集成电路(15)包含至少一个根据权利要求12的模块(1)。
16.一种计算机单元(22),例如网络计算机单元或者信号处理计算机单元,它包括至少一个集成电路(15),其特征在于,该至少一个集成电路(15)包括至少一个根据权利要求12的模块(1)。
17.一种流水线化处理系统,它包括用于匹配或标识数据块(4)的分类装置(2)、存储装置和用于处理该块(4)的处理装置(3),处理装置(3)包括至少一个用于对从分类装置(2)传递到处理装置(3)的块(4)执行操作的逻辑单元(11),
其特征在于,该分类装置(2)适应于把与块(4)相关的程序计数器(7a)发送到处理装置(3),
该存储装置包括包含至少一条指令的指令表(12a),该至少一个逻辑单元(11)在至少一个处理级中适应于接收块(4)和至少一条指令的第一指令(13a),并执行与该第一指令(13a)相关的至少一个操作。
18.根据权利要求17的流水线化处理系统,其中,分类装置(2)适应于把与块(4)相关的至少一个变元(6)发送到处理装置(3),该至少一个逻辑单元(11)在该至少一个处理级中适应于接收该至少一个变元(6),并对块(4)、该至少一个变元(6)或者块(4)和至少一个变元(6)两者执行至少一个操作。

Claims (18)

1.一种用于流水线化处理的方法,该处理包括至少一个流水线化处理级,其特征在于包括如下步骤:
在处理装置(3)中接收块(4)和第一程序计数器(7a),其中,该第一程序计数器(7a)和该块(4)相关;
在包括至少第一指令(13a)的指令表(12a)中查找对应于该第一程序计数器(7a)的第一指令(13a);和
在逻辑单元(11)中至少执行一个与该第一指令(13a)相关的操作。
2.根据权利要求1的方法,其中,所述至少一个流水线化处理级包括如下步骤:
在处理装置(3)中接收至少一个变元(6),其中,该至少一个变元(6)与块(4)相关;和
在逻辑单元(11)中的至少一个操作的执行是对该至少一个变元(6)、块(4)、或者是对该至少一个变元(6)和块(4)两者完成的。
3.根据权利要求2的方法,包括如下步骤:
在分类装置(2)中接收与块(4)相关的搜索向量(5);
比较搜索向量(5)和存储在相关存储器(8)中的数据,该数据包括第一程序计数器(7a)和至少一个变元(6);和
在该至少一个流水线化处理级之前把该至少一个变元(6)和第一程序计数器(7a)发送到处理装置(3)。
4.根据前面权利要求中任何一项的方法,包括如下步骤:
在第一级(9a)创建第二程序计数器(7b),和
在第二级(9b)创建第三程序计数器(7c)。
5.一种用于处理流水线化数据的处理装置(3),它包括存储装置和至少一个用于对数据块(4)执行操作的逻辑单元(11),
其特征在于,该存储装置包括包含至少一条指令的指令表(12a),以及该至少一个逻辑单元(11)在至少一个流水线化处理级中适应于接收块(4)和该至少一条指令的第一指令(13a),并执行与该第一指令(13a)相关的至少一个操作。
6.根据权利要求5的处理装置(3),其中,该至少一个逻辑单元(11)在至少一个流水线化处理级中适应于接收至少一个与该块(4)相关的变元(6),并对该块(4)、至少一个变元(6)或者该块(4)和至少一个变元(6)两者执行至少一个操作。
7.根据权利要求5或6的处理装置(3),其中,该指令表(12a)也至少包括第二指令(13b)。
8.根据权利要求5-7中任何一项的处理装置(3),其中,块(4)是PDU,例如是IP分组的一部分。
9.根据权利要求5-7中任何一项的处理装置(3),其中,块(4)包括模拟信号序列的数字表示。
10.根据权利要求5-9中任何一项的处理装置(3),其中,逻辑单元(11)包括ALU。
11.根据权利要求10的处理装置(3),其中,逻辑单元(11)包括用于挑选该块(4)中一个部分或几个部分的装置。
12.一种用于处理流水线化数据的模块(1),它包括用于匹配或标识数据块(4)的分类装置(2)和用于处理该块(4)的处理装置(3),该处理装置(3)包括存储装置和用于对从分类装置(2)传递到处理装置(3)的块(4)执行操作的至少一个逻辑单元(11),
其特征在于,
该分类装置(2)适应于把与块(4)相关的程序计数器(7a)发送到处理装置(3),
该存储装置包括包含至少一条指令的指令表(12a),以及
该至少一个逻辑单元(11)在至少一个流水线化处理级中适应于接收该块(4)和至少一条指令的第一指令(13a),并执行与该第一指令(13a)相关的至少一个操作。
13.根据权利要求12的模块(1),其中,该分类装置(2)适应于把与块(4)相关的至少一个变元(6)发送到处理装置(3),以及
该至少一个逻辑单元(11)在该至少一个流水线化处理级中适应于接收该至少一个变元(6),并对该块(4)、至少一个变元(6)或者该块(4)和至少一个变元(6)两者执行至少一个操作。
14.一种集成电路(15),其特征在于根据权利要求12的至少一个模块(1)。
15.一种电路板组件(16),例如适用于路由器的线路卡(23a),其特征在于,至少一个集成电路(15)包含至少一个根据权利要求12的模块(1)。
16.一种计算机单元(22),例如网络计算机单元或者信号处理计算机单元,它包括至少一个集成电路(15),其特征在于,至少一个集成电路(15)包括至少一个根据权利要求12的模块(1)。
17.一种流水线化处理系统,它包括用于匹配或标识数据块(4)的分类装置(2)、存储装置和用于处理块(4)的处理装置(3),该处理装置(3)包括至少一个逻辑单元(11)来执行对从分类装置(2)传递到处理装置(3)的块(4)的操作,
其特征在于,
该分类装置(2)适应于把与块(4)相关的程序计数器(7a)发送到处理装置(3),
该存储装置包括包含至少一条指令的指令表(12a),以及该至少一个逻辑单元(11)在至少一个处理级中适应于接收块(4)和至少一条指令的第一指令(13a),并执行与该第一指令(13a)相关的至少一个操作。
18.根据权利要求17的流水线化处理系统,其中,分类装置(2)适应于把与块(4)相关的至少一个变元(6)发送到处理装置(3),以及该至少一个逻辑单元(11)在至少一个处理级中适应于接收该至少一个变元(6),并对该块(4)、至少一个变元(6)或者该块(4)和至少一个变元(6)两者执行至少一个操作。
CNB018222854A 2001-01-25 2001-05-21 用于处理流水线化数据的设备和方法 Expired - Lifetime CN100492341C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE0100221A SE521697C2 (sv) 2001-01-25 2001-01-25 Anordningar och förfarande för behandling av data i en logisk rörledning
SE01002211 2001-01-25

Publications (2)

Publication Number Publication Date
CN1494692A true CN1494692A (zh) 2004-05-05
CN100492341C CN100492341C (zh) 2009-05-27

Family

ID=20282730

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018222854A Expired - Lifetime CN100492341C (zh) 2001-01-25 2001-05-21 用于处理流水线化数据的设备和方法

Country Status (8)

Country Link
US (1) US7010673B2 (zh)
EP (1) EP1360602B1 (zh)
CN (1) CN100492341C (zh)
AT (1) ATE463012T1 (zh)
DE (1) DE60141713D1 (zh)
ES (1) ES2339920T3 (zh)
SE (1) SE521697C2 (zh)
WO (1) WO2002059767A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325248A (zh) * 2016-09-06 2017-01-11 凌云光技术集团有限责任公司 一种视觉检测流水线调控方法及系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE525183C2 (sv) * 2002-04-04 2004-12-21 Xelerated Ab Förfarande och medel för behandling med pipelining av datapaket
US20070070077A1 (en) * 2005-09-26 2007-03-29 Silicon Integrated Systems Corp. Instruction removing mechanism and method using the same
US8179896B2 (en) * 2006-11-09 2012-05-15 Justin Mark Sobaje Network processors and pipeline optimization methods
CN102364432B (zh) * 2011-10-25 2013-12-18 中国科学院苏州纳米技术与纳米仿生研究所 使用双程序计数器计算待处理指令地址的系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261063A (en) * 1990-12-07 1993-11-09 Ibm Corp. Pipeline apparatus having pipeline mode eecuting instructions from plural programs and parallel mode executing instructions from one of the plural programs
US5509123A (en) 1994-03-22 1996-04-16 Cabletron Systems, Inc. Distributed autonomous object architectures for network layer routing
US5524258A (en) * 1994-06-29 1996-06-04 General Electric Company Real-time processing of packetized time-sampled signals employing a systolic array
US5566170A (en) 1994-12-29 1996-10-15 Storage Technology Corporation Method and apparatus for accelerated packet forwarding
US5666487A (en) * 1995-06-28 1997-09-09 Bell Atlantic Network Services, Inc. Network providing signals of different formats to a user by multplexing compressed broadband data with data of a different format into MPEG encoded data stream
JPH09106389A (ja) * 1995-10-12 1997-04-22 Sony Corp 信号処理装置
IT1288076B1 (it) * 1996-05-30 1998-09-10 Antonio Esposito Multicalcolatore elettronico numerico parallelo multiprocessore a ridondanza di processori accoppiati
US6252610B1 (en) * 1998-05-29 2001-06-26 Silicon Graphics, Inc. Method and apparatus for efficiently switching state in a graphics pipeline
US6393026B1 (en) * 1998-09-17 2002-05-21 Nortel Networks Limited Data packet processing system and method for a router
KR100352981B1 (ko) * 1999-05-21 2002-09-18 유혁 엠펙-1 데이터 전송 장치 및 그 방법
US6836808B2 (en) * 2002-02-25 2004-12-28 International Business Machines Corporation Pipelined packet processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325248A (zh) * 2016-09-06 2017-01-11 凌云光技术集团有限责任公司 一种视觉检测流水线调控方法及系统
CN106325248B (zh) * 2016-09-06 2018-12-07 凌云光技术集团有限责任公司 一种视觉检测流水线调控方法及系统

Also Published As

Publication number Publication date
US20040133673A1 (en) 2004-07-08
EP1360602A1 (en) 2003-11-12
SE521697C2 (sv) 2003-11-25
WO2002059767A1 (en) 2002-08-01
ATE463012T1 (de) 2010-04-15
CN100492341C (zh) 2009-05-27
DE60141713D1 (de) 2010-05-12
ES2339920T3 (es) 2010-05-27
SE0100221L (sv) 2002-07-26
US7010673B2 (en) 2006-03-07
EP1360602B1 (en) 2010-03-31
SE0100221D0 (sv) 2001-01-25

Similar Documents

Publication Publication Date Title
Miranda et al. Appia, a flexible protocol kernel supporting multiple coordinated channels
CN101807161B (zh) 流式传输直接线程间缓冲区封包的方法、装置、片上网络
McCanne et al. The BSD Packet Filter: A New Architecture for User-level Packet Capture.
US7873817B1 (en) High speed multi-threaded reduced instruction set computer (RISC) processor with hardware-implemented thread scheduler
CN1794236B (zh) 高效的基于cam在分组有效载荷中进行串搜索的技术
US5067104A (en) Programmable protocol engine having context free and context dependent processes
CN1126027C (zh) 处理不同宽度的命令的vliw处理器
US7860967B2 (en) Network processor system including a central processor and at least one peripheral processor
US7069372B1 (en) Processor having systolic array pipeline for processing data packets
US20110083000A1 (en) Data processing architectures for packet handling
CN1801775A (zh) 流分配
CN1437724A (zh) 使用内部处理器存储空间的高速数据处理
CN1625160A (zh) 可控制数据包传送的交换器及相关方法
CN100339832C (zh) 帧和协议分类的方法和系统
CN1520112A (zh) 网络协议卸载引擎
CN1781286A (zh) 用于分组分类和重写的方法和装置
US20070192572A1 (en) Minimum processor instruction for implementing weighted fair queuing and other priority queuing
CN105022671A (zh) 一种用于流式数据并行处理的负载均衡方法
CN1829200A (zh) 用于在网络处理器中记帐的装置和方法
US7215662B1 (en) Logical separation and accessing of descriptor memories
CN1781293A (zh) 用于修改从源传输到目的地的数据的系统和方法
CN110535847B (zh) 网络处理器及网络数据的入栈处理方法
CN1494692A (zh) 用于处理流水线化数据的设备和方法
CN1147786C (zh) 数据处理装置
US7275117B2 (en) Fast pattern processor including a function interface system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: XELERATED AB

Free format text: FORMER OWNER: DALONG CO., LTD.

Effective date: 20050318

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20050318

Address after: Stockholm

Applicant after: Xelerated AB

Address before: Stockholm

Applicant before: Daron company

ASS Succession or assignment of patent right

Owner name: SPEED OPERATION OF THE COMPANY

Free format text: FORMER OWNER: XELERATED AB

Effective date: 20070615

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20070615

Address after: Stockholm

Applicant after: Accelerated operation Co.

Address before: Stockholm

Applicant before: Xelerated AB

C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120130

Address after: Stockholm

Patentee after: A strategic position Lelateniuke Co.

Address before: Stockholm

Patentee before: Xelerated AB

CP01 Change in the name or title of a patent holder

Address after: Stockholm, Sweden

Patentee after: Marvell technologies Sweden

Address before: Stockholm, Sweden

Patentee before: A strategic position Lelateniuke Co.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20201201

Address after: Bermuda Hamill

Patentee after: Marvell International Ltd.

Address before: Stockholm, Sweden

Patentee before: Marvell technologies Sweden

TR01 Transfer of patent right
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20090527