Packet processing device processing input packet data in a packet routing device
First Claim
Patent Images
1. A packet processing device having a packet processor for performing a predetermined packet process by executing an instruction, said packet processor comprising:
- a packet access unit comprising a plurality of first registers, moving received packet data into said first registers sequentially from the beginning and moving the moved packet data among said first registers and transmitting the moved packet data;
a plurality of instruction procedure execution units, every instruction procedure execution unit having the same configuration as each other, for performing in parallel a predetermined calculation corresponding to each of a plurality of packets according to the packet data held in said first registers in said packet access unit;
a selection signal generation unit for generating a selection signal for selecting one of said instruction procedure execution units for performing the calculation corresponding to each of the packets in synchronization with a timing of receiving each packet; and
an intermediate data transfer unit comprising a plurality of second registers, moving intermediate data obtained as a process result from one of said instruction procedure execution units corresponding to the packet data into said second registers to transfer the moved intermediate data in synchronization with the moving of the packet data and in parallel using said first registers in said packet access unit.
1 Assignment
0 Petitions
Accused Products
Abstract
A packet processing device which can reserve a calculation time for each instruction procedure execution unit independent of the data length of a packet by sequentially selecting an instruction procedure execution unit by a selection signal generation unit and performing a calculation on each packet when packets are consecutively input to a packet access unit is disclosed.
-
Citations
14 Claims
-
1. A packet processing device having a packet processor for performing a predetermined packet process by executing an instruction, said packet processor comprising:
-
a packet access unit comprising a plurality of first registers, moving received packet data into said first registers sequentially from the beginning and moving the moved packet data among said first registers and transmitting the moved packet data; a plurality of instruction procedure execution units, every instruction procedure execution unit having the same configuration as each other, for performing in parallel a predetermined calculation corresponding to each of a plurality of packets according to the packet data held in said first registers in said packet access unit; a selection signal generation unit for generating a selection signal for selecting one of said instruction procedure execution units for performing the calculation corresponding to each of the packets in synchronization with a timing of receiving each packet; and an intermediate data transfer unit comprising a plurality of second registers, moving intermediate data obtained as a process result from one of said instruction procedure execution units corresponding to the packet data into said second registers to transfer the moved intermediate data in synchronization with the moving of the packet data and in parallel using said first registers in said packet access unit. - View Dependent Claims (2, 3, 4)
-
-
5. A packet processing device having a packet processor for performing a predetermined packet process by executing an instruction, said packet processor comprising:
-
a packet access unit comprising a plurality of first registers, moving received packet data into said first registers sequentially from the beginning and moving the moved packet data among said first registers and transmitting the moved packet data; a plurality of instruction procedure execution units, every instruction procedure execution unit having the same configuration as each other, for performing in parallel a predetermined calculation corresponding to each of a plurality of packets according to the packet data held in said first registers in said packet access unit; and a selection signal generation unit for generating a selection signal for selecting one of said instruction procedure execution units for performing the calculation corresponding to each of the packets in synchronization with a timing of receiving each packet, wherein said packet access unit comprises; a first selector for executing an operation in parallel for each of said plurality of instruction procedure execution units that selectively fetch the packet data held in one or more of said plurality of first registers, and inputting the data to one of said plurality of instruction procedure execution units; and a second selector for executing an operation in parallel for each of said plurality of instruction procedure execution units that inputs resultant data obtained by one of said plurality of instruction procedure execution units executing a specified instruction procedure to one of said plurality of first registers corresponding to an execution order of the instruction procedure. - View Dependent Claims (6, 7, 8)
-
-
9. A packet processing device having a packet processor for performing a predetermined packet process by executing an instruction, said packet processor comprising:
-
a packet access unit comprising a plurality of first registers, moving received packet data into said first registers sequentially from the beginning and moving the moved packet data among said first registers and transmitting the moved packet data; a plurality of instruction procedure execution units, every instruction procedure execution unit having the same configuration as each other, for performing in parallel a predetermined calculation corresponding to each of a plurality of packets according to the packet data held in said first registers in said packet access unit; and a selection signal generation unit for generating a selection signal for selecting one of said instruction procedure execution units for performing the calculation corresponding to each of the packets in synchronization with a timing of receiving each packet, wherein each of said plurality of instruction procedure execution units comprises; a control unit for sequentially decoding a plurality of instruction procedures; an arithmetic unit for performing a predetermined calculation process corresponding to a result of the decoding by said control unit; and a general-purpose register group comprising a plurality of general-purpose registers functioning as work areas for said arithmetic unit, and a number of the plurality of the instruction procedures prepared for performing a process corresponding to each of the packets is set to a value corresponding to a time longer than a shortest reception interval between two of the packets. - View Dependent Claims (10, 11, 12)
-
-
13. A packet processing device having a packet processor for performing a predetermined packet process by executing an instruction, said packet processor comprising:
-
a packet access unit comprising a plurality of first registers, moving received packet data including a packet header into said first registers sequentially from the beginning and moving the moved packet data among said first registers and transmitting the moved packet data; a plurality of instruction procedure execution units, every instruction procedure execution unit having the same configuration as each other, for performing in parallel a predetermined calculation corresponding to each of a plurality of packets according to the packet data held in said first registers in said packet access unit; and a selection signal generation unit for generating a selection signal for selecting one of said instruction procedure execution units for performing the calculation corresponding to each of the said packets in synchronization with a timing of receiving each packet, wherein said packet access unit comprises; a first selector for executing an operation in parallel for each of said plurality of instruction procedure execution units that selectively fetch the packet data held in one or more of said plurality of first registers, and inputting the data to one of said plurality of instruction procedure execution units; and a second selector for executing an operation in parallel for each of said plurality of instruction procedure execution units that inputs resultant data obtained by one of said plurality of instruction procedure execution units executing a specified instruction procedure to one of said plurality of first registers corresponding to an execution order of the instruction procedure.
-
-
14. A packet processing device having a packet processor for performing a predetermined packet process by executing an instruction, said packet processor comprising:
-
a packet access unit comprising a plurality of first registers, moving, received packet data including a packet header into said first registers sequentially from the beginning and moving the moved packet data among said first registers and transmitting the moved packet data; a plurality of instruction procedure execution units, every instruction procedure execution unit having the same configuration as each other, for performing in parallel a predetermined calculation corresponding to each of a plurality of packets according to the packet data held in said first registers in said packet access unit; and a selection signal generation unit for generating a selection signal for selecting one of said instruction procedure execution units for performing the calculation corresponding to each of the said packets in synchronization with a timing of receiving each packet, wherein each of said plurality of instruction procedure execution units comprises; a control unit for sequentially decoding a plurality of instruction procedures; an arithmetic unit for performing a predetermined calculation process corresponding to a result of the decoding by said control unit; and a general-purpose register group comprising a plurality of general-purpose registers functioning as work areas for said arithmetic unit, and a number of the plurality of the instruction procedures prepared for performing a process corresponding to each of the packets is set to a value corresponding to a time longer than a shortest reception interval between two of the packets.
-
Specification