IP Library Granted Patent US 7,010,673
Granted Patent B2
US 7,010,673 · App. 10/470,096 · Granted Mar 7, 2006

Apparatus and method for processing pipelined data

Assignee: Xelerated AB
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,010,673
App. No.
10/470,096
Granted
Mar 7, 2006
Kind
B2
Abstract

Apparatus ( 3 ) for processing pipelined data, comprises a storage unit and at least one logic unit ( 11 ) for executing operations on a block ( 4 ) of data. The storage means comprises an instruction table ( 12 a ) comprising at least one instruction, and the at least one logic unit ( 11 ) is in at least one pipelined processing stage adapted to receive the block ( 4 ) and a first instruction ( 13 a ) of the at least one instruction and execute the first instruction ( 13 a ). The invention also relates to a method for processing pipelined data, a module ( 1 ) for processing pipelined data, an integrated circuit ( 15 ), a circuit board assembly ( 16 ), a computer unit ( 22 ) and a pipelined processing system.

Claims (53)

1. A method for pipelined processing, comprising a plurality of pipelined processing stages and wherein the method comprising the steps of:

receiving a block ( 4 ) in a first logic unit ( 11 ) in a processing means ( 3 );

looking up a first instruction ( 13 a ) corresponding to a first program counter ( 7 a ), associated with the block ( 4 ) in a first instruction table ( 12 a ) comprising at least the first instruction ( 13 a );

executing at least one operation associated with the first instruction ( 13 a ) in the first logic unit ( 11 );

creating in the first logic unit ( 11 ) a second program counter ( 7 b ), associated with the block ( 4 );

receiving the block ( 4 ) in a second logic unit ( 14 ) in the processing means ( 3 );

looking up a further instruction ( 13 f ) corresponding to the second program counter ( 7 b ) in a second instruction table ( 12 b ) comprising at least the further instruction ( 13 f ); and

executing at least one operation associated with the further instruction ( 13 f ) in the second logic unit ( 14 ).

2. A method according to claim 1 , wherein the at least one pipelined processing stage comprises the step of:

receiving at least one argument ( 6 ) in the first logic unit ( 11 ), where the at least one argument ( 6 ) is associated with the block ( 4 ); and

the executing of the at least one operation in the first logic unit ( 11 ) is performed on the at least one argument ( 6 ), the block ( 4 ) or both the at least one argument ( 6 ) and the block ( 4 ).

3. A method according to claim 2 , comprising the steps of:

receiving a search vector ( 5 ) associated with the block ( 4 ) in a classification means ( 2 );

comparing the search vector ( 5 ) with data stored in an associative storage ( 8 ), the data comprising the first program counter ( 7 a ) and the at least one argument ( 6 ); and

sending the at least one argument ( 6 ) and the first program counter ( 7 a ) to the processing means ( 3 ) before any of the stages of the plurality of pipelined processing stages.

4. A method according to claim 1 , comprising the steps of:

creating a second program counter ( 7 b ) in a first stage ( 9 a ), and

creating a third program counter ( 7 c ) in a second stage ( 9 b ).

5. A processing means ( 3 ) for processing pipelined data, comprising or connected to a storage means and comprising a plurality of logic units ( 11 , 14 ) for executing operations on a block ( 4 ) of data, wherein the storage means comprises a plurality of instruction tables ( 12 a , 12 b ), each comprising at least one instruction, and wherein a first logic unit ( 11 ) is connected to a first register ( 10 a ) for storing a block of data, a register for storing a first program counter is connected to a first instruction table ( 12 a ), the first instruction table is connected to the first logic unit ( 11 ), the first logic unit ( 11 ) is connected to a further register ( 10 d ) for storing the block of data, and to a further register ( 10 f ) for storing a second program counter, a second logic unit ( 14 ) is connected to the further register ( 10 d ) for storing the block of data, the further register ( 10 f ) for storing a second program counter is connected to a second instruction table, and the second instruction table ( 12 b ) is connected to the second logic unit ( 14 ).

6. A processing means ( 3 ) according to claim 5 , wherein the first logic unit is connected to a register for storing at least one argument associated with the block of data.

7. A processing means ( 3 ) according to claim 5 , wherein at least one of the instruction tables ( 12 a ) also comprises at least a second instruction ( 13 b ).

8. A processing means ( 3 ) according to claim 5 , wherein the block ( 4 ) is a PDU, e.g. a part of an IP-packet.

9. A processing means ( 3 ) according to claim 5 , wherein the block ( 4 ) comprises a digital representation of an analogue signal sequence.

10. A processing means ( 3 ) according to claim 5 , wherein at least one of the logic units ( 11 ) comprises an ALU.

11. A processing means ( 3 ) according to claim 10 , wherein the first logic unit ( 11 ) comprises means for picking out a part or parts of the block ( 4 ).

12. A module ( 1 ) for processing pipelined data, comprising a classification means ( 2 ) for matching or identifying a block ( 4 ) of data and a processing means ( 3 ) for processing the block ( 4 ), the processing means ( 3 ) connected to storage means and comprising at least two logic units ( 11 ) for executing operations on the block ( 4 ), which is delivered from the classification means ( 2 ) to the processing means ( 3 ), wherein the processing means comprises a first register for storing a program counter, the classification means being connected to the first register for storing a program counter,

the storage means comprises a first instruction table ( 12 a ) comprising at least one instruction,

a first logic unit ( 11 ) is connected to a first register ( 10 a ) for storing the block,

the first register for storing a first program counter is connected to the first instruction table,

the first instruction table is connected to the first logic unit,

the first logic unit is connected to a further register ( 10 d ) for storing the block of data, and to a further register ( 10 f ) for storing a second program counter,

a second logic unit ( 14 ) is connected to the further register ( 10 d ) for storing the block of data,

the further register ( 10 f ) for storing a second program counter is connected to a second instruction table ( 12 b ), wherein the second instruction table is connected to the second logic unit ( 14 ).

13. A module ( 1 ) according to claim 12 , wherein the processing means comprises a register for storing at least one argument, the classification means being connected to the register for storing at least one argument, and the at least one logic unit ( 11 ) in the at least one pipelined processing stage is connected to a register for storing the at least one argument.

14. An integrated circuit ( 15 ), characterised by at least one module ( 1 ) according to claim 12 .

15. A circuit board assembly ( 16 ), such as a line card ( 23 a ) adapted for a router, having at least one integrated circuit ( 15 ) comprising at least one module ( 1 ) for processing pipelined data, wherein said module comprising a classification means ( 2 ) for matching or identifying a block ( 4 ) of data and a processing means ( 3 ) for processing the block ( 4 ), the processing means ( 3 ) being connected to storage means and comprising at least two logic units ( 11 ) for executing operations on the block ( 4 ), which is delivered from the classification means ( 2 ) to the processing means ( 3 ), and wherein

the processing means comprises a first register ( 10 c ) for storing a program counter, the classification means being connected to the first register for storing a program counter,

wherein the storage means comprises a first instruction table ( 12 a ) comprising at least one instruction,

a first logic unit ( 11 ) is connected to a first register ( 10 a ) for storing the block, the first register for storing a first program counter is connected to the first instruction table ( 12 a ), the first instruction table ( 12 a ) is connected to the first logic unit ( 11 ), the first logic unit is connected to a further register ( 10 d ) for storing the block of data, and to a further register ( 10 f ) for storing a second program counter, and

a second logic unit ( 14 ) is connected to the further register ( 10 d ) for storing the block of data, the further register ( 10 f ) for storing a second program counter is connected to a second instruction table ( 12 b ), wherein the second instruction table is connected to the second logic unit ( 14 ).

16. A computer unit ( 22 ), such as network computer unit or a signal processing computer unit, comprising at least one integrated circuit ( 15 ), wherein the at least one integrated circuit ( 15 ) comprises at least one module ( 1 ) according to claim 12 .

17. A pipelined processing system, comprising a classification means ( 2 ) for matching or identifying a block ( 4 ) of data, a storage means and a processing means ( 3 ) for processing the block ( 4 ), the processing means ( 3 ) being connected to storage means and comprising at least two logic units ( 11 ) for executing operations on the block ( 4 ), which is delivered from the classification means ( 2 ) to the processing means ( 3 ), wherein,

the processing means comprises a first register for storing a program counter, the classification means being connected to the first register for storing a program counter,

the storage means comprises a first instruction table ( 12 a ) comprising at least one instruction,

a first logic unit ( 11 ) is connected to a first register for storing the block,

the first register for storing a first program counter is connected to the first instruction table ( 12 a ),

the first instruction table ( 12 a ) is connected to the first logic unit ( 11 ),

the first logic unit is connected to a further register ( 10 d ) for storing the block of data,

and to a further register ( 10 f ) for storing a second program counter,

a second logic unit ( 14 ) is connected to the further register ( 10 d ) for storing the block of data,

the further register ( 10 f ) for storing a second program counter is connected to a second instruction table ( 12 b ), and

the second instruction table ( 12 b ) is connected to the second logic unit ( 14 ).

18. A pipelined processing system according to claim 17 , wherein the processing means comprises a register for storing at least one argument, the classification means being connected to the register for storing at least one argument, and the at least one logic unit ( 11 ) in the at least one processing stage is connected to a register for storing the at least one argument.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2011
From: XELERATED AB
To: XELERATED NEWCO AB
Reel/Frame 027387/0234 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2007
From: XELERATED AB
To: XELERATED OPERATIONS AB
Reel/Frame 019215/0602 →
CHANGE OF NAME Recorded Apr 26, 2007
From: XELERATED OPERATIONS AB
To: XELERATED AB
Reel/Frame 019215/0651 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2005
From: AKTIEBOLAGET DARON
To: XELERATED AB
Reel/Frame 015690/0323 →
CHANGE OF NAME Recorded Jan 11, 2005
From: XELERATED AB
To: AKTIEBOLAGET DARON
Reel/Frame 015577/0087 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2004
From: SVENSSON, LARS-OLOV; ROOS, JOACHIM; STROMQVIST, THOMAS; WESTLUND, PAR; HOLM, PETER
To: XELERATED AB
Reel/Frame 014237/0309 →
Priority Claims (1)
SE 0100221 · Jan 25, 2001 · national
Continuity (1)
Related Publication 20040133673A1 · Jul 8, 2004