JPH07287718A - Associative memory - Google Patents

Associative memory

Info

Publication number
JPH07287718A
JPH07287718A JP7034835A JP3483595A JPH07287718A JP H07287718 A JPH07287718 A JP H07287718A JP 7034835 A JP7034835 A JP 7034835A JP 3483595 A JP3483595 A JP 3483595A JP H07287718 A JPH07287718 A JP H07287718A
Authority
JP
Japan
Prior art keywords
memory
data
search
stored
match
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
JP7034835A
Other languages
Japanese (ja)
Other versions
JP3063956B2 (en
Inventor
Masahiro Konishi
正洋 小西
Hiroshi Sasama
洋 笹間
Masato Yoneda
正人 米田
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 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)

Abstract

PURPOSE:To activate only a necessary part and to reduce power consumption by providing this associative memory with a bit line driving circuit for driving a bit line in a prescribed memory block at the time of executing current retrieval in accordance with the state of a coincidence flag stored in a flag register at the time of preceding retrieval. CONSTITUTION:Many memory words are divided into plural memory blocks 51-1 to 51-N. At the time of 2nd retrieval or after, a control signal of logic '0' is impressed to a control line 54B. Thereby only when coincidence is detected in any one of memory words in the block 51-i at the preceding retrieval, retrieving data inputted through a retrieving data line 53 at the time of current retrieval are impressed to bit lines 56-i-1, 56-i-2. When no coincidence is detected in any memory word in the memory block 51-i at the preceding retrieval, an intra-block coincidence line 55-i is held at logic '0' and power consumption is suppressed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、一致検索の行われるデ
ータ幅を複数のワードに拡張する機能、即ち連続する複
数回の検索でそれぞれ一致が検出された場合に、全体と
しての一致が検出される機能を備えた連想メモリに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention has a function of expanding the data width of a match search to a plurality of words, that is, when a match is detected in a plurality of consecutive searches, a match is detected as a whole. 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, digital data is stored in each of a plurality of arranged memory words, search data is input, and all or a predetermined part of the input search data is matched with a bit pattern. Associative memory for searching a memory word in which digital data having a bit pattern to be stored is searched.
memory, content addressable memory; Content A
(Addressable Memory) 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, each of which has m bits as one word and is composed of m-bit memory cells arranged in the lateral direction of the drawing.
..., 11_n are provided. Also, this associative memory 1
0 is provided with a search data register 12 into which search data of 1 word is input and latched.
All or a predetermined part of the bit pattern of the search data latched in the memory words 11_1 and 11_
Of the stored data stored in 2, ..., 11_n, the match / mismatch of the bit pattern of the portion corresponding to the above bit pattern is compared, and each memory word 11_1, 11_ is compared.
, ..., 11_n provided in correspondence with the match lines 14_1, 14_2, ..., 14_n, the memory words 11_1, 11_2, the bit patterns of which match.
…, Matching lines 14_1, 14_2 corresponding to 11_n
.., 14_n, a coincidence signal of logic '1' (5 V here) is output. Other match lines 14_1, 14
_2, ..., 14_n stays at logic '0' (here, 0 V).

【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に読み出される。
These matching lines 14_1, 14_2, ...,
The signal output to 14_n is the flag register 15_
1, 15_2, ..., 15_n. here,
As an example, each flag register 15_
1, 15_2, ..., 15_n are respectively “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, flag register 15_2 and flag The address signal AD corresponding to the flag register having the higher priority of the two registers 15_3) is sequentially output. Here, the younger the subscript, the higher the priority. Therefore, when only one encode pulse EP is input, the 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, and word lines 18_1, 18_2, ..., 1 provided corresponding to the memory words 11_1, 11_2, ..., 11_n, respectively.
Any one of the word lines 8_n corresponding to the input address signal AD (here, the word line 18_n
An access signal (here, a signal of logic "1") is output to 2). As a result, the storage data stored in the memory word 11_2 corresponding to the word line 18_2 to which the access signal is output is read 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 this time.

【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 and matches them. The memory is configured so that the address of the memory word having the stored data to be obtained can be obtained, and the entire data stored in the memory word can be read out if necessary.

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

【0009】図2は、データ拡張機能を備えた連想メモ
リの一例を示すブロック図である。図1に示した連想メ
モリの構成要素と対応する構成要素には、図1に付した
符号と同一の符号を付して示し、その要素についての重
複説明は省略する。
FIG. 2 is a block diagram showing an example of an associative memory having a data expansion function. The components corresponding to the components of the associative memory shown in FIG. 1 are designated by the same reference numerals as those shown in FIG. 1, and duplicate description of those 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が直接接続されている。
The match lines 14_1, 14_2, ... Extending from the memory words 11_1, 11_2, ... Are connected to one input terminal of each AND gate 20_1, 20_2 ,. In addition, each AND gate 20_1, 20_
The other input terminals of 2, ...
The output terminals of 21_3, ... Are connected, and one input terminal of each OR gate 21_2, 21_3, ... Is connected to the initial search control line 22. However, the OR gate corresponding to the uppermost AND gate 20_1 in the figure is omitted, and the initial 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_, respectively.
, ..., and 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
The output terminals of _2, ... Are connected to the priority encoder 16 (not shown in FIG. 2) shown in FIG.
2 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 first and second flag registers 23_1, 24_1, 23_2, 24_2, ... Corresponding to each other corresponds to each flag register 15_1, 15 shown in FIG.
Corresponds to _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の時点の入力データが
ラッチされる。
First flag registers 23_1 and 23_
2, ... and the second flag registers 24_1, 24_2 ,.
, The 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_
1, 23_2, ... Latches the input data at the time of the rising edge a of the match result latch signal S1,
The input data at the time of the falling edge 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 in the drawing, each memory word 11_1, 11_
2, 11_3, 11_4, 11_5, 11_6 ...
It is assumed that the 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 individually searching each stored data, when the search data REF_DATA is input to perform the search, the first search timing signal S is applied 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 match signal of logic “1” is output to the match line 14_2 corresponding to the memory word 11_2 in which the data “B” is stored and is input to the AND gate 20_2, and At the same time, the first search timing signal S2 is input to the AND gate 20_2 via the OR gate 21_2.
A signal of logic “1” is output from 0_2. Further, at this time, since the logic "0" signal is output to the other match lines 14_1; 14_3, 14_4, ..., The logic "0" is output from the other AND gates 20_1; 20_3, 20_4 ,. Signal 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 in 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. It is latched in the second flag register 24_2 at the timing of the subsequent falling edge b of the match result latch signal S1.

【0017】又、第1のフラグレジスタ23_2及び第
2のフラグレジスタ24_2に論理‘1’の信号がラッ
チされる各タイミングで、他の第1フラグレジスタ23
_1;23_3,23_4,…、及び他の第2のフラグ
レジスタ24_1;24_3,24_4,…には論理
‘0’の信号がラッチされる。
Further, 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, another first flag register 23 is provided.
.. and 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が得られる。
In this way, each second flag register 2
The signals of logic "0", "1", "0", ... Latched by 4_1, 24_2, 24_3, ... Are input to the priority encoder 16 shown in FIG.
An address signal AD of 1_2 is obtained.

【0019】次に、データ幅が拡張された検索を行う場
合について説明する。ここでは、2ワードに拡張され
た、データ‘B’とデータ‘C’からなる2ワードデー
タを検索する場合について説明する。
Next, a case where a search with an expanded data width is performed will be described. Here, a case will be described where 2-word data consisting of data “B” and data “C” expanded to 2 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, first, the data'B 'is searched in the same manner as described above. This causes memory word 11_
2 corresponding to the first and second flag registers 23_2,
At 24_2, the signal of logic "1" is latched. Next, data “C” is input as the search data REF_DATA to perform a search, but at this time, the initial search control line 22 does not output the initial search timing signal S2, and the initial search control line 22 has a logic “0”. Keep the condition. Search data R
When data “C” is input as EF_DATA and a search is performed, a match signal of logic “1” is output to the match lines 14_3 and 14_5 corresponding to the two memory words 11_3 and 11_5 illustrated, respectively.
Since the signal of logic “1” latched in the second flag register 24_2 is input to the
The match signal of _3 passes through the AND gate 20_3 and
A signal of logic "1" indicating a match is latched in the second flag registers 23_3 and 24_3. On the other hand, since the signal of logic “0” latched by the second flag register 24_4 is input to the OR gate 21_5, the match signal of the match line 14_5 is the AND gate 20_5.
Is blocked by the first and second flag registers 23_5,
In 24_5, a signal of logic "0" indicating a mismatch will be latched. In this way, coincidence detection of 2-word data composed of a pair of data “B” and data “C” is performed. Matching detection of data of 3 words or more is similarly performed.

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

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

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

【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 (see FIG. 2) having the above-mentioned word width expansion function. Further, in the above-mentioned associative memory, the data'A '
And the data'B 'are searched, the data'A' and the attribute I with the attribute I in the column of the group number 1 shown in FIG. 3 are added.
Distinguish between a pair with data'B 'with I and a pair with data'A' with attribute II and data'B 'with attribute III in the column of group number 4. It is not possible, for example, based on the information of the attribute I of “name” and the attribute II of “date of birth”, even if the information of the attributes III and IV of a specific individual with which they match is known, the attribute II
A noise other than the necessary information will be mixed in, such as a match being detected even in the pair of and attribute III.

【0025】このような問題を解決した連想メモリが、
本願出願人により提案されている(特願平5−2481
21号参照)。これは未公開であるが、関連技術とし
て、以下この提案に係る連想メモリについて説明する。
An associative memory that solves such a problem is
Proposed by the present applicant (Japanese Patent Application No. 5-2481)
21). Although this has not been published, 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 constituent elements as those of the associative memory shown in FIG. 2 are designated 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 memory word 11_1, 11_2, ...
Are attribute storage units 11_1_1 and 11_2 that store attributes.
, Data storage unit 11_1_ for storing data
2, 11_2_2, ..., Each of the memory words 11_1, 11_2, ... Stores stored data consisting of a pair of an attribute and data corresponding to each other. Here, as shown, each memory word 1
Numerals 1_1, 11_2, 11_3, 11_4 respectively belong to the group number 1 shown in FIG. 3 and are attribute I data'A ', attribute II data'B', attribute III data'C ', and attribute IV data. "D" is stored.
The memory words 11_5, 11_6, ... Store the data'C 'of the attribute I, the data'F' of the attribute II, ... Which belong to the group number 2 shown in FIG. Further, in the search, search data REF_DATA including a pair of attribute and data is input.

【0028】各メモリワード11_1,11_2には、
そこに記憶された格納データ(属性及びデータの双方)
が、入力された検索データ(属性及びデータの双方)と
一致しているときに一致信号が出力される一致線14_
1,14_2,…の他、属性のみの一致不一致の信号が
出力される属性一致線30_1,30_2,…が備えら
れている。なお、属性のみの一致や、属性及びデータの
双方の一致を検出する回路は、従来の一致検出回路と同
様に構成される。従来の一致検出回路は連想メモリの分
野において極めて一般的な技術であるため、ここでの図
示及び説明は省略する。
In each memory word 11_1 and 11_2,
Stored data (both attributes and data) stored there
Matches the input search data (both the attribute and the data), a match signal is output.
In addition to 1, 14_2, ..., Attribute matching lines 30_1, 30_2 ,. The circuit that detects the matching of only the attributes or the matching of both the attributes and the data is configured similarly to the conventional matching detection circuit. Since the conventional coincidence detection circuit is a very general 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,…の信号をラッ
チする。
Third flag registers 31_1, 31_2, ... Are provided corresponding to the respective memory words 11_1, 11_2, and the respective attribute match lines 30_1, 30_2 ,.
Is the corresponding third flag register 31_1, 31_
2, extending to the data input terminals. Further, in the associative memory, one data line 32_1, 32_2, ... Is provided for each memory word group consisting of a plurality of memory words storing data belonging to each data group shown in FIG.
And data lines 32_1, 32_2,
... and the output terminals of the second flag registers 24_1, 24_2, ... Between the first switches 33_1, 33, respectively.
_2, ... are provided. These first switches 3
3_1, 33_2, ... Are specifically configured using transistors or the like. The same applies to other switches described below. Each of the first switches 33_1, 33_2, ...
Is the corresponding third flag register 31_1, 31_
When the logic "1" signal is latched to 2, ..., It is conducted, and when the logic "0" signal is latched, it is cut off. Each third flag register 31_1, 31_
2, ... 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が備えられてい
る。
Further, the second switches 34_1, 34_2, ... Are provided between the data lines 32_1, 32_2, ... And the input terminals of the OR gates 21_1, 21_2 ,. 34_1, 34_
2, ... Corresponding attribute matching lines 30_1, 30_2, ...
The signal is controlled so that the signal is in a conductive state when the signal is a logic "1" indicating a match and is in a cutoff state when the signal is a 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 before the AND gate 20_1 corresponding to the highest memory word 11_1 shown in the figure.

【0031】以上のように構成された連想メモリにおい
て、一致検索は以下のようにして行われる。
In the associative memory configured as described above, the matching 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 a single data search for one word and a first search among a plurality of continuous words are the same as those in the conventional associative memory with word expansion function shown in FIG. The description is omitted 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 corresponding to the first and second flag registers 23_
It is assumed that the logic "1" is latched in 2, 24_2.
At this time, in response to the matching of the attributes, the memory word 11_2
A signal of logic "1" is output to the attribute matching line 30_2 corresponding to the third flag register 3
The signal of logic “1” is also latched in 1_2, the corresponding first switch 33_2 is turned on, and the logic “1” of both the attribute and the data stored in the corresponding second flag register 24_2 is stored. The signal is output to the data line 32_1. Along with this, the corresponding second switch 3
Although 4_2 is also turned on, it is an unnecessary 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 the search data REF_DATA consisting of the attribute IV and the data'D 'is input to perform the search. 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 is output to the data line 32_1. Further, 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 is output to the match result latch control line 25. The signal S1 causes the corresponding first and second flag registers 23_4 and 24_4 to latch the signal of logic “1”. Further, at this time, the signal of logic “1” output to the attribute matching line 30_4 is latched in the corresponding third flag register 31_4, and the corresponding first switch 33.
_4 is turned on, and the signal of logic “1” of the second flag register 24_4 is output to the data line 32_1. Further, in the second search, the logic "0" representing the attribute mismatch is output to the attribute match line 30_2 corresponding to the memory word 11_2, and thus "0" is output to the corresponding third flag register 31_2. Is stored in memory word 11_
The first switch 33_2 corresponding to 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, for example, the data of the attribute III in the same group, 1 is subtracted from the obtained address to obtain the address of the memory word 11_3. It is sufficient to obtain the address, input the address to the address decoder 17, and read the content 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 consisting of the attribute IV and the data'D ', for example, the attribute I
When the search is performed using the search data including V and the data “B”, the attributes of the memory word 11_4 match, 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 the first and second flag registers 23_4, 24_4. Is latched with a logic '0' indicating that no match was found. In addition, the attribute does not match for the memory word 11_2 with which the data'B 'matches, and therefore both the attribute and the data do not match.

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

【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 on the assumption that the number of data belonging to one group is predetermined. When the fixed-length data line is provided in this way, it is necessary to estimate the maximum number of data belonging to one group and to provide the data line with the length corresponding to the maximum number of data. In this case, when a data group is composed of a number of data smaller than the maximum, useless memory words are generated. Therefore, it is preferable that the data line has 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_.
1, 11_2, 11_3, ..., On the data line 32, 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_
2, 40_3, 40_4, ... Corresponding memory words 11_2, 11_3, 11_4, ... And memory words 11_1, 11_2, 11_3, which are adjacent immediately above them.
It is located between ... Those switches 40_
Every other switch 40_2, 40_4, 40_6, ... Of the switches 2, 40_3, 40_4, ...
1 is turned on by the first switch control signal output to 1,
The third switch 40_3, 40_7, ... Are turned on by the second switch control signal output to the second control line 42, and the eighth switch 40_ of the remaining switches.
5, ... 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 this case, by outputting the first switch control signal to the first control line 41, every other switch 40_2, 4
Turn on 0_4, 40_6, ... As a result, each two memory words 11_1, 11_2; 11_3, 11_
4; 11_5, 11_6; ... The data lines cut off are formed. Further, when the number of data forming one data group is 4, the first switch control signal is output to the first control line 41 and the second switch control signal is output to the second control line 42. . Then 4 memory words 1 each
1_1, 11_2, 11_3, 11_4; 11_5, 1
A data line that is cut is formed every 1_6, .... Similarly, when the number of data forming 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 control line is output.
The third switch control signal is output to the control line 43. As a result, each of the eight memory words 11_1, ..., 11_
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 vacancy occurs in the memory word, but when it is other than 2 n , for example, 3, 5, 9 etc., it is vacant. A memory word will result. To prevent this empty memory word from occurring, a large number of switches 40_
If 2, 40_3, ... Can be arbitrarily turned on and off, the number of control lines becomes large, and the control circuit that outputs the switch control signal to these 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 variable data lines.

【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のデー
タを配置することにより、自動的に過不足ない数のメモ
リワード毎に切断されたデータ線が形成されることにな
る。
The data line 32 spans multiple memory words.
Connected to the data line 32 in series with each other,
The switches 40_2, 40_3, 40_4 corresponding to the respective memory words other than the uppermost memory word.
Is provided in the same manner as in the case of FIG. In each memory word, each attribute storage unit 11_1_1, 11_2
_1, 11_3_1, ... Are provided, and these attribute storage units 11_1_1, 11_2_1, 11_3_1 ,.
Each of the illustrated attributes I, II, III, IV is stored in. In this example, the attribute storage unit 11_1_1,
The attributes stored in 11_2_1, 11_3_1, ...
Depending on whether the attribute is I or the other attributes II, III, and IV, the corresponding switch is kept off for the attribute I, and the corresponding switch is turned on for the other attributes II, III, and IV. It is configured to do. According to this structure, the data of the attribute I is arranged at the head of each data group regardless of the number of data constituting one data group or the data groups having different data numbers are mixed. By doing so, a data line is automatically formed for each memory word of a sufficient number.

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

【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 The switch constituted by 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 in accordance with the number of data constituting one data group. Of course, the length of the data line may be adjusted by controlling the switch with a dedicated control line instead of using the attribute data.

【0047】[0047]

【発明が解決しようとする課題】連想メモリでは、他の
一般のRAMメモリ等と同様に消費電力の低減化が要請
される。一般のRAMメモリでは、アドレスが入力され
て、そのアドレスのメモリワードがアクセスされるた
め、多数のメモリワードを多数のブロックに分けてお
き、入力されたアドレスに応じて、そのアドレスで指定
されるメモリワードを含むブロックのみを活性化(アク
ティブ)することによって消費電力の低減化が図られて
いる。
In the associative memory, it is required to reduce the power consumption like 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 the address is designated according to the input address. Power consumption is reduced by activating only a block including a memory word.

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

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

【0050】しかしながら、特開平3−212896号
に記載の技術では、検索時の入力アドレスの一部に、予
めメモリブロックの選択情報を入れておく必要があり、
更に、その解釈のための余分なハードウェアや処理時間
が必要になるという問題があった。
However, in the technique described in Japanese Patent Laid-Open No. 3-212896, it is necessary to previously enter the memory block selection information into a part of the 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 circumstances, it is an object of the present invention to provide an associative memory in which only the necessary part is activated under the condition that the entire circuit does not need to be activated, thereby reducing the power consumption. And

【0052】[0052]

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

【0053】[0053]

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

【0054】[0054]

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

【0055】図8は、本発明の連想メモリの第1実施例
のブロック図である。
FIG. 8 is a block diagram of a first embodiment of the associative memory of 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 of (N in the embodiment) memory blocks 51_ are formed as in a normal large capacity memory.
1, 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 for performing a search across a plurality of words.

【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 block 51_1, 51_2, ..., 51
_N are bit line drive circuits 52_1 and 52_, respectively.
, ..., 52_N, and each bit line drive circuit 52_1, 52_2, ..., 52_N has a search data line 53, control lines 54A and 54B, and an intra-block matching line 5
5_1, 55_2, ..., 55_N are connected.

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

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

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

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

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

【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 drive circuits 52_1 and 52_
2, ..., 52_N are their respective lines 53, 54A, 54
According to 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 in-block match line is activated, the bit line (including the bit bar line is activated). ) 56_1, 56_2, ..., 56
_N is driven to activate only the corresponding memory block to perform the search operation.

【0064】図9は、図8のi番目のビット線駆動回路
を示した回路図である。
FIG. 9 is a circuit diagram showing the i-th 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 on the initial search control line 54B and the intra-block matching line 55_i, and 61_i is the memory block 51.
_I for activating the bit line 56_i_1, the transfer gate is turned on / off by the output of the OR gate 60_i, 62_i is an inverter for inverting the output of the OR gate 60_i, and 63_i is for inverting the output of the transfer gate 61_i. The 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, in the first search, the first search control line 5
A control signal of logic '1' is applied to 4B, and the control signal is transmitted to the transfer gate 61_i via the OR gate 60_i and transferred to the transfer gate 61_i.
i is turned on, and the search data input via the search data line 53 is applied to the bit line 56_i_1 and the bit bar line 56_i_2. In this first search, all 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 register in the memory block 51_i (the second flag register 24_1, 24_2, FIG. 4)
When a logical "1" is stored in any one of the blocks (see ...), the OR gate 64_i that performs the logical sum operation of the storage states of the flag registers in the block, the logical "1" is stored in 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の充放電に伴う電
力消費が抑えられる。
During the second and subsequent searches, 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 in-block match line 55_i remains at logic “0”, and the output of the OR gate 60_i is at logic “0”. 'Because the transfer gate 61_i is in the "off" state, and the search data input via the search data line 53 in this search is the bit line 56_i_1,
The bit line 56_i_2 is not applied to the bit line 56_i_2.
Power consumption due to charging / discharging of the _i_1 and the bit bar line 56_i_2 is suppressed.

【0069】一例として、4つの連続する検索データの
検索を行う場合を考える。最初の検索データが入力され
ると、制御線54Bが活性化され、ビット線駆動回路5
2_1,52_2,…,52_Nを介して、全てのビッ
ト線(ビットバー線を含む)が活性化され、N個のブロ
ック51_1,51_2,…,51_N全てが活性化状
態となる。
As an example, consider the 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 drive circuit 5
, 52_N, all bit lines (including bit bar lines) are activated, 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 detected in p blocks (p ≦ N; N is the total number of blocks) in the first search,
The p in-block match lines are activated, and the second search operation is performed only on p memory blocks. As a result, when a match is detected in q (q ≦ p) blocks, q in-block match lines are activated this time. It is assumed that a match is detected in r (r ≦ q) memory blocks in the third and s (s ≦ r) memory blocks in the fourth.

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

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

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

【0074】図10は、第2実施例の全体構成を示し、
図11は詳細構成を示したものである。
FIG. 10 shows the overall construction 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 memory word 1
The register 71_i for storing the match flag output from 1_1_i to 11_k_i is a switch element 72_1 corresponding to the register 71_i when the match flag is stored in any of the match flag storage registers 70_1_i to 70_k_i.
Wired NOR including a wire grounded by _i to 72_k_i, 73_i is a switch element for connecting the wire to a power source to precharge and maintaining the state, 74_i is the wired NOR 71_i
Is an inverter for inverting the output of the above-mentioned and making it an in-block coincidence 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 drive circuit 52_i of FIG. 11, 80_i is the corresponding memory block 51_i and the preceding and following memory blocks 51_i-1 (not shown), 51.
_I + 1 is a register for storing the in-block hit flag, 81_i is an OR gate that outputs the logical sum of the output of the in-block hit flag storage register 80_i and the output of the initial search control line 54B (corresponding to the OR gate 60_i of FIG. 9). ), 82_i is the OR gate 81_i.
And an output of a search control line 54A (omitted in FIG. 9) and an AND gate (omitted in FIG. 9), 83_
i is a transfer gate (corresponding to the transfer gate 61_i in FIG. 9) whose ON / OFF state is controlled by the output of the AND gate 82_i for activating the bit line 56_i_1, and 84_i is the bit bar line 56_i.
The AND gate 82_i for activating i_2
An ON-OFF state is controlled by the output of the transfer gate with an inverter (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_, respectively.
A switch element for precharging 1,56_i_2.

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

【0078】同じワード群に属する検索データが、3つ
のブロックにわたって入力されていることも考えられる
が、一般的に、ある関連のあるデータが3つ以上のブロ
ックにわたることは考え難く、通常は、2つのブロック
にわたるデータを考慮すれば十分である。仮に、データ
が3つのブロックにわたることが想定できる場合は、両
隣だけでなく、更にその隣のブロックのブロック内一致
線を、該ブロック線駆動回路に入力すればよい。
It is possible that search data belonging to the same word group is input over three blocks, but in general, it is unlikely that certain related data will extend over three or more blocks. It is sufficient to consider the data over two blocks. If it can be assumed that the data spans three blocks, it is sufficient to input not only the adjacent blocks but also the intra-block matching lines of the blocks next to the blocks 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 including three words is performed three times in a row. In the first search, the first search control line 54B is activated, the search data is applied to the bit line, and the search operation is started.
Activate 4A. Since the control line 54B is activated,
In the first search, all 1 memory blocks 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, the 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 the in-block hit flag storage register 80_i of the bit line drive circuit 52_i. As a whole, p pieces (p ≦ N;
When a match is detected in N memory blocks (the total number of blocks), 3p (3p ≦ N) memory blocks are activated in the worst case where the match detection blocks are not at both end positions in the second search. To be done. As a result, if a match is detected in q memory blocks, in the third search,
At the worst, 3q memory blocks are activated. As a result, the power consumption is (N / N) × (3p / N) × (3q / N) << 1 times the power consumption of the circuit that does not have the configuration of this embodiment.

【0083】通常、p、q<<Nであり、大幅な消費電
力の低減が達成される。
Usually, p and q << N, and a significant 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 between memory blocks can be estimated in advance.

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

【0087】従って、メモリブロック内で、ブロック内
一致信号を、自分のビット線駆動回路のみへ行くもの
と、自分と左隣のビット線駆動回路へ行くものと、自分
と右隣のビット線駆動回路へ行くものの、3通りに分類
して出力している。
Therefore, in the memory block, the intra-block coincidence signal goes to only the bit line driving circuit of its own, the bit line driving circuit of its own and the left adjacent bit line driving, and the bit line driving of its own and right adjacent bit lines. Although it goes to the circuit, it is 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,
All the memory blocks are activated at the time of the initial search, but it is also possible to limit the number of memory blocks activated at the time of the initial search, for example, by the technique described in Japanese Patent Laid-Open No. 3-212896. Is.

【0090】[0090]

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

【図面の簡単な説明】[Brief description of 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 expansion function.

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

【図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 showing 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 drive circuit used in the first embodiment.

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

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

【図12】本発明の連想メモリの第3実施例のブロック
FIG. 12 is a block diagram of a third embodiment of an associative 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 word 11_1_1, 11_2_1, ... Attribute storage section 11_1_2, 11_2_2, ... Data storage section 14_1, 14_2, ... Matching line 16 Priority encoder 17 Address decoder 18_1, 18_2, ... Word line 20_1, 20_2, ... And gate 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 First search control line 55_1, 55_2, ... In-block match line 56_1, 56_2, ... Bit line (including bit bar line) 70_1_i, 70_2_i, ... Match flag storage register 80_i In-block hit flag Storage register

Claims (9)

【特許請求の範囲】[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. A plurality of memory words each of which is divided into a plurality of memory blocks so as to include at least one memory word group, and a corresponding memory provided at the time of searching When it is detected that the stored data corresponding to the input search data is stored in the word, a match flag indicating that the stored data corresponding to the input search data is stored is stored. According to the state of the flag register and the match flag stored in the flag register at the time of the previous search, at the time of the current 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 associative memory according to claim 1, wherein the bit line drive circuit is adapted to drive a bit line of a memory block including a memory word corresponding to a flag register in which the match flag is stored.
【請求項3】請求項2において、前記ビット線駆動回路
が、更に、前記メモリワード群が分割されて格納されて
いる可能性のある他のメモリブロックのビット線も駆動
するようにされている連想メモリ。
3. The bit line driving circuit according to claim 2, further driving bit lines of another memory block in which the memory word group may be divided and stored. Associative memory.
【請求項4】請求項3において、前記ビット線が駆動さ
れる他のメモリブロックが、前記一致フラグが格納され
ているフラグレジスタに対応するメモリワードを含むメ
モリブロックに隣接するメモリブロックである連想メモ
リ。
4. The association according to claim 3, wherein the other memory block to which the bit line is driven is a memory block adjacent to a memory block including a memory word corresponding to a flag register in which the match flag is stored. memory.
【請求項5】請求項2において、前記ビット線駆動回路
が、前記メモリワード群の他のメモリブロックへの分割
状態に応じて、対応するメモリブロックのビット線を駆
動するようにされている連想メモリ。
5. The associative device according to claim 2, wherein the bit line driving circuit drives a bit line of a corresponding memory block in accordance with a division state of the memory word group into other memory blocks. memory.
【請求項6】請求項1において、前記メモリワード群に
対する初回の検索の際は、全てのメモリブロックのビッ
ト線を駆動するようにした連想メモリ。
6. The associative memory according to claim 1, wherein the bit lines of all the memory blocks are driven in the first search for the memory word group.
【請求項7】請求項1において、前記メモリワード群に
対する初回の検索の際も、所定のメモリブロックのビッ
ト線のみを駆動するようにした連想メモリ。
7. The associative memory according to claim 1, wherein only the bit line of a predetermined memory block is driven even when the memory word group is searched for the first time.
【請求項8】請求項1において、前記一致フラグを、メ
モリブロック間の優先順位をつけるための回路の出力か
ら生成するようにした連想メモリ。
8. The associative memory according to claim 1, wherein the match flag is generated from an output of a circuit for prioritizing memory blocks.
【請求項9】請求項1において、更に、前回の検索の際
に、前記フラグレジスタに前記一致フラグが格納された
ことを受けて、該フラグレジスタに対応するメモリワー
ドを含む前記メモリワード群について、今回の検索を実
行する複数連続検索制御回路を備えた連想メモリ。
9. The memory word group according to claim 1, further comprising a memory word corresponding to the flag register in response to the match flag being stored in the flag register in the previous search. , Associative memory with multiple continuous search control circuits to execute this 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 true JPH07287718A (en) 1995-10-31
JP3063956B2 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
JP3063956B2 (en) 2000-07-12

Similar Documents

Publication Publication Date Title
US5946704A (en) Associative memory to retrieve a plurality of words
US7643324B2 (en) Method and apparatus for performing variable word width searches in a content addressable memory
US5530665A (en) Method of using associative memories and an associative memory
US5592407A (en) Associative memory
US6934796B1 (en) Content addressable memory with hashing function
US6243281B1 (en) Method and apparatus for accessing a segment of CAM cells in an intra-row configurable CAM system
JPS605498A (en) Associative memory device
JPH11273365A (en) Content addressable memory(cam)
WO1998053458A1 (en) Content addressable memory multiple match detection circuit
US6591331B1 (en) Method and apparatus for determining the address of the highest priority matching entry in a segmented content addressable memory device
JP3703518B2 (en) Associative memory system
US7095641B1 (en) Content addressable memory (CAM) devices having priority class detectors therein that perform local encoding of match line signals
JPH09198873A (en) Semiconductor memory
US6868475B2 (en) Content addressable memory having data width extension capability
JP2779114B2 (en) Associative memory
US6813680B1 (en) Method and apparatus for loading comparand data into a content addressable memory system
JP3063956B2 (en) Associative memory
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
JPH0659972A (en) Memory control device
JP3797697B2 (en) Semiconductor memory device
JP2786364B2 (en) Associative memory device
JP3597899B2 (en) Associative memory
JP2783954B2 (en) Associative memory device
JP3528927B2 (en) Semiconductor storage device

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