JP3370227B2 - Associative memory - Google Patents

Associative memory

Info

Publication number
JP3370227B2
JP3370227B2 JP04622196A JP4622196A JP3370227B2 JP 3370227 B2 JP3370227 B2 JP 3370227B2 JP 04622196 A JP04622196 A JP 04622196A JP 4622196 A JP4622196 A JP 4622196A JP 3370227 B2 JP3370227 B2 JP 3370227B2
Authority
JP
Japan
Prior art keywords
memory
data
flag
word
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP04622196A
Other languages
Japanese (ja)
Other versions
JPH09245490A (en
Inventor
田 正 人 米
間 洋 笹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
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 Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP04622196A priority Critical patent/JP3370227B2/en
Publication of JPH09245490A publication Critical patent/JPH09245490A/en
Application granted granted Critical
Publication of JP3370227B2 publication Critical patent/JP3370227B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、各データをそれぞ
れ記憶する複数のメモリワードを備えるとともに、各メ
モリワードに記憶されたデータと入力された検索データ
との一致不一致を検索する機能を備えた連想メモリ(As
sociative Memory, 内容アドレス式メモリ;Content Ad
dressable Memory)に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention includes a plurality of memory words for storing respective data, and a function of searching for a match / mismatch between data stored in each memory word and input search data. Associative memory (As
sociative Memory, Content Addressable Memory; Content Ad
dressable memory).

【0002】[0002]

【従来の技術】近年、上記のような検索機能を備えた連
想メモリが提案されている。図5は従来の連想メモリの
一例を表した回路ブロック図である。この連想メモリ1
0には、互いに図の横方向に並ぶ複数のメモリセルから
なるメモリワード11a,11b,…,11nが多数備
えられている。またこの連想メモリ10は、検索データ
が入力されラッチされる検索レジスタ12を備え、検索
レジスタ12にラッチされた検索データの全部もしくは
所定の一部のビットパターンと、各メモリワード11
a,11b,…,11nに記憶されたデータのうち、上
記ビットパターンと対応する部分のビットパターンとの
一致不一致が比較され、各メモリワード11a,11
b,…,11nのそれぞれに対応して備えられた一致線
14a,14b,…,14nのうちビットパターンが一
致したメモリワード11a,11b,…,11nに対応
する一致線14a,14b,…,14nに論理‘1’の
一致信号が出力され、それ以外の一致線14a,14
b,…,14nに論理‘0’の不一致信号が出力され
る。
2. Description of the Related Art In recent years, an associative memory having the above search function has been proposed. FIG. 5 is a circuit block diagram showing an example of a conventional associative memory. This associative memory 1
0 is provided with a large number of memory words 11a, 11b, ..., 11n composed of a plurality of memory cells arranged in the lateral direction of the drawing. The associative memory 10 also includes a search register 12 into which search data is input and latched. The search data latched in the search register 12 has a bit pattern of all or a predetermined part thereof and each memory word 11.
Of the data stored in a, 11b, ..., 11n, the bit pattern of the corresponding portion is compared with the bit pattern of the corresponding portion, and each memory word 11a, 11 is compared.
, 11n corresponding to the memory words 11a, 11b, ..., 11n whose bit patterns match among the match lines 14a, 14b ,. A match signal of logic "1" is output to 14n, and the other match lines 14a, 14
A mismatch signal of logic "0" is output to b, ..., 14n.

【0003】ここでは各フラグ線14a,14b,…,
14nにそれぞれ‘0’,‘1’,‘0’,‘0’,
‘1’,…,‘0’の信号が出力されたものとする。こ
の信号はプライオリティエンコーダ15に入力され、こ
のプライオリティエンコーダ15からは論理‘1’の一
致信号が出力された一致線(ここでは一致線14bと一
致線14eの2本)のうちの優先度の最も高い最優先一
致線に対応するアドレス信号ADが出力される。ここで
は、添字のアルファベットが若いほど優先順位が高いも
のとし、従ってここでは一致線14bが最優先一致線と
なる。このプライオリティエンコーダ15から出力され
た、最優先一致線14bに対応するアドレス信号AD
は、必要に応じて、アドレスデコーダ16に入力され
る。アドレスデコーダ16では、この入力されたアドレ
ス信号ADをデコードして各メモリワード11a,11
b,…,11nのそれぞれに対応して備えられたワード
線17a,17b,…,17nのうちの、入力されたア
ドレス信号ADに対応するいずれか1本のワード線(こ
こではワード線17b)にアクセス信号(ここでは論理
‘1’の信号)を出力する。これにより、アクセス信号
の出力されたワード線17bに対応するメモリワード1
1bに記憶されているデータが出力レジスタ18に読み
出される。
Here, each flag line 14a, 14b, ...
14n are '0', '1', '0', '0',
It is assumed that signals of "1", ..., "0" have been output. This signal is input to the priority encoder 15 and the priority encoder 15 has the highest priority among the match lines (here, the match line 14b and the match line 14e) from which the match signal of logic "1" is output. The address signal AD corresponding to the highest priority match line is output. Here, the younger the subscript, the higher the priority. Therefore, the match line 14b is the highest priority match line here. The address signal AD corresponding to the highest priority match line 14b output from the priority encoder 15
Are input to the address decoder 16 as needed. The address decoder 16 decodes the input address signal AD to decode each of the memory words 11a and 11a.
Of the word lines 17a, 17b, ..., 17n provided corresponding to each of b, ..., 11n, any one of the word lines corresponding to the input address signal AD (here, the word line 17b). An access signal (here, a signal of logic “1”) is output to. This causes the memory word 1 corresponding to the word line 17b to which the access signal is output.
The data stored in 1b is read to the output register 18.

【0004】上記のように連想メモリ10は、検索デー
タを用いて多数のメモリワード11a,11b,…,1
1nに記憶された内容(データ)を検索し、一致するデ
ータが記憶されたメモリワードのアドレスを得て、その
メモリワードに記憶されたデータ全体を読み出すことが
できるメモリである。図6は、連想メモリ中の1つのメ
モリワードを表した詳細回路図である。
As described above, the associative memory 10 uses search data to generate a large number of memory words 11a, 11b, ...
It is a memory that can retrieve the contents (data) stored in 1n, obtain the address of the memory word in which the matching data is stored, and read the entire data stored in that memory word. FIG. 6 is a detailed circuit diagram showing one memory word in the associative memory.

【0005】このメモリワード11は、同一構成のn個
のメモリセル11−1,11−2,…,11−nから構
成されている。各メモリセル11−1,11−2,…,
11−nには、互いの出力が互いの入力に接続された第
1インバータ20−1,20−2,…,20−nと第2
のインバータ21−1,21−2,…,21−nが備え
られており、これらのインバータ20−1,21−1;
20−2,21−2;…;20−n,21−nにより各
メモリセル11−1,11−2,…,11−nに論理
‘1’もしくは論理‘0’の1ビットの情報が記憶され
る。
The memory word 11 is composed of n memory cells 11-1, 11-2, ..., 11-n having the same structure. Each memory cell 11-1, 11-2, ...,
11-n include first inverters 20-1, 20-2, ..., 20-n and second inverters whose outputs are connected to their inputs.
, 21-n of the inverters 21-1, 21-2, ..., 21-n, and these inverters 20-1, 21-1;
20-2, 21-2; ...; 20-n, 21-n provide 1-bit information of logic "1" or logic "0" to each memory cell 11-1, 11-2, ..., 11-n. Remembered.

【0006】また、各メモリセル11−1,11−2,
…,11−nにおいて、第1インバータ20−1,20
−2,…,20−nの出力はNチャンネルトランジスタ
22−1,22−2,…,22−nを介してビット線2
3−1,23−2,…,23−nと接続されており、こ
のトランジスタ22−1,22−2,…,22−nのゲ
ートはワード線24に接続されている。また、第2のイ
ンバータ21−1,21−2,…,21−nの出力は、
Nチャンネルトランジスタ25−1,25−2,…,2
5−nを介してビットバー線26−1,26−2,…,
26−nと接続されており、このトランジスタ25−
1,25−2,…,25−nのゲートもワード線24に
接続されている。さらに各メモリセル11−1,11−
2,…,11−nには、ビット線23−1,23−2,
…,23−nとビットバー線26−1,26−2,…,
26−nとの間をつなぐように互いにシリーズに接続さ
れた2つのNチャンネルトランジスタ27−1,28−
1;27−2,28−2;…;27−n,28−nが配
置されており、これら各2つのトランジスタ27−1,
28−1;27−2,28−2;…;27−n,28−
nのうちの一方のトランジスタ27−1,27−2,
…,27−nのゲートは、第1のインバータ20−1,
20−2,…,20−nの出力、他方のトランジスタ2
8−1,28−2,…,28−nのゲートは第2のイン
バータ21−1,21−2,…,21−nの出力と接続
されている。
Further, each memory cell 11-1, 11-2,
, 11-n, the first inverters 20-1, 20
The outputs of −2, ..., 20-n are transmitted through the N-channel transistors 22-1, 22-2 ,.
, 23-n, and the gates of the transistors 22-1, 22-2, ..., 22-n are connected to the word line 24. The outputs of the second inverters 21-1, 21-2, ..., 21-n are
N-channel transistors 25-1, 25-2, ..., 2
Bit bar lines 26-1, 26-2, ...
26-n connected to this transistor 25-
The gates of 1, 25-2, ..., 25-n are also connected to the word line 24. Further, each memory cell 11-1, 11-
2, ..., 11-n have bit lines 23-1, 23-2,
23-n and bit bar lines 26-1, 26-2 ,.
26-n and two N-channel transistors 27-1 and 28- connected in series to each other so as to connect the same to 26-n.
1; 27-2, 28-2; ...; 27-n, 28-n are arranged, and each of these two transistors 27-1,
28-1; 27-2, 28-2; ...; 27-n, 28-
one of the transistors 27-1, 27-2,
The gate of 27-n is connected to the first inverter 20-1,
Outputs of 20-2, ..., 20-n, other transistor 2
The gates of 8-1, 28-2, ..., 28-n are connected to the outputs of the second inverters 21-1, 21-2 ,.

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

【0008】また、この一致線14にはもう1つのトラ
ンジスタ36−0がシリーズに接続されており、一致線
14の図6の左端はこのトランジスタ36−0を介して
接地されている。また、このトランジスタ36−0のゲ
ートは制御線30に接続されている。一致線14の図6
の右端にはセンス用インバータ31が配置され、このイ
ンバータ31の出力からは一致線14がさらに延び、図
5に示すプライオリティエンコーダ15に接続されてい
る。
Further, another transistor 36-0 is connected in series to the match line 14, and the left end of the match line 14 in FIG. 6 is grounded through the transistor 36-0. The gate of the transistor 36-0 is connected to the control line 30. FIG. 6 of the match line 14
A sensing inverter 31 is arranged at the right end of the, and a match line 14 further extends from the output of the inverter 31 and is connected to the priority encoder 15 shown in FIG.

【0009】また、このインバータ31の入力と電源V
DDとの間には2つのPチャンネルトランジスタ32,
33が配置されており、これら2つのトランジスタ3
2,33のうちの一方のトランジスタ32のゲートは制
御線30と接続され、他方のトランジスタ33のゲート
はインバータ31の出力と接続されている。このような
構造のメモリワードおよびその周辺回路を備えた連想メ
モリにおいて、一致検索は以下のようにして行われる。
The input of the inverter 31 and the power source V
Two P-channel transistors 32 between DD and
33 are arranged, and these two transistors 3
One of the transistors 32 and 33 has a gate connected to the control line 30, and the other transistor 33 has a gate connected to the output of the inverter 31. In the associative memory including the memory word having such a structure and its peripheral circuit, the matching search is performed as follows.

【0010】メモリセル11−1には、論理‘1’の情
報が記憶されているものとする。すなわちこの場合、第
1のインバータ20−1の出力側が論理‘1’、第2の
インバータ21−1の出力側が論理‘0’の状態にあ
る。このメモリセル11−1に対して論理‘1’の検索
が行われるものとする。すなわち、ビット線23−1が
論理‘1’、ビットバー線26−1が論理‘0’とされ
る。ワード線24は論理‘0’のままの状態に保持され
ている。この場合、トランジスタ27−1のゲートには
論理‘1’の電圧が印加され、ビット線23−1の論理
‘1’の信号がトランジスタ36−1のゲートに印加さ
れ、これによりトランジスタ36−1が‘オン’状態と
なる。すなわち、メモリセル11−1に記憶されたビッ
ト情報とビット線23−1、ビットバー線26−1を経
由して入力された検索データ中のビット情報が一致する
場合に、対応するトランジスタ36−1が‘オン’状態
となる。
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 has a logic "1" and the bit bar line 26-1 has a logic "0". The word line 24 is held in the state of logic "0". In this case, the voltage of logic "1" is applied to the gate of the transistor 27-1, and the signal of logic "1" of the bit line 23-1 is applied to the gate of the transistor 36-1. Turns on. That is, when the bit information stored in the memory cell 11-1 and the bit information in the search data input via the bit line 23-1 and the bit bar line 26-1 match, the corresponding transistor 36- 1 is in the "on" state.

【0011】また、メモリセル11−2には論理‘0’
の情報が記憶されているものとする。この場合、第1の
インバータ20−2の出力側が論理‘0’、第2のイン
バータ21−2の出力側が論理‘1’の状態にある。こ
のメモリセル11−2に対してやはり論理‘1’の検索
が行われるものとする。すなわち、ビット線23−2が
論理‘1’、ビットバー線26−2が論理‘0’とされ
る。この場合、トランジスタ28−2を経由して論理
‘0’の状態にあるビットバー線26−2の信号がトラ
ンジスタ36−2のゲートに印加され、したがって、こ
のトランジスタ36−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 the logic "1" is searched for the memory cell 11-2. That is, the bit line 23-2 has a logic "1" and the bit bar line 26-2 has a logic "0". In this case, the signal of the bit bar line 26-2 in the logic “0” state is applied to the gate of the transistor 36-2 via the transistor 28-2, and thus the transistor 36-2 is in the “off” state. Will remain. That is, in the case of a mismatch, the charges precharged on the match line 14 are not discharged.

【0012】また、マスクをかけたビットについては、
メモリセル11−nに示すように、ビット線23−n、
ビットバー線26−nの双方とも論理‘1’とされる。
この場合、このメモリセル11−nに論理‘1’の情報
が記憶されているか、論理‘0’の情報が記憶されてい
るかに応じてトランジスタ27−nもしくはトランジス
タ28−nのいずれかが‘オン’状態となり、これによ
りいずれの場合もトランジスタ36−nが‘オン’状態
になる。すなわち、そのメモリセルについては、記憶さ
れた情報と検索の情報とが一致しているものとみなされ
る。
Further, regarding the masked bits,
As shown in the memory cell 11-n, the bit line 23-n,
Both of the bit bar lines 26-n are set to logic "1".
In this case, either the transistor 27-n or the transistor 28-n is set to "1" depending on whether the information of logic "1" is stored in the memory cell 11-n or the information of logic "0" is stored. It will be in the'on 'state, which will cause transistor 36-n to be in the'on' state in either case. That is, regarding the memory cell, it is considered that the stored information and the search information match each other.

【0013】検索にあたっては、制御線30がまず論理
‘0’となり、トランジスタ32が‘オン’状態となっ
てインバータ31の入力側の一致線14がプリチャージ
され、その後制御線30が論理‘1’となり、トランジ
スタ32が‘オフ’状態となってプリチャージが停止す
るとともにトランジスタ36−0が‘オン’状態とな
る。
In the search, the control line 30 first becomes logic "0", the transistor 32 becomes "on", the match line 14 on the input side of the inverter 31 is precharged, and then the control line 30 becomes logic "1". Then, the transistor 32 is turned off, precharge is stopped, and the transistor 36-0 is turned on.

【0014】このとき、メモリセルに記憶された情報と
入力された検索の情報がこのメモリワード11を構成す
る全てのメモリセルにわたって一致している(上述した
ようにマスクされたビットは一致とみなす)場合、トラ
ンジスタ36−1,36−2,…,36−nの全てが
‘オン’状態となり一致線14にプリチャージされた電
荷がディスチャージされ、インバータ31から論理
‘1’の信号が出力される。
At this time, the information stored in the memory cell and the input search information match in all the memory cells forming this memory word 11 (the masked bits as described above are regarded as a match). In this case, all of the transistors 36-1, 36-2, ..., 36-n are in the “on” state, the charge precharged on the match line 14 is discharged, and the inverter 31 outputs a signal of logic “1”. It

【0015】なお、図6に示す連想メモリのメモリ構造
は一例にすぎず、種々の構造のものが提案されている
(例えば、特願平5−216424号参照)。上記のよ
うに、連想メモリは検索データを入力してその検索デー
タと一致するデータが記憶されているか否かを一回の検
索動作だけで瞬時に知ることができるため、高速のデー
タ処理が必要な分野等に広く適用されている。
The memory structure of the associative memory shown in FIG. 6 is merely an example, and various structures have been proposed (for example, see Japanese Patent Application No. 5-216424). As described above, the associative memory requires high-speed data processing because it can input search data and instantly know whether or not the data that matches the search data is stored with only one search operation. Widely applied to various fields.

【0016】この連想メモリにおいて、種々の技術が提
案されている。ここでは、後述する本発明の説明の際に
参照される技術について説明する。その1つは、特開昭
57−74887号公報に提案された技術である。ある
検索データと一致するデータが複数のメモリワードに記
憶されていた場合、プライオリティエンコーダ15(図
5参照)からは常に最優先の一致線に対応する特定のメ
モリワードのアドレスが出力され、一致するデータが記
憶された複数のメモリワード間に不平等が生じることに
なる。これを解消するため、アドレスの読み出しが行わ
れたか否かのフラグを各メモリワードに対応させて記憶
しておき、アドレスの読み出しが行われたメモリワード
については、後の検索で再度一致が検出されても優先度
を下げるというものである。
Various techniques have been proposed for this associative memory. Here, a technique referred to when the present invention is described later will be described. One of them is the technique proposed in JP-A-57-74887. When data matching a certain search data is stored in a plurality of memory words, the priority encoder 15 (see FIG. 5) always outputs the address of the specific memory word corresponding to the matching line having the highest priority, and matches. Inequalities will occur between the memory words in which the data is stored. To solve this, a flag indicating whether or not an address has been read is stored in association with each memory word, and for the memory word from which the address has been read, a match is detected again in a later search. Even if it is done, the priority is lowered.

【0017】また他の1つは、特公昭61−31558
号公報に提案された技術である。連想メモリを構成する
多数のメモリワードは、常に全てのメモリワードに検索
の対象となるデータが記憶されているわけではなく、そ
れらのメモリワードの一部は、有効なデータが記憶され
ていない空きの状態にあったり、その空きの状態にある
メモリワードに新たな有効データを書き込んだりするこ
とがある。この場合、どのメモリワードが空きの状態に
あるか否かを外部で管理しておくのは煩雑であることか
ら、各メモリワードに対応して、そのメモリワードに有
効なデータが記憶されているか、それともそのメモリワ
ードが空きの状態にあるかを示すフラグを各メモリワー
ドに対応させて記憶しておき、新たな有効データを書き
込む場合に連想メモリ自体で空きの状態にあるメモリワ
ードを見つけて、そのメモリワードに有効データを書き
込むというものである。
The other one is Japanese Patent Publication No. 61-31558.
This is the technology proposed in the publication. The large number of memory words that make up the associative memory do not always have the data to be searched stored in all memory words, and some of these memory words are empty spaces that do not store valid data. In some cases, new valid data may be written to the memory word in the empty state or in the empty memory word. In this case, it is complicated to manage which memory word is empty or not externally, so whether valid data is stored in the memory word corresponding to each memory word. , Or store a flag indicating whether or not the memory word is empty in association with each memory word, and when writing new valid data, find the empty memory word in the associative memory itself. , Writing valid data to that memory word.

【0018】これら2つの技術と本発明との関連性につ
いては後述することとし、次に連想メモリの適用の一例
として、LAN(Local Area Network)への適用例につ
いて説明する。図7はLANの一例を示した図である。
図7(A)に示すように、2つの通信回線LAN1,L
AN2にそれぞれ複数の端末A〜G,T〜Zが接続さ
れ、これにより2つの通信網が構成されているものとす
る。各通信回線LAN1,LAN2のトラフィック量
(その通信回線を流れるデータの量:その通信回線の混
雑度)は、それぞれ‘10’であるとする。
The relationship between these two techniques and the present invention will be described later. Next, as an example of application of the associative memory, an example of application to a LAN (Local Area Network) will be described. FIG. 7 is a diagram showing an example of a LAN.
As shown in FIG. 7A, two communication lines LAN1 and L
It is assumed that a plurality of terminals A to G and T to Z are connected to the AN2, respectively, and thereby two communication networks are configured. It is assumed that the traffic volume of each communication line LAN1 and LAN2 (the amount of data flowing through the communication line: the congestion degree of the communication line) is '10'.

【0019】これら2つの通信回線を互いに接続する必
要が生じた場合に、図7(B)に示すように単純に接続
すると、通信回路LAN1,LAN2のトラフィック量
は20となり、極めて混雑し、各端末間がなかなか接続
されず、待ち時間、空き時間が増大してしまうという結
果を招く。そこで、通常は図7(C)に示すように、2
つの通信回線LAN1,LAN2の中間に、これらの通
信回線LAN1,LAN2のうちの一方から発信された
データを他方に伝送するか否かのフィルタリングを行う
ブリッジを接続する。このブリッジを接続した場合、こ
のブリッジを通過するデータのトラフィック量、すなわ
ち2つの通信網に跨がるデータの授受についてのトラフ
ィック量を1とすると、各通信回線LAN1,LAN2
内部でのトラフィック量10と合わせ、各通信回線LA
N1,LAN2のトラフィック量はそれぞれ11とな
り、2つの通信回線LAN1,LAN2を単純に接続し
た図7(B)の場合と比べ、トラフィック量は大きく低
下する。ここでは2つの通信回線LAN1,LAN2の
接続について説明したが、1つのブリッジに多数の通信
回線を接続すると、この差はさらに顕著となる。
When it is necessary to connect these two communication lines to each other, if they are simply connected as shown in FIG. 7 (B), the traffic amount of the communication circuits LAN1 and LAN2 becomes 20, which is extremely congested. As a result, the terminals are not easily connected to each other, resulting in an increase in waiting time and idle time. Therefore, as shown in FIG.
A bridge for filtering whether or not to transmit the data transmitted from one of the communication lines LAN1 and LAN2 to the other is connected between the two communication lines LAN1 and LAN2. When this bridge is connected, assuming that the traffic amount of data passing through the bridge, that is, the traffic amount of data transmission / reception across two communication networks is 1, each communication line LAN1, LAN2
Each communication line LA combined with the internal traffic volume of 10
The traffic volumes of N1 and LAN2 are 11, respectively, and the traffic volume is greatly reduced as compared with the case of FIG. 7B in which two communication lines LAN1 and LAN2 are simply connected. Here, the connection of the two communication lines LAN1 and LAN2 has been described, but if a large number of communication lines are connected to one bridge, this difference becomes more remarkable.

【0020】図8は、ブリッジの機能説明図である。ブ
リッジは内部にメモリを持ち、最初は全て空白の状態か
ら出発し、例えば通信回線LAN1の端末Aからデータ
が送信されると、LAN1側からそのデータが送信され
てきたことを受けて、端末Aが通信回線LAN1に接続
されていることを学習する。この学習は、概念的には、
ブリッジ内部のメモリに通信回線LAN1,LAN2そ
れぞれについてテーブル1、テーブル2を持ち、通信回
線LAN1に対応するテーブル1に端末Aを書き込むこ
とによって行われる。端末Aから送信されたデータの受
信先が、端末Aと同じLAN1側の通信網内にあるか否
かは端末Aについてのみ学習した時点ではわからず、し
たがって、この時点では無条件にブリッジを通過させ
る。
FIG. 8 is an explanatory view of the function of the bridge. The bridge has an internal memory and initially starts from a blank state. For example, when data is transmitted from the terminal A of the communication line LAN1, the data is transmitted from the LAN1 side, and the terminal A receives the data. Is connected to the communication line LAN1. This learning is conceptually
This is performed by having a table 1 and a table 2 for each of the communication lines LAN1 and LAN2 in the memory inside the bridge, and writing the terminal A in the table 1 corresponding to the communication line LAN1. Whether or not the destination of the data transmitted from the terminal A is in the communication network on the same LAN1 side as the terminal A is not known at the time of learning only for the terminal A, and therefore unconditionally passes the bridge at this time. Let

【0021】このような学習を繰り返すことにより、ブ
リッジ中に図8に示すようなテーブル1、テーブル2が
作成され、これらが作成された後は、例えば図示のよう
に、発信先が端末B(LAN1側)、受信先が端末X
(LAN2側)のデータは、ブリッジで、それら端末
B,Xがブリッジを跨がっていることを認識してブリッ
ジを通過させ、発信先、受信先がいずれもLAN1側の
端末A,Eの場合は、それらの端末A,Eがブリッジか
ら見て同じ側の通信網にあることを認識してブリッジデ
ータの通過を遮断する。これにより、前述したように、
トラフィック量の低減化が図られる。
By repeating such learning, tables 1 and 2 as shown in FIG. 8 are created in the bridge, and after these are created, for example, as shown in FIG. LAN1 side), destination is terminal X
The data on the (LAN2 side) is recognized by the bridge that the terminals B and X are passing over the bridge and is passed through the bridge, and the destination and destination are both the terminals A and E on the LAN1 side. In this case, the terminals A and E recognize that they are on the same side of the communication network as seen from the bridge and block the passage of bridge data. As a result, as described above,
The amount of traffic can be reduced.

【0022】このブリッジに備えられるメモリとして連
想メモリを採用すると、処理の高速化が図られる。例え
ば、各端末A〜G,T〜Zの情報と、それらの各端末が
テーブル1に属するか(LAN1側に接続されている
か)、あるいはテーブル2に属するか(LAN2側に属
するか)という情報を連想メモリに記憶し、データを通
過させるか否かの判断にあたっては、例えば受信先が端
末Xであった場合そのXを検索データとして検索して、
そのXがテーブル2(LAN2)に属する端末であるこ
とを認識し、これに基づいてデータを通過させるか否か
を定めることができる。
If an associative memory is used as the memory provided in this bridge, the processing speed can be increased. For example, information on each of the terminals A to G and T to Z and information on whether each of those terminals belongs to the table 1 (is connected to the LAN 1 side) or the table 2 (is belonging to the LAN 2 side). Is stored in the associative memory, and in determining whether or not to pass the data, for example, when the receiving destination is the terminal X, the X is searched as search data,
It can be recognized that X is a terminal belonging to Table 2 (LAN2), and based on this, whether or not to pass data can be determined.

【0023】これに対し、ブリッジに通常のRAMメモ
リ等を備えた場合は、メモリされたデータを1つずつ読
み出してはそのデータが端末Xのデータであるかを逐次
比較により検索する必要があり、ブリッジを通過させる
か遮断するかを定めるために多大な時間を要することと
なる。
On the other hand, when the bridge is provided with a normal RAM memory or the like, it is necessary to read the stored data one by one and search for the data of the terminal X by successive comparison. Therefore, it takes a lot of time to decide whether to pass or block the bridge.

【0024】[0024]

【発明が解決しようとする課題】上記のように、連想メ
モリは、例えばLANネットワーク等に好適に用いられ
るが、以下に示すようにさらに改善が望まれている。す
なわち、上述したようにブリッジにおいて最初は空白の
状態から学習を行うが、この学習の過程ではデータの送
信先がどの通信網に属するかわからず、そのデータを無
条件にブリッジを通過させる必要が生じ、図7(B)に
示すように、トラフィック量の増大化を招くことにな
る。このトラフィック量の増大化は、最初の1回のみで
あればほとんど問題はないが、実際は、通常、例えば数
十秒〜1分毎等、かなり頻繁に行う必要がある。これ
は、データの送受信に関与していない端末を排除する必
要上、ブリッジ内のメモリを繰り返し初期化し、学習を
行わせる必要があるからである。このようにメモリを繰
り返し初期化する必要があるため、このことがトラフィ
ック量をさらに低減させることの1つのネックとなって
いる。
As described above, the associative memory is preferably used in, for example, a LAN network, but further improvement is desired as shown below. That is, as described above, the bridge first learns from a blank state, but in this learning process, it is necessary to pass the data unconditionally through the bridge without knowing which communication network the data transmission destination belongs to. As a result, the traffic volume is increased as shown in FIG. 7 (B). There is almost no problem if the traffic volume is increased only once at the first time, but in reality, it is usually necessary to perform it fairly frequently, for example, every several tens of seconds to 1 minute. This is because it is necessary to eliminate the terminals that are not involved in data transmission / reception, and to repeatedly initialize the memory in the bridge to perform learning. Since it is necessary to repeatedly initialize the memory in this way, this is one of the obstacles to further reducing the traffic amount.

【0025】これを解決するには、メモリを全て初期化
してしまうのではなく、前回の初期化から今回までの間
に各端末がデータの送受信に参加したか否かを記録して
おき、初期化にあたってはその記録を参照して、参加し
ていない端末のデータのみを初期化し、参加していた端
末のデータは初期化せずにそのまま残しておくことが考
えられる。しかし、従来の連想メモリを用いた場合にこ
れを実現しようとすると、データの送受信に参加したか
否かを示すフラグを参照しながら、初期化する必要のあ
る端末データを順次1つずつ消去していく必要があり、
上述した逐次比較と同様に、初期化の際に多大な時間を
要することとなってしまう。
To solve this problem, it is necessary to record whether or not each terminal participated in data transmission / reception between the last initialization and this time, instead of completely initializing the memory. It may be possible to initialize the data of the terminals that have not participated and to leave the data of the terminals that have participated as they are, with reference to the record. However, if the conventional associative memory is used to realize this, the terminal data that need to be initialized are sequentially deleted one by one while referring to the flag indicating whether or not the device has participated in data transmission / reception. Need to go,
As with the successive comparison described above, it takes a lot of time for initialization.

【0026】そこで、本願発明者は、特願平5−248
119号明細書において不要なデータのみを一括消去で
きる連想メモリ、あるいは、特願平6−240045号
明細書において、各エントリ毎にヒット履歴に応じて、
不要なデータを消去できる連想メモリを提案した。しか
しながら、このような連想メモリでは、ヒット履歴に無
関係に半永久的に保有しておきたいエントリデータが消
去されてしまうという問題がある。
Therefore, the inventor of the present application has filed Japanese Patent Application No. 5-248.
No. 119 specification, an associative memory capable of collectively erasing only unnecessary data, or in Japanese Patent Application No. 6-240045 specification, according to the hit history for each entry,
We proposed an associative memory that can erase unnecessary data. However, in such an associative memory, there is a problem that the entry data which is desired to be retained semipermanently is erased regardless of the hit history.

【0027】このため、本願発明者は、特願平6−25
5092号明細書において、第2フラグの有効化制御フ
ラグを各メモリワード毎に保持させておくことにより、
ヒット履歴に無関係に保有しておきたいエントリデータ
を消去することなく、各エントリ毎にヒット履歴に応じ
て不要となるデータのみを消去できる連想メモリを提案
した。しかしながら、このような連想メモリでは、各エ
ントリ毎にメモリテーブルに保持するかどうかを定義す
るための手段をエントリデータに応じて別途設けなけれ
ばならないという問題があった。そこで本発明の目的
は、上記の問題点を解消し、各エントリ毎にメモリテー
ブルに半永久的に保持するかどうかを当該エントリデー
タを検索した結果に応じて設定可能な新規な連想メモリ
を提案することにある。
Therefore, the inventor of the present application filed Japanese Patent Application No. 6-25.
In the specification of No. 5092, by holding the validation control flag of the second flag for each memory word,
We proposed an associative memory that can erase only unnecessary data for each entry without erasing the entry data that you want to keep regardless of the hit history. However, in such an associative memory, there has been a problem that means for defining whether or not each entry is held in the memory table must be separately provided according to the entry data. Therefore, an object of the present invention is to solve the above problems and propose a new associative memory capable of setting whether or not to hold semi-permanently in the memory table for each entry according to the result of searching the entry data. Especially.

【0028】[0028]

【課題を解決するための手段】上記目的を達成する本発
明の連想メモリは、各データをそれぞれ記憶する複数の
メモリワードと、それら複数のメモリワードそれぞれに
対応して備えられ、対応するメモリワードに記憶された
データと入力された検索データとの一致不一致を検出す
る一致検出回路とを備えた連想メモリにおいて、(1)
上記複数のメモリワードそれぞれに対応して備えられ、
対応するメモリワードが、検索の対象とされる有効デー
タが記憶された第1の記憶状態にあるメモリワードであ
るか、あるいは前記有効データが記憶されておらず、し
たがって書き込みが許容される第2の記憶状態にあるメ
モリワードであるかを示す第1のフラグが記憶される第
1のフラグレジスタ、(2)上記複数のメモリワードそ
れぞれに対応して備えられ、対応するメモリワードが、
過去の複数回の検索において少なくとも一度一致が検出
された第1の履歴状態にあるメモリワードであるか、あ
るいは過去の複数回の検索において全て不一致であった
第2の履歴状態にあるメモリワードであるかを示す第2
のフラグが記憶される第2のフラグレジスタ、(3)上
記第1の記憶状態にあるメモリワードのうち、前記第1
の履歴状態および前記第2の履歴状態のうちいずれか一
方の状態を示す前記第2のフラグが記憶された前記第2
のフラグレジスタに対応するメモリワードであって、か
つ前記複数のメモリワードの各特定ビットの検索の結果
が一致もしくは不一致のいずれかであるメモリワード
を、前記第2の記憶状態に変更する記憶状態変更回路を
備えたことを特徴とするものである。
An associative memory of the present invention which achieves the above object is provided with a plurality of memory words for storing respective data and a plurality of memory words respectively corresponding to the plurality of memory words. In an associative memory having a match detection circuit for detecting a match / mismatch between the data stored in and the input search data, (1)
Provided corresponding to each of the plurality of memory words,
The corresponding memory word is the memory word in the first storage state in which the valid data to be searched is stored, or the valid data is not stored in the second storage word and therefore the second writing is permitted. A first flag register for storing a first flag indicating whether the memory word is in the storage state of (2), which is provided corresponding to each of the plurality of memory words, and the corresponding memory word is
It is a memory word in the first history state in which a match was detected at least once in the past multiple searches, or in a second history state in which all matches were unmatched in the past multiple searches. Second indicating if there is
A second flag register storing the flag of (3), the first flag of the memory words in the first storage state
The second flag in which the second flag indicating one of the second history state and the second history state is stored.
A memory state corresponding to the flag register of No. 1 and in which the result of the search for each specific bit of the plurality of memory words is either coincident or non-coincident, the memory state is changed to the second memory state. It is characterized in that a change circuit is provided.

【0029】ここで、上記本発明の連想メモリにおい
て、前記第1の記憶状態にあるメモリワードを、一括し
て前記第2の記憶状態に変更する記憶状態リセット回路
を備えることが好ましい。また、上記本発明の連想メモ
リにおいて、前記複数のメモリワードの各特定ビットの
前記検索結果が一致もしくは不一致のいずれかである前
記メモリワードの第2のフラグレジスタに、前記第2の
履歴状態を示す前記第2のフラグを記憶させる履歴状態
リセット回路を備えることが好ましい。
Here, it is preferable that the associative memory according to the present invention further includes a storage state reset circuit for collectively changing the memory words in the first storage state to the second storage state. In the associative memory according to the present invention, the second history state is stored in the second flag register of the memory word in which the search result of each specific bit of the plurality of memory words is either coincident or non-coincident. It is preferable to include a history state reset circuit for storing the second flag shown.

【0030】[0030]

【作用】本発明の連想メモリは、有効データが記憶され
ているか否かを示す第1のフラグと、一致が検出された
か否かを示す第2のフラグを各メモリワードに対応させ
ておき、第2のフラグ状態および記憶されているデータ
の特定ビットの検索の結果に応じて有効データが記憶さ
れているメモリワードを各ワード毎に消去する構成を備
えたものであるため、例えば上述したブリッジの初期化
の際、過去の一致検出の有無にかかわらず保持すべきデ
ータではなく、かつ過去に一度も一致検出が行われてい
ない、すなわちデータの送受信に参加していない端末の
データのみを一定時間隔でワード毎に消去することがで
き、またこの時必要なデータ、すなわち過去のヒット履
歴に無関係に、例えば半永久的に保持しておきたいデー
タを誤って消してしまうこともない。なお、メモリワー
ドの消去は、そのメモリワードに記憶されたデータ自体
を消去してもよいが、それに限られず、消去された場合
と実質的に等価でありさえすればよく、例えば第1のフ
ラグレジスタのフラグ内容を書き換えることによりその
メモリワードが検索に参加しないようにしてもよい。
In the associative memory of the present invention, a first flag indicating whether valid data is stored and a second flag indicating whether a match is detected are associated with each memory word. The memory word in which valid data is stored is erased for each word in accordance with the second flag state and the result of the search of the specific bit of the stored data. At the time of initialization, it is not the data that should be retained regardless of the presence or absence of the past match detection, and the match detection has never been performed in the past, that is, only the data of the terminal that has not participated in the data transmission / reception is fixed. It can be erased word by word at time intervals, and the data required at this time, that is, data that you want to retain semipermanently, regardless of past hit history, can be erased by mistake. Mau nor. Note that the memory word may be erased by erasing the data itself stored in the memory word, but is not limited to this, and it is only necessary that the data is substantially equivalent to the case where it is erased. For example, the first flag The memory word may not participate in the search by rewriting the flag content of the register.

【0031】上述したように、特開昭57−74887
号公報には本発明にいう第2のフラグに近似したフラグ
が示されており、特公昭61−31588号公報には本
発明にいう第1のフラグが示されている。しかしこれら
の公報に提案された技術は、前述したように、互いに全
く異なる課題を解決する手段を示したものであって、こ
れらの公報にはこれらの第1のフラグと第2のフラグを
結びつけるものは全く存在していない。またこれらの公
報には、本発明にいう記憶状態変更回路も存在していな
い。
As mentioned above, JP-A-57-74887
The publication discloses a flag that is similar to the second flag according to the present invention, and the publication of Japanese Patent Publication No. 61-31588 discloses the first flag according to the present invention. However, as described above, the techniques proposed in these publications show means for solving completely different problems, and these publications associate these first flag and second flag with each other. Things do not exist at all. Further, these publications do not include the storage state changing circuit according to the present invention.

【0032】[0032]

【発明の実施の形態】以下、本発明の実施例について説
明する。図1は、本発明の一実施例の連想メモリの、1
つのメモリワードに対応した特徴部分を示す回路図であ
る。前述した従来例で参照した図面における構成要素に
対応する構成要素には、それらの図面に付した番号と同
一の番号を付して示す。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below. FIG. 1 is a block diagram of an associative memory 1 according to an embodiment of the present invention.
It is a circuit diagram which shows the characteristic part corresponding to one memory word. The components corresponding to the components in the drawings referred to in the above-mentioned conventional example are designated by the same numbers as those in the drawings.

【0033】この図1では、メモリワード11や一致線
14の構成は略示されている。本発明の連想メモリ装置
に記憶されるエントリデータおよびこのエントリデータ
を記憶するメモリワードの構成については、後述する。
この各メモリワード11に対応して第1のフラグレジス
タ51が備えられており、この第1のフラグレジスタ5
1には、対応するメモリワード11に検索の対象となる
有効データが記憶されている場合に‘0’、検索の対象
から除外され、したがって書き込みを許容する無効のデ
ータが記憶されている場合(これを、ここでは対応する
メモリワード11が「空き状態にある」と称する)に
‘1’の空きフラグ(本発明にいう第1のフラグの一
例)が記憶されている。ここでは、この空きフラグは
‘0’、すなわち図示のメモリワード11には有効デー
タが格納されているものとする。この第1のフラグレジ
スタ51のQ出力は、一方の入力側が反転されたアンド
ゲート53の反転入力側に接続されている。
In FIG. 1, the structure of the memory word 11 and the match line 14 is schematically shown. The structure of the entry data stored in the associative memory device of the present invention and the memory word storing this entry data will be described later.
A first flag register 51 is provided corresponding to each memory word 11, and the first flag register 5 is provided.
In the case where 1 stores valid data to be searched for in the corresponding memory word 11, '0' is stored, and invalid data which is excluded from the search and therefore allows writing ( Here, the corresponding memory word 11 is referred to as "in a free state", and a free flag of "1" (an example of the first flag according to the present invention) is stored. Here, it is assumed that this empty flag is "0", that is, valid data is stored in the illustrated memory word 11. The Q output of the first flag register 51 is connected to the inverting input side of the AND gate 53 whose one input side is inverted.

【0034】ビット線23−1,…,23−nおよびビ
ットバー線26−1,…,26−nに検索データをのせ
て検索を行った結果、その検索データと図示のメモリワ
ード11(メモリセル11−1,…,11−n)に記憶
されたデータとが一致したものとすると、一致線14が
‘1’となる。アンドゲート53の非反転入力には一致
線14が接続されており、また第1のフラグレジスタ5
1の出力は‘0’であるため、アンドゲート53の出力
は‘1’となる。アンドゲート53の出力すなわち検索
結果(ヒットフラグまたはヒット情報)は、各メモリワ
ードに対応して備えられたヒットフラグレジスタ53a
に入力されており、ヒットフラグクロック線50にクロ
ックパルスを印加することによりその値が保持される。
なお、ここでは、ヒットフラグレジスタ53aの出力か
ら延びる信号線も一致線140と称する。この一致線1
40は、従来の場合の一致線14に代わり、図5に示す
プライオイリティエンコーダ15に延びている。また、
アンドゲート53の出力は、オアゲート54を経由して
第2のフラグレジスタ55にも入力される。第2のフラ
グレジスタ55は、各メモリワードに対応して備えられ
ており、直前の検索結果、すなわち一致線140の状態
に無関係に、一括して全てのメモリワード11に対応し
てリセットする場合は、履歴フラグリセット制御線74
を非アクティブ状態にしておき、履歴フラグリセット信
号線56a,56b、これらの信号線56a,56bを
入力とする2入力アンドゲート72、このアンドゲート
72の出力を一方の入力とする反転出力オアゲート7
0、このオアゲート70の反転出力および履歴フラグリ
セット制御線74を反転入力とする2反転入力アンドゲ
ート77、このアンドゲート77の出力を一方の入力と
する反転出力オアゲート75を経由して第2のフラグレ
ジスタ55のリセット反転入力Rに入力されたリセット
パルスにより、対応するメモリワード11に過去に一致
がなかったことを表す‘0’が格納される。
, 23-n and bit bar lines 26-1, ..., 26-n are searched and the search data and the illustrated memory word 11 (memory) are searched. If the data stored in the cells 11-1, ..., 11-n) match, the match line 14 becomes “1”. The match line 14 is connected to the non-inverting input of the AND gate 53, and the first flag register 5
Since the output of 1 is "0", the output of the AND gate 53 is "1". The output of the AND gate 53, that is, the search result (hit flag or hit information) is the hit flag register 53a provided corresponding to each memory word.
Is input to the hit flag clock line 50, and its value is held by applying a clock pulse to the hit flag clock line 50.
Here, the signal line extending from the output of the hit flag register 53a is also referred to as the match line 140. This match line 1
The reference numeral 40 extends to the priority encoder 15 shown in FIG. 5 instead of the matching line 14 in the conventional case. Also,
The output of the AND gate 53 is also input to the second flag register 55 via the OR gate 54. The second flag register 55 is provided corresponding to each memory word, and when resetting collectively corresponding to all the memory words 11 regardless of the immediately preceding search result, that is, the state of the match line 140. Is a history flag reset control line 74
Of the history flag reset signal lines 56a and 56b, the two-input AND gate 72 having these signal lines 56a and 56b as inputs, and the inverted output OR gate 7 having the output of the AND gate 72 as one input.
0, an inverted output of the OR gate 70 and a 2-inversion input AND gate 77 having the history flag reset control line 74 as an inverting input, and an inverting output OR gate 75 having the output of the AND gate 77 as one input The reset pulse input to the reset inverting input R of the flag register 55 causes the corresponding memory word 11 to store “0” indicating that there is no match in the past.

【0035】また、直前の検索結果とは無関係に、各メ
モリワードにデータがエントリされた時に、第2のフラ
グレジスタ55をリセットする場合は、履歴フラグリセ
ット制御線74を非アクティブ状態にしたまま、ワード
リセット信号線56cとワード線24をアクティブにす
ることで、これらの信号線56cとワード線24とを入
力とする2入力アンドゲート71、このアンドゲート7
1の出力を他方の入力とする反転出力オアゲート70、
上述したアンドゲート77およびオアゲート75を経由
して第2のフラグレジスタ55のリセット反転入力Rに
入力されたリセットパルスにより、リセットすることが
可能となる。このワード線24は、メインデコーダ線5
2aとサブデコーダ線52bを入力とするアンドゲート
67の出力として定義されており、これらのデコーダ線
52a,52bにより選択された特定ワードのみがアク
ティブとなるよう設けられている。
Further, irrespective of the immediately preceding search result, when the second flag register 55 is reset when data is entered in each memory word, the history flag reset control line 74 remains inactive. , The word reset signal line 56c and the word line 24 are activated so that the signal line 56c and the word line 24 are input.
An inverting output OR gate 70 having the output of 1 as the other input,
The reset pulse can be reset by the reset pulse input to the reset inverting input R of the second flag register 55 via the AND gate 77 and the OR gate 75 described above. This word line 24 is the main decoder line 5
2a and the sub-decoder line 52b are defined as the output of the AND gate 67, and only the specific word selected by these decoder lines 52a and 52b is provided to be active.

【0036】直前の検索結果に応じて、第2フラグレジ
スタ55をリセットする場合には、履歴フラグリセット
制御線74をアクティブ状態にしておき、例えば一致検
索結果が一致”1”であったものを全メモリワードに亘
って一括してリセットするのであれば、上述した履歴フ
ラグリセット信号線56a,56b、アンドゲート7
2、オアゲート70、このオアゲート70の反転出力の
反転入力とし、履歴フラグリセット制御線74および一
致線140を非反転入力とする3入力アンドゲート7
6、このアンドゲート76の出力を他方の入力とする反
転出力オアゲート75を経由して第2フラグレジスタ5
5のリセット反転入力Rに入力されたリセットパルスに
より、リセットすることが可能となる。また、履歴フラ
グリセット制御線74をアクティブとし、上述したワー
ドリセット信号線56c、ワード線24、アンドゲート
71、オアゲート70、アンドゲート76およびオアゲ
ート75を経由して第2フラグレジスタ55のリセット
反転入力Rに入力されたリセットパルスにより、直前の
検索結果が一致”1”であったメモリワードに対応する
第2フラグレジスタ55を各メモリワードにデータがエ
ントリされた時にリセットすることができる。本発明に
おいては、第2フラグレジスタ55のリセットを制御す
る回路は、図示例の2種の複合ゲートを適用するものに
限定されず、またその構成も限定されるものではない。
例えば、上記実施例とは逆に、直前の検索結果が不一致
の時に第2フラグレジスタ55をリセットするように構
成してもよいし、あるいは直前の検索結果に応じて選択
的に第2フラグレジスタ55をリセットできるように構
成してもよいことはもちろんである。
When the second flag register 55 is reset in accordance with the immediately preceding search result, the history flag reset control line 74 is kept in the active state, and, for example, if the match search result is the match "1", If the memory word is reset all at once, the history flag reset signal lines 56a and 56b and the AND gate 7 described above are used.
2, an OR gate 70, a 3-input AND gate 7 having an inverted input of the inverted output of the OR gate 70 and a history flag reset control line 74 and a match line 140 as non-inverted inputs
6. The second flag register 5 via the inverting output OR gate 75 which receives the output of the AND gate 76 as the other input
The reset pulse input to the reset inverting input R of 5 enables resetting. Further, the history flag reset control line 74 is activated, and the reset inversion input of the second flag register 55 is performed via the word reset signal line 56c, the word line 24, the AND gate 71, the OR gate 70, the AND gate 76, and the OR gate 75. By the reset pulse input to R, the second flag register 55 corresponding to the memory word for which the immediately preceding search result is coincidence "1" can be reset when data is entered in each memory word. In the present invention, the circuit for controlling the reset of the second flag register 55 is not limited to the application of the two kinds of composite gates in the illustrated example, and the configuration thereof is not limited.
For example, contrary to the above embodiment, the second flag register 55 may be reset when the immediately preceding search result does not match, or the second flag register 55 may be selectively selected according to the immediately previous search result. Of course, it may be configured so that 55 can be reset.

【0037】ここで、上記のようにしてこのメモリワー
ドに検索データとの一致が生じた結果、アンドゲート5
3の出力が一致を表す‘1’となり、その一致信号がオ
アゲート54を経由して第2のフラグレジスタ55に印
加される。ここで、履歴フラグクロック線57にクロッ
クパルスを印加することにより、第2のフラグレジスタ
55に検索データとの一致があったことを表す‘1’が
格納される。この第2のフラグレジスタ55に一旦
‘1’が格納されると、その第2のフラグレジスタ55
のQ出力がオアゲート54を経由して再度その第2のフ
ラグレジスタ55に入力されているため、次にリセット
されるまでの間は履歴フラグクロック線57にクロック
パルスが印加される毎に常に‘1’が上書きされ続け
る。第2のフラグレジスタ55のQ出力は、オアゲート
54を経由して自分自身に入力されるほか、ワード線2
4を制御入力とする3ステートバッファ73を経由して
フラグデータリード線55aにも接続される。こうし
て、ワード線24をアクティブにすることにより、第2
のフラグレジスタ55のQノード出力を読みだすことが
できるように設計されている。
Here, as a result of the coincidence with the search data in this memory word as described above, the AND gate 5
The output of 3 becomes "1" indicating a match, and the match signal is applied to the second flag register 55 via the OR gate 54. Here, by applying a clock pulse to the history flag clock line 57, “1” indicating that there is a match with the search data is stored in the second flag register 55. Once "1" is stored in the second flag register 55, the second flag register 55
Is output to the second flag register 55 again via the OR gate 54, so that it is always set to "1" every time a clock pulse is applied to the history flag clock line 57 until the next reset. 1'will continue to be overwritten. The Q output of the second flag register 55 is input to itself via the OR gate 54 and the word line 2
It is also connected to the flag data lead wire 55a via a 3-state buffer 73 whose control input is 4. Thus, by activating the word line 24, the second
It is designed to be able to read out the Q node output of the flag register 55 of.

【0038】さらに、第2フラグレジスタ55のQ出力
は、制御線78を非アクティブにすることにより、制御
線78を反転入力とし、前記Q出力を非反転入力とする
2入力アンドゲート80、このアンドゲート80の出力
を一方の入力とするオアゲート79、オアゲート79の
出力を伝送する信号線58を経由してセレクト回路59
に入力される。また、このQ出力を、制御線78をアク
ティブにすることにより、検索結果が一致”1”であっ
た場合に、前記Q出力を反転入力とし、制御線78およ
び一致線140を非反転入力とする3入力アンドゲート
81、このアンドゲート81の反転出力を他方の入力と
するオアゲート79、信号線58を経由してセレクト回
路59に入力することができる。もちろん、この時の検
索結果が不一致”0”である場合には、第2フラグレジ
スタ55のQ出力によらずセレクト回路59には‘1’
が入力される。本発明においては、第2フラグレジスタ
55のQ出力のセレクト回路59への入力を制御する回
路は、図示例の複合ゲートに限定されないし、またその
構成も限定されず、例えば直前の検索結果が一致の時に
前記Q出力の反転出力Qバーがセレクト回路59へ入力
されるように構成してもよいし、また、不一致の時にQ
出力によらず‘0’が出力されるように構成してもよい
し、直前の検索結果が不一致の時に前記Q出力もしくは
その反転出力Qバーがそのままセレクト回路59に入力
され、一致の時にQ出力によらず‘1’または‘0’が
入力されるように構成してもよいのはもちろんである。
このように構成することにより、第2フラグレジスタ5
5のQ出力と、このQ出力によらない所定値の出力との
いずれか一方をセレクト回路59に入力することを直前
の検索結果、すなわちヒット情報に応じて制御する(切
り換える)ことができる。またこのセレクト回路59に
は、ワード線24に接続された信号線60、および4本
の選択信号線61,62,63a,63bも接続されて
いる。
Further, the Q output of the second flag register 55 is a 2-input AND gate 80 having the control line 78 as an inverting input and the Q output as a non-inverting input by deactivating the control line 78. A select circuit 59 is provided via an OR gate 79 that receives the output of the AND gate 80 as one input and a signal line 58 that transmits the output of the OR gate 79.
Entered in. In addition, by activating the control line 78, the Q output is set as the inverting input and the control line 78 and the matching line 140 are set as the non-inverting input when the search result is "1". The 3-input AND gate 81, the inverted output of the AND gate 81, and the OR gate 79 which receives the other input, and the signal line 58 can be input to the select circuit 59. Of course, when the search result at this time is a mismatch “0”, the select circuit 59 outputs “1” regardless of the Q output of the second flag register 55.
Is entered. In the present invention, the circuit that controls the input of the Q output of the second flag register 55 to the select circuit 59 is not limited to the composite gate in the illustrated example, and the configuration thereof is not limited. The inverted output Q bar of the Q output may be input to the select circuit 59 when there is a match, and when there is a mismatch, Q is output.
It may be configured such that "0" is output regardless of the output, and when the immediately preceding search result does not match, the Q output or its inverted output Q bar is directly input to the select circuit 59, and when it matches, Q is output. Of course, it may be configured so that "1" or "0" is input regardless of the output.
With this configuration, the second flag register 5
It is possible to control (switch) the input of either the Q output of No. 5 or the output of a predetermined value not depending on the Q output to the select circuit 59 according to the immediately preceding search result, that is, hit information. A signal line 60 connected to the word line 24 and four selection signal lines 61, 62, 63a, 63b are also connected to the select circuit 59.

【0039】図2は、セレクト回路59の構成を表す回
路図である。このセレクト回路59は、5入力アンドゲ
ート590a,590b、3入力アンドゲート591、
入力側の信号が全て反転される3入力アンドゲート59
2、入力側の信号が1つだけ反転される3入力アンドゲ
ート593、および各入力がアンドゲート590a,5
90b,591,592,593の各出力,および、選
択信号線61に接続された6入力オアゲート594から
構成されている。
FIG. 2 is a circuit diagram showing the configuration of select circuit 59. The select circuit 59 includes 5-input AND gates 590a and 590b, a 3-input AND gate 591,
3-input AND gate 59 in which all signals on the input side are inverted
2, 3 inputs AND gate 593 in which only one input side signal is inverted, and AND gates 590a, 5
Each of the outputs 90b, 591, 592, 593, and a 6-input OR gate 594 connected to the selection signal line 61.

【0040】選択信号線61は、各メモリワード11に
対応する各第1のフラグレジスタ51の全てに、一括し
て、そのメモリワード11が空き状態にあることを表す
空きフラグ‘1’を記憶させるための信号線である。そ
の信号線61に論理‘1’の信号を印加すると、その信
号はオアゲート594を経由し、図1に示すアンドゲー
ト64に入力される。アンドゲート64には空きフラグ
クロック信号線65も接続されており、セレクト回路5
9から論理‘1’の信号がアンドゲート64に入力され
ていることから、空きフラグクロック信号線65にクロ
ックパルスが印加されるとそのクロックパルスはアンド
ゲート64を通過し、第1のフラグレジスタ51のクロ
ック入力端子に入力される。このときに空きフラグデー
タ線66に論理‘1’の信号をのせておくと、第1のフ
ラグレジスタ51に空きフラグ‘1’がセットされ、こ
れにより全てのメモリワード11が一括して空き状態と
なる。前述したように、第1のフラグレジスタ51の出
力はアンドゲート53の反転入力端子と接続されてお
り、空き状態にあるメモリワード11でたとえ一致が検
出され一致線14が‘1’となってもアンドゲート53
で遮断され、アンドゲート53は‘0’のままにとどま
ることになる。
The selection signal line 61 collectively stores an empty flag "1" indicating that the memory word 11 is in an empty state in all of the first flag registers 51 corresponding to each memory word 11. It is a signal line for making it. When a signal of logic “1” is applied to the signal line 61, the signal is input to the AND gate 64 shown in FIG. 1 via the OR gate 594. An empty flag clock signal line 65 is also connected to the AND gate 64, and the select circuit 5
Since the signal of logic '1' is input to the AND gate 64 from 9, the clock pulse passes through the AND gate 64 when the clock pulse is applied to the empty flag clock signal line 65, and the first flag register It is input to the clock input terminal 51. At this time, if a signal of logic "1" is placed on the empty flag data line 66, the empty flag "1" is set in the first flag register 51, whereby all the memory words 11 are collectively in the empty state. Becomes As described above, the output of the first flag register 51 is connected to the inverting input terminal of the AND gate 53, and even if a match is detected in the empty memory word 11, the match line 14 becomes "1". Mo and gate 53
Then, the AND gate 53 remains at "0".

【0041】また、3本の選択信号線61,62,63
aが全て‘0’および選択信号線63bが‘1’の状態
において、第2のフラグレジスタ55に過去に一致がな
かったことを表す‘0’が格納されていた場合であっ
て、かつ制御線78が非アクティブの状態にある場合
か、あるいは制御線78がアクティブでありかつ直前の
検索結果が一致、すなわち一致線140が‘1’である
場合には、信号線58が‘0’の状態にあり、アンドゲ
ート592の出力が‘1’となり、オアゲート594を
経由して‘1’が出力される。その状態で空きフラグデ
ータ線66に‘1’の信号をのせて、空きフラグクロッ
ク線65にクロックパルスを印加すると、第1のフラグ
レジスタ51に空きフラグが格納される。すなわち、こ
の場合、過去に一致がなかったことを表す‘0’が格納
されていた第2のフラグレジスタ55に対応するメモリ
ワード11もしくは、このようなメモリワード11のう
ち直前の検索結果が一致(‘1’)であったメモリワー
ド11のみが一括して空き状態に変更される。
Further, three selection signal lines 61, 62, 63
When a is all "0" and the selection signal line 63b is "1", the second flag register 55 stores "0" indicating that there is no match in the past, and the control is performed. When the line 78 is in the inactive state, or when the control line 78 is active and the previous search result is a match, that is, the match line 140 is “1”, the signal line 58 is “0”. In this state, the output of the AND gate 592 becomes "1", and "1" is output via the OR gate 594. In that state, when a signal of “1” is applied to the empty flag data line 66 and a clock pulse is applied to the empty flag clock line 65, the empty flag is stored in the first flag register 51. That is, in this case, the memory word 11 corresponding to the second flag register 55 in which “0” indicating that there is no match in the past is stored, or the immediately preceding search result of such memory words 11 is matched. Only the memory word 11 that was ('1') is collectively changed to the empty state.

【0042】また、選択信号線61,63aを‘0’、
選択信号線62,63bを‘1’に保った状態におい
て、第2のフラグレジスタ55に過去に一致があったこ
とを表す‘1’が格納されていた場合であって、かつ制
御線78が非アクティブ‘0’である場合か、または第
2のフラグレジスタ55の値にかかわらず、制御線がア
クティブ‘1’であるとともに直前の検索結果が不一致
‘0’である場合には、信号線58が‘1’の状態にあ
り、アンドゲート593の出力が‘1’となり、オアゲ
ート594を経由して‘1’が出力される。すなわち、
この場合、過去に一致があったことを表す‘1’が格納
されていた第2のフラグレジスタ55に対応するメモリ
ワード11もしくは、直前の検索結果が不一致‘0’で
あったメモリワード11が一括して空き状態に変更され
る。以上の場合が、第2のフラグレジスタ55の値の
み、あるいは第2のフラグレジスタ55および一致線1
40(制御線78との組合せ)の値に応じて一括して、
データの有効、非有効を決める方法である。
Further, the selection signal lines 61 and 63a are set to "0",
When the selection signal lines 62 and 63b are kept at "1", the second flag register 55 stores "1" indicating that there is a match in the past, and the control line 78 is If the control line is active “1” and the previous search result is mismatch “0” regardless of the value of the second flag register 55, the signal line is inactive “0”. 58 is in the state of "1", the output of the AND gate 593 becomes "1", and "1" is output via the OR gate 594. That is,
In this case, the memory word 11 corresponding to the second flag register 55 in which “1” indicating that there is a match in the past is stored, or the memory word 11 in which the immediately preceding search result is a mismatch “0” is All of them are changed to free status. In the above cases, only the value of the second flag register 55, or the second flag register 55 and the match line 1
According to the value of 40 (combination with the control line 78),
This is a method of determining whether data is valid or invalid.

【0043】同様にして各ワード毎のデータの有効、非
有効を決める方法について以下に述べる。まず、本発明
の連想メモリに記憶されるエントリデータとこのエント
リデータを記憶するメモリワードの構成および本発明の
連想メモリの作用について説明する。まず、図3(a)
に示すように、本発明に用いられるエントリデータED
はデータ検索の対象となるデータDDとこのデータの属
性を示す属性ビットPBとその他のビットとからなり、
属性ビット中にはヒット履歴に無関係に永久的にもしく
は半永久的に保持するかどうかを示すパーマネントビッ
トという特定ビットが少なくとも存在するものとする。
図示例では、パーマネントビットPBがエントリデータ
の第1ビットにあり、これに続いて検索の対象となるデ
ータDDが所定ビットにあり、残りのビットはその他の
ビットであるとする。
Similarly, a method of deciding whether the data of each word is valid or invalid will be described below. First, the structure of the entry data stored in the associative memory of the present invention, the structure of the memory word for storing the entry data, and the operation of the associative memory of the present invention will be described. First, FIG. 3 (a)
As shown in, the entry data ED used in the present invention
Consists of the data DD to be searched for, the attribute bit PB indicating the attribute of this data, and other bits,
It is assumed that there is at least a specific bit called a permanent bit in the attribute bit that indicates whether the attribute bit is retained permanently or semi-permanently regardless of the hit history.
In the illustrated example, it is assumed that the permanent bit PB is in the first bit of the entry data, the data DD to be searched is subsequently in a predetermined bit, and the remaining bits are other bits.

【0044】このような構成のエントリデータEDa,
EDb,…,EDnが、図3(b)に示すように、本発
明の連想メモリ10の複数のメモリワード、例えば11
a,11b,…,11nに書き込まれているとする。こ
こで、各メモリワード11a,11b,…,11nの第
1メモリセルにはエントリデータEDa,EDb,…,
EDnの第1ビットの値が書き込まれ、図示例では、メ
モリワード11aの第1メモリセルにはエントリデータ
EDaが過去に一致検索があったかどうかを示すヒット
履歴にかかわらず、永久的もしくは半永久的に保持すべ
き有効データ(すなわちパーマネントデータ)であるこ
とを示す‘1’が書き込まれ、残りのメモリワード11
b,…,11nの各第1メモリセルには、ヒット履歴に
応じて無効データとすることができるデータであること
を示す‘0’が書き込まれているものとする。各メモリ
ワード11a,11b,…,11nには、現在もしくは
直前の一致検索の結果を示すヒットフラグ(HF)を記
憶するヒットフラグレジスタ53a、過去の複数回の検
索において少なくとも1回でも一致があったかどうかを
示す第2フラグ(履歴フラグ(AB))を記憶する第2
フラグレジスタ55、有効データか無効データであるか
どうかを示す第1フラグ(空きフラグ(EB))を記憶
する第1フラグレジスタ51が設けられている。ここ
で、すべてのメモリワード11a,11b,…,11n
についてすべてのヒットフラグレジスタ53aには不一
致‘0’、すべての第2フラグレジスタ55には過去に
一致なし‘0’、すべての第1フラグレジスタには有効
データであることを示す‘0’が書き込まれているもの
とする。
The entry data EDa having such a structure,
, EDn are a plurality of memory words of the associative memory 10 of the present invention, for example, 11 as shown in FIG.
It is assumed that the data is written in a, 11b, ..., 11n. Here, the entry data EDa, EDb, ..., In the first memory cell of each memory word 11a, 11b ,.
The value of the first bit of EDn is written, and in the illustrated example, the first memory cell of the memory word 11a is permanently or semi-permanently irrespective of the hit history indicating whether or not the entry data EDa has been previously searched for a match. The remaining memory word 11 is written with "1" indicating that it is valid data to be retained (that is, permanent data).
It is assumed that "0" indicating that the data can be invalid data is written in each of the first memory cells b, ..., 11n according to the hit history. Each of the memory words 11a, 11b, ..., 11n has a hit flag register 53a that stores a hit flag (HF) indicating the result of the current or previous match search, and whether or not there is a match at least once in the past multiple searches. A second flag storing a second flag (history flag (AB)) indicating whether
A flag register 55 and a first flag register 51 for storing a first flag (empty flag (EB)) indicating whether the data is valid data or invalid data are provided. Here, all memory words 11a, 11b, ..., 11n
Regarding all the hit flag registers 53a, there is no match "0", all the second flag registers 55 have no match "0" in the past, and all the first flag registers have "0" indicating that they are valid data. It has been written.

【0045】以上のような構成において、属性ビットP
Bとその他のビットをマスクして、検索対象データDD
のみを複数種の検索データRDで複数回のデータ検索を
繰り返した結果、メモリワード11bに記憶されている
エントリデータEDbのみが一致し、他は一致が得られ
なかったとすると、メモリワード11bのヒットフラグ
レジスタ53aおよび第2フラグレジスタ55には、一
致したことおよび過去に一致があったことを示す‘1’
が書き込まれる。
In the above configuration, the attribute bit P
Search target data DD by masking B and other bits
If only the entry data EDb stored in the memory word 11b match and the others do not match as a result of repeating the data search for a plurality of types of search data RD a plurality of times, the memory word 11b is hit. The flag register 53a and the second flag register 55 indicate "1" indicating that there is a match and that there is a match in the past.
Is written.

【0046】ここで、従来のように、第2フラグレジス
タ55の履歴フラグの情報のみで各ワード毎のデータの
有効、非有効を決める場合、すなわち、本発明におい
て、制御線78を非アクティブとすることにより、第2
フラグレジスタ55のQ出力がそのまま信号線58を経
由してセレクト回路59に入力される場合、以下の2つ
の方法で第1フラグレジスタ51の内容を書き変えるこ
とができる。
Here, as in the conventional case, when the validity or ineffectiveness of the data for each word is determined only by the information of the history flag of the second flag register 55, that is, in the present invention, the control line 78 is made inactive. By doing the second
When the Q output of the flag register 55 is directly input to the select circuit 59 via the signal line 58, the contents of the first flag register 51 can be rewritten by the following two methods.

【0047】まず、選択信号線63aを‘1’、選択信
号線61,62,63bを‘0’に保った状態にしてお
いて、第2のフラグレジスタ55に過去に一致がなかっ
たことを表す‘0’が格納されており、アンドゲート8
0および81ならびにオアゲート79からなる複合ゲー
トは、第2フラグレジスタ55のQ出力をそのまま出力
するので、信号線58は‘0’の状態となり、且つ特定
のメモリワード11が選択され、そのワード線24、従
って信号線60が‘1’の状態にある時、アンドゲート
590aの出力が‘1’となり、オアゲート594を経
由して‘1’が出力される。その状態で空きフラグクロ
ック線65にクロックパルスが印加され、同時に空きフ
ラグデータ線66に論理‘1’の信号がのせられている
と、第1のフラグレジスタ51に空きフラグ‘1’がセ
ットされる。すなわち、この制御方法により、過去に一
致がなかった特定メモリワードのみ、例えば、図3
(b)に示す例ではメモリワード11a,11c,…,
11dのみを空きデータとすることが可能となる。
First, the selection signal line 63a is kept at "1" and the selection signal lines 61, 62, 63b are kept at "0", and it is determined that the second flag register 55 has no match in the past. The value "0" is stored, and AND gate 8
Since the composite gate composed of 0 and 81 and the OR gate 79 outputs the Q output of the second flag register 55 as it is, the signal line 58 is in the state of “0”, and the specific memory word 11 is selected and the word line thereof is selected. 24, therefore, when the signal line 60 is in the state of "1", the output of the AND gate 590a becomes "1", and "1" is output via the OR gate 594. In that state, when a clock pulse is applied to the empty flag clock line 65 and at the same time a signal of logic "1" is placed on the empty flag data line 66, the empty flag "1" is set in the first flag register 51. It That is, according to this control method, only a specific memory word that has not been matched in the past, for example, as shown in FIG.
In the example shown in (b), memory words 11a, 11c, ...
It is possible to make only 11d free data.

【0048】次に、選択信号線63a,62を‘1’、
選択信号線61,63bを‘0’に保った状態にしてお
いて、第2フラグレジスタ55に過去に一致があったこ
とを表す‘1’が格納されていた場合、アンドゲート8
0および81ならびにオアゲート79からなる複合ゲー
トは、第2フラグレジスタ55のQ出力をそのまま出力
するので、信号線58は‘1’の状態となり、且つ特定
のメモリワード11が選択されそのワード線24(信号
線60)が‘1’の状態にある時、アンドゲート590
bの出力が‘1’となり、オアゲート594を経由して
‘1’が出力される。この状態で空きフラグクロック線
65にクロックパルスが印加され、同時に空きフラグデ
ータ線66に論理‘1’の信号がのせられていると、第
1のフラグレジスタ51に空きフラグ‘1’がセットさ
れる。すなわち、過去に一致のあった特定メモリワード
のみ、例えば、図3(b)に示す例ではメモリワード1
1bのみを空きデータとすることが可能となるわけであ
る。
Next, select signal lines 63a and 62 are set to "1",
If the selection signal lines 61 and 63b are kept at "0" and the second flag register 55 stores "1" indicating that there is a match in the past, the AND gate 8
Since the composite gate composed of 0 and 81 and the OR gate 79 outputs the Q output of the second flag register 55 as it is, the signal line 58 is in the state of “1”, and the specific memory word 11 is selected and its word line 24 is selected. When the (signal line 60) is in the state of "1", the AND gate 590
The output of b becomes "1", and "1" is output via the OR gate 594. In this state, if a clock pulse is applied to the empty flag clock line 65 and at the same time a signal of logic "1" is placed on the empty flag data line 66, the empty flag "1" is set in the first flag register 51. It That is, only a specific memory word that has matched in the past, for example, memory word 1 in the example shown in FIG.
Only 1b can be used as empty data.

【0049】また、同様にして選択信号線63a,63
bを‘1’にして特定メモリワード11を選択してワー
ド線24(信号線60)を‘1’にすることによって、
アンドゲート591の出力が‘1’となり、その結果オ
アゲート594を経由して‘1’が出力されるので、上
述した場合と同様にして第1のフラグレジスタ51に空
きフラグ‘1’がセットされ、任意の特定メモリワード
を空き状態にすることができる。
Similarly, the selection signal lines 63a, 63
By setting b to "1" and selecting the specific memory word 11 and setting the word line 24 (signal line 60) to "1",
The output of the AND gate 591 becomes "1", and as a result, "1" is output via the OR gate 594. Therefore, the empty flag "1" is set in the first flag register 51 in the same manner as described above. , Any particular memory word can be freed.

【0050】これに対し、本発明においては、各ワード
毎のデータの有効・非有効を決める場合、各メモリワー
ドの第2フラグレジスタ55の履歴フラグの情報のみな
らず、各メモリワードに記憶されているエントリデータ
の属性ビットの情報、従ってこの属性ビットを検索した
結果を示すヒット情報を加味することができる。まず、
図3(c)に示すように、検索対象データDDおよびそ
の他のビットの部分をマスクして属性ビットPBのみを
全メモリワード11a,11b,…,11nについて
‘0’で一致検索を行う。ここで、図示例においては、
メモリワード11aに記憶されているエントリデータE
Daはパーマネントデータであり、属性ビットPBは
‘1’となっているので、検索結果は不一致となり、ヒ
ットフラグレジスタ53aには‘0’が書き込まれる
が、残りのメモリワード11b,…11nのエントリデ
ータEDb,…,EDnの属性ビットPBは‘0’とな
っており、検索結果は一致するので、ヒットフラグレジ
スタ53aには‘1’が書き込まれていることになる。
なお、この時の検索結果、すなわちヒットフラグレジス
タ53aに書き込まれたヒット情報は第2フラグレジス
タ55の第2フラグには反映されないものとする。
On the other hand, in the present invention, when the validity / invalidity of the data for each word is determined, not only the information of the history flag of the second flag register 55 of each memory word but also the memory flag is stored in each memory word. It is possible to take into account the attribute bit information of the entry data, that is, the hit information indicating the result of searching this attribute bit. First,
As shown in FIG. 3C, the search target data DD and other bits are masked and only the attribute bit PB is searched for "0" for all memory words 11a, 11b, ..., 11n. Here, in the illustrated example,
Entry data E stored in memory word 11a
Since Da is permanent data and the attribute bit PB is "1", the search results do not match and "0" is written in the hit flag register 53a, but the remaining memory words 11b, ... The attribute bit PB of the data EDb, ..., EDn is “0” and the search results match, so that “1” is written in the hit flag register 53a.
The search result at this time, that is, the hit information written in the hit flag register 53a is not reflected in the second flag of the second flag register 55.

【0051】ここで、本発明においては、図1に示すよ
うに制御線78をアクティブにすることにより、アンド
ゲート80の出力は‘0’となるし、直前の検索結果を
示すヒットフラグレジスタ53aに一致である場合を示
す‘1’が書き込まれているメモリワード11c,…,
11n(図3(c)参照)では、一致線140の出力が
‘1’、第2フラグレジスタ55のQ出力が‘0’でそ
の反転入力Qバーが‘1’の時のみ、アンドゲート81
は、反転出力‘0’を出力するので、オアゲート79の
出力は‘0’となり、信号線58の状態は‘0’とな
る。一方、一致線140の出力が‘1’で、第2フラグ
レジスタ55のQ出力が‘1’であるメモリワード11
b(図3(c)参照)では、その反転出力Qバーが
‘0’のときにはアンドゲート81の反転出力は‘1’
となり、オアゲート79は‘1’を出力し、信号線58
の状態は‘1’となる。他方、この時、ヒットフラグレ
ジスタ53aに不一致である場合を示す‘0’が書き込
まれているメモリワード11a(図3(c)参照)で
は、一致線140の出力が‘0’となるので、第2フラ
グレジスタ55のQ出力の値によらず、アンドゲート8
1の反転出力は‘1’となるので、オアゲート79は
‘1’を出力し、信号線58の状態は‘1’となる。
Here, in the present invention, by activating the control line 78 as shown in FIG. 1, the output of the AND gate 80 becomes "0", and the hit flag register 53a showing the immediately preceding search result. , Which is written with "1" indicating that the memory word 11c, ...,
11n (see FIG. 3 (c)), the AND gate 81 operates only when the output of the match line 140 is "1", the Q output of the second flag register 55 is "0", and the inverted input Q bar thereof is "1".
Outputs an inverted output "0", the output of the OR gate 79 becomes "0", and the state of the signal line 58 becomes "0". On the other hand, the memory word 11 in which the output of the match line 140 is “1” and the Q output of the second flag register 55 is “1”
b (see FIG. 3C), the inverted output of the AND gate 81 is "1" when the inverted output Q bar is "0".
The OR gate 79 outputs "1" and the signal line 58
The state of becomes "1". On the other hand, at this time, since the output of the match line 140 is "0" in the memory word 11a (see FIG. 3C) in which "0" indicating that there is a mismatch in the hit flag register 53a is written, The AND gate 8 regardless of the value of the Q output of the second flag register 55.
Since the inverted output of 1 becomes "1", the OR gate 79 outputs "1" and the state of the signal line 58 becomes "1".

【0052】ここで、前述したように、信号線60およ
び選択信号線63aを‘1’、選択信号線61,62,
63bを‘0’に保った状態にしておくと、信号線58
が‘0’であるすべてのメモリワード11c,…,11
nでは、アンドゲート590aの出力が‘1’となり、
オアゲート594から‘1’が出力されるので、アンド
ゲート64を経由して第1フラグレジスタ51に空きフ
ラグ‘1’をセットすることができる。すなわち、パー
マネントデータが記憶されているわけでもなく、過去に
一致がなかったメモリワード11c,…,11nを空き
データとすることができる。これに対し、過去に一致
‘1’があったエントリデータEDbが記憶されたメモ
リワード11bはもちろん、たとえ過去に一致がなかっ
たとしても、検索結果が不一致‘0’、すなわちパーマ
ネントデータEDaが記憶されたメモリワード11aに
おいては、信号線58の状態は‘1’であるので、たと
え、信号線60および選択信号線61,62,63a,
63bを同様な状態に保っていても、5つのアンドゲー
ト590a,590b,591,592,593のいず
れの出力も‘0’となりオアゲート594から‘0’が
出力されるため、第1フラグレジスタ51に空きフラグ
‘1’をセットすることはできない。すなわち、パーマ
ネントデータが記憶されたメモリワード(11a)およ
び過去に一致があった特定メモリデータ(11b)は空
きデータとされることはない。
Here, as described above, the signal line 60 and the selection signal line 63a are set to "1", the selection signal lines 61, 62, and
If 63b is kept at "0", the signal line 58
All memory words 11c, ..., 11 in which is "0"
In n, the output of the AND gate 590a becomes "1",
Since "1" is output from the OR gate 594, the empty flag "1" can be set in the first flag register 51 via the AND gate 64. That is, the permanent data is not stored and the memory words 11c, ..., 11n that have not been matched in the past can be used as empty data. On the other hand, not only the memory word 11b in which the entry data EDb having the match “1” in the past is stored but also the search result does not match “0”, that is, the permanent data EDa is stored even if there is no match in the past. In the written memory word 11a, the state of the signal line 58 is "1", so that even if the signal line 60 and the selection signal lines 61, 62, 63a,
Even if 63b is kept in the same state, the outputs of all five AND gates 590a, 590b, 591, 592, and 593 become "0", and "0" is output from the OR gate 594, so the first flag register 51 It is not possible to set the empty flag '1'. That is, the memory word (11a) in which the permanent data is stored and the specific memory data (11b) that have been matched in the past are not set as empty data.

【0053】以上の例では、制御線78をアクティブと
して、検索結果が一致で過去に一致のなかったメモリワ
ードのみを書き変え可能な無効データとするように構成
されているが、本発明はこれに限定されず、メモリワー
ドに記憶されたエントリデータのパーマネントビットな
どの属性ビットを検索し、属性ビットが特定の値を持
ち、第2フラグレジスタ55の履歴フラグの値が特定の
値であるメモリワードのみを無効データとしない、ある
いは無効データとすることができれば、複合ゲートの構
成を始めとして、どのような回路構成であってもよい。
In the above example, the control line 78 is made active, and only the memory word whose search result is coincident and which is not coincident in the past is made into the rewritable invalid data. However, the present invention is not limited to this, a memory in which an attribute bit such as a permanent bit of entry data stored in a memory word is searched, the attribute bit has a specific value, and the value of the history flag of the second flag register 55 is a specific value. Any circuit configuration including the configuration of the composite gate may be used as long as it is possible to make only the word invalid data or invalid data.

【0054】さらに、本発明においては、メモリワード
11に書き込まれたエントリデータの属性ビットをマル
チブロトコルにおける分類属性として用い、エントリデ
ータをグループとして分類しておくことにより、この属
性ビットを検索し、その結果、すなわちヒット情報を用
いて、第2フラグレジスタ55のリセットをグループと
して選択的に行うことができる。すなわち、前述したよ
うに履歴フラグリセット制御線74をアクティブとし、
履歴フラグリセット信号線56a,56bをアクティブ
とすることにより、検索結果が一致‘1’であるメモリ
ワード11のグループの第2フラグレジスタ55を一括
してリセットすることができる。
Further, in the present invention, the attribute bit of the entry data written in the memory word 11 is used as a classification attribute in the multi protocol, and the entry data is classified into a group so that the attribute bit is searched. As a result, that is, the hit information can be used to selectively reset the second flag register 55 as a group. That is, as described above, the history flag reset control line 74 is activated,
By activating the history flag reset signal lines 56a and 56b, it is possible to collectively reset the second flag registers 55 of the group of the memory words 11 whose search results are coincident '1'.

【0055】このような構成における各データ毎の書き
込み時間、すなわち登録時間(エントリ時間)の管理の
一例を図4を用いて説明する。まずエントリデータのエ
ージング(登録時間管理)を行うために、図4に示すよ
うに、前述の連想メモリテーブルとは別に、エントリデ
ータの登録時系列に対応させてエージングデータ40を
登録するエージングテーブル43を作る。ここで、エン
トリアドレス40aとは連想メモリにエントリデータが
登録された時のアドレスを示し、エントリタイム40b
とはその時刻に対応したデータであり、少なくともこの
2種類のデータをエージングデータ40として、エント
リポインタ41が示す位置に格納する。一旦エージング
データ40が格納されると、エントリポインタ41は、
次の格納位置を順次示すよう構成されている。
An example of management of the writing time for each data, that is, the registration time (entry time) in such a configuration will be described with reference to FIG. First, in order to perform aging (registration time management) of entry data, as shown in FIG. 4, an aging table 43 that registers the aging data 40 in association with the entry data registration time series, as shown in FIG. make. Here, the entry address 40a indicates the address when the entry data is registered in the associative memory, and the entry time 40b
Is data corresponding to that time, and at least these two types of data are stored as the aging data 40 at the position indicated by the entry pointer 41. Once the aging data 40 is stored, the entry pointer 41
It is configured to sequentially indicate the next storage position.

【0056】また、このエントリデータを前述の連想メ
モリのメモリワード11への登録の時に、前述の手法に
より第2のフラグレジスタ55をリセットし、過去に一
致がなかったことを表す‘0’に設定しておき、このメ
モリワード11のアドレスをエントリアドレスEAiと
し、その登録時刻をETiとして図4のエージングテー
ブル43に登録する。一旦、連想メモリ上に登録された
データは、検索の毎に、履歴フラグクロック線57に入
力されるパルスによって、アンドゲート53の出力が入
力されるオアゲート54の出力が入力される。すなわ
ち、一致があったかどうかという情報がワード単位で蓄
積されることになる。
Further, when this entry data is registered in the memory word 11 of the associative memory, the second flag register 55 is reset by the above-mentioned method to "0" indicating that there is no match in the past. The address of this memory word 11 is set in advance and is registered in the aging table 43 of FIG. 4 as the entry address EAi and its registration time as ETi. The data once registered in the associative memory is input to the output of the OR gate 54 to which the output of the AND gate 53 is input by the pulse input to the history flag clock line 57 every time the data is searched. That is, information indicating whether or not there is a match is accumulated in word units.

【0057】また図4に示されているエージングポイン
タ42は、エントリデータの最低保持時間Tよりも充分
短いサイクルtsでエントリの古いもの(同図では、よ
り上にあるもの)から順に、データのエントリとは全く
非同期でエージングデータのチェックを行う位置を示す
ものである。例えば、今エージングポインタ42が図4
のように、最も上のエージングデータ40を示していた
時は、このエージングデータ40のエントリタイム40
bと現在の時刻を比較して、最低保持時間T以上であっ
た場合、このエントリアドレス40aをアドレスデータ
とする連想メモリ上のメモリワード11をアクセスす
る。この時、ワード線24を‘1’として、第2のフラ
グレジスタ55のQノード出力のフラグデータリード線
55aの値を読み出す。ここで、仮にこの値が‘1’、
すなわち過去に一致があったとする。最低保持時間T以
内の過去に一致があった場合に、そのエントリデータ
は、更に次の最低保持時間Tの間保持するよう制御する
と仮定すると、この時、制御線74を非アクティブのま
ま、制御線56cにリセットパルスを入力し、第2のフ
ラグレジスタ55をリセットする。更に、図4のエージ
ングテーブル43の最上位のエージングデータ40を無
効化し、このエントリアドレス40aのEAoをエント
リポインタ41で示されるエントリ可能領域のEAiに
再書き込み(再登録)を行うと同時に、ETiにその書
き込み時刻に対応するデータを書き込んでおく。これで
エントリアドレス40aのEAoで示される連想メモリ
上のエントリデータが次の最低保持時間Tの間保持され
る対象として新たに登録されたことになる。なお、この
時エージングテーブル43のエージングポインタ42お
よびエントリポインタ41は1つづつ下にさがることに
なる。
The aging pointer 42 shown in FIG. 4 stores the data in order from the oldest entry (the one higher in the figure) in a cycle ts sufficiently shorter than the minimum retention time T of the entry data. The entry indicates a position where aging data is checked completely asynchronously. For example, the aging pointer 42 is now shown in FIG.
, The entry time 40 of this aging data 40 is shown.
When b is compared with the current time and the holding time is equal to or longer than the minimum holding time T, the memory word 11 on the associative memory having this entry address 40a as address data is accessed. At this time, the word line 24 is set to "1" and the value of the flag data read line 55a of the Q node output of the second flag register 55 is read. Here, if this value is "1",
That is, it is assumed that there is a match in the past. Assuming that the entry data is controlled to be retained for the next minimum retention time T when there is a match within the minimum retention time T, the control line 74 remains inactive at this time. A reset pulse is input to the line 56c to reset the second flag register 55. Further, the highest aging data 40 in the aging table 43 of FIG. 4 is invalidated, and the EAo of this entry address 40a is rewritten (re-registered) in the EAi of the entry possible area indicated by the entry pointer 41, and at the same time, ETi The data corresponding to the writing time is written in. This means that the entry data in the associative memory indicated by EAo of the entry address 40a is newly registered as a target to be held for the next minimum holding time T. At this time, the aging pointer 42 and the entry pointer 41 of the aging table 43 are lowered one by one.

【0058】もちろん上述の例で、現在の時刻と比較し
て最低保持時間Tに満たない場合は、更にts時刻後の
次のエージングポインタ42のチェックまで全てのデー
タが保持される。
Of course, in the above example, if the minimum holding time T is less than the current time, all the data is held until the next check of the aging pointer 42 after ts time.

【0059】また、現在の時刻と比較して、最低保持時
間T以上であって、且つフラグデータリード線55aの
値が‘0’で、過去に一致がなかった時は、制御線74
を非アクティブのまま、制御線56cにリセットパルス
を入力し、第2のフラグレジスタ55をリセットすると
同時に、前述のごとく、選択信号線63a,63bを
‘1’、選択信号線61,62を‘0’に保った状態に
しておいて、空きフラグクロック線65にクロックパル
スを印加すると同時に空きフラグデータ線66に論理
‘1’を印加することで選択されたメモリワードの第1
のフラグレジスタ51に空きフラグ‘1’がセットされ
る。すなわち、この制御方法により過去に一致がなかっ
た特定メモリワードのみを空きデータとすることが可能
となる。
Further, when compared with the current time, when the minimum holding time is T or more, the value of the flag data lead wire 55a is "0", and there is no match in the past, the control line 74 is used.
While the signal is inactive, a reset pulse is input to the control line 56c to reset the second flag register 55, and at the same time, as described above, the selection signal lines 63a and 63b are set to "1" and the selection signal lines 61 and 62 are set to "1". With the state kept at 0 ', by applying a clock pulse to the empty flag clock line 65 and at the same time applying a logic' 1 'to the empty flag data line 66, the first word of the selected memory word
The empty flag “1” is set in the flag register 51 of FIG. That is, with this control method, it is possible to make only the specific memory word that has not been matched in the past free data.

【0060】この時は、エージングテーブル43のエー
ジングポインタ42で指示されるエージングデータ40
が無効化され、エージングポインタ42は1つ下がり、
ts時間後の次のサイクルで、次のエージングデータ4
0のチェックを行う。エントリポインタ41は、最上位
のエージングデータ40の再書き込みが行われないので
位置は移動しない。このようにして、連想メモリ上に格
納される各エントリデータ毎に、最低保持時間Tをきめ
細かく制御することが可能となる。
At this time, the aging data 40 designated by the aging pointer 42 of the aging table 43
Is invalidated, the aging pointer 42 is lowered by one,
In the next cycle after ts time, the next aging data 4
Check for 0. The position of the entry pointer 41 does not move because the highest aging data 40 is not rewritten. In this way, the minimum retention time T can be finely controlled for each entry data stored in the associative memory.

【0061】なお、空きフラグ‘1’が格納されている
第1のフラグレジスタ51に対応するメモリワード11
へのデータの書き込みは、ビット線23−1,…,23
−nおよびビットバー線26−1,…,26−nにこの
メモリワード11に記憶すべきデータをのせた状態で、
メインデコーダ線52aおよびサブデコーダ線52bに
より選択された当該メモリワード11のワード線24を
アンドゲート67を経由してアクティブとすることによ
り行われる。
The memory word 11 corresponding to the first flag register 51 in which the empty flag "1" is stored.
Writing data to the bit lines 23-1, ..., 23
-N and bit bar lines 26-1, ..., 26-n are loaded with data to be stored in the memory word 11,
This is performed by activating the word line 24 of the memory word 11 selected by the main decoder line 52a and the sub decoder line 52b via the AND gate 67.

【0062】[0062]

【発明の効果】以上説明したように、本発明の連想メモ
リは、有効データが記憶されているか否かを示す第1の
フラグと、過去に一致が検出されたか否かを示す第2の
フラグを各メモリワードに対応させておき、第2のフラ
グ状態を当該メモリワードの特定ビットの検索の結果に
より各ワード毎に保持または、消去する構成を備えたも
のであるため、一致のあったもの、もしくは一致のなか
ったもので且つ保持の必要のないもののみを各ワード毎
に消去し再設定できる。また、本発明によれば、第2フ
ラグの状態を当該メモリワードの特定ビットの検索の結
果を用いてグループとして選択的にリセットすることも
できる。
As described above, the associative memory of the present invention has the first flag indicating whether valid data is stored and the second flag indicating whether a match has been detected in the past. Correspond to each memory word, and the second flag state is held or erased for each word depending on the result of the search of the specific bit of the memory word. Alternatively, only those that do not match and need not be held can be erased and reset for each word. Further, according to the present invention, the state of the second flag can be selectively reset as a group using the result of the search for the specific bit of the memory word.

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

【図1】 本発明の一実施例の連想メモリの、1つのメ
モリワードに対応した特徴部分を示す回路図である。
FIG. 1 is a circuit diagram showing a characteristic portion corresponding to one memory word in an associative memory according to an embodiment of the present invention.

【図2】 図1に示す連想メモリに用いられるセレクト
回路の構成を表す回路図である。
FIG. 2 is a circuit diagram showing a configuration of a select circuit used in the associative memory shown in FIG.

【図3】 (a)は図1に示す連想メモリに記憶される
データであり、(b)および(c)は、図1に示す連想
メモリの作用の説明図である。
3A is data stored in the associative memory shown in FIG. 1, and FIGS. 3B and 3C are explanatory diagrams of the operation of the associative memory shown in FIG.

【図4】 エージングテーブルの一例を示す説明図であ
る。
FIG. 4 is an explanatory diagram showing an example of an aging table.

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

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

【図7】 (A),(B)および(C)は、ともにLA
Nの一例を示した図である。
7 (A), (B) and (C) are all LA
It is a figure showing an example of N.

【図8】 ブリッジの機能説明図である。FIG. 8 is a functional explanatory diagram of a bridge.

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

10 連想メモリ 11,11a,11b,11c,11d,11e,…,
11n メモリワード 11−1,11−2,…,11−n メモリセル 12 検索レジスタ 14,14a,14b,14c,14d,14e,…,
14n 一致線 15 プライオリティエンコーダ 16 アドレスデコーダ 17a,17b,17c,17d,17e,…,17
n,24 ワード線 18 出力レジスタ 20−1,20−2,…,20−n 第1のインバータ 21−1,21−2,…,21−n 第2のインバータ 22−1,22−2,…,22−n,25−1,25−
2,…,25−n,27−1,27−2,…,27−
n,28−1,28−2,…,28−n,36−0,3
6−1,36−2,…,36−n Nチャンネルトラン
ジスタ 23−1,23−2,…,23−n ビット線 26−1,26−2,…,26−n ビットバー線 30 制御線 31 センス用インバータ 32,33 Pチャンネルトランジスタ 40 エントリデータ 40a エントリアドレス 40b エントリタイム 41 エントリポインタ 42 エージングポインタ 43 エージングテーブル 50 ヒットフラグクロック線 51 第1のフラグレジスタ 52a メインデコーダ線 52b サブデコーダ線 53,64,67,71,72,76,77,80,8
1 アンドゲート 53a ヒットフラグレジスタ 54,70,75,79 オアゲート 55 第2のフラグレジスタ 55a フラグデータリード線 56a,56b 履歴フラグリセット信号線 56c ワードリセット信号線 57 履歴フラグクロック線 58,60 信号線 59 セレクト回路 61,62,63a,63b 選択信号線 65 空きフラグクロック信号線 66 空きフラグデータ線 73 トライステートバッファ 74 履歴フラグリセット制御線 78 制御線 590a,590b 5入力アンドゲート 591,592,593 3入力アンドゲート 594 6入力アンドゲート
10 associative memories 11, 11a, 11b, 11c, 11d, 11e, ...
11n memory word 11-1, 11-2, ..., 11-n memory cell 12 search registers 14, 14a, 14b, 14c, 14d, 14e ,.
14n Matching line 15 Priority encoder 16 Address decoder 17a, 17b, 17c, 17d, 17e, ..., 17
n, 24 word line 18 output registers 20-1, 20-2, ..., 20-n first inverters 21-1, 22-2, ..., 21-n second inverters 22-1, 22-2 ..., 22-n, 25-1, 25-
2, ..., 25-n, 27-1, 27-2, ..., 27-
n, 28-1, 28-2, ..., 28-n, 36-0, 3
6-1, 36-2, ..., 36-n N-channel transistors 23-1, 23-2, ..., 23-n bit line 26-1, 26-2, ..., 26-n bit bar line 30 control line 31 Sense Inverters 32, 33 P Channel Transistor 40 Entry Data 40a Entry Address 40b Entry Time 41 Entry Pointer 42 Aging Pointer 43 Aging Table 50 Hit Flag Clock Line 51 First Flag Register 52a Main Decoder Line 52b Sub Decoder Lines 53, 64 , 67, 71, 72, 76, 77, 80, 8
1 AND gate 53a Hit flag register 54, 70, 75, 79 OR gate 55 Second flag register 55a Flag data lead line 56a, 56b History flag reset signal line 56c Word reset signal line 57 History flag clock line 58, 60 Signal line 59 Select circuit 61, 62, 63a, 63b Select signal line 65 Free flag clock signal line 66 Free flag data line 73 Tristate buffer 74 History flag reset control line 78 Control lines 590a, 590b 5 inputs AND gates 591, 592, 593 3 inputs AND gate 594 6-input AND gate

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G11C 15/00 - 15/06 ─────────────────────────────────────────────────── ─── Continuation of the front page (58) Fields surveyed (Int.Cl. 7 , DB name) G11C 15/00-15/06

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】各データをそれぞれ記憶する複数のメモリ
ワードと、それら複数のメモリワードそれぞれに対応し
て備えられ、対応するメモリワードに記憶されたデータ
と入力された検索データとの一致不一致を検出する一致
検出回路とを備えた連想メモリにおいて、 前記複数のメモリワードそれぞれに対応して備えられ、
対応するメモリワードが、検索の対象とされる有効デー
タが記憶された第1の記憶状態にあるメモリワードであ
るか、あるいは前記有効データが記憶されておらず、し
たがって書き込みが許容される第2の記憶状態にあるメ
モリワードであるかを示す第1のフラグが記憶される第
1のフラグレジスタと、 前記複数のメモリワードそれぞれに対応して備えられ、
対応するメモリワードが、過去の複数回の検索において
少なくとも一度一致が検出された第1の履歴状態にある
メモリワードであるか、あるいは過去の複数回の検索に
おいて全て不一致であった第2の履歴状態にあるメモリ
ワードであるかを示す第2のフラグが記憶される第2の
フラグレジスタと、 前記第1の記憶状態にあるメモリワードのうち、前記第
1の履歴状態および前記第2の履歴状態のうちいずれか
一方の状態を示す前記第2のフラグが記憶された前記第
2のフラグレジスタに対応するメモリワードであって、
かつ前記複数のメモリワードの各特定ビットの検索の結
果が一致もしくは不一致のいずれかであるメモリワード
を、前記第2の記憶状態に変更する記憶状態変更回路と
を備えたことを特徴とする連想メモリ。
1. A plurality of memory words for respectively storing respective data and a match / mismatch between the data stored in the corresponding memory words and the input search data. In an associative memory having a match detection circuit for detecting, provided corresponding to each of the plurality of memory words,
The corresponding memory word is the memory word in the first storage state in which the valid data to be searched is stored, or the valid data is not stored in the second storage word and therefore the second writing is permitted. A first flag register that stores a first flag indicating whether the memory word is in the storage state of, and the first flag register is provided corresponding to each of the plurality of memory words,
The corresponding memory word is a memory word in the first history state in which a match has been detected at least once in the past multiple searches, or the second history in which all matches have not been found in the past multiple searches. A second flag register that stores a second flag indicating whether the memory word is in a state; and the first history state and the second history among the memory words in the first storage state. A memory word corresponding to the second flag register in which the second flag indicating one of the states is stored,
And a memory state changing circuit for changing a memory word whose search result of each specific bit of the plurality of memory words is coincident or non-coincident to the second memory state. memory.
【請求項2】前記第1の記憶状態にあるメモリワード
を、一括して前記第2の記憶状態に変更する記憶状態リ
セット回路を備えたことを特徴とする請求項1に記載の
連想メモリ。
2. The associative memory according to claim 1, further comprising a memory state reset circuit for collectively changing the memory words in the first memory state to the second memory state.
【請求項3】前記複数のメモリワードの各特定ビットの
前記検索結果が一致もしくは不一致のいずれかである前
記メモリワードの第2のフラグレジスタに、前記第2の
履歴状態を示す前記第2のフラグを記憶させる履歴状態
リセット回路を備えたことを特徴とする請求項1または
2に記載の連想メモリ。
3. The second flag register of the memory word in which the search result of each specific bit of the plurality of memory words is either a match or a mismatch, the second history register indicating the second history state. The associative memory according to claim 1, further comprising a history state reset circuit that stores a flag.
JP04622196A 1996-03-04 1996-03-04 Associative memory Expired - Fee Related JP3370227B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04622196A JP3370227B2 (en) 1996-03-04 1996-03-04 Associative memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04622196A JP3370227B2 (en) 1996-03-04 1996-03-04 Associative memory

Publications (2)

Publication Number Publication Date
JPH09245490A JPH09245490A (en) 1997-09-19
JP3370227B2 true JP3370227B2 (en) 2003-01-27

Family

ID=12741063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04622196A Expired - Fee Related JP3370227B2 (en) 1996-03-04 1996-03-04 Associative memory

Country Status (1)

Country Link
JP (1) JP3370227B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3808837B2 (en) 2003-03-11 2006-08-16 株式会社東芝 Cache memory system

Also Published As

Publication number Publication date
JPH09245490A (en) 1997-09-19

Similar Documents

Publication Publication Date Title
US5267210A (en) SRAM with flash clear for selectable I/OS
EP0920030B1 (en) Improvements in or relating to computer memories
US5999434A (en) Hierarchical encoder including timing and data detection devices for a content addressable memory
US6836419B2 (en) Split word line ternary CAM architecture
US8811102B2 (en) Multiple read port memory system with a single port memory cell
US5805493A (en) Associative memory having a data registration device
US5657291A (en) Multiport register file memory cell configuration for read operation
JPH06111575A (en) Semiconductor memory
KR100680520B1 (en) Multi-port memory cell with preset
US6766317B2 (en) Range check cell and a method for the use thereof
JPH07105689A (en) Associative memory
JP3370227B2 (en) Associative memory
US6715028B1 (en) Data selecting memory device and selected data transfer device
JPH08124386A (en) Associative memory
JPH08106788A (en) Associative memory
US5465228A (en) Associative memory
JPH08180690A (en) Associative memory
JP3645293B2 (en) Associative memory
US6654269B2 (en) Association memory and memory cell thereof
JPH07153281A (en) Associative memory
JPH05113929A (en) Microcomputer
JP3597881B2 (en) Associative memory
JP3597882B2 (en) Associative memory
JP2868976B2 (en) Semiconductor memory
JP3597899B2 (en) Associative memory

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20021022

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

Free format text: PAYMENT UNTIL: 20081115

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees