JPH02280286A - データ検索装置 - Google Patents
データ検索装置Info
- Publication number
- JPH02280286A JPH02280286A JP1102712A JP10271289A JPH02280286A JP H02280286 A JPH02280286 A JP H02280286A JP 1102712 A JP1102712 A JP 1102712A JP 10271289 A JP10271289 A JP 10271289A JP H02280286 A JPH02280286 A JP H02280286A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- hash
- bit
- address
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明はハッシェ処理され記憶されたデータの検索装
置に関し、特に識別データの一部するデータの対を生成
し、発火処理するデータ駆動形プロセッサに用いるデー
タ検索装置に関する。
置に関し、特に識別データの一部するデータの対を生成
し、発火処理するデータ駆動形プロセッサに用いるデー
タ検索装置に関する。
第9図はデータ駆動形処理の概念図であり、2つのデー
タの加算が行われる様子を示している。
タの加算が行われる様子を示している。
図において“A”という値を持ち“a“という識別子を
付加されたパケット81がマツチングメモリ87に与え
られると、識別子フィールド比較部84は待合せメモリ
85にパケット81の識別子“a″と一致する識別子を
持つパケットが格納されているか否かを検索する。第9
図では“B”という値を持ち“a′″という識別子を持
つパケット82が格納されているので、このパケット8
2が待合せメモリ85から読出され、入力されたパケッ
ト81と共にデータ対形成部86へ送られる。
付加されたパケット81がマツチングメモリ87に与え
られると、識別子フィールド比較部84は待合せメモリ
85にパケット81の識別子“a″と一致する識別子を
持つパケットが格納されているか否かを検索する。第9
図では“B”という値を持ち“a′″という識別子を持
つパケット82が格納されているので、このパケット8
2が待合せメモリ85から読出され、入力されたパケッ
ト81と共にデータ対形成部86へ送られる。
データ対形成部86はパケット81とパケット82とを
合体し、”A”という値と”B″という値とにa”とい
う識別子を付加したデータ83を形成しくこれを発火と
呼ぶ)、データ処理部88で演算が実行される。
合体し、”A”という値と”B″という値とにa”とい
う識別子を付加したデータ83を形成しくこれを発火と
呼ぶ)、データ処理部88で演算が実行される。
第9図の例では待合せメモリ85に入力されたパケット
81と同じ識別子“a“を有するパケット82が格納さ
れていたが、待合せメモリ85に入力されたパケット8
1と同じ識別子を有するパケットが格納されていない場
合は、入力されたパケット81は待合せメモリ85に格
納され、これと一致する識別子を有するパケットが入力
されるまで待合される。
81と同じ識別子“a“を有するパケット82が格納さ
れていたが、待合せメモリ85に入力されたパケット8
1と同じ識別子を有するパケットが格納されていない場
合は、入力されたパケット81は待合せメモリ85に格
納され、これと一致する識別子を有するパケットが入力
されるまで待合される。
このようにマツチングメモリとはデータ駆動形プロセッ
サにおいて演算すべきパケットを検索する役割を持って
いる。
サにおいて演算すべきパケットを検索する役割を持って
いる。
通常データ駆動形プロセッサにおいては、識別子のビッ
ト幅は数十ビットとなるため、識別子毎にメモリのアド
レスを割当てるとメモリ容量が膨大なものとなるため、
従来よりマツチングメモリに用いるメモリとしてビット
幅を圧縮(以下ハツシュという)し、これをメモリアド
レスとして用いたメモリ (以下ハツシュメモリという
)を用いている。
ト幅は数十ビットとなるため、識別子毎にメモリのアド
レスを割当てるとメモリ容量が膨大なものとなるため、
従来よりマツチングメモリに用いるメモリとしてビット
幅を圧縮(以下ハツシュという)し、これをメモリアド
レスとして用いたメモリ (以下ハツシュメモリという
)を用いている。
第10図は入力パケットの一例の構成を示すビットマツ
プ図、第11図はハツシュメモリの一例の構成を示すブ
ロック図である。
プ図、第11図はハツシュメモリの一例の構成を示すブ
ロック図である。
入力パケットは演算対象となる18ピツトのオペランド
データOD、演算内容を示すコードである7ビツトのオ
ペランドコード0011ビツトのプロセッサ選択ビット
PS1人カパケットが2人力命令か1人力命令かを示す
1ビツトのPC処理選択ビット及び演算順に応じて左又
は右に配置することを示す左右データ選択ビットを含み
、各種の選択を行うセレクションコードSC1入力デー
タの入力順等の属性を示す9ビツトのカラー/世代識別
番号ON並びに演算の行われるべき場所を示す21ビツ
トのノード番号NNの60ビツトにて構成されている。
データOD、演算内容を示すコードである7ビツトのオ
ペランドコード0011ビツトのプロセッサ選択ビット
PS1人カパケットが2人力命令か1人力命令かを示す
1ビツトのPC処理選択ビット及び演算順に応じて左又
は右に配置することを示す左右データ選択ビットを含み
、各種の選択を行うセレクションコードSC1入力デー
タの入力順等の属性を示す9ビツトのカラー/世代識別
番号ON並びに演算の行われるべき場所を示す21ビツ
トのノード番号NNの60ビツトにて構成されている。
そしてプロセッサ選択ビットPSとカラー/世代識別番
号DN4ノード番号NNとから識別コードである31ビ
ツトの識別子が構成される。
号DN4ノード番号NNとから識別コードである31ビ
ツトの識別子が構成される。
ハツシュメモリ601はカラー/世代識別番号DNの下
位3ビツト及びノード番号NNの下位6ビツトの合計9
ビツトをハツシュアドレスとしてアクセスされるもので
あり、リードライトサイクルを定めるリードライト信号
W/π・H1書込みデータ及び各アドレスの有効・無効
の別を示すプレゼンスビットPBの更新を行うセットリ
セット信号S/πが与えられる。格納される書込みデー
タは18ビツトのオペランドデータと、カラー/世代識
別番号DN及びノード番号NNの残り21ビツトの識別
子と、1ビツトのプロセッサ選択ビットPSの合計40
ピントからなっている。またハツシュメモリ601には
別に1ビツトのプレゼンスビットPBが格納されており
、合計1ワード41ビツトとなっている。またアドレス
空間は2’ =512となっており、ハツシュメモリ6
01は41とット/ワード×512の大きさを有してい
る。
位3ビツト及びノード番号NNの下位6ビツトの合計9
ビツトをハツシュアドレスとしてアクセスされるもので
あり、リードライトサイクルを定めるリードライト信号
W/π・H1書込みデータ及び各アドレスの有効・無効
の別を示すプレゼンスビットPBの更新を行うセットリ
セット信号S/πが与えられる。格納される書込みデー
タは18ビツトのオペランドデータと、カラー/世代識
別番号DN及びノード番号NNの残り21ビツトの識別
子と、1ビツトのプロセッサ選択ビットPSの合計40
ピントからなっている。またハツシュメモリ601には
別に1ビツトのプレゼンスビットPBが格納されており
、合計1ワード41ビツトとなっている。またアドレス
空間は2’ =512となっており、ハツシュメモリ6
01は41とット/ワード×512の大きさを有してい
る。
ハツシュメモリを用いた場合、ハフシュしたアドレス(
以下バッジエアドレスという)をアクセスしたときに同
一アドレスでの衝突所謂ハツシュ衝突が起こる虞がある
。
以下バッジエアドレスという)をアクセスしたときに同
一アドレスでの衝突所謂ハツシュ衝突が起こる虞がある
。
即ちハフシュ衝突とは識別子の一部をハツシュアドレス
とした場合にハツシュアドレスが既にハツシュメモリ内
に格納されたデータと一致しても、残りの識別子が一致
しないデータがアクセスされたとき、そのデータを記憶
するアドレスが既に占有されているために起こるもので
ある。
とした場合にハツシュアドレスが既にハツシュメモリ内
に格納されたデータと一致しても、残りの識別子が一致
しないデータがアクセスされたとき、そのデータを記憶
するアドレスが既に占有されているために起こるもので
ある。
これを回避する従来技術として[沖電気研究開発報告]
第19〜第26真に開示されたデータ駆動形処理装置及
び本出願人による発明(特願昭61−277040号)
がある。
第19〜第26真に開示されたデータ駆動形処理装置及
び本出願人による発明(特願昭61−277040号)
がある。
前者のものはハツシュメモリ内にハツシュメモリ内のア
ドレスの相関関係を示すチエインフィールドを設け、ハ
ツシュ衝突した場合はハツシュメモリ内のチエインフィ
ールドに示されるアドレスを順次参照することによって
対となるデータを検索するものである。
ドレスの相関関係を示すチエインフィールドを設け、ハ
ツシュ衝突した場合はハツシュメモリ内のチエインフィ
ールドに示されるアドレスを順次参照することによって
対となるデータを検索するものである。
後者のものは、識別子の大小を比較するタグ比較部を設
け、ハツシュ衝突が発生した場合に、入力されたデータ
と読出されたデータの識別子との大小を比較し、識別子
の小さい方のデータをハツシュメモリに格納し、大きい
方のデータはスルーフラグを付加され何も処理されずに
ハツシュメモリに格納できるまで何度も装置内を循環し
、ハツシュメモリに入力される。この識別子の大小はプ
ログラムの処理順に応じて定められているので、識別子
の大小比較を行いハツシュメモリに小さい値の識別子を
有するデータを格納することにより、プログラムの実行
におけるデータの依存関係によって生じる無限ループの
発生を防ぐ。
け、ハツシュ衝突が発生した場合に、入力されたデータ
と読出されたデータの識別子との大小を比較し、識別子
の小さい方のデータをハツシュメモリに格納し、大きい
方のデータはスルーフラグを付加され何も処理されずに
ハツシュメモリに格納できるまで何度も装置内を循環し
、ハツシュメモリに入力される。この識別子の大小はプ
ログラムの処理順に応じて定められているので、識別子
の大小比較を行いハツシュメモリに小さい値の識別子を
有するデータを格納することにより、プログラムの実行
におけるデータの依存関係によって生じる無限ループの
発生を防ぐ。
しかしながら前者のものはハツシュ衝突が起きた場合に
チエインフィールドで指示されるアドレスをたどること
により対となるべきデータを順次検索しているので、ハ
ツシュ衝突を起こす頻度が増加した場合、1データ当た
りの処理時間が長くなり、プロセッサ全体の処理効率が
著しく低下するという問題がある。
チエインフィールドで指示されるアドレスをたどること
により対となるべきデータを順次検索しているので、ハ
ツシュ衝突を起こす頻度が増加した場合、1データ当た
りの処理時間が長くなり、プロセッサ全体の処理効率が
著しく低下するという問題がある。
従ってハツシュ衝突の頻度を減少させるべく、ハツシュ
メモリの容量を大きくする必要が生じ、メモリ容量を小
さくするためのハツシュメモリを用いる意味がなくなる
。
メモリの容量を大きくする必要が生じ、メモリ容量を小
さくするためのハツシュメモリを用いる意味がなくなる
。
また後者のものは、データの識別子の値の大小を比較し
、ハツシュメモリ内のデータの入換えを行うため、その
機構が大がかりな装置となる。またスルーフラグをセッ
トされたデータがプロセッサ内を循環し、その間プロセ
ッサを占有することになるため、その処理効率が低下す
る。
、ハツシュメモリ内のデータの入換えを行うため、その
機構が大がかりな装置となる。またスルーフラグをセッ
トされたデータがプロセッサ内を循環し、その間プロセ
ッサを占有することになるため、その処理効率が低下す
る。
一方ハフシュアドレスは前述した如く例えば識別子の9
ビツトのカラー/世代識別番号DNから・の3ビツトに
21ビツトのノード番号NNからの6ビツトを連結して
生成されている。そして2gのハツシュメモリのアドレ
ス空間は2’(=8)のカラー/世代区間に分かれ、1
力ラー/世代区間は2−(=64)のアドレス空間かあ
、る、従って入力データのカラー/世代識別番号ONの
下位3ビツトが等しい場合、同一のカラー/世代区間に
アクセスすることになり、カラー/世代が少ない場合、
1区間(=2’)のアドレス空間へのアクセス頻度が増
加し、ハツシュ衝突の頻度が増大する。即ちカラー/世
代識別番号DNの下位3ビツトが等しい入力データはア
ドレス空間が2”(−512)あるのにも拘わらず、実
質的にはその1/8の空間(=64)をアクセスするこ
とになる。それ故ハツシュ衝突の頻度は8倍となる場合
がある。
ビツトのカラー/世代識別番号DNから・の3ビツトに
21ビツトのノード番号NNからの6ビツトを連結して
生成されている。そして2gのハツシュメモリのアドレ
ス空間は2’(=8)のカラー/世代区間に分かれ、1
力ラー/世代区間は2−(=64)のアドレス空間かあ
、る、従って入力データのカラー/世代識別番号ONの
下位3ビツトが等しい場合、同一のカラー/世代区間に
アクセスすることになり、カラー/世代が少ない場合、
1区間(=2’)のアドレス空間へのアクセス頻度が増
加し、ハツシュ衝突の頻度が増大する。即ちカラー/世
代識別番号DNの下位3ビツトが等しい入力データはア
ドレス空間が2”(−512)あるのにも拘わらず、実
質的にはその1/8の空間(=64)をアクセスするこ
とになる。それ故ハツシュ衝突の頻度は8倍となる場合
がある。
この発明は斯かる事情に鑑みなされたものであり、複数
の識別データからハソシェアドレスを生成する場合に、
それらからにビットを抽出し、それらの演算に基づき生
成することにより識別データが類似している場合であっ
てもメモリの全アドレス空間をアクセスすることができ
、ハツシュ衝突の発生を抑制し、処理効率を向上させた
データ検索装置を得ることを目的とする。
の識別データからハソシェアドレスを生成する場合に、
それらからにビットを抽出し、それらの演算に基づき生
成することにより識別データが類似している場合であっ
てもメモリの全アドレス空間をアクセスすることができ
、ハツシュ衝突の発生を抑制し、処理効率を向上させた
データ検索装置を得ることを目的とする。
この発明に係るデータ検索装置は、パケットのM個のN
ビットの識別データのビット列からにビットのビット列
を複数選択し、選択されたにビットのビット列の排他的
論理和演算等の逆算可能な演算によりパケットの格納ア
ドレスを生成し、生成されたアドレスにパケットの一部
又は全部をメモリに格納すると共に、格納されたパケッ
トと格納アドレスが等しいパケットが入力されたとき、
格納された識別データの一部又は全部と入力された識別
データの一部又は全部とを比較し、その−致/不一致を
判定する判定手段を設けたものである。さらに不一致の
とき、識別データを検索データとし、格納する連想メモ
リと、前記入力された識別データの一部又は全部とメモ
リ又は連想メモリに格納された識別データの一部又は全
部とを比較し、−敗したか否かの別によりそれらからの
出力を選択する選択手段を設けるようにしたものである
。
ビットの識別データのビット列からにビットのビット列
を複数選択し、選択されたにビットのビット列の排他的
論理和演算等の逆算可能な演算によりパケットの格納ア
ドレスを生成し、生成されたアドレスにパケットの一部
又は全部をメモリに格納すると共に、格納されたパケッ
トと格納アドレスが等しいパケットが入力されたとき、
格納された識別データの一部又は全部と入力された識別
データの一部又は全部とを比較し、その−致/不一致を
判定する判定手段を設けたものである。さらに不一致の
とき、識別データを検索データとし、格納する連想メモ
リと、前記入力された識別データの一部又は全部とメモ
リ又は連想メモリに格納された識別データの一部又は全
部とを比較し、−敗したか否かの別によりそれらからの
出力を選択する選択手段を設けるようにしたものである
。
この発明においては、メモリの格納アドレスが複数の識
別データの逆算可能な演算により生成されるので、識別
データの一部が類僚のパケットであっても、同一の格納
アドレスとなることがなく、ハツシュ衝突の頻度が減少
する。またハツシュ衝突が生じたときにそのパケットの
識別データを検索データとして連想メモリに格納できる
のでパケットが循環することなく格納でき処理効率が向
上する。
別データの逆算可能な演算により生成されるので、識別
データの一部が類僚のパケットであっても、同一の格納
アドレスとなることがなく、ハツシュ衝突の頻度が減少
する。またハツシュ衝突が生じたときにそのパケットの
識別データを検索データとして連想メモリに格納できる
のでパケットが循環することなく格納でき処理効率が向
上する。
以下、この発明を実施例を示す図面に基づいて説明する
。
。
第1図はこの発明に係るデータ検索装置をデータ駆動形
プロセッサの発火処理装置に用いた場合の構成を示すブ
ロック図である。図において612は入力セレクタであ
り、後述するFIFOメモリ611から出力されたパケ
ットと入力されたパケットとを選択する。なおパケット
はそのビットマツプを第10図に示すごと<62ビツト
の幅を有している。
プロセッサの発火処理装置に用いた場合の構成を示すブ
ロック図である。図において612は入力セレクタであ
り、後述するFIFOメモリ611から出力されたパケ
ットと入力されたパケットとを選択する。なおパケット
はそのビットマツプを第10図に示すごと<62ビツト
の幅を有している。
選択されたパケットはデータラッチ608に与えられ、
そこでデータ入力信号COが“H”のタイミングでラッ
チされる。ラッチされたパケットはその31ビツトの識
別子のうち、カラー/世代識別番号ONの9ビツトと、
ノード番号NNの下位9ビツトとが、排他的論理和演算
を行いハツシュアドレスを生成するアドレス生成手段で
ある演算器101の2つの入力端子に夫々与えられる。
そこでデータ入力信号COが“H”のタイミングでラッ
チされる。ラッチされたパケットはその31ビツトの識
別子のうち、カラー/世代識別番号ONの9ビツトと、
ノード番号NNの下位9ビツトとが、排他的論理和演算
を行いハツシュアドレスを生成するアドレス生成手段で
ある演算器101の2つの入力端子に夫々与えられる。
第2図は演算器101の構成を示す図であり、入力され
た9ビツトのカラー/世代識別番号ONとノード番号N
Nの下位9ビツトとが夫々のビット毎に排他的論理和演
算され、その演算結果がハツシュアドレスとなり、ハツ
シュメモリ601に与えられる。
た9ビツトのカラー/世代識別番号ONとノード番号N
Nの下位9ビツトとが夫々のビット毎に排他的論理和演
算され、その演算結果がハツシュアドレスとなり、ハツ
シュメモリ601に与えられる。
また31ビツトの識別子と18ビツトのオペランドデー
タODとは連想メモリ部602にも与えられる。
タODとは連想メモリ部602にも与えられる。
また識別子のうちノード番号NNの下位9ビツトを除い
た22ビツトと、18ビツトのオペランドデータODと
を合わせた40ビツトの書込みデータがハツシュメモリ
601に与えられる。
た22ビツトと、18ビツトのオペランドデータODと
を合わせた40ビツトの書込みデータがハツシュメモリ
601に与えられる。
第3図はハツシュメモリ601の構成を示すブロック図
であり、ハツシュメモリ601は41ビツトのビット幅
を有し、2”(=512)のアドレス空間を有している
。そして18ビツトのオペランドデータoDと、31ピ
ントの識別子のうちノード番号NNの下位9ビツトを除
いた22ビツトとが格納されると共に、そのアドレスの
内容の有効(PH= 1)、無効(PH=O)の別を示
すフラグであるプレゼンスビットPRが格納されている
。ハツシュメモリ601には前述の如く9ビツトのハツ
シュアドレスと40ビツトの書込みデータが与えられる
と共に、後述する制御部606からそのリードライトサ
イクルを定めるリードライト信号W/T−Hと、プレゼ
ンスビットPBの更新を行うセット信号S/πとが与え
られ、リードライト信号W/π・H=“H′のサイクル
で書込みされ、W/π・H=“L”のサイクルで指定さ
れたアドレスの読出しデータとプレゼンスビットとが出
力される。
であり、ハツシュメモリ601は41ビツトのビット幅
を有し、2”(=512)のアドレス空間を有している
。そして18ビツトのオペランドデータoDと、31ピ
ントの識別子のうちノード番号NNの下位9ビツトを除
いた22ビツトとが格納されると共に、そのアドレスの
内容の有効(PH= 1)、無効(PH=O)の別を示
すフラグであるプレゼンスビットPRが格納されている
。ハツシュメモリ601には前述の如く9ビツトのハツ
シュアドレスと40ビツトの書込みデータが与えられる
と共に、後述する制御部606からそのリードライトサ
イクルを定めるリードライト信号W/T−Hと、プレゼ
ンスビットPBの更新を行うセット信号S/πとが与え
られ、リードライト信号W/π・H=“H′のサイクル
で書込みされ、W/π・H=“L”のサイクルで指定さ
れたアドレスの読出しデータとプレゼンスビットとが出
力される。
第4図は連想メモリ部602の構成を示すブロック図で
ある0図において201はハツシュ衝突したときにデー
タラッチ608からの31ビツトの識別子と一致するデ
ータを検索する連想メモリ (以下CAMという)であ
り、32ビツト×32アドレスの容量となっている。
CAM 201のうち1ビツトは前記ハツシュメモリ6
01と同様に格納されているデータの有効性を判別する
ためのプレゼンスビットPBの格納に用いられる。 C
AM 201には各アドレスに対して一部、不−敗検索
ライン(以下マツチラインという)が設けられており、
与えられた31ビツトの識別子と、CAM 201に格
納された識別子とが全て一致したアドレスの32ビツト
のマツチラインの1ビツトが“H”となる判定信号が出
力される。またCAに201にはセレクタ205を介し
てプレゼンスビットPRの更新を行うセット信号S/π
が与えられると共にリードライトのサイクルを定めるリ
ードライト信号W/π・Cが与えられる。セレクタ20
5は一端に基準電圧が、他端にセント信号S/Tが与え
られており、また切換端子にはリードライト信号W/π
・Cが与えられており、リードサイクルのときは基準電
圧が、ライトサイクルのときはセット信号S/πが選択
される。即ちリードサイクル(W/π・C=L)のとき
は、プレゼンスビットPR=1のアドレスだけを検索す
る必要があるので、検索データのプレゼンスビットPR
に相当するビットを常に1とし、ライトサイクル(W/
π・C=H)のときのみプレゼンスビットPBを更新す
る必要があるためにこのセレクタ205は用いられる。
ある0図において201はハツシュ衝突したときにデー
タラッチ608からの31ビツトの識別子と一致するデ
ータを検索する連想メモリ (以下CAMという)であ
り、32ビツト×32アドレスの容量となっている。
CAM 201のうち1ビツトは前記ハツシュメモリ6
01と同様に格納されているデータの有効性を判別する
ためのプレゼンスビットPBの格納に用いられる。 C
AM 201には各アドレスに対して一部、不−敗検索
ライン(以下マツチラインという)が設けられており、
与えられた31ビツトの識別子と、CAM 201に格
納された識別子とが全て一致したアドレスの32ビツト
のマツチラインの1ビツトが“H”となる判定信号が出
力される。またCAに201にはセレクタ205を介し
てプレゼンスビットPRの更新を行うセット信号S/π
が与えられると共にリードライトのサイクルを定めるリ
ードライト信号W/π・Cが与えられる。セレクタ20
5は一端に基準電圧が、他端にセント信号S/Tが与え
られており、また切換端子にはリードライト信号W/π
・Cが与えられており、リードサイクルのときは基準電
圧が、ライトサイクルのときはセット信号S/πが選択
される。即ちリードサイクル(W/π・C=L)のとき
は、プレゼンスビットPR=1のアドレスだけを検索す
る必要があるので、検索データのプレゼンスビットPR
に相当するビットを常に1とし、ライトサイクル(W/
π・C=H)のときのみプレゼンスビットPBを更新す
る必要があるためにこのセレクタ205は用いられる。
またCAM 201からは32ビツトのマツチラインに
識別子の一部、不一致の別を示す判定信号が出力される
と共に、空アドレス検出器203に各アドレスのプレゼ
ンスビットPRが出力され、そこでプレゼンスビットP
Bにより空アドレスが検出される。
識別子の一部、不一致の別を示す判定信号が出力される
と共に、空アドレス検出器203に各アドレスのプレゼ
ンスビットPRが出力され、そこでプレゼンスビットP
Bにより空アドレスが検出される。
空アドレス検出器203は32ビツトの検出信号をアド
レスセレクタ204の一端に出力すると共に空アドレス
がなく CAM 201の全アドレス空間にハツシュ衝
突したパケットの識別子が格納されたとき、そのことを
示すフル信号FLを制御部606に出力する。なお検出
信号はCAM 201のアドレスに対応する32ヒツト
の出力であり、その空アドレスのビットが“H”となっ
ている。アドレスセレクタ204の他端にはマツチライ
ンからの判定信号が与えられ、その切換端子に与えられ
たリードライト信号W/π・Cのリードライトに応じア
ドレスセレクタ204はリードサイクルのときは判定信
号を、またライトサイクルのときは空アドレス検出器2
03の検出信号を夫々選択する。アドレスセレクタ20
4のアドレス選択出力はRAM 202に与えられ、そ
れにより指定されたアドレスがアクセスされる。RAM
202はオペランドデータを格納するためのものであり
、18ビツト×32アドレスの容量となっている。
レスセレクタ204の一端に出力すると共に空アドレス
がなく CAM 201の全アドレス空間にハツシュ衝
突したパケットの識別子が格納されたとき、そのことを
示すフル信号FLを制御部606に出力する。なお検出
信号はCAM 201のアドレスに対応する32ヒツト
の出力であり、その空アドレスのビットが“H”となっ
ている。アドレスセレクタ204の他端にはマツチライ
ンからの判定信号が与えられ、その切換端子に与えられ
たリードライト信号W/π・Cのリードライトに応じア
ドレスセレクタ204はリードサイクルのときは判定信
号を、またライトサイクルのときは空アドレス検出器2
03の検出信号を夫々選択する。アドレスセレクタ20
4のアドレス選択出力はRAM 202に与えられ、そ
れにより指定されたアドレスがアクセスされる。RAM
202はオペランドデータを格納するためのものであり
、18ビツト×32アドレスの容量となっている。
リードライト信号W/π・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ビツト
のオペランドデータ00とを格納するか指示する。
出信号が選択され、CAM 201とRAM 202の
いずれかのアドレスに31ビツトの識別子と18ビツト
のオペランドデータ00とを格納するか指示する。
またCAM 201がヒツトした場合はプレゼンスビッ
トPBを更新する必要が生じるので、ライトサイクルに
てCAM 201に与えられるアドレスはヒツトしたア
ドレスである。
トPBを更新する必要が生じるので、ライトサイクルに
てCAM 201に与えられるアドレスはヒツトしたア
ドレスである。
入力されたパケットとハツシュアドレスとが等しいハツ
シュメモリ601内の40ビツトの格納データ、ハツシ
ュメモリ601のプレゼンスビットPR及び連想メモリ
部602の出力信号はデータラッチ609にクロックT
1のタイミングでラッチされ、プレゼンスビットPBは
制御部606へ、また格納データのうちの22ビツトの
識別子は一致検出器603の一端へ、格納データのうち
の18ビツトのオペランドデータ00は出力セレクタ6
05の一端へ夫々与えられる。また連想メモリ部602
の出力信号のうち32ビツトの判定信号はヒツト検出器
604へ、また18ビツトのオペランドデータODは出
力セレクタ605の他端へ与えられる。
シュメモリ601内の40ビツトの格納データ、ハツシ
ュメモリ601のプレゼンスビットPR及び連想メモリ
部602の出力信号はデータラッチ609にクロックT
1のタイミングでラッチされ、プレゼンスビットPBは
制御部606へ、また格納データのうちの22ビツトの
識別子は一致検出器603の一端へ、格納データのうち
の18ビツトのオペランドデータ00は出力セレクタ6
05の一端へ夫々与えられる。また連想メモリ部602
の出力信号のうち32ビツトの判定信号はヒツト検出器
604へ、また18ビツトのオペランドデータODは出
力セレクタ605の他端へ与えられる。
一致検出器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がヒツトすれば)、ヒツト信号+117を制御
部606及び出力セレクタ605の切換端子に与える。
のマツチラインの反転信号をモニタし、その中の1ビツ
トでも“H”に立上ったものがあった場合は(=CAM
201がヒツトすれば)、ヒツト信号+117を制御
部606及び出力セレクタ605の切換端子に与える。
出力セレクタ605は、入力されたパケットの識別子と
ハツシュメモリ601又は連想メモリ602内に格納さ
れた識別子とが全て一致する発火対象の相手データが検
索された場合に一致した識別子を格納した方のメモリか
らのオペランドデータODを選択するものである。選択
結果のオペランドデータ00はデータラッチ610に与
えられ、制御部606からのクロックT2の“H”のタ
イミングでラッチされ、データ対形成器607の一端に
与えられる。
ハツシュメモリ601又は連想メモリ602内に格納さ
れた識別子とが全て一致する発火対象の相手データが検
索された場合に一致した識別子を格納した方のメモリか
らのオペランドデータODを選択するものである。選択
結果のオペランドデータ00はデータラッチ610に与
えられ、制御部606からのクロックT2の“H”のタ
イミングでラッチされ、データ対形成器607の一端に
与えられる。
出力セレクタ605の選択は切換端子に与えられたヒツ
ト信号器Tにより行われ、CAM 201がヒツトした
場合にのみ連想メモリ部602に格納されていたオペラ
ンドデータ00を選択し、ヒツトしなかった場合にはハ
ツシュメモリ601に格納されていたデータを選択し、
データラッチ610に送る。
ト信号器Tにより行われ、CAM 201がヒツトした
場合にのみ連想メモリ部602に格納されていたオペラ
ンドデータ00を選択し、ヒツトしなかった場合にはハ
ツシュメモリ601に格納されていたデータを選択し、
データラッチ610に送る。
データ対形成器607は出力セレクタ605により選択
されたオペランドデータODが一端に入力されると共に
他端には、データラッチ60Bからの62ビツトの入力
されたパケットのデータが与えられる。
されたオペランドデータODが一端に入力されると共に
他端には、データラッチ60Bからの62ビツトの入力
されたパケットのデータが与えられる。
そして2つのデータがマージされ80ビツトの2オペラ
ンドデータが形成される。このとき2項演算の減算命令
の如くオペランドの順序関係が重要なものがあるので、
選択されたオペランドデータ00と入力されたパケット
のオペランドデータODとは正しく左又は右のオペラン
ドとして配置される必要がある。
ンドデータが形成される。このとき2項演算の減算命令
の如くオペランドの順序関係が重要なものがあるので、
選択されたオペランドデータ00と入力されたパケット
のオペランドデータODとは正しく左又は右のオペラン
ドとして配置される必要がある。
第5図はデータ対形成器607の構成を示すブロック図
である。データ対形成器607は2つのデータセレクタ
701.702からなり、夫々の切換端子には入力され
たパケットの左/右データ選択ビットでその状態を示す
セレクタ制御信号L/πが与えられる。データセレクタ
701のA端子及びデータセレクタ702のB端子には
データラッチ608よりの入力されたパケットのオペラ
ンドデータODが夫々与えられ、データセレクタ701
のB端子及びデータセレクタ702のA端子にはデータ
ラッチ610よりの格納されたオペランドデータ00が
与えられる。そして入力されたパケットのオペランドデ
ータODからのセレクタ制御信号L/πが“1”のとき
は夫々のデータセレクタ701.702のA端子に与え
られたオペランドデータが、またL/πが”0”のとき
はB端子に与えられたオペランドデータが選択され、デ
ータセレクタ701からの選択出力が左オペランドとな
り、データセレクタ702からの選択出力が右オペラン
ドとなり、それらと入力されたパケットのオペランドデ
ータ00を除く他のデータとがマージされ出力される。
である。データ対形成器607は2つのデータセレクタ
701.702からなり、夫々の切換端子には入力され
たパケットの左/右データ選択ビットでその状態を示す
セレクタ制御信号L/πが与えられる。データセレクタ
701のA端子及びデータセレクタ702のB端子には
データラッチ608よりの入力されたパケットのオペラ
ンドデータODが夫々与えられ、データセレクタ701
のB端子及びデータセレクタ702のA端子にはデータ
ラッチ610よりの格納されたオペランドデータ00が
与えられる。そして入力されたパケットのオペランドデ
ータODからのセレクタ制御信号L/πが“1”のとき
は夫々のデータセレクタ701.702のA端子に与え
られたオペランドデータが、またL/πが”0”のとき
はB端子に与えられたオペランドデータが選択され、デ
ータセレクタ701からの選択出力が左オペランドとな
り、データセレクタ702からの選択出力が右オペラン
ドとなり、それらと入力されたパケットのオペランドデ
ータ00を除く他のデータとがマージされ出力される。
制御部606はプレゼンスビットPB、ヒント信号HI
T 、−敗信号11iQ、入力されたパケットが2人力
命令か1人力命令かの別を示すFC処理選択ビットの状
態で定まる入力選択信号FC(2入力命令FC=1.1
入力命令FC=0)及びフル信°号FLが与えられ、そ
れらを判断してリードライト信号W/π・C,W/π・
H、セット信号S/T、データ出力信号C1及び後述す
るFIFOメモリ611への書込信号WRFを出力する
。またデータ入力信号CO、データ出力許可信号■が入
力され、それらを判断してデータ入力許可信号■、クロ
ックT1及び同T2を出力する。ここでデータ入力信号
CO及びデータ入力許可信号■はこの発火処理装置と、
この装置に対してデータを与える処理装置(以下前段装
置という)との間のデータ転送制御信号であり、データ
出力信号C1及びデータ出力許可信号■はこの装置の出
力するデータを受取る処理装置(以下後段装置という)
との間のデータ転送制御信号である。
T 、−敗信号11iQ、入力されたパケットが2人力
命令か1人力命令かの別を示すFC処理選択ビットの状
態で定まる入力選択信号FC(2入力命令FC=1.1
入力命令FC=0)及びフル信°号FLが与えられ、そ
れらを判断してリードライト信号W/π・C,W/π・
H、セット信号S/T、データ出力信号C1及び後述す
るFIFOメモリ611への書込信号WRFを出力する
。またデータ入力信号CO、データ出力許可信号■が入
力され、それらを判断してデータ入力許可信号■、クロ
ックT1及び同T2を出力する。ここでデータ入力信号
CO及びデータ入力許可信号■はこの発火処理装置と、
この装置に対してデータを与える処理装置(以下前段装
置という)との間のデータ転送制御信号であり、データ
出力信号C1及びデータ出力許可信号■はこの装置の出
力するデータを受取る処理装置(以下後段装置という)
との間のデータ転送制御信号である。
制御部606にフル信号PLが入力され、さらにハツシ
ュ衝突が生じた場合、制御部606から2ボートタイプ
のFIFOメモリ611に書込み信号−RPが与えられ
る。このときFIFOメモリ611はデータ対形成器6
07からの出力信号のうち入力されたパケットの62ビ
ツトのデータを格納し、それを所定時間バッファリング
した後二人力セレクタ612の他端に与える。この間に
ハツシュ衝突の原因となったハツシュアドレスのハツシ
ュメモリ601内のデータか、またはCAM 201内
のデータのいずれかのデータが読出されて発火されてい
る場合はFIFOメモリ611を経由して再び入力され
たパケットはこの装置内のハツシュメモリ601又は連
想メモリ部602のいずれかで待合せを行うことができ
る。
ュ衝突が生じた場合、制御部606から2ボートタイプ
のFIFOメモリ611に書込み信号−RPが与えられ
る。このときFIFOメモリ611はデータ対形成器6
07からの出力信号のうち入力されたパケットの62ビ
ツトのデータを格納し、それを所定時間バッファリング
した後二人力セレクタ612の他端に与える。この間に
ハツシュ衝突の原因となったハツシュアドレスのハツシ
ュメモリ601内のデータか、またはCAM 201内
のデータのいずれかのデータが読出されて発火されてい
る場合はFIFOメモリ611を経由して再び入力され
たパケットはこの装置内のハツシュメモリ601又は連
想メモリ部602のいずれかで待合せを行うことができ
る。
この際、入力セレクタ612は通常外部より与えられる
データをセレクトし、FIFOメモリ611の出力端に
バッファリングを施されたデータが存在するときのみ、
外部より与えられるデータとFIFOメモリ611の与
えるデータを交互にセレクトするよう制御される。
データをセレクトし、FIFOメモリ611の出力端に
バッファリングを施されたデータが存在するときのみ、
外部より与えられるデータとFIFOメモリ611の与
えるデータを交互にセレクトするよう制御される。
次に以下の如く構成されたこの発明の発火処理装置の動
作について説明する。なおハツシュメモ+7601には
データ対を待つ複数のパケットが格納されているとする
。第6図はこの発明の概略動作を説明するフローチャー
トである。パケットが入力されると(Sl)、9ビツト
のハツシュアドレスがカラー/世代識別番号DN(9ビ
ツト)とノード番号NNの下位9ビツトとの排他的論理
和により生成される(S2)。次にハフシュメモリ60
1のそのハツシュアドレスに有効なデータが既に格納さ
れているか否かが判定され(S3)、格納されていない
場合は入力パケットをハツシュメモリ601のそのハツ
シュアドレスに格納しくS4)、格納されている場合は
22ビツトの他の識別子が一致しているか否かが判定さ
れ(S5)、一致していない場合はハツシュ衝突が生じ
ているので、入力パケットを連想メモリ部602に格納
しくS6)、一致した場合はハツシュメモリ601内の
格納データを選択しくS9)、それと入力パケットとを
データ対となす発火処理を行う(S12)。
作について説明する。なおハツシュメモ+7601には
データ対を待つ複数のパケットが格納されているとする
。第6図はこの発明の概略動作を説明するフローチャー
トである。パケットが入力されると(Sl)、9ビツト
のハツシュアドレスがカラー/世代識別番号DN(9ビ
ツト)とノード番号NNの下位9ビツトとの排他的論理
和により生成される(S2)。次にハフシュメモリ60
1のそのハツシュアドレスに有効なデータが既に格納さ
れているか否かが判定され(S3)、格納されていない
場合は入力パケットをハツシュメモリ601のそのハツ
シュアドレスに格納しくS4)、格納されている場合は
22ビツトの他の識別子が一致しているか否かが判定さ
れ(S5)、一致していない場合はハツシュ衝突が生じ
ているので、入力パケットを連想メモリ部602に格納
しくS6)、一致した場合はハツシュメモリ601内の
格納データを選択しくS9)、それと入力パケットとを
データ対となす発火処理を行う(S12)。
また連想メモリ部602に格納した後、そのメモリ部6
02が満杯か否かが判定され(S7)、満杯のときは入
力パケットをFIFOメモリ611に格納し、満杯でな
いときはそのまま次処理に移る。
02が満杯か否かが判定され(S7)、満杯のときは入
力パケットをFIFOメモリ611に格納し、満杯でな
いときはそのまま次処理に移る。
一方パケットが入力されるとハツシュアドレスが生成さ
れると共に連想メモリ部602では格納された識別子と
の一致、不一致を判定しく5IO)、致したときは連想
メモリ部602の出力を選択しく5ll)、発火処理す
る(S12)。また一致しないときはステップ9に移る
0以上が概略動作である。
れると共に連想メモリ部602では格納された識別子と
の一致、不一致を判定しく5IO)、致したときは連想
メモリ部602の出力を選択しく5ll)、発火処理す
る(S12)。また一致しないときはステップ9に移る
0以上が概略動作である。
第7図はこの発明装置の動作サイクルを説明するタイミ
ングチャートであり、この図に示す如くこの発明装置の
動作サイクルはリードサイクル、処理サイクル及びライ
トサイクルの3つのサイクルに分けられる。前段装置か
らのデータ入力信号COが制御部606に入力されると
、前段装置への出力許可信号iが“ビー“O”に変化し
、次の入力を禁止し、リードサイクルに入る。リードサ
イクルに入ると入力セレクタ612で選択された入力パ
ケット又はCAM 201のオーバフローにより循環さ
れたパケットのいずれかが、データ入力信号COの“0
”→“l”のタイミングでデータラッチ608にラッチ
される。データラッチ608にパケットが入力されると
、前記パケットの31ビツトの識別子のうち、カラー/
世代識別番号DNの9ビツトと21ビツトのノード番号
NNの下位9ビツトとが演算器101に与えられそれら
の排他的論理和演算が行われ、9ビツトのハツシュアド
レスが定められる。
ングチャートであり、この図に示す如くこの発明装置の
動作サイクルはリードサイクル、処理サイクル及びライ
トサイクルの3つのサイクルに分けられる。前段装置か
らのデータ入力信号COが制御部606に入力されると
、前段装置への出力許可信号iが“ビー“O”に変化し
、次の入力を禁止し、リードサイクルに入る。リードサ
イクルに入ると入力セレクタ612で選択された入力パ
ケット又はCAM 201のオーバフローにより循環さ
れたパケットのいずれかが、データ入力信号COの“0
”→“l”のタイミングでデータラッチ608にラッチ
される。データラッチ608にパケットが入力されると
、前記パケットの31ビツトの識別子のうち、カラー/
世代識別番号DNの9ビツトと21ビツトのノード番号
NNの下位9ビツトとが演算器101に与えられそれら
の排他的論理和演算が行われ、9ビツトのハツシュアド
レスが定められる。
なおこの実施例では演算器101により2種類の識別コ
ードの排他的論理和演算が行われているが、識別コード
の演算対象数及び演算内容はこれに限るものではなく、
演算対象数は3つ以上でもよく、また演算内容は加算等
の他の逆算可能な演算でもよい。
ードの排他的論理和演算が行われているが、識別コード
の演算対象数及び演算内容はこれに限るものではなく、
演算対象数は3つ以上でもよく、また演算内容は加算等
の他の逆算可能な演算でもよい。
即ち、任意の2進敗a、bに対してa■b=cならばb
@ c = aが成立する演算子により下記式6式%
) 但し k、・・・k、l・・・識別コードによりハツシ
ュアドレスを生成してもよい。
@ c = aが成立する演算子により下記式6式%
) 但し k、・・・k、l・・・識別コードによりハツシ
ュアドレスを生成してもよい。
ハツシュアドレスが定められると、リードサイクルでは
ハツシュメモリ601 と連想メモリ602とが同時に
読出される。メモリ読出しに必要な時間が経過すると々
ロックT、が“O”−“1”に変化し、読出されたデー
タはデータラッチ609にラッチされる。ここから処理
サイクルに入り、一致検出器603及びヒツト検出器6
04はハツシュメモ17601及び連想メモリ部602
より読出された各データに基づいて一致信号EQ及びヒ
ツト信号旧Tを出力する。即ち一致検出器603はハツ
シュ衝突が起こっているか否かを検出するものであり、
データランチ608に入力されているパケ・ノドの識別
子とハツシュメモリ601から読出されたデータラ・ノ
チ609にラッチされている識別子との比較を行う。
ハツシュメモリ601 と連想メモリ602とが同時に
読出される。メモリ読出しに必要な時間が経過すると々
ロックT、が“O”−“1”に変化し、読出されたデー
タはデータラッチ609にラッチされる。ここから処理
サイクルに入り、一致検出器603及びヒツト検出器6
04はハツシュメモ17601及び連想メモリ部602
より読出された各データに基づいて一致信号EQ及びヒ
ツト信号旧Tを出力する。即ち一致検出器603はハツ
シュ衝突が起こっているか否かを検出するものであり、
データランチ608に入力されているパケ・ノドの識別
子とハツシュメモリ601から読出されたデータラ・ノ
チ609にラッチされている識別子との比較を行う。
即ちカラー/世代識別番号DNの9ビツト、ノード番号
NNの上位12ビツト及びプロセッサ識別ビットの1ビ
ツトの計22ビットの比較を行う。これらの22ビツト
が全て等しいと判定されると、9ビツトのハツシュアド
レスが等しく、また9ビツトのカラー/世代識別番号D
Nが等しいので、ノード番号NNの下位9ビツトも等し
いことになり、31ビツトの識別子の全てが等しいと判
定され、一致検出器603は一致信号EQ=“ビを制御
部606に出力する。
NNの上位12ビツト及びプロセッサ識別ビットの1ビ
ツトの計22ビットの比較を行う。これらの22ビツト
が全て等しいと判定されると、9ビツトのハツシュアド
レスが等しく、また9ビツトのカラー/世代識別番号D
Nが等しいので、ノード番号NNの下位9ビツトも等し
いことになり、31ビツトの識別子の全てが等しいと判
定され、一致検出器603は一致信号EQ=“ビを制御
部606に出力する。
即ち入力されたパケットのカラー/世代識別番号DNの
9ビツトをg、ノード番号NNの上位!2ビットをNA
、下位9ビツトをN、とし、ハツシュメモリ601内に
格納されているカラー/世代識別番号DNをgM、ノー
ド番号NNの上位12ビツトをN。
9ビツトをg、ノード番号NNの上位!2ビットをNA
、下位9ビツトをN、とし、ハツシュメモリ601内に
格納されているカラー/世代識別番号DNをgM、ノー
ド番号NNの上位12ビツトをN。
とすると、ハツシュアドレスAは前述の如くA=g■N
・・・(1) ■:排他的論理和又はNyr=g■
A ・・・(2) によって求められ、このハフシュアドレスAによりハツ
シュメモリ601をアクセスしている。ハツシュメモリ
601上にノード番号NNの21ビツトのうち下位9ビ
ツトは格納されていないので、それを求めなければ入力
パケットの下位9ビットN、との比較はできない。
・・・(1) ■:排他的論理和又はNyr=g■
A ・・・(2) によって求められ、このハフシュアドレスAによりハツ
シュメモリ601をアクセスしている。ハツシュメモリ
601上にノード番号NNの21ビツトのうち下位9ビ
ツトは格納されていないので、それを求めなければ入力
パケットの下位9ビットN、との比較はできない。
しかし前述の如<g=gsが判明すると、上記(2)式
より N、=gH■A ・・・(3) が得られる。しかしN、が直接に得られるため、格納さ
れていない下位9ビツトを求める必要がなく、比較する
必要もなくなる。
より N、=gH■A ・・・(3) が得られる。しかしN、が直接に得られるため、格納さ
れていない下位9ビツトを求める必要がなく、比較する
必要もなくなる。
そしてヒツト検出器604では連想メモリ部602に格
納されている識別子とデータラッチ608に入力されて
いるパケットの識別子とが等しい場合、即ち32ビツト
のマツチラインのいずれかが“H”となったときにヒツ
ト信号HIT =“1”を出力する。
納されている識別子とデータラッチ608に入力されて
いるパケットの識別子とが等しい場合、即ち32ビツト
のマツチラインのいずれかが“H”となったときにヒツ
ト信号HIT =“1”を出力する。
上述の操作に必要な時間が経過すると、クロックT2が
“0”→“1”に変化し、ライトサイクルに入る。ライ
トサイクルではプレゼンスビットPRの更新を含むメモ
リの書込みとデータ対の生成が行われる。これらの操作
に必要な時間が経過すると制御部606はデータ出力信
号C1を出力し、クロックT、、T、及びデータ入力許
可信号nの復帰を行い一連の処理を終了する。但しデー
タ出力信号C1の出力は入力されたパケットが発火した
ときだけであり、発火しなかった場合は、クロックT+
、Tt及びデータ入力許可信号■の復帰だけを行い、
データ出力信号C1は出力されない。そしてこのライト
サイクルではプレゼンスビットPB。
“0”→“1”に変化し、ライトサイクルに入る。ライ
トサイクルではプレゼンスビットPRの更新を含むメモ
リの書込みとデータ対の生成が行われる。これらの操作
に必要な時間が経過すると制御部606はデータ出力信
号C1を出力し、クロックT、、T、及びデータ入力許
可信号nの復帰を行い一連の処理を終了する。但しデー
タ出力信号C1の出力は入力されたパケットが発火した
ときだけであり、発火しなかった場合は、クロックT+
、Tt及びデータ入力許可信号■の復帰だけを行い、
データ出力信号C1は出力されない。そしてこのライト
サイクルではプレゼンスビットPB。
一致信号EQ、ヒツト信号+117 、フル信号PL及
び入力選択信号FCによってリードライト信号W/π・
H9W/π・C,FIFOメモリ611の書込信号−計
及びセット信号S/πが制御部606で生成される。
び入力選択信号FCによってリードライト信号W/π・
H9W/π・C,FIFOメモリ611の書込信号−計
及びセット信号S/πが制御部606で生成される。
この真理値表を第8図に示す。これによりハツシュメモ
リ601及び連想メモリ部602に入力されたパケット
を書込むか否かを定め、下記の如くの動作をする。
リ601及び連想メモリ部602に入力されたパケット
を書込むか否かを定め、下記の如くの動作をする。
第8図の+1)は、1入力命令が与えられた場合を示し
、ハツシュメモリ601の内容を何ら更新することなく
1オペランドデータがそのまま出力される。
、ハツシュメモリ601の内容を何ら更新することなく
1オペランドデータがそのまま出力される。
第8図の(2)〜(7)は2入力命令が与えられた場合
を示し、データを出力するか否かは各種の条件により定
まる。(2)はハツシュメモリ601の入力パケットに
より定められたハツシュアドレスにデータが格納されて
おり (PR= 1)、それがハツシュ衝突を起こすこ
とがなかった(EQ=1)場合を示す。ハツシュメモリ
601 と連想メモリ部602とに重複してデータが格
納されることはないので、この場合CAM 201がヒ
ントすることはない(旧T=0)。このときライトサイ
クルにおいてはハツシュメモリ601のプレゼンスビッ
トPBをリセットする必要、があるのでリードライト信
号W/π・H=1、セット信号S/π=0とする。連想
メモリ部602には手を加える必要がないので、リード
ライト信号W/π・C=0とする。入力されたパケット
はハフシュメモリ601の内容と発火したので、ライト
サイクルの終了と同時にデータ出力信号C1を出力する
。
を示し、データを出力するか否かは各種の条件により定
まる。(2)はハツシュメモリ601の入力パケットに
より定められたハツシュアドレスにデータが格納されて
おり (PR= 1)、それがハツシュ衝突を起こすこ
とがなかった(EQ=1)場合を示す。ハツシュメモリ
601 と連想メモリ部602とに重複してデータが格
納されることはないので、この場合CAM 201がヒ
ントすることはない(旧T=0)。このときライトサイ
クルにおいてはハツシュメモリ601のプレゼンスビッ
トPBをリセットする必要、があるのでリードライト信
号W/π・H=1、セット信号S/π=0とする。連想
メモリ部602には手を加える必要がないので、リード
ライト信号W/π・C=0とする。入力されたパケット
はハフシュメモリ601の内容と発火したので、ライト
サイクルの終了と同時にデータ出力信号C1を出力する
。
第8図の(3)及び(4)はハツシュメモリ601に有
効なデータが格納されていたが、それがハツシュ衝突を
起こした場合を示す(PR= I 、 EQ = 0)
。そして(3)ではCAM 201でもヒントしなかっ
たため(lIIT=O)、入力されたデータは連想メモ
リ部602に格納され(W/π・C=1.S/π−1)
データの出力は行われない(C1=O)。(4)ではC
AM 201がヒツトしたため()IIT = 1)、
入力されたパケットは連想メモリ部602の内容と発火
し、出力される(C1=1)。ここでCAM 201の
プレゼンスビットPRがリセットされなければいけない
ので、リードライト信号W/π・C=1.セット信号S
/T=0とされる。(5)及び(6)はハツシュメモリ
601に有効なデータが格納されていなかった場合であ
り (PB = O)、一致信号EQの値に意味はない
。(5)ではCAM 201がヒツトしなかった場合を
示しくHIT=0)、入力されたパケットはハツシュメ
モリ601に書込まれる(W/π・H=1.S/π−1
,CI=0)。(6)ではCAM 201がヒツトして
おり、(4)と同様な操作を行う、また(7)はハツシ
ュメモリ601に有効なデータが格納されていたがそれ
がハフシュ衝突を起こしくPR=1 、 E口=0)、
連想メモリ部602に格納する必要が生じたが、CAM
201が満杯となり全アドレスが有効となった場合(
PL = 1)を示し、入力されたパケットはFIFO
メモリ611に所定時間をバッファリングされる(WR
F = 1)。第8図を参照して述べた動作は全てライ
トサイクルにおけるものであり、ライトサイクル以外の
動作ではリードライト信号W/π・H,W/π・Cは常
に“0”となっている。
効なデータが格納されていたが、それがハツシュ衝突を
起こした場合を示す(PR= I 、 EQ = 0)
。そして(3)ではCAM 201でもヒントしなかっ
たため(lIIT=O)、入力されたデータは連想メモ
リ部602に格納され(W/π・C=1.S/π−1)
データの出力は行われない(C1=O)。(4)ではC
AM 201がヒツトしたため()IIT = 1)、
入力されたパケットは連想メモリ部602の内容と発火
し、出力される(C1=1)。ここでCAM 201の
プレゼンスビットPRがリセットされなければいけない
ので、リードライト信号W/π・C=1.セット信号S
/T=0とされる。(5)及び(6)はハツシュメモリ
601に有効なデータが格納されていなかった場合であ
り (PB = O)、一致信号EQの値に意味はない
。(5)ではCAM 201がヒツトしなかった場合を
示しくHIT=0)、入力されたパケットはハツシュメ
モリ601に書込まれる(W/π・H=1.S/π−1
,CI=0)。(6)ではCAM 201がヒツトして
おり、(4)と同様な操作を行う、また(7)はハツシ
ュメモリ601に有効なデータが格納されていたがそれ
がハフシュ衝突を起こしくPR=1 、 E口=0)、
連想メモリ部602に格納する必要が生じたが、CAM
201が満杯となり全アドレスが有効となった場合(
PL = 1)を示し、入力されたパケットはFIFO
メモリ611に所定時間をバッファリングされる(WR
F = 1)。第8図を参照して述べた動作は全てライ
トサイクルにおけるものであり、ライトサイクル以外の
動作ではリードライト信号W/π・H,W/π・Cは常
に“0”となっている。
これらの動作で発火することが判明したパケット及びデ
ータはデータ対形成器607に送られ、オペランド対パ
ケットが形成されて出力される。このように発火処理装
置に対してハツシュメモリ601と連想メモリ602と
を併用し、両者の読出しを同時に行うことにより、ハツ
シュ衝突の如何に拘わらず同じ速度で処理ができ、装置
の制御も第8図に示した如く簡潔に行える。
ータはデータ対形成器607に送られ、オペランド対パ
ケットが形成されて出力される。このように発火処理装
置に対してハツシュメモリ601と連想メモリ602と
を併用し、両者の読出しを同時に行うことにより、ハツ
シュ衝突の如何に拘わらず同じ速度で処理ができ、装置
の制御も第8図に示した如く簡潔に行える。
ここでハツシュアドレスの生成を排他的論理和の演算に
より行った場合、第1の識別データであるカラー/世代
識別番号DNが同−又はその下位3ビツトが同一であっ
ても生成されるハツシュアドレスの値が広範囲に及ぶこ
との一例を説明する。
より行った場合、第1の識別データであるカラー/世代
識別番号DNが同−又はその下位3ビツトが同一であっ
ても生成されるハツシュアドレスの値が広範囲に及ぶこ
との一例を説明する。
第1表はこの発明及び従来技術において生成されたハツ
シュアドレスを比較したものであり、表内の数字は全て
16進数で示している。従来技術の場合はカラー/世代
識別番号ONが異なっていてもその下位3ビツトが共に
0で等しいため(011=000000000、8.
=OO0001000,80,=010000000)
、生成されるハツシュアドレスはθ〜3番地の4アドレ
スだけとなるが、この発明では0〜83と広い範囲に及
ぶことがわかる。従ってこの発明においては識別データ
のうちいくつかが同−又は近接したものであっても、異
なったバッジエアドレスを生成し、それによりハツシュ
衝突の頻度が低減される。
シュアドレスを比較したものであり、表内の数字は全て
16進数で示している。従来技術の場合はカラー/世代
識別番号ONが異なっていてもその下位3ビツトが共に
0で等しいため(011=000000000、8.
=OO0001000,80,=010000000)
、生成されるハツシュアドレスはθ〜3番地の4アドレ
スだけとなるが、この発明では0〜83と広い範囲に及
ぶことがわかる。従ってこの発明においては識別データ
のうちいくつかが同−又は近接したものであっても、異
なったバッジエアドレスを生成し、それによりハツシュ
衝突の頻度が低減される。
第 1 表
なお、この実施例では、ハツシュアドレスの決定に際し
、識別子のカラー/世代識別番号ONの9ビツトと、ノ
ード番号NNの下位9ビツトとの排他的論理和をとリハ
ッシュアドレスを生成したが、ノード番号NHの下位9
ビツトの位置を上位と下位を並べかえるビットリバース
させ、排他的論理和をとリハッシュアドレスを生成して
も同様な効果を得ることができる。
、識別子のカラー/世代識別番号ONの9ビツトと、ノ
ード番号NNの下位9ビツトとの排他的論理和をとリハ
ッシュアドレスを生成したが、ノード番号NHの下位9
ビツトの位置を上位と下位を並べかえるビットリバース
させ、排他的論理和をとリハッシュアドレスを生成して
も同様な効果を得ることができる。
このビットリバースを用いた場合の効果について詳しく
説明する。発火処理装置においては、パケットのカラー
/世代識別番号DNは続き番号で流れてくることが多い
。例えばカラー/世代識別番号DN=1nとノード番号
NNの下位9ビツト= 2 Nとを有するパケットの後
にカラー/世代識別番号DN=2Hとノード番号NNの
下位9ビツト=111を有するパケットが入力されると
いうようにである。
説明する。発火処理装置においては、パケットのカラー
/世代識別番号DNは続き番号で流れてくることが多い
。例えばカラー/世代識別番号DN=1nとノード番号
NNの下位9ビツト= 2 Nとを有するパケットの後
にカラー/世代識別番号DN=2Hとノード番号NNの
下位9ビツト=111を有するパケットが入力されると
いうようにである。
この場合、それらの排他的論理和は等しいので双方のハ
ツシュアドレスは等しく、識別子が一致していないので
ハツシュ衝突が生じる。
ツシュアドレスは等しく、識別子が一致していないので
ハツシュ衝突が生じる。
しかし、ノード番号NNの下位9ビツトをビットリバー
スし、排他的論理和によりハツシュアドレスを求めると
、前者のパケットのハツシュアドレスは81.、後者の
は102Nとなり、全く違ったハツシュアドレスを生成
することができる。第2表は以上のビットリバースの場
合のハブシェアドレスの生成の一例を示している。
スし、排他的論理和によりハツシュアドレスを求めると
、前者のパケットのハツシュアドレスは81.、後者の
は102Nとなり、全く違ったハツシュアドレスを生成
することができる。第2表は以上のビットリバースの場
合のハブシェアドレスの生成の一例を示している。
第 2 表
ビットリバースしない場合に比してビットリバースした
場合はハツシュアドレスをさらに多くのパターンで生成
することができる。
場合はハツシュアドレスをさらに多くのパターンで生成
することができる。
またこの実施例ではハフシュ衝突が頻発しCAMがオー
バフローした場合であっても、入力されたパケットを所
定時間FIFOメモリにバッファリングできるので、C
AMを小容量とすることができ、オーバフロー時に何ら
特別の処理を行う必要がな(処理速度が向上する。
バフローした場合であっても、入力されたパケットを所
定時間FIFOメモリにバッファリングできるので、C
AMを小容量とすることができ、オーバフロー時に何ら
特別の処理を行う必要がな(処理速度が向上する。
なおこの実施例ではこの発明のデータ検索装置をデータ
駆動プロセッサの発火処理装置に適用した場合を説明し
たが、この発明はこれに限るものではなく、キーワード
等の識別子によりデータ検索を行う一般的なマツチング
メモリに対して適用できることは言うまでもない。
駆動プロセッサの発火処理装置に適用した場合を説明し
たが、この発明はこれに限るものではなく、キーワード
等の識別子によりデータ検索を行う一般的なマツチング
メモリに対して適用できることは言うまでもない。
以上説明したようにこの発明によれば、ハツシュアドレ
スの生成を複数の識別データ(カラー/世代識別番号及
びノード番号)の逆算可能な所定の論理演算により行っ
ているので、複数の識別データが等しいか又は[(11
した値であっても生成されるハシシュアドレスは幅広い
領域を有するため、アドレス空間の全域が有効利用され
ハツシュ衝突の頻度が低減する。また連想メモリ部を設
けことにハツシュ衝突したパケットをそれに格納するこ
とができ、パケットの循環がなくなりハツシュメモリと
連想メモリ部との同時検索により処理速度が向上する等
価れた効果を奏する。
スの生成を複数の識別データ(カラー/世代識別番号及
びノード番号)の逆算可能な所定の論理演算により行っ
ているので、複数の識別データが等しいか又は[(11
した値であっても生成されるハシシュアドレスは幅広い
領域を有するため、アドレス空間の全域が有効利用され
ハツシュ衝突の頻度が低減する。また連想メモリ部を設
けことにハツシュ衝突したパケットをそれに格納するこ
とができ、パケットの循環がなくなりハツシュメモリと
連想メモリ部との同時検索により処理速度が向上する等
価れた効果を奏する。
第1図はこの発明に係るデータ検索装置をデータ駆動形
プロセッサの発火処理装置に適用した場合の構成を示す
ブロック図、第2図は演算器の構成を示す図、第3図は
ハツシュメモリの構成を示すブロック図、第4図は連想
メモリ部の構成を示すブロック図、第5図はデータ対形
成器の構成を示すブロック図、第6図はこの発明の概略
動作を説明するフローチャート、第7図はこの発明の動
作サイクルの説明図、第8図はライトサイクルの真理値
を示す図、第9図は従来のデータ駆動形処理の概念図、
第10図は入力パケットの一例を示す図、第11図は従
来のハツシュメモリの構成を示すブロック図である。 101・・・演算器 201・・・CAM 601・
・・ハツシュメモリ 602・・・連想メモリ部 60
3・・・一致検出器604・・・ヒツト検出器 605
・・・出力セレクタ606・・・制御部 607・・・
データ対形成器なお、図中、同一符号は同一、又は相当
部分を示す。
プロセッサの発火処理装置に適用した場合の構成を示す
ブロック図、第2図は演算器の構成を示す図、第3図は
ハツシュメモリの構成を示すブロック図、第4図は連想
メモリ部の構成を示すブロック図、第5図はデータ対形
成器の構成を示すブロック図、第6図はこの発明の概略
動作を説明するフローチャート、第7図はこの発明の動
作サイクルの説明図、第8図はライトサイクルの真理値
を示す図、第9図は従来のデータ駆動形処理の概念図、
第10図は入力パケットの一例を示す図、第11図は従
来のハツシュメモリの構成を示すブロック図である。 101・・・演算器 201・・・CAM 601・
・・ハツシュメモリ 602・・・連想メモリ部 60
3・・・一致検出器604・・・ヒツト検出器 605
・・・出力セレクタ606・・・制御部 607・・・
データ対形成器なお、図中、同一符号は同一、又は相当
部分を示す。
Claims (2)
- (1)Nビットの識別データM個を有し、時系列的に入
力されるパケットの前記識別データからKビット(K≦
N)のビット列を複数選択し、選択されたビット列の逆
算可能な演算により前記パケットの格納アドレスを生成
するアドレス生成手段と、 生成された格納アドレスによりアクセスされ、前記パケ
ットの一部または全部を格納するメモリと、 入力されたパケットの前記メモリ内格納アドレスに既に
有効なパケットが格納されているとき、格納されている
パケットの識別データの一部又は全部と、入力されたパ
ケットの識別データの一部又は全部とを比較し、それら
の一致/不一致を判定する比較手段と を備えることを特徴とするデータ検索装置。 - (2)請求項1記載のデータ検索装置において、比較手
段が不一致を判定したとき、入力されたパケットの識別
データを検索データとして格納する連想メモリと、 入力されたパケットの識別データの一部又は全部と前記
メモリ又は前記連想メモリに格納されている識別データ
の一部又は全部とを比較する手段と、 該手段の比較結果に応じて、前記メモリ又は前記連想メ
モリからの出力を選択する手段と を備えることを特徴とするデータ検索装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1102712A JP2668438B2 (ja) | 1989-04-21 | 1989-04-21 | データ検索装置 |
| US07/416,887 US5182799A (en) | 1989-04-21 | 1989-10-04 | Retrieving data using hash memory address generated by reversing /xor bits of selected bit strings of an input packet id |
| US07/918,489 US5359720A (en) | 1989-04-21 | 1992-07-22 | Taken storage apparatus using a hash memory and a cam |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1102712A JP2668438B2 (ja) | 1989-04-21 | 1989-04-21 | データ検索装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02280286A true JPH02280286A (ja) | 1990-11-16 |
| JP2668438B2 JP2668438B2 (ja) | 1997-10-27 |
Family
ID=14334883
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1102712A Expired - Fee Related JP2668438B2 (ja) | 1989-04-21 | 1989-04-21 | データ検索装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US5182799A (ja) |
| JP (1) | JP2668438B2 (ja) |
Families Citing this family (67)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4931175A (en) * | 1988-09-07 | 1990-06-05 | Lenox Institute For Research, Inc. | Water clarifying apparatus |
| JP2668438B2 (ja) * | 1989-04-21 | 1997-10-27 | 三菱電機株式会社 | データ検索装置 |
| FR2660088B1 (fr) * | 1990-03-26 | 1992-06-26 | Arditti David | Dispositif de condensation de donnees numeriques. |
| US5404553A (en) * | 1991-01-09 | 1995-04-04 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor and data flow microprocessor having vector operation function |
| ES2164042T3 (es) * | 1991-12-23 | 2002-02-16 | Cit Alcatel | Procedimiento para reducir el numero de bits de una palabra binaria que representa una serie de direcciones. |
| JP2810269B2 (ja) * | 1992-01-20 | 1998-10-15 | 三菱電機株式会社 | 連想メモリシステム |
| JP3219826B2 (ja) * | 1992-02-21 | 2001-10-15 | 日本電気株式会社 | 情報処理装置 |
| US5509135A (en) * | 1992-09-25 | 1996-04-16 | Digital Equipment Corporation | Multi-index multi-way set-associative cache |
| DE4302754C1 (de) * | 1993-02-01 | 1994-06-16 | Siemens Ag | Monolithisch integrierte Datenspeicheranordnung und Verfahren zu deren Betrieb |
| JPH06259583A (ja) * | 1993-03-10 | 1994-09-16 | Sharp Corp | データ駆動型プロセッサの接続方法 |
| US5475826A (en) * | 1993-11-19 | 1995-12-12 | Fischer; Addison M. | Method for protecting a volatile file using a single hash |
| US5860085A (en) * | 1994-08-01 | 1999-01-12 | Cypress Semiconductor Corporation | Instruction set for a content addressable memory array with read/write circuits and an interface register logic block |
| US5649149A (en) * | 1994-08-01 | 1997-07-15 | Cypress Semiconductor Corporation | Integrated content addressable memory array with processing logical and a host computer interface |
| US5551484A (en) * | 1994-08-19 | 1996-09-03 | Charboneau; Kenneth R. | Pipe liner and monitoring system |
| JP3865775B2 (ja) * | 1995-04-11 | 2007-01-10 | キネテック インコーポレイテッド | データ処理システムにおけるデータの識別 |
| US5809494A (en) * | 1995-11-16 | 1998-09-15 | Applied Language Technologies, Inc. | Method for rapidly and efficiently hashing records of large databases |
| US6414726B1 (en) | 1996-11-01 | 2002-07-02 | Texas Instruments Incorporated | Device for identifying packets of digital data and a receiver for digital television signals equipped with such a device |
| US6226291B1 (en) * | 1996-11-01 | 2001-05-01 | Texas Instruments Incorporated | Transport stream packet parser system |
| US6430184B1 (en) * | 1998-04-10 | 2002-08-06 | Top Layer Networks, Inc. | System and process for GHIH-speed pattern matching for application-level switching of data packets |
| US6621817B1 (en) * | 1999-07-06 | 2003-09-16 | Texas Instruments Incorporated | Transport packet parser |
| US6763425B1 (en) * | 2000-06-08 | 2004-07-13 | Netlogic Microsystems, Inc. | Method and apparatus for address translation in a partitioned content addressable memory device |
| US6389419B1 (en) * | 1999-10-06 | 2002-05-14 | Cisco Technology, Inc. | Storing and retrieving connection information using bidirectional hashing of connection identifiers |
| JP3912958B2 (ja) * | 2000-06-14 | 2007-05-09 | シャープ株式会社 | データ駆動型処理装置およびデータ駆動型処理装置におけるデータ処理方法 |
| JP2002149699A (ja) * | 2000-11-10 | 2002-05-24 | Hitachi Ltd | データ検索装置 |
| US7117278B2 (en) * | 2001-07-12 | 2006-10-03 | Sun Micro Systems, Inc. | Method for merging a plurality of data streams into a single data stream |
| US6889225B2 (en) * | 2001-08-09 | 2005-05-03 | Integrated Silicon Solution, Inc. | Large database search using content addressable memory and hash |
| US8112578B2 (en) | 2001-11-01 | 2012-02-07 | Micron Technology, Inc. | Low power, hash-content addressable memory architecture |
| US7039764B1 (en) * | 2002-01-17 | 2006-05-02 | Nokia Corporation | Near-perfect, fixed-time searching algorithm using hashing, LRU and cam-based caching |
| US6697276B1 (en) | 2002-02-01 | 2004-02-24 | Netlogic Microsystems, Inc. | Content addressable memory device |
| US6934796B1 (en) * | 2002-02-01 | 2005-08-23 | Netlogic Microsystems, Inc. | Content addressable memory with hashing function |
| US7382637B1 (en) | 2002-02-01 | 2008-06-03 | Netlogic Microsystems, Inc. | Block-writable content addressable memory device |
| US7412449B2 (en) * | 2003-05-23 | 2008-08-12 | Sap Aktiengesellschaft | File object storage and retrieval using hashing techniques |
| JP4064380B2 (ja) * | 2004-07-29 | 2008-03-19 | 富士通株式会社 | 演算処理装置およびその制御方法 |
| US8095774B1 (en) | 2007-07-05 | 2012-01-10 | Silver Peak Systems, Inc. | Pre-fetching data into a memory |
| US8370583B2 (en) | 2005-08-12 | 2013-02-05 | Silver Peak Systems, Inc. | Network memory architecture for providing data based on local accessibility |
| US8171238B1 (en) | 2007-07-05 | 2012-05-01 | Silver Peak Systems, Inc. | Identification of data stored in memory |
| US8392684B2 (en) | 2005-08-12 | 2013-03-05 | Silver Peak Systems, Inc. | Data encryption in a network memory architecture for providing data based on local accessibility |
| US8929402B1 (en) | 2005-09-29 | 2015-01-06 | Silver Peak Systems, Inc. | Systems and methods for compressing packet data by predicting subsequent data |
| US8811431B2 (en) | 2008-11-20 | 2014-08-19 | Silver Peak Systems, Inc. | Systems and methods for compressing packet data |
| US8489562B1 (en) | 2007-11-30 | 2013-07-16 | Silver Peak Systems, Inc. | Deferred data storage |
| JP3894335B1 (ja) * | 2005-10-04 | 2007-03-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースの整合性を判断する装置、およびその方法 |
| US8185576B2 (en) | 2006-03-14 | 2012-05-22 | Altnet, Inc. | Filter for a distributed network |
| US8755381B2 (en) | 2006-08-02 | 2014-06-17 | Silver Peak Systems, Inc. | Data matching using flow based packet data storage |
| US8885632B2 (en) | 2006-08-02 | 2014-11-11 | Silver Peak Systems, Inc. | Communications scheduler |
| US8307115B1 (en) | 2007-11-30 | 2012-11-06 | Silver Peak Systems, Inc. | Network memory mirroring |
| US8442052B1 (en) | 2008-02-20 | 2013-05-14 | Silver Peak Systems, Inc. | Forward packet recovery |
| US20090315906A1 (en) * | 2008-06-18 | 2009-12-24 | Microsoft Corporation | Cache arrangement for graphical applications |
| US9717021B2 (en) | 2008-07-03 | 2017-07-25 | Silver Peak Systems, Inc. | Virtual network overlay |
| US10164861B2 (en) | 2015-12-28 | 2018-12-25 | Silver Peak Systems, Inc. | Dynamic monitoring and visualization for network health characteristics |
| US8743683B1 (en) | 2008-07-03 | 2014-06-03 | Silver Peak Systems, Inc. | Quality of service using multiple flows |
| US10805840B2 (en) | 2008-07-03 | 2020-10-13 | Silver Peak Systems, Inc. | Data transmission via a virtual wide area network overlay |
| TW201115582A (en) * | 2009-10-29 | 2011-05-01 | Acer Inc | Method for determining data correlation and data processing method for memory |
| CN102667734B (zh) | 2009-12-25 | 2014-08-20 | 国际商业机器公司 | 用于检查分层型数据库中的指针的一致性的系统和方法 |
| US8856614B2 (en) * | 2010-07-29 | 2014-10-07 | Kabushiki Kaisha Toshiba | Semiconductor memory device detecting error |
| US9130991B2 (en) | 2011-10-14 | 2015-09-08 | Silver Peak Systems, Inc. | Processing data packets in performance enhancing proxy (PEP) environment |
| US9626224B2 (en) | 2011-11-03 | 2017-04-18 | Silver Peak Systems, Inc. | Optimizing available computing resources within a virtual environment |
| US9367454B2 (en) * | 2013-08-15 | 2016-06-14 | Applied Micro Circuits Corporation | Address index recovery using hash-based exclusive or |
| US9948496B1 (en) | 2014-07-30 | 2018-04-17 | Silver Peak Systems, Inc. | Determining a transit appliance for data traffic to a software service |
| US9875344B1 (en) | 2014-09-05 | 2018-01-23 | Silver Peak Systems, Inc. | Dynamic monitoring and authorization of an optimization device |
| US10432484B2 (en) | 2016-06-13 | 2019-10-01 | Silver Peak Systems, Inc. | Aggregating select network traffic statistics |
| US9967056B1 (en) | 2016-08-19 | 2018-05-08 | Silver Peak Systems, Inc. | Forward packet recovery with constrained overhead |
| US11044202B2 (en) | 2017-02-06 | 2021-06-22 | Silver Peak Systems, Inc. | Multi-level learning for predicting and classifying traffic flows from first packet data |
| US10771394B2 (en) | 2017-02-06 | 2020-09-08 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows on a first packet from DNS data |
| US10257082B2 (en) | 2017-02-06 | 2019-04-09 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows |
| US10892978B2 (en) | 2017-02-06 | 2021-01-12 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows from first packet data |
| US11212210B2 (en) | 2017-09-21 | 2021-12-28 | Silver Peak Systems, Inc. | Selective route exporting using source type |
| US10637721B2 (en) | 2018-03-12 | 2020-04-28 | Silver Peak Systems, Inc. | Detecting path break conditions while minimizing network overhead |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4153932A (en) * | 1974-03-29 | 1979-05-08 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of stored programs |
| US4055851A (en) * | 1976-02-13 | 1977-10-25 | Digital Equipment Corporation | Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle |
| US4152762A (en) * | 1976-03-03 | 1979-05-01 | Operating Systems, Inc. | Associative crosspoint processor system |
| US4325116A (en) * | 1979-08-21 | 1982-04-13 | International Business Machines Corporation | Parallel storage access by multiprocessors |
| FR2474201B1 (fr) * | 1980-01-22 | 1986-05-16 | Bull Sa | Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache |
| JPS5936857A (ja) * | 1982-08-25 | 1984-02-29 | Nec Corp | プロセツサユニツト |
| KR940001563B1 (ko) * | 1985-01-21 | 1994-02-24 | 가부시끼가이샤 히다찌세이사꾸쇼 | 룰 베이스 시스템 |
| JPS61276032A (ja) * | 1985-05-31 | 1986-12-06 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
| JP2564805B2 (ja) * | 1985-08-08 | 1996-12-18 | 日本電気株式会社 | 情報処理装置 |
| JPS63129425A (ja) * | 1986-11-19 | 1988-06-01 | Mitsubishi Electric Corp | デ−タ処理装置 |
| US4922438A (en) * | 1986-12-11 | 1990-05-01 | Siemens Aktiengesellschaft | Method and apparatus for reading packet-oriented data signals into and out of a buffer |
| JP2667849B2 (ja) * | 1988-01-06 | 1997-10-27 | 株式会社日立製作所 | 情報処理装置 |
| JPH06101044B2 (ja) * | 1988-01-23 | 1994-12-12 | シャープ株式会社 | デッドロック回避実行制御方式 |
| JPH01232393A (ja) * | 1988-03-14 | 1989-09-18 | Sony Corp | 周波数検出器 |
| EP0333181B1 (en) * | 1988-03-18 | 1996-07-03 | Kabushiki Kaisha Toshiba | Data string retrieval apparatus |
| US5142676A (en) * | 1988-12-28 | 1992-08-25 | Gte Laboratories Incorporated | Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory |
| US5175837A (en) * | 1989-02-03 | 1992-12-29 | Digital Equipment Corporation | Synchronizing and processing of memory access operations in multiprocessor systems using a directory of lock bits |
| JP2668438B2 (ja) * | 1989-04-21 | 1997-10-27 | 三菱電機株式会社 | データ検索装置 |
-
1989
- 1989-04-21 JP JP1102712A patent/JP2668438B2/ja not_active Expired - Fee Related
- 1989-10-04 US US07/416,887 patent/US5182799A/en not_active Expired - Lifetime
-
1992
- 1992-07-22 US US07/918,489 patent/US5359720A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2668438B2 (ja) | 1997-10-27 |
| US5182799A (en) | 1993-01-26 |
| US5359720A (en) | 1994-10-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH02280286A (ja) | データ検索装置 | |
| US4942520A (en) | Method and apparatus for indexing, accessing and updating a memory | |
| US6526474B1 (en) | Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes | |
| US5423011A (en) | Apparatus for initializing branch prediction information | |
| US4384325A (en) | Apparatus and method for searching a data base using variable search criteria | |
| JP2625277B2 (ja) | メモリアクセス装置 | |
| JP3602542B2 (ja) | スーパースカラマイクロプロセッサにおける分岐予測正確度向上のための装置および方法 | |
| US6760821B2 (en) | Memory engine for the inspection and manipulation of data | |
| JPH01169538A (ja) | 命令事前取出し装置 | |
| JPS5991546A (ja) | 中央処理装置 | |
| JPH0564816B2 (ja) | ||
| JPS62106545A (ja) | 分岐命令の結果予測装置 | |
| JPH04247571A (ja) | データベースレコード処理装置 | |
| JP3093807B2 (ja) | キャッシュ | |
| JPH06242953A (ja) | データ・プロセッサ | |
| KR100276138B1 (ko) | 브랜치 패턴 필드를 가진 브랜치 이력 테이블을 구비한 디지탈프로세서 | |
| US5649178A (en) | Apparatus and method for storing and initializing branch prediction with selective information transfer | |
| EP0423726A2 (en) | Branch control circuit | |
| US7069386B2 (en) | Associative memory device | |
| US7346737B2 (en) | Cache system having branch target address cache | |
| JP5206385B2 (ja) | バウンダリ実行制御システム、バウンダリ実行制御方法、及びバウンダリ実行制御プログラム | |
| JP2745710B2 (ja) | ストリングサーチ方法およびそのための装置 | |
| JPH03229381A (ja) | データ駆動形計算機 | |
| US6513053B1 (en) | Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits | |
| JP2007536696A5 (ja) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |