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

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

Info

Publication number
CN100492341C
CN100492341C CNB018222854A CN01822285A CN100492341C CN 100492341 C CN100492341 C CN 100492341C CN B018222854 A CNB018222854 A CN B018222854A CN 01822285 A CN01822285 A CN 01822285A CN 100492341 C CN100492341 C CN 100492341C
Authority
CN
China
Prior art keywords
piece
instruction
argument
treating apparatus
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.)
Expired - Lifetime
Application number
CNB018222854A
Other languages
English (en)
Other versions
CN1494692A (zh
Inventor
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)
  • Advance Control (AREA)
  • Image Processing (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中含有的存储装置中。第一指令表12a至少包括第一指令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。因此,第二逻辑单元14接收第六指令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分别包括本地CPU 17、IC 15、第一和第二接口设备18a、18b。这样的电路板组件的一个应用实例是在计算机单元中用于防火墙应用。IC 15包含串行耦合的第一模块1和第二模块19。如双头箭头20所示,IC 15能够通过总线与本地CPU 17通信。IC 15和本地CPU 17之间通信的更详细的实例将在后面参照图7进行描述。贯穿整个说明书,本地CPU 17是本领域技术人员所熟知的类型,因此没有作过多的描述。箭头21图示从第一接口设备18a进入IC 15的块。输入的块由串行耦合的第一和第二模块1、19进行处理,然后再发送回第一接口设备18a。虽然没有显示,但是来自第二接口设备18b的块当然也可以以相似的方式进行处理。
现在将描述包含根据本发明的模块的计算机单元22的实例。这个实例涉及到路由器,即将分组从一个LAN(局域网)或WAN(广域网)转发到另一个的计算机。图6示意性地图示了路由器中的部分结构,其中安排了几个线路卡(即电路板组件),每一个都装备了用于特定协议的发送/接收部分。在这里,只显示了三个线路卡23a-23c,但是,在路由器中当然可以有或多或少的线路卡。每一个线路卡包括至少一个IC 15,IC 15包括至少一个根据本发明的模块1。如图5所示,与每个IC 15相关的本地CPU 17可以位于每一个线路卡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,IC 15的供应商可以更新上面公开的可编辑指令表12a-12b中的指令。然而,更新不是本发明的一部分,因此不作更详细的描述。
图7示意性地显示了线路卡23a-23c中的一个线路卡上的电路结构的实例,它包括多个根据本发明的模块。在这里,第一端口集连接到复用器28。多个模块串行耦合到复用器28并通到单元29执行诸如排队、调度和整形等操作。这些操作对于本领域的技术人员而言是公知的,并且不是本发明的部分。在流水线化分组被传递到反向复用器30并通过对应于第一端口集的第二端口集输出之前,附加模块紧跟在单元29之后。对复用器28的反馈也可以完成。而且,该分组可以从逆复用器30转发到本地CPU 17进行处理。同样地,CPU 17可以把分组发送到复用器28。
可以由图7中模块中的一个执行的任务的实例是:
对不同类型的分组(例如ATM信元和以太网包等)进行解码;
作防火墙,用来确定分组应被转发到随后的模块还是过滤出去;
作防火墙,以便只从该线路卡转发特定类型的分组;
业务调节,即测量输入分组的长度并可具有这样的条件,即只有确定数量的数据允许被转发到通信网络中确定的地址,并且在该限制以外的所有数据都被丢弃;
使用路由表把分组转发到另一个线路卡;
对优先权标识排队,例如在不同的分组具有关于通过通信网的快速传送的不同优先权的情况下;和
向输入分组添加或者从它删除头标。
上面描述的处理装置3、用于处理装置3的方法和模块1当然可以应用于上述路由器和用于防火墙应用的计算机单元以外的各种计算机单元,其中,该计算机单元将从用流水线传送获益。这样的计算机单元的实例是网络计算机单元,例如交换机、网关(即在不同类型的网络和应用之间执行协议转换的计算机单元)和用于Web服务器的负载平衡单元等。
本发明也可应用于涉及数字信号处理(即对来自诸如声音、气象卫星和地震监测器等源的信号进行分析和/或修改)的计算机单元。模块1接收到的数据的块4在这种情况下可以是模拟信号序列的数字表示。结合本发明使用的数字信号处理的领域是例如生物医学、声纳、雷达、地震学、语音和音乐处理、图像和通信。

Claims (18)

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

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
CN1494692A CN1494692A (zh) 2004-05-05
CN100492341C true 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
CN102364432A (zh) * 2011-10-25 2012-02-29 中国科学院苏州纳米技术与纳米仿生研究所 使用双程序计数器计算待处理指令地址的系统

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
CN106325248B (zh) * 2016-09-06 2018-12-07 凌云光技术集团有限责任公司 一种视觉检测流水线调控方法及系统

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
CN102364432A (zh) * 2011-10-25 2012-02-29 中国科学院苏州纳米技术与纳米仿生研究所 使用双程序计数器计算待处理指令地址的系统
CN102364432B (zh) * 2011-10-25 2013-12-18 中国科学院苏州纳米技术与纳米仿生研究所 使用双程序计数器计算待处理指令地址的系统

Also Published As

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

Similar Documents

Publication Publication Date Title
Miranda et al. Appia, a flexible protocol kernel supporting multiple coordinated channels
US5249292A (en) Data packet switch using a primary processing unit to designate one of a plurality of data stream control circuits to selectively handle the header processing of incoming packets in one data packet stream
US5067104A (en) Programmable protocol engine having context free and context dependent processes
US5546390A (en) Method and apparatus for radix decision packet processing
CN1307564C (zh) 网络交换机和部件及其操作方法
CN1520112B (zh) 网络协议卸载引擎
US8234653B1 (en) Scalable packet processing systems and methods
CN103004158A (zh) 具有可编程内核的网络设备
CN104012063A (zh) 用于软件定义网络中的灵活和可扩展流处理的控制器
CN102272716A (zh) 网络分组的simd处理
US7236488B1 (en) Intelligent routing switching system
CN101128795A (zh) 语义处理器存储服务器架构
KR20020027570A (ko) 네트워크 프로세서를 사용하는 네트워크 스위치 및 그의방법
US6976154B1 (en) Pipelined processor for examining packet header information
KR20020026266A (ko) Vlsi 네트워크 프로세서 및 방법
CN100531129C (zh) 用于在网络处理器中记帐的装置和方法
CN113037634B (zh) 基于fpga的匹配动作表的处理方法、逻辑电路和设备
CN100492341C (zh) 用于处理流水线化数据的设备和方法
WO2005002178A1 (en) System and method for modifying data transferred from a source to a destination
US7275117B2 (en) Fast pattern processor including a function interface system
CN114143195B (zh) 一种数据包处理装置及方法
JPH11317783A (ja) ヘッダ処理装置とそのヘッダ処理方法
Coss et al. The network processor decision
US6085316A (en) Layered counterflow pipeline processor with anticipatory control
US7322032B1 (en) Methods and apparatus for scheduling operation of a data source

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