JPS61162898A - 連想メモリ装置 - Google Patents
連想メモリ装置Info
- Publication number
- JPS61162898A JPS61162898A JP60002003A JP200385A JPS61162898A JP S61162898 A JPS61162898 A JP S61162898A JP 60002003 A JP60002003 A JP 60002003A JP 200385 A JP200385 A JP 200385A JP S61162898 A JPS61162898 A JP S61162898A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- directory
- search data
- data memory
- 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
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は内容を指定して、その内容c以下探索データと
称す)がどこに記憶されているかを探る連想動作を行う
連想メモリに係り、複数の連続するデータに対する連想
動作を高速に実行する高速連想メモリ装置に関する。
称す)がどこに記憶されているかを探る連想動作を行う
連想メモリに係り、複数の連続するデータに対する連想
動作を高速に実行する高速連想メモリ装置に関する。
情報処理学会編 情報処理ハンドブックに述べられてい
る通り、構成が簡単な連想メモリでは、探索入力と全記
憶内容との照合を行い、一致する情報があった場合にそ
の位置を番地として読み取る連想動作と、仁の番地によ
り情報の読出し、書込みを行うRAM動作に分かれてい
る。前記の連想動作を行うために、番地を一つずつ変化
させて記憶内容と探索入力との比較を行う必要がおり、
記憶内容がN11ある場合には、平均してN/2回の比
較ののちに一致がとれることとなる。その為連続するに
個のデータに対する連想動作には、NK/2回の比較が
必要である。
る通り、構成が簡単な連想メモリでは、探索入力と全記
憶内容との照合を行い、一致する情報があった場合にそ
の位置を番地として読み取る連想動作と、仁の番地によ
り情報の読出し、書込みを行うRAM動作に分かれてい
る。前記の連想動作を行うために、番地を一つずつ変化
させて記憶内容と探索入力との比較を行う必要がおり、
記憶内容がN11ある場合には、平均してN/2回の比
較ののちに一致がとれることとなる。その為連続するに
個のデータに対する連想動作には、NK/2回の比較が
必要である。
連想メモリ装置に関する公開公報としては、特開閉58
−200494号「連想メモリ装置」および特開昭59
−8195号「連想記憶方式」が知られている。
−200494号「連想メモリ装置」および特開昭59
−8195号「連想記憶方式」が知られている。
本発明の目的は、連続する複数データに対する連想動作
が高速な、高速連想メモリ装置を提供することにある。
が高速な、高速連想メモリ装置を提供することにある。
本発明の特徴は、探索しようとする複数のデータを連想
メモリ装置内の探索データメモリに記憶して、一つの探
索データの上位部分と、データメモリ中のデータの対応
する上位部分とを比較し、両者が一致した場合に全部分
を比較する点にある。
メモリ装置内の探索データメモリに記憶して、一つの探
索データの上位部分と、データメモリ中のデータの対応
する上位部分とを比較し、両者が一致した場合に全部分
を比較する点にある。
全部分の比較の結果が一致しない場合には、探索データ
メモリ内の各データと前記データメモリ中のデータとの
比較を行う。探索データメモリ内のデータとの比較完了
後は、データメモリ中のデータとの比較を継続する。
メモリ内の各データと前記データメモリ中のデータとの
比較を行う。探索データメモリ内のデータとの比較完了
後は、データメモリ中のデータとの比較を継続する。
このように、データメモリと探索データメモリの恢索を
随時交替して行い、複数データの検索を高速化するもの
である。
随時交替して行い、複数データの検索を高速化するもの
である。
第1図は本発明の実施例を示す。10はデータを記憶す
るデータメモリであり、ここにディレクトリを記憶する
。20は探索すべきデータを記憶する探索データメモリ
、30は一語の探索f−1を一時保持するレジスタ、3
5はレジスタのラッチのタイミングを与える信号線で、
本図には省略しであるが、演算器(ALU)90の出力
により制御される。40はデータメモリ10の出力とレ
ジスタ30の出力とを比較する比較器であり、50はデ
ータメモリ10のアドレスを与えるアドレスカウンタで
ある。60け前記カウンタ50に対するカウントクロッ
クを与えるか否かを制御するゲートであり、70けクロ
ック信号、8oはALU90の出力により制御される1
ビツトのレジスタである。ALU9(It全全体制御を
行うものであり、第1図には省略したメモリに格納され
るプログラムによってその動作は規定される。
るデータメモリであり、ここにディレクトリを記憶する
。20は探索すべきデータを記憶する探索データメモリ
、30は一語の探索f−1を一時保持するレジスタ、3
5はレジスタのラッチのタイミングを与える信号線で、
本図には省略しであるが、演算器(ALU)90の出力
により制御される。40はデータメモリ10の出力とレ
ジスタ30の出力とを比較する比較器であり、50はデ
ータメモリ10のアドレスを与えるアドレスカウンタで
ある。60け前記カウンタ50に対するカウントクロッ
クを与えるか否かを制御するゲートであり、70けクロ
ック信号、8oはALU90の出力により制御される1
ビツトのレジスタである。ALU9(It全全体制御を
行うものであり、第1図には省略したメモリに格納され
るプログラムによってその動作は規定される。
100け探索データメモリ20に対するアドレスを保持
するアドレスレジスタであり、105は本レジスタのラ
ッチを指示する信号であり、35と同様にALU90に
よって発生させられる。110けオアゲートであって、
カウンタ50の動作をストップさせる信号を、カウンタ
50のオーバーフロー出力と、比較器40の一致出力を
オアして作り出す。
するアドレスレジスタであり、105は本レジスタのラ
ッチを指示する信号であり、35と同様にALU90に
よって発生させられる。110けオアゲートであって、
カウンタ50の動作をストップさせる信号を、カウンタ
50のオーバーフロー出力と、比較器40の一致出力を
オアして作り出す。
第2図(A)〜Ic)は、本発明の動作を示すフローチ
ャートである。第3図は、動作を説明する為の一例を示
す。探索データに対する出力アドレス、及び探索済フラ
グをセットする領域は、探索データメモリ上に実現する
。データは全て8ビツトとし、探索データけ10進にし
てOから7までの8語の論理アドレスとし、ディレクト
リには2.0.7が夫々アドレス/10./18゜/X
’lAに記憶されているものとする。但しXXXは16
進の数であることを表わす。ディレクトリ中X−Xけ探
索データと無関係なデータであることを示し、奇数アド
レスには論理アドレスに対応する物理アドレスが配慮さ
れている。
ャートである。第3図は、動作を説明する為の一例を示
す。探索データに対する出力アドレス、及び探索済フラ
グをセットする領域は、探索データメモリ上に実現する
。データは全て8ビツトとし、探索データけ10進にし
てOから7までの8語の論理アドレスとし、ディレクト
リには2.0.7が夫々アドレス/10./18゜/X
’lAに記憶されているものとする。但しXXXは16
進の数であることを表わす。ディレクトリ中X−Xけ探
索データと無関係なデータであることを示し、奇数アド
レスには論理アドレスに対応する物理アドレスが配慮さ
れている。
以下第2図により、第1図の動作を説明する。
最初に探索データメモリのアドレスt−10トシて設定
し、その内容をレジスタ30に格納する。この内容は第
3図[6る通り、10進にして0である。該データが既
に探索済か否かを探索データメモリ中に実現した探索済
フラグにより調べ、探索済である場合はステップ290
により更に全探索データについて操作が完了したか否か
を調べる。
し、その内容をレジスタ30に格納する。この内容は第
3図[6る通り、10進にして0である。該データが既
に探索済か否かを探索データメモリ中に実現した探索済
フラグにより調べ、探索済である場合はステップ290
により更に全探索データについて操作が完了したか否か
を調べる。
完了していれば動作を終結し、完了していなければステ
ップ300により探索データメモリのアドレスを歩進し
てステップ200に戻る。ステップ210による判定は
、探索が必ずしも探索データメモリのアドレス順に完了
するものでない為に行う。
ップ300により探索データメモリのアドレスを歩進し
てステップ200に戻る。ステップ210による判定は
、探索が必ずしも探索データメモリのアドレス順に完了
するものでない為に行う。
ステップ220によりアドレスカウンタ5oをクリアし
、ステップ230によりレジスタ8oをセットしてクロ
ック70をアドレスカウンタ50に導き、カウントを開
始させる。アドレスカウンタ50のクリアはALU90
の出力によるが、本図では省略しである。
、ステップ230によりレジスタ8oをセットしてクロ
ック70をアドレスカウンタ50に導き、カウントを開
始させる。アドレスカウンタ50のクリアはALU90
の出力によるが、本図では省略しである。
次にゲート110の5TOP出力を監視し、8TOPと
なっていればその要因がオーバーフローか否かを判定す
る。オーバーフローであれば、データメモリ中に該探索
データが存在しないことを示す。この場合ステップ29
0によって探索が全て完了したか否かにより次の動作を
定める。オーバーフローであるか否かはアドレスカウン
タ50の出力をALU90か判定することにより行う。
なっていればその要因がオーバーフローか否かを判定す
る。オーバーフローであれば、データメモリ中に該探索
データが存在しないことを示す。この場合ステップ29
0によって探索が全て完了したか否かにより次の動作を
定める。オーバーフローであるか否かはアドレスカウン
タ50の出力をALU90か判定することにより行う。
ステップ250の判定でオーバーフローでなければ比較
器40の一致出力によって8TOPしたのであるが、こ
の場合の比較は全ビットについて行ったのではない為、
ステップ260にて全ビーzトの比較を行う。本例では
比較器40での比較は8ビツト中上位5ビットたけ行う
ものとする。
器40の一致出力によって8TOPしたのであるが、こ
の場合の比較は全ビットについて行ったのではない為、
ステップ260にて全ビーzトの比較を行う。本例では
比較器40での比較は8ビツト中上位5ビットたけ行う
ものとする。
ステップ260の判定の結果が一致でおれば、そのアド
レスを読み取って記隠し、探索済フラグをセットシ、前
述したステップ290以降の動作ニ進む。第3図の例で
はアドレス/10にて5TOPするが、全ビットの比較
では一致しておらず、フローチャートによるステップ3
10へ進ム。ステップ310では探索データ「0」とデ
ィレクトリのアドレス/X’IOの内容を比較した結果
後者の方が大であるためステップ320へ進む。ステッ
プ320では繰り返し回数を計数するポインタをクリア
し、アドレスレジスタ100に探索データのアドレス/
10をセットする。ステップ330以下は、ディレクト
リのデータに一致するデータが探索データメモリ中に存
在するか否かを判定する操作である。ステップ330に
てアドレスを歩進した結果探索データは「1」となるが
ステップ340.350の比較の結果が不一致となるた
めステップ370へ進む。ステップ370により全て探
索データについて比較したかを判定し、本例では否の為
ステップ380へ進む。ステップ380では探索、デー
タを8回以上比較したかを判定する。
レスを読み取って記隠し、探索済フラグをセットシ、前
述したステップ290以降の動作ニ進む。第3図の例で
はアドレス/10にて5TOPするが、全ビットの比較
では一致しておらず、フローチャートによるステップ3
10へ進ム。ステップ310では探索データ「0」とデ
ィレクトリのアドレス/X’IOの内容を比較した結果
後者の方が大であるためステップ320へ進む。ステッ
プ320では繰り返し回数を計数するポインタをクリア
し、アドレスレジスタ100に探索データのアドレス/
10をセットする。ステップ330以下は、ディレクト
リのデータに一致するデータが探索データメモリ中に存
在するか否かを判定する操作である。ステップ330に
てアドレスを歩進した結果探索データは「1」となるが
ステップ340.350の比較の結果が不一致となるた
めステップ370へ進む。ステップ370により全て探
索データについて比較したかを判定し、本例では否の為
ステップ380へ進む。ステップ380では探索、デー
タを8回以上比較したかを判定する。
比較器40にて比較する際に、無視しているビット数は
3である為、8以上能れたデータ同士の比較では一致出
力は出ないため、ステップ380の判定でポインタが8
以上の場合はディレクトリ側の検索を再開するため、ス
テップ230に進む。
3である為、8以上能れたデータ同士の比較では一致出
力は出ないため、ステップ380の判定でポインタが8
以上の場合はディレクトリ側の検索を再開するため、ス
テップ230に進む。
第3図の例に従うとステップ380の判定の結果ステッ
プ330へ戻り、アドレスを歩進した結果、探索データ
が「2」となり、ステップ340゜350の比較の結果
一致する。そこでステップ360において、この際のカ
ウンタの値/10を記↑意し、探索済フラグをセットす
る。その後ステップ230に進んでディレクトリの/1
2以降の比較を開始する。次にステップ240で8TO
Pするのけアドレス/10でアシ、この時にはステップ
260,270の全ビット比較において一致の為、ステ
ップ280によυカウンタの出力/10を記1し、探索
済フラグをセットする。ステップ290の判定で、未だ
全ての探索データに対して操作が完了していないと判定
し、探索データメモリのアドレスを1歩進して/1とし
、フローの最初の時点より動作を繰シ返す。
プ330へ戻り、アドレスを歩進した結果、探索データ
が「2」となり、ステップ340゜350の比較の結果
一致する。そこでステップ360において、この際のカ
ウンタの値/10を記↑意し、探索済フラグをセットす
る。その後ステップ230に進んでディレクトリの/1
2以降の比較を開始する。次にステップ240で8TO
Pするのけアドレス/10でアシ、この時にはステップ
260,270の全ビット比較において一致の為、ステ
ップ280によυカウンタの出力/10を記1し、探索
済フラグをセットする。ステップ290の判定で、未だ
全ての探索データに対して操作が完了していないと判定
し、探索データメモリのアドレスを1歩進して/1とし
、フローの最初の時点より動作を繰シ返す。
第4図は、本発明の他の実施例であり、マスクゲー)1
20,130により比較器40の比較ビット数を可変と
したもので、動作は第1図の実施例の場合と同一である
。但し、フローチャート第2図中380の判定値8を、
マスクしたビット数で2のべき乗を計算した結果とする
点が異なる。
20,130により比較器40の比較ビット数を可変と
したもので、動作は第1図の実施例の場合と同一である
。但し、フローチャート第2図中380の判定値8を、
マスクしたビット数で2のべき乗を計算した結果とする
点が異なる。
本発明の第1の実施例によれば、ディレクトリのデータ
数をN1探索データ数をKとした場合、従来、全探索が
終了するまでに、平均してNK12回のディレクトリの
参照が必要であったのを、比較器で無視するビット数で
2のべきをとった値と探索データ数が一致した場合、最
大でディレクトリt−2N回と、探索データメモリkK
(K+1)72回参照することにより全ての探索が完了
する。
数をN1探索データ数をKとした場合、従来、全探索が
終了するまでに、平均してNK12回のディレクトリの
参照が必要であったのを、比較器で無視するビット数で
2のべきをとった値と探索データ数が一致した場合、最
大でディレクトリt−2N回と、探索データメモリkK
(K+1)72回参照することにより全ての探索が完了
する。
一般にNはKに対して大きく、−例としてNを1000
、Kを8とした場合は、本発明実施前のディレクトリ参
照が平均4000回に対し、実施麦は、最大でディレク
トリ参照2000回と、探索データメモリを36回参照
すれば良いこととなる。
、Kを8とした場合は、本発明実施前のディレクトリ参
照が平均4000回に対し、実施麦は、最大でディレク
トリ参照2000回と、探索データメモリを36回参照
すれば良いこととなる。
本発明の第2の実施例によれば、探索データ数2に合わ
せて比較器により無視するビット数を変化させることが
可能となシ第2図のステップ240において無駄にスト
ップする回数を減じ、全体としての動作時間を最小にで
きる。
せて比較器により無視するビット数を変化させることが
可能となシ第2図のステップ240において無駄にスト
ップする回数を減じ、全体としての動作時間を最小にで
きる。
本発明によれば、ブイレフ) IJ参照が大幅に減り、
連続する複数データに対する連想動作が鳥速な高速連想
メモリ装置を提供可能である。
連続する複数データに対する連想動作が鳥速な高速連想
メモリ装置を提供可能である。
第1図、第4図はそれぞれ本発明の一実施例構成を示し
、第2図は第1図の動作説明用フローチャート、第3図
は第1図の動作説明用のデータの一例を示すものである
。 10・・・データメモリ、20・・・探索データメモリ
、30・・・レジスタ、40・・・比較器、50・・・
アドレス矛 1 図 茅 2図 テンレクト1
、第2図は第1図の動作説明用フローチャート、第3図
は第1図の動作説明用のデータの一例を示すものである
。 10・・・データメモリ、20・・・探索データメモリ
、30・・・レジスタ、40・・・比較器、50・・・
アドレス矛 1 図 茅 2図 テンレクト1
Claims (1)
- 【特許請求の範囲】 1、データメモリと、データメモリのアドレスを歩進す
るカウンタと、探索データとデータメモリの出力を比較
し、その比較結果が一致した場合に、該カウンタの歩進
を止める機構を有する連想メモリにおいて、複数個の探
索データを記憶する探索データメモリと、探索データメ
モリ中の特定の探索データを選択し出力する選択手段と
、選択された探索データのうち特定の比較範囲とデータ
メモリから読出されたデータの内探索データの比較範囲
に相当する部分の比較を行い一致した場合に、該カウン
タの歩進を停止する機構と、該カウンタの歩進を、停止
した次のアドレスから再開する機構とを設けたことを特
徴とする連想メモリ装置。 2、特許請求の範囲第1項記載の比較範囲は、設定機構
によつてその比較範囲が任意に設定されるようになつた
連想メモリ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60002003A JPH0632225B2 (ja) | 1985-01-11 | 1985-01-11 | 連想メモリ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60002003A JPH0632225B2 (ja) | 1985-01-11 | 1985-01-11 | 連想メモリ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61162898A true JPS61162898A (ja) | 1986-07-23 |
JPH0632225B2 JPH0632225B2 (ja) | 1994-04-27 |
Family
ID=11517232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60002003A Expired - Lifetime JPH0632225B2 (ja) | 1985-01-11 | 1985-01-11 | 連想メモリ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0632225B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6098147A (en) * | 1997-06-19 | 2000-08-01 | Nec Corporation | Longest coincidence data detection using associative memory units having interleaved data |
-
1985
- 1985-01-11 JP JP60002003A patent/JPH0632225B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6098147A (en) * | 1997-06-19 | 2000-08-01 | Nec Corporation | Longest coincidence data detection using associative memory units having interleaved data |
Also Published As
Publication number | Publication date |
---|---|
JPH0632225B2 (ja) | 1994-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0233401B1 (en) | Improved fast search processor | |
US4384325A (en) | Apparatus and method for searching a data base using variable search criteria | |
US5742805A (en) | Method and apparatus for a single history register based branch predictor in a superscalar microprocessor | |
US4241420A (en) | Disk data control | |
US4916655A (en) | Method and apparatus for retrieval of a search string | |
JP2668438B2 (ja) | データ検索装置 | |
JPH0410649B2 (ja) | ||
KR0152979B1 (ko) | 가변길이 데이터 처리장치 | |
US6771525B2 (en) | Method and apparatus for performing variable word width searches in a content addressable memory | |
US4975872A (en) | Dual port memory device with tag bit marking | |
US3332069A (en) | Search memory | |
KR950006590B1 (ko) | 캐시 메모리를 갖는 마이크로 프로세서 | |
EP0488297B1 (en) | Symbol string search apparatus and system | |
JPH0786875B2 (ja) | ベクトル処理装置 | |
JPH0820951B2 (ja) | プロセッサの動作速度を速める方法 | |
JPS61162898A (ja) | 連想メモリ装置 | |
Healy | A character-oriented context-addressed segment-sequential storage | |
JPH0743942B2 (ja) | 複合連想メモリ | |
JPH0642248B2 (ja) | 情報検索装置 | |
JPH0315772B2 (ja) | ||
JPH01297724A (ja) | 学習型文字列検索装置と同装置の制御方式 | |
JPH07302187A (ja) | データソーティング方法及びソーティング装置 | |
SU342185A1 (ru) | УСТРОЙСТВО дл ПОИСКА ИНФОРМАЦИИ | |
JPS61264431A (ja) | 記憶回路 | |
JPS60211540A (ja) | デ−タ検索回路 |