JP2007013856A - テーブル装置及びこれを用いたアドレス検索装置 - Google Patents

テーブル装置及びこれを用いたアドレス検索装置 Download PDF

Info

Publication number
JP2007013856A
JP2007013856A JP2005195006A JP2005195006A JP2007013856A JP 2007013856 A JP2007013856 A JP 2007013856A JP 2005195006 A JP2005195006 A JP 2005195006A JP 2005195006 A JP2005195006 A JP 2005195006A JP 2007013856 A JP2007013856 A JP 2007013856A
Authority
JP
Japan
Prior art keywords
register
address
comparison
cell
data
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
JP2005195006A
Other languages
English (en)
Other versions
JP4588560B2 (ja
Inventor
Masahiro Ougiwari
正浩 扇割
Tomomi Ei
友美 江井
Takayuki Minegishi
孝行 峯岸
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005195006A priority Critical patent/JP4588560B2/ja
Publication of JP2007013856A publication Critical patent/JP2007013856A/ja
Application granted granted Critical
Publication of JP4588560B2 publication Critical patent/JP4588560B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 小型化、低消費電力化が可能であり、かつ動的再構成が可能なセルにより構成して宛先アドレスに対応する中継アドレスデータを様々に設定することができるテーブル装置及びこれを用いて検索処理を高速に行うことができるアドレス検索装置を提供する。
【解決手段】 比較対象値及びこれに対応する中継アドレスを含むアドレス検索テーブルの構成データを保持する複数のレジスタ202,204,206,208を有し、宛先アドレスの入力データと比較対象値とを比較して宛先アドレスに対応する中継アドレスを検索するセルPE0〜PE8と、アドレス検索テーブルの構成データを保持するレジスタの選択を制御して宛先アドレスとの比較内容を動的に変更することにより、セルの出力として宛先アドレスに対応する中継アドレスを得る制御部113とを備える。
【選択図】 図1

Description

この発明は、コンピュータネットワーク等におけるパケット通信の宛先アドレスから中継アドレスを決定するアドレス検索装置及びこれに好適に用いられるテーブル装置に関するものである。
コンピュータネットワークシステムでは、各コンピュータネットワーク間でのパケット通信を中継するためのルータ装置やLANスイッチ等のパケット中継装置が用いられる。パケット中継装置では、宛先アドレスに対応する中継アドレスのテーブルデータをテーブルメモリに記憶し、入力された宛先アドレスをテーブルメモリ内部から検索して中継アドレスを得ている。このようないわゆる検索装置には、例えば非特許文献1に開示されるようなアドレスサーチエンジンであるテーブル装置が用いられる。
"NEC μPD98421 High-speed Address Search Engine"パンフレット, 2001年11月発行, 資料番号S13450JJ5V0PF00, [online], [平成17年6月1日検索], インターネット<URL:http://www.necel.com/comm/docu_download/d98421/ja/S13450JJ5V0PF00.pdf>
従来のパケット中継では、ネットワークの回線収容数の増大に伴い、宛先アドレスに対応する中継アドレスのテーブルデータの容量が大きくなり、このようなテーブルを収容するメモリのサイズが大型化するという課題があった。このような状況でも、マルチメディアデータなど大容量データを遅延なく転送することが要求されており、当該テーブルを用いた検索装置の小型化と性能向上が益々求められている。
また、ネットワークアドレスは、例えばIPアドレスの一部で具現化され、そのビット長は可変である。しかしながら、従来のパケット中継では、アドレスを収納するテーブルをメモリ上に実装するにあたり、メモリのビット幅をIPアドレスのビット長に合わせる必要があり、短いネットワークアドレスに対してメモリにおいては無駄な記憶領域が生じるという課題があった。
例えば、アドレス検索のためにメモリに格納するアドレスデータは、必ずしもフルビットであるとは限らず、いわゆる「don’t care」のビットが存在する。この「don’t care」の部分に該当する記憶素子は使用されず、メモリに無駄な記憶領域を生じさせている。
この発明は、上記のような課題を解決するためになされたもので、小型化、低消費電力化が可能であり、かつ動的再構成が可能なセルにより構成して宛先アドレスに対応する中継アドレスデータを様々に設定することができるテーブル装置及びこれを用いて検索処理を高速に行うことができるアドレス検索装置を得ること目的とする。
この発明に係るテーブル装置は、比較対象値及びこれに対応する中継アドレスを含むアドレス検索テーブルの構成データを保持する複数のレジスタを有し、宛先アドレスの入力データと比較対象値とを比較して宛先アドレスに対応する中継アドレスを検索するセルと、アドレス検索テーブルの構成データを保持するレジスタの選択を制御して宛先アドレスとの比較内容を動的に変更することにより、セルの出力として宛先アドレスに対応する中継アドレスを得る制御部とを備えるものである。
この発明によれば、アドレス検索テーブルの動的再構成により宛先アドレスに対応する中継アドレスデータを様々に設定することができることから、種々のネットワークの動的な構成変更に対応したテーブル装置を提供することができるという効果がある。また、中継アドレスをそれぞれ収容するテーブルと異なり、短いネットワークアドレスであってもそのビット長分の比較を行えば良くメモリに無駄な記憶領域が生じることがない。さらに、このテーブル装置を検索装置に用いることにより、動的再構成が可能なテーブルにより全てのアドレスを収容する必要がないことから小さい回路で大きな検索範囲を実現することができるため、小型かつ高速化を可能にする効果がある。
実施の形態1.
先ず、後述する説明に登場する用語について述べる。
コンフィグレーションとは、本発明のテーブル装置が備える各種レジスタ群に対して、ネットワーク構成に対応した宛先アドレスと中継アドレスのデータ変換内容を設定してアドレス検索テーブルを形成することを言う。このコンフィグレーションを行う動作をコンフィグレーションモードとし、データ変換内容を含む信号をコンフィグレーションデータと呼ぶことにする。
また、コンフィグレーションデータ(アドレス検索テーブルの構成データ)とは、ビット選択値、比較対象値、出力値、分岐コード、接続情報、及びリーフ若しくは分岐を示す判定ビットなどで構成される。ここで、ビット選択値とは、比較処理のために入力データから抽出するビット位置及びそのビット数である。比較対象値とは、アドレス検索テーブルで参照される宛先アドレスを表す値である。出力値とは、比較対象値に対応して出力される中継アドレスを表す値である。
分岐コードとは、後述する本発明における比較動作で用いた複数のレジスタ群のレジスタを次に使用するレジスタに変更するレジスタ選択値と、次に比較動作を開始させるセルを指定する指定コードとを含んでいる。この分岐コードは、本発明によるテーブル装置の出力値レジスタ群のあるレジスタに上記出力値の代わりに設定し、比較動作を行うセルを動的に再構成するデータである。
接続情報とは、本発明のテーブル装置におけるメモリの複数のセルにおいて、対象とする比較動作を自セルで行うか、他のセルで行うか、又はその両方で行うかをクロススイッチで振り分けるための指示データである。リーフ若しくは分岐を示す判定ビットとは、セル内で現在対象としている比較動作で一致が得られた場合にその動作が最終であることを表すリーフ若しくは各レジスタ群のレジスタの変更を要する分岐であることを示す判定用のデータである。なお、この実施の形態1では、判定ビットを上記接続情報と同じレジスタ群で保持する例を示したが、別の専用のレジスタ群に保持して用いるように構成してもよい。
図1は、この発明の実施の形態1によるアドレス検索装置の概略構成を示すブロック図である。CPU(Central Processing Unit)2は、各部を制御する。メモリ3は、CPU2が処理する命令領域及びコンフィグレーションデータ等を格納する領域を持つ。バスライン4は、CPU2、メモリ3及びアドレス検索装置1の間のデータ転送に使用する経路である。
アドレス検索装置1は、バスインタフェース(以下、バスI/Fと略す)12、パケット入力部7、宛先アドレス抽出部8、テーブル装置9、中継アドレス付加部10、パケット送出部11から構成される。ここで、パケット入力部7は、中継すべきパケットデータを受け付けて一時的に格納する。宛先アドレス抽出部8は、パケットデータのヘッダから宛先アドレス情報を抽出してテーブル装置9の入力データとして出力する。
中継アドレス付加部10は、テーブル装置9の出力データとして得られた中継アドレスをパケットデータのヘッダに付加してパケット送出部11の入力データとして出力する。制御レジスタ13は、外部リセット信号14によりリセットされ、CPU2からの指示に従って、コンフィグレーション、アドレス検索時にテーブル装置9への入力データを選択するための入力データ選択信号、テーブル装置9による比較動作の開始時に用いる各レジスタ群のレジスタの選択や複数のセル構成の場合の比較動作を開始するセルを指定する初期コードを設定する。
信号線15は、アドレス検索の開始直前にバスI/F12を通してCPU2からテーブル装置9のレジスタに設定するコンフィグレーションデータとこれを書き込むレジスタを指定するレジスタ指定アドレス信号とを転送するための信号線である。信号線16は、アドレス検索装置1を構成する各構成要素の動作モードを設定し、各構成要素から制御レジスタ13に対してデータの書き込みと読み出しを行うための信号線である。
また、信号線5は、アドレス検索装置1へパケットデータ入力するための入力信号線である。また、信号線6は、アドレス検索装置1からパケットデータを出力するための出力信号線である。信号線14は、アドレス検索装置1をリセットするために外部から与えられる外部リセット信号を装置1内部に供給するための供給線である。
図2は、図1中のテーブル装置の構成例を示すブロック図である。テーブル装置9は、複数の動的再構成可能なセル(以下、セルとする)PE0〜PE8、マルチプレクサ(以下、MUXとする)101、論理和回路111及び制御部113を備えている。セルPE0〜PE8は、それぞれ接続用エレメント105と機能エレメント106を有している。MUX101は、セルPE0〜PE8への入力データ107を選択する。
より詳細に説明すると、MUX101は、アドレス検索装置1がコンフィグレーションモード、検索モードのいずれかに設定された場合、図1に示す制御レジスタ13から与えられる入力データ選択信号104に基づき、テーブル装置9内のセルPE0〜PE8への入力データ107として、宛先アドレスデータ102及びコンフィグレーションデータ103のうちから、そのときの処理モードに対応する信号を選択する。
レジスタ指定アドレス信号108は、コンフィグレーションモード時にバスI/F12から信号線15を介してコンフィグレーションデータと共に与えられ、コンフィグレーションデータの書き込み先のセルとそのセル内のレジスタを指定するための信号であり、セルPE0〜PE8の全てに対して入力される。出力信号110O0〜110O8は、各セルPE0〜PE8から出力される信号であり、後述する比較動作で一致したことを示すイネーブル信号と一致した際にレジスタから出力されるレジスタの出力値又は分岐コードとを含んでいる。
論理和回路111は、出力信号110O0〜110O8の論理和を求め、テーブル装置9のデータ出力112として得る。制御部113は、論理和回路111のデータ出力112が分岐コードである場合、その分岐コードを構成しているレジスタ選択値に基づいてセル内の各レジスタ群の中から次に使用するレジスタをそれぞれ指定するレジスタ選択信号114を生成する。
また、制御部113は、分岐コードを構成しているセルの指定コードに基づいて、次に比較動作を開始するセルを指定するルート信号109R0〜109R11を生成する。なお、ルート信号109R0〜109R11は、複数のセルの配列において、外側に位置するセルが対称に与えられるようになっており、比較動作の開始時には比較命令信号として機能する。
図3は、図2中のセルの構成を示すブロック図である。本発明よるセルは、大きく分けて接続用エレメント105及び機能エレメント106から構成される。接続用エレメント105と機能エレメント106には、図2中の制御部113で生成されるレジスタ選択信号114が共通して入力されるようになっている。
接続用エレメント105は、クロススイッチ201、接続情報レジスタ群202及びマルチプレクサ(以下、MUXとする)203を有している。接続情報レジスタ群202は、クロススイッチ201が接続先を決めるための複数のレジスタを持つ接続情報を保持する。この接続情報は、比較動作を指示する比較命令信号の接続先を自セルの機能エレメント106にするか、隣接するセルにするか、又はその両方かをクロススイッチ201で振り分けるための指示データである。また、接続情報レジスタ群202は、接続情報の他に、自セルの機能エレメント106で行う比較の結果の一致信号がリーフ(最終値)か、分岐であるかを示す判定ビットを保持している。
MUX203は、レジスタ選択信号114に基づいて、接続情報レジスタ群202の中から使用するレジスタを選択し、それが保持する接続情報229を抽出してクロススイッチ201へ出力するレジスタ選択手段である。これと同時に、MUX203は、そのセルがリーフ若しくは分岐であると、そのことを示す判定ビット信号223を前記選択したレジスタから抽出して機能エレメント106内の比較器207及び論理積ゲート210へ出力する。
クロススイッチ201は、自セルの機能エレメント106と上下左右に隣接するセルの機能エレメントとを接続するための手段で、MUX203により抽出された接続情報229に基づいて、ある隣接するセルから比較命令信号が入力された場合には自セルの機能エレメント106に比較命令信号226を送るか、他の隣接するセルへ転送するか、又はその両方を行うかの処理を行い、また自セルの機能エレメント106から一致信号227を受けると接続情報229が指示する所望の隣接するセルへ比較命令信号を転送する。
クロススイッチ201に関する信号には、上方向からの入力信号(比較命令信号)218I、上方向への出力信号(比較命令信号)218O、右方向からの入力信号221I、右方向への出力信号221O、下方向からの入力信号219I、下方向への出力信号219O、左方向からの入力信号220I、左方向への出力信号220O、及び比較命令信号226がある。ここで、比較命令信号226は、隣接するセルからの入力信号218I、221I、219I、220Iによって与えられ、自セルの機能エレメント106において比較動作を行うことを指示する信号である。
一方、機能エレメント106は、ビット選択レジスタ群204、比較対象レジスタ群206、出力値レジスタ群208、セレクタ205、比較器207、アドレスデコーダ209、論理積ゲート210及びマルチプレクサ(以下、MUXとする)211,212,213,214を有している。アドレスデコーダ(デコーダ)209は、コンフィグレーションモード時に入力されるレジスタ指定アドレス信号108をデコードしてコンフィグレーションデータを書き込むべきレジスタ群202,204,206,208の各レジスタを指定し、そのデコード出力222としてコンフィグレーションデータを対応する各レジスタに書き込む。
ビット選択レジスタ群204は、コンフィグレーションモード時に書き込まれ、入力データ(宛先アドレス)から抽出するビット位置及びそのビット数のビット選択値を保持する複数のレジスタを有する。MUX211は、レジスタ選択信号114に基づいてビット選択レジスタ群204のレジスタを選択し、それが保持する比較すべきビット位置、及びビット数を出力するレジスタ選択手段である。セレクタ(SEL)205は、ビット選択レジスタ群204で選択されたビット位置、及びビット数に従って入力データ107から対応するビット位置、及びビット数分のデータを比較データ224として選択する。
比較対象レジスタ群206は、コンフィグレーションモード時に書き込まれ、ビット選択レジスタ群204で保持する任意のビット数に対応した比較対象値(ビット選択レジスタ群204で保持するビット数と同等のビット数分だけ抜き出された宛先アドレス)を保持する複数のレジスタを有する。MUX212は、レジスタ選択信号114に基づいて、比較対象レジスタ群206のレジスタを選択し、その保持する比較対象値228を出力するレジスタ選択手段である。比較器207は、セレクタ205によって選択された特定のビット数分の比較データ224とMUX212により比較対象レジスタ群206から選択された比較対象値228とを比較し、両者が一致した際に一致信号227を出力する。
出力値レジスタ群208は、コンフィグレーション時に書き込まれ、比較対象レジスタ群206で保持する比較対象値に対応する出力値(中継アドレス)、及びこれに代わる分岐コードを保持する複数のレジスタを有する。すなわち、出力値レジスタ群208には、そのセルでの比較動作で一致した際に当該セルが最終値を求めるリーフとして指定されているものであれば、対応するレジスタに出力値が書き込まれ、一方、当該セルが分岐として指定さているものであれば、対応するレジスタに分岐コードが書き込まれていることになる。
なお、分岐コードは、この実施の形態の冒頭にも述べたように、複数のレジスタ群のレジスタを次に使用するレジスタに変更するレジスタ選択値と、次に比較動作を開始させるセルを指定する指定コードを含んでいる。
MUX213は、レジスタ選択信号114に基づいて、出力値レジスタ群208のレジスタを選択し、その保持する出力値又は分岐コードを出力信号225として出力するレジスタ選択手段である。論理積ゲート210は、比較器207から出力される一致信号227とMUX203からのリーフ若しくは分岐を示す判定ビット223の論理積をとり、出力値レジスタ群208で保持するデータの出力を指示するイネーブル信号216を生成する。
MUX214は、イネーブル信号216に基づいて、MUX213により出力値レジスタ群208から選択された出力値又は分岐コード(出力信号225)を選択して出力データ217とする。一方、それ以外、すなわち比較器207から一致信号が出力されなかった場合、MUX214は、当該セルが比較対象のセルではなく一致信号が出力されるがリーフでも分岐でもない、すなわちレジスタの変更をすることなく、続きのビットを比較する他のセルが存在する場合には‘0’を選択して出力データ217とする。
また、動作モード信号215は、図1に示した信号線16を介して動作モードを設定するための信号であり、各セルの接続用エレメント105及び機能エレメント106に入力される。動作モード信号215によりアドレス検索モード又はコンフィグレーションモードが設定される。
次に動作について説明する。
先ず、図1〜図3を用いてコンフィグレーションモードにおける動作を説明する。
アドレス検索装置1は、電源投入直後等に外部から与えられる外部リセット信号14あるいは制御レジスタ13の設定によるソフトウェアリセット信号によりリセットされる。リセット後、テーブル装置9は初期状態となり、CPU2から起動指示があるまで状態を保持する。CPU2は、起動後に初期化動作としてアドレス検索テーブルに対応するコンフィグレーションデータをレジスタ指定アドレス信号と共にテーブル装置9へ送信する。
テーブル装置9内のMUX101では、制御レジスタ13から与えられる入力データ選択信号104により、コンフィグレーションデータ103を、テーブル装置9を構成する各セルPE0〜PE8への入力データ107として選択する。各セルPE0〜PE8では、レジスタ指定アドレス信号108がアドレスデコーダ209でデコードされ、そのデコード信号222により、各セルのレジスタ群202,204,206,208のそれぞれの中から書き込み対象となるレジスタが指定される。従って、この指定された各レジスタにコンフィグレーションデータ103の対応するデータが書き込まれる。この動作により、テーブル装置9は、アドレス検索テーブルとして動作が可能な状態に設定されたことになる。
次に、図4に示すアドレス検索テーブル例を基にコンフィグレーションデータのマッピングを説明する。なお、図中のxは「don’t care」のビットを示している。
ここで、テーブル装置9は、例えば本来必要とするアドレス検索テーブルの全体の4分の1程度の個数のセル(図3に示した動的再構成可能なセル)を用いて構成する。そして、そのアドレス検索テーブルの全体は、後述するように、これらのセル内で使用するレジスタを動的に変更することによって実現する。ここで求められることは、レジスタの変更回数を少なくすることであり、そのため、コンフィグレーションデータの各セルの各レジスタへのマッピングを、予測される比較一致確率に基づいて行うようにする。
また、図4に示すアドレス検索テーブルでは、テーブルの上欄から比較一致確率が高いと予測されるアドレスを並べている。テーブル装置9を構成する各セルPE0〜PE8では、入力データに対して、それぞれ1バイトのデータの比較を行う場合、図4のアドレス検索テーブルの比較割り当ては、図5に示すように模式的に表すことができる。比較ポイントであるノードn1〜n17が持つ比較対象ビットパターン(例えばノードn3の場合、“11”)と入力ビット列とを比較し、一致したときはそのノードに接続された“子”のノード(ノードにさらに分岐して接続されているノード)が持つ比較対象ビットパターンと続きの入力ビット列とを比較する。
図5の各ノードn1〜n17を図2の各セルPE0〜PE8にマッピングした場合を図6に例示する。すなわち、セルPE0にはノードn1、セルPE1にはノードn5、セルPE2にはノードn9、セルPE3にはノードn2、セルPE4にはノードn4、セルPE5にはノードn8、セルPE6にはノードn3、セルPE7にはノードn6、セルPE8にはノードn7がマッピングされる。太線の矢印は比較動作時の流れを表す。
比較一致確率の高い図4中の上欄4つのコードを最初に構成し、これらコードの一致の有無を判定する。このとき、これらのコードに一致しなかった場合、つまり、最上段の宛先アドレス‘10xxxxxx・・・’と一致する比較対象ビットパターン‘10’のノードn1、二段目の宛先アドレス‘0001xxxx・・・’と一致する比較対象ビットパターン‘0001’となるノードn2,n4、三段目の宛先アドレス‘0011xxxx・・・’と一致する比較対象ビットパターン‘0011’となるノードn2,n5、四段目の宛先アドレス‘1100xxxx・・・’と一致する比較対象ビットパターン‘1100’となるノードn3,n6と一致しないことになる。
このように、図4中の上欄4つのコードに対応するノードn1〜ノードn6に一致しない場合、すなわちノードn7〜n9に一致する場合、レジスタの切り替えと次に処理するセルを指定するルート信号を変更することでテーブルを再構成する。従って、比較一致確率の高いアドレスに対しては、テーブルの再構成なしに出力データを得ることができ、レジスタの変更回数を最小限に抑えることができる。テーブルを再構成する動作については後述する。
次に、アドレス検索の動作例を説明する。
アドレス検索は、上述のコンフィグレーションデータをテーブル装置9のセルに書き込み、図2に示す入力データ選択信号104をMUX101に与えて宛先アドレスデータを入力データ102として選択した後に行われる。図1において、パケット入力部7にパケットデータが入力される。宛先アドレス抽出部8は、パケットデータのヘッダから宛先アドレスを抽出し、テーブル装置9へ出力する。テーブル装置9は、宛先アドレスが入力開始されることで検索動作を起動する。
また、宛先アドレス抽出部8は、宛先アドレスデータをある特定のビット数単位でテーブル装置9へ出力する。テーブル装置9では、入力されたこの特定のビット数分のアドレスデータに従ってアドレス検索し、結果として得られる中継アドレスを中継アドレス付加部10に出力すると同時に、テーブルの使用回数をクリアする。
図4及び図5に示すテーブルを例としてアドレス検索時にテーブル装置9内で行われる比較動作について、図3及び図7を用いて説明する。
図7において、先ず、入力データとして入力される特定のビット数分の宛先アドレスデータ102を例えば‘1100’とし、各セルPE0〜PE8で比較できる最大ビット数を2ビットとする。また、各セルPE0〜PE8では、図6で示したようにマッピングした比較対象値(図7中の各セルの機能エレメント106に付した2ビットの太数字)を保持しているものとする。
アドレス検索モードにあるとき、宛先アドレスデータ102は、MUX101により、入力データ選択信号104に基づいて、入力データ107、すなわちアドレスデータ‘1100’として選択され、全てのセルPE0〜PE8に入力される。一方、テーブル装置9の制御部113は、アドレス検索装置1の制御レジスタ13の設定状態を参照し、比較動作開始時に用いる各レジスタ群のレジスタの選択と比較動作を開始するセルを指定する初期コードを取り寄せ、この初期コードに基づいてルート信号109R0とレジスタ選択信号114を生成する。
レジスタ選択信号114は、全てのセルPE0〜PE8に対して入力され、各MUX203,211,212,213によりレジスタ群202,204,206,208の最初に使用するレジスタをそれぞれ選択する。セルPE0の上方向から入力されたルート信号109R0(図3に示す入力信号218Iに相当)は、セルPE0の接続用エレメントのクロススイッチ(図3に示すクロススイッチ201に相当)に与えられ、接続情報レジスタ群(図3に示す接続情報レジスタ群202に相当)から得られた接続情報に基づいて、最初に比較を行うセルとしてセルPE0,PE3,PE6を選択し、セルPE3,PE6に伝送される。
ルート信号109R0が入力されたセルPE0,PE3,PE6の接続用エレメント105は、接続情報に基づいてそれぞれの機能エレメントに比較命令信号301C0,301C3,301C6(図3に示す比較命令信号226に相当)として送信する。これら比較命令信号301C0,301C3,301C6が入力された対応するセルPE0,PE3,PE6の機能エレメント106では、各セルの比較対象レジスタ群(図3に示す比較対象レジスタ群206に相当)が保持している各比較対象値、すなわちセルPE0の‘10’、PE3の‘00’、PE6の‘11’と、入力されたビットストリームデータ‘1100’のうち最初の2ビット‘11’とを比較器207で比較する。
この場合のビットストリーム分‘11’は、セルPE6が保持している比較対象値とのみ一致することになる。その結果、セルPE6の機能エレメント106のみが一致信号302(図3に示す一致信号227に相当)を自セルの接続用エレメントに対して出力する。なお、この場合、ビットストリームデータ‘1100’には続きの‘00’が存在しているので、最初の比較対象値はリーフでも分岐でもない。このため、接続情報レジスタ群202からは、リーフ若しくは分岐の判定ビット信号は出力されておらず、セルPE6の論理積ゲート(図3に示す論理積ゲート210に相当)からイネーブル信号は出力されず、セルPE6のMUX214の出力217は‘0’となる。
セルPE6の接続用エレメントでは、一致信号302が入力されたクロススイッチ(図3に示すクロススイッチ201に相当)は、MUX203により接続情報レジスタ群202のレジスタから抽出した接続情報に基づいて、子のノードにあたるセルPE7,PE8,PE5,PE2に対して一致信号302を比較命令信号303として伝送する。比較命令信号303が入力されたセルPE7,PE8,PE5,PE2の接続用エレメント105は、それぞれのクロススイッチにより、各々の機能エレメントに対応する比較命令信号304C7,304C8,304C5,304C2を送信する。
比較命令信号が入力されたセルPE7,PE8,PE5,PE2の機能エレメントは、アドレスデータ‘1100’のうち、続きの2ビット‘00’と、各セルの比較対象値、すなわちセルPE7の‘1100’のうちの太線で示した続きの2ビットの‘00’、PE8の‘1101’のうちの太線で示した続きの2ビットの‘01’、PE5の‘1110’のうちの太線で示した続きの2ビットの‘10’、PE2の‘1111’のうちの太線で示した続きの2ビットの‘11’とを比較する。この場合のビットストリームでは、セルPE7の比較対象値とのみ一致する。
この場合のセルPE7(図5に示すノードn6に相当)はリーフであるため、出力値レジスタ群(図3に示す出力値レジスタ群208に相当)で保持している対応する出力値(中継アドレス)がMUX213により抽出される。同時に、接続情報レジスタ群202からはリーフ若しくは分岐の判定ビット信号は選択され、論理積ゲート(図3に示す論理積ゲート210に相当)からリーフ若しくは分岐で一致したことを示すイネーブル信号(図3に示すイネーブル信号216に相当)が出力される。
MUX214は、このイネーブル信号に応じて出力値レジスタ群から抽出された出力値(図3に示す出力信号225に相当)を取り出し、セルPE7はこの出力値とイネーブル信号を論理和回路111への出力110O7として取り出す。イネーブル信号が出力されると、論理和回路111は、全てのセルPE0〜PE8から出力される信号110O0〜110O8を演算して検索結果112として出力する。この例の場合、リーフで、かつ比較で一致したセルはPE7のみであり、それ以外のセルの出力信号は‘0’であるため、検索結果であるデータ出力112はセルPE7の出力値110O7となる。
また、入力データ107の宛先アドレスデータが、例えば‘1101’であったとした場合、この段階で一致する比較対象値のセルはPE8に相当することとなる。しかし、セルPE8(図6に示すノードn7に相当)は分岐として設定されているため、出力110O8としては、出力値レジスタ群(図3に示す出力値レジスタ群208に相当)に設定している分岐コードとなる。制御部113は、この分岐コードに基づいてMUX(図3に示すMUX203,211,212,213に相当)に入力するレジスタ選択信号114を変更し、また比較動作を開始するセルを指定するルート信号を変更する。これにより、データを既に保持しているレジスタの変更選択が行なわれ、アドレス検索テーブルは再構成される。
テーブル再構成後のルート信号109R0〜109R11のうちいずれかの信号が入力されることで比較開始セルが指定され、かつレジスタ選択信号により各レジスタ群の新たなレジスタが選択されることで、分岐点以下(‘1101’より下位のビット)の比較が可能となる。このテーブルの再構成は、分岐コードの出力から新たなレジスタ選択信号、及び初めに比較するセルを指定するルート信号を出力するまでの1クロックで行うことが可能である。
以上のように、この実施の形態1によれば、比較対象値及びこれに対応する中継アドレスを含むアドレス検索テーブルの構成データを保持する複数のレジスタ202,204,206,208を有し、宛先アドレスの入力データと比較対象値とを比較して宛先アドレスに対応する中継アドレスを検索するセルPE0〜PE8と、アドレス検索テーブルの構成データを保持するレジスタの選択を制御して宛先アドレスとの比較内容を動的に変更することにより、セルの出力として宛先アドレスに対応する中継アドレスを得る制御部113とを備えるので、ネットワークの構成に対応したコンフィグレーションデータを設定することで、高いスループットを可能にする動的再構成可能なテーブルを構成することができる。
特に、各セルは、各レジスタ群のそれぞれが持つ複数のレジスタの中から使用するレジスタ1つを1クロックで選択して変更できる。また、現在使用している1つのセル集合体で比較できるビット数が、比較すべき最大ビット数を満足していなくても、複数のセルを再構成することで、最大ビット数の比較が可能となる。これらの特徴からテーブル装置9の小型化かつ低消費電力化の効果が得られる。
なお、上記実施の形態1では、セルを複数個用いてテーブル装置9を構成する例を示したが、入力データに対して比較処理するビット数を大きな値に設定することにより、1個のセルで構成することも可能である。その場合には、接続用エレメント105の構成、論理積ゲート210、マルチプレクサ217は不要となり、比較命令信号も不要となるため分岐コードの内容や制御部113の処理内容もレジスタの変更に関することに簡略化されることになる。
例えば、アドレス検索テーブルを構成する1個のセルが、ビット選択レジスタ群、セレクタ、比較対象レジスタ群、比較器、出力値レジスタ群、使用するレジスタを指定するレジスタ選択信号に基づいて前記各レジスタ群のそれぞれのレジスタを選択し、その保持するデータを出力するそれぞれのMUXを備える。ここで、これらの構成要素は、上記実施の形態1で示したように、ビット選択レジスタ群が、宛先アドレスにおける任意のビット位置とビット数の選択値を保持する複数のレジスタを有する。また、セレクタが、ビット選択レジスタ群の選択されたレジスタのビット位置とビット数の選択値に従って入力データから対応するビット位置とビット数の比較データを選択する。
比較対象レジスタ群が、比較対象値を保持する複数のレジスタを有し、比較器が、セレクタで選択された比較データと比較対象レジスタ群の選択されたレジスタの比較対象値とを比較し、両者が一致した際に一致信号を出力する。また、出力値レジスタ群では、比較対象レジスタ群で保持する比較対象値に対応する符号化または復号に係る出力値、及び、これに代わる、次に使用するレジスタを変更するレジスタ選択値を保持する複数のレジスタを有する。さらに、制御部では、外部から設定されるレジスタ選択値あるいは出力値レジスタ群から出力されたレジスタ選択値に基づいてレジスタ選択信号を生成する。このように構成しても、上記実施の形態1と同様に効果を得ることができる。
この発明の実施の形態1によるアドレス検索装置の概略構成を示すブロック図である。 実施の形態1によるテーブル装置の構成例を示すブロック図である。 実施の形態1による動的再構成可能なセルの単体の構成を示すブロック図である。 実施の形態1によるアドレス検索テーブルの構成例を示す図である。 実施の形態1によるアドレス検索テーブルの比較割り当てを模式的に示す図である。 実施の形態1によるアドレス検索テーブルのマッピング例を模式的に示す図である。 実施の形態1によるテーブル装置の動作を説明するための図である。
符号の説明
1 アドレス検索装置、2 CPU、3 メモリ、4 バスライン、5,6,15,16 信号線、7 パケット入力部、8 宛先アドレス抽出部、9 テーブル装置、10 中継アドレス付加部、11 パケット送出部、12 バスインタフェース(バスI/F)、13 制御レジスタ、14 外部リセット信号、101,203,211,212,213 マルチプレクサ(MUX)(レジスタ選択手段)、105 接続用エレメント、106 機能エレメント、107 入力データ、108 レジスタ指定アドレス信号、109R0〜109R11 ルート信号、110O0〜110O8 出力信号、111 論理和回路、112 データ出力、113 制御部、114 レジスタ選択信号、201 クロススイッチ、202 接続情報レジスタ群、204 ビット選択レジスタ群、205 セレクタ(SEL)、206 比較対象レジスタ群、207 比較器、208 出力値レジスタ群、209 アドレスデコーダ(デコーダ)、210 論理積ゲート、214 マルチプレクサ(MUX)(セル出力選択手段)、215 動作モード信号、216 イネーブル信号、217 データ出力、218I〜221I 入力信号、218O〜221O 出力信号、222 デコード出力、223 判定ビット、224 比較データ、225 出力信号、226 比較命令信号、227 一致信号、228 比較対象値、229 接続情報、301C0,301C3,301C6 比較命令信号、n1〜n17 ノード、PE0〜PE8 セル。

Claims (9)

  1. 比較対象値及びこれに対応する中継アドレスを含むアドレス検索テーブルの構成データを保持する複数のレジスタを有し、宛先アドレスの入力データと前記比較対象値とを比較して前記宛先アドレスに対応する中継アドレスを検索するセルと、
    前記アドレス検索テーブルの構成データを保持するレジスタの選択を制御して前記宛先アドレスとの比較内容を動的に変更することにより、前記セルの出力として前記宛先アドレスに対応する中継アドレスを得る制御部とを備えたテーブル装置。
  2. セルは、
    宛先アドレスの入力データにおける任意のビット位置及びそのビット数を規定するビット選択値を保持する複数のレジスタを有するビット選択レジスタ群と、
    比較対象値を保持する複数のレジスタを有する比較対象レジスタ群と、
    前記比較対象レジスタ群で保持する比較対象値に対応する中継アドレス、及び次に使用するレジスタを選択するためのレジスタ選択値を保持する複数のレジスタを有する出力値レジスタ群とを、アドレス検索テーブルの構成データを保持するレジスタ群として備えると共に、
    前記ビット選択レジスタ群から選択されたレジスタのビット選択値に従って前記宛先アドレスの入力データから対応するビット位置及びビット数の比較データを選択するセレクタと、
    前記セレクタにより選択された比較データと前記比較対象レジスタ群から選択されたレジスタの比較対象値とを比較し、両者が一致した際に一致信号を出力する比較器と、
    レジスタ選択信号に基づいて前記各レジスタ群のそれぞれのレジスタを選択し、それが保持するデータを出力するレジスタ選択手段とを備え、
    制御部は、
    外部から設定されるレジスタ選択値又は前記出力値レジスタ群から出力されたレジスタ選択値に基づいて前記レジスタ選択信号を生成することを特徴とする請求項1記載のテーブル装置。
  3. 複数のセルからアドレス検索テーブルを構成し、前記複数のセルのうち比較動作を行うものとして選択したセルにより宛先アドレスの入力データと比較対象値とを比較して前記宛先アドレスに対応する中継アドレスを検索し、
    前記複数のセルからの出力の論理和を算出する論理和回路を備え、
    制御部は、前記比較動作を行うセル及び前記アドレス検索テーブルの構成データを保持するレジスタの選択を制御して前記宛先アドレスとの比較内容を動的に変更することにより、前記論理和回路の出力として前記宛先アドレスに対応する中継アドレスを得ることを特徴とする請求項1記載のテーブル装置。
  4. 各セルは、
    比較動作を行うセルを指定する比較命令信号の接続先セルを規定する接続情報、及び自セルで保持する比較対象値と宛先アドレスの比較データとの一致結果が検索処理におけるリーフ若しくは分岐であることを示す判定ビットを保持する複数のレジスタを有する接続情報レジスタ群と、
    比較対象値を保持する複数のレジスタを有する比較対象レジスタ群と、
    前記宛先アドレスの入力データにおける任意のビット位置及びそのビット数を規定するビット選択値を保持する複数のレジスタを有するビット選択レジスタ群と、
    前記比較対象レジスタ群で保持する比較対象値に対応する中継アドレスと、次に使用するレジスタを選択するためのレジスタ選択値及び次に比較動作を開始させるセルを指定する指定コードを含む分岐コードとを保持する複数のレジスタを有する出力値レジスタ群とを、アドレス検索テーブルの構成データを保持するレジスタ群として備えると共に、
    前記ビット選択レジスタ群から選択されたレジスタのビット選択値に従って前記宛先アドレスの入力データから対応するビット位置及びビット数の比較データを選択するセレクタと、
    前記セレクタにより選択された比較データと前記比較対象レジスタ群から選択されたレジスタの比較対象値とを比較し、両者が一致した際に一致信号を出力する比較器と、
    前記接続情報レジスタ群から選択されたレジスタの接続情報に基づいて、前記比較命令信号又は前記比較結果の一致信号を、自セルで使用するか、他の隣接するセルへ転送するか、又はその両方の処理を行うかをそれぞれ切り換えるクロススイッチと、
    前記比較器から出力された一致信号と前記接続情報レジスタ群から選択されたレジスタの判定ビットとの論理積の算出結果に応じてイネーブル信号を生成する論理積ゲートと、
    前記イネーブル信号の値に応じて、前記出力値レジスタ群から選択したレジスタの前記中継アドレス又は前記分岐コード若しくは0値を自セルの出力として選択するセル出力選択手段と、
    レジスタ選択信号に基づいて前記各レジスタ群のそれぞれのレジスタを選択し、それが保持するデータを出力するレジスタ選択手段とを備え、
    制御部は、
    前記宛先アドレスの入力データの入力開始時に外部から設定された初期コードあるいは論理和回路から前記セル出力の論理和として出力された分岐コードに基づいて、前記レジスタ選択信号を生成して前記各レジスタ選択手段に出力すると共に、比較動作を開始するセルを指定する比較命令信号を生成して前記クロススイッチに出力することを特徴とする請求項3記載のテーブル装置。
  5. 各セルは、接続情報レジスタ群の他に、自セルでの検索処理における比較結果の一致がリーフか分岐であることを示す判定ビットを専用に保持する複数のレジスタを有する判定ビットレジスタ群と、レジスタ選択信号に基づいて前記判定ビットレジスタ群のレジスタを選択し、それが保持する判定ビットを出力するレジスタ選択手段とを備え、
    前記接続情報レジスタ群は、接続情報のみを保持することを特徴とする請求項3又は請求項4記載のテーブル装置。
  6. 宛先アドレスの入力データに対する一致確率が高い順に、複数のセルの配列、各レジスタ群のレジスタ及びこれに保持したデータの選択順序を設定したことを特徴とする請求項3又は請求項4記載のテーブル装置。
  7. セルは、レジスタを指定する信号をデコードして外部から入力されたアドレス検索テーブルの構成データを対応する各レジスタに書き込むデコーダを備えたことを特徴とする請求項1から請求項6のうちのいずれか1項記載のテーブル装置。
  8. 請求項1から請求項7のうちのいずれか1項記載のテーブル装置と、
    入力したデータから宛先アドレスデータを抽出し、前記テーブル装置に出力する宛先アドレス抽出部と、
    アドレス検索テーブルの構成データ及びこれを書き込むべき前記テーブル装置の各レジスタを指定する信号を前記テーブル装置に伝送する伝送部と、
    前記テーブル装置の出力データとして得られた前記宛先アドレスに対応する中継アドレスを送信データに付加する中継アドレス付加部とを備えたアドレス検索装置。
  9. 比較動作の開始時に用いるレジスタ及び/又はセルを指定する初期コードを保持し、外部からの制御信号に応じてテーブル装置に設定する制御レジスタを備えたことを特徴とする請求項8記載のアドレス検索装置。
JP2005195006A 2005-07-04 2005-07-04 テーブル装置及びこれを用いたアドレス検索装置 Expired - Fee Related JP4588560B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005195006A JP4588560B2 (ja) 2005-07-04 2005-07-04 テーブル装置及びこれを用いたアドレス検索装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005195006A JP4588560B2 (ja) 2005-07-04 2005-07-04 テーブル装置及びこれを用いたアドレス検索装置

Publications (2)

Publication Number Publication Date
JP2007013856A true JP2007013856A (ja) 2007-01-18
JP4588560B2 JP4588560B2 (ja) 2010-12-01

Family

ID=37751680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005195006A Expired - Fee Related JP4588560B2 (ja) 2005-07-04 2005-07-04 テーブル装置及びこれを用いたアドレス検索装置

Country Status (1)

Country Link
JP (1) JP4588560B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008087750A1 (ja) * 2007-01-19 2010-05-06 三菱電機株式会社 テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置
JP2010166552A (ja) * 2008-12-17 2010-07-29 Mitsubishi Electric Corp テーブル装置、符号化装置、復号装置および符号化/復号装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000349811A (ja) * 1999-06-09 2000-12-15 Nec Corp 通信制御装置
JP2001326679A (ja) * 2000-05-15 2001-11-22 Fujitsu Ltd 情報装置、テーブル検索装置、テーブル検索方法、及び記録媒体
JP2002290447A (ja) * 2001-03-27 2002-10-04 Mitsubishi Electric Corp アドレス検索方法、アドレス検索回路、およびアドレス検索プログラム
JP2003198530A (ja) * 2001-12-21 2003-07-11 Mitsubishi Electric Corp パケット通信装置及び暗号アルゴリズム設定方法
JP2003324423A (ja) * 2002-05-01 2003-11-14 Nec Electronics Corp データ処理方法、暗号化方法、復号化方法、認証方法及びこれらの装置
JP2005117209A (ja) * 2003-10-06 2005-04-28 Nippon Telegr & Teleph Corp <Ntt> ポリシ制御回路

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000349811A (ja) * 1999-06-09 2000-12-15 Nec Corp 通信制御装置
JP2001326679A (ja) * 2000-05-15 2001-11-22 Fujitsu Ltd 情報装置、テーブル検索装置、テーブル検索方法、及び記録媒体
JP2002290447A (ja) * 2001-03-27 2002-10-04 Mitsubishi Electric Corp アドレス検索方法、アドレス検索回路、およびアドレス検索プログラム
JP2003198530A (ja) * 2001-12-21 2003-07-11 Mitsubishi Electric Corp パケット通信装置及び暗号アルゴリズム設定方法
JP2003324423A (ja) * 2002-05-01 2003-11-14 Nec Electronics Corp データ処理方法、暗号化方法、復号化方法、認証方法及びこれらの装置
JP2005117209A (ja) * 2003-10-06 2005-04-28 Nippon Telegr & Teleph Corp <Ntt> ポリシ制御回路

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008087750A1 (ja) * 2007-01-19 2010-05-06 三菱電機株式会社 テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置
JP4703730B2 (ja) * 2007-01-19 2011-06-15 三菱電機株式会社 テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置
US8291150B2 (en) 2007-01-19 2012-10-16 Mitsubishi Electric Corporation Table device, variable length coding apparatus, variable length decoding apparatus, and variable length coding and decoding apparatus
JP2010166552A (ja) * 2008-12-17 2010-07-29 Mitsubishi Electric Corp テーブル装置、符号化装置、復号装置および符号化/復号装置

Also Published As

Publication number Publication date
JP4588560B2 (ja) 2010-12-01

Similar Documents

Publication Publication Date Title
JP7308215B2 (ja) 複数のインターフェース通信プロトコルに適合するプログラマブルNoC
EP1033020B1 (en) Multi-protocol packet translator
US7382787B1 (en) Packet routing and switching device
US7554355B2 (en) Crossbar switch architecture for multi-processor SoC platform
US5802290A (en) Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed
US7069372B1 (en) Processor having systolic array pipeline for processing data packets
US8848703B2 (en) On-chip router and multi-core system using the same
US20060117126A1 (en) Processing unit for efficiently determining a packet&#39;s destination in a packet-switched network
JP2001312481A (ja) アレイ型プロセッサ
US6275508B1 (en) Method of and system for processing datagram headers for high speed computer network interfaces at low clock speeds, utilizing scalable algorithms for performing such network header adaptation (SAPNA)
CN104169897B (zh) Pci高速地址解码的方法
JPWO2008087750A1 (ja) テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置
JP2008310832A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
US11797311B2 (en) Asynchronous pipeline merging using long vector arbitration
US20130250954A1 (en) On-chip router and multi-core system using the same
WO2005088912A1 (en) Integrated circuit and method for packet switching control
GB2545299A (en) Efficient support for variable width data channels in an interconnect network
US7647438B1 (en) Binary base address sorting method and device with shift vector
US7779197B1 (en) Device and method for address matching with post matching limit check and nullification
JP4588560B2 (ja) テーブル装置及びこれを用いたアドレス検索装置
Loi et al. Synthesis of low-overhead configurable source routing tables for network interfaces
JP5847887B2 (ja) オンチップルータ及びそれを用いたマルチコアシステム
CN114143195B (zh) 一种数据包处理装置及方法
US7797476B2 (en) Flexible connection scheme between multiple masters and slaves
JP4391374B2 (ja) テーブル装置、可変長符号化/復号装置、可変長符号化装置および可変長復号装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071005

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080609

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100610

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: 20100831

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: 20100908

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees