JPH08171800A - 連想メモリ - Google Patents

連想メモリ

Info

Publication number
JPH08171800A
JPH08171800A JP2172795A JP2172795A JPH08171800A JP H08171800 A JPH08171800 A JP H08171800A JP 2172795 A JP2172795 A JP 2172795A JP 2172795 A JP2172795 A JP 2172795A JP H08171800 A JPH08171800 A JP H08171800A
Authority
JP
Japan
Prior art keywords
data
memory
stored
memory word
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
Application number
JP2172795A
Other languages
English (en)
Other versions
JP3605168B2 (ja
Inventor
Masato Yoneda
正人 米田
Hiroshi Sasama
洋 笹間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JFE Steel Corp
Original Assignee
Kawasaki Steel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawasaki Steel Corp filed Critical Kawasaki Steel Corp
Priority to JP02172795A priority Critical patent/JP3605168B2/ja
Publication of JPH08171800A publication Critical patent/JPH08171800A/ja
Application granted granted Critical
Publication of JP3605168B2 publication Critical patent/JP3605168B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】本発明は、一致検索の行われるデータ幅を複数
のワードに拡張する機能、すなわち、連続する複数回の
検索でそれぞれ一致が検出された場合に全体としての一
致が検出される機能を備えた連想メモリに関し、メモリ
ワード群(データ群)を単位とした取扱いを容易化す
る。 【構成】各メモリワードが、該各メモリワードに対応す
る各アドレスを有するとともに、各メモリワード群が、
該各メモリワード群に対応する各代表アドレスを有す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一致検索の行われるデ
ータ幅を複数のワードに拡張する機能、すなわち、連続
する複数回の検索でそれぞれ一致が検出された場合に全
体としての一致が検出される機能を備えた連想メモリに
関する。
【0002】
【従来の技術】従来より、配列された複数の各メモリワ
ードそれぞれに各ディジタルデータを記憶しておき、検
索データを入力し、入力された検索データの全部もしく
は所定の一部のビットパターンと一致するビットパター
ンを有するディジタルデータが記憶されたメモリワード
を検索する連想メモリ(Associative Me
mory,内容アドレス式メモリ;Content A
ddressableMemory)が提案されてい
る。
【0003】図10は、連想メモリの一例を表わした回
路ブロック図である。この連想メモリ10には、mビッ
トを1ワードとする、互いに図の横方向に並ぶmビット
のメモリセルからなる多数のメモリワード11_1,1
1_2,…,11_nが備えられている。またこの連想
メモリ10は、1ワードの検索データが入力されラッチ
される検索データレジスタ12を備え、検索データレジ
スタ12にラッチされた検索データの全部もしくは所定
の一部のビットパターンと、各メモリワード11_1,
11_2,…,11_nに記憶された格納データのうち
上記ビットパターンと対応する部分のビットパターンと
の一致不一致が比較され、各メモリワード11_1,1
1_2,…,11_nのそれぞれに対応して備えられた
一致線14_1,14_2,…,14_nのうちビット
パターンが一致したメモリワード11_1,11_2,
…,11_nに対応する一致線14_1,14_2,
…,14_nに論理‘1’(ここでは5Vとする)の一
致信号が出力される。それ以外の一致線14_1,14
_2,…,14_nは論理‘0’(ここでは0Vとす
る)にとどまる。
【0004】これらの一致線14_1,14_2,…,
14_nは各フラグレジスタ15_1,15_2,…,
15_nの出力線91,92,…,nを介してプライオ
リティエンコーダ16に接続されており、これらの一致
線14_1,14_2,…,14_nに出力された信号
は、各フラグレジスタ15_1,15_2,…,15_
nに格納される。ここでは、一例として、図示のよう
に、各フラグレジスタ15_1,15_2,…,15_
nにそれぞれ‘0’,‘1’,‘1’,‘0’,…,
‘0’,‘0’が格納されたものとする。これらのフラ
グレジスタ15_1,15_2,…,15_nに格納さ
れた信号はプライオリティエンコーダ16に入力され
る。プライオリティエンコーダ16には、エンコードパ
ルスEPが入力され、エンコードパルスEPが入力され
る毎に、所定の優先順位づけに従って、論理‘1’の信
号が格納されたフラグレジスタ(ここではフラグレジス
タ15_2とフラグレジスタ15_3の2つ)のうちの
優先度の高いフラグレジスタに対応するアドレス信号A
Dが順次出力される。ここでは、添字が若いほど優先順
位が高いものとし、従ってエンコードパルスEPが1つ
だけ入力されると、フラグレジスタ15_2に対応する
メモリアドレスが出力される。このプライオリティエン
コーダ16から出力されたアドレス信号ADは、必要に
応じてアドレスデコーダ17に入力される。アドレスデ
コーダ17ではこの入力されたアドレス信号ADをデコ
ードして、各メモリワード11_1,11_2,…,1
1_nそれぞれに対応して備えられたワード線18_
1,18_2,…,18_nのうちの入力されたアドレ
ス信号ADに対応するいずれか1本のワード線(ここで
はワード線18_2)にアクセス信号(ここでは論理
‘1’の信号)を出力する。これによりアクセス信号の
出力されたワード線18_2に対応するメモリワード1
1_2に記憶されている格納データが出力レジスタ19
に読み出される。
【0005】次に、エンコードパルスEPがもう1つ入
力されると、今度はフラグレジスタ15_3に対応する
メモリワード11_3のアドレスを得ることができる。
上記のように、連想メモリ10は、検索データの全部も
しくは所定の一部のデータを用いて多数のメモリワード
11_1,11_2,…,11_nに記憶された格納デ
ータを検索し、一致する格納データを有するメモリワー
ドのアドレスを得、必要に応じてそのメモリワードに記
憶されたデータ全体を読み出すことができるように構成
されたメモリである。
【0006】上記のような基本構成を有する連想メモリ
において、一致検索の対象となるデータ幅を2ワードも
しくはそれ以上の複数ワードに拡張する技術が提案され
ている。図11は、データ拡張機能を備えた連想メモリ
の一例を示すブロック図である。図10に示した連想メ
モリの構成要素と対応する構成要素には、図10に付し
た符号と同一の符号を付して示し、その要素についての
重複説明は省略する。
【0007】各メモリワード11_1,11_2,…か
ら延びる各一致線14_1,14_2,…,は、各アン
ドゲート20_1,20_2,…の一方の入力端子に接
続されている。また各アンドゲート20_1,20_
2,…の他方の入力端子には各オアゲート21_2,2
1_3,…の出力端子が接続されており、各オアゲート
21_2,21_3,…の一方の入力端子は、初回検索
制御線22に接続されている。ただし図示の一番上のア
ンドゲート20_1に対応するオアゲートは省略されて
おり、そのアンドゲート20_1の入力端子に初回検索
制御線22が直接接続されている。
【0008】各アンドゲート20_1,20_2,…の
出力端子は各第1のフラグレジスタ23_1,23_
2,…のデータ入力端子に接続され、各第1のフラグレ
ジスタ23_1,23_2,…の出力端子は各第2のフ
ラグレジスタ24_1,24_2,…の入力端子に接続
されている。各第2のフラグレジスタ24_1,24_
2,…の出力端子は、図10に示すプライオリティエン
コーダ16(図11では図示省略)に接続されるととも
に、図11の下方に隣接するメモリワードに対応するオ
アゲート21_2,21_3,…の入力端子に接続され
ている。
【0009】互いに対応する第1および第2のフラグレ
ジスタ23_1,24_1,;23_2,24_2,…
の各ペアが図4に示す各フラグレジスタ15_1,15
_2,…に対応する。第1のフラグレジスタ23_1,
23_2,…と第2のフラグレジスタ24_1,24_
2,…には、ともに、一致結果ラッチ制御線25に出力
される一致結果ラッチ信号S1が入力され、その一致結
果ラッチ信号S1により各データ入力端子から入力され
た入力データがラッチされるが、第1のフラグレジスタ
23_1,23_2,…には、一致結果ラッチ信号51
の立ち上がりaの時点における入力データがラッチさ
れ、第2のフラグレジスタ24_1,24_2,…に
は、一致結果ラッチ信号S1の立ち下がりbの時点の入
力データがラッチされる。
【0010】以上のように構成された連想メモリにおい
ては、以下のようにして一致検索が行われる。尚、ここ
では図示のように、各メモリワード11_1,11_
2,11_3,11_4,11_5,11_6…には、
各格納データA,B,C,D,C,F,…が格納されて
いるものとする。ここで、各格納データを単独に検索す
る際は、検索データREF_DATAを入力して検索を
行う際に、初回検索制御線22に初回検索タイミング信
号S2を出力する。ここでは、検索データREF_DA
TAとしてデータ‘B’を入力したものとすると、デー
タ‘B’が格納されたメモリワード11_2に対応する
一致線14_2に論理‘1’の一致信号が出力されてア
ンドゲート20_2に入力され、また、これとともに初
回検索タイミング信号S2がオアゲート21_2を経由
してアンドゲート20_2に入力されるため、アンドゲ
ート20_2から論理‘1’の信号が出力される。また
このとき、他の一致線14_1;14_3,14_4,
…には論理‘0’の信号が出力されるため、それに対応
する他のアンドゲート20_1;20_3,20_4,
…からは論理‘0’の信号が出力される。
【0011】アンドゲート20_2から出力された論理
‘1’の信号は、一致結果ラッチ制御線25に出力され
た一致結果ラッチ信号S1の立ち上がりaのタイミング
で第1のフラグレジスタ23_2にラッチされ、それに
引き続く一致結果ラッチ信号S1の立ち下がりbのタイ
ミングで第2のフラグレジスタ24_2にラッチされ
る。
【0012】また第1のフラグレジスタ23_2および
第2のフラグレジスタ24_2に論理‘1’の信号がラ
ッチされる各タイミングで、他の第1フラグレジスタ2
3_1;23_3,23_4,…、および他の第2のフ
ラグレジスタ24_1;24_3,;24_4,…には
論理‘0’の信号がラッチされる。このようにして各第
2のフラグレジスタ24_1,24_2,24_3,…
にラッチされた論理‘0’,‘1’,‘0’,…の信号
が図4に示すプライオリティエンコーダ16に入力さ
れ、メモリワード11_2のアドレス信号ADが得られ
る。
【0013】次に、データ幅が拡張された検索を行う場
合について説明する。ここでは、2ワードに拡張され
た、データ‘B’とデータ‘C’からなる2ワードデー
タを検索する場合について説明する。この場合、先ず上
記と同様にして、データ‘B’の検索を行う。これによ
り、メモリワード11_2に対応する第1および第2の
フラグレジスタ23_2,24_2に論理‘1’の信号
がラッチされる。次に検索データREF_DATAとし
てデータ‘C’を入力して検索を行うが、このときは初
回検索制御線22には初回検索タイミング信号S2は出
力せずに、初回検索制御線22は論理‘0’の状態に保
っておく。検索データREF_DATAとしてデータ
‘C’を入力して検索を行うと、図示の2つのメモリワ
ード11_3,11_5にそれぞれ対応する一致線14
_3,14_5に論理‘1’の一致信号が出力される
が、オアゲート21_3には、第2のフラグレジスタ2
4_2にラッチされている論理‘1’の信号が入力され
ているため一致線14_3の一致信号はアンドゲート2
0_3を通過し、第1および第2のフラグレジスタ23
_3,24_3に、一致を表わす論理‘1’の信号がラ
ッチされる。一方オアゲート21_5には、第2のフラ
グレジスタ24_4にラッチされている論理‘0’の信
号が入力されているため一致線14_5の一致信号はア
ンドゲート20_5で遮断され、第1および第2のフラ
グレジタ23_5,24_5には不一致を表わす論理
‘0’の信号がラッチされることになる。このようにし
て、データ‘B’とデータ‘C’のペアからなる2ワー
ドデータの一致検出が行われる。3ワード以上のデータ
の一致検出も同様にして行われる。
【0014】ただし、図11に示す連想メモリは、デー
タ幅拡張機能を備えてはいるが、2ワード,3ワード等
に拡張されるデータは、互いに隣接したメモリワードに
所定の順序で格納されている必要があり、検索しようと
する複数のデータが互いに離れたメモリワードに格納さ
れている場合や逆の順序、例えばデータ‘C’,データ
‘B’の順序に格納されている場合には複数のデータを
結合した一致検出を行うことはできない。
【0015】このような検索が必要となる場合のデータ
構造を、図12に示す。図12には、それぞれ属性I,
II,III,IVが付された4つのデータがセットと
なって1つのデータ群を構成しているデータ構造が示さ
れている。データ群および属性の概念を明確にするため
に一例を挙げると、例えば各群番号1,2,3,4,…
毎の各データ群は各個人に属するデータであり、属性I
はその人の氏名,属性IIはその人の生年月日、属性I
IIは住所、……等を示している。
【0016】このように各属性I,II,III,IV
が付された複数のデータからなるデータ群を連想メモリ
に格納しておいて検索を行う場合に、例えば群番号1の
データ群を検索する場合を例に説明すると、データ
‘A’の検索とデータ‘B’の検索をこの順に行って、
一致するデータ群の残りのデータ‘C’,‘D’を読み
出すことだけではなく、例えばデータ‘A’の検索とデ
ータ‘D’の検索を行って残りのデータ‘B’,‘C’
を読み出したい場合や、データ‘B’の検索を先に行
い、次にデータ‘A’の検索を行いたい場合がある。
【0017】しかし、上述したワード幅拡張機能を備え
た連想メモリ(図11参照)では、このような検索は不
可能である。また上述した連想メモリでは、データ
‘A’とデータ‘B’の検索を行った場合に、図12に
示す群番号1の欄にある属性Iの付されたデータ‘A’
と属性IIの付されたデータ‘B’とのペアと、群番号
4の欄にある属性IIの付されたデータ‘A’と属性I
IIの付されたデータ‘B’とのペアとの区別をするこ
とはできず、例えば、‘氏名’という属性Iと‘生年月
日’という属性IIの情報を基にそれらが一致する特定
の個人の属性III,IVの情報を知ろうとしても、属
性IIと属性IIIのペアでも一致が検出される等必要
な情報以外のノイズが混入してしまうことになる。
【0018】このような問題を解決するために、不連続
な属性における検索も可能とした新規な連想メモリを、
特願平5−248121号に提案した。
【0019】
【発明が解決しようとする課題】しかしながら、この連
想メモリにおいて、一連のデータ群中のデータについ
て、例えば属性毎に検索を行った場合に、一致あるいは
不一致のアドレスの管理が煩雑化し、データ群が記憶さ
れたメモリワード群を単位とした取扱いが複雑化すると
いう問題点がある。
【0020】本発明は、上記事情に鑑み、データ群が記
憶されたメモリワード群を単位とした取扱いが簡便化さ
れた連想メモリを提供することを目的とする。
【0021】
【課題を解決するための手段】上記目的を達成する本発
明の第1の連想メモリは、多数の格納データを記憶して
おき、検索データが入力され、入力された検索データに
対応する格納データを検索する連想メモリにおいて、
(1)それぞれが複数の格納データの集合からなる複数
のデータ群を構成する各格納データを、各格納データ毎
に記憶する複数のメモリワードを備え、(2)各メモリ
ワードが、各メモリワードに対応する各アドレスを有す
るとともに、(3)各データ群を構成する複数の格納デ
ータを記憶する複数のメモリワードからなる各メモリワ
ード群が、各メモリワード群に対応する各代表アドレス
を有することを特徴とする。
【0022】ここで、上記本発明の第1の連想メモリに
おいて、上記代表アドレスが、その代表アドレスに対応
するメモリワード群を構成する複数のメモリワードに対
応する複数のアドレスのうちの1つのアドレスであるこ
とが好ましい。また、上記本発明の第1の連想メモリに
おいて、上記格納データそれぞれが、該格納データが属
するデータ群の中の位置づけを表わす属性と、該属性が
付されたデータとのペアからなる場合に、上記代表アド
レスが、その代表アドレスに対応するメモリワード群を
構成する複数のメモリワードのうちデータ群を構成する
各属性を代表する所定の属性が格納されたメモリワード
に対応するアドレスであることが好ましい。
【0023】一方、上記本発明の第1の連想メモリは、
一致が検出された場合にメモリワード群を単位としたア
ドレスによってその一致が検出されたメモリワード群を
知る構成として、以下のように具体化することができ
る。すなわち、そのように構成された、本発明の第2の
連想メモリは、多数の格納データを記憶しておき、検索
データが入力され、入力された検索データに対応する格
納データを検索する連想メモリにおいて、(4)それぞ
れが複数の格納データの集合からなる複数のデータ群を
構成する各格納データを、該各格納データ毎に記憶する
複数のメモリワード(5)検索時に、入力された検索デ
ータに対応する格納データが検出された場合に、各デー
タ群を構成する複数の格納データを記憶する複数のメモ
リワードからなる各メモリワード群のうち、上記対応す
る格納データが格納されたメモリワードが属するメモリ
ワード群に対応する代表アドレスを出力するアドレス出
力回路を備えたことを特徴とする。
【0024】ここで、さらに具体的には、上記(5)の
アドレス出力回路は、例えば、 (5−1)複数のメモリワードそれぞれに対応して備え
られ、検索時に、入力された検索データに対応する格納
データが記憶されていた場合に活性化される一致線 (5−2)一致線が接続され、所定の優先順位づけに従
って、活性化された一致線に対応するメモリワードの中
の1つのメモリワードのアドレスを生成するプライオリ
ティエンコーダ (5−3)プライオリティエンコーダから出力された上
記1つのメモリワードのアドレスを、その1つのメモリ
ワードが属するメモリワード群に対応する代表アドレス
に変換するアドレスコンバータ を備えた構成とすることができる。
【0025】ここで、上記(5−1)の一致線は、上記
(5−2)のプライオリティエンコーダに直接に接続さ
れていてもよく、あるいはフラグレジスタ、ゲート回
路、スイッチ等その一致線の信号を保持、変形あるいは
伝達する回路を介して上記(5−2)のプライオリティ
エンコーダに接続されていてもよく、上記の本発明には
それらの双方の態様が含まれる。
【0026】この、(5−1)〜(5−3)の構成要件
を満足するアドレス出力回路を備えた場合において、上
記格納データそれぞれが、該格納データが属するデータ
群の中の位置づけを表わす属性と、該属性が付されたデ
ータとのペアからなる場合に、上記(5−3)のアドレ
スコンバータが、上記1つのメモリワードのアドレス
に、該1つのメモリワードと、該1つのメモリワードが
属するメモリワード群を構成する複数のメモリワードの
うち、データ群を構成する各属性を代表する所定の属性
が格納されたメモリワードとの間の相対アドレスを加算
もしくは減算することにより、該メモリワード群に対応
する代表アドレスを生成するものであることが好まし
い。
【0027】また、上記第2の連想メモリにおいて、例
えば上記格納データそれぞれが、該格納データが属する
データ群の中の位置づけを表わす属性と、該属性が付さ
れたデータとのペアからなり、上記(5)のアドレス出
力回路が、 (5−4)複数のメモリワードそれぞれに対応して備え
られ、検索時に、入力された検索データに対応する格納
データが記憶されていた場合に活性化される一致線 (5−5)上記属性それぞれに対応して備えられ検索時
の属性により選択される、活性化された一致線に対応す
るメモリワードが属するメモリワード群に対応する代表
アドレスを生成する複数のエンコード符号化回路 を具備する構成とすることも好ましい態様である。
【0028】また、例えば、上記格納データそれぞれ
が、該格納データが属するデータ群の中の位置づけを表
わす属性と、該属性が付されたデータとのペアからな
り、上記(5)のアドレス出力回路が、 (5−6)複数のメモリワードそれぞれに対応して備え
られ、検索時に入力された検索データに対応する格納デ
ータが記憶されていた場合に活性化される一致線 (5−7)一致線が活性化されたことを表わす情報を入
力し、その情報の入力位置に応じたアドレスを生成する
エンコード符号化回路 (5−8)検索時の前記属性によって制御され、上記情
報を、活性化された一致線に対応するメモリワードのア
ドレスと、そのメモリワードが属するメモリワード群に
対応する代表アドレスとの差分に対応する分だけ入力位
置をシフトして前記エンコード符号化回路に入力するス
イッチング回路 を具備する構成とすることもできる。
【0029】また、上記(5)のアドレス出力回路は、
例えば、 (5−9)上記メモリワード群を構成する複数のメモリ
ワードにそれぞれ対応して備えられ、検索時に、入力さ
れた検索データに対応する格納データが記憶されていた
場合に活性化される複数の一致線 (5−10)上記複数のメモリワードにそれぞれ対応し
る複数の信号線を有し、検索時に、前記メモリワード群
を構成する複数のメモリワードに対応する複数の一致線
のうちのいずれか1本の一致線が活性化された場合に、
この活性化された一致線に対応するメモリワードに記憶
された格納データが属するデータ群を代表する格納デー
タが記憶されたメモリワードに対応する信号線を活性化
するゲート回路 (5−11)上記信号線が接続され、所定の優先順位づ
けに従って、上記活性化された信号線に対応するメモリ
ワードの中の1つのメモリワードのアドレスを生成し、
該アドレスを、該1つのメモリワードが属するメモリワ
ード群に対応する代表アドレスとして出力するプライオ
リティエンコーダ を備えた構成とすることもできる。
【0030】ここで、上記(5−10)の信号線は、上
述した一致線(上記(5−1))の場合と同様、直接に
プライオリティエンコーダに接続されていてもよく、あ
るいはフラグレジスタ、ゲート回路、スイッチ等、その
信号線の信号を保持、変形あるいは伝達する回路を介し
てプライオリティエンコーダに接続されていてもよい。
【0031】また、上記(5−9)の一致線と、上記
(5−10)の信号線との間には、上記(5−10)の
ゲート回路のみでなく、例えばフラグレジスタ、他のゲ
ート回路、スイッチ等、一致線の信号を保持、変形ある
いは伝達する回路が備えられていてもよい。この、(5
−9)〜(5−11)の構成要件を満足するアドレス出
力回路を備えた場合において、上記格納データそれぞれ
が、該格納データが属するデータ群の中の位置づけを表
わす属性と、該属性が付されたデータとのペアからな
り、上記ゲート回路が、メモリワードに格納された属性
がデータ群を構成する各属性を代表する所定の属性であ
り、かつ、その所定の属性が格納されたメモリワードが
属するメモリワード群を構成する複数のメモリワードに
対応する複数の一致線のうちのいずれか1本の一致線が
活性化された場合に、対応する信号線を活性化するもの
であることが好ましい。
【0032】また、前述した本発明の第1の連想メモリ
は、メモリワード群を単位して、そのメモリワード群が
「記憶状態」にあるか「空き状態」にあるかを知るため
の構成として、以下のように具体化することができる。
すなわち、そのように具体化された、本発明の第3の連
想メモリは、多数の格納データを記憶しておき、検索デ
ータが入力され、入力された検索データに対応する格納
データを検索する連想メモリにおいて、(6)それぞれ
が複数の格納データの集合からなる複数のデータ群を構
成する各格納データを、各格納データ毎に記憶する複数
のメモリワード(7)上記複数のメモリワードそれぞれ
に対応して備えられ、対応するメモリワードが、検索の
対象とされる有効な検索データが記憶された記憶状態に
あるメモリワードであるか、あるいは有効な検索データ
が記憶されておらずしたがって上書きが許容される空き
状態にあるメモリワードであるかを示すエンプティフラ
グが記憶されるエンプティフラグレジスタ(8)上記複
数のメモリワードそれぞれに対応する信号線を有し、そ
のメモリワードに格納された格納データが、その格納デ
ータが属するデータ群を代表する格納データであり、か
つ、その格納データが格納されたメモリワードに対応す
る前記フラグレジスタに、空き状態を示すエンプティフ
ラグが記憶されていた場合に、対応する信号線を活性化
するゲート回路(9)上記複数のメモリワードそれぞれ
に対応する信号線が接続され、所定の優先順位づけに従
って、上記ゲート回路により活性化された信号線に対応
するメモリワードの中の1つのメモリワードを指定する
プライオリティエンコーダを備えたことを特徴とする。
【0033】ここで、上記本発明の第3の連想メモリ
は、上記格納データそれぞれが、その格納データが属す
るデータ群の中の位置づけを表わす属性と、属性が付さ
れたデータとのペアからなり、上記ゲート回路が、メモ
リワードに格納された属性がデータ群を構成する各属性
を代表する所定の属性であり、かつ、その所定の属性が
格納されたメモリワードに対応するフラグレジスタに、
空き状態を示すエンプティフラグが記憶されていた場合
に、対応する信号線を活性化するものであってもよい。
【0034】
【作用】本発明の第1の連想メモリは、各メモリワード
が各アドレスを有するとともに、各メモリワード群が、
各代表アドレスを有するものであるため、メモリワード
群を単位としてアクセスする場合にはその代表アドレス
を用いることにより、あるいは、そのメモリワード群内
のいずれかのメモリワードをアクセスする場合には、代
表アドレスと、メモリワード群内の相対アドレスを用い
ることにより、例えば複数のアドレスを1つのメモリワ
ード群に対応づけるような煩雑さが回避され、メモリワ
ード群を単位とした取扱いが簡便化される。
【0035】メモリワード群に対応する代表アドレスと
して、メモリワードに対応するアドレスと全く別体系の
アドレスを用いるよりは、そのメモリワード群を構成す
る複数のメモリワードのアドレスのうちの1つ、例えば
それら複数のアドレスのうちの数値の一番小さいアドレ
スを代表アドレスとして用いると、メモリワードのアド
レスとメモリワード群のアドレスとがリンクされた解り
やすいアドレス体系となる。
【0036】また、格納データが、属性とその属性が付
されたデータとから成る場合、その属性のうちの所定の
属性、例えば数値の一番小さい属性が格納されたメモリ
ワードのアドレスをそのメモリワードが属するメモリワ
ード群の代表アドレスとすると、メモリワードに格納デ
ータを記憶させることにより自動的に代表アドレスが定
義される回路構成とすることができる。
【0037】また、本発明の第2の連想メモリは、上記
(5)の、代表アドレスを出力するアドレス出力回路を
備えたため、外部で複数のアドレスと1つのメモリワー
ドとを対応づけるような煩雑な操作を行う必要がなく、
メモリワード群を単位とした取扱いが簡便化され、使い
勝手の良い連想メモリとなる。尚、一連の検索の最後で
一致が検索されたか否かは、各メモリワード群毎に、た
かだか一本の一致線のみから出力される。したがってメ
モリワード群を構成する複数のメモリワードに対応する
複数の一致線がすべてプライオリティエンコーダに接続
されていても、本発明の第3の連想メモリにおける、空
き状態にあるメモリワード群を認識するときとは異な
り、一致が検出されたメモリワード群を認識するのに余
計な時間がかかるわけではない。
【0038】また、本発明の第3の連想メモリは、各メ
モリワードに対応して備えられたエンプティフラグレジ
スタの出力を、そのメモリワードが、1つのデータ群が
格納されるメモリワード群を代表するメモリワードであ
るか否かを判定するゲート回路を介してプライオリティ
エンコーダに入力する機能を備えているため、プライオ
リティエンコーダでは、各メモリワード群毎に空き状態
にあるか否かが判定され、各メモリワード群が空き状態
にあるか否かの検索が高速化され、データ書き込みの速
度が向上する。
【0039】
【実施例】以下、本発明の実施例について、先願の、特
願平5−248121号を参考に詳述する。尚、本発明
の第2の連想メモリの実施例あるいは本発明の第3の連
想メモリの実施例は、すなわち、本発明の第1の連想メ
モリの実施例であるため、以下では本発明の第2の連想
メモリの実施例と本発明の第3の連想メモリの実施例に
ついて説明する。
【0040】図6は、上記先願に係る連想メモリの一例
を示すブロック図である。図11に示す連想メモリの各
構成要素と同一の構成要素には、図11に付した符号と
同一の符号を付して示し、相違点についてのみ説明す
る。各メモリワード11_1,11_2,…は、属性を
格納する属性格納部11_1_1,11_2_1,…と
データを格納するデータ格納部11_1_2,11_2
_2,…とで構成されており、各メモリワード11_
1,11_2,…には、互いに対応する属性とデータと
のペアからなる格納データがそれぞれ格納されている。
ここでは、図示のように、各メモリワード11_1,1
1_2,11_3,11_4には、それぞれ、図12に
示す群番号1に属する、属性I,データ‘A’、属性I
I,データ‘B’、属性III,データ‘C’、属性I
V,データ‘D’が格納されている。また各メモリワー
ド11_5,11_6,…には、それぞれ、図6に示す
群番号2に属する、属性I,データ‘C’、属性II,
データ‘F’、……が格納されている。また検索にあた
っては、属性とデータとのペアからなる検索データRE
F_DATAが入力される。
【0041】各メモリワード11_1,11_2には、
そこに記憶された格納データ(属性及びデータの双方)
が、入力された検索データ(属性及びデータの双方)と
一致しているときに一致信号が出力される一致線14_
1,14_2,…のほか、属性のみの一致不一致の信号
が出力される属性一致線30_1,30_2,…が備え
られている。尚、属性のみの一致も、属性及びデータの
双方の一致も、従来の一致検出回路と同様に構成され、
従来の一致検出回路は連想メモリの分野において極めて
一般的な技術であるため、ここでの図示および説明は省
略する。
【0042】各メモリワード11_1,11_2に対応
して第3のフラグレジスタ31_1,31_2,…が備
えられており、各属性一致線30_1,30_2,…は
対応する第3のフラグレジスタ31_1,31_2,…
のデータ入力端子に延びている。また、この連想メモリ
には、図12に示す各データ群に属するデータが格納さ
れた複数のメモリワードからなるメモリワード群それぞ
れについて1本ずつデータ線32_1,32_2,…が
備えられており、またデータ線32_1,32_2,…
と各第2のフラグレジスタ24_1,24_2,…の出
力端子との間には各第1のスイッチ33_1,33_
2,…が備えられている。これらの第1のスイッチ33
_1,33_2,…は具体的にはトランジスタ等を用い
て構成される。後述する他のスイッチについても同様で
ある。各第1のスイッチ33_1,33_2,…は、対
応する各第3のフラグレジスタ31_1,31_2,…
に論理‘1’の信号がラッチされているときに導通さ
れ、論理‘0’の信号がラッチされているときには遮断
される。各第3のフラグレジスタ31_1,31_2,
…は、一致結果ラッチ制御線25に出力される一致結果
ラッチ信号S1の立ち下がりbのタイミングで、対応す
る属性一致線30_1,30_2,…の信号をラッチす
る。またデータ線32_1,32_2,…と各オアゲー
ト21_1,21_2,…の入力端子との間に各第2の
スイッチ34_1,34_2,…が備えられており、こ
れら各第2のスイッチ34_1,34_2,…は、対応
する属性一致線30_1,30_2,…の信号により、
その信号が一致を表わす論理‘1’のときに導通状態、
不一致を表わす論理‘0’の時に遮断状態となるように
制御される。この遮断時における各オアゲート21
1,21 2,…の入力レベルの安定化のために、この
部分にプルダウン抵抗を入れるか、あるいは他の回路方
式を採用してもよい。尚、この図6に示す連想メモリに
は、図5に示す連想メモリと異なり、図示の最上段のメ
モリワード11_1に対応するアンドゲート20_1の
前段にもオアゲート21_1が備えられている。
【0043】以上のように構成された連想メモリにおい
て、一致検索は以下のようにして行われる。1ワード分
の単独のデータ検索、および連続した複数ワードの検索
のうち第1回目の検索は、図11に示した従来のワード
拡張機能付連想メモリの場合と同じであるためここでは
説明は省略し、ここでは第1回目の検索において属性I
Iとデータ‘B’とからなる検索データREF_DAT
Aによってメモリワード11_2に対応する第1および
第2のフラグレジスタ23_2,24_2に論理‘1’
がラッチされたものとする。このとき、属性の一致を受
けてメモリワード11_2に対応する属性一致線30_
2に論理‘1’の信号が出力され、これにより、対応す
る第3のフラグレジスタ31_2にも論理‘1’の信号
がラッチされ、対応する第1のスイッチ33_2がオン
し、対応する第2のフラグレジスタ24_2に格納され
た、属性及びデータ双方の一致を表わす論理‘1’の信
号がデータ線32_1に出力される。またこれととも
に、対応する第2のスイッチ34_2もオンするが、第
1回目の検索においてはこれは無用の動作である。
【0044】次に、属性IVとデータ‘D’からなる検
索データREF_DATAを入力して検索を行うものと
する。このときは、図11の連想メモリの場合と同様、
初回検索制御線22は論理‘0’に保持されている。こ
のとき、属性の一致を受けてメモリワード11_4に対
応する属性一致線30_4に論理‘1’の信号が出力さ
れ、これにより対応する第2のスイッチ34_4がオン
し、データ線32_1に出力されていた、メモリワード
11_2に対応する第2のフラグレジスタ24_2の論
理‘1’の信号がオアゲート21_4を経由してアンド
ゲート20_4に入力される。このため、メモリワード
11_4で属性IVとデータ‘D’の双方の一致が検出
されて一致線14_4に論理‘1’の一致信号が出力さ
れ、一致結果ラッチ制御線25に出力される一致結果ラ
ッチ信号S1により、対応する第1および第2のフラグ
レジスタ23_4,24_4に論理‘1’の信号がラッ
チされる。またこのとき、属性一致線30_4に出力さ
れた論理‘1’の信号が、対応する第3のフラグレジス
タ31_4にラッチされ、対応する第1のスイッチ33
_4がオンし、第2のフラグレジスタ24_4の論理
‘1’の信号がデータ線32_1に出力される。またこ
の2回目の検索では、メモリワード11_2に対応する
属性一致線30_2には属性の不一致を表わす論理‘0
が出力されるため、対応する第3のフラグレジスタ31
_2には‘0’が格納され、メモリワード11_2に対
応する第1のスイッチ33_2はオフする。
【0045】これにより、メモリワード11_4に対応
する第2のフラグレジスタ24_4の論理‘1’の信号
が出力線100 4を介してプライオリティエンコーダ
16(図10参照)に入力され、メモリワード11_4
のアドレスが得られることになるが、メモリワード11
_4には属性IVが格納されていることは予め分かって
おり、同一群内の例えば属性IIIのデータを読み出し
たいときは、得られたアドレスから1を引いてメモリワ
ード11_3のアドレスを求め、そのアドレスをアドレ
スデコーダ17に入力してメモリワード11_3の内容
を読み出せばよい。
【0046】一方、2回目の検索時に、属性IVとデー
タ‘D’とからなる検索データに代わり、例えば属性I
Vとデータ‘B’とからなる検索データで検索が行われ
た場合、メモリワード11_4については、属性は一致
するため第2のスイッチ34_4がオンし、データ線3
2_1に出力されている論理‘1’の信号が取り込まれ
るが、データが異なるため一致線14_4には不一致を
表わす論理‘0’が出力され、第1及び第2のフラグレ
ジスタ23_4,24_4には一致が検出されなかった
ことを示す論理‘0’がラッチされる。また、データ
‘B’が一致するメモリワード11_2については属性
が一致せず、したがって属性及びデータの双方も一致し
ない。
【0047】以上のようにして、図6に示す連想メモリ
では、同一の群内においては、互いに離れたメモリワー
ドに記憶されたデータであっても、もしくはデータの順
序を逆にして検索した場合であっても、検索を行うこと
ができる。ここで、図6に示す連想メモリにおけるデー
タ線32_1,32_2,…,は、1つの群に属するデ
ータの数が予め定まっているものとしてその長さが固定
されたものであるが、このように固定長のデータ線を備
えると、1つの群に属するデータの数の最大を見積も
り、最大のデータ数に対応した長さのデータ線を備える
必要がある。これではその最大よりも少ない数のデータ
によりデータ群が構成される場合に無駄なメモリワード
が発生することになる。そこで、1つの群に属するデー
タの数に合せてデータ線を可変長とすることが好まし
い。
【0048】図7は、可変長のデータ線を実現する一つ
の方式を示した模式図である。データ線32が複数のメ
モリワード11_1,11_2,11_3,…に亘って
延び、そのデータ線32には、最上端のメモリワード1
1_1を除く他のメモリワード11_2,11_3,…
それぞれに対応する各スイッチ40_2,40_3,…
が互いにシリーズに配置されている。これらの各スイッ
チ40_2,40_3,40_4,…は、対応するメモ
リワード11_2,11_3,11_4,…と、その直
ぐ上段に隣接するメモリワード11_1,11_2,1
1_3,…との間に配置されている。それらのスイッチ
40_2,40_3,40_4,…のうちの1つおきの
スイッチ40_2,40_4,40_6,…は第1制御
線41に出力される第1のスイッチ制御信号によりオン
し、3つおきのスイッチ40_3,40_7,…は第2
制御線42に出力される第2のスイッチ制御信号により
オンし、残りのスイッチのうち8つおきのスイッチ40
_5,…は第3制御線43に出力される第3のスイッチ
制御信号によりオンされる。
【0049】1つのデータ群を構成するデータの数が2
の場合は、第1制御線41に第1のスイッチ制御信号を
出力することにより1つおきのスイッチ40_2,40
_4,40_6,…をオンさせる。これにより各2つの
メモリワード11_1,11_2;11_3,11_
4;11_5,11_6;…毎に切断されたデータ線が
形成される。また、1つのデータ群を構成するデータの
数が4の場合は、第1制御線41に第1のスイッチ制御
信号を出力するとともに第2制御線42に第2のスイッ
チ制御信号を出力する。すると、各4つのメモリワード
11_1,11_2,11_3,11_4;11_5,
11_6,…毎に切断されたデータ線が形成される。同
様にして、1つのデータ群を構成するデータの数が8の
場合は、第1制御線41、第2制御線42にそれぞれ第
1および第2のスイッチ制御信号を出力するとともに、
第3制御線43に第3のスイッチ制御信号を出力する。
これにより各8つのメモリワード11_1,…,11_
8;11_9…毎に切断されたデータ線が形成される。
【0050】この方式によれば、1つのデータ群を構成
するデータの数が2のべき乗(=2 n )の場合はメモリ
ワードに空きは生じないが、それ以外の、例えば3,
5,6等の場合空きのメモリワードが生じてしまうこと
になる。この空きのメモリワードが生じないように多数
のスイッチ40_2,40_3,…を任意にオン,オフ
できるように構成すると、制御線の本数が多数本とな
り、またそれらの制御線にスイッチ制御信号を出力する
制御回路が複雑となる。したがって、図7に示す方式
は、データ線の長さを完全に任意に制御するには不向き
である。
【0051】図8は、可変のデータ線を実現するもう一
つの方式を示した模式図である。多数のメモリワードに
亘ってデータ線32が延び、そのデータ線32に互いに
シリーズに接続された、最上端のメモリワードを除く他
のメモリワードそれぞれに対応する各スイッチ40_
2,40_3,40_4,…が備えられている点は図7
の場合と同じである。各メモリワードには、各属性格納
部11_1_1,11_2_1,11_3_1,…が備
えられており、それら属性格納部11_1_1,11_
2_1,11_3_1,…には、図示の各属性I,I
I,III,IVがそれぞれ格納されている。この例
は、属性格納部11_1_1,11_2_1,11_3
_1,…に格納された属性が属性Iかそれ以外の属性I
I,III,IVかに応じて、属性Iの場合は対応する
スイッチをオフのままとし、それ以外の属性II,II
I,IVの場合は対応するスイッチをオンするように構
成したものである。このように構成すると、1つのデー
タ群を構成するデータの数がいくつであっても、また、
データ数の異なるデータ群が混在していても、各データ
群の先頭に属性Iのデータを配置することにより、自動
的に過不足ない数のメモリワード毎に切断されたデータ
線が形成されることになる。
【0052】図9は、属性がIかそれ以外かを判定する
属性判定回路の一例を示す回路図である。ここでは属性
Iに‘000’が割り当てられており、属性格納部11
_i_1に格納された属性が属性I(‘000’)の場
合オアゲートから‘0’が出力され、したがってトラン
ジスタ40で構成されたスイッチはオフ状態となり、そ
のトランジスタ40’の両側のデータ線が電気的に切断
される。属性格納部11_i_1に格納された属性が属
性I以外の属性の場合はオアゲートから‘1’が出力さ
れ、トランジスタ40はオン状態となり、そのトランジ
スタの両側のデータ線が接続される。
【0053】このように、図6に示す連想メモリにおい
て、1つのデータ群を構成するデータの数に応じてデー
タ線32_1,32_2,…の長さを調整することもで
きる。もちろん、属性データを利用するのではなく、専
用の制御フラグを1ビット設け、それによってスイッチ
を制御することによりデータ線の長さを調整してもよ
い。特に、制御専用のフラグビットを設けた場合、属性
格納部11 1,11 1,…等の値を自由に
選択できる長所があり、図12に示される群構造データ
の構成が更に容易になる。
【0054】群構造のデータを記憶しておいて一致検索
を行う連想メモリにおいては、一致検索の結果知りたい
のは一致したデータ群が記憶されたメモリワード群のア
ドレスである。ところが、上記のような連想メモリで
は、多数のメモリワードそれぞれに対応して一致線が備
えられ、それら多数本の一致線がすべて平等に取り扱わ
れており、一致検索の結果出力されるのは、例えば一連
の検索を行ったときの最後に一致が検出されたメモリワ
ードのアドレスである。
【0055】したがってこの場合、どの複数のアドレス
が1つのメモリワード群に対応しているかを外部で管理
する必要があり、その管理が極めて煩わしいという問題
がある。そこで、この管理を容易化し得る手法に関し
て、以下に具体的に述べる。図1は、本発明の第2の連
想メモリの第1実施例の、本発明に特徴的なプライオリ
ティエンコーダ55の部分のみを取出して示した回路図
である。
【0056】各メモリワード(図6参照)に対応して備
えらえた各一致線14_1,14_2,…,14_nか
らの信号は、フラグレジスタ23_1,24_1;23
_2,24_2;…等を介してプライオリティエンコー
ダ55に接続されている。プライオリティエンコーダ5
5からは、エンコードパルスEPの入力に応じて、活性
化された一致線に対応したアドレスが出力される。この
アドレスは、特定のメモリワードに対応したアドレスで
あり、そのメモリワードが属するメモリワード群の代表
アドレスとは限らない。
【0057】プライオリティエンコーダ55から出力さ
れたアドレスは、本発明にいうアドレスコンバータの一
例である減算器56に入力される。この減算器56に
は、検索データを構成する属性を表わす数値(属性I,
II,III,IVに応じてそれぞれ‘000’,‘0
01’,‘010’,‘011’(2進数));これを
属性データATT_DATAと称する)も入力され、減
算器56では、プライオリティエンコーダ55から出力
されたアドレスからその直前に検索された属性データの
値を減算する。これにより常に、プライオリティエンコ
ーダ55から出力されるアドレスは、対応するメモリワ
ードが属するメモリワード群の代表アドレスADとな
る。すなわち、属性データATT_DATAはメモリワ
ード群内の相対アドレスを表わしており、ここでは、そ
のメモリワード群を構成する複数のメモリワードのアド
レスのうち値の一番若いアドレスを、そのメモリワード
群の代表アドレスとしている。
【0058】図2は、本発明の第2の連想メモリの第2
実施例のプライオリティエンコーダ55を示した図であ
る。第1実施例と異なる点は、このプライオリティエン
コーダ55の構成にある。つまり、第1の実施例では、
エンコード出力したアドレスに対して、その直前になさ
れた検索の属性データの値を減算することで、そのメモ
リワード群を構成する複数のメモリワードのアドレスの
うち値の一番若いアドレスを代表アドレスとしている。
ところが、この減算のために、Δtの処理時間が必要と
なる。そこでこの減算時間をなくすことを目的としたも
のが、本実施例である。つまり、図2に示すように、プ
ライオリティエンコーダ55内に属性データの種類に相
当するエンコーダ55 a,55 b,55 cを設け
ておき、直前の検索がどの属性であったかによって、ど
のエンコーダ55 a,55 b,55 cを選択する
かを決め、その出力からエンコードアドレスADを得る
ものである。
【0059】例えば、図中の出力線100 2が1であ
り、その直前の検索が属性II(‘001’)に対して
行なわれた場合は、ATT DATAによりエンコーダ
55 bが選ばれる。このエンコーダ55 bの出力線1
00 2に対応する値は‘0’であり、この値がADと
して出力される。即ち、この出力線100 2のメモリ
ワードが属するメモリワード群の一番若いアドレス
‘0’が出力されたことになる。
【0060】ここで、このエンコーダ55 bの選択
は、エンコードが始まる前の直前の検索時に既にATT
DATAにより決定されており、第1の実施例のよう
なプライオリティエンコーダ55以外の減算器56のよ
うな遅延は不必要となる。更に、図3に第3実施例を示
す。これもまた、プライオリティエンコーダ55の構成
にその特徴がある。
【0061】図2は、図1に比べて減算器56の遅延は
ないが、エンコーダ55 a,55 b,55 cを属性
の種類だけ容易することが必要となり、ハードウェアの
面積が増加してしまう。そこで、この点を改良したもの
が図3である。プライオリティエンコーダ55の入力と
なる出力線100 1,100 2,…,100 nと
エンコーダ55 eの間に、スイッチング回路55
が設けられている。
【0062】このスイッチング回路55 sをATT
DATAにより制御し、エンコーダ55 eへの接続位
置を変えることを特徴としている。例えば、出力線10
iのものは、スイッチング回路55 sにより、エ
ンコーダ55 eの(i−k)〜(i−1)のいずれか
を選択出力可能となっている。
【0063】ただし、ここでkはエンコードの直前に行
なわれた検索の属性の値を示すものであり、0≦i≦
n,i≧kの条件を満たすものである。そこで、属性が
kの時は、エンコーダ55 eの出力は、i−kとな
り、出力線100 iのメモリワードが属するメモリワ
ード群の内最も若いアドレスを出力することになる。
【0064】このような構成をとることで、エンコード
アドレスADを得るための遅延時間を最小にし、且つハ
ードウェア面積をも最小とすることが可能となる。ま
た、次の実施例は、プライオリティエンコーダ55へ入
ってくる検索結果の出力に新たな改善を加えたものであ
る。図4は、本発明の第2の連想メモリの第4実施例
の、本発明に特徴的な検索結果の出力部分のみを取出し
て示した回路図である。
【0065】ここには、図6に示すデータ線32_1,
32_2,…と同一のデータ線32_1,32_2,…
が示されており、このデータ線32_1,32_2,…
には、図6を参照して説明したように、一致線14_
1,14_2,…の信号がアンドゲート20_1,20
_2,…、フラグレジスタ23_1,24_2;23_
2,24_2;…、スイッチ33_1,33_2,…を
介して伝達されている。
【0066】また、この図4には、属性格納部11_1
_1,11_2_1,…が示されており、各属性格納部
に格納された属性が属性I(‘000’)の場合(図4
の場合は、属性格納部11_1_1と、属性格納部11
_5_1に属性I(‘000’)が格納されている)、
対応するノアゲート57_1,57_2,…(図4の場
合、ノアゲート57_1とノアゲート57_5)から論
理‘1’が出力される。各ノアゲート51_1,51_
2,…の出力は、それぞれ、対応するアンドゲート58
_1,58_2,…に、その一方の入力端子から入力さ
れる。
【0067】また各アンドゲート58_1,58_2,
…の他方の入力端子には、対応するメモリワードが属す
るメモリワード群に対応するデータ線32_1,32_
2,…が接続されている。また、各アンドゲート58_
1,58_2,…の出力端子は、各信号線59_1,5
9_2,…により、プライオリティエンコーダ60と接
続されている。
【0068】図6を参照して説明したように、データ線
32_1,32_2,…には、対応するメモリワード群
を構成する何れかのメモリワードで一致が検出された場
合に一致信号(論理‘1’)が出力される。したがって
各アンドゲート58_1,58_2,…からは、対応す
るメモリワードに属性I(‘000’)が格納されてお
り、かつ、その対応するメモリワードが属するメモリワ
ード群のうちのいずれかのメモリワードで一致が検出さ
れた場合に、プライオリティエンコーダ60に論理
‘1’の出力し、それ以外の場合、すなわち、対応する
メモリワードが属するメモリワード群を構成するいずれ
のメモリワードでも一致が検出されなかったか、あるい
は、一致が検出されても、対応する属性が属性I(‘0
00’)以外の属性の場合は、プライオリティエンコー
ダ60に論理‘0’を出力する。このようにして、プラ
イオリティエンコーダ60には、一致が検出されたメモ
リワード群を構成する複数のメモリワードのうちの先頭
のメモリワードに対応するアンドゲードのみから、一致
が検出された旨を表わす論理‘1’の信号が入力され
る。したがってプライオリティエンコーダ60からは、
エンコードパルスEPに従って、一致が検出されたメモ
リワード群の先頭アドレスが、代表アドレスADとして
出力されることになる。
【0069】尚、図4に示す実施例では、各データ群が
格納されたメモリワード群の区切りのための情報として
属性データが用いられているが、本発明の第3の連想メ
モリは、本発明の第2の連想メモリと同様、属性データ
を用いるものに限られるものではなく、例えば図7に示
すように制御信号によってメモリワード群の区切りを定
める場合にその制御信号を用いてもよいし、制御専用の
フラグビットを用いてもよいことはいうまでもない。特
に、制御専用のフラブビットを設けた場合、属性格納部
11 1,11 1,…等の値を自由に選択で
きる長所があり、図12に示される群構造データの構成
が更に容易になる。
【0070】また、以上は、検索結果の代表アドレスを
求めることに関して述べられているが、連想メモリの場
合、もう一つ重要なアドレスとしてデータ空きエリアの
エンプティアドレスがある。以下に、この管理方法につ
いて説明する。ただし、このエンプティアドレスに関し
ては、検索する属性によってその位置が変化することは
なく、この点が検索結果の代表アドレスを求めることと
比べ少し異なる点である。
【0071】エンプティとは、あるメモリワードが、そ
のメモリワードに、検索の対象とされる有効な検索デー
タが記憶された「記憶状態」にあるメモリワードである
か、あるいは有効な検索データが記憶されておらずした
がって上書きが許容される「空き状態」にあるメモリワ
ードであるかを区別するためのものであり、フラグが格
納されるエンプティフラグレジスタが、各メモリワード
に対応して備えられている。検索の際は、そのエンプテ
ィフラグレジスタに、対応するメモリワードが記憶状態
にあることを示すフラグが記憶されていた場合に、その
メモリワードが検索の対象とされ、エンプティフラグレ
ジスタに、対応するメモリワードが空き状態にあること
をあらわすフラグが記憶されていた場合にはそのメモリ
ワードは検索の対象から外される。
【0072】上述したように各メモリワードに属性とデ
ータとの双方が格納される場合、メモリワードが記憶状
態にあるか空き状態にあるかは各データ群が格納された
メモリワード群毎に行えば充分であるが、図7,図8に
示すようにメモリワード群の区切りがあらかじめ定めら
れておらず、制御信号ないし属性によりメモリワード群
の区切りを定める場合、どこが区切りとなるかあらかじ
めはわからないため、エンプティフラグレジスタは、上
記のように、各メモリワード毎に備えられる。
【0073】それらのエンプティフラグレジスタは、プ
ライオリティエンコーダに接続されており、メモリワー
ドに新たなデータを書き込もうとする際、そのプライオ
リティエンコーダで空き状態のメモリワードのアドレス
を得、そのアドレスのメモリワードに所望のデータが書
き込まれるが、本来、各データ群を格納するメモリワー
ド群毎に空き状態にあるか否かを判定すればよいとこ
ろ、各メモリワード毎のエンプティフラグレジスタがプ
ライオリティエンコーダに接続されていると、そのプラ
イオリティエンコーダにエンコードパルスEP(図10
参照)をいくつも入力して空き状態にある所望のメモリ
ワード群を選択する必要があり、データの書き込みの手
順が複雑となり、またデータの書き込みに時間がかかる
という問題がある。
【0074】図5は、本発明の第3連想メモリの一実施
例の、本発明に特徴的な部分のみを取出して示した回路
図である。図12に示すデータ構造を持つデータが格納
されるものとし、属性Iに‘000’が割り当てられる
ものとする。このとき属性格納部11_1_1,11_
2_1,…,11_k_1,…に格納された属性が属性
I(‘000’)の場合(図5の場合は、属性格納部1
1_1_1と属性格納部11_k_1に属性I(‘00
0’)が格納されている)、対応するノアゲート51_
1,51_2,…,51_k,…(図5に図示の場合、
ノアゲート51_1とノアゲート51_k)から論理
‘1’が出力される。各ノアゲート51_1,51_
2,…,51_k,…の出力は、それぞれ、対応するア
ンドゲート52_1,52_2,…,52_k,…に、
その一方の入力端子から入力される。
【0075】また各メモリワード(図5には図示せず)
に対応して備えられたエンプティフラグレジスタ53_
1,53_2,…,53_k,…には、そのエンプティ
フラグレジスタ53_1,53_2,…,53_k,…
に対応するメモリワードが空き状態にあることを示す論
理‘1’、もしくはそのメモリワードに検索の対象とな
る有効なデータが格納されていることを示す論理‘0’
が格納されており、各エンプティフラグレジスタ53_
1,53_2,…,53_k,…に格納されている論理
‘1’又は論理‘0’のデータは、対応するアンドゲー
ト52_1,52_2,…,52_k,…のもう一方の
入力端子から入力される。アンドゲート52_1,52
_2,…,52_k,…の出力はプライオリティコーダ
54に入力される。
【0076】プライオリティコーダ54にはエンコード
パルスEPが入力され、エンコードパルスEPが入力さ
れる毎に、所定の優先順位に従って、論理‘1’が出力
されているアンドゲート52_1,…に対応するメモリ
ワードのアドレスADが順次出力される。図5に示すよ
うに構成すると、属性格納部11_1_1,11_2_
1,…,11_k_1,…に属性Iを表わす‘000’
が格納されており、かつエンプティフラグレジスタ53
_1,53_2,…,53_k,…に空き状態を表わす
論理‘1’が格納されている場合のみプライオリティエ
ンコーダ54に論理‘1’が入力され、属性格納部11
_1_1,11_2_1,…,11_k_1に属性I以
外の属性が格納されているか、あるいはフラグレジスタ
53_1,53_2,…,53_k,…に、対応するメ
モリワードに有効なデータが格納されていることを示す
論理‘0’が格納されている場合には、プライオリティ
エンコーダ54には、論理‘0’が入力される。
【0077】このようにプライオリティエンコーダ54
には、各データ群を代表する、属性Iのデータが格納さ
れたメモリワードについてのみ、そのメモリワードが空
き状態にあるときに論理‘1’が入力されるため、エン
コードパルスEPを入力して所望のメモリワードのアド
レスを得る際のシーケンスが簡単化され、所望のメモリ
ワードへのデータ書込み速度が向上する。
【0078】また、このように構成することで、有効な
データ群が書き込まれている一連のメモリワードのう
ち、属性Iのデータが書き込まれているメモリワードの
エンプティフラグ1ビットの値を変化させるだけで、そ
の一連のメモリワードを空き状態にすることが可能とな
り、データの消去が極めて効率的に行なわれる。尚、図
5に示すプライオリティエンコーダ54は、図1に示す
プライオリティエンコーダ16と比較し、データの書込
みにあたり空き状態にあるメモリワードのアドレスを得
るか検索の結果一致が検出されたメモリワードのアドレ
スを得るかという点が相違するのみであって、その構造
は共通である。
【0079】また、図5に示す実施例では、各データ群
が格納されたメモリワード群の区切りのための情報とし
て属性データが用いられているが、これに限られるもの
ではなく、例えば図7に示すように制御信号によってメ
モリワード群の区切りを定める場合にその制御信号を用
いてもよいし、制御専用のフラグビットを用いてもよい
ことはいうまでもない。
【0080】
【発明の効果】以上説明したように、本発明の第1の連
想メモリによれば、各メモリワード群が各代表アドレス
を有するものであるため、メモリワード群(データ群)
を単位とした取扱いが容易になる。また、本発明の第2
の連想メモリは、上記第1の連想メモリを、一致が検出
されたメモリワード群のアドレスの生成に特化したもの
であり、外部で複数のアドレスと1つのメモリワードと
を対応づけるような煩雑な操作を行う必要がなく、メモ
リワード群を単位とした取扱いが簡便化され、使い勝手
の良い連想メモリが構成される。
【0081】さらに、本発明の第3の連想メモリは、上
記第1の連想メモリを、空き状態にあるメモリワード群
のアドレスの生成に特化したものであり、各データ群が
格納された各メモリワード群を代表するメモリワードの
み、空き状態にあるか否かのデータをプライオリティエ
ンコーダに入力するようにしたため、メモリワード群毎
に空き状態にあるか否かが判定され、データを書込むメ
モリワードのアドレスを高速に検索することができる。
【図面の簡単な説明】
【図1】本発明の第2の連想メモリの第1実施例の、本
発明に特徴的な部分を取出して示した回路図である。
【図2】本発明の第2の連想メモリの第2実施例の、本
発明に特徴的な部分を取出して示した回路図である。
【図3】本発明の第2の連想メモリの第3実施例の、本
発明に特徴的な部分を取出して示した回路図である。
【図4】本発明の第2の連想メモリの第4実施例の、本
発明に特徴的な部分を取出して示した回路図である。
【図5】本発明の第3の連想メモリの一実施例の、本発
明に特徴的な部分を取出して示した回路図である。
【図6】連想メモリの一例を示すブロック図である。
【図7】可変長のデータ線を実現する一つの方式を示し
た模式図である。
【図8】可変のデータ線を実現するもう一つの方式を示
した模式図である。
【図9】属性判定回路の一例を示す回路図である。
【図10】連想メモリの一例を表わした回路ブロック図
である。
【図11】データ拡張機能を備えた連想メモリの一例を
示すブロック図である。
【図12】群構造のデータの一例を示す図である。
【符号の説明】
11_1,11_2,… メモリワード 11_1_1,11_2_1,… 属性格納部 11_1_2,11_2_2,… データ格納部 14_1,14_2,… 一致線 16 プライオリティエンコーダ 17 アドレスデコータ 18_1,18_2,… ワード線 20_1,20_2,… アンドゲート 21_1,21_2,… オアゲート 23_1,23_2,… 第1のフラグレジスタ 24_1,24_2,… 第2のフラグレジスタ 25 一致結果ラッチ制御線 30_1,30_2,… 属性一致線 31_1,31_2,… 第3のフラグレジスタ 32_1,32_2,… データ線 33_1,33_2,… 第1スイッチ 34_1,34_2,… 第2スイッチ 51_1,51_2,… オアゲート 52_1,52_2,… アンドゲート 53_1,53_2,… フラグレジスタ 54,55,60 プライオリティエンコーダ 56 減算器

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 多数の格納データを記憶しておき、検索
    データが入力され、入力された検索データに対応する格
    納データを検索する連想メモリにおいて、 それぞれが複数の格納データの集合からなる複数のデー
    タ群を構成する各格納データを、該各格納データ毎に記
    憶する複数のメモリワードを備え、 各メモリワードが、該各メモリワードに対応する各アド
    レスを有するとともに、 各データ群を構成する複数の格納データを記憶する複数
    のメモリワードからなる各メモリワード群が、該各メモ
    リワード群に対応する各代表アドレスを有することを特
    徴とする連想メモリ。
  2. 【請求項2】 前記代表アドレスが、該代表アドレスに
    対応するメモリワード群を構成する複数のメモリワード
    に対応する複数のアドレスのうちの1つのアドレスであ
    ることを特徴とする請求項1記載の連想メモリ。
  3. 【請求項3】 前記格納データそれぞれが、該格納デー
    タが属するデータ群の中の位置づけを表わす属性と、該
    属性が付されたデータとのペアからなり、 前記代表アドレスが、該代表アドレスに対応するメモリ
    ワード群を構成する複数のメモリワードのうち前記デー
    タ群を構成する各属性を代表する所定の属性が格納され
    たメモリワードに対応するアドレスであることを特徴と
    する請求項1記載の連想メモリ。
  4. 【請求項4】 多数の格納データを記憶しておき、検索
    データが入力され、入力された検索データに対応する格
    納データを検索する連想メモリにおいて、 それぞれが複数の格納データの集合からなる複数のデー
    タ群を構成する各格納データを、該各格納データ毎に記
    憶する複数のメモリワードと、 検索時に、入力された検索データに対応する格納データ
    が検出された場合に、各データ群を構成する複数の格納
    データを記憶する複数のメモリワードからなる各メモリ
    ワード群のうち、前記対応する格納データが格納された
    メモリワードが属するメモリワード群に対応する代表ア
    ドレスを出力するアドレス出力回路とを備えたことを特
    徴とする連想メモリ。
  5. 【請求項5】 前記アドレス出力回路が、 前記複数のメモリワードそれぞれに対応して備えられ、
    検索時に、入力された検索データに対応する格納データ
    が記憶されていた場合に活性化される一致線と、 所定の優先順位づけに従って、活性化された一致線に対
    応するメモリワードの中の1つのメモリワードのアドレ
    スを生成するプライオリティエンコーダと、 前記プライオリティエンコーダから出力された前記1つ
    のメモリワードのアドレスを、該1つのメモリワードが
    属するメモリワード群に対応する代表アドレスに変換す
    るアドレスコンバータとを備えたことを特徴とする請求
    項4記載の連想メモリ。
  6. 【請求項6】 前記格納データそれぞれが、該格納デー
    タが属するデータ群の中の位置づけを表わす属性と、該
    属性が付されたデータとのペアからなり、 前記アドレスコンバータが、前記1つのメモリワードの
    アドレスに、該1つのメモリワードと、該1つのメモリ
    ワードが属するメモリワード群を構成する複数のメモリ
    ワードのうち、前記データ群を構成する各属性を代表す
    る所定の属性が格納されたメモリワードとの間の相対ア
    ドレスを加算もしくは減算することにより、該メモリワ
    ード群に対応する代表アドレスを生成するものであるこ
    とを特徴とする請求項5記載の連想メモリ。
  7. 【請求項7】 前記格納データそれぞれが、該格納デー
    タが属するデータ群の中の位置づけを表わす属性と、該
    属性が付されたデータとのペアからなり、 前記アドレス出力回路が、前記複数のメモリワードそれ
    ぞれに対応して備えられ、検索時に、入力された検索デ
    ータに対応する格納データが記憶されていた場合に活性
    化される一致線と、 前記属性それぞれに対応して備えられ検索時の前記属性
    により選択される、活性化された一致線に対応するメモ
    リワードが属するメモリワード群に対応する代表アドレ
    スを生成する複数のエンコード符号化回路とを具備する
    ことを特徴とする請求項4記載の連想メモリ。
  8. 【請求項8】 前記格納データそれぞれが、該格納デー
    タが属するデータ群の中の位置づけを表わす属性と、該
    属性が付されたデータとのペアからなり、 前記アドレス出力回路が、前記複数のメモリワードそれ
    ぞれに対応して備えられ、検索時に、入力された検索デ
    ータに対応する格納データが記憶されていた場合に活性
    化される一致線と、 一致線が活性化されたことを表わす情報を入力し、該情
    報の入力位置に応じたアドレスを生成するエンコード符
    号化回路と、 検索時の前記属性によって制御され、前記情報を、活性
    化された一致線に対応するメモリワードのアドレスと、
    該メモリワードが属するメモリワード群に対応する代表
    アドレスとの差分に対応する分だけ入力位置をシフトし
    て前記エンコード符号化回路に入力するスイッチング回
    路とを具備することを特徴とする請求項4記載の連想メ
    モリ。
  9. 【請求項9】 前記アドレス出力回路が、 前記メモリワード群を構成する前記複数のメモリワード
    それぞれに対応して備えられ、検索時に、入力された検
    索データに対応する格納データが記憶されていた場合に
    活性化される複数の一致線と、 前記複数のメモリワードにそれぞれ対応する複数の信号
    線を有し、検索時に、前記メモリワード群を構成する前
    記複数のメモリワードに対応する複数の前記一致線のう
    ちのいずれか1本の一致線が活性化された場合に、この
    活性化された一致線に対応するメモリワードに記憶され
    た格納データが属するデータ群を代表する格納データが
    記憶されたメモリワードに対応する前記信号線を活性化
    するゲート回路と、 所定の優先順位づけに従って、前記活性化された信号線
    に対応するメモリワードの中の1つのメモリワードのア
    ドレスを生成し、該アドレスを、該1つのメモリワード
    が属するメモリワード群に対応する代表アドレスとして
    出力するプライオリティエンコーダとを備えたことを特
    徴とする請求項4記載の連想メモリ。
  10. 【請求項10】 前記格納データそれぞれが、該格納デ
    ータが属するデータ群の中の位置づけを表わす属性と、
    該属性が付されたデータとのペアからなり、 前記ゲート回路が、前記メモリワードに格納された属性
    が前記データ群を構成する各属性を代表する所定の属性
    であり、かつ、該所定の属性が格納されたメモリワード
    が属するメモリワード群を構成する複数のメモリワード
    に対応する複数の前記一致線のうちのいずれか1本の一
    致線が活性化された場合に、対応する前記信号線を活性
    化するものであることを特徴とする請求項9記載の連想
    メモリ。
  11. 【請求項11】 多数の格納データを記憶しておき、検
    索データが入力され、入力された検索データに対応する
    格納データを検索する連想メモリにおいて、 それぞれが複数の格納データの集合からなる複数のデー
    タ群を構成する各格納データを、該各格納データ毎に記
    憶する複数のメモリワードと、 前記複数のメモリワードそれぞれに対応して備えられ、
    対応するメモリワードが、検索の対象とされる有効な検
    索データが記憶された記憶状態にあるメモリワードであ
    るか、あるいは前記有効な検索データが記憶されておら
    ずしたがって上書きが許容される空き状態にあるメモリ
    ワードであるかを示すエンプティフラグが記憶されるフ
    ラグレジスタと、 前記複数のメモリワードそれぞれに対応する信号線を有
    し、該メモリワードに格納された格納データが、該格納
    データが属するデータ群を代表する格納データであり、
    かつ、該格納データが格納されたメモリワードに対応す
    る前記フラグレジスタに、前記空き状態を示すエンプテ
    ィフラグが記憶されていた場合に、対応する前記信号線
    を活性化するゲート回路と、 所定の優先順位づけに従って、前記ゲート回路により活
    性化された前記信号線に対応するメモリワードの中の1
    つのメモリワードを指定するプライオリティエンコーダ
    とを備えたことを特徴とする連想メモリ。
  12. 【請求項12】 前記格納データそれぞれが、該格納デ
    ータが属するデータ群の中の位置づけを表わす属性と、
    該属性が付されたデータとのペアからなり、 前記ゲート回路が、前記メモリワードに格納された属性
    が前記データ群を構成する各属性を代表する所定の属性
    であり、かつ、該所定の属性が格納されたメモリワード
    に対応する前記フラグレジスタに、前記空き状態を示す
    エンプティフラグが記憶されていた場合に、対応する前
    記信号線を活性化するものであることを特徴とする請求
    項11記載の連想メモリ。
JP02172795A 1994-02-10 1995-02-09 連想メモリ Expired - Fee Related JP3605168B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02172795A JP3605168B2 (ja) 1994-02-10 1995-02-09 連想メモリ

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP6-16428 1994-02-10
JP1642894 1994-02-10
JP25668394 1994-10-21
JP6-256683 1994-10-21
JP02172795A JP3605168B2 (ja) 1994-02-10 1995-02-09 連想メモリ

Publications (2)

Publication Number Publication Date
JPH08171800A true JPH08171800A (ja) 1996-07-02
JP3605168B2 JP3605168B2 (ja) 2004-12-22

Family

ID=27281404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02172795A Expired - Fee Related JP3605168B2 (ja) 1994-02-10 1995-02-09 連想メモリ

Country Status (1)

Country Link
JP (1) JP3605168B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166867A (ja) * 1997-08-26 1999-03-09 Kawasaki Steel Corp 連想メモリ装置およびこれに適用される符号化回路
EP0999554A1 (en) * 1998-11-05 2000-05-10 Altera Corporation Content addressable memory encoded outputs

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166867A (ja) * 1997-08-26 1999-03-09 Kawasaki Steel Corp 連想メモリ装置およびこれに適用される符号化回路
EP0999554A1 (en) * 1998-11-05 2000-05-10 Altera Corporation Content addressable memory encoded outputs

Also Published As

Publication number Publication date
JP3605168B2 (ja) 2004-12-22

Similar Documents

Publication Publication Date Title
US5946704A (en) Associative memory to retrieve a plurality of words
US5530665A (en) Method of using associative memories and an associative memory
US6243281B1 (en) Method and apparatus for accessing a segment of CAM cells in an intra-row configurable CAM system
US6246601B1 (en) Method and apparatus for using an inter-row configurable content addressable memory
US6252789B1 (en) Inter-row configurability of content addressable memory
US5125098A (en) Finite state-machine employing a content-addressable memory
JPS605498A (ja) 連想メモリ装置
JPH11273365A (ja) 内容呼出し可能メモリ(cam)
US5592407A (en) Associative memory
US7095641B1 (en) Content addressable memory (CAM) devices having priority class detectors therein that perform local encoding of match line signals
US6868475B2 (en) Content addressable memory having data width extension capability
US6799243B1 (en) Method and apparatus for detecting a match in an intra-row configurable cam system
JP2779114B2 (ja) 連想メモリ
US6813680B1 (en) Method and apparatus for loading comparand data into a content addressable memory system
JPH08171800A (ja) 連想メモリ
US6801981B1 (en) Intra-row configurability of content addressable memory
US6795892B1 (en) Method and apparatus for determining a match address in an intra-row configurable cam device
JP3130736B2 (ja) 連想メモリの使用方法および連想メモリ
JP2786364B2 (ja) 連想メモリ装置
JP3597899B2 (ja) 連想メモリ
JP3063956B2 (ja) 連想メモリ
JP3597882B2 (ja) 連想メモリ
JP3645293B2 (ja) 連想メモリ
JP3202899B2 (ja) 連想メモリ
US6590511B2 (en) Retrievable memory capable of outputting a piece of data with respect to a plurality of results of retrieve

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040913

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Effective date: 20040928

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Effective date: 20041001

Free format text: JAPANESE INTERMEDIATE CODE: A61

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20081008

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

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

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

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20091008

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

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20101008

LAPS Cancellation because of no payment of annual fees