JPH07272489A - Associative memory - Google Patents

Associative memory

Info

Publication number
JPH07272489A
JPH07272489A JP5414194A JP5414194A JPH07272489A JP H07272489 A JPH07272489 A JP H07272489A JP 5414194 A JP5414194 A JP 5414194A JP 5414194 A JP5414194 A JP 5414194A JP H07272489 A JPH07272489 A JP H07272489A
Authority
JP
Japan
Prior art keywords
data
register
search
input
stored
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
JP5414194A
Other languages
Japanese (ja)
Other versions
JP3573779B2 (en
Inventor
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 JP05414194A priority Critical patent/JP3573779B2/en
Publication of JPH07272489A publication Critical patent/JPH07272489A/en
Application granted granted Critical
Publication of JP3573779B2 publication Critical patent/JP3573779B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To simplify a system constitution and retrieve data at high speeds when a retrieval data is transmitted over two words in an associative memory which is designed to store a plurality of storing data and retrieve the storing data corresponding to an input retrieval data. CONSTITUTION:Data Di, Di+1, Di+2,... input sequentially are set in a register 32 when a write pulse WR- falls and transferred to a register 31 when the write pulse rises. While a data flow is corntrolled in this way, any of select signals CS1, CS2 and CS3 is input. Therefore, a retrieval data REF-DATA is obtained at an output of a selector among two data stored in the two registers 31 and 32.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、複数の格納データを記
憶しておき、検索データを入力し、入力された検索デー
タに対応する格納データを検索する連想メモリに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an associative memory that stores a plurality of stored data, inputs search data, and searches stored data corresponding to the input search data.

【0002】[0002]

【従来の技術】従来より、上記のような検索機能を備え
た連想メモリ(Associative Memor
y,内容アドレス式メモリ;Content Addr
essable Memory)が提案されている。図
5は、連想メモリの一例を表わした回路ブロック図であ
る。
2. Description of the Related Art Conventionally, an associative memory equipped with a search function as described above (Associative Memory)
y, content addressable memory; Content Addr
ESSABLE MEMORY) has been proposed. FIG. 5 is a circuit block diagram showing an example of the associative memory.

【0003】この連想メモリ10には、例えば32ビッ
トを1ワードとする、互いに図の横方向に並ぶ32ビッ
トのメモリセルからなるメモリワード11_1,11_
2,…,11_nが多数備えられている。またこの連想
メモリ10は、1ワードの検索データが入力されラッチ
される検索データレジスタ12および検索データをビッ
ト毎にマスクするマスクデータが格納されるマスクレジ
スタ13を備え、検索データレジスタ12にラッチされ
た検索データのうち、マスクレジスタ13に格納された
マスクデータによりマスクされていない全部もしくは所
定の一部のビットパターンと、各メモリワード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’の一致信号が出力される。そ
れ以外の一致線14_1,14_2,…,14_nは論
理‘0’にとどまる。
In the associative memory 10, memory words 11_1 and 11_ are formed of 32-bit memory cells arranged in the horizontal direction of the figure, for example, 32 bits per word.
A large number of 2, ..., 11_n are provided. The associative memory 10 also includes a search data register 12 into which 1-word search data is input and latched, and a mask register 13 into which mask data for masking the search data for each bit is stored. Of the retrieved search data, all or a predetermined part of the bit pattern not masked by the mask data stored in the mask register 13 and each memory word 11_
1, 11_2, ..., 11_n, the bit patterns of the corresponding portions of the stored data stored in the memory data 11_n are compared with each other, and each memory word 11_
1, 11_2, ..., 11_n corresponding to the matching word lines 14_1, 14_2, ...
2, ..., 11_n Matching lines 14_1, 14_2,
.., 14_n, a coincidence signal of logic "1" is output. Other match lines 14_1, 14_2, ..., 14_n remain at logic '0'.

【0004】これらの一致線14_1,14_2,…,
14_nに出力された信号は、各一致フラグレジスタ1
5_1,15_2,…,15_nに格納される。ここで
は、一例として、図示のように、各一致フラグレジスタ
15_1,15_2,…,15_nにそれぞれ‘0’,
‘1’,‘1’,‘0’,…,‘0’,‘0’が格納さ
れたものとする。これらの一致フラグレジスタ15_
1,15_2,…,15_nに格納された信号はアドレ
スエンコーダ16に入力され、このアドレスエンコーダ
16からは、論理‘1’の信号が格納された一致フラグ
レジスタ(ここでは一致フラグレジスタ15_2と一致
フラグレジスタ15_3の2つ)のうちの優先度の最も
高い一致フラグレジスタに対応するアドレス信号が出力
される。ここでは、添字が若いほど優先順位が高いもの
とし、従ってここでは一致フラグレジスタ15_2に対
応するメモリアドレスが出力される。このアドレスエン
コーダ16から出力されたアドレス信号ADは、必要に
応じてデコーダ17に入力される。デコーダ17ではこ
の入力されたアドレス信号ADをデコードして各メモリ
ワード11_1,11_2,…,11_nのそれぞれに
対応して備えられたワード線18_1,18_2,…,
18_nのうちの入力されたアドレス信号ADに対応す
るいずれか1本のワード線(ここではワード線18_
2)にアクセス信号を出力する。これによりアクセス信
号の出力されたワード線18_2に対応するメモリワー
ド11_2に記憶されているデータが出力レジスタ19
に読み出される。
These matching lines 14_1, 14_2, ...,
The signal output to 14_n corresponds to each match flag register 1
5_1, 15_2, ..., 15_n. Here, as an example, as shown in the figure, the match flag registers 15_1, 15_2, ...
It is assumed that "1", "1", "0", ..., "0", "0" are stored. These match flag registers 15_
The signals stored in 1, 15_2, ..., 15_n are input to the address encoder 16, and from the address encoder 16, a match flag register (here, the match flag register 15_2 and the match flag are stored that stores a signal of logic “1”). The address signal corresponding to the match flag register having the highest priority among the two (registers 2 </ b> _ 3 </ b> _ 3) is output. Here, it is assumed that the smaller the subscript, the higher the priority. Therefore, the memory address corresponding to the match flag register 15_2 is output here. The address signal AD output from the address encoder 16 is input to the decoder 17 as needed. In the decoder 17, the input address signal AD is decoded and word lines 18_1, 18_2, ..., Provided corresponding to each of the memory words 11_1, 11_2, ..., 11_n.
One of the word lines 18_n corresponding to the input address signal AD (here, word line 18_n
The access signal is output to 2). As a result, the data stored in the memory word 11_2 corresponding to the word line 18_2 to which the access signal is output is output to the output register 19
Read out.

【0005】図6は、図5に示す連想メモリ中の1つの
メモリワードを表わした詳細回路図である。このメモリ
ワード11は、同一構成の32個のメモリセル11_
1,11_2,…,11_32から構成されている。各
メモリセル11_1,11_2,…,11_32には、
互いの出力が互いの入力に接続された、第1インバータ
20_1,20_2,…,20_32と第2インバータ
21_1,21_2,…,21_32が備えられてお
り、これらのインバータ20_1,21_1;20_
2,21_2;…;20_32,21_32により各メ
モリセル11_1,11_2,…,11_32に論理
‘1’もしくは論理‘0’の1ビットの情報が記憶され
る。
FIG. 6 is a detailed circuit diagram showing one memory word in the associative memory shown in FIG. This memory word 11 has 32 memory cells 11
1, 11_2, ..., 11_32. In each memory cell 11_1, 11_2, ..., 11_32,
A first inverter 20_1, 20_2, ..., 20_32 and a second inverter 21_1, 21_2, ..., 21_32 whose outputs are connected to each other's inputs are provided, and these inverters 20_1, 21_1; 20_ are provided.
, 21_32 stores 1-bit information of logic "1" or logic "0" in each memory cell 11_1, 11_2, ..., 11_32.

【0006】また各メモリセル11_1,11_2,
…,11_32において、第1のインバータ20_1,
20_2,…,20_32の出力はトランジスタ22_
1,22_2,…,22_32を介してビット線23_
1,23_2,…,23_32と接続されており、この
トランジスタ22_1,22_2,…,22_32のゲ
ートはワード線24に接続されている。また第2のイン
バータ21_1,21_2,…,21_32の出力はト
ランジスタ25_1,25_2,…,25_32を介し
てビットバー線26_1,26_2,…,26_32と
接続されており、このトランジスタ25_1,25_
2,…,25_32のゲートもワード線24に接続され
ている。さらに各メモリセル11_1,11_2,…,
11_32において、ビット線23_1,23_2,
…,23_32とビットバー線26_1,26_2,
…,26_32との間をつなぐように互いにシリーズに
接続された2つのトランジスタ27_1,28_1;2
7_2,28_2;…;27_32,28_32が配置
されており、これら2つのトランジスタ27_1,28
_1;27_2,28_2;…;27_32,28_3
2のうちの一方のトランジスタ27_1,27_2,
…,27_32のゲートは第1のインバータ20_1,
20_2,…,20_32の出力、他方のトランジスタ
28_1,28_2,…,28_32のゲートは第2の
インバータ21_1,21_2,…,21_32の出力
と接続されている。
Further, each memory cell 11_1, 11_2,
..., 11_32, the first inverter 20_1,
The outputs of 20_2, ..., 20_32 are transistors 22_.
Bits 23_ via 1, 22_2, ..., 22_32
, 23_32, and the gates of the transistors 22_1, 22_2, ..., 22_32 are connected to the word line 24. The outputs of the second inverters 21_1, 21_2, ..., 21_32 are connected to the bit bar lines 26_1, 26_2, ..., 26_32 via the transistors 25_1, 25_2, ..., 25_32, and the transistors 25_1, 25_
The gates of 2, ..., 25_32 are also connected to the word line 24. Further, each memory cell 11_1, 11_2, ...
11_32, bit lines 23_1, 23_2,
..., 23_32 and bit bar lines 26_1, 26_2,
..., two transistors 27_1, 28_1; 2 connected in series with each other so as to connect between 26_32 and
7_2, 28_2; ...; 27_32, 28_32 are arranged, and these two transistors 27_1, 28 are provided.
_1; 27_2, 28_2; ...; 27_32, 28_3
One of the two transistors 27_1, 27_2,
The gate of 27_32 is the first inverter 20_1,
, 20_32, and the gates of the other transistors 28_1, 28_2, ..., 28_32 are connected to the outputs of the second inverters 21_1, 21_2 ,.

【0007】また一致線140には、各メモリセル11
_1,11_2,…,11_32に対応して1つずつト
ランジスタ290_1,290_2,…,290_32
が備えられており、それらのトランジスタ290_1,
290_2,…,290_32は互いにシリーズに接続
され、それらのトランジスタ290_1,290_2,
…,290_32の各ゲートは、各2つのトランジスタ
27_1,28_1;27_2,28_2;…;27_
32,28_32の中点と接続されている。
Further, the match line 140 is provided with each memory cell 11
, _1, 11_2, ..., 11_32, one by one, transistors 290_1, 290_2, ..., 290_32
Are provided, and those transistors 290_1,
290_2, ..., 290_2 are connected in series with each other, and their transistors 290_1, 290_2,
..., each gate of 290_32 has two transistors 27_1, 28_1; 27_2, 28_2;
It is connected to the midpoint of 32, 28_32.

【0008】またこの一致線140にはもう1つのトラ
ンジスタ290_0がシリーズに接続されており、この
一致線140の図6の左端はこのトランジスタ290_
0を介して接地されている。このトランジスタ290_
0のゲートは制御線300に接続されている。さらにこ
の一致線の図6の右側にはインバータ310が備えられ
ており、一致線140はこのインバータ310の出力側
にも延びて各一致フラグレジスタ15_1,15_2,
…,15_n(図5参照)と接続されている。このイン
バータ310の入力と電源VDDとの間には2つのP型ト
ランジスタ320,330が備えられており、それらの
うちの一方のP型トランジスタ320のゲートは制御線
300と接続され、他方のP型トランジスタ330のゲ
ートはインバータ310の出力と接続されている。
Further, another transistor 290_0 is connected in series to the match line 140. The left end of the match line 140 in FIG. 6 is the transistor 290_0.
It is grounded through 0. This transistor 290_
The 0 gate is connected to the control line 300. Further, an inverter 310 is provided on the right side of this match line in FIG. 6, and the match line 140 also extends to the output side of this inverter 310 so that each match flag register 15_1, 15_2 ,.
, 15_n (see FIG. 5). Two P-type transistors 320 and 330 are provided between the input of the inverter 310 and the power supply V DD, and the gate of one of the P-type transistors 320 is connected to the control line 300 and the other is connected. The gate of the P-type transistor 330 is connected to the output of the inverter 310.

【0009】このような構造のメモリワード及びその周
辺回路を備えた連想メモリにおいて、一致検索は以下の
ようにして行なわれる。先ず制御線300が論理‘0’
となりP型トランジスタ320が導通状態となって一致
線140がプリチャージされる。この際、トランジスタ
290_0は非導通状態となって一致線140が確実に
接地ラインから切り離され、これにより確実にプリチャ
ージが行なわれる。このようにして一致線140が先ず
プリチャージされた後検索が行なわれる。
In the associative memory having the memory word having such a structure and its peripheral circuit, the matching search is performed as follows. First, the control line 300 has a logic "0".
The P-type transistor 320 becomes conductive and the match line 140 is precharged. At this time, the transistor 290_0 is turned off and the match line 140 is reliably disconnected from the ground line, so that the precharge is surely performed. In this way, the match line 140 is first precharged and then searched.

【0010】ここで、メモリセル11_1には、論理
‘1’の情報が記憶されているものとする。即ちこの場
合第1のインバータ20_1の出力側が論理‘1’、第
2のインバータ21_1の出力側が論理‘0’の状態に
ある。このメモリセル11_1に対して論理‘1’の検
索が行なわれるものとする。即ち、ビット線23_1が
論理‘1’、ビットバー線26_1が論理‘0’とされ
る。ワード線24は論理‘0’のままの状態に保持され
ている。また制御線300が論理‘1’となり、トラン
ジスタ290_0が導通状態となる。この場合トランジ
スタ27_1のゲートには論理‘1’の電圧が印加さ
れ、ビット線23_1の論理‘1’の信号がトランジス
タ290_1のゲートに印加され、これによりトランジ
スタ290_1が導通状態となる。即ちメモリセル11
_1に記憶されたビット情報とビット線23_1、ビッ
トバー線26_1を経由して入力された検索データ中の
ビット情報が一致する場合に、対応するトランジスタ2
90_1が導通状態となる。
Here, it is assumed that information of logic "1" is stored in the memory cell 11_1. That is, in this case, the output side of the first inverter 20_1 is in the state of logic "1" and the output side of the second inverter 21_1 is in the state of logic "0". It is assumed that a search for logic "1" is performed on this memory cell 11_1. That is, the bit line 23_1 is set to logic "1" and the bit bar line 26_1 is set to logic "0". The word line 24 is held in the state of logic "0". Further, the control line 300 becomes logic “1”, and the transistor 290_0 is turned on. In this case, a logic "1" voltage is applied to the gate of the transistor 27_1 and a logic "1" signal of the bit line 23_1 is applied to the gate of the transistor 290_1, whereby the transistor 290_1 is turned on. That is, the memory cell 11
If the bit information stored in _1 matches the bit information in the search data input via the bit line 23_1 and the bit bar line 26_1, the corresponding transistor 2
90_1 becomes conductive.

【0011】また、メモリセル11_2には論理‘0’
の情報が記憶されているものとする。この場合第1のイ
ンバータ20_2の出力側が論理‘0’、第2のインバ
ータ21_2の出力側が論理‘1’の状態にある。この
メモリセル11_2に対してやはり論理‘1’の検索が
行なわれるものとする。即ち、ビット線23_2が論理
‘1’、ビットバー線26_2が論理‘0’とされ、制
御線300が論理‘1’とされる。この場合、トランジ
スタ28_2を経由して論理‘0’の状態にあるビット
バー線26_2の信号がトランジスタ290_2のゲー
トに印加され、したがってこのトランジスタ290_2
は非導通状態にととどまることになる。即ち不一致の場
合、一致線14にプリチャージされていた電荷はディス
チャージされない。
The memory cell 11_2 has a logic "0".
Information is stored. In this case, the output side of the first inverter 20_2 is in the logic "0" state and the output side of the second inverter 21_2 is in the logic "1" state. It is assumed that a search for logic "1" is also performed on this memory cell 11_2. That is, the bit line 23_2 is set to logic "1", the bit bar line 26_2 is set to logic "0", and the control line 300 is set to logic "1". In this case, the signal on the bit bar line 26_2 in the logic '0' state is applied to the gate of the transistor 290_2 via the transistor 28_2, and thus this transistor 290_2
Will remain non-conducting. That is, in the case of a mismatch, the charges precharged on the match line 14 are not discharged.

【0012】また、マスクをかけたビットについては、
メモリセル11_32に示すように、ビット線23_3
2、ビットバー線26_32の双方とも論理‘1’とさ
れる。この場合このメモリセル11_32に論理‘1’
の情報が記憶されているか論理‘0’の情報が記憶され
ているかに応じてトランジスタ27_32もしくはトラ
ンジスタ28_32のいずれかが導通状態となり、いず
れの場合もトランジスタ290_32は導通状態とな
る。
Further, regarding the masked bits,
As shown in the memory cell 11_32, the bit line 23_3
2 and both of the bit bar lines 26_32 are set to logic "1". In this case, the memory cell 11_32 has a logic "1".
Either the transistor 27_32 or the transistor 28_32 is turned on depending on whether the information of 1 is stored or the information of logic '0' is stored, and in either case, the transistor 290_32 is turned on.

【0013】このように、図6に示すメモリワードで
は、メモリワードに記憶されたビットパターンとビット
線23_1,23_2,…,23_32、ビットバー線
26_1,26_2,…,26_32を経由して入力さ
れた検索データのビットパターンとが一致する(マスク
のかけられたビットについては、上述のように一致して
いるものとみなされる)場合、一致線140にプリチャ
ージされた電荷がトランジスタ290_32,…,29
0_2,290_1,290_0を経由して流れ出し、
これにより一致線140がディスチャージされ、この一
致線140のうち図6におけるインバータ310の左側
の部分は論理‘0’の状態となる。この論理‘0’がイ
ンバータ310で反転され、論理‘1’の一致信号がこ
のインバータ310から出力され、各一致フラグレジス
タ15_1,15_2,…,15_32(図5参照)に
入力される。
As described above, in the memory word shown in FIG. 6, the bit pattern stored in the memory word and the bit lines 23_1, 23_2, ..., 23_32 and the bit bar lines 26_1, 26_2 ,. If the bit pattern of the search data matches (the masked bits are considered to match as described above), the charges precharged on the match line 140 are the transistors 290_32 ,. 29
It flows out via 0_2, 290_1, 290_0,
As a result, the match line 140 is discharged, and the part of the match line 140 on the left side of the inverter 310 in FIG. 6 is in the logic “0” state. This logic "0" is inverted by the inverter 310, and a match signal of logic "1" is output from this inverter 310 and input to each match flag register 15_1, 15_2, ..., 15_32 (see FIG. 5).

【0014】またメモリワードに記憶されたビットパタ
ーンとビット線23_1,23_2,…,23_32、
ビットバー線26_1,26_2,…,26_32を経
由して入力された検索データのビットパターンとが不一
致の場合には、一致線140はプリチャージによる論理
‘1’の状態にとどまり、この論理‘1’がインバータ
310で反転され、論理‘0’の不一致信号が出力され
る。
The bit pattern stored in the memory word and the bit lines 23_1, 23_2, ..., 23_32,
When the bit pattern of the search data input via the bit bar lines 26_1, 26_2, ..., 26_32 does not match, the match line 140 remains in the logic “1” state due to the precharge, and this logic “1”. 'Is inverted by the inverter 310 and a mismatch signal of logic' 0 'is output.

【0015】このように、図6に示すメモリワードは、
検索に先立って一致線140がP型トランジスタ320
を経由してプリチャージされ、検索により一致した場合
にだけトランジスタ290_0,290_1,290_
2,…,290_32を経由してディスチャージされる
ように構成したため、各検索毎にディスチャージされる
のは、ほとんどの場合多数の一致線のうちの極く一部で
あって、大部分の一致線はプリチャージされた状態にと
どまり、したがって次の検索に先立ってプリチャージす
る必要のある一致線の本数は少なくて済み、検索に伴う
消費電力が低く押えられる。
Thus, the memory word shown in FIG.
Prior to the search, the match line 140 indicates the P-type transistor 320.
Are precharged via and are matched by search only if the transistors 290_0, 290_1, 290_
2, ..., 290 — 32, the discharge is performed via each search. Therefore, in most cases, only a small number of the matching lines are discharged, and most of the matching lines are discharged. Remains in a precharged state, so that the number of match lines that need to be precharged before the next search is small, and the power consumption associated with the search is suppressed.

【0016】尚、図6に示す回路構成は一例に過ぎず、
種々の構造のものが知られ、あるいは考えられている。
The circuit configuration shown in FIG. 6 is merely an example.
Various structures are known or considered.

【0017】[0017]

【発明が解決しようとする課題】例えば上記のように構
成された連想メモリを用いて、通信回線等を経由してき
たデータをその連想メモリに入力して検索を行なうこと
を考える。図7は、通信回線等を経由して送信されてき
たデータの構造図である。例えば32ビットパラレルの
通信回路を経由して各時刻 …,ti ,ti+1 ,t
i+2 ,… にそれぞれ32ビットのデータ …,Di
i+1 ,Di+2 ,…が送信されてきたものとする。とこ
ろが、例えば図6に示すように、検索に用いる検索デー
タREF_DATAが、32ビットパラレルのデータ
…,Di ,D i+1 ,Di+2 ,… のいずれかと一致する
とは限らず、例えば16ビット、8ビット等を単位とし
てその単位の1つ分もしくは複数分ずれている場合があ
る。図6では、これを一般化し、データDi の一部に検
索データREF_DATAの一部のkビットが含まれ、
次に入力されるデータDi+1 に検索データREF_DA
TAの残りの32−kビットが含まれていることを示し
ている。
DISCLOSURE OF THE INVENTION Problems to be Solved by the Invention
Using the created associative memory,
The retrieved data by entering it into the associative memory
think of. Figure 7 is transmitted via a communication line etc.
It is a structural diagram of the data. For example, 32-bit parallel
Each time via communication circuit, ti , Ti + 1 , T
i + 2 ,, ... are 32-bit data respectively, Di ,
Di + 1 , Di + 2 , ... are transmitted. Toko
For example, as shown in Fig. 6, search data used for search
REF_DATA is 32-bit parallel data
…, Di , D i + 1 , Di + 2 Matches any of the ...
However, the unit is not limited to 16 bits, 8 bits, etc.
May be offset by one or more units.
It In FIG. 6, this is generalized to data Di Part of
Some k bits of search data REF_DATA are included,
Next input data Di + 1 To search data REF_DA
Indicates that the remaining 32-k bits of TA are included
ing.

【0018】このような場合、従来は、連想メモリとは
別に、例えばマイクロコンピュータを備え、一旦、その
マイクロコンピュータに通信データ …,Di ,D
i+1 ,D i+2 ,… を入力しビットシフト等を行なっ
て、その通信データ …,Di ,D i+1 ,Di+2 ,…
の中から検索データREF_DATAを抽出する操作を
行なった後その検索データREF_DATAを連想メモ
リに入力する必要があり、システムの複雑化、検索処理
速度の低下を招いていた。
In such a case, conventionally, what is an associative memory?
Separately, for example, a microcomputer is provided, and once the
Communication data to the microcomputer ..., Di , D
i + 1 , D i + 2 ,, ... are input and bit shift etc. are performed.
Then, the communication data ..., Di , D i + 1 , Di + 2 、…
Operation to extract the search data REF_DATA from
After doing, associate the search data REF_DATA with a memo
Must be entered in the system, system complexity, search processing
It caused a decrease in speed.

【0019】本発明は、上記事情に鑑み、上記のように
順次入力されるデータ …,Di ,Di+1 ,Di+2 ,…
のいずれかに検索データの全部が含まれないような状
況が生じる場合であっても高速検索を可能とする連想メ
モリを提供することを目的とする。
In view of the above circumstances, the present invention has the following data sequentially input: D i , D i + 1 , D i + 2 ,.
It is an object of the present invention to provide an associative memory that enables high-speed search even when a situation occurs where all of the search data is not included in any of the above.

【0020】[0020]

【発明を解決するための手段】上記目的を達成する本発
明の連想メモリは、複数の格納データを記憶しておき、
検索データが入力され、入力された検索データに対応す
る格納データを検索する連想メモリにおいて、検索デー
タの全部、もしくは検索データの、その検索データを1
ビットも含まないことが許容された所定の一部のビット
パターンを含む第1のデータを構成する各ビットデータ
と、その検索データの上記第1のデータに含まれない残
余の部分のビットパターンを含む第2のデータを構成す
る各ビットデータとをパラレルに入力し、これら第1お
よび第2のデータの中から上記検索データを抽出して該
検索データを構成する各ビットデータをパラレルに出力
するセレクタを備えたことを特徴とする。
The associative memory of the present invention for achieving the above object stores a plurality of stored data,
In the associative memory for inputting search data and searching for stored data corresponding to the input search data, all search data or one of the search data is searched.
Each bit data that constitutes the first data including a predetermined part of the bit pattern that is allowed not to include bits and the bit pattern of the remaining part of the search data that is not included in the first data are described. The bit data forming the second data including the data is input in parallel, the search data is extracted from the first and second data, and the bit data forming the search data is output in parallel. It is characterized by having a selector.

【0021】ここで、上記本発明の連想メモリにおい
て、上記第1および第2のデータをそれぞれ格納する第
1および第2のレジスタを備え、上記セレクタが、上記
第1および第2のレジスタに格納された第1および第2
のデータの中から検索データを抽出するものであっても
よい。この場合に、第1の時点で入力された第1のデー
タを第2のレジスタに格納し、その第1の時点より遅れ
た第2の時点で、第2のレジスタに格納された第1のデ
ータを第1のレジスタに転送し、その第2の時点よりも
遅れた第3の時点で入力された第2のデータを第2のレ
ジスタに格納するデータフロー制御回路を備えてもよ
い。
The associative memory of the present invention includes first and second registers for storing the first and second data, respectively, and the selector stores the first and second registers in the associative memory. First and second done
The search data may be extracted from the above data. In this case, the first data input at the first time point is stored in the second register, and the first data stored in the second register is stored at the second time point delayed from the first time point. A data flow control circuit may be provided, which transfers the data to the first register and stores the second data input at the third time point delayed from the second time point in the second register.

【0022】もしくは、上記本発明の連想メモリにおい
て、入力された第1のデータを格納するレジスタを備
え、上記セレクタが、第1のデータよりも遅れて入力さ
れた第2のデータ、および上記レジスタに格納された第
1のデータの中から検索データを抽出するものであって
もよい。また、上記本発明の連想メモリにおいて、抽出
された検索データを一時的に格納しておくキーレジスタ
を備えることが好ましい。
Alternatively, in the associative memory of the present invention, a register for storing the input first data is provided, and the selector inputs the second data delayed from the first data and the register. The search data may be extracted from the first data stored in. Further, the associative memory of the present invention preferably comprises a key register for temporarily storing the extracted search data.

【0023】[0023]

【作用】本発明の連想メモリは、上記セレクタを備えた
ものであるため、第1のデータおよび第2のデータの中
から瞬時にして検索データが抽出され、したがって高速
検索が可能となる。本発明の連想メモリは、第1および
第2のデータをそれぞれ格納する第1および第2のレジ
スタを備え、それら第1および第2のレジスタに格納さ
れた第1および第2のデータをパラレルに入力して検索
データを抽出するセレクタを備えてもよく、あるいは、
時間的に先に入力された第1のデータを格納するレジス
タのみを備え、時間的に後から入力された第2のデータ
は直接にセレクタに入力するようにしてもよい。
Since the associative memory of the present invention is provided with the above selector, the search data can be instantly extracted from the first data and the second data, thus enabling high speed search. The associative memory of the present invention includes first and second registers for storing first and second data, respectively, and parallels the first and second data stored in the first and second registers. You may have a selector to enter and extract search data, or
Only the register for storing the first data input earlier in time may be provided, and the second data input later in time may be directly input to the selector.

【0024】第1および第2のデータをそれぞれ格納す
る第1および第2のレジスタを備えた場合、順次入力さ
れるデータを、それら第1および第2のレジスタに交互
に入力してもよいが、上記データフロー制御回路を備え
た場合、交互に入力する場合と比べセレクタの構成およ
び制御が簡単に済む。また、連想メモリにおいて、検索
データが見当たらなかった場合に、その検索データを、
その連想メモリに、格納データとして追記することが要
望される場合がある。そこで、上記キーレジスタを備え
ておくと、検索データは一時的にそのキーレジスタに格
納されているため、検索データに対応する格納データが
見当たらなかった場合に、そのキーレジスタに格納され
ている検索データを格納データとして追記することがで
きる。
When the first and second registers for storing the first and second data, respectively, are provided, the sequentially input data may be alternately input to the first and second registers. In the case where the data flow control circuit is provided, the configuration and control of the selector can be simplified as compared with the case of alternately inputting. In addition, when the search data is not found in the associative memory, the search data is
In some cases, it may be desired to additionally write as storage data in the associative memory. Therefore, if the above key register is provided, the search data is temporarily stored in that key register. Therefore, if the stored data corresponding to the search data is not found, the search data stored in that key register is searched. Data can be added as stored data.

【0025】[0025]

【実施例】以下、本発明の実施例について説明する。図
1は、本発明の連想メモリの一実施例の、順次入力され
るデータの動きを説明するための模式図である。ここで
は、図7に示すデータ構造に基づいて説明する。
EXAMPLES Examples of the present invention will be described below. FIG. 1 is a schematic diagram for explaining the movement of sequentially input data in one embodiment of the associative memory of the present invention. Here, description will be given based on the data structure shown in FIG. 7.

【0026】ここには、32ビットの第1のレジスタ3
1と、同じく32ビットの第2のレジスタ32と、さら
に、64ビットのパラレル入力データの中から所望の3
2ビットのデータをパラレルに出力するセレクタ33が
備えられている。先ず時刻ti において、32ビットの
データDi が第2のレジスタ32に入力される。次に、
時刻ti+1 よりも以前に、第2のレジスタ32に入力さ
れたデータDi が第1のレジスタ31に転送される。そ
の後、時刻ti+1 において、32ビットのデータDi+1
が第2のレジスタ32に入力される。このように、各デ
ータ …,Di ,Di+1 ,Di+2 ,… の入力と同期し
て、上記のようなデータフローが順次実行される。
Here, the 32-bit first register 3
1, a second register 32 also having 32 bits, and a desired register 3 out of 64 bits of parallel input data.
A selector 33 for outputting 2-bit data in parallel is provided. First, at time t i , 32-bit data D i is input to the second register 32. next,
The data D i input to the second register 32 is transferred to the first register 31 before the time t i + 1 . Then, at time t i + 1 , 32-bit data D i + 1
Is input to the second register 32. In this way, the above data flow is sequentially executed in synchronization with the input of each data ..., D i , D i + 1 , D i + 2 ,.

【0027】第1のレジスタ31にデータDi が格納さ
れ、かつ第2のレジスタ32にデータDi+1 が格納され
た状態において、それら第1および第2のレジスタ3
1,32に格納された第1および第2のデータDi ,D
i+1 がパラレルにセレクタ33に入力され、このセレク
タ33で第1のデータDi の上位kビットおよび第2の
データDi+1 の下位32−kビットが、検索データRE
F_DATAとして抽出される。この抽出された検索デ
ータREF_DATAは、図5を参照して説明したよう
に、各メモリワード11_1,11_2…,11_nに
入力され一致検索が行なわれる。
In the state where the data D i is stored in the first register 31 and the data D i + 1 is stored in the second register 32, the first and second registers 3
First and second data D i , D stored in 1, 32
i + 1 is input in parallel to the selector 33, and in this selector 33, the upper k bits of the first data D i and the lower 32-k bits of the second data D i + 1 are searched data RE.
It is extracted as F_DATA. The extracted search data REF_DATA is input to each of the memory words 11_1, 11_2, ..., 11_n and a match search is performed, as described with reference to FIG.

【0028】図2は、第1および第2のレジスタ、およ
びセレクタの一例を示す回路図である。ここでは簡単の
ため、図7に示すkは、k=0(k=32と意味は同
一)又はk=16のいずれかのみをとり得るものとす
る。第1のレジスタ31には、32個のフリップフロッ
プ31_1,31_2,…,31_16,31_17,
31_18,…,31_32が備えられている。それら
のフリップフロップ31_1,31_2,…,31_1
6,31_17,31_18,…,31_32のクロッ
ク入力端子には、第1のレジスタ31と第2のレジスタ
32とに共通に延びる書込み信号線36が接続されてお
り、書込み信号WR_の立ち上がりエッジでそれらのフ
リップフロップ31_1,31_2,…,31_16,
31_17,31_18,…,31_32にデータがセ
ットされる。
FIG. 2 is a circuit diagram showing an example of the first and second registers and the selector. Here, for simplicity, it is assumed that k shown in FIG. 7 can be either k = 0 (the same meaning as k = 32) or k = 16. The first register 31 includes 32 flip-flops 31_1, 31_2, ..., 31_16, 31_17,
31_18, ..., 31_32 are provided. Those flip-flops 31_1, 31_2, ..., 31_1
, 31_18, ..., 31_32 are connected to a write signal line 36 extending in common to the first register 31 and the second register 32, and they are connected at the rising edge of the write signal WR_. Flip-flops 31_1, 31_2, ..., 31_16,
Data is set in 31_17, 31_18, ..., 31_32.

【0029】また、第2のレジスタ32にも32個のフ
リップフロップ32_1,32_2,…,32_16,
32_17,32_18,…,32_32が備えられて
いる。それらのフリップフロップ32_1,32_2,
…,32_16,32_17,32_18,…,32_
32には、書込み信号WR_の立ち下がりエッジでデー
タがセットされる。
The second register 32 also has 32 flip-flops 32_1, 32_2, ..., 32_16,
32_17, 32_18, ..., 32_32 are provided. Those flip-flops 32_1, 32_2,
..., 32_16, 32_17, 32_18, ..., 32_
Data is set in 32 at the falling edge of the write signal WR_.

【0030】第2のレジスタ32を構成する32個のフ
リップフロップ32_1,32_2,…,32_16,
32_17,32_18,…,32_32の入力端子
は、通信回路を経由してデータ …,Di ,Di+1 ,D
i+2 ,… が順次入力される各入力端子34_1,34
_2,…,34_16,34_17,34_18,…,
34_32に、1ビットずつ接続されている。また第1
のレジスタ31を構成する32個のフリップフロップ3
1_1,31_2,…,31_16,31_17,31
_18…,31_32の入力端子は、第2のレジスタ3
2を構成する32個のフリップフロップ32_1,32
_2,…,32_16,32_17,32_18,…,
32_32の出力端子と1ビットずつ接続されている。
32 flip-flops 32_1, 32_2, ..., 32_16, which constitute the second register 32,
The input terminals of 32_17, 32_18, ..., 32_32 are connected to data ..., D i , D i + 1 , D via a communication circuit.
Input terminals 34_1 and 34 to which i + 2 , ...
_2, ..., 34_16, 34_17, 34_18, ...,
One bit is connected to 34_32. Also the first
32 flip-flops 3 forming the register 31 of
1_1, 31_2, ..., 31_16, 31_17, 31
The input terminals of _18 ..., 31_32 are connected to the second register 3
32 flip-flops 32_1 and 32 that form 2
_2, ..., 32_16, 32_17, 32_18, ...,
The output terminals of 32_32 are connected bit by bit.

【0031】また、第2のレジスタ32を構成する32
個の各フリップフロップ32_1,32_2,…,32
_16,32_17,32_18,…,32_32の出
力は、セレクタ33を構成する各第1のトランジスタ3
3_1_1,33_1_2,…,33_1_16,33
_1_17,33_1_18,…,33_1_32を介
して各出力端子35_1,35_2,…,35_16,
35_17,35_18,…,35_32に接続されて
いる。これらの各第1のトランジスタ33_1_1,3
3_1_2,…,33_1_16,33_1_17,3
3_1_18,…,33_1_32のゲートは、第1制
御線37に接続されており、第1制御線37には、必要
に応じて、第1のセレクト信号CS1が入力される。
The second register 32 constitutes 32.
, 32 flip-flops 32_1, 32_2, ..., 32
The outputs of _16, 32_17, 32_18, ..., 32_32 are the outputs of the first transistors 3 constituting the selector 33.
3_1_1, 33_1_2, ..., 33_1_16, 33
, 33_1_32, output terminals 35_1, 35_2, ..., 35_16,
35_17, 35_18, ..., 35_32. Each of these first transistors 33_1_1, 3
3_1_2, ..., 33_1_16, 33_1_17,3
The gates of 3_1_18, ..., 33_1_32 are connected to the first control line 37, and the first select signal CS1 is input to the first control line 37 as needed.

【0032】また第1のレジスタ31を構成する32個
のフリップフロップ31_1,31_2,…,31_1
6,31_17,31_18…,31_32のうちの上
位側の16個のフリップフロップ31_17,31_1
8…,31_32の出力および、第2のレジスタ32を
構成する32個のフリップフロップ32_1,32_
2,…,32_16,32_17,32_18,…,3
2_32のうちの下位側の16個のフリップフロップ3
2_1,32_2,…,32_16は、それぞれ、セレ
クタ33を構成する各第2のトランジスタ33_2_
1,33_2_2,…,33_2_16,33_2_1
7,33_2_18,…,33_2_32を介して各出
力端子35_1,35_2,…,35_16,35_1
7,35_18,…,35_32に接続されている。各
第2のトランジスタ34_1,34_2,…,34_1
6,34_17,34_18,…,34_32のゲート
は第2の制御線38に接続されており、第2制御線38
には、必要に応じて、第2のセレクト信号CS2が入力
される。
32 flip-flops 31_1, 31_2, ..., 31_1 constituting the first register 31.
16 flip-flops 31_17, 31_1 on the upper side of 6, 31_17, 31_18, ..., 31_32.
.., 31_32 and 32 flip-flops 32_1, 32_ constituting the second register 32.
2, ..., 32_16, 32_17, 32_18, ..., 3
16 flip-flops 3 on the lower side of 2_32
2_1, 32_2, ..., 32_16 are each second transistors 33_2_ that form the selector 33.
1, 33_2_2, ..., 33_2_16, 33_2_1
, 33_2_2_18, ..., 33_2_32 through output terminals 35_1, 35_2, ..., 35_16, 35_1
, 35_18, ..., 35_32. Each second transistor 34_1, 34_2, ..., 34_1
The gates of 6, 34_17, 34_18, ..., 34_32 are connected to the second control line 38, and the second control line 38
A second select signal CS2 is input to the input terminal, if necessary.

【0033】さらに第1のレジスタ31を構成する32
個の各フリップフロップ31_1,31_2,…,31
_16,31_17,31_18,…,31_32の出
力は、セレクタ33を構成する各第3のトランジスタ3
3_3_1,33_3_2,…,33_3_16,33
_3_17,33_3_18,…,33_3_32を介
して各出力端子35_1,35_2,…,35_16,
35_17,35_18,…,35_32に接続されて
いる。
Further, 32 constituting the first register 31.
, 31 flip-flops 31_1, 31_2, ..., 31
The outputs of _16, 31_17, 31_18, ..., 31_32 are the outputs of the third transistors 3 constituting the selector 33.
3_3_1, 33_3_2, ..., 33_3_16, 33
, 33_3_18, ..., 33_3_32 through output terminals 35_1, 35_2, ..., 35_16,
35_17, 35_18, ..., 35_32.

【0034】以上のような構成において、書込み信号W
R_が立ち下がる毎に、入力端子34_1,34_2,
…,34_16,34_17,34_18,…,34_
32から入力されたデータ …,Di ,Di+1 ,D
i+2 ,… が第2のレジスタ32に格納され、書込み信
号WR_が立ち上がる毎に、第2のレジスタ32に格納
されたデータが第1のレジスタ31に転送される。
In the above structure, the write signal W
Each time R_ falls, the input terminals 34_1, 34_2,
..., 34_16, 34_17, 34_18, ..., 34_
Data input from 32 ..., D i , D i + 1 , D
i + 2 , ... Are stored in the second register 32, and each time the write signal WR_ rises, the data stored in the second register 32 is transferred to the first register 31.

【0035】32ビットの検索データが全て第2のレジ
スタ32に格納されており、その検索データを用いて検
索を行なう必要があるときは第1のセレクト信号CS1
が入力される。また32ビットの検索データが第1のレ
ジスタ31と第2のレジスタ32に16ビットずつに分
かれて格納され、その検索データを用いて検索を行なう
ときは第2のセレクト信号CS2が入力される。同様
に、32ビットの検索データが全て第1のレジスタ31
に格納されており、その検索データを用いて検索を行な
う必要があるときは、第3のセレクト信号CS3が入力
される。これにより、いずれの場合も、出力端子35_
1,35_2,…,35_16,35_17,35_1
8,…,35_32から検索データREF_DATAが
出力される。
All the 32-bit search data are stored in the second register 32, and when it is necessary to search using the search data, the first select signal CS1
Is entered. Further, 32-bit search data is separately stored in the first register 31 and the second register 32 in 16-bit units, and when a search is performed using the search data, the second select signal CS2 is input. Similarly, all 32-bit search data is stored in the first register 31.
When it is necessary to perform a search using that search data, the third select signal CS3 is input. Accordingly, in any case, the output terminal 35_
1, 35_2, ..., 35_16, 35_17, 35_1
The search data REF_DATA is output from 8, ..., 35_32.

【0036】尚、第2のレジスタ32に32ビットの検
索データが全てのビットにわたって格納された場合に、
その検索データを第1のレジスタ31に転送することな
く出力端子35_1,35_2,…,35_16,35
_17,35_18,…,35_32から出力させる必
要がないときは、第1のトランジスタ33_1_1,3
3_1_2,…,33_1_16,33_1_17,3
3_1_18,…,33_1_32は不要であることは
言うまでもない。
When the 32-bit search data is stored in all the bits in the second register 32,
Output terminals 35_1, 35_2, ..., 35_16, 35 without transferring the search data to the first register 31.
When it is not necessary to output from the _17, 35_18, ..., 35_32, the first transistors 33_1_1, 3
3_1_2, ..., 33_1_16, 33_1_17,3
Needless to say, 3_1_18, ..., 33_1_32 are unnecessary.

【0037】また、この図2は、図7に示すデータ構造
において、kが、k=0又はk=16のみをとる場合の
例であるが、例えばk=0,8,16,24等をとる場
合や、kが任意の値をとる場合等であっても、それに合
わせてセレクタ33のトランジスタの段数を設計すれば
よい。また、上記図1、図2に示す実施例では、入力デ
ータ …,Di ,Di+1 ,Di+2 ,… を一旦第2のレ
ジスタ32に格納した後に第1のレジスタ31に転送す
るように構成されているが、順次入力されるデータ
…,Di ,Di+1 ,Di+2 ,… を第1のレジスタ31
と第2のレジスタ32に交互に入力してもよい。ただし
そのときは、セレクタ33において、上位ビットと下位
ビットとを入れ替える必要がある。
Further, FIG. 2 shows an example in which k takes only k = 0 or k = 16 in the data structure shown in FIG. 7. For example, k = 0, 8, 16, 24, etc. Even when it is set or when k takes an arbitrary value, the number of transistor stages of the selector 33 may be designed accordingly. In the embodiment shown in FIGS. 1 and 2, the input data ..., D i , D i + 1 , D i + 2 , ... Are temporarily stored in the second register 32 and then transferred to the first register 31. Data that is input sequentially
, D i , D i + 1 , D i + 2 , ...
And may be alternately input to the second register 32. However, in that case, it is necessary to switch the upper bits and the lower bits in the selector 33.

【0038】図3は、本発明の連想メモリの他の実施例
の模式図である。ここには、通信回線を経由して入力さ
れるデータ …,Di ,Di+1 ,Di+2,… を格納す
るレジスタ311を1個のみ備え、そのレジスタ311
に、時刻ti に入力されたデータDi を格納し、その格
納されたデータDi と、時刻ti+ 1 に入力されたデータ
i+1 とをセレクタ311に入力して検索データREF
_DATAを抽出する。時刻ti+1 に入力されたデータ
i+1 は、次の検索データの抽出のためにレジスタ31
1にも入力される。
FIG. 3 is a schematic diagram of another embodiment of the associative memory of the present invention. Here, only one register 311 for storing data inputted via the communication line, ..., D i , D i + 1 , D i + 2 , ...
In time t i and stores the input data D i, the its stored data D i, the time t i + 1 data input to D i + 1 search and a is inputted to the selector 311 data REF
Extract _DATA. The data D i + 1 input at the time t i + 1 is stored in the register 31 for extracting the next search data.
It is also input to 1.

【0039】このように、本発明では、必ずしも2つの
レジスタを備える必要はない。また、上記各実施例は検
索データを分担して持つデータ(例えば上記2つのデー
タDi ,Di+1 )が時間がずれて順次入力される場合の
例であるが、検索データを分担する2つのデータが同時
に入力される場合、例えば2系統の信号経路から同時に
入力された2つのデータから検索データを抽出する場合
等には、上記の目的のレジスタは必ずしも1つも備える
必要はない。
As described above, according to the present invention, it is not always necessary to provide two registers. Further, in each of the above embodiments, the data (for example, the two data D i and D i + 1 ) having the search data shared therein are input sequentially with a time difference, but the search data is shared. When two pieces of data are input at the same time, for example, when search data is extracted from two pieces of data that are input at the same time from two signal paths, it is not always necessary to have one register for the above purpose.

【0040】尚、上記実施例は、1ワードが32ビット
であるとして説明したが、本発明は8ビット、又は16
ビット等任意のビット数を1ワードとするものに適用す
ることができる。図4は、本発明の連想メモリのもう1
つの実施例の模式図である。セレクタ33で抽出された
検索データREF_DATAは、多数の格納データが格
納されたメモリ11に入力され検索が実行される。
In the above embodiment, one word has 32 bits, but the present invention has 8 bits or 16 bits.
The present invention can be applied to a case in which an arbitrary number of bits such as bits is one word. FIG. 4 shows another example of the associative memory of the present invention.
FIG. 3 is a schematic view of two examples. The search data REF_DATA extracted by the selector 33 is input to the memory 11 in which a large amount of stored data is stored, and the search is executed.

【0041】またセレクタ33から出力された検索デー
タREF_DATAは、キーレジスタ40にも入力さ
れ、そのキーレジスタ40に一時的に格納される。この
連想メモリには、検索の結果、多数の一致フラグレジス
タ15のうちのいずれか1つにでも一致を表わす論理
‘1’が格納されたか、あるいは全ての一致フラグレジ
スタ15に不一致を表わす論理‘0’が格納されたかを
示すヒットフラグが格納されるヒットフラグレジスタ4
1が備えられており、検索の結果、ヒットフラグレジス
タ41に、全ての一致フラグレジスタ15に不一致をあ
らわす論理‘0’が格納されたことを示す論理‘0’が
格納されると、その旨がこの連想メモリの制御用に備え
られたCPU50に通知される。CPU50は、その通
知を受けて、デコーダ17に、空いているメモリワード
のアドレスを入力するとともに、メモリ11にキーレジ
スタ40に格納されている検索データを入力し、データ
書込み動作を行う。これにより、格納データとして格納
されていなかった(一致が検出されなかった)検索デー
タが、新たな格納データとしてメモリ11に書き込まれ
た。
The search data REF_DATA output from the selector 33 is also input to the key register 40 and is temporarily stored in the key register 40. As a result of the search, this associative memory stores a logic "1" indicating a match in any one of the many match flag registers 15, or a logic "1" indicating a mismatch in all the match flag registers 15. Hit flag register 4 that stores a hit flag indicating whether 0'is stored
1 is provided, and as a result of the search, when the hit flag register 41 stores the logic “0” indicating that the match flag registers 15 store the mismatch “0”, the fact is stored. Is notified to the CPU 50 provided for controlling the associative memory. In response to the notification, the CPU 50 inputs the address of the vacant memory word to the decoder 17 and the search data stored in the key register 40 to the memory 11 to perform the data write operation. As a result, the search data that was not stored as the stored data (a match was not detected) was written to the memory 11 as the new stored data.

【0042】このように、本実施例の連想メモリには、
セレクタ33で抽出された検索データを一時的に格納し
ておくキーレジスタ40が備えられているため、一致が
検出されなかった場合に、そのキーレジスタ40に格納
しておいた検索データを、メモリ11に、新たな検索デ
ータとして書き込むことができる。
As described above, in the associative memory of this embodiment,
Since the key register 40 for temporarily storing the search data extracted by the selector 33 is provided, when no match is detected, the search data stored in the key register 40 is stored in the memory. 11 can be written as new search data.

【0043】[0043]

【発明の効果】以上説明したように、本発明の連想メモ
リは、第1および第2のデータをパラレルに入力してそ
れら第1および第2のデータの中から検索データを抽出
するセレクタを備えたため、検索データが複数ワードに
跨って送信されてくる場合にも、システム構成が簡単化
され、また高速検索が可能となる。
As described above, the associative memory of the present invention comprises the selector for inputting the first and second data in parallel and extracting the search data from the first and second data. Therefore, even when the search data is transmitted over a plurality of words, the system configuration is simplified and high-speed search is possible.

【0044】また、本発明の連想メモリにおいて、抽出
された検索データを一時的に格納しておくキーレジスタ
を備えておくと、一致が検出されなかった場合にその検
索データを追記することができる。
If the associative memory of the present invention is provided with a key register for temporarily storing the extracted search data, the search data can be additionally written when no match is detected. .

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

【図1】本発明の連想メモリの一実施例の、順次入力さ
れるデータの動きを説明するための模式図である。
FIG. 1 is a schematic diagram for explaining the movement of sequentially input data in an embodiment of an associative memory of the present invention.

【図2】第1および第2のレジスタ、およびセレクタの
一例を示す回路図である。
FIG. 2 is a circuit diagram showing an example of first and second registers and a selector.

【図3】本発明の連想メモリの他の実施例の模式図であ
る。
FIG. 3 is a schematic view of another embodiment of the associative memory of the present invention.

【図4】本発明の連想メモリのもう1つの実施例の模式
図である。
FIG. 4 is a schematic diagram of another embodiment of the associative memory of the present invention.

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

【図6】図5に示す連想メモリ中の1つのメモリワード
を表わした詳細回路図である。
FIG. 6 is a detailed circuit diagram showing one memory word in the associative memory shown in FIG.

【図7】通信回線等を経由して送信されてきたデータの
構造図である。
FIG. 7 is a structural diagram of data transmitted via a communication line or the like.

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

10 連想メモリ 11_1,11_2,…,11_n メモリワード 31 第1のレジスタ 31_1,…,31_32 フリップフロップ 32 第2のレジスタ 32_1,…,32_32 フリップフロップ 33 セレクタ 40 キーレジスタ 41 ヒットフラグレジスタ 50 CPU 33_1_1,…,33_1_32 第1のトランジス
タ 33_2_1,…,33_2_32 第2のトランジス
タ 33_3_1,…,33_3_32 第3のトランジス
タ 311 レジスタ 331 セレクタ
10 associative memory 11_1, 11_2, ..., 11_n memory word 31 first register 31_1, ..., 31_32 flip-flop 32 second register 32_1, ..., 32_32 flip-flop 33 selector 40 key register 41 hit flag register 50 CPU 33_1_1, ... , 33_1_32 first transistor 33_2_1, ..., 33_2_32 second transistor 33_3_1, ..., 33_3_32 third transistor 311 register 331 selector

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 複数の格納データを記憶しておき、検索
データが入力され、入力された検索データに対応する格
納データを検索する連想メモリにおいて、 検索データの全部、もしくは検索データの、該検索デー
タを1ビットも含まないことが許容された所定の一部の
ビットパターンを含む第1のデータを構成する各ビット
データと、該検索データの前記第1のデータに含まれな
い残余の部分のビットパターンを含む第2のデータを構
成する各ビットデータとをパラレルに入力し、これら第
1および第2のデータの中から前記検索データを抽出し
て該検索データを構成する各ビットデータをパラレルに
出力するセレクタを備えたことを特徴とする連想メモ
リ。
1. In an associative memory for storing a plurality of stored data, inputting search data, and searching for stored data corresponding to the input search data, searching all of the search data or the search data. Each of the bit data forming the first data including a predetermined part of the bit pattern that is allowed not to include even one bit of data, and the remaining portion of the search data not included in the first data. Each bit data forming the second data including the bit pattern is input in parallel, the search data is extracted from the first and second data, and each bit data forming the search data is parallelized. An associative memory having a selector for outputting to.
【請求項2】 前記第1および第2のデータをそれぞれ
格納する第1および第2のレジスタを備え、 前記セレクタが、前記第1および第2のレジスタに格納
された前記第1および第2のデータの中から前記検索デ
ータを抽出するものであることを特徴とする請求項1記
載の連想メモリ。
2. A first and a second register for respectively storing the first and second data, wherein the selector has the first and second registers stored in the first and second registers, respectively. The associative memory according to claim 1, wherein the search data is extracted from the data.
【請求項3】 第1の時点で入力された前記第1のデー
タを前記第2のレジスタに格納し、該第1の時点より遅
れた第2の時点で、前記第2のレジスタに格納された前
記第1のデータを前記第1のレジスタに転送し、該第2
の時点よりも遅れた第3の時点で入力された前記第2の
データを前記第2のレジスタに格納するデータフロー制
御回路を備えたことを特徴とする請求項2記載の連想メ
モリ。
3. The first data input at a first time is stored in the second register, and is stored in the second register at a second time delayed from the first time. The first data is transferred to the first register, and the second data is transferred to the second register.
3. The associative memory according to claim 2, further comprising a data flow control circuit for storing the second data input in the second register at a third time point delayed from the time point.
【請求項4】 入力された前記第1のデータを格納する
レジスタを備え、 前記セレクタが、前記第1のデータよりも遅れて入力さ
れた前記第2のデータ、および前記レジスタに格納され
た前記第1のデータの中から前記検索データを抽出する
ものであることを特徴とする請求項1記載の連想メモ
リ。
4. A register for storing the input first data, wherein the selector stores the second data input later than the first data and the register stored in the register. The associative memory according to claim 1, wherein the search data is extracted from the first data.
【請求項5】 抽出された前記検索データを一時的に格
納しておくキーレジスタを備えたことを特徴とする請求
項1から4のうちいずれか1項記載の連想メモリ。
5. The associative memory according to claim 1, further comprising a key register for temporarily storing the extracted search data.
JP05414194A 1994-02-10 1994-03-24 Associative memory Expired - Lifetime JP3573779B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05414194A JP3573779B2 (en) 1994-02-10 1994-03-24 Associative memory

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6-16427 1994-02-10
JP1642794 1994-02-10
JP05414194A JP3573779B2 (en) 1994-02-10 1994-03-24 Associative memory

Publications (2)

Publication Number Publication Date
JPH07272489A true JPH07272489A (en) 1995-10-20
JP3573779B2 JP3573779B2 (en) 2004-10-06

Family

ID=26352774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05414194A Expired - Lifetime JP3573779B2 (en) 1994-02-10 1994-03-24 Associative memory

Country Status (1)

Country Link
JP (1) JP3573779B2 (en)

Also Published As

Publication number Publication date
JP3573779B2 (en) 2004-10-06

Similar Documents

Publication Publication Date Title
US6678786B2 (en) Timing execution of compare instructions in a synchronous content addressable memory
US5646878A (en) Content addressable memory system
US5568416A (en) Associative memory
US6707692B2 (en) Content addressable memory device capable of being used as binary CAM device or as ternary CAM device and structure method therefor
US6744654B2 (en) High density dynamic ternary-CAM memory architecture
US6188629B1 (en) Low power, static content addressable memory
JP2000353388A (en) Improvement of contents referable memory
US7525867B2 (en) Storage circuit and method therefor
US20030097605A1 (en) Range check cell and a method for the use thereof
US6868475B2 (en) Content addressable memory having data width extension capability
US6898100B2 (en) Semiconductor memory device used for cache memory
JP3573779B2 (en) Associative memory
US6496398B2 (en) Content addressable memory
JP3583800B2 (en) Associative memory
JP3597881B2 (en) Associative memory
JP3083064B2 (en) Associative memory
JPH0612882A (en) Contents address system memory
EP1271548A1 (en) Associative memory with AND gate match signal combining circuitry
JP3597899B2 (en) Associative memory
JPH07271816A (en) Contents address type memory
JP3645293B2 (en) Associative memory
JPH08124387A (en) Associative memory
JP3597882B2 (en) Associative memory
JP2838033B2 (en) Content addressable memory
JP3636382B2 (en) Associative memory

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20040415

Free format text: JAPANESE INTERMEDIATE CODE: A971007

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

Effective date: 20040622

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040630

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

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20080709

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

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 5

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

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20100709