(57)【特許請求の範囲】
【請求項１】
パケットの処理を行うパケット処理装置において、
パケットを入力するパケット入力手段と、プロセッサ内部の情報を内部情報として引き継ぎ制御する内部情報引き継ぎ手段と、前記内部情報にもとづいて、入力したパケットを演算処理するパケット演算手段と、演算後のパケットを出力するパケット出力手段と、から構成される複数のパケット処理プロセッサと、
前記パケット処理プロセッサを直列接続する通信ラインと、
を有し、
前記内部情報引き継ぎ手段は、パケットの演算処理が終了する前の所定のタイミングで、後段のパケット処理プロセッサに対する前記内部情報の引き継ぎを行う、
ことを特徴とするパケット処理装置。
【請求項２】
前記内部情報引き継ぎ手段は、前記内部情報として、状態フラグの値を引き継ぐことを特徴とする請求項１記載のパケット処理装置。
【請求項３】
前記内部情報引き継ぎ手段は、前記内部情報として、パケット処理プログラムを格納するプログラムバンクの番地情報を引き継ぐことを特徴とする請求項１記載のパケット処理装置。
【請求項４】
前記内部情報引き継ぎ手段は、前記内部情報として、ローカルレジスタに格納された演算結果を引き継ぐことを特徴とする請求項１記載のパケット処理装置。
【請求項５】
前記内部情報引き継ぎ手段は、前記内部情報を選択的に引き継ぐことを特徴とする請求項１記載のパケット処理装置。
【請求項６】
パケットの処理を行うパケット処理プロセッサにおいて、
パケットを入力するパケット入力手段と、
プロセッサ内部の情報を内部情報として引き継ぎ制御する内部情報引き継ぎ手段と、
前記内部情報にもとづいて、入力したパケットを演算処理するパケット演算手段と、
演算後のパケットを出力するパケット出力手段と、
を有し、
前記内部情報引き継ぎ手段は、パケットの演算処理が終了する前の所定のタイミングで、前記パケット処理プロセッサと接続された他のパケット処理プロセッサに対する前記内部情報の引き継ぎを行う、
ことを特徴とするパケット処理プロセッサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット処理装置に関し、特に通信ネットワークに対するパケットの処理を行うパケット処理装置に関する。
【０００２】
【従来の技術】
近年、コンピュータや様々な情報処理機器が、ネットワークにより相互接続し、通信システムの規模は拡大している。通信システムを構築するネットワークで現在主流なのは、ＩＰ（Internet Protocol）によるネットワークである。ＩＰは、ネットワーク層に相当するコネクションレス型のプロトコルである。
【０００３】
ＩＰネットワークにおけるパケット処理は、パケットヘッダのチェックサムの計算、宛先テーブルの検索、パケットヘッダ書き換え等のパケットを中継するのに必要な処理に加え、ネットワークにおける通信を制限するためのパケットフィルタリングの実装が求められる。
【０００４】
これらの処理は、専用のハードウェアで行うには煩雑であるうえ、プロトコル自体の改訂に伴う処理手順の変更もありうるため、従来ではプロセッサによってソフトウェア処理するのが一般的であった。
【０００５】
例えば、プロセッサとメモリをバスによって接続し、プロセッサがメモリ内に格納したプログラムのソフトウェア処理を行うことによって、パケット処理を実行する。
【０００６】
しかし、こうしたパケット処理では、メモリへの読み出し／書き込みといったメモリへのアクセスが生じるためにオーバヘッドが増加し、さらにメモリ自身のアクセス帯域幅の制限により、パケット処理の高速化が困難であった。
【０００７】
そこで、特願平１１−１５８５１４号公報では、パケットデータを直接取り込むレジスタであるパケットアクセスレジスタをプロセッサ内に設け、このパケット処理プロセッサを、複数直列に接続している。
【０００８】
これにより、前段のパケット処理プロセッサのパケット処理結果出力を、次のパケット処理プロセッサのデータ入力とすることにより、１つのパケットはパイプライン処理で実行される。
【０００９】
このようなパイプライン処理系を構成することにより、従来のプロセッサとメモリを接続した構成よりも、効率的にパケット処理を行うことができる。
【００１０】
【発明が解決しようとする課題】
しかし、上記のような従来技術では、パケット入出力部を持つプロセッサを直列に接続し、パケット処理を複数に分割して実行しても、接続したプロセッサ数に見合った性能向上は望めないといった問題があった。
【００１１】
パケット処理を複数に分割して実行した場合、処理途中の状態を、前段側プロセッサから後段側プロセッサへと引き継ぐことが必要であるが、従来技術では、この引き継ぐ情報をパラメータの形で行っていた。したがって、前段側プロセッサでは、パラメータを生成する処理が、また後段側プロセッサでは、そのパラメータを解釈して判定する処理が必要とされていた。
【００１２】
例えば、パケットのプロトコルタイプに応じて、対応する処理を分ける場合、パケットヘッダを解析してプロトコルタイプを判定する処理と、特定プロトコルに対して実行すべき処理と、をそれぞれ別プロセッサに分割する。
【００１３】
すると、前段側プロセッサでは、プロトコル判定結果にもとづく値をパラメータに変換して後段側へ送信し、後段側プロセッサでは、そのパラメータを自身が処理対象とするプロトコルを示しているか否かを比較判定する処理が発生する。
【００１４】
このような処理オーバヘッドは、所要スループットが高くなれば、高くなるほど厳しくなる。例えば、処理が５ステップとしたとき、各プロセッサの許容処理時間が命令ステップ数換算で１００ステップである場合は、オーバヘッドは５％に過ぎないが、許容処理時間が１０ステップになると５０％に達し、さらに高いスループットを求められる場合は、事実上オーバヘッドとなる処理が大半になってしまう。
【００１５】
したがって、処理プロセッサをパイプライン構成に配備し、実行すべき処理を複数の処理ステージに分割して、１プロセッサあたりの処理量を抑制しようとしても、従来技術のように、プロセッサ間での情報のやりとりをパラメータという一般化した形で行っていると、上述のようにオーバヘッドが増加してしまう。
【００１６】
本発明はこのような点に鑑みてなされたものであり、オーバヘッドを抑制し、パケットの高速処理を可能にしたパケット処理装置を提供することを目的とする。
【００１７】
【課題を解決するための手段】
本発明では上記課題を解決するために、図１に示すような、パケットの処理を行うパケット処理装置１において、パケットを入力するパケット入力手段１１と、プロセッサ内部の情報を内部情報として引き継ぎ制御する内部情報引き継ぎ手段１２と、内部情報にもとづいて、入力したパケットを演算処理するパケット演算手段１３と、演算後のパケットを出力するパケット出力手段１４と、から構成される複数のパケット処理プロセッサ１０−１〜１０−ｋ〜１０−ｎと、パケット処理プロセッサ１０−１〜１０−ｋ〜１０−ｎを直列接続する通信ラインＬと、を有し、内部情報引き継ぎ手段１２は、パケットの演算処理が終了する前の所定のタイミングで、後段のパケット処理プロセッサに対する内部情報の引き継ぎを行う、ことを特徴とするパケット処理装置１が提供される。
【００１８】
ここで、パケット入力手段１１は、パケットを入力する。内部情報引き継ぎ手段１２は、プロセッサ内部の情報を内部情報として引き継ぎ制御する。パケット演算手段１３は、内部情報にもとづいて、入力したパケットを演算処理する。パケット出力手段１４は、演算後のパケットを出力する。通信ラインＬは、パケット処理プロセッサ１０−１〜１０−ｋ〜１０−ｎを直列接続する。なお、内部情報引き継ぎ手段１２は、パケットの演算処理が終了する前の所定のタイミングで、後段のパケット処理プロセッサに対する内部情報の引き継ぎを行う。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。図１は本発明のパケット処理装置の原理図である。パケット処理装置１は、パケット処理プロセッサ１０−１〜１０−ｋ〜１０−ｎを含み、パケット処理プロセッサ１０−１〜１０−ｋ〜１０−ｎは、通信ラインＬで直列（縦列）接続して、パイプライン処理構成をとる。
【００２０】
パケット処理プロセッサ１０−１〜１０−ｋ〜１０−ｎ（総称する場合は、パケット処理プロセッサ１０）に対し、パケット入力手段１１は、パケットを入力する。
【００２１】
内部情報引き継ぎ手段１２は、プロセッサ内部の情報を内部情報として引き継ぎ制御する。すなわち、前段側のパケット処理プロセッサから送信された内部情報を受信して引き継ぎ、また自己のプロセッサの内部情報を後段側のパケット処理プロセッサへ送信する。
【００２２】
なお、ここでの内部情報とは、従来技術のような、内部状態を一旦変換して生成したパラメータではなく、パケット処理プロセッサの内部実行状態そのままを示す情報のことである。本発明ではこのような内部情報をプロセッサ間で引き継ぐため、パラメータの生成処理やパラメータの解釈判定処理等が不要となり、オーバヘッドを削減することができる。
【００２３】
パケット演算手段１３は、前段側から送信された内部情報にもとづいて、入力したパケットを演算処理する。パケット出力手段１４は、演算後のパケットを後段側へ出力する。
【００２４】
なお、図中、内部情報Ｄａは、前段側から送信された内部情報である。内部情報Ｄｂは、後段側へ送信する、パケット処理プロセッサ１０の内部実行状態を示す内部情報である。パケットＰａは、前段側で処理されたパケットである。パケットＰｂは、後段側へ送信する、パケット処理プロセッサ１０で処理されたパケットである。
【００２５】
次に本発明のパケット処理装置１を搭載する装置例としてスイッチング・ルータについて説明する。図２はスイッチング・ルータの構成を示す図である。
スイッチング・ルータ１００は、複数のラインカードと、スイッチ部１２０とを含み、これらはアプリケーション・インタフェースを通じてソフトウェアからの動作設定を受ける。
【００２６】
ラインカード１１０に対し、物理リンクから受信したデータは、レシーバ１１１ｂでデータストリームに変換され、フレーマ１１２を通じてパケットとして抽出される。
【００２７】
パケット・クラシファイ部１１３は、抽出されたパケットに対し、中継先判定等のパケット・クラシファイ処理を行う。また、宛先や必要な品質制御を決定し、スイッチ・インタフェース部１１４を介し、スイッチ部１２０へとパケットを引き渡す。スイッチ部１２０は、パケット・クラシファイ処理によって指定された出力先に、パケットを中継する。
【００２８】
一方、スイッチ部１２０からスイッチ・インタフェース部１１４を介し、パケットの中継を受けたラインカード１１０は、パケット・クラシファイの結果にもとづき、定められたキュー１１５のパケットをフレーミング処理及び物理レイヤによる物理リンクに応じた形式に変換して、フレーマ１１２、ドライバ１１１ａを介して物理リンクへ送出する。
【００２９】
このスイッチング・ルータ１００に対する本発明のパケット処理装置１の機能は、パケット・クラシファイ部１１３に用いられている。そして、ここでパケットのプロトコル種別を判定し、パケットヘッダにもとづき、宛先を判定し、スイッチ・インタフェース部１１４、スイッチ部１２０に対し、どこへ中継するかの情報をパケットとともに通知し、またパケットの内容に応じて適用品質制御を決定する。
【００３０】
次に本発明のパケット処理装置１の動作（第１の実施の形態とする）についてさらに詳しく説明する。図３は３段構成のパケット処理プロセッサを含むパケット処理装置の構成を示す図である。
【００３１】
パケット処理装置１ａは、パケット処理プロセッサ（以下、単にプロセッサと呼ぶ）１０ａ〜１０ｃを含み、各プロセッサはパケット入力手段１１ａ〜１１ｃにパケットが到着するタイミングに同期して処理プログラムを起動する。図では、パケットの到着タイミングを別信号（パケット到着タイミングＴ０〜Ｔ３）として伝達している。
【００３２】
そして、時間の経過（内部クロックのサイクル経過）にしたがって、各プロセッサ個別に持つプログラム（またはマイクロコード）１６ａ〜１６ｃにもとづいて処理を実行する。個々のプロセッサは、処理スループットによって決まる許容処理時間（例えば、４サイクル）分の処理を実行すると、そのパケットに対するプログラム処理を終了する。
【００３３】
入力されたパケットは、プロセッサ内部のシフトレジスタ構造のパケットアクセスレジスタ１５ａ〜１５ｃを経て、パケット出力手段１４ａ〜１４ｃへと順次送られる。また、パケット出力タイミングにあわせ、パケット到着タイミングも次段へと出力する。
【００３４】
このとき、パケット到着タイミングを次段のプロセッサに引き渡すタイミングで、内部情報引き継ぎ手段１２ａ〜１２ｃは前段側プロセッサの内部情報を、パケット処理終了時に、後段側プロセッサに引き渡す。後段側プロセッサは、その内部情報をパケット到着タイミングと同期して自身に取り込む。
【００３５】
すると、実際には、後段側プロセッサは、パケット処理を新規に開始しているにもかかわらず、前段のプロセッサの実行情報を引き継いでいるため、前段側プロセッサの処理をそのまま継続するのと同等な処理が行える。
【００３６】
次に上記の内容について、図に示す３段構成のパケット処理系の例にもとづいて説明する。１段目のプロセッサ１０ａは、入力されたパケットデータＰｉｎをパケット入力手段１１ａで受け取る。そして、パケット先頭を示すパケット到着タイミングＴ０に同期して、自身が実行する処理プログラムを起動する。
【００３７】
このとき、プロセッサ１０ａは、最初のプロセッサであるため、前段のプロセッサから引き継ぐ内部状態は存在しない。
パケットデータＰｉｎは、プロセッサ１０ａ内部のパケットアクセスレジスタ１５ａを経て、一定のレイテンシで順次パケット出力手段１４ａへと送られていく。この間にパケット演算手段１３ａは、プログラム１６ａによるパケット処理を実行し、処理スループットによって決まる許容処理時間内の処理を実行して、そのパケットに対するプログラム処理を終了する。
【００３８】
そして、パケット出力手段１４ａは、プロセッサ１０ａで処理したパケットＰ１及びパケット到着タイミングＴ１をプロセッサ１０ｂへと出力する。このとき、内部情報引き継ぎ手段１２ａは、プロセッサ１０ａ自身の内部状態を示す内部情報Ｄ１を出力する。
【００３９】
２段目のプロセッサ１０ｂに対し、プロセッサ１０ａのパケット出力手段１４ａからの出力を、パケット入力手段１１ｂで受信し、パケット到着タイミング信号Ｔ１に同期して、自身が実行する処理プログラムを起動する。
【００４０】
この起動に先立ち、プロセッサ１０ｂはプロセッサ１０ａが出力する内部情報Ｄ１を取り込み、自身の内部状態とする。
プロセッサ１０ｂ内でパケットデータＰ１は、パケットアクセスレジスタ１５ｂを通じて、一定のレイテンシでパケット出力手段１４ｂへと送られていく。この間にパケット演算手段１３ｂは、プログラム１６ｂによるパケット処理を実行し、処理スループットによって決まる許容処理時間内の処理を実行して、そのパケットに対するプログラム処理を終了する。
【００４１】
そして、パケット出力手段１４ｂは、プロセッサ１０ｂで処理したパケットＰ２及びパケット到着タイミングＴ２をプロセッサ１０ｃへと出力する。このとき、内部情報引き継ぎ手段１２ｂは、プロセッサ１０ｂ自身の内部状態を示す内部情報Ｄ２を出力する。
【００４２】
３段目のプロセッサ１０ｃに対し、プロセッサ１０ｂのパケット出力手段１４ｂからの出力を、パケット入力手段１１ｃで受信し、パケット到着タイミングＴ２に同期して自身が実行する処理プログラムを起動する。
【００４３】
この起動に先立ち、プロセッサ１０ｃはプロセッサ１０ｂが出力する内部情報Ｄ２を取り込み、自身の内部状態とする。
プロセッサ１０ｃ内でパケットデータＰ２は、パケットアクセスレジスタ１５ｃを通じて、一定のレイテンシでパケット出力手段１４ｃへと送られていく。この間にパケット演算手段１３ｃは、プログラム１６ｃによるパケット処理を実行し、処理スループットによって決まる許容処理時間内の処理を実行して、そのパケットに対するプログラム処理を終了する。
【００４４】
そして、パケット出力手段１４ｃは、プロセッサ１０ｃで処理したパケットＰｏｕｔ及びパケット到着タイミングＴ３を外部へ出力する。このとき、プロセッサ１０ｃはパケット処理系の最終段であるため、プロセッサ１０ｃの内部情報Ｄ３（図示せず）は出力する必要はない。
【００４５】
図４はパケット処理装置１ａに対する内部情報の引き継ぎ動作のタイミングチャートを示す図である。プロセッサ１０ａ〜１０ｃのそれぞれに対し、パケット到着タイミングＴ０〜Ｔ２、入力パケットデータＰｉｎ、Ｐ１、Ｐ２、内部情報Ｄ１〜Ｄ３、実行命令Ｍ１〜Ｍ３、出力パケットデータＰ１、Ｐ２、Ｐｏｕｔ、を示している。
【００４６】
ここで、内部情報の引き継ぎ動作について説明すると、プロセッサ１０ａでは、パケットデータＰｉｎを実行命令Ｃ１〜Ｃ４で処理してパケットデータＰ１を出力する。この際、実行命令Ｃ１〜Ｃ４に対応する内部状態がそれぞれＳ０〜Ｓ３であり、内部状態Ｓ４は次段のプロセッサ１０ｂに引き継がれる。そして、プロセッサ１０ｂでは、パケットデータＰ１を引き継いだ状態からパケット処理を行う（プロセッサ１０ａの内部状態Ｓ４は、プロセッサ１０ｂの内部状態Ｓ０に対応している）。以降同様である。
【００４７】
次に第２の実施の形態について説明する。第２の実施の形態は、プロセッサ間で引き継ぐ内部情報として、状態フラグを引き継ぐ場合である。プロセッサ１０では、命令実行結果によってセット／クリアが変化し、また、その値によって命令の実行動作を変える状態フラグを備える。プロセッサ１０は、各命令実行後、その実行結果を評価して、状態フラグのフラグ値を更新する。
【００４８】
フラグ値には、例えば、キャリーや零等があり、命令実行結果でキャリー（桁上がり）が発生したならば、プロセッサ１０は、キャリーフラグを立てる。また、こうしたフラグの値に応じて命令の動作が変わるものとして条件分岐命令や条件実行命令がある。
【００４９】
すなわち、条件分岐は、指定したフラグ値が指定条件値を満たしていれば指定先の命令から処理を継続する。また、条件実行は、指定したフラグ値が指定条件値を満たしているときにその命令を実行し、満たしていなければその命令を実行しない（命令クロックサイクルは消費するので動作的にはノーオペレーションと等価になる）。
【００５０】
このような状態フラグの値を内部情報として引き継ぐことにより、例えば、前段のプロセッサにおいては、フラグ値の判定処理まで実行し、後段のプロセッサではその条件値によって異なる処理をする、という処理分担が可能となる。
【００５１】
次に第３の実施の形態について説明する。第３の実施の形態は、内部情報としてバンク情報を引き継ぐ場合である。図５はプログラムバンクを示す図である。プロセッサ１０は、命令手順を複数のプログラムバンクに分けて格納する。また、プログラムバンクの切替え処理は、命令手順中のプログラムバンク切替え命令にしたがって行う。切替え命令が実行された後は、その命令が指定する番地へ行き、その番地のプログラムから処理を開始する。このようなことを繰り返して、最終番地まで実行していく。
【００５２】
図では、プログラムバンクＢ１〜Ｂ４に対し、カウンタ２０で指示された番地にしたがって、命令が切り替わる様子を示している。最初、プログラムバンクＢ１の０番地〜２番地に格納されている命令を実行し、その後、プログラムバンクＢ３の２番地に切り替わる。
【００５３】
そして、プログラムバンクＢ３の２番地〜６番地に格納されている命令を実行し、その後、プログラムバンクＢ２の６番地に切り替わり、プログラムバンクＢ２の最終番地まで命令を実行する。
【００５４】
このようなプログラムバンク切替え処理に対し、１つのプロセッサが担当するパケット処理を、例えば、入力パケットフォーマットに応じて、各プロセッサ間で実行する命令を変えるといったような分岐処理に適用することができる。この場合に、プロセッサ間でプログラムバンクの番地を内部情報として引き継ぐようにすれば、効率のよいパイプライン処理が可能になる。
【００５５】
次に第４の実施の形態について説明する。第４の実施の形態は、内部情報として、ローカルレジスタに格納された情報を引き継ぐ場合である。プロセッサ１０は、演算結果を内部で保持するためのローカルレジスタ（例えば、パケット演算手段１３内に含まれる）を備えている。
【００５６】
例えば、パケットから特定のフィールドを取り出した値を加工する場合、パケットから特定のフィールドを抽出し加工を行い、加工結果をローカルレジスタに格納する。そして、ローカルレジスタに格納された加工結果を内部情報として、次段のプロセッサへ引き継ぎ、次段のプロセッサで再度加工の処理を実行する。
【００５７】
このように、ローカルレジスタに格納された情報を内部情報として、引き継ぐようにすれば、効率のよいパイプライン処理が可能になる。
次に第５の実施の形態について説明する。ここまでの説明では、各プロセッサの処理が、時間軸上でオーバラップしない例について説明したが、第５の実施の形態では、連続する２つのプロセッサについて前段側がパケットスループットで許容される処理時間を使い尽くすより前に、後段側のプロセッサでパケット処理を開始する場合である。
【００５８】
例として、各プロセッサ内でのパケット蓄積時間が、パケットスループットで許容される処理時間より短い場合を考える。この場合、前段側のパケット処理が完了してから後段側にその実行時のプロセッサ内部の処理状態を引き継ごうとしても、その時点では後段側でのパケット処理が開始されているため、引き継ぐことができない。
【００５９】
ところが、前段側ですべての処理を完了する前であっても、後段側が処理を開始するにあたり、必要な情報がすべて用意できているなら、その内部状態を後段のパケット処理に引き継げば、その後も引き続き前段側のプロセッサがそのパケットに対し残った処理を継続できる。このとき、前段側プロセッサが、その残った処理として行えるのは、後段側プロセッサに引き継ぐべき内部状態に関与しない処理である。
【００６０】
第１の実施の形態では、パケット処理終了時が、内部情報の通知を行うタイミングとなっているが、第５の実施の形態では、パケット処理が終了する前に、プロセッサの内部状態を後段に通知する処理を起動するタイミングを発生する。
【００６１】
具体的な方法としては、例えば、各プロセッサで発生するパケットのレイテンシによって固定的に通知時期を定める方法、プログラム実行開始から何サイクル目に内部情報を後段へ出力するかを設定する方法等がある。
【００６２】
次に第６の実施の形態について説明する。第１〜第５の実施の形態では、内部情報を各プロセッサ間で必ず引き継ぐものとした。しかし、内部状態を引き継ぐことが不都合になるケースがある。
【００６３】
すなわち、隣接するプロセッサ同士で実行すべき処理の関連性あるいは連続性が疎である場合に、前段の情報を引き継ぐと効率のよいパケット処理ができない。
【００６４】
例えば、前段側プロセッサで処理プロトコル別にプログラムバンクを使い分けており、後段側プロセッサではプロトコル非依存の処理を行う場合に、プログラムバンクの値を引き継ぐような操作を行うと、それぞれのプログラムバンクに同じプログラム命令を記述する必要が出てきて効率的ではない。
【００６５】
したがって、第６の実施の形態では、内部情報を引き継ぐか否かの設定を行えるようにする。これにより、処理形態に応じて最適なパケット処理が可能になる。
【００６６】
図６は内部情報の選択的引き継ぎ制御の構成を示す図である。この例では、プログラムバンク番地と状態フラグとを、それぞれ独立に前段から引き継ぐか否かを指定することを可能としている。
【００６７】
設定レジスタ１３１は、内部情報を引き継ぐか否かの内容を保持し、その旨をＡＮＤ素子１３５ａ、１３５ｂに送信する。タイミング制御部１３２は、パケット到着タイミングを受信してリタイミングし、内部情報更新タイミング信号としてＡＮＤ素子１３５ａ、１３５ｂに送信する。
【００６８】
バンク状態保持ＦＦ１２３、フラグ状態保持ＦＦ１２４は、それぞれプロセッサ内にて実行プログラムバンク値、フラグ値を保持し、プロセッサの命令実行を制御するとともに、その実行結果によって更新される仕組みを持つ。
【００６９】
ＡＮＤ素子１３５ａは、設定レジスタ１３１がバンク状態引き継ぎ許可としているときのみバンク状態保持ＦＦ１２３に更新タイミング信号を出力し、バンク状態保持ＦＦ１２３は、このタイミング信号を受信したとき、バンク状態通知入力の値を取り込む。
【００７０】
ＡＮＤ素子１３５ｂは、設定レジスタ１３１がフラグ状態引き継ぎ許可としているときのみ、フラグ状態保持ＦＦ１２４に更新タイミング信号を出力し、フラグ状態保持ＦＦ１２４は、このタイミング信号を受信したときにフラグ状態通知入力の値を取り込む。
【００７１】
このように、設定レジスタ１３１に外部から引き継ぎ有無を設定しておいて、その設定内容に応じ、パケットタイミング信号に同期した状態フリップフロップの更新を、マスクまたは許可する。このような構成で、内部情報を選択的に引き継ぐことで、より適切なパケット処理を行うことが可能になる。
【００７２】
以上説明したように、本発明のパケット処理装置１は、複数のプロセッサを直列配備し、内部情報の引き継ぎ制御を行って、処理内容を複数のプロセッサで分割する構成とした。
【００７３】
これにより、プロセッサ間処理の引き継ぎに伴うオーバヘッドを抑制することができる。また、１プロセッサあたりの許容処理時間が少ない場合でも、本発明を適用したプロセッサの数を増やすことで、パケット処理スループットを維持したままパケット処理を行うことが可能になる。
【００７４】
なお、上記の第１〜第６の実施の形態で内部情報を引き継ぐ場合には、内部情報すべてを引き継ぐような構成としたが、一部の情報のみを引き継ぐような構成にしてもよい。
【００７５】
【発明の効果】
以上説明したように、本発明のパケット処理装置は、直列接続された複数のパケット処理プロセッサ間で、パケットの演算処理が終了する前の所定のタイミングでプロセッサ内部の情報を内部情報として引き継いで、パケットの演算処理を行う構成とした。これにより、オーバヘッドを抑制し、パケットを高速に処理することが可能になる。
【図面の簡単な説明】
【図１】本発明のパケット処理装置の原理図である。
【図２】スイッチング・ルータの構成を示す図である。
【図３】３段構成のパケット処理プロセッサを含むパケット処理装置の構成を示す図である。
【図４】パケット処理装置に対する内部情報の引き継ぎ動作のタイミングチャートを示す図である。
【図５】プログラムバンクを示す図である。
【図６】内部情報の選択的引き継ぎ制御の構成を示す図である。
【符号の説明】
１  パケット処理装置
１０、１０−１〜１０−ｋ〜１０−ｎ  パケット処理プロセッサ
１１  パケット入力手段
１２  内部情報引き継ぎ手段
１３  パケット演算手段
１４  パケット出力手段
Ｌ  通信ライン
Ｄａ、Ｄｂ  内部情報
Ｐａ、Ｐｂ  パケット
【図１】
0004342100.tif 000002
【図２】
0004342100.tif 000003
【図３】
0004342100.tif 000004
【図４】
0004342100.tif 000005
【図５】
0004342100.tif 000006
【図６】
0004342100.tif 000007