JPH0384685A - データ検索装置 - Google Patents
データ検索装置Info
- Publication number
- JPH0384685A JPH0384685A JP22222889A JP22222889A JPH0384685A JP H0384685 A JPH0384685 A JP H0384685A JP 22222889 A JP22222889 A JP 22222889A JP 22222889 A JP22222889 A JP 22222889A JP H0384685 A JPH0384685 A JP H0384685A
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- address
- bit
- stored
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は識別データの一致するデータを検索するデー
タ検索装置に関し、特に識別データの一致するデータの
対を生成することによってプログラム実行順序を動的に
決定するデータ駆動形プロセッサの発火処理部に用いる
データ検索装置に関する。
タ検索装置に関し、特に識別データの一致するデータの
対を生成することによってプログラム実行順序を動的に
決定するデータ駆動形プロセッサの発火処理部に用いる
データ検索装置に関する。
〔従来の技術]
第9図はデータ駆動形プロセッサの発火処理の概念図で
あり、2つのデータの加算が行われる様子を示している
。図において”A”という値を持ち”a″という識別子
を付加されたパケット81が発火処理部87に与えられ
ると、識別子フィールド比較部84はマツチングメモリ
である待合せメモリ85にパケット81の識別子”a”
と一致する識別子を持つパケットが格納されているか否
かを検索する。第9図では”B“という値を持ち′a”
という識別子を持つパケット82が格納されているので
、このパケット82が待合せメモリ85から読出され、
入力されたパケット81と共にデータ対形成部86へ送
られる。
あり、2つのデータの加算が行われる様子を示している
。図において”A”という値を持ち”a″という識別子
を付加されたパケット81が発火処理部87に与えられ
ると、識別子フィールド比較部84はマツチングメモリ
である待合せメモリ85にパケット81の識別子”a”
と一致する識別子を持つパケットが格納されているか否
かを検索する。第9図では”B“という値を持ち′a”
という識別子を持つパケット82が格納されているので
、このパケット82が待合せメモリ85から読出され、
入力されたパケット81と共にデータ対形成部86へ送
られる。
データ対形成部86はパケット81とバケ・ント82と
を合体し、”A”という値と”B”という値とに“a”
という識別子を付加したデータ83を形成しくこれを発
火と呼ぶ)、データ処理部88で演算が実行される。
を合体し、”A”という値と”B”という値とに“a”
という識別子を付加したデータ83を形成しくこれを発
火と呼ぶ)、データ処理部88で演算が実行される。
第9図の例では待合せメモリ85に入力されたノくケラ
ト81と同じ識別子”a”を有するノくケ・ント82が
格納されていたが、待合せメモリ85に入力されたパケ
ット81と同じ識別子を有するバケ・ントが格納されて
いない場合は、入力されたパケ7)81は待合せメモリ
85に格納され、これと一致する識別子を有するパケッ
トが入力されるまで格納され続ける。
ト81と同じ識別子”a”を有するノくケ・ント82が
格納されていたが、待合せメモリ85に入力されたパケ
ット81と同じ識別子を有するバケ・ントが格納されて
いない場合は、入力されたパケ7)81は待合せメモリ
85に格納され、これと一致する識別子を有するパケッ
トが入力されるまで格納され続ける。
このように発火処理部87はデータ駆動形プロセッサに
おいて演算すべきパケ・ントを検索する役割を持ってい
る。
おいて演算すべきパケ・ントを検索する役割を持ってい
る。
通常、データ駆動形ブロセ・ンサにおいては、識別子の
ビット幅は数十ビ・ントとなるため、識別子毎にメモリ
のアドレスを割当てるとメモリ容量が膨大なものとなる
ため、従来よりマツチングメモリに用いるメモリとして
ビット幅を圧縮(以下)\ッシュという)し、これをメ
モリアドレスとして用いたメモリ (以下ハシシュメモ
リという)を用いている。
ビット幅は数十ビ・ントとなるため、識別子毎にメモリ
のアドレスを割当てるとメモリ容量が膨大なものとなる
ため、従来よりマツチングメモリに用いるメモリとして
ビット幅を圧縮(以下)\ッシュという)し、これをメ
モリアドレスとして用いたメモリ (以下ハシシュメモ
リという)を用いている。
第1O図は入力パケットの一例の構成を示すビ・ントマ
ップ図である。
ップ図である。
入力パケットは演算対象となる18ビツトのオペランド
データOD、演算内容を示すコードである7ビツトのオ
ペレーションコードQC,1ビツトのプロセッサ選択ビ
ットPS、入力パケットが2入力命令か1入力命令かを
示す1ビツトのFC処理選択ビット及び演算項に応じて
左又は右に配置すること。
データOD、演算内容を示すコードである7ビツトのオ
ペレーションコードQC,1ビツトのプロセッサ選択ビ
ットPS、入力パケットが2入力命令か1入力命令かを
示す1ビツトのFC処理選択ビット及び演算項に応じて
左又は右に配置すること。
を示す左右データ選択ビットを含み、各種の選択を行う
セレクションコードSC1入力データの入力順等の属性
を示す9ビツトのカラー/世代識別番号DN並びに次に
実行すべき命令の格納場所を示す21ビツトのノード番
号NNの60ビツトにて構成されている。そしてプロセ
ッサ選択ビットPSとカラー/世代識別番号DNとノー
ド番号NNとから識別コードである31ビツトの識別子
が構成される。
セレクションコードSC1入力データの入力順等の属性
を示す9ビツトのカラー/世代識別番号DN並びに次に
実行すべき命令の格納場所を示す21ビツトのノード番
号NNの60ビツトにて構成されている。そしてプロセ
ッサ選択ビットPSとカラー/世代識別番号DNとノー
ド番号NNとから識別コードである31ビツトの識別子
が構成される。
通常データ駆動形の計算機は複数接続されて使用される
。プロセッサ選択ビットが1”の場合は演算実行後、次
の演算は他の計算機で実行を行うことを示す。この場合
、ノード番号の上位9ビツトは次に演算を行う計算機の
計算機番号を格納し、ノード番号は下位12ビツトで表
現する。
。プロセッサ選択ビットが1”の場合は演算実行後、次
の演算は他の計算機で実行を行うことを示す。この場合
、ノード番号の上位9ビツトは次に演算を行う計算機の
計算機番号を格納し、ノード番号は下位12ビツトで表
現する。
たとえば、ハツシュアドレスは、カラー/世代識別番号
ONの下位3ビツト及びノード番号の下位6ビツトを結
合することで生成される。この場合、ハツシュメモリに
はオペランドデータと、ハツシュアドレス生成に使用さ
れなかったカラー/世代識別番号DN及びノード番号N
Nの残り21ビツトと、プロセッサ選択ビットPSの合
計40ビツトが格納される。
ONの下位3ビツト及びノード番号の下位6ビツトを結
合することで生成される。この場合、ハツシュメモリに
はオペランドデータと、ハツシュアドレス生成に使用さ
れなかったカラー/世代識別番号DN及びノード番号N
Nの残り21ビツトと、プロセッサ選択ビットPSの合
計40ビツトが格納される。
ハツシュメモリを用いた場合、ハツシュしたアドレス(
以下ハツシュアドレスという)をアクセスしたときに同
一アドレスでの衝突、所謂ハツシュ衝突が起こる虞があ
る。
以下ハツシュアドレスという)をアクセスしたときに同
一アドレスでの衝突、所謂ハツシュ衝突が起こる虞があ
る。
即ちハツシュ衝突とは識別子の一部をハツシュアドレス
とした場合にハツシュアドレスが既にハツシュメモリ内
に格納されたデータと一致しても・、残りの識別子が一
致しないデータがアクセスされたとき、そのデータを記
憶するアドレスが既に占有されているために起こるもの
である。
とした場合にハツシュアドレスが既にハツシュメモリ内
に格納されたデータと一致しても・、残りの識別子が一
致しないデータがアクセスされたとき、そのデータを記
憶するアドレスが既に占有されているために起こるもの
である。
これを回避する従来例として本出願人による発明(特願
平1−102712号)がある。
平1−102712号)がある。
これは、複数の識別データからハツシュアドレスを生成
する場合に、各識別データからにビットを抽出し、それ
らの演算に基づき生成することにより識別データが類似
している場合であってもメモリの全アドレス空間をアク
セスすることができ、ハツシュ衝突の発生を抑制し、処
理効率を向上させたデータ検索装置を得ることを目的と
したものである。このデータ検索装置は、パケットのM
個のNビットの識別データのビット列からにビットのビ
ット列を複数選択し、選択されたにビットのビット列の
排他的論理和演算等の逆算可能な演算によりパケットの
格納アドレスを生成する。生成されたアドレスにパケッ
トの一部又は全部をメモリに格納する。そして格納され
たパケットと格納アドレスが等しいパケットが入力され
たとき、格納された識別データの一部又は全部と入力さ
れた識別データの一部又は全部とを比較し、その一致/
不一致を判定するようにしたものである。さらに不一致
のとき、識別データを検索データとし、格納する連想メ
モリと、前記入力された識別データの一部又は全部とメ
モリ又は連想メモリに格納された識別データの一部又は
全部とを比較し、−致したか否かの別によりそれらから
の出力を選択するようにしたものである。
する場合に、各識別データからにビットを抽出し、それ
らの演算に基づき生成することにより識別データが類似
している場合であってもメモリの全アドレス空間をアク
セスすることができ、ハツシュ衝突の発生を抑制し、処
理効率を向上させたデータ検索装置を得ることを目的と
したものである。このデータ検索装置は、パケットのM
個のNビットの識別データのビット列からにビットのビ
ット列を複数選択し、選択されたにビットのビット列の
排他的論理和演算等の逆算可能な演算によりパケットの
格納アドレスを生成する。生成されたアドレスにパケッ
トの一部又は全部をメモリに格納する。そして格納され
たパケットと格納アドレスが等しいパケットが入力され
たとき、格納された識別データの一部又は全部と入力さ
れた識別データの一部又は全部とを比較し、その一致/
不一致を判定するようにしたものである。さらに不一致
のとき、識別データを検索データとし、格納する連想メ
モリと、前記入力された識別データの一部又は全部とメ
モリ又は連想メモリに格納された識別データの一部又は
全部とを比較し、−致したか否かの別によりそれらから
の出力を選択するようにしたものである。
このデータ検索装置においては、メモリの格納アドレス
が複数の識別データの逆算可能な演算により生成される
ので、識別データの一部が類似のパケットであっても、
同一の格納アドレスとなることがなく、ハツシュ衝突の
頻度が減少する。またハツシュ衝突が生じたときにその
パケットの識別データを検索データとして連想メモリに
格納できるのでパケットが循環することなく格納でき処
理効率が向上する。
が複数の識別データの逆算可能な演算により生成される
ので、識別データの一部が類似のパケットであっても、
同一の格納アドレスとなることがなく、ハツシュ衝突の
頻度が減少する。またハツシュ衝突が生じたときにその
パケットの識別データを検索データとして連想メモリに
格納できるのでパケットが循環することなく格納でき処
理効率が向上する。
以下、従来例を図面を用いて説明する。
第11図は前述した従来例のデータ検索装置をデータ駆
動形プロセッサの発火処理装置に用いた場合の構成を示
すブロック図である。図において612は入力セレクタ
であり、後述するFIFOメモリ611から出力された
パケットと入力されたパケットとを選択する。なおパケ
ットはそのビットマツプを第10図に示すごと<62ビ
ツトの幅を有している。
動形プロセッサの発火処理装置に用いた場合の構成を示
すブロック図である。図において612は入力セレクタ
であり、後述するFIFOメモリ611から出力された
パケットと入力されたパケットとを選択する。なおパケ
ットはそのビットマツプを第10図に示すごと<62ビ
ツトの幅を有している。
選択されたパケットはデータラッチ608に与えられ、
そこでデータ入力信号COが”H″のタイくングでラッ
チされる。ラッチされたパケットはその31ビツトの識
別子のうち、カラー/世代識別番号DNの9ビツトと、
ノード番号NNの下位9ビツトとが、排他的論理和演算
を行いハツシュアドレスを生成するアドレス生成手段で
ある演算器101の2つの入力端子に夫々与えられる。
そこでデータ入力信号COが”H″のタイくングでラッ
チされる。ラッチされたパケットはその31ビツトの識
別子のうち、カラー/世代識別番号DNの9ビツトと、
ノード番号NNの下位9ビツトとが、排他的論理和演算
を行いハツシュアドレスを生成するアドレス生成手段で
ある演算器101の2つの入力端子に夫々与えられる。
入力された9ビツトのカラー/世代識別番号DNとノー
ド番号NNの下位9ビツトとが夫々のビット毎に排他的
論理和演算され、その演算結果がハツシュアドレスとな
り、ハツシュメモリ601に与えられる。
ド番号NNの下位9ビツトとが夫々のビット毎に排他的
論理和演算され、その演算結果がハツシュアドレスとな
り、ハツシュメモリ601に与えられる。
また31ビツトの識別子と18ビツトのオペランドデー
タODとは連想メモリ部602にも与えられる。
タODとは連想メモリ部602にも与えられる。
また識別子のうちノード番号NNの下位9ビツトを除い
た22ビツトと、18ビツトのオペランドデータODと
を合わせた40ビツトの書込みデータがハツシュメモリ
601に与えられる。
た22ビツトと、18ビツトのオペランドデータODと
を合わせた40ビツトの書込みデータがハツシュメモリ
601に与えられる。
ハツシュメモリ601 は41ビツトのビット幅を有し
、2 ”(=512)のアドレス空間を有している。そ
して18ビツトのオペランドデータODと、31ビツト
の識別子のうちノード番号NNの下位9ビツトを除いた
22ビツトとが格納されると共に、そのアドレスの内容
の有効(PB=1)、無効(PB = O)の別を示す
フラグであるプレゼンスビットPBが格納されている。
、2 ”(=512)のアドレス空間を有している。そ
して18ビツトのオペランドデータODと、31ビツト
の識別子のうちノード番号NNの下位9ビツトを除いた
22ビツトとが格納されると共に、そのアドレスの内容
の有効(PB=1)、無効(PB = O)の別を示す
フラグであるプレゼンスビットPBが格納されている。
ハツシュメモリ601には前述の如く9ビツトのハツシ
ュアドレスと40ビツトの書込みデータが与えられると
共に、後述する制御部606からそのリードライトサイ
クルを定めるリードライト信号W/Ti・Hと、プレゼ
ンスビットPBの更新を行うセット信号S/Tとが与え
られ、リードライト信号W/l’t・H= ”H”のサ
イクルで書込みされ、W/1’J・H=”L#のサイク
ルで指定されたアドレスの読出しデータとプレゼンスビ
ットとが出力される。
ュアドレスと40ビツトの書込みデータが与えられると
共に、後述する制御部606からそのリードライトサイ
クルを定めるリードライト信号W/Ti・Hと、プレゼ
ンスビットPBの更新を行うセット信号S/Tとが与え
られ、リードライト信号W/l’t・H= ”H”のサ
イクルで書込みされ、W/1’J・H=”L#のサイク
ルで指定されたアドレスの読出しデータとプレゼンスビ
ットとが出力される。
第12図は連想メモリ部602の構成を示すブロック図
である。図において201はハツシュ衝突したときにデ
ータラッチ608からの31ビツトの識別子と一致する
データを検索する連想メモリ (以下CAMという)で
あり、32ビツト×32アドレスの容量となっている。
である。図において201はハツシュ衝突したときにデ
ータラッチ608からの31ビツトの識別子と一致する
データを検索する連想メモリ (以下CAMという)で
あり、32ビツト×32アドレスの容量となっている。
CAM 201のうち1ビツトは前記ハツシュメモリ6
01と同様に格納されているデータの有効性を判別する
ためのプレゼンスピッ)PBの格納に用いられる。CA
M 201には各アドレスに対して一致、不=敗検索ラ
イン(以下マツチラインという)が設けられており、与
えられた31ビツトの識別子と、CAM 201に格納
された識別子とが全て一致したアドレスの32ビツトの
マツチラインの1ビツトが”H”となる判定信号が出力
される。またCAM 201にはセレクタ205を介し
てプレゼンスビットPBの更新を行うセット信号S/π
が与えられると共にリードライトのサイクルを定めるリ
ードライト信号W/W・Cが与えられる。セレクタ20
5は一端に基準電圧が、他端にセット信号S/1が与え
られており、また切換端子にはリードライト信号W/T
−Cが与えられており、リードサイクルのときは基準電
圧が、ライトサイクルのときはセット信号S/l’rが
選択される。即ちリードサイクル(W/「・C=L)の
ときは、プレゼンスビットPB=1のアドレスだけを検
索する必要があるので、検索データのプレゼンスビット
PBに相当するビットを常に1とし、ライトサイクル(
W/1・C=H)のときのみプレゼンスビットPBを更
新する必要があるためにこのセレクタ205は用いられ
る。
01と同様に格納されているデータの有効性を判別する
ためのプレゼンスピッ)PBの格納に用いられる。CA
M 201には各アドレスに対して一致、不=敗検索ラ
イン(以下マツチラインという)が設けられており、与
えられた31ビツトの識別子と、CAM 201に格納
された識別子とが全て一致したアドレスの32ビツトの
マツチラインの1ビツトが”H”となる判定信号が出力
される。またCAM 201にはセレクタ205を介し
てプレゼンスビットPBの更新を行うセット信号S/π
が与えられると共にリードライトのサイクルを定めるリ
ードライト信号W/W・Cが与えられる。セレクタ20
5は一端に基準電圧が、他端にセット信号S/1が与え
られており、また切換端子にはリードライト信号W/T
−Cが与えられており、リードサイクルのときは基準電
圧が、ライトサイクルのときはセット信号S/l’rが
選択される。即ちリードサイクル(W/「・C=L)の
ときは、プレゼンスビットPB=1のアドレスだけを検
索する必要があるので、検索データのプレゼンスビット
PBに相当するビットを常に1とし、ライトサイクル(
W/1・C=H)のときのみプレゼンスビットPBを更
新する必要があるためにこのセレクタ205は用いられ
る。
またCAM 201からは32ビツトのマツチラインに
識別子の一致、不一致の別を示す判定信号が出力される
と共に、空アドレス検出器203に各アドレスのプレゼ
ンスビットPBが出力され、そこでプレゼンスビットP
Bにより空アドレスが検出される。
識別子の一致、不一致の別を示す判定信号が出力される
と共に、空アドレス検出器203に各アドレスのプレゼ
ンスビットPBが出力され、そこでプレゼンスビットP
Bにより空アドレスが検出される。
空アドレス検出器203は32ビツトの検出信号をアド
レスセレクタ204の一端に出力すると共に空アドレス
がな(CAM 201の全アドレス空間にハツシュ衝突
したパケットの識別子が格納されたとき、そのことを示
すフル信号PLを制御部606に出力する。なお検出信
号はCAM 201のアドレスに対応する32ビツトの
出力であり、その空アドレスのビットが”H”となって
いる。アドレスセレクタ204の他端にはマツチライン
からの判定信号が与えられ、その切換端子に与えられた
リードライト信号W/π・Cのリードライトに応じアド
レスセレクタ204はリードサイクルのときは判定信号
を、またライトサイクルのときは空アドレス検出器20
3の検出信号を夫々選択する。アドレスセレクタ204
のアドレス選択出力はRAM 202に与えられ、それ
により指定されたアドレスがアクセスされる。RAM2
02はオペランドデータを格納するためのものであり、
18ビツト×32アドレスの容量となっている。
レスセレクタ204の一端に出力すると共に空アドレス
がな(CAM 201の全アドレス空間にハツシュ衝突
したパケットの識別子が格納されたとき、そのことを示
すフル信号PLを制御部606に出力する。なお検出信
号はCAM 201のアドレスに対応する32ビツトの
出力であり、その空アドレスのビットが”H”となって
いる。アドレスセレクタ204の他端にはマツチライン
からの判定信号が与えられ、その切換端子に与えられた
リードライト信号W/π・Cのリードライトに応じアド
レスセレクタ204はリードサイクルのときは判定信号
を、またライトサイクルのときは空アドレス検出器20
3の検出信号を夫々選択する。アドレスセレクタ204
のアドレス選択出力はRAM 202に与えられ、それ
により指定されたアドレスがアクセスされる。RAM2
02はオペランドデータを格納するためのものであり、
18ビツト×32アドレスの容量となっている。
リードライト信号W/IT・C及びアドレス選択出力に
応してオペランドデータの読書きが行われる。
応してオペランドデータの読書きが行われる。
即ちリードサイクルではRAM 202のアドレスライ
ンには判定信号が与えられ、CAM 201に入力され
たパケットの識別子と一致する識別子がCAM 201
に格納されている場合(これをCAM 201がヒツト
したという)、判定信号に応じたアドレスの18ビツト
のオペランドデータが読出しデータとして出力される。
ンには判定信号が与えられ、CAM 201に入力され
たパケットの識別子と一致する識別子がCAM 201
に格納されている場合(これをCAM 201がヒツト
したという)、判定信号に応じたアドレスの18ビツト
のオペランドデータが読出しデータとして出力される。
この読出しデータは判定信号とマージされ、50ビツト
の出力信号としてデータラッチ609に出力される。ま
たCAM 201がヒツトしなければ判定信号は32ビ
ツト全て”L”のままであり、RAM202からは如何
なるオペランドデータも読出されない。
の出力信号としてデータラッチ609に出力される。ま
たCAM 201がヒツトしなければ判定信号は32ビ
ツト全て”L”のままであり、RAM202からは如何
なるオペランドデータも読出されない。
一方ライトサイクルでは空アドレス検出器203から検
出信号が選択され、CAM 201とRAM 202の
いずれかのアドレスに31ビツトの識別子と18ビツト
のオペランドデータODとを格納するか指示する。
出信号が選択され、CAM 201とRAM 202の
いずれかのアドレスに31ビツトの識別子と18ビツト
のオペランドデータODとを格納するか指示する。
またCAM 201がヒツトした場合はプレゼンスビッ
トPBを更新する必要が生じるので、ライトサイクルに
てCAM 201に与えられるアドレスはヒツトしたア
ドレスである。
トPBを更新する必要が生じるので、ライトサイクルに
てCAM 201に与えられるアドレスはヒツトしたア
ドレスである。
入力されたパケットとハツシュアドレスとが等しいハツ
シュメモリ601内の40ビツトの格納データ、ハツシ
ュメモリ601のプレゼンスビットPB及び連想メモリ
部602の出力信号はデータラッチ609にクロックT
1のタイミングでラッチされ、プレゼンスビットPBは
制御部606へ、また格納データのうちの22ビツトの
識別子は一致検出器603の一端へ、格納データのうち
の18ビツトのオペランドデータODは出力セレクタ6
05の一端へ夫々与えられる。また連想メモリ部602
の出力信号のうち32ビツトの判定信号はヒツト検出器
604へ、また18ビツトのオペランドデータODは出
力セレクタ605の他端へ与えられる。
シュメモリ601内の40ビツトの格納データ、ハツシ
ュメモリ601のプレゼンスビットPB及び連想メモリ
部602の出力信号はデータラッチ609にクロックT
1のタイミングでラッチされ、プレゼンスビットPBは
制御部606へ、また格納データのうちの22ビツトの
識別子は一致検出器603の一端へ、格納データのうち
の18ビツトのオペランドデータODは出力セレクタ6
05の一端へ夫々与えられる。また連想メモリ部602
の出力信号のうち32ビツトの判定信号はヒツト検出器
604へ、また18ビツトのオペランドデータODは出
力セレクタ605の他端へ与えられる。
一致検出器603の他端には入力されたパケットの31
ビツトの識別子の下位9ビツトを除いた22ビツトの識
別子が与えられ、入力された2つの識別子の一致を検出
し、一致している場合は一致信号HQを制御部606に
出力する。即ち一致した場合はハツシュアドレスとして
用いた9ビツトの識別子と22ビツトの識別子とが全て
一致したこととなるためその旨を一致信号EQとして制
御部606へ告知する。
ビツトの識別子の下位9ビツトを除いた22ビツトの識
別子が与えられ、入力された2つの識別子の一致を検出
し、一致している場合は一致信号HQを制御部606に
出力する。即ち一致した場合はハツシュアドレスとして
用いた9ビツトの識別子と22ビツトの識別子とが全て
一致したこととなるためその旨を一致信号EQとして制
御部606へ告知する。
またヒツト検出器604はCAM 201からの32本
のマツチラインの反転信号をモニタし、その中の1ビツ
トでも”H″に立上ったものがあった場合は(=CAM
201がヒツトすれば)、ヒツト信号同Tを制御部6
06及び出力セレクタ605の切換端子に与える。
のマツチラインの反転信号をモニタし、その中の1ビツ
トでも”H″に立上ったものがあった場合は(=CAM
201がヒツトすれば)、ヒツト信号同Tを制御部6
06及び出力セレクタ605の切換端子に与える。
出力セレクタ605は、入力されたパケットの識別子と
ハツシュメモリ601又は連想メモリ602内に格納さ
れた識別子とが全て一致する発火対象の相手データが検
索された場合に一致した識別子を格納した方のメモリか
らのオペランドデータ00を選択するものである。選択
結果のオペランドデータ00はデータラッチ610に与
えられ、制御部606からのクロックT2の”H”のタ
イ逅ングでラッチされ、データ対形成器607の一端に
与えられる。
ハツシュメモリ601又は連想メモリ602内に格納さ
れた識別子とが全て一致する発火対象の相手データが検
索された場合に一致した識別子を格納した方のメモリか
らのオペランドデータ00を選択するものである。選択
結果のオペランドデータ00はデータラッチ610に与
えられ、制御部606からのクロックT2の”H”のタ
イ逅ングでラッチされ、データ対形成器607の一端に
与えられる。
出力セレクタ605の選択は切換端子に与えられたヒツ
ト信号同Tにより行われ、CAM 201がヒツトした
場合にのみ連想メモリ部602に格納されていたオペラ
ンドデータODを選択し、ヒツトしなかった場合にはハ
ツシュメモリ601に格納されていたデータを選択し、
データラッチ610に送る。
ト信号同Tにより行われ、CAM 201がヒツトした
場合にのみ連想メモリ部602に格納されていたオペラ
ンドデータODを選択し、ヒツトしなかった場合にはハ
ツシュメモリ601に格納されていたデータを選択し、
データラッチ610に送る。
データ対形成器607は出力セレクタ605により選択
されたオペランドデータODが一端に入力されると共に
他端には、データラッチ608からの62ビツトの入力
されたパケットのデータが与えられる。
されたオペランドデータODが一端に入力されると共に
他端には、データラッチ608からの62ビツトの入力
されたパケットのデータが与えられる。
そして2つのデータがマージされ80ビツトの2オペラ
ンドデータが形成される。このとき2項演算の減算命令
の如くオペランドの順序関係が重要なものがあるので、
選択されたオペランドデータ00と入力されたパケット
のオペランドデータODとは正しく左又は右のオペラン
ドとして配置される必要がある。
ンドデータが形成される。このとき2項演算の減算命令
の如くオペランドの順序関係が重要なものがあるので、
選択されたオペランドデータ00と入力されたパケット
のオペランドデータODとは正しく左又は右のオペラン
ドとして配置される必要がある。
制御部606はプレゼンスビットPB、ヒツト信号)1
1T 、一致信号EQ、入力されたパケットが2入力命
令か1入力命令かの別を示すFC処理選択ビットの状態
で定まる入力選択信号FC(2入力命令FC=1.1入
力命令FC=O)及びフル信号FLが与えられ、それら
を判断してリードライト信号W/W・C,W/ff・H
、セット信号S/π、データ出力信号C1及び後述する
FIFOメモリ611への書込信号WRFを出力する。
1T 、一致信号EQ、入力されたパケットが2入力命
令か1入力命令かの別を示すFC処理選択ビットの状態
で定まる入力選択信号FC(2入力命令FC=1.1入
力命令FC=O)及びフル信号FLが与えられ、それら
を判断してリードライト信号W/W・C,W/ff・H
、セット信号S/π、データ出力信号C1及び後述する
FIFOメモリ611への書込信号WRFを出力する。
またデータ入力信号CO、データ出力許可信号AIが入
力され、それらを判断してデータ入力許可信号AO、ク
ロックTI及び同T2を出力する。ここでデータ入力信
号CO及びデータ入力許可信号AOはこの発火処理装置
と、この装置に対してデータを与える処理装置(以下前
段装置という)との間のデータ転送制御信号であり、デ
ータ出力信号C1及びデータ出力許可信号A1はこの装
置の出力するデータを受取る処理装置(以下後段装置と
いう)との間のデータ転送制御信号である。
力され、それらを判断してデータ入力許可信号AO、ク
ロックTI及び同T2を出力する。ここでデータ入力信
号CO及びデータ入力許可信号AOはこの発火処理装置
と、この装置に対してデータを与える処理装置(以下前
段装置という)との間のデータ転送制御信号であり、デ
ータ出力信号C1及びデータ出力許可信号A1はこの装
置の出力するデータを受取る処理装置(以下後段装置と
いう)との間のデータ転送制御信号である。
制御部606にフル信号PLが入力され、さらにハツシ
ュ衝突が生じた場合、制御部606から2ボートタイプ
のFIFOメモリ611に書込み信号WRFが与えられ
る。このときFIFOメモリ611はデータ対形成器6
07からの出力信号のうち入力されたパケットの62ビ
ツトのデータを格納し、それを所定時間バッファリング
した後、入力セレクタ612の他端に与える。この間に
ハツシュ衝突の原因となったハツシュアドレスのハツシ
ュメモリ601内のデータか、またはCAM 201内
のデータのいずれかのデータが読出されて発火されてい
る場合はFIFOメモU611を経由して再び入力され
たパケットはこの装置内のハツシュメモリ601又は連
想メモリ部602のいずれかで待合せを行うことができ
る。
ュ衝突が生じた場合、制御部606から2ボートタイプ
のFIFOメモリ611に書込み信号WRFが与えられ
る。このときFIFOメモリ611はデータ対形成器6
07からの出力信号のうち入力されたパケットの62ビ
ツトのデータを格納し、それを所定時間バッファリング
した後、入力セレクタ612の他端に与える。この間に
ハツシュ衝突の原因となったハツシュアドレスのハツシ
ュメモリ601内のデータか、またはCAM 201内
のデータのいずれかのデータが読出されて発火されてい
る場合はFIFOメモU611を経由して再び入力され
たパケットはこの装置内のハツシュメモリ601又は連
想メモリ部602のいずれかで待合せを行うことができ
る。
この際、入力セレクタ612は通常外部より与えられる
データをセレクトし、FIFOメモリ611の出力端に
バンファリングを施されたデータが存在するときのみ、
外部より与えられるデータとFIFOメモリ611の与
えるデータを交互にセレクトするよう制御される。
データをセレクトし、FIFOメモリ611の出力端に
バンファリングを施されたデータが存在するときのみ、
外部より与えられるデータとFIFOメモリ611の与
えるデータを交互にセレクトするよう制御される。
次に以下の如く構成された従来の発火処理装置の動作に
ついて説明する。なおハツシュメモリ601にはデータ
対を待つ複数のパケットが格納されているとする。第1
3図は従来例の概略動作を説明するフローチャートであ
る。パケットが入力されると(Sl)、連想メモリ部6
02では格納された識別子との一致、不一致を判定(S
IO)すると共に9ビツトのハツシュアドレスが9ビツ
トのカラー/世代識別番号DNとノード番号NNの下位
9ビツトとの排性的論理和により生成される(S2)。
ついて説明する。なおハツシュメモリ601にはデータ
対を待つ複数のパケットが格納されているとする。第1
3図は従来例の概略動作を説明するフローチャートであ
る。パケットが入力されると(Sl)、連想メモリ部6
02では格納された識別子との一致、不一致を判定(S
IO)すると共に9ビツトのハツシュアドレスが9ビツ
トのカラー/世代識別番号DNとノード番号NNの下位
9ビツトとの排性的論理和により生成される(S2)。
次にハツシュメモリ601のそのハツシュアドレスに有
効なデータが既に格納されているか否かが判定され(S
3)、連想メモリ部602の識別子と一致せず、かつ(
S3)でデータが格納されていない場合は入力パケット
をハツシュメモリ601のそのハツシュアドレスに格納
しくS4)、格納されている場合は22ビツトの他の識
別子が一致しているか否かが判定され(S5)、一致し
ていない場合はハツシュ衝突が生じているので、入力パ
ケットを連想メモリ部602に格納しくS7〉、一致し
た場合はハツシュメモリ601内の格納データを選択し
くS9)、それと入力パケットとをデータ対となす発火
処理を行う(S12) 、ただし、連想メモリ部602
の識別子と一致せず、かつ、ハツシュメモリ内の22ビ
ツトの他の識別子が不一致の時に(S14)、メモリ部
602が満杯か否かが判定され(S6)、満杯のときは
入力パケットをFIFOメモリ611に格納しくS8)
、満杯でないときは連想メモリ部602に格納した後(
S7)次の処理に移る。
効なデータが既に格納されているか否かが判定され(S
3)、連想メモリ部602の識別子と一致せず、かつ(
S3)でデータが格納されていない場合は入力パケット
をハツシュメモリ601のそのハツシュアドレスに格納
しくS4)、格納されている場合は22ビツトの他の識
別子が一致しているか否かが判定され(S5)、一致し
ていない場合はハツシュ衝突が生じているので、入力パ
ケットを連想メモリ部602に格納しくS7〉、一致し
た場合はハツシュメモリ601内の格納データを選択し
くS9)、それと入力パケットとをデータ対となす発火
処理を行う(S12) 、ただし、連想メモリ部602
の識別子と一致せず、かつ、ハツシュメモリ内の22ビ
ツトの他の識別子が不一致の時に(S14)、メモリ部
602が満杯か否かが判定され(S6)、満杯のときは
入力パケットをFIFOメモリ611に格納しくS8)
、満杯でないときは連想メモリ部602に格納した後(
S7)次の処理に移る。
又、入力パケットと連想メモリ部602で格納された識
別子との一致、不一致の判定(510)で、致したとき
は連想メモリ部602の出力を選択しく5ll) 、発
火処理する(S12)。以上が概略動作である。
別子との一致、不一致の判定(510)で、致したとき
は連想メモリ部602の出力を選択しく5ll) 、発
火処理する(S12)。以上が概略動作である。
第14図は従来例の装置の動作サイクルを説明するタイ
ミングチャートであり、この図に示す如〈従来例の装置
の動作サイクルはリードサイクル、処理サイクル及びラ
イトサイクルの3つのサイクルに分けられる。前段装置
からのデータ入力信号COが制御部606に入力される
と、前段装置への出力許可信号AOが”1”→″O”に
変化し、次の入力を禁止し、リードサイクルに入る。リ
ードサイクルに入ると、入力セレクタ612で選択され
た入力パケット又はCAM 201のオーバフローによ
り循環されたパケットのいずれかが、データ入力信号C
Oの”0″→“1”のタイミングでデータラッチ608
にラッチされる。データラッチ608にパケットが入力
されると、前記パケットの31ビツトの識別子のうち、
カラー/世代識別番号DNの9ビツトと21ビツトのノ
ード番号NNの下位9ビツトとが演算器101に与えら
れそれらの排他的論理和演算が行われ、9ビツトのハツ
シュアドレスが定められる。
ミングチャートであり、この図に示す如〈従来例の装置
の動作サイクルはリードサイクル、処理サイクル及びラ
イトサイクルの3つのサイクルに分けられる。前段装置
からのデータ入力信号COが制御部606に入力される
と、前段装置への出力許可信号AOが”1”→″O”に
変化し、次の入力を禁止し、リードサイクルに入る。リ
ードサイクルに入ると、入力セレクタ612で選択され
た入力パケット又はCAM 201のオーバフローによ
り循環されたパケットのいずれかが、データ入力信号C
Oの”0″→“1”のタイミングでデータラッチ608
にラッチされる。データラッチ608にパケットが入力
されると、前記パケットの31ビツトの識別子のうち、
カラー/世代識別番号DNの9ビツトと21ビツトのノ
ード番号NNの下位9ビツトとが演算器101に与えら
れそれらの排他的論理和演算が行われ、9ビツトのハツ
シュアドレスが定められる。
ハツシュアドレスが定められると、リードサイクルでは
ハツシュメモリ601 と連想メモリ602とが同時に
読出される。メモリ読出しに必要な時間が経過するとク
ロックT1が”0″→″1”に変化し、続出されたデー
タはデータラッチ609にラッチされる。ここから処理
サイクルに入り、一致検出器603及びヒツト検出器6
04はハツシュメモリ601及び連想メモリ部602よ
り読出された各データに基づいて一致信号EQ及びヒツ
ト信号同Tを出力する。一致検出器603はハツシュ衝
突が起こっているか否かを検出するものであり、データ
ラッチ608に入力されているパケットの識別子とハシ
シュメモリ601から読出されたデータラッチ609に
ラッチされている識別子との比較を行う。即ち、カラー
/世代識別番号DNの9ビツト、ノード番号NNの上位
12ビツト及びプロセッサ識別ビットの1ビツトの計2
2ビットの比較を行う。これらの22ビツトが全て等し
いと判定されると、9ビツトのハツシュアドレスが等し
く、また9ビツトのカラー/世代識別番号DNが等しい
ので、ノード番号NNの下位9ビツトも等しいことにな
り、31ビツトの識別子の全てが等しいと判定され、一
致検出器603ば一致信号EQ=”l”を制御部606
に出力する。
ハツシュメモリ601 と連想メモリ602とが同時に
読出される。メモリ読出しに必要な時間が経過するとク
ロックT1が”0″→″1”に変化し、続出されたデー
タはデータラッチ609にラッチされる。ここから処理
サイクルに入り、一致検出器603及びヒツト検出器6
04はハツシュメモリ601及び連想メモリ部602よ
り読出された各データに基づいて一致信号EQ及びヒツ
ト信号同Tを出力する。一致検出器603はハツシュ衝
突が起こっているか否かを検出するものであり、データ
ラッチ608に入力されているパケットの識別子とハシ
シュメモリ601から読出されたデータラッチ609に
ラッチされている識別子との比較を行う。即ち、カラー
/世代識別番号DNの9ビツト、ノード番号NNの上位
12ビツト及びプロセッサ識別ビットの1ビツトの計2
2ビットの比較を行う。これらの22ビツトが全て等し
いと判定されると、9ビツトのハツシュアドレスが等し
く、また9ビツトのカラー/世代識別番号DNが等しい
ので、ノード番号NNの下位9ビツトも等しいことにな
り、31ビツトの識別子の全てが等しいと判定され、一
致検出器603ば一致信号EQ=”l”を制御部606
に出力する。
即ち、入力されたパケットのカラー/世代識別番号DN
の9ビツトをg、ノード番号NNの上位12ビツトをN
A、下位9ビツトをN、とし、ハツシュメモリ601内
に格納されているカラー/世代識別番号ONをgM、ノ
ード番号NNの上位12ビツトをNイとすると、ハツシ
ュアドレスAは前述の如くA=g[F]N ・・・(1
)○:排他的論理和T又はNm=g[F]A ・・・(
2)によって求められ、このハツシュアドレスAにより
ハ・ンシュメモリ601をアクセスしている。ハ・ンシ
ュメモリ601上にノード番号NNの21ビツトのうち
下位9ビツトは格納されていないので、それを求めなけ
れば入力パケットの下位9ビツトNIIとの比較はでき
ない。
の9ビツトをg、ノード番号NNの上位12ビツトをN
A、下位9ビツトをN、とし、ハツシュメモリ601内
に格納されているカラー/世代識別番号ONをgM、ノ
ード番号NNの上位12ビツトをNイとすると、ハツシ
ュアドレスAは前述の如くA=g[F]N ・・・(1
)○:排他的論理和T又はNm=g[F]A ・・・(
2)によって求められ、このハツシュアドレスAにより
ハ・ンシュメモリ601をアクセスしている。ハ・ンシ
ュメモリ601上にノード番号NNの21ビツトのうち
下位9ビツトは格納されていないので、それを求めなけ
れば入力パケットの下位9ビツトNIIとの比較はでき
ない。
しかし前述の如<g=gHが判明すると、上記(2)式
より Nm=g14eA ・・・(3) が得られる。しかしN8が直接に得られるため、格納さ
れていない下位9ビツトを求める必要がなく、比較する
必要もなくなる。
より Nm=g14eA ・・・(3) が得られる。しかしN8が直接に得られるため、格納さ
れていない下位9ビツトを求める必要がなく、比較する
必要もなくなる。
そしてヒツト検出器604では連想メモリ部602に格
納されている識別子とデータラッチ608に入力されて
いるパケットの識別子とが等しい場合、即ち32ビツト
のマツチラインのいずれかが”H”となったときにヒツ
ト信号同T=”1”を出力する。
納されている識別子とデータラッチ608に入力されて
いるパケットの識別子とが等しい場合、即ち32ビツト
のマツチラインのいずれかが”H”となったときにヒツ
ト信号同T=”1”を出力する。
上述の操作に必要な時間が経過すると、クロックT2が
”0”→”1”に変化し、ライトサイクルに入る。ライ
トサイクルではプレゼンスビットPBの更新を含むメモ
リの書込みとデータ対の生成が行われる。これらの操作
に必要な時間が経過すると制御部606はデータ出力信
号CIを出力し、クロックTI 、T2及びデータ入力
許可信号AOの復帰を行い一連の処理を終了する。但し
データ出力信号C1の出力は入力されたパケットが発火
したときだけであり、発火しなかった場合は、クロック
Tl 、T2及びデータ入力許可信号AOの復帰だけを
行い、データ出力信号C1は出力されない。そしてこの
ライトサイクルではプレゼンスビットPB。
”0”→”1”に変化し、ライトサイクルに入る。ライ
トサイクルではプレゼンスビットPBの更新を含むメモ
リの書込みとデータ対の生成が行われる。これらの操作
に必要な時間が経過すると制御部606はデータ出力信
号CIを出力し、クロックTI 、T2及びデータ入力
許可信号AOの復帰を行い一連の処理を終了する。但し
データ出力信号C1の出力は入力されたパケットが発火
したときだけであり、発火しなかった場合は、クロック
Tl 、T2及びデータ入力許可信号AOの復帰だけを
行い、データ出力信号C1は出力されない。そしてこの
ライトサイクルではプレゼンスビットPB。
一致信号EQ、ヒツト信号旧T、フル信号PL及び入力
選択信号FCによってリードライト信号W/π・HSW
/π・C,FIFOメモリ611の書込信号−RF及び
セット信号S/xが制御部606で生成される。
選択信号FCによってリードライト信号W/π・HSW
/π・C,FIFOメモリ611の書込信号−RF及び
セット信号S/xが制御部606で生成される。
この真理値表を第15図に示す。これによりハシシュメ
モリ601及び連想メモリ部602に入力されたパケッ
トを書込むか否かを定め、下記の如くの動作をする。
モリ601及び連想メモリ部602に入力されたパケッ
トを書込むか否かを定め、下記の如くの動作をする。
第15図の(1)は、1入力命令が与えられた場合を示
し、ハツシュメモリ601の内容を何ら更新することな
く1オペランドデータがそのまま出力される。
し、ハツシュメモリ601の内容を何ら更新することな
く1オペランドデータがそのまま出力される。
第15図の(2)〜(7)は2入力命令が与えられた場
合を示し、データを出力するか否かは各種の条件により
定まる。(2)はハツシュメモリ601の入力パケット
により定められたハツシュアドレスにデータが格納され
ており (PR=1)、それがハツシュ衝突を起こすこ
とがなかった(E口=1)場合を示す。ハツシュメモリ
601と連想メモリ部602とに重複してデータが格納
されることはないので、この場合CAM 201がヒツ
トすることはない(HIT=0)。このときライトサイ
クルにおいてはハツシュメモリ601のプレゼンスビッ
トPBをリセットする必要があるのでリードライト信号
W/Tr・H=1、セット信号S/’I’r=0とする
。連想メモリ部602には手を加える必要がないので、
リードライト信号W/Tr・C=Oとする。入力された
パケットはハツシュメモリ601の内容と発火したので
、ライトサイクルの終了と同時にデータ出力信号C1を
出力する。
合を示し、データを出力するか否かは各種の条件により
定まる。(2)はハツシュメモリ601の入力パケット
により定められたハツシュアドレスにデータが格納され
ており (PR=1)、それがハツシュ衝突を起こすこ
とがなかった(E口=1)場合を示す。ハツシュメモリ
601と連想メモリ部602とに重複してデータが格納
されることはないので、この場合CAM 201がヒツ
トすることはない(HIT=0)。このときライトサイ
クルにおいてはハツシュメモリ601のプレゼンスビッ
トPBをリセットする必要があるのでリードライト信号
W/Tr・H=1、セット信号S/’I’r=0とする
。連想メモリ部602には手を加える必要がないので、
リードライト信号W/Tr・C=Oとする。入力された
パケットはハツシュメモリ601の内容と発火したので
、ライトサイクルの終了と同時にデータ出力信号C1を
出力する。
第15図の(3)及び(4)はハツシュメモリ601に
有効なデータが格納されていたが、それがハツシュ衝突
を起こした場合を示す(PR=1.E口=0)。そして
(3)ではCA?+ 201でもヒツトしなかったため
(HIT=0)、入力されたデータは連想メモリ部60
2に格納され(W/脣・C=1.S/頁=1)データの
出力は行われなイ(C1=0)。(4)テはCAM 2
01がヒツトしたため(HIT=1)、入力されたパケ
ットは連想メモリ部602の内容と発火し、出力される
(c1=l)。ここでCAM 201のプレゼンスビッ
トPBがリセットされなければいけないので、リードラ
イト信号W/Tr・C=1.セット信号S/N=0とさ
れる。(5)及び(6)はハツシュメモリ601に有効
なデータが格納されていなかった場合であり (PB=
0)、一致信号EQの値に意味はない。(5)ではCA
M 201がヒツトしなかった場合を示しくHIT=0
)、入力されたパケットはハツシュメモリ601に書込
まれる(W/1・H=1.S/TJ=1.C1=O)。
有効なデータが格納されていたが、それがハツシュ衝突
を起こした場合を示す(PR=1.E口=0)。そして
(3)ではCA?+ 201でもヒツトしなかったため
(HIT=0)、入力されたデータは連想メモリ部60
2に格納され(W/脣・C=1.S/頁=1)データの
出力は行われなイ(C1=0)。(4)テはCAM 2
01がヒツトしたため(HIT=1)、入力されたパケ
ットは連想メモリ部602の内容と発火し、出力される
(c1=l)。ここでCAM 201のプレゼンスビッ
トPBがリセットされなければいけないので、リードラ
イト信号W/Tr・C=1.セット信号S/N=0とさ
れる。(5)及び(6)はハツシュメモリ601に有効
なデータが格納されていなかった場合であり (PB=
0)、一致信号EQの値に意味はない。(5)ではCA
M 201がヒツトしなかった場合を示しくHIT=0
)、入力されたパケットはハツシュメモリ601に書込
まれる(W/1・H=1.S/TJ=1.C1=O)。
(6)ではCAM 201がヒツトしており、(4)と
同様な操作を行う。また(7)はハツシュメモリ601
に有効なデータが格納されていたがそれがハツシュ衝突
を起こしくPB=1 、EQ=0)、連想メモリ部60
2に格納する必要が生じたが、CAM 201が満杯と
なり全アドレスが有効となった場合(PL = 1)を
示し、入力されたパケットはFIFOメモリ611に所
定時間をバッファリングされる(WRF=1)。第15
図を参照して述べた動作は全てライトサイクルにおける
ものであり、ライトサイクル以外の動作ではリードライ
ト信号W/TU・H,W/l’r・Cは常に”0”とな
っている。
同様な操作を行う。また(7)はハツシュメモリ601
に有効なデータが格納されていたがそれがハツシュ衝突
を起こしくPB=1 、EQ=0)、連想メモリ部60
2に格納する必要が生じたが、CAM 201が満杯と
なり全アドレスが有効となった場合(PL = 1)を
示し、入力されたパケットはFIFOメモリ611に所
定時間をバッファリングされる(WRF=1)。第15
図を参照して述べた動作は全てライトサイクルにおける
ものであり、ライトサイクル以外の動作ではリードライ
ト信号W/TU・H,W/l’r・Cは常に”0”とな
っている。
これらの動作で発火することが判明したパケット及びデ
ータはデータ対形成器607に送られ、オペランド対パ
ケットが形成されて出力される。このように発火処理装
置に対してハツシュメモリ601と連想メモリ602と
を併用し、両者の読出しを同時に行うことにより、ハツ
シュ衝突の如何に拘わらず同じ速度で処理ができ、装置
の制御も第15図に示した如く簡潔に1〒・える。
ータはデータ対形成器607に送られ、オペランド対パ
ケットが形成されて出力される。このように発火処理装
置に対してハツシュメモリ601と連想メモリ602と
を併用し、両者の読出しを同時に行うことにより、ハツ
シュ衝突の如何に拘わらず同じ速度で処理ができ、装置
の制御も第15図に示した如く簡潔に1〒・える。
またこの従来例ではハシシュ衝突が頻発しCAM201
がオーバフローした場合であっても、入力されたパケッ
トを所定時間FIFOメモリ611にバッファリングす
るようにしており、CAM 201の容量を小さくする
ことができ、CAM 201が満杯となリオーバフロー
した場合に何ら特別の処理を行う必要がないという効果
がある。
がオーバフローした場合であっても、入力されたパケッ
トを所定時間FIFOメモリ611にバッファリングす
るようにしており、CAM 201の容量を小さくする
ことができ、CAM 201が満杯となリオーバフロー
した場合に何ら特別の処理を行う必要がないという効果
がある。
従来のデータ検索装置は以上のように構成されており、
入力されたパケットがハツシュ衝突し、かつCAMが満
杯の場合、入力されたパケットをPIFOメモリに出力
していた。このため、CAMが満杯のとき、発火対象の
パケットが続けて入力されると、それらがFIFOメそ
りに続けて出力され、2つのパケットの間での発火がな
されないために、それらが処理されないとそれ以後の処
理ができない場合、他の全てのパケットが永遠に発火で
きない状態、即ちデッドロック状態に陥る虞があった。
入力されたパケットがハツシュ衝突し、かつCAMが満
杯の場合、入力されたパケットをPIFOメモリに出力
していた。このため、CAMが満杯のとき、発火対象の
パケットが続けて入力されると、それらがFIFOメそ
りに続けて出力され、2つのパケットの間での発火がな
されないために、それらが処理されないとそれ以後の処
理ができない場合、他の全てのパケットが永遠に発火で
きない状態、即ちデッドロック状態に陥る虞があった。
この発明は従来例を改良し、上記のような問題点を解消
するためになされたものであり、連想メモリ部が満杯の
場合にパケットが入力し、ハツシュ衝突したとき連想メ
モリ部に格納されていたパケットのうち任意の1つのパ
ケットをFIFOメモリに出力し、あいたアドレスに入
力したパケットを格納することにより、デッドロックを
回避できるデータ検索装置を得ることを目的とする。
するためになされたものであり、連想メモリ部が満杯の
場合にパケットが入力し、ハツシュ衝突したとき連想メ
モリ部に格納されていたパケットのうち任意の1つのパ
ケットをFIFOメモリに出力し、あいたアドレスに入
力したパケットを格納することにより、デッドロックを
回避できるデータ検索装置を得ることを目的とする。
この発明に係るデータ検索装置は、識別データを検索デ
ータとして格納されたパケットを検索すると共に、所定
の条件で入力パケットの一部又は全部を格納する第1格
納手段を設けると共に、第1格納手段が満杯か否かを判
断する判断手段、満杯と判断されたとき、第1格納手段
に格納されたパケットから任意のアドレスのパケットを
出力し、入力されたパケットをそこに格納すべく制御す
る制御手段及び出力されたパケットを格納すると共に、
格納されているパケットを第1格納手段に出力する第2
格納手段を設けたものである。
ータとして格納されたパケットを検索すると共に、所定
の条件で入力パケットの一部又は全部を格納する第1格
納手段を設けると共に、第1格納手段が満杯か否かを判
断する判断手段、満杯と判断されたとき、第1格納手段
に格納されたパケットから任意のアドレスのパケットを
出力し、入力されたパケットをそこに格納すべく制御す
る制御手段及び出力されたパケットを格納すると共に、
格納されているパケットを第1格納手段に出力する第2
格納手段を設けたものである。
この発明においてはパケットが入力されるとその識別デ
ータを検索データとして格納されているパケットを検索
すると共に、そこに同じ識別子を有するパケットが格納
されていないとき、入力パケットの一部又は全部を第1
格納手段に格納しようとするが、判断手段により第1格
納手段が満杯であると判断されると、第1格納手段に格
納されたパケットのうち任意のアドレスに格納されたパ
ケットを第2格納手段に格納し、空いたアドレスに入力
パケットを格納する。第2格納手段は格納されているパ
ケットを第1格納手段に出力し、そこでデータが検索さ
れる。
ータを検索データとして格納されているパケットを検索
すると共に、そこに同じ識別子を有するパケットが格納
されていないとき、入力パケットの一部又は全部を第1
格納手段に格納しようとするが、判断手段により第1格
納手段が満杯であると判断されると、第1格納手段に格
納されたパケットのうち任意のアドレスに格納されたパ
ケットを第2格納手段に格納し、空いたアドレスに入力
パケットを格納する。第2格納手段は格納されているパ
ケットを第1格納手段に出力し、そこでデータが検索さ
れる。
以下、この発明を実施例を示す図面に基づいて説明する
。
。
第1図はこの発明に係るデータ検索装置をデータ駆動形
プロセッサの発火処理装置に用いた場合の構成を示すブ
ロック図である。図において612は入力セレクタであ
り、後述するFIFOメモリ611から出力されたパケ
ットと入力されたパケットとを選択する。なおパケット
はそのビットマツプを第10図に示すごと<62ビツト
の幅を有している。
プロセッサの発火処理装置に用いた場合の構成を示すブ
ロック図である。図において612は入力セレクタであ
り、後述するFIFOメモリ611から出力されたパケ
ットと入力されたパケットとを選択する。なおパケット
はそのビットマツプを第10図に示すごと<62ビツト
の幅を有している。
選択されたパケットはデータラッチ608に与えられ、
そこでデータ入力信号COが“H”のタイミングでラッ
チされる。ラッチされたパケットはその31ビツトの識
別子のうち、カラー/世代識別番号DNの9ビツトと、
ノード番号NNの下位9ビツトとが、排他的論理和演算
を行いハツシュアドレスを生成するアドレス生成手段で
ある演算器101の2つの入力端子に夫々与えられる。
そこでデータ入力信号COが“H”のタイミングでラッ
チされる。ラッチされたパケットはその31ビツトの識
別子のうち、カラー/世代識別番号DNの9ビツトと、
ノード番号NNの下位9ビツトとが、排他的論理和演算
を行いハツシュアドレスを生成するアドレス生成手段で
ある演算器101の2つの入力端子に夫々与えられる。
第2図は演算器101の構成を示す図であり、入力され
た9ビツトのカラー/世代識別番号ONとノード番号N
Nの下位9ビツトとが夫々のビット毎に排他的論理和演
算され、その演算結果がハツシュアドレスとなり、ハツ
シュメモリ601に与えられる。
た9ビツトのカラー/世代識別番号ONとノード番号N
Nの下位9ビツトとが夫々のビット毎に排他的論理和演
算され、その演算結果がハツシュアドレスとなり、ハツ
シュメモリ601に与えられる。
また入力パケットの全ビットは、31ビツトの識別子と
その他の31ビツトに分けて、連想メモリ部602にも
与えられる。また識別子のうちノード番号NNの下位9
ビツトを除いた22ビツトと、18ビツトのオペランド
データODとを合わせた40ビツトの書込みデータがハ
ツシュメモリ601に与えられる。
その他の31ビツトに分けて、連想メモリ部602にも
与えられる。また識別子のうちノード番号NNの下位9
ビツトを除いた22ビツトと、18ビツトのオペランド
データODとを合わせた40ビツトの書込みデータがハ
ツシュメモリ601に与えられる。
第3図はハツシュメモリ601の構成を示すブロック図
であり、ハツシュメモリ601は41ビツトのビット幅
を有し、29(=512)のアドレス空間を有している
。そして18ビツトのオペランドデータODと、31ビ
ツトの識別子のうちノード番号NNの下位9ビツトを除
いた22ビツトとが格納されると共に、そのアドレスの
内容の有効(PB = 1)、無効(PB=0)の別を
示すフラグであるプレゼンスビットPBが格納されてい
る。ハツシュメモリ601には前述の如く9ビツトのハ
ツシュアドレスと40ビツトの書込みデータが与えられ
ると共に、後述する制御部606からそのリード/ライ
ト操作を定めるリードライト信号W/W−Hが与えられ
、リードライト信号W/π・H=”H”の期間は書込み
操作を行い、W/1・H=”L”の期間は指定されたア
ドレスの読出しデータとプレゼンスビットとが出力され
る。また、書き込み時におけるプレゼンスビットPBの
更新値、および読み出し時の比較値を示すセット信号S
/l’rも与えられる。
であり、ハツシュメモリ601は41ビツトのビット幅
を有し、29(=512)のアドレス空間を有している
。そして18ビツトのオペランドデータODと、31ビ
ツトの識別子のうちノード番号NNの下位9ビツトを除
いた22ビツトとが格納されると共に、そのアドレスの
内容の有効(PB = 1)、無効(PB=0)の別を
示すフラグであるプレゼンスビットPBが格納されてい
る。ハツシュメモリ601には前述の如く9ビツトのハ
ツシュアドレスと40ビツトの書込みデータが与えられ
ると共に、後述する制御部606からそのリード/ライ
ト操作を定めるリードライト信号W/W−Hが与えられ
、リードライト信号W/π・H=”H”の期間は書込み
操作を行い、W/1・H=”L”の期間は指定されたア
ドレスの読出しデータとプレゼンスビットとが出力され
る。また、書き込み時におけるプレゼンスビットPBの
更新値、および読み出し時の比較値を示すセット信号S
/l’rも与えられる。
第4図は連想メモリ部602の構成を示すブロック図で
ある。図において201はデータラッチ608を介して
入力されるパケットに含まれる31ビツトの識別子と一
致するデータを検索する連想メモリ(以下CAMという
)であり、32ビツト×32アドレスの容量となってい
る。CAM 201のうち1ビツトは前記ハツシュメモ
リ601 と同様に格納されているデータの有効性を判
別するためのプレゼンスビットPBの格納に用いられる
。CAl11201には各アドレスに対して一致/不一
致信号線(以下マツチラインという)が設けられており
、与えられた31ビツトの識別子と、CAM 201に
格納された識別子とが全て一致したアドレスのマツチラ
インのみ′H”が出力される。またCAM 201には
セレクタ205を介してプレゼンスビットPBの更新を
行うセット信号S/πが与えられると共にリードライト
のサイクルを定めるリードライト信号W/π・Cが与え
られる。セレクタ205は一端に基準電圧(’H”)が
、他端にセット信号S/l’rが与えられており、また
切換端子にはリードライト信号W/π・Cが与えられて
おり、リードサイクルのときは基準電圧(’H″)が、
ライトサイクルのときはセット信号S/「が選択される
。即ちリードサイクル(W/W・C=L)のときは、プ
レゼンスビットPB=1のアドレスだけを検索する必要
があるので、検索データのプレゼンスビットPBに相当
するビットを常に1とし、ライトサイクル(W/「・C
=H)のときのみプレゼンスビットPBを更新する必要
があるためにこのセレクタ205は用いられる。
ある。図において201はデータラッチ608を介して
入力されるパケットに含まれる31ビツトの識別子と一
致するデータを検索する連想メモリ(以下CAMという
)であり、32ビツト×32アドレスの容量となってい
る。CAM 201のうち1ビツトは前記ハツシュメモ
リ601 と同様に格納されているデータの有効性を判
別するためのプレゼンスビットPBの格納に用いられる
。CAl11201には各アドレスに対して一致/不一
致信号線(以下マツチラインという)が設けられており
、与えられた31ビツトの識別子と、CAM 201に
格納された識別子とが全て一致したアドレスのマツチラ
インのみ′H”が出力される。またCAM 201には
セレクタ205を介してプレゼンスビットPBの更新を
行うセット信号S/πが与えられると共にリードライト
のサイクルを定めるリードライト信号W/π・Cが与え
られる。セレクタ205は一端に基準電圧(’H”)が
、他端にセット信号S/l’rが与えられており、また
切換端子にはリードライト信号W/π・Cが与えられて
おり、リードサイクルのときは基準電圧(’H″)が、
ライトサイクルのときはセット信号S/「が選択される
。即ちリードサイクル(W/W・C=L)のときは、プ
レゼンスビットPB=1のアドレスだけを検索する必要
があるので、検索データのプレゼンスビットPBに相当
するビットを常に1とし、ライトサイクル(W/「・C
=H)のときのみプレゼンスビットPBを更新する必要
があるためにこのセレクタ205は用いられる。
またCAM 201からは32ビツトのマツチラインに
識別子の一致、不一致の別を示す判定信号が出力される
と共に、空アドレス検出器203に各アドレスのプレゼ
ンスビットPRが出力され、そこでプレゼンスビットP
Bより有効なデータが格納されていないアドレスが検出
される。
識別子の一致、不一致の別を示す判定信号が出力される
と共に、空アドレス検出器203に各アドレスのプレゼ
ンスビットPRが出力され、そこでプレゼンスビットP
Bより有効なデータが格納されていないアドレスが検出
される。
空アドレス検出器203は、空アドレスを示す32ビツ
トの検出信号をアドレスセレクタの一端に出力すると共
に空アドレスがなく CAM 201の全アドレス空間
にハツシュ衝突したパケットが識別子に格納されたとき
、そのことを示すフル信号PLをアドレスセレクタ20
4 および制御部606に出力する。なお、空アドレ
スを示す検出信号はCAM201のアドレスに対応する
32ビツトの出力であり、その空アドレスのビットが”
H”となっている。アドレスセレクタ204の他端には
マツチラインからの判定信号が与えられる。また、アド
レスセレクタ204の内部にCAM201の追い出しア
ドレスに対応する32ビツトのアドレス信号を格納する
追い出しポインタ206がある。
トの検出信号をアドレスセレクタの一端に出力すると共
に空アドレスがなく CAM 201の全アドレス空間
にハツシュ衝突したパケットが識別子に格納されたとき
、そのことを示すフル信号PLをアドレスセレクタ20
4 および制御部606に出力する。なお、空アドレ
スを示す検出信号はCAM201のアドレスに対応する
32ビツトの出力であり、その空アドレスのビットが”
H”となっている。アドレスセレクタ204の他端には
マツチラインからの判定信号が与えられる。また、アド
レスセレクタ204の内部にCAM201の追い出しア
ドレスに対応する32ビツトのアドレス信号を格納する
追い出しポインタ206がある。
アドレスセレクタ204では、切換端子に与えられたリ
ードライト信号W/TV・Cに応じて、リードサイクル
のとき(即ち W/Tr・Cが”L”)は判定信号と追
い出しアドレスを、またライトサイクルのときは、通常
は空アドレス検出器203の検出信号を、またCAM
201がフルでPL倍信号”H”の場合には、追い出し
アドレスを夫々選択する。
ードライト信号W/TV・Cに応じて、リードサイクル
のとき(即ち W/Tr・Cが”L”)は判定信号と追
い出しアドレスを、またライトサイクルのときは、通常
は空アドレス検出器203の検出信号を、またCAM
201がフルでPL倍信号”H”の場合には、追い出し
アドレスを夫々選択する。
アドレスセレクタ204のアドレス選tHiカバcAM
201およびI?AM 202に与えられ、それにより
指定されたアドレスがアクセスされる。
201およびI?AM 202に与えられ、それにより
指定されたアドレスがアクセスされる。
RAM 202は2ポ一トRAMであり、オペランドデ
ータ0D18 ビット、オペレーションコードQC7ビ
ツトおよびプロセッサ選択ビットを除くセレクションコ
ードSC6ビツトの合計31ビツトを格納するものであ
り、31ビツト×32アドレスの容量となっている。即
ちリードサイクルでは、RAM 202の第1のアドレ
スライン207に判定信号が与えられ、CAM 201
に入力されたパケットの識別子と一致する識別子がCA
M 201に格納されている場合(これをCAM 20
1がヒツトしたという)、判定信号に応じたアドレスの
オペランドデータの18ビツトのみが読み出しデータと
して出力される。この読み出しデータは判定信号とマー
ジされ、50ビツトの出力信号としてデータラッチ60
9に出力される。同時に、第2のアドレスライン208
には、追い出しアドレスが与えられ、追い出しアドレス
に応じたアドレスのRAM 202の31ビツトのデー
タがCAM 201の識別子31ビツトとともに、合計
62ビツトがデータラッチ609に出力される。以下こ
の62ビツトのデータを追い出しパケットデータと呼ぶ
。
ータ0D18 ビット、オペレーションコードQC7ビ
ツトおよびプロセッサ選択ビットを除くセレクションコ
ードSC6ビツトの合計31ビツトを格納するものであ
り、31ビツト×32アドレスの容量となっている。即
ちリードサイクルでは、RAM 202の第1のアドレ
スライン207に判定信号が与えられ、CAM 201
に入力されたパケットの識別子と一致する識別子がCA
M 201に格納されている場合(これをCAM 20
1がヒツトしたという)、判定信号に応じたアドレスの
オペランドデータの18ビツトのみが読み出しデータと
して出力される。この読み出しデータは判定信号とマー
ジされ、50ビツトの出力信号としてデータラッチ60
9に出力される。同時に、第2のアドレスライン208
には、追い出しアドレスが与えられ、追い出しアドレス
に応じたアドレスのRAM 202の31ビツトのデー
タがCAM 201の識別子31ビツトとともに、合計
62ビツトがデータラッチ609に出力される。以下こ
の62ビツトのデータを追い出しパケットデータと呼ぶ
。
一方ライトサイクルではフル信号PLが”H”で入力さ
れたときには追い出しアドレスが、フル信号が”L”で
入力されたときには(フルでないとき)空アドレス検出
器203からの検出信号が選択され、CAM 201と
RAM 202のいずれのアドレスに31ビツトの識別
子とオペランドデータOD、オペレーションコードOC
およびプロセッサ選択ビットを除くセレクションコード
SCの31ビツトとを格納するかを指示する。追い出し
アドレスが選択された場合は書き込み終了後、追い出し
ポインタ206の追い出しアドレスは1インクリメント
され次のアドレスを指す。但し、追い出しポインタ20
6にCAM201の最後のアドレスが追い出しアドレス
として格納されている場合は最初のアドレスを指すよう
になっている。
れたときには追い出しアドレスが、フル信号が”L”で
入力されたときには(フルでないとき)空アドレス検出
器203からの検出信号が選択され、CAM 201と
RAM 202のいずれのアドレスに31ビツトの識別
子とオペランドデータOD、オペレーションコードOC
およびプロセッサ選択ビットを除くセレクションコード
SCの31ビツトとを格納するかを指示する。追い出し
アドレスが選択された場合は書き込み終了後、追い出し
ポインタ206の追い出しアドレスは1インクリメント
され次のアドレスを指す。但し、追い出しポインタ20
6にCAM201の最後のアドレスが追い出しアドレス
として格納されている場合は最初のアドレスを指すよう
になっている。
またCAM 201がヒツトした場合はヒツトしたアド
レスのプレゼンスビットPBをクリアする必要が生じる
ので、ライトサイクルでCAM 201に与えられるア
ドレスはヒツトしたアドレスである。
レスのプレゼンスビットPBをクリアする必要が生じる
ので、ライトサイクルでCAM 201に与えられるア
ドレスはヒツトしたアドレスである。
入力されたパケットとハツシュアドレスが等しい、ハツ
シュメモリ601内の40ビツトの格納データ、ハツシ
ュメモリ601のプレゼンスビットPB、及び連想メモ
リ部602の出力信号はデータラッチ609にクロック
TIのタイミングでラッチされ、プレゼンスビットPB
は制御部606へ、また格納データのうちの22ビツト
の識別子は一致検出器603の一端へ、格納データのう
ちの18ビツトのオペランドデータODは出力セレクタ
605の一端へ夫々与えられる。また連想メモリの第1
のボートからの出力信号のうち32ビツトの判定信号は
ヒツト検出器604へ、オペランドデータ00は出力セ
レクタ605の他端に出力される。RAM 202の第
2の出力ボートおよびCAM 201より出力された追
い出しパケットデータは、出力セレクタ613に与えら
れる。
シュメモリ601内の40ビツトの格納データ、ハツシ
ュメモリ601のプレゼンスビットPB、及び連想メモ
リ部602の出力信号はデータラッチ609にクロック
TIのタイミングでラッチされ、プレゼンスビットPB
は制御部606へ、また格納データのうちの22ビツト
の識別子は一致検出器603の一端へ、格納データのう
ちの18ビツトのオペランドデータODは出力セレクタ
605の一端へ夫々与えられる。また連想メモリの第1
のボートからの出力信号のうち32ビツトの判定信号は
ヒツト検出器604へ、オペランドデータ00は出力セ
レクタ605の他端に出力される。RAM 202の第
2の出力ボートおよびCAM 201より出力された追
い出しパケットデータは、出力セレクタ613に与えら
れる。
一致検出器603の他端には入力されたパケットの31
ビツトの識別子の下位9ビツトを除いた22ビツトの識
別子が与えられ、入力された2つの識別子の一致を検出
し、一致している場合は一致信号EQを制御部606に
出力する。即ち、一致した場合はハツシュアドレスとし
て用いた9ビツトの識別子と22ビツトの識別子とが全
て一致したこととなるためその旨を一致信号EQとして
制御部606へ告知する。
ビツトの識別子の下位9ビツトを除いた22ビツトの識
別子が与えられ、入力された2つの識別子の一致を検出
し、一致している場合は一致信号EQを制御部606に
出力する。即ち、一致した場合はハツシュアドレスとし
て用いた9ビツトの識別子と22ビツトの識別子とが全
て一致したこととなるためその旨を一致信号EQとして
制御部606へ告知する。
またヒツト検出器604はCAM 201からの32本
のマツチラインの反転信号をモニタし、その中の1ビツ
トでも”H″に立ち上がったものがあった場合は、(=
CAM 201がヒツトすれば)、ヒツト信号HITを
制御部606及び出力セレクタ605の切換端子に与え
る。
のマツチラインの反転信号をモニタし、その中の1ビツ
トでも”H″に立ち上がったものがあった場合は、(=
CAM 201がヒツトすれば)、ヒツト信号HITを
制御部606及び出力セレクタ605の切換端子に与え
る。
出力セレクタ605は、入力されたパケットの識別子と
ハツシュメモリ601又は連想メモリ602内に格納さ
れた識別子とが全て一致する発火対象の相手データが検
索された場合に一致した識別子を格納した方のメモリか
らのオペランドデータODを選択するものである。両方
のメモリで同時に一致が検出されることは方式上あり得
ないので、出力セレクタ605は後述する如くヒツト信
号旧Tの値のみによって制御されている。選択結果のオ
ペランドデータODはデータラッチ610に与えられ、
制御部606からのクロックT2の”H”のタイ旦ング
でラッチされ、データ対形成器607の一端に与えられ
る。
ハツシュメモリ601又は連想メモリ602内に格納さ
れた識別子とが全て一致する発火対象の相手データが検
索された場合に一致した識別子を格納した方のメモリか
らのオペランドデータODを選択するものである。両方
のメモリで同時に一致が検出されることは方式上あり得
ないので、出力セレクタ605は後述する如くヒツト信
号旧Tの値のみによって制御されている。選択結果のオ
ペランドデータODはデータラッチ610に与えられ、
制御部606からのクロックT2の”H”のタイ旦ング
でラッチされ、データ対形成器607の一端に与えられ
る。
出力セレクタ605の選択は切換端子に与えられたヒツ
ト信号旧Tにより行われ、CAM 201がヒツトした
場谷にのみ連想メモリ部602に格納されていたオペラ
ンドデータOD@M択し、ヒツトしなかった場合にはハ
ツシュメモリ601に格納されていたデータを選択し、
データラッチ610に送る。
ト信号旧Tにより行われ、CAM 201がヒツトした
場谷にのみ連想メモリ部602に格納されていたオペラ
ンドデータOD@M択し、ヒツトしなかった場合にはハ
ツシュメモリ601に格納されていたデータを選択し、
データラッチ610に送る。
データ対形成器607は出力セレクタ605により選択
されたオペランドデータODが一端に入力されると共に
、他端にはデータラッチ608からの62ビツトの入力
されたパケットのデータが与えられる。
されたオペランドデータODが一端に入力されると共に
、他端にはデータラッチ608からの62ビツトの入力
されたパケットのデータが与えられる。
そして2つのデータがマージされ、2オペランドデータ
を含む80ビツトのパケットが形成される。
を含む80ビツトのパケットが形成される。
このとき2項演算の減算命令の如くオペランドの順序関
係が重要なものがあるので、選択されたオペランドデー
タODと入力されたパケットのオペランドデータODと
は正しく左又は右のオペランドとして配置される必要が
ある。
係が重要なものがあるので、選択されたオペランドデー
タODと入力されたパケットのオペランドデータODと
は正しく左又は右のオペランドとして配置される必要が
ある。
第5図はデータ対形成器607の構成を示すブロック図
である。データ対形成器607は2つのデータセレクタ
701,702からなり、夫々の切換端子には入力され
たパケットの左/右データ選択ビットでその状態を示す
セレクタ制御信号L/l’rが与えられる。データセレ
クタ701のA端子及びデータセレクタ702のB端子
にはデータラッチ60Bよりの入力されたパケットのオ
ペランドデータ00が夫々与えられ、データセレクタ7
01のB端子及びデータセレクタ702のA端子にはデ
ータラッチ610よりの格納されたオペランドデータ0
0が与えられる。そして入力されたパケットの左/右デ
ータ選択ビットがセレクタ制御信号L/Hとして入力さ
れ、L/πが1“のときは夫々のデータセレクタ701
.702のA端子に与えられたオペランドデータが、ま
たL/−が0”のときはB端子に与えられたオペランド
データが選択され、データセレクタ701からの選択出
力が左オペランドとなり、データセレクタ702からの
選択出力が右オペランドとなり、それらと入力されたパ
ケットのオペランドデータ00を除く他のデータとがマ
ージされ出力セレクタ613に入力される。
である。データ対形成器607は2つのデータセレクタ
701,702からなり、夫々の切換端子には入力され
たパケットの左/右データ選択ビットでその状態を示す
セレクタ制御信号L/l’rが与えられる。データセレ
クタ701のA端子及びデータセレクタ702のB端子
にはデータラッチ60Bよりの入力されたパケットのオ
ペランドデータ00が夫々与えられ、データセレクタ7
01のB端子及びデータセレクタ702のA端子にはデ
ータラッチ610よりの格納されたオペランドデータ0
0が与えられる。そして入力されたパケットの左/右デ
ータ選択ビットがセレクタ制御信号L/Hとして入力さ
れ、L/πが1“のときは夫々のデータセレクタ701
.702のA端子に与えられたオペランドデータが、ま
たL/−が0”のときはB端子に与えられたオペランド
データが選択され、データセレクタ701からの選択出
力が左オペランドとなり、データセレクタ702からの
選択出力が右オペランドとなり、それらと入力されたパ
ケットのオペランドデータ00を除く他のデータとがマ
ージされ出力セレクタ613に入力される。
出力セレクタ613は、発火もしくは1入力命令で出力
されるパケットか、又は、連想メモリ部602がフルの
とき、入力パケットを連想メモリ部602に格納するか
わりに追い出された追い出しパケットかを選択するもの
である。この選択は制御部606から与えられた選択信
号F/rfによって選択される。この選択信号F/rf
は、旧T 、 Ellが”1”のとき、又はFCが”0
′のいずれかのとき、#1”となり、データ対形成器6
07からの入力が選択される。
されるパケットか、又は、連想メモリ部602がフルの
とき、入力パケットを連想メモリ部602に格納するか
わりに追い出された追い出しパケットかを選択するもの
である。この選択は制御部606から与えられた選択信
号F/rfによって選択される。この選択信号F/rf
は、旧T 、 Ellが”1”のとき、又はFCが”0
′のいずれかのとき、#1”となり、データ対形成器6
07からの入力が選択される。
制御部606はプレゼンスビットPB、ヒント信号HI
T 、一致信号EQ、入力されたパケットが2入力命令
か1入力命令かの別を示すFC処理選択ビットの状態で
定まる入力選択信号FCC2入力命令FC=1.1入力
命令FC=O)及びフル信号PLが与えられ、それらを
判断してリードライト信号W/1’J・C,W/Tr・
H、セット信号S/IT、発火または追い出しを指定す
る信号F/Tff、データ出力信号C1及び後述するF
IFOメモリ611への書込信号WRFを出力する。
T 、一致信号EQ、入力されたパケットが2入力命令
か1入力命令かの別を示すFC処理選択ビットの状態で
定まる入力選択信号FCC2入力命令FC=1.1入力
命令FC=O)及びフル信号PLが与えられ、それらを
判断してリードライト信号W/1’J・C,W/Tr・
H、セット信号S/IT、発火または追い出しを指定す
る信号F/Tff、データ出力信号C1及び後述するF
IFOメモリ611への書込信号WRFを出力する。
ま゛たデータ入力信号CO、データ出力許可信号A1が
入力され、それらを判断してデータ入力許可信号AO、
クロックTl及び同T2を出力する。ここでデータ入力
信号CO及びデータ入力許可信号AOはこの発火処理装
置と、この装置に対してデータを与える処理装置(以下
前段装置という)との間のデータ転送制御信号であり、
データ出力信号C1及びデータ出力許可信号AIはこの
装置の出力するデータを受取る処理装置(以下後段装置
という)との間のデータ転送制御信号である。
入力され、それらを判断してデータ入力許可信号AO、
クロックTl及び同T2を出力する。ここでデータ入力
信号CO及びデータ入力許可信号AOはこの発火処理装
置と、この装置に対してデータを与える処理装置(以下
前段装置という)との間のデータ転送制御信号であり、
データ出力信号C1及びデータ出力許可信号AIはこの
装置の出力するデータを受取る処理装置(以下後段装置
という)との間のデータ転送制御信号である。
制御部606にフル信号PLが入力され、さらにハツシ
ュ衝突が生じた場合、制御部からF/Tff信号が出力
セレクタ613に与えられ追い出し用に連想メモリ部よ
りあらかじめ出力されていた全62ビツトの追い出しパ
ケットを出力するように制御する。
ュ衝突が生じた場合、制御部からF/Tff信号が出力
セレクタ613に与えられ追い出し用に連想メモリ部よ
りあらかじめ出力されていた全62ビツトの追い出しパ
ケットを出力するように制御する。
また、2ポートタイプのFIFOメモリ611に書込み
信号WRFが与えられる。このときFTPOメモリ61
1は追い出されたパケットを一旦、格納し、先入れ先出
し方式により、入力セレクタ612の他端に与える。
信号WRFが与えられる。このときFTPOメモリ61
1は追い出されたパケットを一旦、格納し、先入れ先出
し方式により、入力セレクタ612の他端に与える。
FIFOメモリ611は、32段のシフトレジスタの直
列接続構造になっている。シフトレジスタの段数はCA
M 201のアドレス空間以下となる必要がある。
列接続構造になっている。シフトレジスタの段数はCA
M 201のアドレス空間以下となる必要がある。
これはFIFOメモリ611に格納されたパケットと発
火対象のパケットとが同時にFIFOメモリ611に格
納されることを防ぐためである。発火処理装置より追い
出されたパケットはシフトレジスタ32段分の転送遅延
時間の後また、入力セレクタ612の他端に入力される
。
火対象のパケットとが同時にFIFOメモリ611に格
納されることを防ぐためである。発火処理装置より追い
出されたパケットはシフトレジスタ32段分の転送遅延
時間の後また、入力セレクタ612の他端に入力される
。
従来の発火処理装置で観測されていたデッドロックは、
本来発火すべき2つのパケットがFIFOメモリ611
に出力され続け、発火がなされず、他のすべてのパケッ
トが永遠に発火できないというものであった。
本来発火すべき2つのパケットがFIFOメモリ611
に出力され続け、発火がなされず、他のすべてのパケッ
トが永遠に発火できないというものであった。
本発明の発火処理装置では本来発火すべきパケットAお
よびパケットBがともにFIFOメモリ611に追い出
されたとしても、いずれかのパケットたとえばパケット
Aが発火処理装置に再び入力されるとすでに格納されて
いるパケットを追い出すことになり、パケットAは、必
ず連想メモリ部602に格納される。このとき次にパケ
ットAが追い出されるのは、連想メモリ部602のアド
レス数が32であり、追い出しアドレスは1インクリメ
ントするので、少なくとも発火処理装置で32回以上の
処理を行った後である。一方、パケットBは32段のF
IFOメモリ611のいずれかの段にある。発火処理装
置が32回の処理を終了する前に必ず入力セレクタ61
2を介して入力され、パケットAとパケットBとは必ず
発火でき、デッドロック状態は回避される。
よびパケットBがともにFIFOメモリ611に追い出
されたとしても、いずれかのパケットたとえばパケット
Aが発火処理装置に再び入力されるとすでに格納されて
いるパケットを追い出すことになり、パケットAは、必
ず連想メモリ部602に格納される。このとき次にパケ
ットAが追い出されるのは、連想メモリ部602のアド
レス数が32であり、追い出しアドレスは1インクリメ
ントするので、少なくとも発火処理装置で32回以上の
処理を行った後である。一方、パケットBは32段のF
IFOメモリ611のいずれかの段にある。発火処理装
置が32回の処理を終了する前に必ず入力セレクタ61
2を介して入力され、パケットAとパケットBとは必ず
発火でき、デッドロック状態は回避される。
次に以下の如く構成されたこの発明の発火処理装置の動
作について説明する。なおハツシュメモリ601にはデ
ータ対を待つ複数のパケットが格納されているとする。
作について説明する。なおハツシュメモリ601にはデ
ータ対を待つ複数のパケットが格納されているとする。
第6図はこの発明の概略動作を説明するフローチャート
である。
である。
パケットが入力されると(Sl)、連想メモリ部602
では格納された識別データとの一致/不一致を判定(S
10)するとともに、演算器101において、9ビツト
のハツシュアドレスが9ビツトのカラー/世代識別番号
DNとノード番号NNの下位9ビツトとの排他的論理和
により生成される(S2)。
では格納された識別データとの一致/不一致を判定(S
10)するとともに、演算器101において、9ビツト
のハツシュアドレスが9ビツトのカラー/世代識別番号
DNとノード番号NNの下位9ビツトとの排他的論理和
により生成される(S2)。
ステップ10の結果、不一致の場合には、連想メモリ部
602より追い出しポインタ206の指すパケットをデ
ータラッチ609にコピーしておく (S15)。
602より追い出しポインタ206の指すパケットをデ
ータラッチ609にコピーしておく (S15)。
次にハツシュメモリ601のステップ2で生成されたハ
ツシュアドレスに有効なデータが既に格納されているか
否かが判定され(S3)、連想メモリ部602の識別子
と一致せず(ステップ10の判断NO)、かつ、ステッ
プ3でデータが格納されていない場合は入力パケットを
ハツシュメモリ601のそのハツシュアドレスに格納し
する(S4)。格納されている場合は22ビツトの他の
識別子が一致しているか否かが判定され(S5)、一致
していない場合はハツシュ衝突が生じている。
ツシュアドレスに有効なデータが既に格納されているか
否かが判定され(S3)、連想メモリ部602の識別子
と一致せず(ステップ10の判断NO)、かつ、ステッ
プ3でデータが格納されていない場合は入力パケットを
ハツシュメモリ601のそのハツシュアドレスに格納し
する(S4)。格納されている場合は22ビツトの他の
識別子が一致しているか否かが判定され(S5)、一致
していない場合はハツシュ衝突が生じている。
ここでさらに、連想メモリ部602の識別子と一致しな
い(ステップ10でNOの判断)場合は、入力パケット
を連想メモリ部602に格納する(S6)。ここで格納
するアドレスは、連想メモリ部602に空アドレスがあ
る場合は空アドレスに、連想メモリ部602がフルの場
合は、追い出しポインタ206の指すアドレスである。
い(ステップ10でNOの判断)場合は、入力パケット
を連想メモリ部602に格納する(S6)。ここで格納
するアドレスは、連想メモリ部602に空アドレスがあ
る場合は空アドレスに、連想メモリ部602がフルの場
合は、追い出しポインタ206の指すアドレスである。
また、追い出しポインタ206の指すアドレスに入力パ
ケットを格納した場合は、追い出しポインタ206の追
い出しアドレスを1インクリメントし、次のアドレスを
ポイントするようにする。また、連想メモリ部602が
フルの場合は、追い出しポインタ206の指すアドレス
に格納し、同時にステップ15で書き出しておいた追い
出しパケットをFIFOメモリ611に送出する(S1
6)。
ケットを格納した場合は、追い出しポインタ206の追
い出しアドレスを1インクリメントし、次のアドレスを
ポイントするようにする。また、連想メモリ部602が
フルの場合は、追い出しポインタ206の指すアドレス
に格納し、同時にステップ15で書き出しておいた追い
出しパケットをFIFOメモリ611に送出する(S1
6)。
一方、ステップ5で他の識別子と一致した場合はハツシ
ュメモリ601内の格納データを選択しくS9)、それ
と入力パケットとをデータ対となす発火処理を行う(S
12)。
ュメモリ601内の格納データを選択しくS9)、それ
と入力パケットとをデータ対となす発火処理を行う(S
12)。
また、入力パケットと連想メモリ部602で格納された
識別子との一致/不一致の判定で、一致したときは連想
メモリ部602の出力を選択しく5ll)、発火処理す
る(S12)。以上が発明装置の論理的な動作である。
識別子との一致/不一致の判定で、一致したときは連想
メモリ部602の出力を選択しく5ll)、発火処理す
る(S12)。以上が発明装置の論理的な動作である。
゛第7図はこの発明装置の動作サイクルを説明するタイ
もングチャートであり、この図に示す如くこの発明装置
の動作サイクルはリードサイクル、処理サイクル及びラ
イトサイクルの3つのサイクルに分けられる。前段装置
からのデータ入力信号COが制御部606に入力される
と、前段装置への出力許可信号AOが”1″→”O”に
変化し、次の入力を禁止し、リードサイクルに入る。リ
ードサイクルに入ると入力セレクタ612で選択された
入力パケット又はCAM 201のオーバフローにより
循環されたパケットのいずれかが、データ入力信号CO
の”O′→”l”のタイミングでデータラッチ608に
ラッチされる。データラッチ608にパケットが入力さ
れると、前記パケットの31ビツトの識別子のうち、カ
ラー/世代識別番号DNの9ビツトと21ビツトのノー
ド番号NNの下位9ビツトとが演算器101に与えられ
それらの排他的論理和演算が行われ、9ビツトのハツシ
ュアドレスが定められる。
もングチャートであり、この図に示す如くこの発明装置
の動作サイクルはリードサイクル、処理サイクル及びラ
イトサイクルの3つのサイクルに分けられる。前段装置
からのデータ入力信号COが制御部606に入力される
と、前段装置への出力許可信号AOが”1″→”O”に
変化し、次の入力を禁止し、リードサイクルに入る。リ
ードサイクルに入ると入力セレクタ612で選択された
入力パケット又はCAM 201のオーバフローにより
循環されたパケットのいずれかが、データ入力信号CO
の”O′→”l”のタイミングでデータラッチ608に
ラッチされる。データラッチ608にパケットが入力さ
れると、前記パケットの31ビツトの識別子のうち、カ
ラー/世代識別番号DNの9ビツトと21ビツトのノー
ド番号NNの下位9ビツトとが演算器101に与えられ
それらの排他的論理和演算が行われ、9ビツトのハツシ
ュアドレスが定められる。
なおこの実施例では演算器101により2種類の識別コ
ードの排他的論理和演算が行われているが、従来例と同
様に識別コードの演算対象数及び演算内容はこれに限る
ものではなく、演算対象数は3つ以上でもよく、また演
算内容は加算等の他の逆算可能な演算でもよい。
ードの排他的論理和演算が行われているが、従来例と同
様に識別コードの演算対象数及び演算内容はこれに限る
ものではなく、演算対象数は3つ以上でもよく、また演
算内容は加算等の他の逆算可能な演算でもよい。
ハツシュアドレスが定められると、リードサイクルでは
ハツシュメモリ601 と連想メモリ602とが同時に
読出される。メモリ読出しに必要な時間が経過するとク
ロックT1が”O”→#1mに変化し、読出されたデー
タはデータラッチ609にラッチされる。ここから処理
サイクルに入り、一致検出器603及びヒツト検出器6
04はハツシュメモリ601及び連想メモリ部602よ
り読出された各データに基づいて一致信号EQ及びヒツ
ト信号同Tを出力する。即ち一致検出器603はハツシ
ュ衝突が起こっているか否かを検出するものであり、デ
ータラッチ608に入力されているパケットの識別子と
ハツシュメモリ601から読出されたデータラッチ60
9にラッチされている識別子との比較を行う。
ハツシュメモリ601 と連想メモリ602とが同時に
読出される。メモリ読出しに必要な時間が経過するとク
ロックT1が”O”→#1mに変化し、読出されたデー
タはデータラッチ609にラッチされる。ここから処理
サイクルに入り、一致検出器603及びヒツト検出器6
04はハツシュメモリ601及び連想メモリ部602よ
り読出された各データに基づいて一致信号EQ及びヒツ
ト信号同Tを出力する。即ち一致検出器603はハツシ
ュ衝突が起こっているか否かを検出するものであり、デ
ータラッチ608に入力されているパケットの識別子と
ハツシュメモリ601から読出されたデータラッチ60
9にラッチされている識別子との比較を行う。
即ちカラー/世代識別番号DHの9ビツト、ノード番号
NNの上位12ビツト及びプロセッサ識別ビットの1ビ
ツトの計22ビットの比較を行う。これらの22ビツト
が全て等しいと判定されると、9ビツトのハツシュアド
レスが等しく、また9ビツトのカラー/世代識別番号D
Nが等しいので、ノード番号NNの下位9ビツトも等し
いことになり、31ビツトの識別子の全てが等しいと判
定され、−敗検出器603は一致信号EQ=”1″を制
御部606に出力する。
NNの上位12ビツト及びプロセッサ識別ビットの1ビ
ツトの計22ビットの比較を行う。これらの22ビツト
が全て等しいと判定されると、9ビツトのハツシュアド
レスが等しく、また9ビツトのカラー/世代識別番号D
Nが等しいので、ノード番号NNの下位9ビツトも等し
いことになり、31ビツトの識別子の全てが等しいと判
定され、−敗検出器603は一致信号EQ=”1″を制
御部606に出力する。
そしてヒツト検出器604では連想メモリ部602に格
納されている識別子とデータラッチ608に入力されて
いるパケットの識別子とが等しい場合、即ち32ビツト
のマツチラインのいずれかが”H”となったときにヒツ
ト信号同T=”1”を出力する。
納されている識別子とデータラッチ608に入力されて
いるパケットの識別子とが等しい場合、即ち32ビツト
のマツチラインのいずれかが”H”となったときにヒツ
ト信号同T=”1”を出力する。
上述の操作に必要な時間が経過すると、クロックT2が
”0′→”1”に変化し、ライトサイクルに入る。ライ
トサイクルではプレゼンスビットPBの更新を含むメモ
リの書込みとデータ対の生成および出力パケットのセレ
クトが行われる。これらの操作に必要な時間が経過する
と制御部606はデータ出力信号CIを出力し、クロッ
クTl 、 T2及びデータ入力許可信号AOの復帰を
行い一連の処理を終了する。但しデータ出力信号CIの
出力は入力されたパケットが発火したときと連想メモリ
に書き込みが行われかつPL信号が”1″でパケットの
追い出しが行われるときだけであり、それ以外の場合は
、クロックTI 、T2及びデータ入力許可信号AOの
復帰だけを行い、データ出力信号CIは出力されない。
”0′→”1”に変化し、ライトサイクルに入る。ライ
トサイクルではプレゼンスビットPBの更新を含むメモ
リの書込みとデータ対の生成および出力パケットのセレ
クトが行われる。これらの操作に必要な時間が経過する
と制御部606はデータ出力信号CIを出力し、クロッ
クTl 、 T2及びデータ入力許可信号AOの復帰を
行い一連の処理を終了する。但しデータ出力信号CIの
出力は入力されたパケットが発火したときと連想メモリ
に書き込みが行われかつPL信号が”1″でパケットの
追い出しが行われるときだけであり、それ以外の場合は
、クロックTI 、T2及びデータ入力許可信号AOの
復帰だけを行い、データ出力信号CIは出力されない。
このライトサイクルでの制御は、プレゼンスビットPB
、一致信号EQ、ヒツト信号It I T 。
、一致信号EQ、ヒツト信号It I T 。
フル信号PL及び入力選択信号FCによってリードライ
ト信号W/−・H,W/W・C,FIFOメモリ611
の書込信号WRF及びセット信号S/πが制御部606
で生成されることにより行われる。この真理値表を第8
図に示す。これによりハツシュメモリ601及び連想メ
モリ部602に入力されたパケットを書込むか否かを定
め、下記の如くの動作をする。
ト信号W/−・H,W/W・C,FIFOメモリ611
の書込信号WRF及びセット信号S/πが制御部606
で生成されることにより行われる。この真理値表を第8
図に示す。これによりハツシュメモリ601及び連想メ
モリ部602に入力されたパケットを書込むか否かを定
め、下記の如くの動作をする。
第8図の(1)は、1入力命令が与えられた場合を示し
、ハツシュメモリ601の内容を何ら更新することなく
1オペランドデータがそのまま出力される。
、ハツシュメモリ601の内容を何ら更新することなく
1オペランドデータがそのまま出力される。
第8図の(2)〜(7)は2入力命令が与えられた場合
を示し、データを出力するか否かは各種の条件によす定
まる。(2)はハツシュメモリ601の入力パケットに
より定められたハツシュアドレスにデータが格納されて
おり (PB = 1)、それがハツシュ衝突を起こす
ことがなかった(EQ=1)場合を示す。ハツシュメモ
リ601 と連想メモリ部602とに重複してデータが
格納されることはないので、この場合CAM 201が
ヒツトすることはない(H[T=O)。このときライト
サイクルにおいてはハツシュメモリ601のプレゼンス
ビットPBをリセットする必要があるのでリードライト
信号W/π・H=1、セット信号S/π=0とする。連
想メモリ部602には手を加える必要がないので、リー
ドライト信号W/W・C=0とする。入力されたパケッ
トはハツシュメモリ601の内容と発火したので、ライ
トサイクルの終了と同時にデータ出力信号CIを出力す
る。
を示し、データを出力するか否かは各種の条件によす定
まる。(2)はハツシュメモリ601の入力パケットに
より定められたハツシュアドレスにデータが格納されて
おり (PB = 1)、それがハツシュ衝突を起こす
ことがなかった(EQ=1)場合を示す。ハツシュメモ
リ601 と連想メモリ部602とに重複してデータが
格納されることはないので、この場合CAM 201が
ヒツトすることはない(H[T=O)。このときライト
サイクルにおいてはハツシュメモリ601のプレゼンス
ビットPBをリセットする必要があるのでリードライト
信号W/π・H=1、セット信号S/π=0とする。連
想メモリ部602には手を加える必要がないので、リー
ドライト信号W/W・C=0とする。入力されたパケッ
トはハツシュメモリ601の内容と発火したので、ライ
トサイクルの終了と同時にデータ出力信号CIを出力す
る。
第8図の(3)及び(4)はハツシュメモリ601に有
効なデータが格納されていたが、それがハツシュ衝突を
起こした場合を示す(PB=1.EQ=0)。そして(
3)ではCAM 201でもヒツトしなかったため(H
IT=0)、入力されたデータは連想メモリ部602に
格納され(W/l’r・C=1.S/W=1)データの
出力は行われない(C1= O)。(4)ではCA門2
01がヒツトしたため(HIT=1)、入力されたパケ
ットは連想メモリ部602の内容と発火し、出力される
(C1=1)。ここでCAM 201のプレゼンスビッ
トPBがリセットされなければいけないので、リードラ
イト信号W/−・C=1.セット信号S/π=Oとされ
る。(5)及び(6)はハツシュメモリ601に有効な
データが格納されていなかった場合であり (PB =
0)、一致信号HQの値に意味はない。(5)ではC
AM 201がヒツトしなかった場合を示しくHIT=
O)、入力されたパケットはハツシュメモリ601に書
込まれる(W/1・H= 1.S/T7= 1.CI=
O)、(6)ではCAM 201がヒツトしており、(
4)と同様な操作を行う。また(7)はハツシュメモリ
601に有効なデータが格納されていたがそれがハツシ
ュ衝突を起こしくPB=1 、EQ=0)、連想メモリ
部602に格納する必要が生じたが、CAM 201が
満杯となり全アドレスが有効となった場合(PL=1)
を示し、追い出しアドレスで示されたパケットが出力さ
れFIFOメモリ611でバッファリングされるととも
にその追い出しアドレスに入力パケットが書き込まれる
。
効なデータが格納されていたが、それがハツシュ衝突を
起こした場合を示す(PB=1.EQ=0)。そして(
3)ではCAM 201でもヒツトしなかったため(H
IT=0)、入力されたデータは連想メモリ部602に
格納され(W/l’r・C=1.S/W=1)データの
出力は行われない(C1= O)。(4)ではCA門2
01がヒツトしたため(HIT=1)、入力されたパケ
ットは連想メモリ部602の内容と発火し、出力される
(C1=1)。ここでCAM 201のプレゼンスビッ
トPBがリセットされなければいけないので、リードラ
イト信号W/−・C=1.セット信号S/π=Oとされ
る。(5)及び(6)はハツシュメモリ601に有効な
データが格納されていなかった場合であり (PB =
0)、一致信号HQの値に意味はない。(5)ではC
AM 201がヒツトしなかった場合を示しくHIT=
O)、入力されたパケットはハツシュメモリ601に書
込まれる(W/1・H= 1.S/T7= 1.CI=
O)、(6)ではCAM 201がヒツトしており、(
4)と同様な操作を行う。また(7)はハツシュメモリ
601に有効なデータが格納されていたがそれがハツシ
ュ衝突を起こしくPB=1 、EQ=0)、連想メモリ
部602に格納する必要が生じたが、CAM 201が
満杯となり全アドレスが有効となった場合(PL=1)
を示し、追い出しアドレスで示されたパケットが出力さ
れFIFOメモリ611でバッファリングされるととも
にその追い出しアドレスに入力パケットが書き込まれる
。
(W/π・C=1、D/F”=0、WRF = 1 )
。第8図を参照して述べた動作は全てライトサイクルに
おけるものであり、ライトサイクル以外の動作ではリー
ドライト信号W/7’J−H,W/W・Cは常に”0”
となっている。
。第8図を参照して述べた動作は全てライトサイクルに
おけるものであり、ライトサイクル以外の動作ではリー
ドライト信号W/7’J−H,W/W・Cは常に”0”
となっている。
これらの動作で発火することが判明したパケット及びデ
ータはデータ対形成器607に送られ、オペランド対パ
ケットが形成されて出力される(D/下=O)。このよ
うに発火処理装置に対してハツシュメモリ601 と連
想メモリ602とを併用し、両者の読出しを同時に行う
ことにより、ハツシュ衝突の如何に拘わらず同じ速度で
処理ができ、装置の制御も第8図に示した如く簡潔に行
えかつ、デッドロックも起こらない。
ータはデータ対形成器607に送られ、オペランド対パ
ケットが形成されて出力される(D/下=O)。このよ
うに発火処理装置に対してハツシュメモリ601 と連
想メモリ602とを併用し、両者の読出しを同時に行う
ことにより、ハツシュ衝突の如何に拘わらず同じ速度で
処理ができ、装置の制御も第8図に示した如く簡潔に行
えかつ、デッドロックも起こらない。
なお、この実施例では検索データの格納場所としてハツ
シュメモリと連想メモリの両方がある場合について記述
したが、この発明は、ハツシュメモリがなく、連想メモ
リのみに検索データを格納するデータ検索装置に対して
も適用できる。
シュメモリと連想メモリの両方がある場合について記述
したが、この発明は、ハツシュメモリがなく、連想メモ
リのみに検索データを格納するデータ検索装置に対して
も適用できる。
またこの実施例ではこの発明のデータ検索装置をデータ
駆動プロセッサの発火処理装置に適用した場合を説明し
たが、この発明はこれに限るものではなく、キーワード
等の識別子によりデータ検索を行う一般的なマツチング
メモリに対して適用できることは言うまでもない。
駆動プロセッサの発火処理装置に適用した場合を説明し
たが、この発明はこれに限るものではなく、キーワード
等の識別子によりデータ検索を行う一般的なマツチング
メモリに対して適用できることは言うまでもない。
さらに、この実施例では追い出しアドレスを1ずつイン
クリメントする所謂ラウントロピン方式で指定したので
、FIFOメモリの段数をCA)1のアドレス空間の数
より小さくする必要があったが、この発明はこれに限る
ものではなく、FIFOメモリの段数はCAMのアドレ
ス空間より大きくてもよい。
クリメントする所謂ラウントロピン方式で指定したので
、FIFOメモリの段数をCA)1のアドレス空間の数
より小さくする必要があったが、この発明はこれに限る
ものではなく、FIFOメモリの段数はCAMのアドレ
ス空間より大きくてもよい。
また第2格納手段はFIFOメモリではなく他の記憶手
段でもよいことは言うまでもない。
段でもよいことは言うまでもない。
以上説明したようにこの発明によれば、ハツシュ衝突が
生じたときに第1格納手段が満杯であっても、そのこと
を判断すると、追い出しアドレスで指定されるアドレス
のパケットを第2格納手段に格納し、入力されたパケッ
トを第1格納手段に格納するので、ハツシュ衝突が頻発
し、第1格納手段がオーバフローした状態でも必ず互い
に発火すべきパケットは発火することができ、デッドロ
ック状態を回避することができる等優れた効果を奏する
。
生じたときに第1格納手段が満杯であっても、そのこと
を判断すると、追い出しアドレスで指定されるアドレス
のパケットを第2格納手段に格納し、入力されたパケッ
トを第1格納手段に格納するので、ハツシュ衝突が頻発
し、第1格納手段がオーバフローした状態でも必ず互い
に発火すべきパケットは発火することができ、デッドロ
ック状態を回避することができる等優れた効果を奏する
。
第1図はこの発明に係るデータ検索装置をデータ駆動形
プロセッサの発火処理装置に適用した場合の構成を示す
ブロック図、第2図は演算器の構成を示す図、第3図は
ハツシュメモリの構成を示すブロック図、第4図は連想
メモリ部の構成を示すブロック図、第5図はデータ対形
成器の構成を示すブロック図、第6図はこの発明の概略
動作を説明するフローチャート、第7図はこの発明の動
作サイクルの説明図、第8図はライトサイクルの真理値
を示す図、第9図は従来のデータ駆動形処理の概念図、
第10図は入力パケットの一例を示す図、第11図は従
来のデータ検索装置をデータ・駆動形プロセッサの発火
処理装置に適用した場合の構成を示すブロック図、第1
2図は従来の連想メモリ部の構成を示すブロック図、第
13図は従来の発火処理装置の概略動作を説明するフロ
ーチャート、第14図は従来の動作サイクルの説明図、
第15図は従来例のライトサイクルの真理値表を示す図
である。 101・・・演算器 201・・・CAM 602・
・・連想メモリ部 603・・・一致検出器 604・
・・ヒツト検出器606・・・制御部 611・・・F
IFOメモリなお、図中、同一符号は同一、又は相当部
分を示す。
プロセッサの発火処理装置に適用した場合の構成を示す
ブロック図、第2図は演算器の構成を示す図、第3図は
ハツシュメモリの構成を示すブロック図、第4図は連想
メモリ部の構成を示すブロック図、第5図はデータ対形
成器の構成を示すブロック図、第6図はこの発明の概略
動作を説明するフローチャート、第7図はこの発明の動
作サイクルの説明図、第8図はライトサイクルの真理値
を示す図、第9図は従来のデータ駆動形処理の概念図、
第10図は入力パケットの一例を示す図、第11図は従
来のデータ検索装置をデータ・駆動形プロセッサの発火
処理装置に適用した場合の構成を示すブロック図、第1
2図は従来の連想メモリ部の構成を示すブロック図、第
13図は従来の発火処理装置の概略動作を説明するフロ
ーチャート、第14図は従来の動作サイクルの説明図、
第15図は従来例のライトサイクルの真理値表を示す図
である。 101・・・演算器 201・・・CAM 602・
・・連想メモリ部 603・・・一致検出器 604・
・・ヒツト検出器606・・・制御部 611・・・F
IFOメモリなお、図中、同一符号は同一、又は相当部
分を示す。
Claims (1)
- (1)入力パケットの識別データを検索データとしてそ
こに格納されているパケットを検索すると共に、所定の
条件のもとで、入力パケットの一部又は全部を格納する
第1格納手段と、該第1格納手段が満杯か否かを判断す
る判断手段と、 該判断手段が前記第1格納手段が満杯であると判断した
とき、既に格納されているパケットのうち任意のアドレ
スに格納されているパケットを出力すべく制御すると共
に、入力されたパケットを前記アドレスに格納すべく制
御する制御手段と、 出力されたパケットを格納すると共に、格納されている
パケットを前記第1格納手段に出力する第2格納手段と を備えることを特徴とするデータ検索装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22222889A JPH0384685A (ja) | 1989-08-29 | 1989-08-29 | データ検索装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22222889A JPH0384685A (ja) | 1989-08-29 | 1989-08-29 | データ検索装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0384685A true JPH0384685A (ja) | 1991-04-10 |
Family
ID=16779126
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22222889A Pending JPH0384685A (ja) | 1989-08-29 | 1989-08-29 | データ検索装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0384685A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6104021A (en) * | 1997-04-09 | 2000-08-15 | Nec Corporation | Solid state image sensing element improved in sensitivity and production cost, process of fabrication thereof and solid state image sensing device using the same |
-
1989
- 1989-08-29 JP JP22222889A patent/JPH0384685A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6104021A (en) * | 1997-04-09 | 2000-08-15 | Nec Corporation | Solid state image sensing element improved in sensitivity and production cost, process of fabrication thereof and solid state image sensing device using the same |
| US6291811B1 (en) | 1997-04-09 | 2001-09-18 | Nec Corporation | Solid state image sensing element improved in sensitivity and production cost, process of fabrication thereof and solid state image sensing device using the same |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2668438B2 (ja) | データ検索装置 | |
| US5274790A (en) | Cache memory apparatus having a plurality of accessibility ports | |
| US5423011A (en) | Apparatus for initializing branch prediction information | |
| JPH0529939B2 (ja) | ||
| JPH11504458A (ja) | スーパースカラマイクロプロセッサにおける分岐予測正確度向上のための装置および方法 | |
| US4755936A (en) | Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles | |
| US4831622A (en) | Apparatus for forcing a reload from main memory upon cache memory error | |
| EP0492838A2 (en) | Apparatus for increasing the number of hits in a translation lookaside buffer | |
| US5636354A (en) | Data processor with serially accessed set associative memory cache interface and method | |
| US5283890A (en) | Cache memory arrangement with write buffer pipeline providing for concurrent cache determinations | |
| US5649178A (en) | Apparatus and method for storing and initializing branch prediction with selective information transfer | |
| US6446170B1 (en) | Efficient store machine in cache based microprocessor | |
| US6643742B1 (en) | Method and system for efficient cache memory updating with a least recently used (LRU) protocol | |
| US7028151B2 (en) | Information processing device equipped with improved address queue register files for cache miss | |
| JPH0384685A (ja) | データ検索装置 | |
| US5765221A (en) | Method and system of addressing which minimize memory utilized to store logical addresses by storing high order bits within a register | |
| US7069386B2 (en) | Associative memory device | |
| US5704056A (en) | Cache-data transfer system | |
| GB2037466A (en) | Computer with cache memory | |
| US5717891A (en) | Digital signal processor with caching of instructions that produce a memory conflict | |
| JPS629945B2 (ja) | ||
| US6671781B1 (en) | Data cache store buffer | |
| JPH052608A (ja) | データ検索装置 | |
| US6763421B2 (en) | Instruction pair detection and pseudo ports for cache array | |
| JPH03229381A (ja) | データ駆動形計算機 |