JP3063956B2 - Associative memory - Google Patents

Associative memory

Info

Publication number
JP3063956B2
JP3063956B2 JP7034835A JP3483595A JP3063956B2 JP 3063956 B2 JP3063956 B2 JP 3063956B2 JP 7034835 A JP7034835 A JP 7034835A JP 3483595 A JP3483595 A JP 3483595A JP 3063956 B2 JP3063956 B2 JP 3063956B2
Authority
JP
Japan
Prior art keywords
memory
data
search
match
bit line
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.)
Expired - Fee Related
Application number
JP7034835A
Other languages
Japanese (ja)
Other versions
JPH07287718A (en
Inventor
正洋 小西
洋 笹間
正人 米田
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
JFE 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 JFE Steel Corp filed Critical JFE Steel Corp
Priority to JP7034835A priority Critical patent/JP3063956B2/en
Publication of JPH07287718A publication Critical patent/JPH07287718A/en
Application granted granted Critical
Publication of JP3063956B2 publication Critical patent/JP3063956B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、一致検索の行われるデ
ータ幅を複数のワードに拡張する機能、即ち連続する複
数回の検索でそれぞれ一致が検出された場合に、全体と
しての一致が検出される機能を備えた連想メモリに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a function for extending the data width for performing a match search to a plurality of words, that is, when a match is detected in a plurality of successive searches, a match as a whole is detected. The present invention relates to an associative memory having a function to be performed.

【0002】[0002]

【従来の技術】従来より、配列された複数の各メモリワ
ードそれぞれに各ディジタルデータを記憶しておき、検
索データを入力し、入力された検索データの全部もしく
は所定の一部のビットパターンと一致するビットパター
ンを有するディジタルデータが記憶されたメモリワード
を検索する連想メモリ(Associative Me
mory,内容アドレス式メモリ;Content A
ddressableMemory)が提案されてい
る。
2. Description of the Related Art Conventionally, each digital data is stored in each of a plurality of arranged memory words, search data is inputted, and coincides with all or a predetermined part of the input search data bit pattern. Memory (Associative Me) for searching a memory word in which digital data having a bit pattern to be stored is stored.
memory, content addressable memory; Content A
addressableMemory) has been proposed.

【0003】図1は、連想メモリの一例を表わした回路
ブロック図である。
FIG. 1 is a circuit block diagram showing an example of an associative memory.

【0004】この連想メモリ10には、mビットを1ワ
ードとする、互いに図の横方向に並ぶmビットのメモリ
セルからなる多数のメモリワード11_1,11_2,
…,11_nが備えられている。又、この連想メモリ1
0は、1ワードの検索データが入力されラッチされる検
索データレジスタ12を備え、検索データレジスタ12
にラッチされた検索データの全部もしくは所定の一部の
ビットパターンと、各メモリワード11_1,11_
2,…,11_nに記憶された格納データのうち、上記
ビットパターンと対応する部分のビットパターンとの一
致不一致が比較され、各メモリワード11_1,11_
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とす
る)にとどまる。
The associative memory 10 has a large number of memory words 11_1, 11_2, and m-bit memory cells each having m bits as one word and arranged in the horizontal direction in FIG.
, 11_n are provided. Also, the associative memory 1
0 includes a search data register 12 to which one word of search data is input and latched.
And a bit pattern of all or a predetermined part of the search data latched in the memory words 11_1 and 11_
Of the stored data stored in 2,..., 11_n, the bit pattern is compared with the corresponding bit pattern for the corresponding bit pattern, and each memory word 11_1, 11_n is compared.
, 11_n, the corresponding one of the memory words 11_1, 11_2, and the corresponding ones of the matching lines 14_1, 14_2,.
, 11_n and corresponding matching lines 14_1, 14_2,
, 14_n are output with a coincidence signal of logic '1' (here, 5V). Other matching lines 14_1 and 14
,..., 14_n remain at logic '0' (here, 0V).

【0005】これらの一致線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,1
5_2,…,15_nに格納された信号は、プライオリ
ティエンコーダ16に入力される。プライオリティエン
コーダ16には、エンコードパルスEPが入力され、エ
ンコードパルスEPが入力される毎に、所定の優先順位
づけに従って、論理‘1’の信号が格納されたフラグレ
ジスタ(ここではフラグレジスタ15_2とフラグレジ
スタ15_3の2つ)のうちの優先度の高いフラグレジ
スタに対応するアドレス信号ADが順次出力される。こ
こでは、添字が若いほど優先順位が高いものとし、従っ
てエンコードパルスEPが1つだけ入力されると、フラ
グレジスタ15_2に対応するメモリアドレスが出力さ
れる。このプライオリティエンコーダ16から出力され
たアドレス信号ADは、必要に応じてアドレスデコーダ
17に入力される。アドレスデコーダ17では、この入
力されたアドレス信号ADをデコードして、各メモリワ
ード11_1,11_2,…,11_nのそれぞれに対
応して備えられたワード線18_1,18_2,…,1
8_nのうちの、入力されたアドレス信号ADに対応す
るいずれか1本のワード線(ここではワード線18_
2)にアクセス信号(ここでは論理‘1’の信号)を出
力する。これにより、アクセス信号の出力されたワード
線18_2に対応するメモリワード11_2に記憶され
ている格納データが出力レジスタ19に読み出される。
The matching lines 14_1, 14_2,...
14_n is output to each flag register 15_n.
1, 15_2,..., 15_n. here,
As an example, as shown, each flag register 15_
1, 15_2, ..., 15_n are '0',
It is assumed that '1', '1', '0', ..., '0', '0' are stored. These flag registers 15_1, 1
The signals stored in 5_2,..., 15_n are input to the priority encoder 16. The encode pulse EP is input to the priority encoder 16, and each time the encode pulse EP is input, a flag register (here, a flag register 15_2 and a flag register 15_2) in which a signal of logic "1" is stored in accordance with a predetermined priority order. The address signals AD corresponding to the flag registers having the higher priority among the two registers 15_3) are sequentially output. Here, the lower the suffix, the higher the priority. Therefore, when only one encode pulse EP is input, a memory address corresponding to the flag register 15_2 is output. The address signal AD output from the priority encoder 16 is input to the address decoder 17 as needed. The address decoder 17 decodes the input address signal AD to provide word lines 18_1, 18_2,..., 1 provided corresponding to the respective memory words 11_1, 11_2,.
8_n, one of the word lines corresponding to the input address signal AD (here, word line 18_n).
2) An access signal (here, a signal of logic “1”) is output. As a result, the stored data stored in the memory word 11_2 corresponding to the word line 18_2 to which the access signal has been output is read out to the output register 19.

【0006】次に、エンコードパルスEPがもう1つ入
力されると、今度はフラグレジスタ15_3に対応する
メモリワード11_3のアドレスを得ることができる。
Next, when another encode pulse EP is input, the address of the memory word 11_3 corresponding to the flag register 15_3 can be obtained.

【0007】上記のように、連想メモリ10は、検索デ
ータの全部もしくは所定の一部のデータを用いて、多数
のメモリワード11_1,11_2,…,11_nに記
憶された格納データを検索し、一致する格納データを有
するメモリワードのアドレスを得、必要に応じて、その
メモリワードに記憶されたデータ全体を読み出すことが
できるように構成されたメモリである。
As described above, the associative memory 10 searches the stored data stored in a large number of memory words 11_1, 11_2,..., 11_n by using all or a predetermined part of the search data. This is a memory configured to obtain an address of a memory word having stored data to be read, and to read out the entire data stored in the memory word as necessary.

【0008】上記のような基本構成を有する連想メモリ
において、一致検索の対象となるデータ幅を2ワードも
しくはそれ以上の複数ワードに拡張する技術が提案され
ている。
In the associative memory having the basic configuration as described above, a technique has been proposed in which the data width to be searched for a match is extended to two or more words.

【0009】図2は、データ拡張機能を備えた連想メモ
リの一例を示すブロック図である。図1に示した連想メ
モリの構成要素と対応する構成要素には、図1に付した
符号と同一の符号を付して示し、その要素についての重
複説明は省略する。
FIG. 2 is a block diagram showing an example of an associative memory having a data extension function. The components corresponding to the components of the associative memory shown in FIG. 1 are denoted by the same reference numerals as those in FIG. 1, and redundant description of the components will be omitted.

【0010】各メモリワード11_1,11_2,…か
ら延びる各一致線14_1,14_2,…,は、各アン
ドゲート20_1,20_2,…の一方の入力端子に接
続されている。又、各アンドゲート20_1,20_
2,…の他方の入力端子には、各オアゲート21_2,
21_3,…の出力端子が接続されており、各オアゲー
ト21_2,21_3,…の一方の入力端子は、初回検
索制御線22に接続されている。但し、図示の一番上の
アンドゲート20_1に対応するオアゲートは省略され
ており、そのアンドゲート20_1の入力端子に、初回
検索制御線22が直接接続されている。
Each of the match lines 14_1, 14_2,... Extending from each memory word 11_1, 11_2,... Is connected to one input terminal of each AND gate 20_1, 20_2,. In addition, each AND gate 20_1, 20_
, Are connected to the respective OR gates 21_2,
Are connected, and one input terminal of each OR gate 21_2, 21_3,... Is connected to the first search control line 22. However, the OR gate corresponding to the top AND gate 20_1 in the figure is omitted, and the first search control line 22 is directly connected to the input terminal of the AND gate 20_1.

【0011】各アンドゲート20_1,20_2,…の
出力端子は、各第1のフラグレジスタ23_1,23_
2,…のデータ入力端子に接続され、各第1のフラグレ
ジスタ23_1,23_2,…の出力端子は、各第2の
フラグレジスタ24_1,24_2,…の入力端子に接
続されている。各第2のフラグレジスタ24_1,24
_2,…の出力端子は、図1に示すプライオリティエン
コーダ16(図2では図示省略)に接続されると共に、
図2の下方に隣接するメモリワードに対応するオアゲー
ト21_2,21_3,…の入力端子に接続されてい
る。
The output terminals of the AND gates 20_1, 20_2,... Are connected to the first flag registers 23_1, 23_
The output terminals of the first flag registers 23_1, 23_2,... Are connected to the input terminals of the second flag registers 24_1, 24_2,. Each second flag register 24_1, 24
_2,... Are connected to the priority encoder 16 (not shown in FIG. 2) shown in FIG.
Are connected to the input terminals of the OR gates 21_2, 21_3,... Corresponding to the memory words adjacent to the lower part of FIG.

【0012】互いに対応する第1及び第2のフラグレジ
スタ23_1,24_1,:23_2,24_2,…の
各ペアが、図1に示す各フラグレジスタ15_1,15
_2,…に対応する。
Each pair of the first and second flag registers 23_1, 24_1, 23_2, 24_2,... Corresponds to each flag register 15_1, 15_1 shown in FIG.
—2,.

【0013】第1のフラグレジスタ23_1,23_
2,…と第2のフラグレジスタ24_1,24_2,…
には、共に、一致結果ラッチ制御線25に出力される一
致結果ラッチ信号S1が入力され、その一致結果ラッチ
信号S1により、各データ入力端子から入力された入力
データがラッチされるが、第1のフラグレジスタ23_
1,23_2,…には、一致結果ラッチ信号S1の立ち
上がりaの時点における入力データがラッチされ、第2
のフラグレジスタ24_1,24_2,…には、一致結
果ラッチ信号S1の立ち下がりbの時点の入力データが
ラッチされる。
The first flag registers 23_1 and 23_
, And the second flag registers 24_1, 24_2,.
, A match result latch signal S1 output to the match result latch control line 25 is input, and the input data input from each data input terminal is latched by the match result latch signal S1. Flag register 23_
, 23_2,..., The input data at the time of rising a of the match result latch signal S1 is latched,
The input data at the time of the falling b of the match result latch signal S1 is latched in the flag registers 24_1, 24_2,.

【0014】以上のように構成された連想メモリにおい
ては、以下のようにして一致検索が行われる。なお、こ
こでは図示のように、各メモリワード11_1,11_
2,11_3,11_4,11_5,11_6…には、
各格納データA,B,C,D,C,F,…が格納されて
いるものとする。
In the associative memory configured as described above, a match search is performed as follows. Here, as shown, each of the memory words 11_1, 11_
2,11_3,11_4,11_5,11_6 ...
It is assumed that stored data A, B, C, D, C, F,... Are stored.

【0015】ここで、各格納データを単独に検索する際
は、検索データREF_DATAを入力して検索を行う
際に、初回検索制御線22に初回検索タイミング信号S
2を出力する。ここでは、検索データREF_DATA
としてデータ‘B’を入力したものとすると、データ
‘B’が格納されたメモリワード11_2に対応する一
致線14_2に論理‘1’の一致信号が出力されてアン
ドゲート20_2に入力され、又、これと共に初回検索
タイミング信号S2がオアゲート21_2を経由してア
ンドゲート20_2に入力されるため、アンドゲート2
0_2から論理‘1’の信号が出力される。又、このと
き、他の一致線14_1;14_3,14_4,…には
論理‘0’の信号が出力されるため、それに対応する他
のアンドゲート20_1;20_3,20_4,…から
は論理‘0’の信号が出力される。
Here, when each stored data is searched independently, when the search data REF_DATA is inputted and the search is performed, the first search timing signal S is transmitted to the first search control line 22.
2 is output. Here, the search data REF_DATA
Assuming that the data 'B' is input as the data, a match signal of logic '1' is output to the match line 14_2 corresponding to the memory word 11_2 storing the data 'B', and is input to the AND gate 20_2. At the same time, the initial search timing signal S2 is input to the AND gate 20_2 via the OR gate 21_2, so that the AND gate 2
A signal of logic '1' is output from 0_2. At this time, a signal of logic '0' is output to the other matching lines 14_1; 14_3, 14_4,..., And the logic level of '0' is output from the corresponding AND gates 20_1; 20_3, 20_4,. Is output.

【0016】アンドゲート20_2から出力された論理
‘1’の信号は、一致結果ラッチ制御線25に出力され
た一致結果ラッチ信号S1の立ち上がりaのタイミング
で、第1のフラグレジスタ23_2にラッチされ、それ
に引き続く一致結果ラッチ信号S1の立ち下がりbのタ
イミングで、第2のフラグレジスタ24_2にラッチさ
れる。
The signal of logic '1' output from the AND gate 20_2 is latched by the first flag register 23_2 at the rising edge a of the match result latch signal S1 output to the match result latch control line 25, At the subsequent falling edge b of the matching result latch signal S1, the signal is latched by the second flag register 24_2.

【0017】又、第1のフラグレジスタ23_2及び第
2のフラグレジスタ24_2に論理‘1’の信号がラッ
チされる各タイミングで、他の第1フラグレジスタ23
_1;23_3,23_4,…、及び他の第2のフラグ
レジスタ24_1;24_3,24_4,…には論理
‘0’の信号がラッチされる。
At each timing when the signal of logic '1' is latched in the first flag register 23_2 and the second flag register 24_2, the other first flag register 23_2
_1; 23_3, 23_4,... And other second flag registers 24_1; 24_3, 24_4,.

【0018】このようにして各第2のフラグレジスタ2
4_1,24_2,24_3,…にラッチされた論理
‘0’,‘1’,‘0’,…の信号が、図1に示すプラ
イオリティエンコーダ16に入力され、メモリワード1
1_2のアドレス信号ADが得られる。
Thus, each second flag register 2
, Latched by 4_1, 24_2, 24_3,... Are input to the priority encoder 16 shown in FIG.
1_2 address signals AD are obtained.

【0019】次に、データ幅が拡張された検索を行う場
合について説明する。ここでは、2ワードに拡張され
た、データ‘B’とデータ‘C’からなる2ワードデー
タを検索する場合について説明する。
Next, a case where a search in which the data width is extended is performed will be described. Here, a case will be described in which two-word data consisting of data 'B' and data 'C' expanded to two words is searched.

【0020】この場合、まず上記と同様にして、データ
‘B’の検索を行う。これにより、メモリワード11_
2に対応する第1及び第2のフラグレジスタ23_2,
24_2に、論理‘1’の信号がラッチされる。次に検
索データREF_DATAとしてデータ‘C’を入力し
て検索を行うが、このときは初回検索制御線22には初
回検索タイミング信号S2は出力せずに、初回検索制御
線22は論理‘0’の状態に保っておく。検索データR
EF_DATAとしてデータ‘C’を入力して検索を行
うと、図示の2つのメモリワード11_3,11_5に
それぞれ対応する一致線14_3,14_5に論理
‘1’の一致信号が出力されるが、オアゲート21_3
には、第2のフラグレジスタ24_2にラッチされてい
る論理‘1’の信号が入力されているため、一致線14
_3の一致信号はアンドゲート20_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ワード以上のデータの一致検出も同様に
して行われる。
In this case, a search for data 'B' is first performed in the same manner as described above. Thereby, the memory word 11_
2 and the first and second flag registers 23_2,
24_2, the signal of logic '1' is latched. Next, a search is performed by inputting data “C” as search data REF_DATA. At this time, the first search control line 22 does not output the first search timing signal S2, and the first search control line 22 has a logic “0”. Keep in the state. Search data R
When a search is performed by inputting data “C” as EF_DATA, a match signal of logic “1” is output to match lines 14_3 and 14_5 corresponding to the two memory words 11_3 and 11_5, respectively, but the OR gate 21_3
Since the signal of logic “1” latched in the second flag register 24_2 is input to the
_3 passes through the AND gate 20_3,
And the second flag register 23_3, 24_3 latches a signal of logic '1' indicating coincidence. On the other hand, since the signal of logic '0' latched in the second flag register 24_4 is input to the OR gate 21_5, the match signal of the match line 14_5 is changed to the AND gate 20_5.
And the first and second flag registers 23_5,
In 24_5, a signal of logic '0' indicating mismatch is latched. In this way, a match between two word data consisting of a pair of data 'B' and data 'C' is detected. The coincidence detection of data of three or more words is performed in the same manner.

【0021】但し、図2に示す連想メモリは、データ幅
拡張機能を備えてはいるが、2ワード、3ワード等に拡
張されるデータは、互いに隣接したメモリワードに所定
の順序で格納されている必要があり、検索しようとする
複数のデータが互いに離れたメモリワードに格納されて
いる場合や、逆の順序、例えばデータ‘C’、データ
‘B’の順序に格納されている場合には、複数のデータ
を結合した一致検出を行うことはできない。
Although the associative memory shown in FIG. 2 has a data width extending function, data expanded to two words, three words, etc. are stored in adjacent memory words in a predetermined order. If the data to be searched are stored in memory words separated from each other, or are stored in the reverse order, for example, the order of data 'C' and data 'B' However, it is not possible to perform match detection by combining a plurality of data.

【0022】このような検索が必要となる場合のデータ
構造の例を、図3に示す。図3には、それぞれ属性I,
II,III,IVが付された4つのデータがセットと
なって1つのデータ群を構成しているデータ構造が示さ
れている。データ群及び属性の概念を明確にするために
一例を挙げると、例えば各群番号1,2,3,4,…毎
の各データ群は、各個人に属するデータであり、属性I
はその人の氏名、属性IIはその人の生年月日、属性I
IIは住所、…等を示している。
FIG. 3 shows an example of a data structure when such a search is required. FIG. 3 shows attributes I,
A data structure is shown in which four data marked II, III, and IV form a set and constitute one data group. To clarify the concept of the data group and the attribute, for example, each data group of each group number 1, 2, 3, 4,... Is data belonging to each individual, and the attribute I
Is the person's name, attribute II is the person's date of birth, attribute I
II indicates an address,...

【0023】このように各属性I,II,III,IV
が付された複数のデータからなるデータ群を連想メモリ
に格納しておいて検索を行う場合に、例えば群番号1の
データ群を検索する場合を例に説明すると、データ
‘A’の検索とデータ‘B’の検索をこの順に行って、
一致するデータ群の残りのデータ‘C’,‘D’を読み
出すことだけではなく、例えばデータ‘A’の検索とデ
ータ‘D’の検索を行って残りのデータ‘B’,‘C’
を読み出したい場合や、データ‘B’の検索を先に行
い、次にデータ‘A’の検索を行いたい場合がある。
As described above, each attribute I, II, III, IV
When a search is performed by storing a data group consisting of a plurality of data marked with a in an associative memory, for example, a case of searching for a data group of group number 1 will be described. Search for data 'B' in this order,
In addition to reading out the remaining data 'C' and 'D' of the matching data group, for example, a search for data 'A' and a search for data 'D' are performed to obtain the remaining data 'B' and 'C'.
May be read out, or data 'B' may be searched first and then data 'A' may be searched next.

【0024】しかし、上述したワード幅拡張機能を備え
た連想メモリ(図2参照)では、このような検索は不可
能である。又、上述した連想メモリでは、データ‘A’
とデータ‘B’の検索を行った場合に、図3に示す群番
号1の欄にある属性Iの付されたデータ‘A’と属性I
Iの付されたデータ‘B’とのペアと、群番号4の欄に
ある属性IIの付されたデータ‘A’と属性IIIの付
されたデータ‘B’とのペアとの区別をすることはでき
ず、例えば、‘氏名’という属性Iと‘生年月日’とい
う属性IIの情報を基に、それらが一致する特定の個人
の属性III、IVの情報を知ろうとしても、属性II
と属性IIIのペアでも一致が検出される等、必要な情
報以外のノイズが混入してしまうことになる。
However, such a search is impossible in the associative memory having the word width expansion function (see FIG. 2). In the associative memory described above, the data 'A'
When the data “B” and the data “B” are searched, the data “A” with the attribute I and the attribute I in the column of the group number 1 shown in FIG.
A distinction is made between a pair of data "B" with I and a pair of data "A" with attribute II and data "B" with attribute III in the column of group number 4. For example, based on the information of the attribute I of 'name' and the attribute II of 'birth date', even if the user tries to know the information of the attributes
In addition, noise other than necessary information is mixed in, for example, a match is detected with the pair of the attribute III and the attribute III.

【0025】このような問題を解決した連想メモリが、
本願出願人により提案されている(特願平5−2481
21号参照)。これは未公開であるが、関連技術とし
て、以下この提案に係る連想メモリについて説明する。
An associative memory that solves such a problem is as follows:
Proposed by the present applicant (Japanese Patent Application No. 5-2481)
No. 21). Although this is not disclosed, the associative memory according to this proposal will be described below as a related technique.

【0026】図4は、上記提案に係る連想メモリの一例
を示すブロック図である。図2に示す連想メモリの各構
成要素と同一の構成要素には、図2に付した符号と同一
の符号を付して示し、相違点についてのみ説明する。
FIG. 4 is a block diagram showing an example of the associative memory according to the above proposal. The same components as those of the associative memory shown in FIG. 2 are denoted by the same reference numerals as those shown in FIG. 2, and only different points will be described.

【0027】各メモリワード11_1,11_2,…
は、属性を格納する属性格納部11_1_1,11_2
_1,…とデータを格納するデータ格納部11_1_
2,11_2_2,…とで構成されており、各メモリワ
ード11_1,11_2,…には、互いに対応する属性
とデータとのペアからなる格納データがそれぞれ格納さ
れている。ここでは、図示のように、各メモリワード1
1_1,11_2,11_3,11_4には、それぞ
れ、図3に示す群番号1に属する、属性Iのデータ
‘A’、属性IIのデータ‘B’、属性IIIのデータ
‘C’、属性IVのデータ‘D’が格納されている。
又、各メモリワード11_5,11_6,…には、それ
ぞれ、図3に示す群番号2に属する、属性Iのデータ
‘C’、属性IIのデータ‘F’、…が格納されてい
る。又、検索にあたっては、属性とデータとのペアから
なる検索データREF_DATAが入力される。
Each of the memory words 11_1, 11_2,...
Are attribute storage units 11_1_1 and 11_2 for storing attributes.
_1,... And a data storage unit 11_1_ for storing data
., And each of the memory words 11_1, 11_2,..., Respectively, stores stored data composed of pairs of attributes and data corresponding to each other. Here, as shown, each memory word 1
1_1, 11_2, 11_3, and 11_4 respectively include attribute I data “A”, attribute II data “B”, attribute III data “C”, and attribute IV data belonging to group number 1 shown in FIG. 'D' is stored.
Each of the memory words 11_5, 11_6,... Stores attribute “I” data “C” and attribute II data “F”,. In the search, search data REF_DATA composed of a pair of an attribute and data is input.

【0028】各メモリワード11_1,11_2には、
そこに記憶された格納データ(属性及びデータの双方)
が、入力された検索データ(属性及びデータの双方)と
一致しているときに一致信号が出力される一致線14_
1,14_2,…の他、属性のみの一致不一致の信号が
出力される属性一致線30_1,30_2,…が備えら
れている。なお、属性のみの一致や、属性及びデータの
双方の一致を検出する回路は、従来の一致検出回路と同
様に構成される。従来の一致検出回路は連想メモリの分
野において極めて一般的な技術であるため、ここでの図
示及び説明は省略する。
Each of the memory words 11_1 and 11_2 has
Data stored there (both attributes and data)
Is a match line 14_ from which a match signal is output when matches with the input search data (both attributes and data).
1, 14_2,..., And attribute match lines 30_1, 30_2,. A circuit for detecting a match of only the attribute or a match of both the attribute and the data is configured in the same manner as a conventional match detection circuit. Since the conventional coincidence detection circuit is a very common technique in the field of associative memory, its illustration and description are omitted here.

【0029】各メモリワード11_1,11_2に対応
して第3のフラグレジスタ31_1,31_2,…が備
えられており、各属性一致線30_1,30_2,…
は、対応する第3のフラグレジスタ31_1,31_
2,…のデータ入力端子に延びている。又、この連想メ
モリには、図3に示す各データ群に属するデータが格納
された複数のメモリワードからなるメモリワード群それ
ぞれについて1本ずつデータ線32_1,32_2,…
が備えられており、又、データ線32_1,32_2,
…と各第2のフラグレジスタ24_1,24_2,…の
出力端子との間には、各第1のスイッチ33_1,33
_2,…が備えられている。これらの第1のスイッチ3
3_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,…の信号をラッ
チする。
There are provided third flag registers 31_1, 31_2,... Corresponding to the respective memory words 11_1, 11_2, and the respective attribute match lines 30_1, 30_2,.
Are the corresponding third flag registers 31_1 and 31_
Extend to the data input terminals 2,. The associative memory has one data line 32_1, 32_2,... For each memory word group including a plurality of memory words storing data belonging to each data group shown in FIG.
Are provided, and the data lines 32_1, 32_2,
. And the output terminals of the second flag registers 24_1, 24_2,.
_2,... Are provided. These first switches 3
.. Are specifically configured using transistors and the like. The same applies to other switches described later. Each of the first switches 33_1, 33_2,...
Are the corresponding third flag registers 31_1 and 31_
When the signal of logic '1' is latched in 2,..., It is cut off when the signal of logic '0' is latched. Each third flag register 31_1, 31_
,... Latch the signals of the corresponding attribute match lines 30_1, 30_2,... At the falling edge b of the match result latch signal S1 output to the match result latch control line 25.

【0030】又、データ線32_1,32_2,…と各
オアゲート21_1,21_2,…の入力端子との間
に、各第2のスイッチ34_1,34_2,…が備えら
れており、これら各第2のスイッチ34_1,34_
2,…は、対応する属性一致線30_1,30_2,…
の信号により、その信号が一致を表わす論理‘1’のと
きに導通状態、不一致を表わす論理‘0’のときに遮断
状態となるように制御される。なお、この図4に示す連
想メモリには、図2に示す連想メモリと異なり、図示の
最上級のメモリワード11_1に対応するアンドゲート
20_1の前段にもオアゲート21_1が備えられてい
る。
Are provided between the data lines 32_1, 32_2,... And the input terminals of the respective OR gates 21_1, 21_2,..., And the second switches 34_1, 34_2,. 34_1, 34_
.. Indicate the corresponding attribute matching lines 30_1, 30_2,.
Are controlled to be in a conductive state when the signal is logic "1" indicating a match, and to be turned off when the signal is logic "0" indicating a mismatch. The associative memory shown in FIG. 4 is different from the associative memory shown in FIG. 2 in that an OR gate 21_1 is also provided at a stage preceding the AND gate 20_1 corresponding to the uppermost memory word 11_1 shown in the figure.

【0031】以上のように構成された連想メモリにおい
て、一致検索は以下のようにして行われる。
In the associative memory configured as described above, the match search is performed as follows.

【0032】1ワード分の単独のデータ検索、及び連続
した複数ワードの検索のうち第1回目の検索は、図2に
示した従来のワード拡張機能付連想メモリの場合と同じ
であるため、ここでは説明は省略し、ここでは第1回目
の検索において、属性IIとデータ‘B’とからなる検
索データREF_DATAによって、メモリワード11
_2に対応する第1及び第2のフラグレジスタ23_
2,24_2に論理‘1’がラッチされたものとする。
このとき、属性の一致を受けて、メモリワード11_2
に対応する属性一致線30_2に論理‘1’の信号が出
力され、これにより、対応する第3のフラグレジスタ3
1_2にも論理‘1’の信号がラッチされ、対応する第
1のスイッチ33_2がオンし、対応する第2のフラグ
レジスタ24_2に格納された、属性及びデータ双方の
一致を表わす論理‘1’の信号がデータ線32_1に出
力される。又、これと共に、対応する第2のスイッチ3
4_2もオンするが、第1回目の検索においては無用の
動作である。
Since the single data search for one word and the first search among a plurality of continuous words are the same as those in the conventional associative memory with a word extension function shown in FIG. Here, the description is omitted, and here, in the first search, the memory word 11 is searched by the search data REF_DATA including the attribute II and the data “B”.
_2, the first and second flag registers 23_
It is assumed that logic '1' is latched in 2,24_2.
At this time, in response to the attribute match, the memory word 11_2
Is output to the attribute match line 30_2 corresponding to the third flag register 3_2.
1_2 is also latched with a signal of logic '1', the corresponding first switch 33_2 is turned on, and the signal of logic '1' stored in the corresponding second flag register 24_2 and representing both the attribute and the data match. A signal is output to data line 32_1. At the same time, the corresponding second switch 3
4_2 is also turned on, but it is useless operation in the first search.

【0033】次に、属性IVとデータ‘D’からなる検
索データREF_DATAを入力して検索を行うものと
する。このときは、図2の連想メモリの場合と同様、初
回検索制御線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はオフする。
Next, it is assumed that search is performed by inputting search data REF_DATA including attribute IV and data 'D'. At this time, as in the case of the associative memory of FIG. 2, the initial search control line 22 is held at logic '0'. At this time, in response to the attribute match, a signal of logic '1' is output to the attribute match line 30_4 corresponding to the memory word 11_4, whereby the corresponding second switch 34_4 is turned on and output to the data line 32_1. The signal of logic '1' of the second flag register 24_2 corresponding to the memory word 11_2 is input to the AND gate 20_4 via the OR gate 21_4. Therefore, a match between the attribute IV and the data 'D' is detected in the memory word 11_4, a match signal of logic '1' is output to the match line 14_4, and the match result latch output to the match result latch control line 25 is output. According to the signal S1, the signal of logic “1” is latched in the corresponding first and second flag registers 23_4 and 24_4. At this time, the signal of logic “1” output to the attribute match line 30_4 is latched by the corresponding third flag register 31_4, and the corresponding first switch 33
_4 is turned on, and a signal of logic '1' of the second flag register 24_4 is output to the data line 32_1. In the second search, a logic “0” indicating an attribute mismatch is output to the attribute match line 30_2 corresponding to the memory word 11_2, so that the corresponding third flag register 31_2 has “0” in the corresponding third flag register 31_2. Is stored in the memory word 11_
The first switch 33_2 corresponding to No. 2 is turned off.

【0034】これにより、メモリワード11_4に対応
する第2のフラグレジスタ24_4の論理‘1’の信号
がプライオリティエンコーダ16(図1参照)に入力さ
れ、メモリワード11_4のアドレスが得られることに
なるが、メモリワード11_4には属性IVが格納され
ていることは予め分かっており、同一群内の例えば属性
IIIのデータを読み出したいときは、得られたアドレ
スから1を引いてメモリワード11_3のアドレスを求
め、そのアドレスをアドレスデコーダ17に入力してメ
モリワード11_3の内容を読み出せばよい。
As a result, the signal of logic "1" of the second flag register 24_4 corresponding to the memory word 11_4 is input to the priority encoder 16 (see FIG. 1), and the address of the memory word 11_4 is obtained. It is known in advance that the attribute IV is stored in the memory word 11_4, and when it is desired to read the data of the attribute III in the same group, for example, subtract 1 from the obtained address to replace the address of the memory word 11_3. Then, the address may be input to the address decoder 17 to read the contents of the memory word 11_3.

【0035】一方、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については属性
が一致せず、従って、属性及びデータの双方も一致しな
い。
On the other hand, at the time of the second search, instead of the search data including the attribute IV and the data 'D', for example, the attribute I
When a search is performed using search data including V and data 'B', the attribute of the memory word 11_4 matches, so that the second switch 34_4 is turned on, and the data line 3
The signal of logic '1' output to 2_1 is taken in, but since the data is different, logic '0' indicating mismatch is output to the match line 14_4, and is output to the first and second flag registers 23_4 and 24_4. Is latched with logic '0' indicating that no match was detected. Also, the attribute does not match for the memory word 11_2 to which the data 'B' matches, so that both the attribute and the data do not match.

【0036】以上のようにして、図4に示す連想メモリ
では、同一の群内においては、互いに離れたメモリワー
ドに記憶されたデータであっても、もしくはデータの順
序を逆にして検索した場合であっても、検索を行うこと
ができる。
As described above, in the associative memory shown in FIG. 4, even in the same group, even if data stored in memory words separated from each other or data is searched in the reverse order of data. , A search can be performed.

【0037】ここで、図4に示す連想メモリにおけるデ
ータ線32_1,32_2,…は、1つの群に属するデ
ータの数が予め定まっているものとして、その長さが固
定されたものであるが、このように固定長のデータ線を
備えると、1つの群に属するデータの数の最大を見積も
り、最大のデータ数に対応した長さのデータ線を備える
必要がある。これでは、その最大よりも少ない数のデー
タによりデータ群が構成される場合に、無駄なメモリワ
ードが発生することになる。そこで、1つの群に属する
データの数に合せて、データ線を可変長とすることが好
ましい。
Here, the data lines 32_1, 32_2,... In the associative memory shown in FIG. 4 have fixed lengths assuming that the number of data belonging to one group is predetermined. When a fixed-length data line is provided as described above, it is necessary to estimate the maximum number of data belonging to one group and provide a data line having a length corresponding to the maximum number of data. In this case, when a data group is constituted by a smaller number of data than the maximum, a useless memory word is generated. Therefore, it is preferable that the data lines have a variable length according to the number of data belonging to one group.

【0038】図5は、可変長のデータ線を実現する一つ
の方法を示した模式図である。
FIG. 5 is a schematic diagram showing one method for realizing a variable-length data line.

【0039】データ線32が複数のメモリワード11_
1,11_2,11_3,…に亘って延び、そのデータ
線32には、最上端のメモリワード11_1を除く他の
メモリワード11_2,11_3,…それぞれに対応す
る各スイッチ40_1,40_2,40_3,…が互い
に直列に接続されている。これらの各スイッチ40_
2,40_3,40_4,…は、対応するメモリワード
11_2,11_3,11_4,…と、その直ぐ上段に
隣接するメモリワード11_1,11_2,11_3,
…との間に配置されている。それらのスイッチ40_
2,40_3,40_4,…のうちの1つおきのスイッ
チ40_2,40_4,40_6,…は、第1制御線4
1に出力される第1のスイッチ制御信号によりオンし、
3つおきのスイッチ40_3,40_7,…は、第2制
御線42に出力される第2のスイッチ制御信号によりオ
ンし、残りのスイッチのうち8つおきのスイッチ40_
5,…は、第3制御線43に出力される第3のスイッチ
制御信号によりオンされる。
The data line 32 has a plurality of memory words 11_
, 11_2, 11_3,..., And the data line 32 includes switches 40_1, 40_2, 40_3,... Corresponding to the other memory words 11_2, 11_3,. They are connected in series with each other. Each of these switches 40_
, Are the corresponding memory words 11_2, 11_3, 11_4,... And the immediately adjacent memory words 11_1, 11_2, 11_3.
… And between them. Those switches 40_
, 40_3, 40_4,... Every other switch 40_2, 40_4, 40_6,.
1 is turned on by a first switch control signal output to 1,
Every third switch 40_3, 40_7,... Is turned on by a second switch control signal output to the second control line 42, and every eighth switch 40_ among the remaining switches is turned on.
Are turned on by the third switch control signal output to the third control line 43.

【0040】1つのデータ群を構成するデータの数が2
の場合は、第1制御線41に第1のスイッチ制御信号を
出力することにより、1つおきのスイッチ40_2,4
0_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つのメモリワード1
1_1,11_2,11_3,11_4;11_5,1
1_6,…毎に切断されたデータ線が形成される。同様
にして、1つのデータ群を構成するデータの数が8の場
合は、第1制御線41、第2制御線42に、それぞれ第
1及び第2のスイッチ制御信号を出力すると共に、第3
制御線43に第3のスイッチ制御信号を出力する。これ
により、各8つのメモリワード11_1,…,11_
8;11_9,…毎に切断されたデータ線が形成され
る。
The number of data constituting one data group is 2
In the case of, the first switch control signal is output to the first control line 41, so that every other switch 40_2, 40_2
0_4, 40_6,... Are turned on. Thus, each of the two memory words 11_1, 11_2; 11_3, 11_
4; 11 — 5, 11 — 6;. When the number of data constituting one data group is 4, a first switch control signal is output to the first control line 41 and a second switch control signal is output to the second control line 42. . Then, each of the four memory words 1
1_1, 11_2, 11_3, 11_4; 11_5, 1
A data line that is cut every 1_6,... Is formed. Similarly, when the number of data constituting one data group is 8, the first and second switch control signals are output to the first control line 41 and the second control line 42, respectively, and the third
A third switch control signal is output to the control line 43. Thus, each of the eight memory words 11_1,.
8; 11_9,..., A disconnected data line is formed.

【0041】この方式によれば、1つのデータ群を構成
するデータの数が2n の場合はメモリワードに空きは生
じないが、2n 以外の、例えば3,5,9等の場合空き
のメモリワードが生じてしまうことになる。この空きの
メモリワードが生じないように多数のスイッチ40_
2,40_3,…を任意にオン、オフできるように構成
すると、制御線の本数が多数本となり、又、それらの制
御線にスイッチ制御信号を出力する制御回路が複雑とな
る。従って、図5に示す方式は、データ線の長さを完全
に任意に制御するには不向きである。
According to this method, when the number of data constituting one data group is 2 n , no space is generated in the memory word, but when the number is other than 2 n , for example, 3, 5, 9, etc. A memory word will result. A number of switches 40_ are used to prevent the generation of this empty memory word.
.. Can be arbitrarily turned on and off, the number of control lines becomes large, and a control circuit that outputs a switch control signal to those control lines becomes complicated. Therefore, the method shown in FIG. 5 is not suitable for completely arbitrarily controlling the length of the data line.

【0042】図6は、可変のデータ線を実現するもう一
つの方式を示した模式図である。
FIG. 6 is a schematic diagram showing another method for realizing a variable data line.

【0043】多数のメモリワードに亘ってデータ線32
が延び、そのデータ線32に互いに直列に接続された、
最上端のメモリワードを除く他のメモリワードそれぞれ
に対応する各スイッチ40_2,40_3,40_4,
…が備えられている点は図5の場合と同じである。各メ
モリワードには、各属性格納部11_1_1,11_2
_1,11_3_1,…が備えられており、それら属性
格納部11_1_1,11_2_1,11_3_1,…
には、図示の各属性I,II,III,IVがそれぞれ
格納されている。この例は、属性格納部11_1_1,
11_2_1,11_3_1,…に格納された属性が、
属性Iかそれ以外の属性II,III,IVかに応じ
て、属性Iの場合は、対応するスイッチをオフのままと
し、それ以外の属性II,III,IVの場合は、対応
するスイッチをオンするように構成したものである。こ
のように構成すると、1つのデータ群を構成するデータ
の数がいくつであっても、又、データ数の異なるデータ
群が混在していても、各データ群の先頭に属性Iのデー
タを配置することにより、自動的に過不足ない数のメモ
リワード毎に切断されたデータ線が形成されることにな
る。
Data lines 32 extend over a number of memory words.
Extend and are connected in series with each other to the data line 32,
Each of the switches 40_2, 40_3, 40_4 corresponding to each of the other memory words except the topmost memory word
. Are provided in the same manner as in FIG. Each attribute storage unit 11_1_1, 11_2 is stored in each memory word.
_1, 11_3_1,..., And their attribute storage units 11_1_1, 11_2_1, 11_3_1,.
Stores respective attributes I, II, III, and IV shown in FIG. In this example, the attribute storage units 11_1_1,
The attributes stored in 11_2_1, 11_3_1,...
Depending on the attribute I or the other attributes II, III, IV, the corresponding switch is kept off for the attribute I, and the corresponding switch is turned on for the other attributes II, III, IV. It is configured so that With such a configuration, regardless of how many pieces of data make up one data group, or where data groups having different numbers of data are mixed, the data of the attribute I is arranged at the head of each data group. As a result, automatically cut data lines are formed for every sufficient number of memory words.

【0044】図7は、属性がIかそれ以外かを判定する
属性判定回路の一例を示す回路図である。
FIG. 7 is a circuit diagram showing an example of an attribute determination circuit for determining whether the attribute is I or other.

【0045】ここでは属性Iに‘000’が割り当てら
れており、属性格納部11_i_1に格納された属性が
属性I(‘000’)の場合、オアゲートから‘0’が
出力され、従って、トランジスタ40で構成されたスイ
ッチはオフ状態となり、そのトランジスタ40′の両側
のデータ線が電気的に切断される。属性格納部11_i
_1に格納された属性が属性I以外の属性の場合は、オ
アゲートから‘1’が出力され、トランジスタ40はオ
ン状態となり、そのトランジスタの両側のデータ線が接
続される。
Here, '000' is assigned to the attribute I, and when the attribute stored in the attribute storage unit 11_i_1 is the attribute I ('000'), '0' is output from the OR gate, and therefore, the transistor 40 Is turned off, and the data lines on both sides of the transistor 40 'are electrically disconnected. Attribute storage unit 11_i
When the attribute stored in _1 is an attribute other than the attribute I, “1” is output from the OR gate, the transistor 40 is turned on, and the data lines on both sides of the transistor are connected.

【0046】このように、図4に示す連想メモリにおい
て、1つのデータ群を構成するデータの数に応じてデー
タ線32_1,32_2,…の長さを調整することもで
きる。もちろん、属性データを利用するのではなく、専
用の制御線によってスイッチを制御することによりデー
タ線の長さを調整してもよい。
As described above, in the associative memory shown in FIG. 4, the lengths of the data lines 32_1, 32_2,... Can be adjusted according to the number of data constituting one data group. Of course, instead of using the attribute data, the length of the data line may be adjusted by controlling the switch using a dedicated control line.

【0047】[0047]

【発明が解決しようとする課題】連想メモリでは、他の
一般のRAMメモリ等と同様に消費電力の低減化が要請
される。一般のRAMメモリでは、アドレスが入力され
て、そのアドレスのメモリワードがアクセスされるた
め、多数のメモリワードを多数のブロックに分けてお
き、入力されたアドレスに応じて、そのアドレスで指定
されるメモリワードを含むブロックのみを活性化(アク
ティブ)することによって消費電力の低減化が図られて
いる。
In an associative memory, a reduction in power consumption is required as in other general RAM memories. In a general RAM memory, an address is input and a memory word at that address is accessed. Therefore, a large number of memory words are divided into a large number of blocks, and designated by the address according to the input address. The power consumption is reduced by activating only a block including a memory word.

【0048】ところが、連想メモリは、検索データが入
力されて、その検索データと一致する格納データが格納
されたメモリワードを検索するものであるため、ブロッ
ク化されていても、そのブロックのどのメモリワードで
一致が検出されるか分からないため、全てのブロックを
活性化する必要があり、単純にブロック化しただけでは
消費電力の低減化は図られない。
However, since the associative memory is used to search for a memory word in which search data is input and storage data matching the search data is stored, even if the memory is divided into blocks, Since it is not known whether a match is detected in a word or not, it is necessary to activate all blocks, and power consumption cannot be reduced simply by dividing into blocks.

【0049】なお、特開平3−212896号には、連
想メモリアレイを複数の一方向配列毎に分割して各ブロ
ックを構成し、このブロックのいずれかを選択するブロ
ック選択手段を備え、このブロック選択手段により選択
されたブロックのみを検索データと比較することによ
り、連想メモリの消費電流を少なくすることが記載され
ている。
Japanese Unexamined Patent Publication No. Hei 3-212896 discloses that the associative memory array is divided into a plurality of one-way arrays to form each block, and block selecting means for selecting any one of the blocks is provided. It describes that the current consumption of the associative memory is reduced by comparing only the block selected by the selection unit with the search data.

【0050】しかしながら、特開平3−212896号
に記載の技術では、検索時の入力アドレスの一部に、予
めメモリブロックの選択情報を入れておく必要があり、
更に、その解釈のための余分なハードウェアや処理時間
が必要になるという問題があった。
However, in the technique described in Japanese Patent Application Laid-Open No. Hei 3-212896, it is necessary to preliminarily include memory block selection information as a part of an input address at the time of retrieval.
Further, there is a problem that extra hardware and processing time are required for the interpretation.

【0051】本発明は、上記事情に鑑み、回路全体をア
クティブにする必要のない状況下において、必要な部分
のみ活性化し、これにより消費電力の低減化を図った連
想メモリを提供することを目的とする。
In view of the above, it is an object of the present invention to provide an associative memory in which only necessary parts are activated in a situation where it is not necessary to activate the entire circuit, thereby reducing power consumption. And

【0052】[0052]

【課題を解決するための手段】上記目的を達成する本発
明の連想メモリは、多数の格納データを記憶しておき、
検索データが入力され、入力された検索データに対応す
る格納データを検索する連想メモリにおいて、 (1)各格納データが格納される複数のメモリワードか
らなるメモリワード群をそれぞれ少なくとも1つずつ含
むように複数のメモリブロックに分割されてなる多数の
メモリワード (2)多数のメモリワードそれぞれに対応して備えられ
た、検索の際に、対応するメモリワードに、入力された
検索データに対応する格納データが格納されていたこと
が検出された場合に、入力された検索データに対応する
格納データが格納されていたことを示す一致フラグが格
納されるフラグレジスタ (3)前回の検索の際にフラグレジスタに格納された一
致フラグの状態に応じて、今回の検索に際し、所定のメ
モリブロックのビット線を駆動するビット線駆動回路 を備えたことを特徴とする。
The associative memory of the present invention that achieves the above object stores a large number of stored data,
In an associative memory to which search data is input and search for storage data corresponding to the input search data, (1) at least one memory word group including a plurality of memory words in which each storage data is stored. A large number of memory words divided into a plurality of memory blocks (2) provided in correspondence with a large number of memory words, at the time of a search, stored in the corresponding memory word corresponding to the inputted search data A flag register that stores a match flag indicating that stored data corresponding to the input search data has been stored when it is detected that data has been stored. A bit for driving a bit line of a predetermined memory block at the time of this search according to the state of the match flag stored in the register Characterized by comprising a drive circuit.

【0053】[0053]

【作用】本発明の連想メモリは、例えば図4を用いて説
明したように、複数ワード分のデータを連続して検索す
る場合に、初回の検索は複数ブロック全体が活性化され
るが、2回目以降の検索の際は、前回の検索結果を今回
の検索に反映させ、前回に一致が検出されたメモリワー
ドを含むメモリブロック、及び/又は、同じメモリワー
ド群が分割されて格納されている可能性のある他のメモ
リブロック(例えば隣接ブロック)のみ活性化するもの
であり、消費電力が低減化される。
According to the associative memory of the present invention, as described with reference to FIG. 4, for example, when data for a plurality of words is continuously searched, the entirety of a plurality of blocks are activated for the first search. In the second and subsequent searches, the previous search result is reflected in the current search, and a memory block including a memory word in which a match was previously detected and / or the same memory word group are divided and stored. Only another possible memory block (for example, an adjacent block) is activated, and power consumption is reduced.

【0054】[0054]

【実施例】以下、図面を参照して、本発明の実施例を詳
細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0055】図8は、本発明の連想メモリの第1実施例
のブロック図である。
FIG. 8 is a block diagram of a first embodiment of the content addressable memory according to the present invention.

【0056】この連想メモリでは、多数のメモリワード
が複数に分割され、通常の大容量メモリで行われるよう
に、複数(実施例ではN個)のメモリブロック51_
1,51_2,…,51_Nに分割されている。各メモ
リブロック51_1,51_2,…,51_Nは、複数
ワードに跨がる検索が行われる単位である、複数のメモ
リブロックからなる、少なくとも1つのメモリブロック
群により構成されている。
In this associative memory, a large number of memory words are divided into a plurality of memory blocks and a plurality (N in the embodiment) of memory blocks 51__
, 51_2,..., 51_N. Each of the memory blocks 51_1, 51_2,..., 51_N is configured by at least one memory block group including a plurality of memory blocks, which is a unit in which a search over a plurality of words is performed.

【0057】各ブロック51_1,51_2,…,51
_Nには、それぞれビット線駆動回路52_1,52_
2,…,52_Nが備えられており、各ビット線駆動回
路52_1,52_2,…,52_Nには、検索データ
線53、制御線54A、54B、各ブロック内一致線5
5_1,55_2,…,55_Nが接続されている。
Each of the blocks 51_1, 51_2,..., 51
_N include bit line drive circuits 52_1 and 52_
, 52_N are provided, and each bit line drive circuit 52_1, 52_2,..., 52_N has a search data line 53, control lines 54A, 54B,
5_1, 55_2, ..., 55_N are connected.

【0058】前記検索データ線(ビット線とも称する)
53には、メモリの読み書き、あるいは検索を行う際の
検索データが入力される。
The search data line (also referred to as a bit line)
53 is input with search data for reading / writing from / into a memory or performing a search.

【0059】前記制御線54Aは、検索動作を行う際に
活性化される。
The control line 54A is activated when performing a search operation.

【0060】前記制御線54Bは、複数ワードに亘る検
索の最初の検索データ入力の際に活性化され、前回まで
の検索結果を無効にする。
The control line 54B is activated at the time of inputting the first search data in a search over a plurality of words, and invalidates the search results up to the previous time.

【0061】前記ブロック内一致線55_1,55_
2,…,55_Nは、各メモリブロック内に含まれた複
数のワードのうち、少なくとも1つ以上の一致が生じた
際に活性化される。
The in-block match lines 55_1 and 55_
2, ..., 55_N are activated when at least one or more matches among a plurality of words included in each memory block occur.

【0062】ブロック内一致線及びこれを生成する回路
(図示省略)は、分割された複数のメモリブロックで優
先順位づけを行うために一般的な連想メモリで備えられ
ているものであり、本発明の実施のために新たに必要と
なるハードウエアではない。
The intra-block match line and a circuit for generating the same (not shown) are provided in a general associative memory for prioritizing a plurality of divided memory blocks. It is not new hardware required to implement.

【0063】前記ビット線駆動回路52_1,52_
2,…,52_Nは、それらの各線53,54A,54
B,55_1,55_2,…55_Nの信号状態に応じ
て、検索の結果、自分自身に一致が生じ、対応するブロ
ック内一致線が活性化された時に活性化され、ビット線
(ビットバー線を含む)56_1,56_2,…,56
_Nを駆動して、対応するメモリブロックのみを活性化
し、検索動作を行う。
The bit line driving circuits 52_1 and 52_
2,..., 52_N are their respective lines 53, 54A, 54
In accordance with the signal states of B, 55_1, 55_2,..., 55_N, as a result of the search, a match occurs in itself, and when the corresponding intra-block match line is activated, the bit line (including the bit bar line) ) 56_1,56_2, ..., 56
_N is activated to activate only the corresponding memory block and perform a search operation.

【0064】図9は、図8のi番目のビット線駆動回路
を示した回路図である。
FIG. 9 is a circuit diagram showing the ith bit line drive circuit of FIG.

【0065】図9において、60_iは、初回検索制御
線54Bの信号とブロック内一致線55_iの論理和を
出力するオアゲート、61_iは、メモリブロック51
_iに繋がるビット線56_i_1を活性化するため
の、前記オアゲート60_iの出力によりオンオフされ
るトランスファーゲート、62_iは、前記オアゲート
60_iの出力を反転するインバータ、63_iは、前
記トランスファーゲート61_iの出力を反転して、メ
モリブロック51_iに繋がるビットバー線56_i_
2を活性化するためのインバータである。
In FIG. 9, 60_i is an OR gate for outputting the logical sum of the signal of the initial search control line 54B and the intra-block matching line 55_i, and 61_i is the memory block 51.
_I, a transfer gate turned on and off by the output of the OR gate 60_i for activating the bit line 56_i_1, an inverter 62_i for inverting the output of the OR gate 60_i, and 63_i for inverting the output of the transfer gate 61_i. And a bit bar line 56_i_ connected to the memory block 51_i.
2 is an inverter for activating 2.

【0066】まず初回の検索の際は、初回検索制御線5
4Bに、論理‘1’の制御信号が印加され、その制御信
号が、オアゲート60_iを経由してトランスファーゲ
ート61_iに伝達され、トランスファーゲート61_
iが‘オン’状態となり、検索データ線53を経由して
入力された検索データが、ビット線56_i_1,ビッ
トバー線56_i_2に印加される。この初回の検索の
際は、このようにして、全てのメモリブロック51_
1,51_2,…,51_Nにおいて検索が行われる。
First, at the time of the first search, the first search control line 5
4B, a control signal of logic “1” is applied, the control signal is transmitted to the transfer gate 61 — i via the OR gate 60 — i, and the transfer gate 61 —
i is turned on, and the search data input via the search data line 53 is applied to the bit lines 56_i_1 and the bit bar lines 56_i_2. In the first search, all the memory blocks 51_
A search is performed at 1, 51_2,..., 51_N.

【0067】メモリブロック51_i内のフラグレジス
タ(図4の第2のフラグレジスタ24_1,24_2,
…参照)のうちのいずれかの1つに論理‘1’が格納さ
れると、そのブロック内のフラグレジスタの格納状態の
論理和演算を行うオアゲート64_iから、ブロック内
一致線55_iに論理‘1’が出力される。
The flag registers in the memory block 51_i (the second flag registers 24_1, 24_2,
..) Is stored in any one of the blocks, the OR gate 64 — i that performs the logical OR operation of the storage states of the flag registers in the block, and the logical “1” is supplied to the intra-block match line 55 — i. 'Is output.

【0068】2回目以降の検索の際は、制御線54Bに
は論理‘0’の制御信号が印加される。従って、前回の
検索の際にブロック51_iのいずれかのメモリワード
に一致が検出された場合のみ、今回の検索の際に、検索
データ線53を経由して入力された検索データが、ビッ
ト線56_i_1、ビットバー線56_i_2に印加さ
れる。前回の検索の際に、メモリブロック51_iのい
ずれのメモリワードにも一致が検出されなかった場合
は、ブロック内一致線55_iが論理‘0’にとどまっ
ているため、オアゲート60_iの出力は論理‘0’と
なり、トランスファーゲート61_iが‘オフ’状態と
なり、今回の検索に際して検索データ線53を経由して
入力されてきた検索データは、ビット線56_i_1、
ビットバー線56_i_2に印加されず、ビット線56
_i_1、ビットバー線56_i_2の充放電に伴う電
力消費が抑えられる。
At the time of the second or subsequent search, a control signal of logic "0" is applied to the control line 54B. Therefore, only when a match is detected in any of the memory words of the block 51_i in the previous search, the search data input via the search data line 53 in the current search is changed to the bit line 56_i_1. , Bit bar line 56_i_2. If no match is detected in any of the memory words of the memory block 51_i during the previous search, the output of the OR gate 60_i is logic '0' because the in-block match line 55_i remains at logic '0'. And the transfer gate 61 — i is in the “off” state, and the search data input via the search data line 53 at the time of this search is the bit line 56 — i_1,
Not applied to the bit bar line 56_i_2, the bit line 56
_I_1 and power consumption due to charging and discharging of the bit bar line 56_i_2 are suppressed.

【0069】一例として、4つの連続する検索データの
検索を行う場合を考える。最初の検索データが入力され
ると、制御線54Bが活性化され、ビット線駆動回路5
2_1,52_2,…,52_Nを介して、全てのビッ
ト線(ビットバー線を含む)が活性化され、N個のブロ
ック51_1,51_2,…,51_N全てが活性化状
態となる。
As an example, consider a case where four consecutive search data are searched. When the first search data is input, the control line 54B is activated, and the bit line driving circuit 5
All the bit lines (including the bit bar lines) are activated via 2_1, 52_2, ..., 52_N, and all N blocks 51_1, 51_2, ..., 51_N are activated.

【0070】最初の検索においてp個(p≦N;Nは全
体のブロック数)のブロック内で一致が検出されると、
p個のブロック内一致線が活性化され、2番目の検索動
作は、p個のメモリブロックに対してのみ行われる。そ
の結果、q個(q≦p)のブロックで一致が検出される
と今度はq個のブロック内一致線が活性化される。順に
3番目でr個(r≦q)、4番目でs個(s≦r)のメ
モリブロック内で一致が検出されるとする。
When a match is found in p (p ≦ N; N is the total number of blocks) blocks in the first search,
The p intra-block match lines are activated, and the second search operation is performed only on the p memory blocks. As a result, if a match is detected in q blocks (q ≦ p), then the q intra-block match lines are activated. Assume that a match is detected in r (r ≦ q) third and s (s ≦ r) memory blocks in order.

【0071】このように活性化されるメモリブロックは
順次減ることになり、ビット線駆動回路を有しない、常
に全てのメモリワードの検索を行う回路の消費電力に対
し、 (p/N)×(q/N)×(r/N)×(s/N)<<
1 の消費電力で済むことになる。
The number of memory blocks activated in this manner is sequentially reduced, and the power consumption of a circuit that does not have a bit line driving circuit and always searches for all memory words is expressed by (p / N) × ( q / N) × (r / N) × (s / N) <<
1 power consumption.

【0072】通常p,q,r,s<<Nであり、連続す
る複数回の検索動作に対し、大幅な消費電力の削減を達
成することが可能となる。
Normally, p, q, r, s << N, and it is possible to achieve a great reduction in power consumption for a plurality of successive search operations.

【0073】次に、本発明の第2実施例を詳細に説明す
る。
Next, a second embodiment of the present invention will be described in detail.

【0074】図10は、第2実施例の全体構成を示し、
図11は詳細構成を示したものである。
FIG. 10 shows the overall structure of the second embodiment.
FIG. 11 shows a detailed configuration.

【0075】図11のメモリブロック51_iにおい
て、70_1_i〜70_k_iは、各メモリワード1
1_1_i〜11_k_iから出力される一致フラグを
格納すするレジスタ、71_iは、該一致フラグ格納レ
ジスタ70_1_i〜70_k_iのいずれかに一致フ
ラグが格納された時に、対応するスイッチ素子72_1
_i〜72_k_iによって接地されるワイヤを含むワ
イヤードノア、73_iは、該ワイヤを電源と接続して
プリチャージすると共に、その状態を維持するためのス
イッチ素子、74_iは、前記ワイヤードノア71_i
の出力を反転して、ブロック内一致信号(ヒットフラ
グ)とするためのインバータである。前記ワイヤードノ
ア71_iとインバータ74_iの組み合せが、図9の
オアゲート64_iに相当する。
In the memory block 51_i of FIG. 11, 70_1_i to 70_k_i are each a memory word 1
The register 71_i for storing the match flag output from the 1_1_i to 11_k_i is a corresponding switch element 72_1 when the match flag is stored in any of the match flag storage registers 70_1_i to 70_k_i.
_I to 72_k_i, a wired NOR including a wire grounded by 73_i is connected to a power supply to precharge the switch, and a switch element for maintaining the state is connected to the wire NOR 74_i.
Is an inverter for inverting the output of the above to make an in-block match signal (hit flag). The combination of the wired NOR 71_i and the inverter 74_i corresponds to the OR gate 64_i in FIG.

【0076】図11のビット線駆動回路52_iにおい
て、80_iは、対応するメモリブロック51_i及び
前後のメモリブロック51_i−1(図示省略)、51
_i+1から入力されるブロック内ヒットフラグを格納
するレジスタ、81_iは、該ブロック内ヒットフラグ
格納レジスタ80_iの出力と初回検索制御線54Bの
出力の論理和を出力するオアゲート(図9のオアゲート
60_iに相当)、82_iは、該オアゲート81_i
の出力と検索制御線54A(図9では省略)の出力の論
理積を出力するアンドゲート(図9では省略)、83_
iは、ビット線56_i_1を活性化するための、該ア
ンドゲート82_iの出力によりオンオフ状態が制御さ
れるトランスファーゲート(図9のトランスファーゲー
ト61_iに相当)、84_iは、ビットバー線56_
i_2を活性化するための、前記アンドゲート82_i
の出力によりオンオフ状態が制御される、インバータ付
きのトランスファーゲート(図9のトランスファーゲー
ト61_iとインバータ63_iの組み合せに相当)、
85_i,86_iは、それぞれ、ビット線56_i_
1,56_i_2をプリチャージするためのスイッチ素
子である。
In the bit line driving circuit 52_i of FIG. 11, reference numeral 80_i denotes a corresponding memory block 51_i and the preceding and succeeding memory blocks 51_i-1 (not shown), 51_i.
A register 81_i for storing the in-block hit flag input from _i + 1 is an OR gate (corresponding to the OR gate 60_i in FIG. 9) for outputting the logical sum of the output of the in-block hit flag storage register 80_i and the output of the first search control line 54B. ), 82_i are the OR gates 81_i.
AND gate (not shown in FIG. 9) that outputs the logical product of the output of the search control line 54A (not shown in FIG. 9) and the output of
i denotes a transfer gate (corresponding to the transfer gate 61_i in FIG. 9) for activating the bit line 56_i_1, the on / off state of which is controlled by the output of the AND gate 82_i, and 84_i denotes a bit bar line 56_i.
and AND gate 82_i for activating i_2
A transfer gate with an inverter whose on / off state is controlled by the output of the transfer gate (corresponding to a combination of the transfer gate 61 — i and the inverter 63 — i in FIG. 9);
85_i and 86_i are bit lines 56_i_
This is a switch element for precharging 1,56_i_2.

【0077】同じワード群に属する検索データが、2つ
のメモリブロック間に跨がって入力されている場合、前
記の検索で一致が検出されなかったブロックであって
も、今回の検索に際して、活性化される必要がある。こ
のため、この第2実施例では、あるビット線駆動回路に
は、その両隣のブロック内一致線も入力している。
When search data belonging to the same word group is input across two memory blocks, even if a block in which a match is not detected in the above-mentioned search is activated in the current search, Need to be For this reason, in the second embodiment, a certain bit line driving circuit is also supplied with the in-block matching lines on both sides thereof.

【0078】同じワード群に属する検索データが、3つ
のブロックにわたって入力されていることも考えられる
が、一般的に、ある関連のあるデータが3つ以上のブロ
ックにわたることは考え難く、通常は、2つのブロック
にわたるデータを考慮すれば十分である。仮に、データ
が3つのブロックにわたることが想定できる場合は、両
隣だけでなく、更にその隣のブロックのブロック内一致
線を、該ブロック線駆動回路に入力すればよい。
Although it is conceivable that search data belonging to the same word group is input over three blocks, it is generally difficult to imagine that certain related data extends over three or more blocks. It is sufficient to consider data spanning two blocks. If it is assumed that the data covers three blocks, not only the adjacent blocks but also the intra-block matching lines of the adjacent blocks may be input to the block line driving circuit.

【0079】検索動作に沿って、第2実施例の効果を説
明する。
The effect of the second embodiment will be described along with the search operation.

【0080】一例として、3ワードにわたるワード群の
検索を3回続けて行う場合を考える。まず最初の検索に
際し、初回検索制御線54Bを活性化し、検索データを
ビット線に印加し、検索動作を開始するため、制御線5
4Aを活性化する。制御線54Bが活性化されるので、
最初の検索では、全てのメモリブロックl個が活性され
た状態となり、全メモリ領域に対して検索が行われる。
As an example, consider a case where a search for a word group over three words is performed three times in a row. First, at the time of the first search, the first search control line 54B is activated, the search data is applied to the bit line, and the control line 5
Activate 4A. Since the control line 54B is activated,
In the first search, all the memory blocks l are activated, and the search is performed on all memory areas.

【0081】制御線54Aが活性化すると、ビット線駆
動回路のプリチャージ、及びメモリブロックのプリチャ
ージが解除され、検索データがメモリに印加され、検索
の結果が検出される。
When the control line 54A is activated, the precharge of the bit line drive circuit and the precharge of the memory block are released, search data is applied to the memory, and the search result is detected.

【0082】この結果は、メモリブロック内の一致フラ
グ格納レジスタ70_iに格納されると共に、ビット線
駆動回路52_iのブロック内ヒットフラグ格納レジス
タ80_iに格納される。全体として、p個(p≦N;
Nは全体のブロック数)のメモリブロック内で一致が検
出されると、2回目の検索では、一致検出ブロックが全
て両端位置でない最悪の場合で3p個(3p≦N)のメ
モリブロックが活性化される。この結果、q個のメモリ
ブロック内で一致が検出されれば、3回目の検索では、
最悪で3q個のメモリブロックが活性化される。この結
果、本実施例の構成をとらない回路に対して消費電力
は、 (N/N)×(3p/N)×(3q/N)<<1 倍となる。
The result is stored in the match flag storage register 70_i in the memory block and also in the in-block hit flag storage register 80_i of the bit line drive circuit 52_i. As a whole, p (p ≦ N;
When a match is detected in the memory blocks of (N is the total number of blocks), in the second search, 3p (3p ≦ N) memory blocks are activated in the worst case where all the match detection blocks are not at both end positions. Is done. As a result, if a match is detected in q memory blocks, in the third search,
At worst, 3q memory blocks are activated. As a result, power consumption is (N / N) × (3p / N) × (3q / N) << 1 times that of the circuit not having the configuration of the present embodiment.

【0083】通常、p、q<<Nであり、大幅な消費電
力の低減が達成される。
Usually, p and q << N, and a great reduction in power consumption is achieved.

【0084】図12に、本発明の第3実施例を示す。FIG. 12 shows a third embodiment of the present invention.

【0085】本実施例は、メモリブロック間にわたるデ
ータのワード数が予め想定できる場合に有効である。
The present embodiment is effective when the number of data words extending between memory blocks can be assumed in advance.

【0086】即ち、両サイドのメモリブロックを活性化
しなければならないのは、一致が生じたワードが、隣の
メモリブロックのワードと同じワード群を構成している
場合だけである。ワード群が、単一メモリブロックに存
在している場合は、一致が生じても、自分のメモリブロ
ックのみ活性化すればよい。
That is, it is necessary to activate the memory blocks on both sides only when the word in which the coincidence forms the same word group as the word of the adjacent memory block. If the word group exists in a single memory block, only the own memory block needs to be activated even if a match occurs.

【0087】従って、メモリブロック内で、ブロック内
一致信号を、自分のビット線駆動回路のみへ行くもの
と、自分と左隣のビット線駆動回路へ行くものと、自分
と右隣のビット線駆動回路へ行くものの、3通りに分類
して出力している。
Therefore, in the memory block, the in-block coincidence signal is sent to only its own bit line driving circuit, to its own bit line driving circuit, and to its own bit line driving circuit. Although they go to the circuit, they are classified and output in three ways.

【0088】この構成をとることによって、第2実施例
に比べ、活性化されるブロックの確率は低くなり、消費
電力の大幅な低減が達成される。
By adopting this configuration, the probability of activated blocks is lower than in the second embodiment, and a significant reduction in power consumption is achieved.

【0089】なお、前記実施例においては、いずれも、
初回検索時に、全てのメモリブロックを活性化するよう
にしていたが、例えば特開平3−212896号に記載
の技術のようにして、初回検索時に活性化するメモリブ
ロックの数を制限することも可能である。
In each of the above embodiments,
Although all memory blocks are activated at the time of the initial search, the number of memory blocks to be activated at the time of the initial search can be limited, for example, by a technique described in Japanese Patent Application Laid-Open No. 3-212896. It is.

【0090】[0090]

【発明の効果】以上説明したように、本発明の連想メモ
リは、複数連続検索の際、前回の検索で一致のあったメ
モリブロック、及び/又は、同じメモリワード群が分割
されて格納されている可能性のある他のメモリブロック
(例えば隣接ブロック)のみ活性化するものであるた
め、消費電力が大幅に低減する。
As described above, in the associative memory of the present invention, at the time of a plurality of consecutive searches, a memory block that matches in the previous search and / or the same memory word group is divided and stored. Since only other memory blocks (for example, adjacent blocks) that may be present are activated, power consumption is significantly reduced.

【図面の簡単な説明】[Brief description of the drawings]

【図1】従来の連想メモリの一例を表わした回路ブロッ
ク図
FIG. 1 is a circuit block diagram showing an example of a conventional associative memory

【図2】データ拡張機能を備えた従来の連想メモリの一
例を示すブロック図
FIG. 2 is a block diagram showing an example of a conventional associative memory having a data extension function;

【図3】群構造のデータの一例を示す図FIG. 3 is a diagram showing an example of data of a group structure.

【図4】連想メモリの比較例を示すブロック図FIG. 4 is a block diagram showing a comparative example of an associative memory;

【図5】可変長のデータ線を実現する一つの方式を示し
た模式図
FIG. 5 is a schematic diagram showing one method for realizing a variable-length data line.

【図6】可変長のデータ線を実現する、もう一つの方式
を示した模式図
FIG. 6 is a schematic diagram showing another method for realizing a variable-length data line.

【図7】属性判定回路の一例を示す回路図FIG. 7 is a circuit diagram illustrating an example of an attribute determination circuit.

【図8】本発明の連想メモリの第1実施例のブロック図FIG. 8 is a block diagram of a first embodiment of an associative memory according to the present invention;

【図9】第1実施例で用いられているビット線駆動回路
の回路図
FIG. 9 is a circuit diagram of a bit line driving circuit used in the first embodiment.

【図10】本発明の連想メモリの第2実施例のブロック
FIG. 10 is a block diagram of a second embodiment of the content addressable memory according to the present invention;

【図11】第2実施例で用いられているビット線駆動回
路の回路図
FIG. 11 is a circuit diagram of a bit line driving circuit used in a second embodiment.

【図12】本発明の連想メモリの第3実施例のブロック
FIG. 12 is a block diagram of a third embodiment of the content addressable memory according to the present invention;

【符号の説明】[Explanation of symbols]

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 検索データ線 54A 検索制御線 54B 初回検索制御線 55_1,55_2,… ブロック内一致線 56_1,56_2,… ビット線(ビットバー線含
む) 70_1_i,70_2_i,… 一致フラグ格納レ
ジスタ 80_i ブロック内ヒットフラグ格納レジスタ
11_1, 11_2,..., Memory words 11_1_1, 11_2_1,... Attribute storage units 11_1_1, 11_2_2,. 21_1, 21_2, ... OR gate 23_1, 23_2, ... first flag register 24_1, 24_2, ... second flag register 25 Match result latch control line 30_1, 30_2, ... attribute match line 31_1, 31_2, ... third flag register 32_1, 32_2, ... Data lines 33_1, 33_2, ... First switches 34_1, 34_2, ... Second switches 51_1, 51_2, ... Memory blocks 52_1, 52_2, ... Bit line drive control Circuit 53 Search data line 54A Search control line 54B Initial search control line 55_1, 55_2, ... Match line in block 56_1, 56_2, ... Bit line (including bit bar line) 70_1_i, 70_2_i, ... Match flag storage register 80_i Hit flag in block Storage register

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−212896(JP,A) 特開 平6−333395(JP,A) (58)調査した分野(Int.Cl.7,DB名) G11C 15/00 - 15/06 G06F 17/30 WPI(DIALOG)────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-3-212896 (JP, A) JP-A-6-333395 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G11C 15/00-15/06 G06F 17/30 WPI (DIALOG)

Claims (9)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】多数の格納データを記憶しておき、検索デ
ータが入力され、入力された検索データに対応する格納
データを検索する連想メモリにおいて、 各格納データが格納される複数のメモリワードからなる
メモリワード群をそれぞれ少なくとも1つずつ含むよう
に複数のメモリブロックに分割されてなる多数のメモリ
ワードと、 前記多数のメモリワードそれぞれに対応して備えられ
た、検索の際に、対応するメモリワードに、入力された
検索データに対応する格納データが格納されていること
が検出された場合に、入力された検索データに対応する
格納データが格納されていたことを示す一致フラグが格
納されるフラグレジスタと、 前回の検索の際に前記フラグレジスタに格納された前記
一致フラグの状態に応じて、今回の検索に際し、所定の
メモリブロックのビット線を駆動するビット線駆動回路
と、 を備えたことを特徴とする連想メモリ。
1. An associative memory for storing a large number of stored data, inputting search data, and searching for stored data corresponding to the input search data. Memory words divided into a plurality of memory blocks so as to include at least one memory word group each, and a memory corresponding to each of the plurality of memory words at the time of search. When it is detected that the storage data corresponding to the input search data is stored in the word, a match flag indicating that the storage data corresponding to the input search data is stored is stored. A flag register, and in accordance with the state of the match flag stored in the flag register in the previous search, Associative memory to the bit line drive circuit for driving the bit line constant in the memory block, further comprising a said.
【請求項2】請求項1において、前記ビット線駆動回路
が、前記一致フラグが格納されているフラグレジスタに
対応するメモリワードを含むメモリブロックのビット線
を駆動するようにされている連想メモリ。
2. The content addressable memory according to claim 1, wherein said bit line driving circuit drives a bit line of a memory block including a memory word corresponding to a flag register storing said match flag.
【請求項3】請求項2において、前記ビット線駆動回路
が、更に、前記メモリワード群が分割されて格納されて
いる可能性のある他のメモリブロックのビット線も駆動
するようにされている連想メモリ。
3. The bit line driving circuit according to claim 2, wherein the bit line driving circuit further drives a bit line of another memory block in which the memory word group may be divided and stored. Associative memory.
【請求項4】請求項3において、前記ビット線が駆動さ
れる他のメモリブロックが、前記一致フラグが格納され
ているフラグレジスタに対応するメモリワードを含むメ
モリブロックに隣接するメモリブロックである連想メモ
リ。
4. The associative memory according to claim 3, wherein said another memory block to which said bit line is driven is a memory block adjacent to a memory block including a memory word corresponding to a flag register storing said coincidence flag. memory.
【請求項5】請求項2において、前記ビット線駆動回路
が、前記メモリワード群の他のメモリブロックへの分割
状態に応じて、対応するメモリブロックのビット線を駆
動するようにされている連想メモリ。
5. The associating method according to claim 2, wherein said bit line driving circuit drives a bit line of a corresponding memory block according to a division state of said memory word group into another memory block. memory.
【請求項6】請求項1において、前記メモリワード群に
対する初回の検索の際は、全てのメモリブロックのビッ
ト線を駆動するようにした連想メモリ。
6. An associative memory according to claim 1, wherein at the time of the first search for said memory word group, bit lines of all memory blocks are driven.
【請求項7】請求項1において、前記メモリワード群に
対する初回の検索の際も、所定のメモリブロックのビッ
ト線のみを駆動するようにした連想メモリ。
7. The associative memory according to claim 1, wherein even during the first search for said memory word group, only bit lines of a predetermined memory block are driven.
【請求項8】請求項1において、前記一致フラグを、メ
モリブロック間の優先順位をつけるための回路の出力か
ら生成するようにした連想メモリ。
8. An associative memory according to claim 1, wherein said match flag is generated from an output of a circuit for prioritizing memory blocks.
【請求項9】請求項1において、更に、前回の検索の際
に、前記フラグレジスタに前記一致フラグが格納された
ことを受けて、該フラグレジスタに対応するメモリワー
ドを含む前記メモリワード群について、今回の検索を実
行する複数連続検索制御回路を備えた連想メモリ。
9. The memory word group including a memory word corresponding to the flag register in response to storing the match flag in the flag register during a previous search. , An associative memory including a plurality of continuous search control circuits for executing the current search.
JP7034835A 1994-02-25 1995-02-23 Associative memory Expired - Fee Related JP3063956B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7034835A JP3063956B2 (en) 1994-02-25 1995-02-23 Associative memory

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2813094 1994-02-25
JP6-28130 1994-02-25
JP7034835A JP3063956B2 (en) 1994-02-25 1995-02-23 Associative memory

Publications (2)

Publication Number Publication Date
JPH07287718A JPH07287718A (en) 1995-10-31
JP3063956B2 true JP3063956B2 (en) 2000-07-12

Family

ID=26366176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7034835A Expired - Fee Related JP3063956B2 (en) 1994-02-25 1995-02-23 Associative memory

Country Status (1)

Country Link
JP (1) JP3063956B2 (en)

Also Published As

Publication number Publication date
JPH07287718A (en) 1995-10-31

Similar Documents

Publication Publication Date Title
US5852569A (en) Content addressable memory multiple match detection circuit
US5530665A (en) Method of using associative memories and an associative memory
US5946704A (en) Associative memory to retrieve a plurality of words
US5592407A (en) Associative memory
JPH11273365A (en) Content addressable memory(cam)
JPS605498A (en) Associative memory device
US5267210A (en) SRAM with flash clear for selectable I/OS
US5448713A (en) Semiconductor device for logical operation processing and method of operation processing therefor
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
JP2779114B2 (en) Associative memory
JP3063956B2 (en) Associative memory
JPH05127872A (en) Semiconductor integrated circuit
JPH0659972A (en) Memory control device
JP2703642B2 (en) Semiconductor storage device
JP3597882B2 (en) Associative memory
JP3597899B2 (en) Associative memory
JP2786364B2 (en) Associative memory device
JP3130736B2 (en) Usage of associative memory and associative memory
EP0594266B1 (en) SRAM with flash clear for selectable I/Os
JP3110585B2 (en) Semiconductor memory
JP3114957B2 (en) Associative memory
JP2774929B2 (en) Layout structure of associative memory
JP3645293B2 (en) Associative memory
JPH1083674A (en) Semiconductor memory

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080512

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090512

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100512

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110512

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110512

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees