JP2002247095A - Packet data processor - Google Patents

Packet data processor

Info

Publication number
JP2002247095A
JP2002247095A JP2001039392A JP2001039392A JP2002247095A JP 2002247095 A JP2002247095 A JP 2002247095A JP 2001039392 A JP2001039392 A JP 2001039392A JP 2001039392 A JP2001039392 A JP 2001039392A JP 2002247095 A JP2002247095 A JP 2002247095A
Authority
JP
Japan
Prior art keywords
data
packet
packet data
data processing
unit
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
JP2001039392A
Other languages
Japanese (ja)
Other versions
JP4183920B2 (en
Inventor
Satoshi Soejima
聡史 副島
Tetsuaki Tsuruoka
哲明 鶴岡
Kenichi Abiru
健一 阿比留
Yuji Kojima
祐治 小島
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001039392A priority Critical patent/JP4183920B2/en
Publication of JP2002247095A publication Critical patent/JP2002247095A/en
Application granted granted Critical
Publication of JP4183920B2 publication Critical patent/JP4183920B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a packet data processor capable of adding data to a packet without impairing a high speed processing of the packet. SOLUTION: The packet data processor having a packet data processing group to be constituted of a plurality of pipeline structured packet data processing parts each of which performs processing to inputted packets and outputs them to a rear stage respectively is provided with a data adding part provided in a first packet data processing part in the packet data processing group to add data to the inputted packets and a control part to instruct the packet data processing part at the previous stage of the first packet data processing part to stop the output of the packets in order to secure an interval between an object packet to be added and the previous packet at least for data length to be added when the data is added to the inputted packets and to instruct the packet data processing part at the previous stage of the first packet data processing part to restart the output of the packets when the interval with the previous packet is secured.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、入力されたパケッ
トデータを処理するパイプライン構成されたパケットデ
ータ処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a pipelined packet data processing apparatus for processing input packet data.

【0002】[0002]

【従来の技術】端末間でパケット通信を行うにあたっ
て、現在最も一般的に使用されているのは、IP(Inter
net Protocol)ネットワークである。このIPネットワ
ークにおいて、ネットワーク間の中継を行うネットワー
クノードでは、中継装置のために、パケット内のヘッダ
書き換え処理や装置内に具備する宛て先テーブルを検索
しルーティングを行うといったパケット処理を行ってい
る。近年のインターネットの高速化に伴い、パケットの
中継を行うネットワークノードでは、パケット処理を専
用のハードウェアで行うことによってパケット処理の高
速化を図っている。従来、パケットの中継を行うネット
ワークノードのパケット処理部がパケットを処理するに
あたって、ストアアンドフォワードによって処理を行う
方式がある。
2. Description of the Related Art At the time of performing packet communication between terminals, the most commonly used one at present is an IP (Interrupt).
net Protocol) network. In this IP network, a network node that relays between networks performs packet processing, such as header rewriting processing in a packet and searching and routing of a destination table provided in the apparatus, for the relay apparatus. With the recent increase in the speed of the Internet, a network node that relays a packet attempts to speed up the packet processing by performing the packet processing with dedicated hardware. Conventionally, there is a method in which a packet processing unit of a network node that relays a packet processes the packet by store and forward.

【0003】図22は、ストアアンドフォワード方式の
従来構成を示す図である。この構成では、一般的なプロ
セッサ又は専用のハードウェアにより構成されたパケッ
ト処理部2とメモリ4がバス6によって接続されてお
り、パケット処理部2がメモリ4に格納されたパケット
の必要なデータに対して処理を行うことによってパケッ
ト中継に必要な処理を行う。従来のストアアンドフォワ
ードによるパケット処理では、パケット処理部2は、予
め用意されたソフトウェアの命令に従って、メモリ4に
格納したパケットに対して処理を行う。そのため、この
パケット処理は、予め用意するソフトウェアの命令を書
き換えることで、パケットに対して施したい処理を、後
から容易に変更することが可能である。そのため、プロ
トコルの改訂やネットワークとして提供するサービス機
能向上のために処理内容を後から変更可能である。
FIG. 22 is a diagram showing a conventional configuration of a store-and-forward system. In this configuration, the packet processing unit 2 configured by a general processor or dedicated hardware and the memory 4 are connected by the bus 6, and the packet processing unit 2 stores the necessary data of the packet stored in the memory 4. By performing the processing on this, the processing necessary for packet relay is performed. In the conventional packet processing by store and forward, the packet processing unit 2 performs processing on a packet stored in the memory 4 in accordance with a command of software prepared in advance. Therefore, in the packet processing, the processing to be performed on the packet can be easily changed later by rewriting the instruction of the software prepared in advance. Therefore, the processing contents can be changed later to revise the protocol or improve the service function provided as a network.

【0004】しかし、この処理では、メモリ4にパケッ
トデータを格納しているため、パケットデータを格納し
ているメモリ4への読み込み・書き込み動作が必要とな
る。パケット処理部2は、読み込むメモリのアドレスを
メモリ4に与えてから、メモリ4からデータを読み込
み、又はパケット処理部2は、パケット処理部2が書き
込むメモリのアドレスをメモリ4に与えてから、メモリ
4へデータを書き込むという処理を行う。このとき、プ
ロセッサがアドレスをメモリ4に与えてから、パケット
処理部2がデータをメモリ4から読み込み・書き込みを
行う時間は、プロセッサのサイクルタイムと比較すると
かなり大きい。そのため、メモリ4への読み込み・書き
込み処理のオーバヘッドが問題となり、パケット処理を
高速に行うことができない。
However, in this process, since the packet data is stored in the memory 4, a read / write operation to / from the memory 4 storing the packet data is required. The packet processor 2 gives the address of the memory to be read to the memory 4 and then reads data from the memory 4, or the packet processor 2 gives the memory 4 the address of the memory to which the packet processor 2 writes 4 is performed. At this time, the time when the packet processing unit 2 reads and writes data from the memory 4 after the processor gives the address to the memory 4 is considerably longer than the cycle time of the processor. For this reason, the overhead of the read / write processing to the memory 4 becomes a problem, and the packet processing cannot be performed at high speed.

【0005】そこで、近年、パケット処理を専用のハー
ドウェア回路で高速に実行する方法が考案されている。
専用のハードウェア回路では、パケット処理を高速なハ
ードウェアのクロックで行うことができるので、パケッ
トを高速に処理することができる。しかし、機能向上の
ための機能の変更を容易に行うことはできず、その都度
新たなハードウェアを開発する必要があるという問題点
がある。ところで、ネットワークノードがIP及び下位
層のプロトコルを処理するにあたっては、各プロトコル
ヘッダ内にある情報を元に処理を行い、IPのデータ部
にある情報を必要とすることは殆どない。この処理対象
が各プロトコルヘッダだけであるといった局所性に注目
することによって、高速処理を行うハードウェアが考え
られる。
Therefore, in recent years, a method of executing packet processing at high speed by a dedicated hardware circuit has been devised.
In a dedicated hardware circuit, packet processing can be performed with a high-speed hardware clock, so that packets can be processed at high speed. However, there is a problem that it is not possible to easily change the function for improving the function, and it is necessary to develop new hardware each time. By the way, when the network node processes the IP and lower layer protocols, it processes based on the information in each protocol header, and rarely needs the information in the data part of the IP. Hardware that performs high-speed processing can be considered by paying attention to the locality that this processing target is only each protocol header.

【0006】図23は処理の局所性に注目したパケット
データ処理プロセッサを示す図である。パケットデータ
処理プロセッサ10は、汎用レジスタ12、演算器14
及びシフトレジスタ16,18を有する。パケットデー
タ処理プロセッサ10では、パケットデータと、一時的
に保存しておきたい演算の結果などパケットと同期した
情報を、それぞれクロック毎に次段へシフトするシフト
レジスタ16,18で構成されるパイプラインに格納す
る。パケットデータ処理プロセッサ10には、パケット
に対して行うべき処理を予めソフトウェアで記述してお
く。パケットデータ処理プロセッサ10は、パケットの
先頭が入力されると起動され、予め用意されたソフトウ
ェアの記述に従って処理を行う。クロックによって各パ
イプラインを構成しているレジスタ16,18内のデー
タはシフトを行っていき、パケットデータ処理プロセッ
サ10は、決められたクロック数の間処理を行う。処理
を終えた後、次のパケットが入力されると、同じように
そのパケットに対して処理を行う。
FIG. 23 is a diagram showing a packet data processor focusing on the locality of processing. The packet data processor 10 includes a general-purpose register 12, an arithmetic
And shift registers 16 and 18. In the packet data processor 10, a pipeline constituted by shift registers 16 and 18 for shifting packet data and information synchronized with the packet such as the result of an operation to be temporarily stored to the next stage for each clock, respectively. To be stored. In the packet data processor 10, processing to be performed on a packet is described in advance by software. The packet data processor 10 is activated when the head of the packet is input, and performs processing according to the description of software prepared in advance. The data in the registers 16 and 18 constituting each pipeline is shifted by the clock, and the packet data processor 10 performs the processing for a predetermined number of clocks. After the processing is completed, when the next packet is input, the same processing is performed on that packet.

【0007】図24は、パケット処理プロセッサを複数
個並べたハードウェア構成を示す図である。図24に示
すように、このハードウェア構成では、パケット処理プ
ロセッサ30#i(i=1〜n)が複数個並べられてい
る。図24のように並べた各パケットデータ処理プロセ
ッサは各処理を行い、全体としてネットワークノードが
必要とするパケット処理を完了する。この様な処理系で
パケットを処理することは、処理がIP層までしか及ば
ない等、パケット処理に局所性があるときには、パイプ
ライン構成をしたレジスタにより高速に処理でき、且
つ、ソフトウェアの変更によって柔軟に処理を変更する
ことができる。
FIG. 24 is a diagram showing a hardware configuration in which a plurality of packet processors are arranged. As shown in FIG. 24, in this hardware configuration, a plurality of packet processors 30 # i (i = 1 to n) are arranged. Each packet data processor arranged as shown in FIG. 24 performs each process, and completes the packet processing required by the network node as a whole. Processing a packet with such a processing system can be performed at high speed by using a pipelined register when packet processing has locality such as when processing extends only to the IP layer. The processing can be flexibly changed.

【0008】[0008]

【発明が解決しようとする課題】一方、ネットワークノ
ードにおける処理の多機能化の必要性が高まっており、
そのような処理の中にはパケットに対して新たなヘッダ
の付加や、必要のないヘッダの削除を行わなければなら
ないものもある。このような処理が必要となるものに、
トンネリング処理がある。トンネリング処理とは、例え
ば、2つのプライベートなネットワーク間の通信をイン
ターネットなどの共有ネットワークを経由して使用する
時に使用される。
On the other hand, there is an increasing need for multi-functional processing in network nodes.
In some of such processes, a new header needs to be added to a packet or unnecessary headers need to be deleted. For those that require such processing,
There is a tunneling process. The tunneling process is used, for example, when communication between two private networks is used via a shared network such as the Internet.

【0009】図25は、2つのプライベートなネットワ
ーク間を共有ネットワークにより接続したネットワーク
構成図である。図25において、プライベートネットワ
ーク40#Aからプライベートネットワーク40#Bへ
通信を行うときを考える。プライベートネットワーク4
0#Aから送信されたパケットは、プライベートネット
ワーク40#Aと共有ネットワーク42をつなぐネット
ワークノード44#Aによって共有ネットワーク42用
のヘッダを付加され(カプセル処理)、インターネット
などの共有ネットワーク42に送信される。そして、そ
のパケットを受信するもう1つのプライベートネットワ
ーク40#Bと共有ネットワーク42を接続するネット
ワークノード44#Bは、プライベートネットワーク4
0#Aから送られたパケットを受信すると、カプセル処
理の時に付加されたヘッダを削除して(デカプセル処
理)、カプセル処理される前のパケットに戻し、これを
もう1つのプライベートネットワーク40#Bに送信す
るといった動作を行う。そのため、カプセル処理・デカ
プセル処理を行う必要のあるネットワークノード44#
A,44#Bでは、上述のようなヘッダの付加・削除操
作を行う必要がある。
FIG. 25 is a network configuration diagram in which two private networks are connected by a shared network. In FIG. 25, a case is considered where communication is performed from private network 40 # A to private network 40 # B. Private network 4
The packet transmitted from 0 # A is added with a header for the shared network 42 (capsule processing) by a network node 44 # A connecting the private network 40 # A and the shared network 42 (encapsulation processing), and transmitted to the shared network 42 such as the Internet. You. Then, the network node 44 # B that connects the shared network 42 and another private network 40 # B that receives the packet is connected to the private network 4
When a packet sent from 0 # A is received, the header added at the time of the encapsulation processing is deleted (decapsulation processing), and the packet is returned to the packet before being subjected to the encapsulation processing, and the packet is transferred to another private network 40 # B An operation such as transmission is performed. Therefore, the network node 44 # that needs to perform the capsule processing / decapsulation processing
In A, 44 # B, it is necessary to perform the header addition / deletion operation as described above.

【0010】パケット処理の局所性に注目して処理を行
うパケットデータ処理方式では、レジスタアクセスによ
る処理なので、パケット処理を高速に行うことができ
る。ヘッダの付加・削除もヘッダに注目して行われる処
理なので、この処理方式を用いることで高速に処理を行
うことができる。
In the packet data processing system in which the processing is performed by paying attention to the locality of the packet processing, since the processing is performed by register access, the packet processing can be performed at a high speed. Since addition / deletion of a header is also performed by paying attention to the header, high-speed processing can be performed by using this processing method.

【0011】図26は、データ付加・削除前のパケット
データ処理プロセッサの状態を示す図である。例えば、
パケットが図に示す状態でシフトレジスタ18に格納さ
れているときを考える。図26中ハッチングされている
部分がパケットを示し、パケットヘッダがP2に格納さ
れている。このとき、P0にあるデータを削除したい場
合には、P2,P1にあるデータをそれぞれP1,P0
に上書すれば良い。また、P0とP1の間にデータを付
加したいときは、P1,P2にあるデータをそれぞれP
2,P3に上書し、P1に付加したいデータを書き込め
ばよい。しかし、データの付加処理では、処理後のパケ
ットの全長は、処理前のパケットに比べて長くなるため
に問題がある。
FIG. 26 is a diagram showing the state of the packet data processor before data addition / deletion. For example,
Consider a case where a packet is stored in the shift register 18 in the state shown in the figure. In FIG. 26, a hatched portion indicates a packet, and a packet header is stored in P2. At this time, if it is desired to delete the data at P0, the data at P2 and P1 are deleted at P1 and P0, respectively.
Should be overwritten. To add data between P0 and P1, the data in P1 and P2 are
2. It is sufficient to overwrite P3 and write the data to be added to P1. However, in the data addition processing, there is a problem because the total length of the packet after processing is longer than the packet before processing.

【0012】図27は、パケットが密接しているときの
シフトレジスタの状態を示す図である。このパケットデ
ータ処理方式では、連続してパケットが入力されるとき
は、図27に示すようにパケットが、次々に入力されて
いて、シフトレジスタ18に隙間無く存在している。こ
の状態でパケットの付加を行うと、該パケットの前に処
理されたパケットの上にデータを書き込んでしまい、前
に処理されたパケットのデータを壊してしまう。例え
ば、P3に前に処理されたパケットのデータが格納され
ているとき、P2にあるデータを後にあるパケットのデ
ータにより壊してしまう。これを避けるためには、パケ
ットがパケットデータ処理群に入力されるときに、パケ
ット間で一定の間隔を空けるように制御すれば、前に処
理されたパケットにデータを上書することはなくなり、
データの付加を行うことができる。しかし、全てのパケ
ット間で一定の間隔を空けることは、データの付加をす
る必要のないパケットに対しても間隔を空けることにな
り、それだれ処理のスループットが小さくなることがあ
る。
FIG. 27 is a diagram showing a state of the shift register when packets are close. In this packet data processing method, when packets are continuously input, packets are input one after another as shown in FIG. 27 and exist in the shift register 18 without any gap. If a packet is added in this state, data will be written on the packet processed before the packet, and the data of the previously processed packet will be destroyed. For example, when data of a previously processed packet is stored in P3, data in P2 is destroyed by data of a later packet. In order to avoid this, when a packet is input to the packet data processing group, by controlling so that a certain interval is provided between packets, data is not overwritten on a previously processed packet,
Data can be added. However, providing a constant interval between all the packets also results in an interval for packets that do not need to add data, which may reduce the throughput of processing.

【0013】以上のように、パケットの削除を行うとい
ったパケットの全長が短くなるような処理は、従来のパ
ケットデータ処理プロセッサで問題なく扱うことができ
る。しかし、パケットの付加を行うといったパケットの
全長が元の全長よりも長くなる処理を従来のパケットデ
ータ処理プロセッサで行うと処理効率が落ちてしまうこ
とが問題であった。
As described above, a process for shortening the total length of a packet, such as deleting a packet, can be handled by a conventional packet data processor without any problem. However, if a conventional packet data processor performs a process in which the total length of a packet, such as adding a packet, is longer than the original total length, the processing efficiency is reduced.

【0014】本発明は、上記を鑑みてなされたものであ
り、処理効率が落ちることなくパケットデータの付加を
することのできるパケットデータ処理装置を提供するこ
とを目的とする。
The present invention has been made in view of the above, and an object of the present invention is to provide a packet data processing device capable of adding packet data without lowering processing efficiency.

【0015】[0015]

【課題を解決するための手段】図1は本発明の原理図で
ある。図1に示すように、バケットデータ処理装置は、
それぞれが入力されたパケットに対して処理をして後段
に出力するパイプライン構成された複数のパケットデー
タ処理部50#i(i=1,2,…)から構成されるパ
ケットデータ処理群52を有する。パケットデータ処理
群52中の第1パケットデータ処理部50#Aは、入力
されたパケットにデータを付加するデータ付加部54を
有する。パケットデータ処理装置は、データ付加部54
がデータ付加処理をしている間は、第1パケットデータ
処理部50#Aの前段にパケットの出力の停止を指示
し、データ付加部54がデータ付加処理終了後、第1パ
ケットデータ処理部50#Aの前段にパケットの出力を
再開するよう指示する制御部56を更に具備する。
FIG. 1 is a diagram illustrating the principle of the present invention. As shown in FIG. 1, the bucket data processing device includes:
A packet data processing group 52 composed of a plurality of pipelined packet data processing units 50 # i (i = 1, 2,...) That process each input packet and output the processed packet to the subsequent stage. Have. The first packet data processing unit 50 # A in the packet data processing group 52 has a data adding unit 54 that adds data to an input packet. The packet data processing device includes a data adding unit 54
During the data addition processing, the first packet data processing unit 50 # A instructs the preceding stage to stop outputting the packet, and after the data addition processing is completed, the first packet data processing unit 50 # A A control unit 56 for instructing to restart the output of the packet before the #A is further provided.

【0016】パケットがパケットデータ処理装置に入力
されると、各パケットデータ処理部50#i(i=1,
2,…)は、パケットに対して所定の処理を行う。パケ
ットデータ処理群52又はパケットデータ処理群52と
は別に設けられた制御部56は、パケットに対してデー
タ付加の必要があるとき、当該データ付加対象のパケッ
トと前パケットの間隔を少なくともデータ付加長分確保
するべく、第1パケットデータ処理部50#Aの前段の
パケットデータ処理部50#i(i=1,2,…,B)
にパケットデータの出力の停止を指示する。データ付加
部54は、データ付加長分確保されると、パケットにデ
ータを付加する。このようにパケットデータ処理群52
がパイプライン処理によりパケットに対して処理を行
い、パケットにデータを付加する必要があるときは、パ
ケットデータの後段への出力を一時的に停止するのみな
ので、処理効率が落ちることなくパケットデータの付加
をすることができる。
When a packet is input to the packet data processing device, each packet data processing unit 50 # i (i = 1,
2,...) Perform predetermined processing on the packet. When the packet data processing group 52 or the control unit 56 provided separately from the packet data processing group 52 needs to add data to the packet, the interval between the packet to which the data is added and the previous packet is set to at least the data addition length. Packet data processing unit 50 # i (i = 1, 2,..., B) at the preceding stage of the first packet data processing unit 50 # A to secure
To stop the output of the packet data. The data adding unit 54 adds data to the packet when the data adding length is secured. Thus, the packet data processing group 52
Performs processing on the packet by pipeline processing, and when it is necessary to add data to the packet, it only temporarily stops the output of the packet data to the subsequent stage. You can make additions.

【0017】[0017]

【発明の実施の形態】第1実施形態 図2は、本発明の第1実施形態によるパケットデータ処
理装置の構成図である。図2に示すパケットデータ処理
装置は、例えば、図25に示したネットワークのプライ
ベートネットワーク40#A,40#Bと、インターネ
ット等の共有ネットワーク42との間を接続するネット
ワークノード44#A,44#Bに適用されたものであ
る。図2に示すように、パケットデータ処理装置60
は、複数の受信インタフェースカード62#i(i=1
〜n)、スイッチファブリック64及び複数の送信イン
タフェースカード66#i(i=1〜n)を有する。受
信インタフェースカード62#i(i=1〜n)は、次
の機能を有する。パケットを該当するプライベートネ
ットワーク、例えば、LANや共有ネットワークからパ
ケットを受信する。受信したパケットについて、パケ
ットヘッダよりカプセル処理/デカプセル処理をする必
要があるか否かを判断する。カプセル処理/デカプセ
ル処理をする必要があるとき、カプセル処理/デカプセ
ル処理をする。尚、カプセル処理ではデータ付加処理、
デカプセル処理ではデータ削除処理が行われる。カプ
セル処理等をしたパケットをスイッチファブリック64
に出力する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS First Embodiment FIG. 2 is a block diagram of a packet data processing device according to the first embodiment of the present invention. The packet data processing device shown in FIG. 2 includes, for example, network nodes 44 # A and 44 # connecting private networks 40 # A and 40 # B of the network shown in FIG. 25 and a shared network 42 such as the Internet. B has been applied. As shown in FIG. 2, the packet data processing device 60
Represents a plurality of reception interface cards 62 # i (i = 1
To n), a switch fabric 64, and a plurality of transmission interface cards 66 # i (i = 1 to n). The receiving interface card 62 # i (i = 1 to n) has the following functions. The packet is received from a corresponding private network, for example, a LAN or a shared network. For the received packet, it is determined from the packet header whether or not it is necessary to perform the encapsulation / decapsulation processing. When it is necessary to perform the capsule processing / decapsulation processing, the capsule processing / decapsulation processing is performed. In addition, in the capsule processing, the data addition processing,
In the decapsulation process, a data deletion process is performed. The packet subjected to the capsule processing or the like is transferred to the switch fabric 64.
Output to

【0018】受信インタフェースカード62#iは、受
信インタフェース部70#i、前段処理部72#i及び
パケットデータ処理プロセッサ群74#iを有する。受
信インタフェース部70#iは、物理インタフェースに
従ってパケットを受信する。前段処理部72#iは、パ
ケット処理プロセッサ群74#iがパケットにデータの
付加/削除を行うための、パケットヘッダの検出等の前
処理を行う。パケット処理プロセッサ群74#iは、複
数のパケットデータ処理プロセッサがパイプライン構成
されて、パケットに対する処理を行うものであり、例え
ば、次の機能を有する。パケットヘッダより、パケッ
トに対してデータの付加・削除をする必要が有るか否か
を判断する。パケットに対してデータを付加する必要
が有ると判断した場合は、その付加すべきデータ、デー
タ長、パケット上で付加すべき位置を求める。パケッ
トに対してデータを削除する必要が有ると判断した場合
は、その削除すべきデータ長、パケット上で削除すべき
位置を求める。,で求められたデータ長等に基づ
いてデータの付加・削除をする。データを付加する場
合、付加対象パケットと前パケットとの間隔を少なくと
も付加データ長分確保するために、データ付加処理を行
うパケットデータ処理プロセッサの前段のパケット処理
プロセッサがパケットデータの出力停止及び動作中のパ
ケットデータ処理プロセッサの動作を停止する。前パ
ケットと付加データ長分の間隔が確保されたとき、前段
のパケット処理プロセッサがパケットデータの出力再開
及び動作を停止していたパケットデータプロセッサの動
作再開をする。データ付加・削除による変更後のパケ
ット長をパケットヘッダに設定する。
The receiving interface card 62 # i has a receiving interface unit 70 # i, a pre-processing unit 72 # i, and a packet data processor group 74 # i. The receiving interface unit 70 # i receives a packet according to the physical interface. The pre-processing unit 72 # i performs pre-processing such as packet header detection for the packet processing processor group 74 # i to add / delete data to / from the packet. The packet processing processor group 74 # i is configured such that a plurality of packet data processing processors are pipelined to perform processing on packets, and have, for example, the following functions. From the packet header, it is determined whether it is necessary to add or delete data to the packet. If it is determined that it is necessary to add data to the packet, the data to be added, the data length, and the position to be added on the packet are determined. If it is determined that data needs to be deleted from the packet, the data length to be deleted and the position to be deleted on the packet are obtained. The data is added / deleted based on the data length and the like obtained in the above steps. In the case of adding data, in order to secure at least the interval between the packet to be added and the previous packet by the additional data length, the packet processor at the preceding stage of the packet data processor performing the data adding process stops outputting the packet data and operates during the operation. Stop the operation of the packet data processor. When an interval corresponding to the length of the preceding packet and the additional data length is secured, the preceding packet processor restarts outputting the packet data and restarts the operation of the packet data processor that has stopped its operation. The packet length after the change by data addition / deletion is set in the packet header.

【0019】図3は、図2中のパケットデータ処理プロ
セッサ群74#iの構成図である。図3に示すように、
パケット処理プロセッサ群74#iは、パケット以外の
中間データを転送するバス88、パケットを転送するバ
ス89、バス88,89によりパイプライン接続された
複数のパケットデータ処理プロセッサ90#i(i=1
〜n)及びバックプレッシャ信号線92により構成され
る。バス88,89は、中間データ及びパケットを転送
するデータバスである。パケットデータ処理プロセッサ
90#i(i=1〜n)は、バス88,89より入力さ
れた中間データ及びパケットデータを自身が有するシフ
トレジスタに保持して、パケットに対する所定の処理を
行うものである。その段数は全体のパケット処理の内容
に応じて任意に設定される。
FIG. 3 is a configuration diagram of the packet data processor group 74 # i in FIG. As shown in FIG.
The packet processor group 74 # i includes a bus 88 for transferring intermediate data other than packets, a bus 89 for transferring packets, and a plurality of packet data processors 90 # i (i = 1
To n) and a back pressure signal line 92. The buses 88 and 89 are data buses for transferring intermediate data and packets. The packet data processor 90 # i (i = 1 to n) holds the intermediate data and the packet data input from the buses 88 and 89 in its own shift register and performs a predetermined process on the packet. . The number of stages is set arbitrarily according to the contents of the entire packet processing.

【0020】パケットデータ処理プロセッサ90#A
は、前段のパケットデータ処理プロセッサ群による指示
に従ってデータの付加・削除を行う。具体的には、次の
処理を行う。前段のパケットデータ処理プロセッサ群
の指示によって、パケットにデータの付加・削除が必要
かどうかを判断する。パケットにデータの付加が必要
なときは、前段のパケット処理プロセッサ群の指示に基
づいて、付加データ位置と付加データを特定し、データ
の付加処理を行う。付加データ長に基づいて、付加デ
ータ長に相当するクロック数の時間、バックプレッシャ
信号線92をアサートして、当該パケットデータ処理プ
ロセッサよりも前段のパケットデータ処理プロセッサ群
の動作を停止させる。データの削除が必要なときは、
前段のパケット処理プロセッサ群の指示に基づいて、削
除データ位置と削除データ長を特定して、データの削除
処理を行う。尚、,のパケットデータ処理プロセッ
サ90#Aの前段のパケットデータプロセッサ90#i
(i=1,2,B,…)に対する動作停止・再開の制御
は、パケットデータ処理プロセッサ群とは独立した制御
部により行うようにしてもよい。また、バックプレッシ
ャ信号線92をアサートし、パケットデータ処理プロセ
ッサ群の動作を停止している期間、その前段(図2の構
成では前段処理部72#i)は、バックプレッシャに従
い、データ転送を一時停止する。
Packet data processor 90 # A
Performs addition / deletion of data according to an instruction from the packet data processor group at the preceding stage. Specifically, the following processing is performed. It is determined whether the packet needs to add or delete data according to the instruction of the packet data processor group at the preceding stage. When it is necessary to add data to the packet, the position of the additional data and the additional data are specified based on the instruction of the packet processor group at the preceding stage, and the data adding process is performed. Based on the additional data length, the back pressure signal line 92 is asserted for the number of clocks corresponding to the additional data length, and the operation of the packet data processor group preceding the packet data processor is stopped. When you need to delete data,
Based on an instruction from the packet processor group at the preceding stage, the position of the deleted data and the length of the deleted data are specified, and the data is deleted. Incidentally, the packet data processor 90 # i in the preceding stage of the packet data processor 90 # A
The operation stop / restart control for (i = 1, 2, B,...) May be performed by a control unit independent of the packet data processor group. Also, during the period when the back pressure signal line 92 is asserted and the operation of the packet data processor group is stopped, the preceding stage (the former stage processing unit 72 # i in the configuration of FIG. 2) temporarily stops the data transfer according to the back pressure. Stop.

【0021】図4は、図3中のパケットデータ処理プロ
セッサ90#Aの構成図である。図4に示すように、パ
ケットデータ処理プロセッサ90#Aは、汎用レジスタ
93#A、演算器94#A、中間データレジスタ96#
A及びパケットアクセスレジスタ98#Aを有する。汎
用レジスタ93#Aは、例えば、8個の32ビット長の
レジスタr0〜r7である。演算器94#Aは、プログ
ラムに記載された命令コードに従って演算を行うプロセ
ッサであり、データ付加する場合は、付加データ長に応
じた期間、バックプレッシャ信号線92をアサートす
る。中間データレジスタ96#Aは、パケットデータに
同期して、該パケットデータに関する処理結果を保持し
伝達するための、例えば、16段の32ビットのシフト
レジスタレジスタe0〜e15である。中間データレジ
スタ96#Aに保持されるデータとしては、例えば、パ
ケットの先頭を示すデータ、データの付加・削除の必要
の有無を示すフラグビット、付加データ、付加データ位
置、付加データ長、削除データ位置、削除データ長であ
る。パケットアクセスレジスタ98#Aは、パケットデ
ータを直接取り込むための、例えば、16段の32ビッ
トのシフトレジスタレジスタp0〜p15である。
FIG. 4 is a configuration diagram of the packet data processor 90 # A in FIG. As shown in FIG. 4, the packet data processor 90 # A includes a general-purpose register 93 # A, a computing unit 94 # A, and an intermediate data register 96 #.
A and a packet access register 98 # A. The general-purpose register 93 # A is, for example, eight 32-bit registers r0 to r7. Arithmetic unit 94 # A is a processor that performs an operation in accordance with an instruction code described in a program, and when data is added, asserts back pressure signal line 92 for a period corresponding to the additional data length. The intermediate data register 96 # A is, for example, a 16-stage 32-bit shift register register e0 to e15 for holding and transmitting a processing result regarding the packet data in synchronization with the packet data. The data held in the intermediate data register 96 # A includes, for example, data indicating the beginning of a packet, a flag bit indicating whether data addition / deletion is necessary, additional data, additional data position, additional data length, and deletion data. Position and length of deleted data. The packet access register 98 # A is, for example, a 16-stage 32-bit shift register register p0 to p15 for directly taking in packet data.

【0022】パケットデータ処理プロセッサ90#Aよ
りも前段のパケットデータ処理プロセッサ90#Bは、
次の処理を行う。パケットヘッダよりパケットに対し
てデータを付加・削除する処理を行う必要が有るか否か
を判断する。パケットに対してデータを付加する必要
が有ると判断した場合は、その付加すべきデータ、デー
タ長、パケット上で付加すべき位置を求める。パケッ
トに対してデータを削除すると判断した場合は、その削
除すべきデータ長、パケット上で削除すべき位置を求め
る。〜により得られた中間データをデータバス上
に出力する。バックプレッシャ信号線92がアサート
されると、パケットデータ及び中間データのシフト動作
の停止及びパケット処理中であれば処理を停止する。
バックプレッシャ信号線92がネゲートされると、パケ
ットデータ及び中間データのシフト動作の再開及び停止
していた処理の再開をする。
The packet data processor 90 # B upstream of the packet data processor 90 # A
The following processing is performed. It is determined whether or not it is necessary to perform processing for adding / deleting data to the packet from the packet header. If it is determined that it is necessary to add data to the packet, the data to be added, the data length, and the position to be added on the packet are determined. If it is determined that data is to be deleted from the packet, the length of the data to be deleted and the position on the packet to be deleted are obtained. The intermediate data obtained by is output on the data bus. When the back pressure signal line 92 is asserted, the shift operation of the packet data and the intermediate data is stopped, and if the packet processing is being performed, the processing is stopped.
When the back pressure signal line 92 is negated, the shift operation of the packet data and the intermediate data is restarted and the stopped processing is restarted.

【0023】図5は、図3中のパケットデータ処理プロ
セッサ90#Bの構成図である。パケットデータ処理プ
ロセッサ90#Bは、バックプレッシャ信号線92がア
サートされると、例えば、バックプレッシャ信号に基づ
いて、システムクロックを停止することにより、演算器
94#B、中間データレジスタ96#B及びパケットア
クセスレジスタ98#Bの動作を停止する。汎用レジス
タ93#B、演算器94#B、中間データレジスタ96
#B及びパケットアクセスレジスタ98#Bは、図4中
のものと実質的に同一である。パケットデータ処理プロ
セッサ90#Aの前段のパケット処理プロセッサ90#
i(i=1,2,…)の構成は、パケットデータ処理プ
ロセッサ90#Bと実質的に同一である。また、パケッ
トデータ処理プロセッサ90#Aの後段のパケット処理
プロセッサ90#Cの構成は、バックプレッシャ信号線
92に従って動作を停止する必要がない点を除きパケッ
トデータ処理プロセッサ90#Bと実質的に同一であ
り、例えば、中間データに従って、データ付加・削除が
行われたときは、パケットヘッダ中のパケット長情報を
更新する。
FIG. 5 is a configuration diagram of the packet data processor 90 # B in FIG. When the back pressure signal line 92 is asserted, the packet data processor 90 # B stops the system clock based on, for example, the back pressure signal, so that the arithmetic unit 94 # B, the intermediate data register 96 # B, The operation of the packet access register 98 # B is stopped. General-purpose register 93 # B, arithmetic unit 94 # B, intermediate data register 96
#B and the packet access register 98 # B are substantially the same as those in FIG. Packet processor 90 # at the preceding stage of packet data processor 90 # A
The configuration of i (i = 1, 2,...) is substantially the same as that of the packet data processor 90 # B. The configuration of the packet processor 90 # C at the subsequent stage of the packet data processor 90 # A is substantially the same as that of the packet data processor 90 # B except that the operation does not need to be stopped according to the back pressure signal line 92. For example, when data addition / deletion is performed according to the intermediate data, the packet length information in the packet header is updated.

【0024】図2中のスイッチファブリック64は、受
信インタフェースカード62#i(i=1〜n)よりパ
ケットを入力して、パケットのヘッダに設定されている
IPアドレス又はMACアドレスに従って、ルーティン
グテーブルを参照して該当する送信インタフェースカー
ド66#k(k=1〜n)にルーティングする。但し、
ルーティングテーブル参照処理をパケット処理プロセッ
サ群74#iにて行い、スイッチファブック64はこの
処理結果に従い決められた送信インタフェースカード6
6#k(k=1〜n)にルーティングする実装でも良
い。送信インタフェースカード66#iは、送信インタ
フェース部80#iを有する。送信インタフェース部8
0#iは、スイッチファブリック64よりパケットを入
力して、伝送路の物理インタフェースに従ってパケット
を送信する。以下、図2のパケットデータ処理装置50
の動作説明をする。
The switch fabric 64 shown in FIG. 2 receives a packet from the receiving interface card 62 # i (i = 1 to n) and stores a routing table in accordance with the IP address or MAC address set in the header of the packet. The routing is performed with reference to the corresponding transmission interface card 66 # k (k = 1 to n). However,
The routing table reference processing is performed by the packet processing processor group 74 # i, and the switch fabric 64 determines the transmission interface card 6 determined according to the processing result.
6 # k (k = 1 to n) may be implemented. The transmission interface card 66 # i has a transmission interface unit 80 # i. Transmission interface unit 8
0 # i receives a packet from the switch fabric 64 and transmits the packet according to the physical interface of the transmission path. Hereinafter, the packet data processing device 50 of FIG.
The operation of will be described.

【0025】(1) 受信インタフェースカード62#
iの動作 各受信インタフェースカード62#i中の受信インタフ
ェース部70#iは、伝送路より所定の物理インタフェ
ースに従ってパケットデータを受信して、前段処理部7
2#iにパケットデータを出力する。前段処理部72#
iは、パケットデータの32ビットパラレルデータにシ
リアル/パラレル変換して、パケットアクセスレジスタ
96#1に接続されるデータバスに出力する。パケット
ヘッダを検出してヘッダを示すフラグを中間データレジ
スタ96#1に接続されるデータバスにパケットに同期
して出力する。パケットデータ処理プロセッサ群74#
i中の各パケットデータ処理プロセッサ90#j(j=
1,2,…)は、パケットがパケットアクセスレジスタ
98#jに格納されると、中間データレジスタ96#j
に格納された中間データに従ってパケットに対してそれ
ぞれの処理を行う。また、パケット処理プロセッサ群7
4#iからバックプレッシャ信号によりバックプレッシ
ャを通知されている期間はデータ出力を停止する。
(1) Receive interface card 62 #
Operation of i The reception interface unit 70 # i in each reception interface card 62 # i receives the packet data from the transmission line according to a predetermined physical interface, and
Output the packet data to 2 # i. Pre-processing unit 72 #
i performs serial / parallel conversion of packet data to 32-bit parallel data, and outputs the result to a data bus connected to the packet access register 96 # 1. The packet header is detected and a flag indicating the header is output to the data bus connected to the intermediate data register 96 # 1 in synchronization with the packet. Packet data processor group 74 #
i, each packet data processor 90 # j (j =
1, 2,...), When the packet is stored in the packet access register 98 # j, the intermediate data register 96 # j
Performs each processing on the packet according to the intermediate data stored in the packet. Further, the packet processing processor group 7
Data output is stopped during the period when back pressure is notified from 4 # i by the back pressure signal.

【0026】(a) データ付加・削除の判断 パケットデータ処理プロセッサ90#Bは、パケットに
対してデータを付加・削除する処理を行うか否かをパケ
ットのヘッダより判断する。パケットに対してデータを
付加すると判断した場合は、その付加すべきデータ、デ
ータ長、パケット上で付加すべき位置を求める。パケッ
トに対してデータを削除すると判断した場合は、その削
除すべきデータ長、パケット上で削除すべき位置を求め
る。付加/削除を行うか否かを示すフラグビット、デー
タ付加する場合は、付加するデータ、付加するデータ
長、付加するデータのパケット上での位置、削除する場
合は、削除するデータ長、削除するデータのパケット上
での位置をパケットに同期して中間データレジスタ96
#Bに書き込む。パケットデータ及び中間データは、ク
ロックに同期して、パケット処理プロセッサ群74#i
中のパケットアクセスレジスタ、中間データレジスタ及
びデータバスにより転送される。
(A) Determination of Data Addition / Deletion The packet data processor 90 # B determines whether or not to perform processing for adding / deleting data to a packet from the header of the packet. If it is determined that data is to be added to the packet, the data to be added, the data length, and the position on the packet to be added are determined. If it is determined that data is to be deleted from the packet, the length of the data to be deleted and the position on the packet to be deleted are obtained. Flag bit indicating whether or not to add / delete, data to be added, data to be added, data length to be added, position in packet to add, data to be deleted, data length to be deleted, data to be deleted The position of the data on the packet is synchronized with the packet and the intermediate data register 96
Write to #B. The packet data and the intermediate data are synchronized with the clock and the packet processor group 74 # i
The data is transferred by a packet access register, an intermediate data register, and a data bus.

【0027】(b) パケットデータ処理プロセッサ9
0#Aの動作 パケットデータ処理プロセッサ90#Aは、パケットが
パケットアクセスレジスタ98#Aに入力されると起動
される。パケットがパケットアクセスレジスタ98#A
に入力されると、パケットに同期して中間データレジス
タ96#Aに入力された前段のパケットデータ処理プロ
セッサの指示によって、パケットにデータの付加・削除
が必要かどうかをフラグビットにより判断する。フラグ
ビットより付加が必要である場合には、付加するデー
タ、付加データ長、パケット上での付加位置を中間デー
タレジスタ96#Aより得る。また、削除が必要である
場合には、削除データ長、パケット上での削除位置を中
間データレジスタ96#Aより得る。ここでは、パケッ
トの先頭から32ビット目に64ビットのデータを付加
するように指示されていたとする。
(B) Packet data processor 9
Operation of 0 # A The packet data processor 90 # A is activated when a packet is input to the packet access register 98 # A. If the packet is the packet access register 98 # A
When the packet is input to the intermediate data register 96 # A in synchronization with the packet, the flag bit determines whether data addition / deletion is necessary for the packet according to the instruction of the preceding packet data processor. When the addition is necessary from the flag bit, the data to be added, the additional data length, and the addition position on the packet are obtained from the intermediate data register 96 # A. If deletion is necessary, the length of the deleted data and the position of the deletion on the packet are obtained from the intermediate data register 96 # A. Here, it is assumed that an instruction has been given to add 64-bit data to the 32nd bit from the beginning of the packet.

【0028】(b−1) データの付加 図6は、データ付加の判断後のパケットデータ処理プロ
セッサ90#Aを示す図である。パケットアクセスレジ
スタ98#AのレジスタP3にデータ付加すべきパケッ
トの先頭データが格納されているとする。また、このパ
ケットの前パケットの最終データがレジスタP4に格納
されているとする。パケットデータ処理プロセッサ90
#Aは、自分より前段のパケットデータ処理プロセッサ
に対して、パケットアクセスレジスタのシフトを行わな
いように、付加データ長に相当するクロック時間、バッ
クプレッシャ信号線92をアサートすると共にデータ付
加対象パケットが格納されているパケットアクセスレジ
スタ98#Aのレジスタのシフト動作を停止する。デー
タ付加対象パケットの前パケットが格納されているパケ
ットアクセスレジスタ98#Aのレジスタについてはシ
フト動作を行う。ここでは、パケットアクセスレジスタ
98#AのレジスタP3にデータ付加対象パケットの先
頭が格納されているので、レジスタP3−P0のシフト
動作が停止される。一方、レジスタP4〜P15のシフ
ト動作は継続する。
(B-1) Addition of Data FIG. 6 is a diagram showing the packet data processor 90 # A after data addition is determined. It is assumed that the leading data of the packet to which data is to be added is stored in the register P3 of the packet access register 98 # A. It is also assumed that the last data of the previous packet of this packet is stored in the register P4. Packet data processor 90
#A asserts the back pressure signal line 92 for the clock time corresponding to the additional data length and makes the packet to which the data is to be added to the packet data processor in the preceding stage so as not to shift the packet access register. The shift operation of the stored packet access register 98 # A is stopped. The shift operation is performed on the register of the packet access register 98 # A in which the packet before the data addition target packet is stored. Here, since the head of the data addition target packet is stored in the register P3 of the packet access register 98 # A, the shift operation of the registers P3-P0 is stopped. On the other hand, the shift operation of the registers P4 to P15 continues.

【0029】一方、パケットデータ処理プロセッサ90
#Aよりも前段のパケットデータ処理プロセッサ90#
i(i=1,2,B,…)は、バックプレッシャ信号線
92がアサートされると、演算部、パケットアクセスレ
ジスタ及び中間データレジスタの動作を停止するべく、
例えば、システムクロックをネゲートする。ここでは、
付加データの大きさが64ビットであること及びパケッ
トアクセスレジスタ98#Aが32ビットであることか
ら、データ付加対象パケット及び後続パケットデータを
64÷32=2クロックの間データ転送を停止し、それ
よりも前にあるパケットデータはデータ転送を継続しな
ければならない。そのため、レジスタP3よりも後にあ
るパケットデータの転送を2クロック停止し、レジスタ
P4のデータよりも前のパケットデータの転送を継続し
て行う。
On the other hand, the packet data processor 90
#A packet data processor 90 # in the preceding stage
When the back pressure signal line 92 is asserted, i (i = 1, 2, B,...) stops the operation of the operation unit, the packet access register, and the intermediate data register.
For example, the system clock is negated. here,
Since the size of the additional data is 64 bits and the packet access register 98 # A is 32 bits, the data transfer of the packet to which data is added and the subsequent packet data is stopped for 64 ÷ 32 = 2 clocks. The previous packet data must continue the data transfer. Therefore, the transfer of the packet data after the register P3 is stopped for two clocks, and the transfer of the packet data before the data of the register P4 is continuously performed.

【0030】図7は、2クロック後のパケットデータ処
理プロセッサ90#Aを示す図である。図7に示すよう
に、2クロック後には、データを付加すべき位置である
パケット先頭から32ビット目のレジスタP4,P3に
空きが確保される。そして、2クロック停止させなけれ
ばいけないと判断したパケットデータ処理プロセッサ9
0#Aは、2クロック経過するとパケットのシフトを再
開させて良いので、パケットアクセスレジスタ98#A
のシフト動作を再開すると共に、バックプレッシャ信号
線92をネゲートしてパケットデータ処理プロセッサ9
0#Aより前にあるパケットデータ処理プロセッサにシ
フトの再開するよう指示する。バックプレッシャ信号線
92がネゲートされると、パケットデータ処理プロセッ
サ90#Aの前段のパケットデータ処理プロセッサがシ
フト動作を再開する。命令を中断していたパケットデー
タ処理プロセッサは、中断していた命令を再開する。パ
ケットデータ処理プロセッサ90#Aは、パケットアク
セスレジスタ98#Aに格納されている、パケット先頭
データからデータを付加するべき位置の直前のデータま
で付加データ長だけ移動する。その後、中間データレジ
スタ96#Aに格納されている付加するデータをパケッ
トアクセスレジスタ98#Aの付加するべき位置のレジ
スタに格納する。そして、パケットに同期する中間デー
タレジスタ96#Aのデータも必要に応じて移動する。
FIG. 7 is a diagram showing the packet data processor 90 # A after two clocks. As shown in FIG. 7, after two clocks, vacancies are secured in the registers P4 and P3 of the 32nd bit from the head of the packet where data is to be added. Then, the packet data processor 9 that has determined that the two clocks must be stopped
The packet access register 98 # A 0 # A can restart the packet shift after two clocks have elapsed.
Is resumed, the back pressure signal line 92 is negated, and the packet data processor 9
It instructs the packet data processor located before 0 # A to resume the shift. When the back pressure signal line 92 is negated, the packet data processor preceding the packet data processor 90 # A restarts the shift operation. The packet data processor that has interrupted the instruction resumes the interrupted instruction. The packet data processor 90 # A moves by the additional data length from the packet head data stored in the packet access register 98 # A to the data immediately before the position where data is to be added. After that, the data to be added stored in the intermediate data register 96 # A is stored in the register of the packet access register 98 # A at the position to be added. Then, the data of the intermediate data register 96 # A synchronized with the packet also moves as necessary.

【0031】図8は、データ移動後のパケットデータ処
理プロセッサ90#Aの状態を示す図である。ここで
は、パケット先頭から32ビット目に付加するので、3
2ビット目よりも前にある32ビットのデータが格納さ
れているレジスタP3のデータを64ビット移動する。
即ち、レジスタP3のデータ手をレジスタP5に移動す
る。その後、64ビットの空いた場所、レジスタP3,
P4に中間データレジスタ96#Aに格納されている付
加データを付加する。付加されたパケットはパケットア
クセスレジスタ98#Aのシフト動作によって後段のパ
ケットデータ処理プロセッサ群に転送される。
FIG. 8 shows the state of packet data processor 90 # A after data movement. Here, since it is added to the 32nd bit from the head of the packet,
The data of the register P3 in which the 32-bit data before the second bit is stored is shifted by 64 bits.
That is, the data in the register P3 is moved to the register P5. Then, a 64-bit vacant place, register P3,
The additional data stored in the intermediate data register 96 # A is added to P4. The added packet is transferred to the subsequent packet data processor group by the shift operation of the packet access register 98 # A.

【0032】(b−2) データ削除 フラグビットより削除が必要である場合には、削除デー
タ長、パケット上での削除位置を中間データレジスタ9
6#Aより得る。削除対象のパケットについて、パケッ
トアクセスレジスタ98#Aに格納されている削除位置
よりも前のデータを削除データ長後ろに移動する。例え
ば、パケット上での削除位置がパケット先頭から32ビ
ット目、削除データ長が64ビット、パケット先頭がレ
ジスタP3に格納されているとき、レジスタP3に格納
されている32ビットのデータを64ビット移動、即
ち、レジスタP1に移動する。このとき、パケットに同
期する中間データレジスタ96#Aのデータも必要に応
じて移動する。削除されたパケットはパケットアクセス
レジスタ98#Aのシフト動作によって後段のパケット
データ処理プロセッサ群に転送される。
(B-2) Data Deletion If deletion is necessary from the flag bit, the length of the deleted data and the position of deletion on the packet are set in the intermediate data register 9.
6 Get from #A. For the packet to be deleted, data before the deletion position stored in the packet access register 98 # A is moved to the rear of the deletion data length. For example, when the deletion position on the packet is the 32nd bit from the packet head, the deletion data length is 64 bits, and the packet head is stored in the register P3, the 32-bit data stored in the register P3 is moved by 64 bits. That is, it moves to the register P1. At this time, the data of the intermediate data register 96 # A synchronized with the packet also moves as necessary. The deleted packet is transferred to the subsequent packet data processor group by the shift operation of the packet access register 98 # A.

【0033】(c) パケットデータ処理プロセッサ9
0#Aの後段のパケットデータ処理プロセッサ群の動作 後段のパケットデータ処理プロセッサ群は、バス88,
89よりパケットデータ及び中間データを受け取って、
パケット処理、例えば、パケットデータ処理プロセッサ
90#Aによりデータ付加・削除されたとき、パケット
のヘッダ長の更新処理を行って、最終段のパケットデー
タ処理プロセッサ90#Cよりスイッチファブリック6
4にパケットを出力する。
(C) Packet data processor 9
Operation of the Packet Data Processor Group at the Subsequent Stage of 0 # A
Receiving the packet data and the intermediate data from 89,
When packet processing, for example, data addition / deletion by the packet data processor 90 # A, the header length of the packet is updated, and the packet data processor 90 # C at the last stage switches the switch fabric 6
4 is output.

【0034】(2) スイッチファブリック64の動作 スイッチファブリック64は、受信インタフェースカー
ド62#i(i=1〜n)からパケットを入力して、パ
ケットのヘッダに設定されているIPアドレス又はMA
Cアドレスに従って、ルーティングテーブルを参照して
該当する送信インタフェースカード66#k(k=1〜
n)にルーティングする。但し、ルーティングテーブル
参照処理をパケット処理プロセッサ群74#iにして行
い、スイッチファブリック64はこの処理結果に従い決
定された送信インタフェースカード66#k(k=1〜
n)にルーティングする実装でも良い。
(2) Operation of Switch Fabric 64 The switch fabric 64 receives a packet from the receiving interface card 62 # i (i = 1 to n), and sets the IP address or MA set in the header of the packet.
According to the C address, referring to the routing table, the corresponding transmission interface card 66 # k (k = 1 to
n). However, the routing table reference processing is performed for the packet processing processor group 74 # i, and the switch fabric 64 determines the transmission interface card 66 # k (k = 1 to k) determined according to the processing result.
An implementation for routing to n) may be used.

【0035】(3) 送信インタフェースカード66#
iの動作 送信インタフェースカード66#iは、スイッチファブ
リック64よりパケットを入力して、伝送路の物理イン
タフェースに従ってパケットを送信する。
(3) Transmission interface card 66 #
Operation of i The transmission interface card 66 # i receives a packet from the switch fabric 64 and transmits the packet according to the physical interface of the transmission path.

【0036】以上のようにして、パケットデータ処理プ
ロセッサ群がパケットにデータの付加・削除が必要かを
判断し、付加・削除に必要なデータを生成する。パケッ
トデータ処理プロセッサAはかかるデータを受け取り、
データの付加処理によってパケット間隔を空ける必要が
あるかどうかを判断し、必要であれば前段にあるパケッ
トデータ処理プロセッサ群にパケットの入力を制限して
もらうことによって、付加するデータの大きさから判断
されたパケット間隔を空け、パケット処理のスループッ
トを下げずに、データの付加処理を行うことができる。
As described above, the packet data processor group determines whether data addition / deletion is necessary for a packet, and generates data required for addition / deletion. The packet data processor A receives such data,
Determine whether it is necessary to add a packet interval by data addition processing, and if necessary, have the packet data processing processor group at the preceding stage limit the input of packets to determine from the size of the data to be added. The data addition process can be performed without increasing the packet interval and without lowering the throughput of the packet processing.

【0037】第2実施形態 図9は、本発明の第2実施形態によるパケットデータ処
理装置の構成図であり、図2中の構成要素と実質的に同
一の構成要素には同一の符号を附している。図9に示す
パケットデータ処理装置100は、受信インタフェース
カード104#i中のパケットデータ処理プロセッサ群
104#iが図2中のパケットデータ処理プロセッサ群
74#iと異なる。パケットデータ処理プロセッサ群1
04#iは、付加・削除データ長がパケットデータ処理
プロセッサのパケットアクセスレジスタのビット幅の倍
数でない場合にもデータの付加・削除を行うことができ
ること、データ付加をするパケットデータ処理プロセッ
サにパケットデータ及び中間データを保持するバッファ
メモリを設け、データ付加のときに常にシフト動作を停
止するのではなく、バッファがデータ付加により足りな
くなったときのみシフト動作を停止するようにしたこと
が図2中のパケットデータ処理プロセッサ群74#iと
異なる。
Second Embodiment FIG. 9 is a block diagram of a packet data processing apparatus according to a second embodiment of the present invention. Components that are substantially the same as those shown in FIG. are doing. In the packet data processing device 100 shown in FIG. 9, the packet data processing processor group 104 # i in the receiving interface card 104 # i is different from the packet data processing processor group 74 # i in FIG. Packet data processor group 1
04 # i indicates that addition / deletion of data can be performed even when the data length of the addition / deletion data is not a multiple of the bit width of the packet access register of the packet data processor. A buffer memory for holding intermediate data is provided so that the shift operation is not always stopped when data is added, but is stopped only when the buffer becomes insufficient due to data addition in FIG. This is different from the packet data processor group 74 # i.

【0038】図10は、図9中のパケットデータ処理プ
ロセッサ群104#iの構成図であり、図3中の構成要
素と実質的に同一の構成要素には同一の符号を附してい
る。バス108,109及びパケットデータ処理プロセ
ッサ110#iは、データ付加・削除機構部112の動
作の特徴を明確にするため、バス108,109並びに
パケットアクセスレジスタ及び中間データレジスタのビ
ット幅が図3中のバス88,89及びパケットデータ処
理プロセッサ90#iと変えた例としている。
FIG. 10 is a configuration diagram of the packet data processor group 104 # i in FIG. 9, and the same reference numerals are given to the same components as those in FIG. The buses 108 and 109 and the packet data processor 110 # i have the bit widths of the buses 108 and 109 and the packet access register and the intermediate data register in FIG. And the packet data processor 90 # i.

【0039】図11は、図10中のパケットデータ処理
プロセッサ110#iの構成図であり、図5中の構成要
素と実質的に同一の構成要素には同一の符号を附してい
る。中間データレジスタ120#iは、パケットデータ
に同期して、該パケットデータに関する処理結果を保持
し伝達するための、例えば、4段の64ビットのシフト
レジスタレジスタe0〜e3である。パケットアクセス
レジスタ122#iは、パケットデータを直接取り込む
ための、例えば、4段の128ビットのシフトレジスタ
レジスタp0〜p3である。データ付加・削除機構部1
12は、図3中のパケットデータ処理プロセッサ90#
Aと同様にデータの付加・削除を行う。データ付加・削
除機構部112は、例えば、専用ハードウェアにより構
成する。
FIG. 11 is a block diagram of the packet data processor 110 # i shown in FIG. 10, and substantially the same components as those in FIG. 5 are denoted by the same reference numerals. The intermediate data register 120 # i is, for example, a 4-stage 64-bit shift register register e0 to e3 for holding and transmitting a processing result regarding the packet data in synchronization with the packet data. The packet access registers 122 # i are, for example, four-stage 128-bit shift register registers p0 to p3 for directly taking in packet data. Data addition / deletion mechanism 1
Reference numeral 12 denotes a packet data processor 90 # in FIG.
Data addition / deletion is performed in the same manner as in A. The data addition / deletion mechanism unit 112 is configured by, for example, dedicated hardware.

【0040】図12は、図10中のデータ付加・削除機
構部112の構成図である。図12に示すようにデータ
付加・削除機構部112は、データ長チェック部12
0、伸縮バッファ122、リオーダ部124、書込デー
タ抽出部126及びデータライト部128を有する。デ
ータ長チェック部120は、パケットデータ及び中間デ
ータより、データ付加・削除後のデータの全長を求め、
許容されるパケットの最大長を超えないかをチェックす
る。超えている場合は、エラーを出力する。
FIG. 12 is a block diagram of the data addition / deletion mechanism 112 in FIG. As shown in FIG. 12, the data addition / deletion mechanism unit 112 includes a data length check unit 12
0, an expansion / contraction buffer 122, a reorder unit 124, a write data extraction unit 126, and a data write unit 128. The data length check unit 120 calculates the total length of the data after data addition / deletion from the packet data and the intermediate data,
Check that the maximum allowed packet length is not exceeded. If it exceeds, an error is output.

【0041】伸縮バッファ122は、パケットデータ及
び中間データを格納するパケットデータメモリ及び中間
データメモリ、並びにこれらのメモリを制御するコント
ローラから構成されている。各メモリはFIFO(First
In First Out)バッファである。パケットデータメモリ
は、パケットアクセスレジスタ122#iと同じデータ
ビット幅、例えば、128ビット幅のメモリ領域から成
るFIFOである。中間データバッファは、中間データ
レジスタ120#iと同じデータビット幅、例えば、6
4ビット幅のFIFOである。
The expansion / contraction buffer 122 includes a packet data memory and an intermediate data memory for storing packet data and intermediate data, and a controller for controlling these memories. Each memory is FIFO (First
In First Out) buffer. The packet data memory is a FIFO consisting of a memory area having the same data bit width as the packet access register 122 # i, for example, a 128-bit width. The intermediate data buffer has the same data bit width as the intermediate data register 120 # i, for example, 6 bits.
It is a 4-bit wide FIFO.

【0042】コントローラは、次の機能を有する。中
間データバッファからフラグビットを読み出して、デー
タ付加・削除の必要があるか否かをチェックする。デ
ータ削除の必要がある場合は、バス幅単位でデータ削除
を行う。バス幅単位で削除可能なときは、バス幅単位で
削除を行う。データ削除は、パケットデータメモリ上で
データの移動をすることによっても行うことができる
が、パケット処理の高速化の観点からは、パケットデー
タのパケットデータメモリへの書き込み処理と並列して
削除対象のデータの読み込みをスキップし、削除対象外
のデータを読み込むことにより実現するのが望ましい。
但し、バス幅単位にデータ削除が行われるので、データ
削除長がバス109のバス幅の整数倍でないとき、デー
タ削除長がバス幅の整数倍であってもデータ削除位置が
バス109上で先頭でないとき、削除できないデータが
残ることになるが、このデータはリオーダ部124によ
り削除する。データ付加の必要がある場合は、(i)中
間データにある付加データの大きさと、パケットデータ
メモリの空き容量からパケットデータメモリが足りるか
を判断し、足りなくなってしまう場合には、足りないメ
モリ容量に相当するクロック時間だけバックプレッシャ
信号線92をアサートする。データの付加処理では、デ
ータのバス幅単位に同一データのコピーを行っており、
パケットデータメモリが足りなくなる恐れがあるからで
ある。(ii)バス幅単位でバス幅単位でデータ伸張を行
う。データ伸張とは、データを付加する領域を確保する
ことをいう。データ伸張は、パケット処理の高速化の観
点より、パケットデータのパケットデータメモリへの書
き込み処理と並列的にパケット上での付加位置にあるデ
ータをバス幅単位で複数回数(付加データの大きさ÷バ
ス幅(余りがあれば切り上げ))読み出すことにより実
現する。但し、データ伸張はバス幅単位に行われるの
で、データ付加長がバス幅の整数倍でないとき、データ
付加位置がバス109の先頭でないとき、データ付加長
を超えて余分なデータ領域が確保されるが、余分なデー
タ削除はリオーダ部124が行う。
The controller has the following functions. The flag bit is read from the intermediate data buffer to check whether data addition / deletion is necessary. When it is necessary to delete data, the data is deleted in units of bus width. If deletion is possible in units of bus width, deletion is performed in units of bus width. Data deletion can also be performed by moving data on the packet data memory. However, from the viewpoint of speeding up packet processing, the data to be deleted can be deleted in parallel with the writing of packet data to the packet data memory. It is desirable to skip reading data and read data that is not targeted for deletion.
However, since data is deleted in units of the bus width, if the data deletion length is not an integral multiple of the bus width of the bus 109, the data deletion position is the first position on the bus 109 even if the data deletion length is an integral multiple of the bus width. Otherwise, data that cannot be deleted remains, but this data is deleted by the reorder unit 124. If it is necessary to add data, (i) judge whether the packet data memory is sufficient based on the size of the additional data in the intermediate data and the free space of the packet data memory. The back pressure signal line 92 is asserted for a clock time corresponding to the capacity. In the data addition process, the same data is copied in data bus width units.
This is because the packet data memory may be insufficient. (ii) Data expansion is performed in bus width units. Data expansion refers to securing an area to which data is added. From the viewpoint of speeding up the packet processing, the data decompression is performed a plurality of times (in the size of the additional data ÷ This is realized by reading the bus width (rounded up if there is a remainder). However, since data decompression is performed in units of a bus width, when the data addition length is not an integral multiple of the bus width, when the data addition position is not at the head of the bus 109, an extra data area exceeding the data addition length is secured. However, the extra data is deleted by the reorder unit 124.

【0043】リオーダ部124は、次の機能を有する。
データ付加・削除を行わないときは、付加・削除バッ
ファ122から読み出されたデータをそのままデータラ
イト部128に出力する。データ付加・削除すると
き、データ削除では削除されていないデータ及びデータ
付加では余分なデータを削除する。
The reorder section 124 has the following functions.
When data addition / deletion is not performed, the data read from the addition / deletion buffer 122 is output to the data write unit 128 as it is. When data is added or deleted, data that has not been deleted by data deletion and excess data by data addition are deleted.

【0044】図13は、図12中のリオーダ部124の
構成図である。リオーダ部124は、3段の128ビッ
トのシフトレジスタ130#0,130#1,130#
2、リオーダ制御シーケンサ132及びセレクタ134
#i(i=0〜7)を有する。シフトレジスタ130#
iはバッファ122より出力される128ビット幅のパ
ケットデータをシフトするレジスタであり、例えば、8
個の16ビットのレジスタ131#ij(j=0〜7)
から構成される。レジスタ131#ijを16ビットと
したのは、ここではデータ付加/削除のデータ単位を1
6ビットとしているからである。シフトレジスタ130
#i(i=0〜2)を3段としたのは、128ビットの
パケットデータを16ビットで区切ったとき、128ビ
ット単位で伸縮しているので、(k=0〜7)番目の1
6ビットデータに上書きされるデータは、最大で14個
後の16ビットのデータであるからである。
FIG. 13 is a configuration diagram of the reorder section 124 in FIG. The reorder unit 124 includes three stages of 128-bit shift registers 130 # 0, 130 # 1, and 130 #.
2. Reorder control sequencer 132 and selector 134
#I (i = 0 to 7). Shift register 130 #
i is a register for shifting the packet data of 128 bits width output from the buffer 122, for example, 8
16-bit registers 131 # ij (j = 0 to 7)
Consists of The reason why the register 131 # ij is 16 bits is that the data unit of data addition / deletion is 1 here.
This is because it has 6 bits. Shift register 130
The reason why #i (i = 0 to 2) is set to three stages is that when the 128-bit packet data is divided by 16 bits, it expands and contracts in 128-bit units.
This is because the data to be overwritten with the 6-bit data is 16-bit data that is at most 14 bits later.

【0045】リオーダ制御シーケンサ132は、次の機
能を有する。中間データのフラグビットよりデータ付
加・削除の必要があるか否かを判断する。データ付加
・削除の必要がない場合は、セレクタ134#i(i=
0〜7)にレジスタ131#0iの16ビット出力を選
択するよう選択信号=0を出力する。データ付加・削
除の必要がある場合、(i)不要なビットを削除すること
が必要なデータが最終段のシフトレジスタ130#0に
出力されるまでは、セレクタ134#i(i=0〜7)
に選択信号=0を出力する。(ii)不要なビットを削除す
ることが必要なデータが最終段のシフトレジスタ130
#0に出力されたクロックでは、削除対象データよりも
前のデータ位置のセレクタ134#iに選択信号=0を
出力する。削除対象データとは、データ削除が指示され
た場合の削除対象となるデータ及びデータ伸張による余
分なデータをいう。データの削除・付加されないとき、
シフトレジスタ130#0iの出力データとセレクタ1
34#iとが対応する。(iii)削除位置から後ろのデー
タについては、削除量分、後方のデータを選択するよう
指示する選択信号を出力する。例えば、16×kビット
削除する場合は、選択信号=kである。
The reorder control sequencer 132 has the following functions. It is determined from the flag bits of the intermediate data whether data addition / deletion is necessary. When there is no need to add / delete data, the selector 134 # i (i =
0-7), the selection signal = 0 is output so as to select the 16-bit output of the register 131 # 0i. When it is necessary to add / delete data, (i) the selector 134 # i (i = 0 to 7) until the data which needs to delete unnecessary bits is output to the final stage shift register 130 # 0. )
Output a selection signal = 0. (ii) The data for which unnecessary bits need to be deleted is stored in the shift register 130 at the last stage.
With the clock output to # 0, the selection signal = 0 is output to the selector 134 # i at the data position before the data to be deleted. The data to be deleted refers to data to be deleted when data deletion is instructed and extra data due to data expansion. When data is not deleted or added,
Output data of shift register 130 # 0i and selector 1
34 # i. (iii) For data behind the deletion position, a selection signal instructing to select data behind by the amount of deletion is output. For example, when deleting 16 × k bits, the selection signal = k.

【0046】セレクタ134#iは、シフトレジスタ1
31#0iの出力信号及び14個後までのシフトレジス
タの出力信号の16×15ビットの出力信号が入力され
て、選択信号=0であるとき、シフトレジスタ131#
0iの出力信号を選択し、選択信号=k(k≠0)であ
るとき、k個後ろのレジスタから出力される信号を選択
する。例えば、セレクタ134#0は、レジスタ131
#0j(j=0〜7)及びレジスタ131#1j(j=
0〜6)の出力信号が入力されて、0≦k≦7のとき、
レジスタ131#0kの出力信号を選択し、8≦k≦1
4のとき、シフトレジスタ131#1(k−8)の出力
信号を選択する。
The selector 134 # i is connected to the shift register 1
When the output signal of 31 # 0i and the output signal of 16 × 15 bits of the output signals of up to 14 shift registers are input and the selection signal = 0, the shift register 131 #
An output signal of 0i is selected, and when the selection signal = k (k ≠ 0), a signal output from the kth subsequent register is selected. For example, the selector 134 # 0
# 0j (j = 0 to 7) and the register 131 # 1j (j =
0-6), and when 0 ≦ k ≦ 7,
The output signal of the register 131 # 0k is selected, and 8 ≦ k ≦ 1
At 4, the output signal of the shift register 131 # 1 (k-8) is selected.

【0047】図12中の書込データ抽出部126は、フ
ラグビットよりデータ付加の必要があるか否かを判断し
て、データ付加の必要がある場合は、付加データを中間
バッファメモリより抽出して、データライト部128に
出力する。データライト部128は、データ付加の必要
がある場合は、128ビット単位でリオーダ部124よ
りデータ付加の必要のあるデータが出力されると、該当
する付加データで上書きする。以下、図9のパケットデ
ータ処理装置100の動作説明をする。
The write data extraction unit 126 in FIG. 12 determines whether data addition is necessary based on the flag bit, and if data addition is necessary, extracts the additional data from the intermediate buffer memory. Output to the data write unit 128. When data addition is required, when data requiring data addition is output from the reorder unit 124 in 128-bit units, the data writing unit 128 overwrites the data with the corresponding additional data. Hereinafter, the operation of the packet data processing device 100 of FIG. 9 will be described.

【0048】(1) 受信インタフェースカード102
#iの動作 各受信インタフェースカード102#i中の受信インタ
フェース部70#i及び前段処理部72#iは、第1実
施形態と同様に動作する。
(1) Receive interface card 102
Operation of #i The reception interface unit 70 # i and the pre-processing unit 72 # i in each reception interface card 102 # i operate in the same manner as in the first embodiment.

【0049】(a) データ付加・削除の判断 データ付加・削除機構部112よりも前段のパケットデ
ータ処理プロセッサ110#1,…,110#Bは、図
3中のパケットデータ処理プロセッサ90#Aよりも前
段のパケット処理プロセッサ90#1,…,90#Bと
同様の処理を行う。パケットデータ処理プロセッサ11
0#Bは、パケットデータ処理プロセッサ90#Bと同
様に、パケットに対してデータを付加・削除する処理を
行うか否かをパケットのヘッダより判断して、データ付
加・削除に関わる中間データを中間データレジスタ12
0#Bに書き込む。
(A) Judgment of data addition / deletion Packet data processing processors 110 # 1,..., 110 # B at a stage prior to the data addition / deletion mechanism 112 are transmitted from the packet data processing processor 90 # A in FIG. , 90 # B perform the same processing as the previous packet processing processors 90 # 1,..., 90 # B. Packet data processing processor 11
0 # B, as in the packet data processor 90 # B, determines from the header of the packet whether or not to perform processing for adding / deleting data to the packet, and determines intermediate data related to data addition / deletion. Intermediate data register 12
Write to 0 # B.

【0050】(b) データ付加・削除機構部112の
動作 データ長チェック部120は、パケットヘッダ及び中間
データよりデータ付加・削除後のデータの全長を求め、
パケットの最大長を超えないかをチェックする。パケッ
トの最大長を超えたとき、エラーを出力する。伸張・削
除バッファ122は、パケットデータをパケットデータ
メモリに、中間データを中間データメモリに書き込む。
中間データのフラグビットよりデータ付加・削除の必要
があるか否かを判断する。
(B) Operation of the data addition / deletion mechanism 112 The data length checker 120 obtains the total length of the data after data addition / deletion from the packet header and the intermediate data.
Check that the maximum packet length is not exceeded. Output an error when the maximum packet length is exceeded. The decompression / deletion buffer 122 writes the packet data to the packet data memory and the intermediate data to the intermediate data memory.
It is determined from the flag bits of the intermediate data whether data addition / deletion is necessary.

【0051】(b−1) データ付加・削除の必要がな
い場合 伸縮バッファ122は、パケットデータメモリよりパケ
ットデータを読み出してリオーダ部124に出力する。
リオーダ部124中のシフトレジスタ130#i(i=
2,1,0)は、パケットデータをシフトする。リオー
ダ制御シーケンサ132は、選択信号=0をセレクタ1
34#i(i=0〜7)に出力する。セレクタ134#
iはシフトレジスタ131#0iより出力されるデータ
を選択してデータライト部128に出力する。データラ
イト部128は、リオーダ部124より出力されるデー
タを出力する。
(B-1) When it is not necessary to add / delete data The expansion / contraction buffer 122 reads out packet data from the packet data memory and outputs it to the reorder unit 124.
Shift register 130 #i (i =
2, 1, 0) shifts the packet data. The reorder control sequencer 132 sets the selection signal = 0 to the selector 1
34 # i (i = 0 to 7). Selector 134 #
i selects the data output from the shift register 131 # 0i and outputs it to the data write unit 128. The data write unit 128 outputs data output from the reorder unit 124.

【0052】(b−2) データ付加の必要がある場合 伸縮バッファ122は、中間データにある付加データの
大きさとパケットメモリの空き容量からパケットデータ
メモリが足りるかを判断し、足りなくなってしまった場
合には、足りないクロック時間だけバックプレッシャ信
号線92をアサートする。バックプレッシャ信号線92
がアサートされると、データ付加・削除機構部112よ
りも前段のパケットデータ処理プロセッサ群はシフト動
作を停止すると共に実行中の命令位置で命令を中断す
る。伸縮バッファ122は、付加データの指定開始位置
を含むバス幅単位でのデータまでデータメモリより読み
出す。付加データ指定開始位置を含むバス幅単位でのデ
ータを付加データの大きさ÷バス幅(余りがあれば切り
上げ)回コピーする。
(B-2) When Data Addition is Necessary The expansion / contraction buffer 122 judges whether or not the packet data memory is sufficient based on the size of the additional data in the intermediate data and the free space of the packet memory. In this case, the back pressure signal line 92 is asserted for the insufficient clock time. Back pressure signal line 92
Is asserted, the packet data processor group prior to the data addition / deletion mechanism 112 stops the shift operation and interrupts the instruction at the instruction position being executed. The expansion / contraction buffer 122 reads data from the data memory up to data in units of a bus width including the designated start position of additional data. The data in the unit of the bus width including the start position for specifying the additional data is copied times the size of the additional data divided by the bus width (rounded up if there is a remainder).

【0053】図14は、バス幅が128ビット、付加デ
ータの大きさが64ビット、指定開始位置が32ビット
の時の伸張動作を示す図であり、特に、同図(a)はデ
ータ伸張前の状態を示す図、同図(b)はデータ伸張後
の状態を示す図である。図14(a)に示すように、デ
ータ付加位置が32ビット目であるとき、伸縮バッファ
122は、データ付加位置の含む128ビットのデータ
を64÷128=1(余りを切り上げ)回コピーする。
このとき、データが64=(128−64)ビット余分
にコピーされているので、後述するようにリオーダ部1
24よりこの余分なデータを削除する。
FIG. 14 is a diagram showing the expansion operation when the bus width is 128 bits, the size of the additional data is 64 bits, and the designated start position is 32 bits. In particular, FIG. (B) is a diagram showing a state after data expansion. As shown in FIG. 14A, when the data addition position is the 32nd bit, the expansion / contraction buffer 122 copies the 128-bit data included in the data addition position 64 ÷ 128 = 1 (the remainder is rounded up) times.
At this time, since the data has been copied by 64 = (128-64) bits extra, the reorder unit 1 will be described later.
24, this extra data is deleted.

【0054】伸縮バッファ122で伸縮が行われたパケ
ットはリオーダ部124に入力される。リオーダ部12
4中のシフトレジスタ130#i(i=2,1,0)
は、入力されたパケットデータをクロックに同期してシ
フトする。リオーダ制御シーケンサ132は、中間デー
タより示される指定開始位置に従って、不要なビットを
削除することが必要なデータが最終段のシフトレジスタ
130#0に出力されるまでは、セレクタ134#i
(i=0〜7)に選択信号=0を出力する。不要なビッ
トを削除することが必要なデータが最終段のシフトレジ
スタ130#0に出力されたクロックでは、削除対象デ
ータよりも前のデータ位置のセレクタ134#iに選択
信号=0を出力する。指定開始位置のデータを含む後ろ
のデータについては、削除量分、後方のデータを選択す
るよう指示する選択信号を出力する。削除ビット数=
(伸長されたビット数−データ付加ビット数)である。
The packet expanded and contracted by the expansion and contraction buffer 122 is input to the reorder unit 124. Reorder part 12
4 shift register 130 # i (i = 2, 1, 0)
Shifts input packet data in synchronization with a clock. The reorder control sequencer 132 keeps selecting the selector 134 # i until the data whose unnecessary bits need to be deleted is output to the final-stage shift register 130 # 0 in accordance with the designated start position indicated by the intermediate data.
A selection signal = 0 is output to (i = 0 to 7). In the clock in which the data whose unnecessary bits need to be deleted is output to the shift register 130 # 0 at the last stage, the selection signal = 0 is output to the selector 134 # i at the data position before the data to be deleted. For the subsequent data including the data at the designated start position, a selection signal instructing to select the subsequent data by the amount of deletion is output. Number of deleted bits =
(The number of decompressed bits−the number of additional data bits).

【0055】図15は、データ付加時のリオーダ部12
4の動作を示す図であり、特に同図(a)はリオーダ部
124の入力、同図(b)はリオーダ部124の出力を
示している。図15では、バス幅が128ビットで付加
データの大きさが64ビット、指定開始位置が32ビッ
トの時の動作を示している。削除されるデータ長=12
8−(64÷128での余り)=64ビットである。よ
って、削除量=64÷16=4ワードである。リオーダ
部124は、データ付加位置のデータまでは、入力され
たデータをスルーする。データ付加位置のデータを含む
以降のデータは、4ワード後方のデータを選択して通
す。
FIG. 15 shows the reorder unit 12 when data is added.
4A and 4B show the operation of the reorder unit 124, and FIG. 4B shows the input of the reorder unit 124, and FIG. FIG. 15 shows the operation when the bus width is 128 bits, the size of the additional data is 64 bits, and the designated start position is 32 bits. Data length to be deleted = 12
8- (the remainder at 64 ÷ 128) = 64 bits. Therefore, the amount of deletion = 64/16 = 4 words. The reorder unit 124 passes the input data up to the data at the data addition position. Subsequent data including the data at the data addition position selects and passes data four words behind.

【0056】書込データ抽出部126は、中間データよ
り付加データを読み出し、データライト部128に出力
する。データライト部128は、書込データ抽出部12
6で中間データから抽出した付加データによってデータ
付加位置からのデータに上書きする。
The write data extracting section 126 reads out the additional data from the intermediate data and outputs it to the data write section 128. The data write unit 128 includes the write data extraction unit 12
In step 6, the data from the data addition position is overwritten with the additional data extracted from the intermediate data.

【0057】(b−3) データ削除の必要がある場合 伸縮バッファ122は、バス幅単位でのデータの収縮を
行う。即ち、まず、パケットの先頭データから削除デー
タ開始位置のデータを含むバス幅単位のデータまでバケ
ットデータメモリより読み出す。次に削除データ最終位
置のデータを含むバス幅単位のデータをパケットデータ
メモリより読み出し、削除データ開始位置のデータの次
のバス幅単位のデータから削除データ最終位置のデータ
の前のバス幅単位のデータまでを読み飛ばすことによ
り、バス幅単位にデータの収縮を行う。
(B-3) When Data Deletion is Needed The expansion / contraction buffer 122 contracts data in bus width units. That is, first, the data from the head data of the packet to the data in the unit of the bus width including the data at the start position of the deleted data is read from the bucket data memory. Next, the data in the bus width unit including the data at the end position of the deleted data is read from the packet data memory, and the data in the bus width unit next to the data at the start position of the deletion data is read from the data in the bus width unit before the data at the end position of the deletion data. By skipping to the data, the data is contracted in units of the bus width.

【0058】図16は、バス幅単位のデータの収縮を示
す図であり、特に、同図(a)はデータ収縮前の状態を
示す図、同図(b)はデータ収縮後の状態を示す図であ
る。る。図16では、バス幅が128ビット、削除デー
タの大きさが160ビット、指定開始位置が112ビッ
トである。このパケットデータをバス幅単位に収縮する
と、図16(b)に示すように、128ビット目から1
28ビットのデータが削除される。
FIGS. 16A and 16B are diagrams showing the contraction of data in units of a bus width. In particular, FIG. 16A shows a state before data contraction, and FIG. 16B shows a state after data contraction. FIG. You. In FIG. 16, the bus width is 128 bits, the size of the deletion data is 160 bits, and the designation start position is 112 bits. When this packet data is shrunk in units of bus width, as shown in FIG.
28-bit data is deleted.

【0059】図17は、バス幅単位のデータの収縮の他
の場合を示す図であり、特に、同図(a)はデータ収縮
前の状態を示す図、同図(b)はデータ収縮後の状態を
示す図である。図17では、バス幅が128ビット、削
除データの大きさが160ビット、指定開始位置が64
ビットである。図17(a)に示すように、削除データ
の大きさが128ビットを超える場合でも、バス幅単位
にデータを収縮できないときがある。
FIGS. 17A and 17B are diagrams showing another case of contraction of data in units of bus width. FIG. 17A shows a state before data contraction, and FIG. 17B shows a state after data contraction. It is a figure showing the state of. In FIG. 17, the bus width is 128 bits, the size of the deletion data is 160 bits, and the designated start position is 64 bits.
Is a bit. As shown in FIG. 17A, even when the size of the deleted data exceeds 128 bits, there are cases where the data cannot be contracted in units of the bus width.

【0060】伸縮バッファ122でバス幅単位に縮小さ
れたパケットはリオーダ部124に入力される。リオー
ダ部124中のシフトレジスタ130#i(i=2,
1,0)は、入力されたパケットデータをクロックに同
期してシフトする。リオーダ制御シーケンサ132は、
指定開始位置に従って、不要なビットを削除することが
必要なデータが最終段のシフトレジスタ130#0に出
力されるまでは、セレクタ134#i(i=0〜7)に
選択信号=0を出力する。不要なビットを削除すること
が必要なデータが最終段のシフトレジスタ130#0に
出力されたクロックでは、削除対象データよりも前のデ
ータ位置のセレクタ134#iに選択信号=0を出力す
る。指定開始位置のデータを含む後ろのデータについて
は、削除量分、後方のデータを選択するよう指示する選
択信号を出力する。削除ビット量=削除データビット長
−収縮ビット長である。
The packet reduced in the unit of the bus width by the expansion / contraction buffer 122 is input to the reorder unit 124. Shift register 130 # i in the reorder section 124 (i = 2,
1, 0) shifts the input packet data in synchronization with the clock. The reorder control sequencer 132
The selection signal = 0 is output to the selector 134 # i (i = 0 to 7) until data requiring unnecessary bits to be deleted is output to the final-stage shift register 130 # 0 according to the designated start position. I do. In the clock in which the data whose unnecessary bits need to be deleted is output to the shift register 130 # 0 at the last stage, the selection signal = 0 is output to the selector 134 # i at the data position before the data to be deleted. For the subsequent data including the data at the designated start position, a selection signal instructing to select the subsequent data by the amount of deletion is output. Deletion bit amount = deletion data bit length−reduction bit length.

【0061】図18は、データ削除時のリオーダ部12
4の動作を示す図であり、特に同図(a)はリオーダ部
124の入力、同図(b)はリオーダ部124の出力を
示している。図17では、バス幅が128ビットで削除
データの大きさが160ビット、指定開始位置が112
ビットの時の動作を示している。削除されるデータ長
は、指定開始位置から160÷128の余り=32ビッ
トのデータである。図17(b)に示すように、データ
削除位置の前のデータについては、伸縮バッファ122
データから出力されるデータをスルーして通す。データ
削除位置のデータを含む後ろのデータについては、32
ビット=2ワード(32÷16=2)後ろのデータを選
択して通す。
FIG. 18 shows the reorder unit 12 when data is deleted.
4A and 4B show the operation of the reorder unit 124, and FIG. 4B shows the input of the reorder unit 124, and FIG. In FIG. 17, the bus width is 128 bits, the size of the deleted data is 160 bits, and the designated start position is 112 bits.
The operation at the time of a bit is shown. The data length to be deleted is the remainder of 160 ÷ 128 = 32 bits of data from the designated start position. As shown in FIG. 17B, for the data before the data deletion position, the expansion buffer 122
The data output from the data is passed through. For the subsequent data including the data at the data deletion position, 32
The data after the bit = 2 words (32/16 = 2) is selected and passed.

【0062】図19は、データ削除時のリオーダ部12
4の他の場合の動作を示す他の図であり、特に同図
(a)はリオーダ部124の入力、同図(b)はリオー
ダ部124の出力を示している。図19では、バス幅が
128ビットで削除データの大きさが160ビット、指
定開始位置が64ビットの時の動作を示している。削除
されるデータは、指定開始位置から、160÷128の
余り+128=160ビットのデータである。図19
(b)に示すように、データ削除位置の前のデータにつ
いては、伸縮バッファ122データから出力されるデー
タをスルーして通す。データ削除位置のデータを含む後
ろのデータについては、160ビット=10ワード(1
60÷16=10)後ろのデータを選択して通す。デー
タライト部128は、削除されたパケットデータをスル
ーして通す。
FIG. 19 shows the reorder section 12 when data is deleted.
4 is another diagram showing the operation in another case, in particular, FIG. 4A shows the input of the reorder unit 124, and FIG. 4B shows the output of the reorder unit 124. FIG. 19 shows the operation when the bus width is 128 bits, the size of the deletion data is 160 bits, and the designated start position is 64 bits. The data to be deleted is the data of 160 = 128 remainder + 128 = 160 bits from the designated start position. FIG.
As shown in (b), for the data before the data deletion position, the data output from the expansion / contraction buffer 122 data is passed through. For the subsequent data including the data at the data deletion position, 160 bits = 10 words (1
60 ÷ 16 = 10) Select and pass the subsequent data. The data write unit 128 passes the deleted packet data through.

【0063】(c) 後段のパケットデータ処理プロセ
ッサ群の動作 データ付加・削除機構部112の後段のパケットデータ
処理プロセッサ群110#C…は、第1実施形態のパケ
ットデータ処理プロセッサ90#Cと同様の処理を行っ
て、最終段のパケットデータ処理プロセッサ110#n
よりスイッチファブリック64にパケットを出力する。
(C) Operation of Subsequent Packet Data Processor Group The subsequent packet data processor group 110 # C... Of the data addition / deletion mechanism 112 is the same as the packet data processor 90 # C of the first embodiment. To the final stage of the packet data processor 110 # n
The packet is output to the switch fabric 64.

【0064】(2) スイッチファブリック64の動作 スイッチファブリック64は、受信インタフェースカー
ド62#i(i=1〜n)からパケットを入力して、パ
ケットのヘッダに設定されているIPアドレス又はMA
Cアドレスに従って、ルーティングテーブルを参照して
該当する送信インタフェースカード66#k(k=1〜
n)にルーティングする。但し、ルーティングテーブル
参照処理をパケット処理プロセッサ群104#iにて行
い、スイッチファブリック64はこの処理結果に従い決
定された送信インタフェースカード66#k(k=1〜
n)にルーティングする実装でも良い。
(2) Operation of Switch Fabric 64 The switch fabric 64 receives a packet from the receiving interface card 62 # i (i = 1 to n), and sets the IP address or MA set in the header of the packet.
According to the C address, referring to the routing table, the corresponding transmission interface card 66 # k (k = 1 to
n). However, the routing table reference processing is performed by the packet processing processor group 104 # i, and the switch fabric 64 determines the transmission interface card 66 # k (k = 1 to k) determined according to the processing result.
An implementation for routing to n) may be used.

【0065】(3) 送信インタフェースカード66#
iの動作 送信インタフェースカード66#iは、スイッチファブ
リック64よりパケットを入力して、伝送路の物理イン
タフェースに従ってパケットを送信する。
(3) Transmission interface card 66 #
Operation of i The transmission interface card 66 # i receives a packet from the switch fabric 64 and transmits the packet according to the physical interface of the transmission path.

【0066】以上のように、パケットデータ処理プロセ
ッサに、特殊なパケットデータ処理プロセッサとして、
バッファ機能を持ったデータの付加・削除機構にデータ
の付加・削除を行わせることにより、バス幅を気にしな
いデータの付加・削除を行うことができる。また、デー
タの付加が起こるたびにパケットデータ処理プロセッサ
群のデータのシフトを停止させるのではなく、バッファ
の空き容量がなくなったときに初めてデータのシフトを
停止させることによって、パイプラインの停止回数を減
らすことができる。
As described above, as a special packet data processor,
By causing a data addition / deletion mechanism having a buffer function to perform addition / deletion of data, data addition / deletion can be performed regardless of the bus width. Also, instead of stopping the shift of data in the packet data processor group each time data is added, the shift of data is stopped only when the free space in the buffer is exhausted, thereby reducing the number of times the pipeline is stopped. Can be reduced.

【0067】第3実施形態 図20は、本発明の第3実施形態によるパケットデータ
処理装置の構成図であり、図9中の構成要素と実質的に
同一の構成要素には同一の符号を附している。図20に
示すパケットデータ処理装置140は、受信インタフェ
ースカード142#i中のパケットデータ処理プロセッ
サ群144#iが図9中のパケットデータ処理プロセッ
サ群104#iと異なる。パケットデータ処理プロセッ
サ群144#iは、初段にパケットデータ及び中間デー
タを蓄積するバッファを設けていること、バックプレッ
シャ信号は初段のパケットデータ処理プロセッサのみに
入力するようにしたこと、データ付加・削除機構部の前
段のパケットデータ処理プロセッサ群はデータ付加・削
除機構部がデータ付加処理を行っている際にもパケット
データ処理を停止せずに継続することが図9中のパケッ
トデータ処理プロセッサ群104#iと異なる。
Third Embodiment FIG. 20 is a block diagram of a packet data processing apparatus according to a third embodiment of the present invention. Components that are substantially the same as those shown in FIG. are doing. In the packet data processing device 140 shown in FIG. 20, a packet data processor group 144 # i in the receiving interface card 142 # i is different from the packet data processor group 104 # i in FIG. The packet data processor group 144 # i has a buffer for storing packet data and intermediate data at the first stage, a back pressure signal is input only to the first stage packet data processor, and data addition / deletion. The packet data processor group 104 in FIG. 9 can continue without stopping the packet data processing even when the data addition / deletion mechanism unit is performing data addition processing. Different from #i.

【0068】図21は、図20中のパケットデータ処理
プロセッサ群144#iの構成図であり、図10中の構
成要素と実質的に同一の構成要素には同一の符号を附し
ている。バッファ150は、次の機能を有する。(i)ク
ロックに同期してパケットデータ及び中間データを入力
して、FIFOメモリに書き込む。(ii)FIFOメモリ
に保持されたパケットデータ及び中間データを読み込
み、バス108,109に出力する。(iii)バックプレ
ッシャ信号線92がアサートされると、FIFOメモリ
からパケットデータ及び中間データの読み込みを停止す
る。FIFOメモリからの読み込みが停止されている間
にも、パケットデータ及び中間データの書き込みが行わ
れるので、FIFOメモリが不足しないように、読み込
み停止されている間に書き込まれるパケットデータに応
じて、FIFOメモリ容量が決定される。(iv)バックプ
レッシャ信号線92がネゲートされると、FIFOメモ
リからパケットデータ及び中間データの読み込みを再開
する。
FIG. 21 is a block diagram of the packet data processor group 144 # i in FIG. 20. Components that are substantially the same as those in FIG. 10 are given the same reference numerals. The buffer 150 has the following functions. (i) The packet data and the intermediate data are input in synchronization with the clock, and written into the FIFO memory. (ii) The packet data and the intermediate data held in the FIFO memory are read and output to the buses 108 and 109. (iii) When the back pressure signal line 92 is asserted, reading of packet data and intermediate data from the FIFO memory is stopped. Since the packet data and the intermediate data are written even while the reading from the FIFO memory is stopped, the FIFO memory is controlled according to the packet data written while the reading is stopped so as not to run out of the FIFO memory. The memory capacity is determined. (iv) When the back pressure signal line 92 is negated, reading of packet data and intermediate data from the FIFO memory is restarted.

【0069】データ付加・削除機構部154よりも前段
のパケットデータ処理プロセッサ152#i(i=1〜
B)は、バックプレッシャ信号線92が入力されること
がないので、データ付加・削除機構部154がデータ付
加処理を実行している間もパケット処理を停止すること
がない。データ付加・削除機構部154は、図12に示
したデータ付加・削除機構部112の構成と異なること
はなく、図12中のバッファ122が不足しそうになる
と、バックプレッシャ信号線92をアサートする。しか
し、バックプレッシャ信号線92がパケットデータ処理
プロセッサ152#iには入力されずに、バッファ15
0に入力されるので、パケットデータ処理プロセッサ1
52#iの動作は停止しないため、パケットデータ処理
プロセッサ152#iにあるパケットデータは、バック
プレッシャ信号線92をアサートしている間にも入力さ
れる。
The packet data processor 152 # i (i = 1 to 1) at a stage prior to the data addition / deletion mechanism 154
In B), since the back pressure signal line 92 is not input, the packet processing does not stop even while the data addition / deletion mechanism unit 154 is executing the data addition processing. The data addition / deletion mechanism 154 does not differ from the configuration of the data addition / deletion mechanism 112 shown in FIG. 12, and asserts the back pressure signal line 92 when the buffer 122 in FIG. However, the back pressure signal line 92 is not input to the packet data processor
0, the packet data processor 1
Since the operation of 52 # i does not stop, the packet data in the packet data processor 152 # i is also input while the back pressure signal line 92 is being asserted.

【0070】よって、バックプレッシャ信号線92をア
サートしたとき、パケットデータ処理プロセッサ152
#iにあるパケットがすべて入力されても図12中と同
様に構成される伸縮バッファがあふれないだけのバッフ
ァの空き容量がなければならない。バックプレッシャ信
号線92をアサートすることにより、伸縮バッファに十
分な空きが生じたとき、データ付加・削除機構部154
は、バッファ150にパケットの入力再開をするべくバ
ックプレッシャ信号線92をネゲートする。以下、図2
0のパケットデータ処理装置140の動作説明をする。
Therefore, when the back pressure signal line 92 is asserted, the packet data processor 152
Even if all the packets in #i are input, there must be enough free space in the buffer that does not overflow the expandable buffer configured as in FIG. By asserting the back pressure signal line 92, the data addition / deletion mechanism 154 is provided when a sufficient space is generated in the expansion / contraction buffer.
Negates the back pressure signal line 92 to restart the input of the packet to the buffer 150. Hereinafter, FIG.
The operation of the packet data processing device 140 of 0 will be described.

【0071】(1) 受信インタフェースカード142
#iの動作 各受信インタフェースカード142#i中の受信インタ
フェース部70#i、前段処理部72#iは、第1実施
形態と同様に動作する。
(1) Receiving interface card 142
Operation of #i The reception interface unit 70 # i and the pre-processing unit 72 # i in each reception interface card 142 # i operate in the same manner as in the first embodiment.

【0072】(a) パケットデータの書き込み・読み
込み バッファ150は、クロックに同期してパケットデータ
及び中間データを入力して、FIFOメモリに順次書き
込む。バックプレッシャ信号線92がネゲートされてい
るとき、FIFOメモリに保持されたパケットデータ及
び中間データを読み込み、次段のパケットデータ処理プ
ロセッサ群に出力する。
(A) Writing / reading of packet data The buffer 150 receives the packet data and the intermediate data in synchronization with the clock and sequentially writes the data into the FIFO memory. When the back pressure signal line 92 is negated, the packet data and the intermediate data held in the FIFO memory are read and output to the packet data processor group at the next stage.

【0073】(b) データ付加・削除の判断 データ付加・削除機構部150よりも前段のパケットデ
ータ処理プロセッサ152#1,…,152#Bは、図
3中のパケットデータ処理プロセッサ90#Aよりも前
段のパケット処理プロセッサ90#1,…,90#Cと
同様の処理を行う。パケットデータ処理プロセッサ15
2#Bは、パケットデータ処理プロセッサ90#Bと同
様に、パケットに対してデータを付加・削除する処理を
行うか否かをパケットのヘッダより判断して、データ付
加・削除に関わる中間データを中間データレジスタに書
き込む。
(B) Judgment of Data Addition / Deletion Packet data processors 152 # 1,..., 152 # B at a stage prior to the data addition / deletion mechanism 150 are transmitted from the packet data processor 90 # A in FIG. , 90 # C perform the same processing as that of the preceding packet processor 90 # 1,. Packet data processor 15
2 # B, similarly to the packet data processor 90 # B, determines whether or not to perform processing for adding / deleting data to a packet from the header of the packet, and determines intermediate data related to data addition / deletion. Write to the intermediate data register.

【0074】(c) データ付加・削除機構部154の
動作 データ付加・削除機構部154は、第2実施形態と同様
のデータ付加・削除処理を行う。データ伸張をすると
き、図12中のバッファ122と同様に構成されたバッ
ファが不足しそうになると、バックプレッシャ信号線9
2をアサートする。このとき、バックプレッシャ信号線
92がパケットデータ処理プロセッサ152#iには入
力されずに、バッファ150に入力されるので、パケッ
トデータ処理プロセッサ152#i(i=1,2,…,
B)は停止しないため、データ付加・削除機構部154
がバックプレッシャ信号線92をアサートしている間に
も、パケットデータ処理プロセッサ152#i(i=
1,2,…,B)にあるパケットデータはバックプレッ
シャ信号線92をアサートしている間にもデータ付加・
削除機構部150は停止することなく動作する。
(C) Operation of the data addition / deletion mechanism 154 The data addition / deletion mechanism 154 performs the same data addition / deletion processing as in the second embodiment. At the time of data expansion, if the buffer configured similarly to the buffer 122 in FIG.
Assert 2. At this time, since the back pressure signal line 92 is not input to the packet data processor 152 # i but is input to the buffer 150, the packet data processor 152 # i (i = 1, 2,...,
Since B) does not stop, the data addition / deletion mechanism unit 154
Also asserts the back pressure signal line 92 while the packet data processor 152 # i (i =
The packet data in (1, 2,..., B) is added with data while the back pressure signal line 92 is asserted.
The deletion mechanism 150 operates without stopping.

【0075】パケットデータ処理プロセッサ152#i
が停止しないということは、例えば、ある命令実行後2
クロック過ぎたときに外部からデータが渡され、そのデ
ータを元にパケットデータ処理プロセッサ152#iが
処理を行うといったようなある処理から固定クロック後
に必ずある処理を行わなければならないので、パケット
データ処理プロセッサ152#iが停止できない。この
ような場合にもパケットデータの付加処理が可能にな
る。そして、バックプレッシャ信号線92をアサートす
ることにより、バッファ122に十分な空きが生じたと
き、データ付加・削除機構部154は、バッファ150
にパケットの入力再開をするべくバックプレッシャ信号
線92をネゲートする。尚、この実施形態では構成とし
てバックプレッシャに対応するバッファ150をパケッ
トデータ処理プロセッサ群144#i中に持つとした
が、前段処理部72#iがバッファを持つ構成である場
合には前段処理部72#iがバッファ150の機能を兼
ねても良い。
Packet data processor 152 # i
Does not stop, for example, after executing an instruction,
Since data is passed from the outside when the clock passes, certain processing must be performed after a fixed clock from certain processing such as processing performed by the packet data processor 152 # i based on the data. Processor 152 # i cannot be stopped. In such a case, the packet data can be added. Then, by asserting the back pressure signal line 92, when a sufficient space is generated in the buffer 122, the data addition / deletion mechanism unit 154 causes the buffer 150
Then, the back pressure signal line 92 is negated in order to restart the input of the packet. In this embodiment, the buffer 150 corresponding to the back pressure is included in the packet data processor group 144 # i as a configuration. However, if the pre-processing unit 72 # i has a buffer, the pre-processing unit 72 # i may also have the function of the buffer 150.

【0076】本発明は以下の付記を含むものである。The present invention includes the following supplementary notes.

【0077】(付記1) それぞれが入力されたパケッ
トに対して処理をして後段に出力するパイプライン構成
された複数のパケットデータ処理部から構成されるパケ
ットデータ処理群を有するパケットデータ処理装置にお
いて、入力されたパケットに前記付加すべきデータを付
加する前記パケットデータ処理群中の第1パケットデー
タ処理部に設けられたデータ付加部と、前記データ付加
部がデータ付加処理をしている間は、前記第1パケット
データ処理部の前段にパケットの出力の停止を指示し、
前記データ付加部がデータ付加処理終了後、前記第1パ
ケットデータ処理部の前段にパケットの出力を再開する
よう指示する制御部と、を具備したことを特徴とするパ
ケットデータ処理装置。
(Supplementary Note 1) In a packet data processing apparatus having a packet data processing group composed of a plurality of packet data processing units having a pipeline configuration, each of which processes an input packet and outputs the processed packet to a subsequent stage. A data addition unit provided in a first packet data processing unit in the packet data processing group for adding the data to be added to an input packet; and a data addition unit performing data addition processing. , Instructing the preceding stage of the first packet data processing unit to stop outputting packets,
A packet data processing device, comprising: a control unit for instructing to restart outputting a packet at a stage preceding the first packet data processing unit after the data adding unit ends the data adding process.

【0078】(付記2) 前記制御部は、前記第1パケ
ットデータ処理部の前段の全てのパケットデータ処理部
に対してパケットの出力の停止及び再開を指示し、前記
第1パケットデータ処理部の前段のパケッデータ処理部
は、前記制御部からの指示に基づいてパケットの出力の
停止及び再開をすることを特徴とする付記1記載のパケ
ットデータ処理装置。
(Supplementary Note 2) The control unit instructs all of the packet data processing units preceding the first packet data processing unit to stop and restart the output of the packet. The packet data processing device according to claim 1, wherein the packet data processing unit at the preceding stage stops and restarts the output of the packet based on an instruction from the control unit.

【0079】(付記3) 前記第1パケットデータ処理
部の前段の前記パケットデータ処理群中の第2パケット
データ処理部は、入力されたパケットに基づいてデータ
を付加する必要が有るか否かを判断する判断部と、前記
判断部がデータを付加する必要が有ると判断したとき、
入力されたパケットに基づいて、付加データ、付加デー
タ長及び付加位置を算出して、後段に出力する付加情報
生成部とを更に具備し、前記データ付加部は、前記付加
データ、付加データ長及び付加位置に基づいて、データ
を付加することを特徴とする付記1記載のパケットデー
タ処理装置。
(Supplementary Note 3) The second packet data processing unit in the packet data processing group preceding the first packet data processing unit determines whether it is necessary to add data based on the input packet. A determining unit for determining, when the determining unit determines that it is necessary to add data,
An additional information generation unit that calculates additional data, an additional data length and an additional position based on the input packet, and outputs the additional data to a subsequent stage, wherein the data adding unit includes the additional data, the additional data length and The packet data processing device according to claim 1, wherein data is added based on the addition position.

【0080】(付記4) 前記データ付加部は、プロセ
ッサ、前記パケットを保持する第1ビット幅の第1段数
の第1シフトレジスタ、前記付加データ、前記付加デー
タ長及び前記付加位置を保持する第2ビット幅の第2段
数の第2シフトレジスタを有し、前記付加位置よりも後
ろに位置するパケットデータを前記付加データ長に基づ
き前記第1シフトレジスタのシフト動作の停止及び前記
第1シフトレジスタの所定レジスタに前記付加データを
書き込むことによりデータ付加を行うことを特徴とする
付記3記載のパケットデータ処理装置。
(Supplementary Note 4) The data adding unit includes a processor, a first shift register having a first number of stages having a first bit width to hold the packet, a second data to hold the additional data, the additional data length, and the additional position. A second shift register having a second stage number of 2 bits, and stopping packet operation of the first shift register based on the additional data length and stopping the shift operation of the first shift register based on the additional data length; 4. The packet data processing device according to claim 3, wherein the data addition is performed by writing the additional data to a predetermined register.

【0081】(付記5) それぞれが入力されたパケッ
トに対して処理をして後段に出力するパイプライン構成
された複数のパケットデータ処理部から構成されるパケ
ットデータ処理群を有するパケットデータ処理装置にお
いて、前記パケットデータ処理群中の第1パケットデー
タ処理部に設けられた所定データバス幅の第1メモリ
と、入力されたパケットを前記第1メモリに書き込み、
パケットの先頭からデータを前記第1メモリより読み込
み前記データバス幅単位に順次出力し、前記付加位置の
データが含まれる前記データバス幅単位のデータを前記
データ付加長及び前記付加位置に基づいて繰り返して出
力する前記第1パケットデータ処理部に設けられたメモ
リ制御部と、前記データバス幅、前記付加位置及び前記
付加データ長に基づき、前記第1メモリからデータバス
幅単位に出力されるパケットの先頭データから付加位置
までのデータについては、そのまま出力し、前記付加位
置から付加データ長よりも後のデータについては、削除
するべきデータ長だけ後のデータを選択して出力する前
記第1パケットデータ処理部に設けられたリオーダ部
と、前記リオーダ部より出力されるパケットの付加位置
にあるデータを付加データで上書きする前記第1パケッ
トデータ処理部に設けられたライト部と、前記メモリの
空きが足りなくなったとき、前記第1パケットデータ処
理部の前段側にパケットの出力の停止を指示し、前記メ
モリの空きが確保されたとき、前記第1パケットデータ
処理部の前段側にパケットの出力を再開するよう指示す
る制御部と、を具備したことを特徴とするパケットデー
タ処理装置。
(Supplementary Note 5) In a packet data processing apparatus having a packet data processing group composed of a plurality of packet data processing units having a pipeline structure, each of which processes an input packet and outputs the processed packet to a subsequent stage. Writing a first memory of a predetermined data bus width provided in a first packet data processing unit in the packet data processing group and an input packet to the first memory;
Data is read from the first memory from the beginning of the packet and sequentially output in the data bus width unit, and the data in the data bus width unit including the data at the addition position is repeated based on the data addition length and the addition position. A memory control unit provided in the first packet data processing unit for outputting a packet output from the first memory in data bus width units based on the data bus width, the additional position, and the additional data length. For the data from the leading data to the additional position, the data is output as it is, and for the data after the additional data length from the additional position, the first packet data that selects and outputs the data that is the data length to be deleted is output. Adds the data at the reordering unit provided in the processing unit and the position where the packet output from the reordering unit is added A write unit provided in the first packet data processing unit for overwriting with the data, and instructing a preceding stage of the first packet data processing unit to stop outputting a packet when the memory becomes insufficient. A packet data processing device, comprising: a control unit for instructing a stage preceding the first packet data processing unit to restart packet output when the memory space is secured.

【0082】(付記6) 前記パケットデータ処理群の
初段のパケットデータ処理部の前段にパケットデータを
蓄積し、パケットの先頭から順次出力する第2メモリを
更に設け、前記制御部は、前記第2メモリにパケットの
出力の停止及び再開を指示することを特徴とする付記5
記載のパケットデータ処理装置。
(Supplementary Note 6) A second memory for accumulating packet data at a stage preceding the packet data processing unit at the first stage of the packet data processing group and sequentially outputting the packet data from the beginning of the packet is further provided. Supplementary note 5 characterized by instructing the memory to stop and restart packet output.
The packet data processing device as described in the above.

【0083】[0083]

【発明の効果】以上説明した本発明によれば、必要なと
きにパケットデータにデータを付加する処理を行うパケ
ットデータ処理部よりも前段のパケットデータ処理部に
対してパケットの入力を制限する手法を取ることによっ
ても、パケットの高速処理を損なうことなく、ヘッダの
付加のようにパケットの全長が長くなる処理が可能であ
る。
According to the present invention described above, a method for restricting the input of a packet to a packet data processing unit prior to a packet data processing unit for performing a process of adding data to packet data when necessary. By doing so, processing that increases the total length of the packet, such as adding a header, is possible without impairing the high-speed processing of the packet.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の原理図である。FIG. 1 is a principle diagram of the present invention.

【図2】本発明の第1実施形態によるパケットデータ処
理装置の構成図である。
FIG. 2 is a configuration diagram of a packet data processing device according to the first embodiment of the present invention.

【図3】図2中のパケットデータ処理プロセッサ群の構
成図である。
FIG. 3 is a configuration diagram of a packet data processing processor group in FIG. 2;

【図4】図3中のパケットデータ処理プロセッサAの構
成図である。
4 is a configuration diagram of a packet data processor A in FIG. 3;

【図5】図3中のパケットデータ処理プロセッサBの構
成図である。
FIG. 5 is a configuration diagram of a packet data processor B in FIG. 3;

【図6】データ付加の判断後のパケットデータ処理プロ
セッサAの状態を示す図である。
FIG. 6 is a diagram showing a state of the packet data processor A after data addition is determined;

【図7】2クロック後のパケットデータ処理プロセッサ
Aの状態を示す図である。
FIG. 7 is a diagram showing a state of the packet data processor A after two clocks.

【図8】データ移動後のパケットデータ処理プロセッサ
Aの状態を示す図である。
FIG. 8 is a diagram showing a state of the packet data processor A after data movement.

【図9】本発明の第2実施形態によるパケットデータ処
理装置の構成図である。
FIG. 9 is a configuration diagram of a packet data processing device according to a second embodiment of the present invention.

【図10】図9中のパケットデータ処理プロセッサ群の
構成図である。
FIG. 10 is a configuration diagram of a packet data processing processor group in FIG. 9;

【図11】図10中のパケットデータ処理プロセッサの
構成図である。
FIG. 11 is a configuration diagram of a packet data processor in FIG. 10;

【図12】図10中のデータ付加・削除機構部の構成図
である。
12 is a configuration diagram of a data addition / deletion mechanism unit in FIG.

【図13】図12中のリオーダ部の構成図である。13 is a configuration diagram of a reorder unit in FIG.

【図14】バス幅単位のデータ伸長動作を示す図であ
る。
FIG. 14 is a diagram illustrating a data decompression operation in units of a bus width.

【図15】データ付加時のリオーダ部の動作を示す図で
ある。
FIG. 15 is a diagram illustrating the operation of the reorder unit when data is added.

【図16】バス幅単位のデータ収縮動作を示す図であ
る。
FIG. 16 is a diagram illustrating a data contraction operation in units of a bus width.

【図17】バス幅単位のデータ収縮動作を示す図であ
る。
FIG. 17 is a diagram illustrating a data contraction operation in units of a bus width.

【図18】データ削除時のリオーダ部の動作を示す図で
ある。
FIG. 18 is a diagram illustrating the operation of the reorder unit when data is deleted.

【図19】データ削除時のリオーダ部の動作を示す図で
ある。
FIG. 19 is a diagram illustrating the operation of the reorder unit when data is deleted.

【図20】本発明の第3実施形態によるパケットデータ
処理装置の構成図である。
FIG. 20 is a configuration diagram of a packet data processing device according to a third embodiment of the present invention.

【図21】図20中のパケットデータ処理プロセッサ群
の構成図である。
FIG. 21 is a configuration diagram of a packet data processing processor group in FIG. 20;

【図22】従来のストアアンドフォワードによるパケッ
ト処理方式を示す図である。
FIG. 22 is a diagram showing a conventional packet processing method based on store and forward.

【図23】パケットデータ処理プロセッサの構成図であ
る。
FIG. 23 is a configuration diagram of a packet data processing processor.

【図24】パケットデータ処理プロセッサを複数個並べ
たハードウェア構成を示す図である。
FIG. 24 is a diagram illustrating a hardware configuration in which a plurality of packet data processors are arranged.

【図25】2つのプライベートネットワーク間を共有ネ
ットワークにより接続したネットワーク構成を示す図で
ある。
FIG. 25 is a diagram showing a network configuration in which two private networks are connected by a shared network.

【図26】データ付加削除前のパケットデータ処理プロ
セッサの状態を示す図である。
FIG. 26 is a diagram illustrating a state of the packet data processor before data addition and deletion;

【図27】パケットが密接しているときのシフトレジス
タの状態を示す図である。
FIG. 27 is a diagram illustrating a state of a shift register when packets are close to each other.

【符号の説明】[Explanation of symbols]

50#i(i=1,2,…) パケットデータ処理部 50#A 第1パケットデータ処理部 52 パケットデータ処理群 54 データ付加部 56 制御部 50 # i (i = 1, 2,...) Packet data processing unit 50 # A First packet data processing unit 52 Packet data processing group 54 Data addition unit 56 Control unit

───────────────────────────────────────────────────── フロントページの続き (72)発明者 阿比留 健一 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 小島 祐治 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5K030 GA01 HA08 JA05 KA13 KX04 KX12 KX13 LE11 MB11  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Kenichi Abiru 4-1-1, Kamikodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Prefecture Inside Fujitsu Limited (72) Inventor Yuji Kojima 4-1-1, Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa No. 1 F-term in Fujitsu Limited (reference) 5K030 GA01 HA08 JA05 KA13 KX04 KX12 KX13 LE11 MB11

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 それぞれが入力されたパケットに対して
処理をして後段に出力するパイプライン構成された複数
のパケットデータ処理部から構成されるパケットデータ
処理群を有するパケットデータ処理装置において、 入力されたパケットにデータを付加する前記パケットデ
ータ処理群中の第1パケットデータ処理部に設けられた
データ付加部と、 入力されたパケットにデータを付加するとき、当該付加
対象パケットの前パケットとの間隔を少なくとも付加デ
ータ長分確保するために、前記第1パケットデータ処理
部の前段のパケットデータ処理部にパケットの出力の停
止を指示し、前パケットとの間隔が確保されると、前記
第1パケットデータ処理部の前段のパケットデータ処理
部にパケットの出力を再開するよう指示する制御部と、 を具備したことを特徴とするパケットデータ処理装置。
1. A packet data processing apparatus having a packet data processing group including a plurality of pipelined packet data processing units for processing input packets and outputting the processed packets to a subsequent stage. A data adding unit provided in the first packet data processing unit in the packet data processing group for adding data to the input packet, and a data adding unit for adding data to the input packet. In order to secure the interval at least for the additional data length, the packet data processing unit in the preceding stage of the first packet data processing unit is instructed to stop outputting the packet. A control unit for instructing the packet data processing unit preceding the packet data processing unit to restart outputting the packet; A packet data processing device comprising:
【請求項2】 前記第1パケットデータ処理部の前段の
前記パケットデータ処理群中の第2パケットデータ処理
部は、入力されたパケットに基づいてデータを付加する
必要が有るか否かを判断する判断部と、前記判断部がデ
ータを付加する必要が有ると判断したとき、入力された
パケットに基づいて、付加データ、付加データ長及び付
加位置を算出して、後段に出力する付加情報生成部とを
更に具備し、前記データ付加部は、前記付加データ、付
加データ長及び付加位置に基づいて、データを付加する
ことを特徴とする請求項1記載のパケットデータ処理装
置。
2. A second packet data processing unit in the packet data processing group preceding the first packet data processing unit determines whether data needs to be added based on an input packet. A determination unit, and when the determination unit determines that it is necessary to add data, calculates an additional data, an additional data length and an additional position based on the input packet, and outputs an additional information to a subsequent stage. 2. The packet data processing apparatus according to claim 1, further comprising: a data adding unit that adds data based on the additional data, the additional data length, and the additional position.
【請求項3】 前記データ付加部は、プロセッサ、前記
パケットを保持する第1ビット幅の第1段数の第1シフ
トレジスタ、前記付加データ、前記付加データ長及び前
記付加位置を保持する第2ビット幅の第2段数の第2シ
フトレジスタを有し、前記付加データ長に基づき前記付
加位置よりも後ろに位置するパケットデータを格納する
第1シフトレジスタのシフト動作の停止及び前記第1シ
フトレジスタに前記付加データの書き込みを前記プロセ
ッサが実施することによりデータ付加を行うことを特徴
とする請求項2記載のパケットデータ処理装置。
3. The data adding unit includes a processor, a first shift register having a first bit width and a first number of stages for holding the packet, a second bit for holding the additional data, the additional data length, and the additional position. A second shift register having a second number of stages having a width, the shift operation of the first shift register storing packet data located after the additional position being stopped based on the additional data length, and the first shift register 3. The packet data processing device according to claim 2, wherein data addition is performed by the processor performing writing of the additional data.
【請求項4】 それぞれが入力されたパケットに対して
処理をして後段に出力するパイプライン構成された複数
のパケットデータ処理部から構成されるパケットデータ
処理群を有するパケットデータ処理装置において、 前記パケットデータ処理群中の第1パケットデータ処理
部に設けられた所定データバス幅の第1メモリと、 入力されたパケットを前記第1メモリに書き込み、パケ
ットの先頭からデータを前記第1メモリより読み込み前
記データバス幅単位に順次出力し、前記付加位置のデー
タが含まれる前記データバス幅単位のデータを前記デー
タ付加長及び前記付加位置に基づいて繰り返して出力す
る前記第1パケットデータ処理部に設けられたメモリ制
御部と、 前記データバス幅、前記付加位置及び前記付加データ長
に基づき、前記第1メモリからデータバス幅単位に出力
されるパケットの先頭データから付加位置までのデータ
については、そのまま出力し、前記付加位置から付加デ
ータ長よりも後のデータについては、削除するべきデー
タ長だけ後のデータを選択して出力する前記第1パケッ
トデータ処理部に設けられたリオーダ部と、 前記リオーダ部より出力されるパケットの付加位置にあ
るデータを付加データで上書きする前記第1パケットデ
ータ処理部に設けられたライト部と、 前記第1メモリの空きが足りなくなったとき、前記第1
パケットデータ処理部の前段側にパケットの出力の停止
を指示し、前記第1メモリの空きが確保されたとき、前
記第1パケットデータ処理部の前段側にパケットの出力
を再開するよう指示する制御部と、 を具備したことを特徴とするパケットデータ処理装置。
4. A packet data processing device having a packet data processing group composed of a plurality of packet data processing units having a pipeline configuration, each of which processes an input packet and outputs the processed packet to a subsequent stage, A first memory having a predetermined data bus width provided in a first packet data processing unit in a packet data processing group; an input packet written to the first memory; and data read from the first memory from the beginning of the packet The first packet data processing unit is configured to sequentially output the data in the data bus width unit and repeatedly output the data in the data bus width unit including the data at the addition position based on the data addition length and the addition position. The memory control unit based on the data bus width, the additional position, and the additional data length. The data from the head data of the packet output from one memory in data bus width units to the additional position is output as it is, and the data after the additional data length from the additional position is shifted by the data length to be deleted. A reorder unit provided in the first packet data processing unit for selecting and outputting the data of the first packet data unit; and a first packet data processing unit for overwriting data at an addition position of a packet output from the reorder unit with additional data And a write unit provided in the first memory, when the first memory becomes insufficient,
Control for instructing the previous stage of the packet data processing unit to stop outputting the packet, and instructing the previous stage of the first packet data processing unit to restart the output of the packet when the space in the first memory is secured. A packet data processing device, comprising:
【請求項5】 パケットデータを蓄積し、パケットの先
頭から順次出力する第2メモリを前記パケットデータ処
理群の初段のパケットデータ処理部の前段に更に設け、
前記制御部は、前記第2メモリにパケットの出力の停止
及び再開を指示することを特徴とする請求項4記載のパ
ケットデータ処理装置。
5. A second memory for accumulating packet data and sequentially outputting the packet data from the beginning of the packet is further provided before the first packet data processing unit of the packet data processing group,
The packet data processing device according to claim 4, wherein the control unit instructs the second memory to stop and restart the output of the packet.
JP2001039392A 2001-02-16 2001-02-16 Packet data processing device Expired - Fee Related JP4183920B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001039392A JP4183920B2 (en) 2001-02-16 2001-02-16 Packet data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001039392A JP4183920B2 (en) 2001-02-16 2001-02-16 Packet data processing device

Publications (2)

Publication Number Publication Date
JP2002247095A true JP2002247095A (en) 2002-08-30
JP4183920B2 JP4183920B2 (en) 2008-11-19

Family

ID=18902189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001039392A Expired - Fee Related JP4183920B2 (en) 2001-02-16 2001-02-16 Packet data processing device

Country Status (1)

Country Link
JP (1) JP4183920B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013134557A (en) * 2011-12-26 2013-07-08 Canon Inc Data transfer device and data transfer method
WO2013157582A1 (en) * 2012-04-18 2013-10-24 日本電気株式会社 Design assistance device, design assistance method and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013134557A (en) * 2011-12-26 2013-07-08 Canon Inc Data transfer device and data transfer method
US9298656B2 (en) 2011-12-26 2016-03-29 Canon Kabushiki Kaisha Data transferring apparatus and data transferring method
WO2013157582A1 (en) * 2012-04-18 2013-10-24 日本電気株式会社 Design assistance device, design assistance method and program
JPWO2013157582A1 (en) * 2012-04-18 2015-12-21 日本電気株式会社 Design support apparatus, design support method, and program

Also Published As

Publication number Publication date
JP4183920B2 (en) 2008-11-19

Similar Documents

Publication Publication Date Title
US7239635B2 (en) Method and apparatus for implementing alterations on multiple concurrent frames
JP2002057698A (en) Packet data processor
JP5304194B2 (en) Barrier synchronization apparatus, barrier synchronization system, and control method of barrier synchronization apparatus
US6147996A (en) Pipelined multiple issue packet switch
US8085780B1 (en) Optimized buffer loading for packet header processing
US20110142070A1 (en) Systems and methods for handling packet fragmentation
US20100265967A1 (en) Packet fragment handling
JP4203979B2 (en) Packet processing device
US20070183425A1 (en) Logical separation and accessing of descriptor memories
EP2198570A1 (en) High performance network adapter (hpna)
US7224701B2 (en) Method and apparatus for implementing frame header alterations using byte-wise arithmetic logic units
JP2003092591A (en) Packet processing processor and packet processor system
JP2003196086A (en) Register file by register window system and its control method
US7158520B1 (en) Mailbox registers for synchronizing header processing execution
JP2002247095A (en) Packet data processor
JP3742250B2 (en) Packet data processing apparatus and packet relay apparatus using the same
JPH04312152A (en) Network input/output device
JP2009301101A (en) Inter-processor communication system, processor, inter-processor communication method and communication method
EP3588319B1 (en) Memory module
EP1211603B1 (en) Interface for multi-processor
JPH0887441A (en) Flash memory access system
JP2778520B2 (en) Multicast method and switching switch
JP2826490B2 (en) Vector data processing device
JPH10111798A (en) Information processor
JP2003298601A (en) Packet sorting apparatus, overflow processing method, program and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060721

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080821

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080902

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080903

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees