JP3795043B2 - Associative memory, search method therefor, router and network system - Google Patents

Associative memory, search method therefor, router and network system Download PDF

Info

Publication number
JP3795043B2
JP3795043B2 JP2003435802A JP2003435802A JP3795043B2 JP 3795043 B2 JP3795043 B2 JP 3795043B2 JP 2003435802 A JP2003435802 A JP 2003435802A JP 2003435802 A JP2003435802 A JP 2003435802A JP 3795043 B2 JP3795043 B2 JP 3795043B2
Authority
JP
Japan
Prior art keywords
data
associative memory
line
mask
match
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003435802A
Other languages
Japanese (ja)
Other versions
JP2004134081A (en
Inventor
直志 小倉
Original Assignee
株式会社テルミナス・テクノロジー
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 株式会社テルミナス・テクノロジー filed Critical 株式会社テルミナス・テクノロジー
Priority to JP2003435802A priority Critical patent/JP3795043B2/en
Publication of JP2004134081A publication Critical patent/JP2004134081A/en
Application granted granted Critical
Publication of JP3795043B2 publication Critical patent/JP3795043B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、連想メモリおよびその検索方法およびルータおよびネットワークシステムに関する。特に検索マスク機能を有する連想メモリとその検索方法およびそれを用いたルータおよびネットワークシステムに関する。   The present invention relates to an associative memory, a search method thereof, a router, and a network system. In particular, the present invention relates to an associative memory having a search mask function, a search method thereof, and a router and a network system using the same.

従来のコンピュータ・ネットワーク・システムに用いられるネットワーク・ルータ(以後「ルータ」という)では、次に示すように最適転送先を計算する機能が不可欠である。   In a network router (hereinafter referred to as “router”) used in a conventional computer network system, a function for calculating an optimum transfer destination is indispensable as shown below.

従来のコンピュータ・ネットワークの構成の接続例を図19に示す。ネットワークに参加しているユーザ機器(例えばコンピュータ端末など)は、他のユーザ機器と識別するために、その機器がネットワークに参加するときに、あらかじめ決められた規則に従って特定のネットワーク・アドレスを割り当てられる。ここではネットワーク・アドレスは複数桁の数値、例えば4桁の数値(a.b.c.d)で表現されるものとして説明する。また、あらかじめ決められた規則は、例えばネットワーク・アドレスの先頭の数値でイギリス、ドイツ、日本などの国を示し、第2番目の数値で国の中の都市名を示し、更に第3番目の数値で都市の中の企業名を示す、というように階層構造をとっている。以降、この階層をセグメントと呼ぶこととする。図19においては、セグメントの階層構造を模擬的に示したものである。図において太線で囲まれた1つの矩形が1のセグメントである。図19では、ネットワーク・アドレスの先頭の数値が1であるセグメント1と、先頭の数値が2であるセグメント2と、先頭の数値が3であるセグメント3が、最上位のセグメントとして存在している。セグメント1の下の階層に、上位2つの数値が1.2であるネットワーク・アドレスを持つセグメント4があり、更にその下に上位3つの数値が1.2.2であるネットワーク・アドレスを持つセグメント6があり、更にその中にネットワーク・アドレス1.2.2.1を持つユーザ機器PC401−1が接続されている。また、セグメント2の下の階層に、上位2つの数値が2.1であるネットワーク・アドレスを持つセグメント5があり、更にその下に上位3つの数値が2.1.1であるネットワーク・アドレスを持つセグメント7がある。図に例示されているアドレスにおいて、*はドント・ケアを意味する。   A connection example of the configuration of a conventional computer network is shown in FIG. A user device participating in a network (eg, a computer terminal) is assigned a specific network address according to a predetermined rule when that device joins the network in order to distinguish it from other user devices. . Here, description will be made assuming that the network address is expressed by a multi-digit numerical value, for example, a 4-digit numerical value (abcd). In addition, the predetermined rule is, for example, the first numerical value of the network address indicates the country of England, Germany, Japan, etc., the second numerical value indicates the city name in the country, and the third numerical value. It shows a hierarchical structure, such as showing the name of a company in the city. Hereinafter, this hierarchy is referred to as a segment. FIG. 19 schematically shows the hierarchical structure of segments. In the figure, one rectangle surrounded by a thick line is one segment. In FIG. 19, the segment 1 with the first numerical value of the network address, the segment 2 with the first numerical value of 2, and the segment 3 with the first numerical value of 3 exist as the highest segment. . There is a segment 4 having a network address whose upper two numerical values are 1.2 in the hierarchy below the segment 1, and a segment having a network address whose upper three numerical values are 1.2.2 below it. 6 and a user equipment PC 401-1 having a network address of 1.2.2.1 is connected thereto. Further, there is a segment 5 having a network address whose upper two numerical values are 2.1 in the lower layer of the segment 2, and a network address whose upper three numerical values are 2.1.1 is further below that. There is segment 7 to have. In the address illustrated in the figure, * means don't care.

各セグメントは、ネットワークに参加しているユーザ機器間の通信データを転送するためにルータを有している。図19の構成例では、セグメント1はルータ400−1を、セグメント2はルータ400−2を、セグメント3はルータ400−3を、セグメント4はルータ400−4を、セグメント5はルータ400−5を、セグメント6はルータ400−6を、セグメント7はルータ400−7を、それぞれ有している。セグメントが有するルータは、そのルータに接続されているユーザ機器または他のルータから入力された転送データを、転送データに付随する転送先アドレスとネットワーク機器の接続関係を基に最適な転送ルートを計算し、その最適なルートを経由して転送先にデータを転送する。図19の構成例では、各ルータはそのセグメント直下のルータまたはユーザ機器と接続されている。また、ルータ400−3は、ルータ400−1、ルータ400−4、ルータ400−6、ルータ400−2、ルータ400−7とも接続している。   Each segment has a router for transferring communication data between user devices participating in the network. 19, the segment 1 is the router 400-1, the segment 2 is the router 400-2, the segment 3 is the router 400-3, the segment 4 is the router 400-4, and the segment 5 is the router 400-5. Segment 6 has a router 400-6, and segment 7 has a router 400-7. The router in the segment calculates the optimal transfer route based on the connection relationship between the transfer destination address and the network device attached to the transfer data, based on the transfer data input from the user device or other router connected to the router. Then, the data is transferred to the transfer destination via the optimum route. In the configuration example of FIG. 19, each router is connected to a router or user equipment directly under the segment. The router 400-3 is also connected to the router 400-1, the router 400-4, the router 400-6, the router 400-2, and the router 400-7.

各ユーザ機器同士を直接通信回線で接続するのではなく、ルータの通信制御機能を用いて通信データの転送を制御して通信を行うことにより、有限の通信回線を効率よく使用している。   Instead of connecting each user device directly with a communication line, the communication control function of the router is used to control the transfer of communication data for communication, thereby efficiently using a finite communication line.

次に、これらルータの説明を図20を用いて行う。図ではルータ400−3を例に示しているが、他のルータもこれと同様の構成である。
ルータ400−3には自分自身が属するセグメントのネットワーク・アドレス(3.*.*.*)以外のセグメントのネットワーク・アドレス情報を記憶させている。これら各ネットワーク・アドレスは、その各桁を4進数で表現した全体で8ビットのビット列で表現されるものと仮定する。例えば、ネットワーク・アドレス(1.*.*.*)はビット列(01.00.00.00)で表現される。以降、この表現のビット列を記憶データと呼ぶ。ここで、*はドント・ケアであるので、(01.00.00.00)のビット列の上位2ビットが有効でありそれ以下のビットは無効であることを示す必要がある。そこで、マスク情報と呼ばれる情報を記憶データと対になって記憶させている。この例では、(00.11.11.11)としている。ここで、“0”がマスク無効状態を“1”がマスク有効状態を示している。これら記憶データおよびマスク情報は、図示のようにルータの中で連想メモリ116に格納されている。連想メモリ・ワード117−1には、ルータ400−1が属するセグメント1のネットワーク・アドレス(1.*.*.*)が記憶されている。連想メモリ・ワード117−2には、ルータ400−2が属するセグメント2のネットワーク・アドレス(2.*.*.*)が記憶されている。連想メモリ・ワード117−3には、ルータ400−6が属するセグメント6のネットワーク・アドレス(1.2.2.*)が記憶されている。連想メモリ・ワード117−4には、ルータ400−4が属するセグメント4のネットワーク・アドレス(1.2.*.*)が記憶されている。連想メモリ・ワード117−5には、ルータ400−7が属するセグメント7のネットワーク・アドレス(2.1.1.*)が記憶されている。連想メモリ116は、通常のメモリと同様にアドレスを指定して記憶データの書き込み、読み出しを行う機能のほかに、入力した検索データ102と、対応するマスク情報を考慮して比較した結果一致する記憶データの中で、マスク情報の有効状態のビットが最も少ない記憶データに対応するマスク一致線119−1〜119−5を有効状態にする機能を有している。連想メモリ116が出力したマスク一致線119−1〜119−5はエンコーダ402によりメモリ・アドレス信号403に符号化される。
Next, these routers will be described with reference to FIG. Although the router 400-3 is shown as an example in the figure, other routers have the same configuration.
The router 400-3 stores network address information of segments other than the network address (3. *. *. *) Of the segment to which the router 400-3 belongs. Each of these network addresses is assumed to be represented by a bit string of 8 bits as a whole in which each digit is represented by a quaternary number. For example, the network address (1. *. *. *) Is represented by a bit string (01.00.00.00). Hereinafter, the bit string of this expression is referred to as stored data. Here, since * is don't care, it is necessary to indicate that the upper 2 bits of the bit string of (01.00.00.00) are valid and the bits below are invalid. Therefore, information called mask information is stored in pairs with stored data. In this example, it is (00.11.11.11). Here, “0” indicates a mask invalid state and “1” indicates a mask valid state. These stored data and mask information are stored in the content addressable memory 116 in the router as shown in the figure. The associative memory word 117-1 stores the network address (1. *. *. *) Of segment 1 to which the router 400-1 belongs. The associative memory word 117-2 stores the network address (2. *. *. *) Of segment 2 to which the router 400-2 belongs. The associative memory word 117-3 stores the network address (1.2.2. *) Of the segment 6 to which the router 400-6 belongs. The associative memory word 117-4 stores the network address (1.2. *. *) Of the segment 4 to which the router 400-4 belongs. The associative memory word 117-5 stores the network address (2.1.1. *) Of the segment 7 to which the router 400-7 belongs. The associative memory 116, in addition to the function of writing and reading stored data by designating an address in the same manner as a normal memory, stores matching data as a result of comparison with input search data 102 in consideration of corresponding mask information. In the data, the mask matching lines 119-1 to 119-5 corresponding to the stored data having the least number of valid bits of the mask information have a function of valid. The mask match lines 119-1 to 119-5 output from the associative memory 116 are encoded into the memory address signal 403 by the encoder 402.

メモリ404には、連想メモリ116の各連想メモリ・ワードに格納されている記憶データ、マスク情報により構成されるセグメントのネットワーク・アドレスに対応するルータのネットワーク・アドレスを、連想メモリ116の格納アドレスと同一のアドレスのワードに記憶させてある。たとえば、連想メモリ116の連想メモリ・ワード1にはアドレス(1.*.*.*)が記憶されているが、これに対応する図19のルータ400−1のネットワーク・アドレスがメモリ404のワード1に格納されている。同様にメモリ404のワード2にはルータ400−2のアドレスが、ワード3にはルータ400−6のアドレスが、ワード4にはルータ400−4のアドレスが、ワード5にはルータ400−7のアドレスが格納されている。メモリ404はメモリ・アドレス信号403をリード・アドレスとして指定される格納データを、メモリ・データ信号405として出力する。   The memory 404 stores the network address of the router corresponding to the network address of the segment constituted by the storage data and the mask information stored in each associative memory word of the associative memory 116, and the storage address of the associative memory 116. It is stored in the word at the same address. For example, the address (1. *. *. *) Is stored in the associative memory word 1 of the associative memory 116, and the network address of the router 400-1 in FIG. 1 is stored. Similarly, the address of router 400-2 is stored in word 2 of memory 404, the address of router 400-6 is stored in word 3, the address of router 400-4 is stored in word 4, and the address of router 400-7 is stored in word 5. The address is stored. The memory 404 outputs the storage data specified by using the memory address signal 403 as a read address as the memory data signal 405.

冷却装置414は、発熱量の多い従来の連想メモリ116を冷却する。これは、例えば空冷ファンなどで構成される。   The cooling device 414 cools the conventional associative memory 116 that generates a large amount of heat. This is composed of, for example, an air cooling fan.

なお、図には示していないが、各ルータはその内部にCPUを有しており、そのCPUにより上述したルータの動作の制御が行われる。   Although not shown in the figure, each router has a CPU therein, and the operation of the router is controlled by the CPU.

次に、各ルータによって制御される従来のネットワークのデータ転送の動作例を説明する。例えばルータ400−3に入力された転送データの目的地ネットワーク・アドレスが(1.2.1.1)の場合、従来の連想メモリ116で検索すると連想メモリ・ワード1の(1.*.*.*)、および連想メモリ・ワード4の(1.2.*.*)が一致するが、その中でマスク情報の有効状態のビットが最も少ない連想メモリ・ワード4に対応するマスク一致線119−4のみが有効状態となる。これにより、エンコーダ402はメモリ・アドレス403として“4”を出力し、メモリ404はルータ400−4のネットワーク・アドレスをメモリ・データ信号405として出力する。これにより、ルータ400−3は、目的地アドレス(1.2.1.1)の入力転送データを、ルータ300−4に向けて転送する。ルータ300−4は転送されてきたデータに基づいて上述したのと同様な動作を行い、次々とルータにデータを転送して最終目的地のネットワーク・アドレス(1.2.1.1)に接続しているユーザ機器にデータを転送する。   Next, an operation example of data transfer in a conventional network controlled by each router will be described. For example, when the destination network address of the transfer data input to the router 400-3 is (1.2.1.1), searching in the conventional associative memory 116 (1. *. *) Of the associative memory word 1 . *) And (1.2. *. *) Of the associative memory word 4 match, but among them, the mask match line 119 corresponding to the associative memory word 4 having the least number of valid bits of the mask information. Only -4 is valid. As a result, the encoder 402 outputs “4” as the memory address 403, and the memory 404 outputs the network address of the router 400-4 as the memory data signal 405. Thereby, the router 400-3 transfers the input transfer data of the destination address (1.2.1.1) toward the router 300-4. The router 300-4 performs the same operation as described above based on the transferred data, transfers the data to the router one after another, and connects to the network address (1.2.1.1) of the final destination. Transfer data to the user equipment.

図15は、従来の連想メモリの一構成例を示すブロック図である。従来、この種の連想メモリとしては、例えば特開平11−073782号に示すものが挙げられる。連想メモリ116は、nビット2入力1出力セレクタ128と、nビットm語の連想メモリ・ワード117−1〜117−mと、nビット・ラッチ126と制御回路131を有しており、各連想メモリ・ワード117−jは、n個の連想メモリ・セル118−j−1〜118−j−nと1個のラッチ123−jを備えている。各連想メモリ・ワード117−jには、対応するデータ・ワード線106−j、マスク・ワード線111−jが入力のために接続され、対応するマスク一致線119−j、およびn本の最短マスク線122−1〜122−nが出力のために接続され、n本のビット線103−1〜103−nが入出力のために接続されている。   FIG. 15 is a block diagram showing a configuration example of a conventional associative memory. Conventionally, as this type of associative memory, for example, one disclosed in Japanese Patent Application Laid-Open No. 11-073782 can be cited. The associative memory 116 includes an n-bit 2-input 1-output selector 128, an n-bit m-word associative memory word 117-1 to 117-m, an n-bit latch 126, and a control circuit 131. The memory word 117-j includes n associative memory cells 118-j-1 to 118-jn and one latch 123-j. Each associative memory word 117-j is connected with a corresponding data word line 106-j, mask word line 111-j for input, a corresponding mask match line 119-j, and n shortest lines. Mask lines 122-1 to 122-n are connected for output, and n bit lines 103-1 to 103-n are connected for input / output.

各連想メモリ・セル118−j−kには、対応するデータ・ワード線106−j、マスク・ワード線111−jが入力のために接続され、対応するデータ一致線107−j、マスク一致線119−j、および最短マスク線122−kが出力のために接続され、ビット線103−kが入出力のために接続されている。   Each associative memory cell 118-j-k is connected with a corresponding data word line 106-j and mask word line 111-j for input, and has a corresponding data match line 107-j and mask match line. 119-j and the shortest mask line 122-k are connected for output, and the bit line 103-k is connected for input / output.

各連想メモリ・セル118−j−kは、ビット線103−kを介して外部から入力される記憶データの対応するビット情報を格納するデータ・セル108−j−kと、データ・セルに記憶されたビット情報と外部から入力される検索データ102の対応するビット情報102−kとを比較する比較器113−j−kと、外部からビット線103−kを介して入力されるマスク情報の対応するビット情報を格納するマスク・セル112−j−kと、マスク・セルに記憶されたビット情報とnビット・ラッチ126から出力された最短マスク情報127の対応するビット情報127−kとを比較するマスク比較器120−j−kと、および論理ゲート121−j−kとを備えている。   Each associative memory cell 118-jk stores data cells 108-jk storing bit information corresponding to stored data input from the outside via bit lines 103-k, and stores them in the data cells. A comparator 113-j-k for comparing the received bit information with the corresponding bit information 102-k of the search data 102 input from the outside, and mask information input from the outside via the bit line 103-k Mask cell 112-j-k storing corresponding bit information, bit information stored in the mask cell, and corresponding bit information 127-k of shortest mask information 127 output from n-bit latch 126 A mask comparator 120-jk for comparison and a logic gate 121-jk are provided.

なお、本例では、マスク情報の有効状態を“1”、無効状態を“0”とし、最短マスク線122−1〜122−nの有効状態を“1”、無効状態を“0”とする。データ一致線107−1〜107−mの有効状態を“1”、無効状態を“0”とする。また、マスク一致線119−1〜119−mの有効状態を“1”、無効状態を“0”とする。   In this example, the valid state of the mask information is “1”, the invalid state is “0”, the valid state of the shortest mask lines 122-1 to 122-n is “1”, and the invalid state is “0”. . The valid state of the data match lines 107-1 to 107-m is “1”, and the invalid state is “0”. Further, the valid state of the mask coincidence lines 119-1 to 119-m is set to “1”, and the invalid state is set to “0”.

データ・セル108−1−1〜108−m−nは、対応するデータ・ワード線106が有効状態の場合、対応するビット線103に書き込みデータがドライブされていれば記憶データとして格納し、対応するビット線103がドライブされていなければ格納している記憶データを対応するビット線103に出力する。対応するデータ・ワード線106が無効状態ならば、ビット線103に対してなんら操作は行わない。また、対応するデータ・ワード線106の値にかかわらず、格納している記憶データを同一の連想メモリ・セル118−1−1〜118−m−nの中の比較器113に出力する。   The data cells 108-1-1 to 108 -mn are stored as stored data when the corresponding data word line 106 is valid, and write data is driven to the corresponding bit line 103. If the bit line 103 to be driven is not driven, the stored data stored therein is output to the corresponding bit line 103. If the corresponding data word line 106 is in an invalid state, no operation is performed on the bit line 103. Regardless of the value of the corresponding data word line 106, the stored data is output to the comparator 113 in the same associative memory cells 118-1-1-1 to 118-mn.

マスク・セル112―1−1〜112−m−nは、対応するマスク・ワード線111が有効状態の場合、対応するビット線103に書き込みデータがドライブされていれば書き込みデータをマスク情報として格納し、対応するビット線103がドライブされていなければ、格納しているマスク情報を対応するビット線103に出力する。対応するマスク・ワード線111が無効状態ならば、ビット線103に対してなんら操作は行わない。また、対応するマスク・ワード線111の値にかかわらず、格納しているマスク情報を同一の連想メモリ・セル118−1−1〜118−m−nの中の比較器113に出力する。   The mask cells 112-1-1 to 112 -mn store the write data as mask information if the corresponding mask word line 111 is valid and the write data is driven to the corresponding bit line 103. If the corresponding bit line 103 is not driven, the stored mask information is output to the corresponding bit line 103. If the corresponding mask word line 111 is in an invalid state, no operation is performed on the bit line 103. Regardless of the value of the corresponding mask word line 111, the stored mask information is output to the comparator 113 in the same associative memory cells 118-1-1-1 to 118-mn.

データ一致線107は、検索動作の開始前には、ハイ・レベルにプリ・チャージされているか、図示しない抵抗によりプル・アップされ、有効状態“1”になっているものとする。   The data match line 107 is precharged to a high level before the search operation is started, or is pulled up by a resistor (not shown) and is in a valid state “1”.

比較器113は、対応するビット線103と、それに同一の連想メモリ・セル118−1−1〜118−m−nの中のデータ・セル108の記憶データおよびマスク・セル112のマスク情報を入力とし、マスク情報が有効状態、またはビット線103の値と記憶データが一致するならば対応するデータ一致線107を開放状態にし、それ以外の場合には無効状態“0”を出力する。連想メモリ・ワード117の中のn個の比較器113がすべてデータ一致線107を開放状態にしているときに、データ一致線107は有効状態“1”となり、それ以外の場合には無効状態“0”となるワイアードAND論理接続を構成している。つまり、検索動作時には、連想メモリ・ワード117が格納している記憶データとビット線103−1〜103−nがマスク情報により比較対象から除外されたビットを除いて完全に一致する場合に限り、データ一致線107は有効状態“1”となり、それ以外の場合は無効状態“0”となる。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。   The comparator 113 inputs the corresponding bit line 103 and the stored data of the data cell 108 and the mask information of the mask cell 112 in the same associative memory cells 118-1-1-1 to 118-mn. If the mask information is valid or the value of the bit line 103 matches the stored data, the corresponding data match line 107 is opened, otherwise the invalid state “0” is output. When all n comparators 113 in the associative memory word 117 have the data match line 107 open, the data match line 107 is in the valid state “1”, otherwise, the invalid state “ A wired AND logical connection of 0 ″ is configured. That is, at the time of the search operation, only when the storage data stored in the associative memory word 117 and the bit lines 103-1 to 103-n completely match except for the bits excluded from the comparison target by the mask information, The data match line 107 is in the valid state “1”, otherwise it is in the invalid state “0”. Of course, a normal logic gate may be used for the same operation.

論理ゲート121−1−1〜121−m−nは、同一の連想メモリ・ワード117−1〜117−mの中のデータ一致線107−1〜107−mが有効状態“1”かつ、同一の連想メモリ・セル118−1−1〜118−m−nの中のマスク・セル112−1−1〜112−m−nに格納されたマスク情報が無効状態“0”のときに、対応する最短マスク線122−1〜122−nに無効状態“0”を出力し、それ以外の場合には開放状態にする。   The logic gates 121-1-1 to 121 -m-n have the data matching lines 107-1 to 107 -m in the same associative memory word 117-1 to 117 -m being in the valid state “1” and the same. When the mask information stored in the mask cells 112-1-1-1 to 112-mn in the associative memory cells 118-1-1-1 to 118-mn is the invalid state “0” The invalid state “0” is output to the shortest mask lines 122-1 to 122-n to be performed, and in other cases, the inactive state is set.

各最短マスク線122−1〜122−nは、抵抗125−1〜125−nによりプル・アップされており、対応するm個の論理ゲート121−1−1〜121−m−nとワイアードAND論理接続を構成している。従って、接続されているm個の論理ゲート121がすべて最短マスク線122を開放状態にしているときに、最短マスク線122は有効状態“1”となり、それ以外の場合には無効状態“0”となる。   Each of the shortest mask lines 122-1 to 122-n is pulled up by resistors 125-1 to 125-n, and the corresponding m logic gates 121-1 to 121-mn and a wired AND. Configures a logical connection. Therefore, when all the m logic gates 121 connected have the shortest mask line 122 open, the shortest mask line 122 is in the valid state “1”, otherwise it is in the invalid state “0”. It becomes.

ラッチ123−1〜123−mは、同一の連想メモリ・ワード117−1〜117−mの中のデータ一致線107−1〜107−mの状態を、ラッチ制御線124が有効状態の時に内部に格納する。また、格納した状態を出力するため、同一の連想メモリ・ワード117−1〜117−mの中にあるマスク一致線119―1〜119−mと対応し、ワイアード論理接続されている。ラッチ123−1〜123−mは対応するマスク一致線119−1〜119−mに対して、格納されたデータが無効状態“0”の場合には“0”を出力し、格納されたデータが有効状態“1”の場合には対応するマスク一致線119−1〜119−mを開放状態とする。   The latches 123-1 to 123-m are connected to the data match lines 107-1 to 107-m in the same associative memory word 117-1 to 117-m when the latch control line 124 is in the valid state. To store. In order to output the stored state, wired logical connection is made corresponding to the mask match lines 119-1 to 119-m in the same associative memory word 117-1 to 117-m. The latches 123-1 to 123-m output “0” to the corresponding mask match lines 119-1 to 119-m when the stored data is in the invalid state “0”, and the stored data Is in the valid state “1”, the corresponding mask coincidence lines 119-1 to 119-m are opened.

マスク一致線119−1〜119−mは、検索動作の終了時に、検索データ102と一致した記憶データの中で、マスク情報により検索対象から除外されたビット数が最も少ない記憶データに対応するものだけが有効状態となり、それ以外は無効状態となる。マスク一致線119−1〜119−mは検索動作開始前に図示しない抵抗によりプル・アップされているか、ハイ・レベルにプリ・チャージされることにより、有効状態“1”になっているものとする。   The mask match lines 119-1 to 119-m correspond to the stored data with the smallest number of bits excluded from the search target by the mask information among the stored data that matches the search data 102 at the end of the search operation. Only becomes valid, otherwise it becomes invalid. The mask coincidence lines 119-1 to 119-m are pulled up by a resistor (not shown) before the search operation is started, or are pre-charged to a high level to be in the valid state “1”. To do.

マスク比較器120は、対応するマスク・セル112が格納するマスク情報の状態と対応するビット線103上の最短マスク情報を比較し、一致しているならば対応するマスク一致線119を開放状態にし、不一致ならば対応するマスク一致線119に無効状態“0”を出力する。従って、連想メモリ・ワード117の中のn個の連想メモリ・セル118と、1個のラッチ123がすべてマスク一致線119を開放状態にしているときに、マスク一致線119は有効状態“1”となり、それ以外の場合には無効状態“0”となるワイアードAND論理接続を構成している。   The mask comparator 120 compares the state of the mask information stored in the corresponding mask cell 112 with the shortest mask information on the corresponding bit line 103, and if it matches, sets the corresponding mask match line 119 to the open state. If they do not match, an invalid state “0” is output to the corresponding mask match line 119. Therefore, when the n associative memory cells 118 in the associative memory word 117 and the one latch 123 all have the mask match line 119 open, the mask match line 119 is in the valid state “1”. In other cases, a wired AND logical connection in which the invalid state is “0” is configured.

つまり、検索動作時には、連想メモリ・ワード117が格納しているマスク情報とビット線103−1〜103−nが完全に一致し、かつ、ラッチ123に格納されているデータ一致線107の状態が有効状態“1”の場合に限り、マスク一致線119は有効状態“1”となり、それ以外の場合は無効状態“0”となる。nビット・ラッチ126は、ラッチ制御信号124が有効状態の時に、最短マスク線122−1〜122−nの状態を内部に格納する。また、格納した状態をラッチ出力線127−1〜127−nに出力する。   That is, during the search operation, the mask information stored in the associative memory word 117 and the bit lines 103-1 to 103-n completely match, and the state of the data match line 107 stored in the latch 123 is Only in the valid state “1”, the mask match line 119 is in the valid state “1”, and in other cases, it is in the invalid state “0”. The n-bit latch 126 stores the state of the shortest mask lines 122-1 to 122-n inside when the latch control signal 124 is valid. Further, the stored state is output to the latch output lines 127-1 to 127-n.

nビット2入力1出力セレクタ128は、ビット線103−1〜103−nに出力するデータを、選択信号129の状態により、検索データ102−1〜102−nとラッチ出力線127−1〜127−nの一方から選択する。   The n-bit 2-input 1-output selector 128 selects the data to be output to the bit lines 103-1 to 103-n and the search data 102-1 to 102-n and the latch output lines 127-1 to 127 according to the state of the selection signal 129. Select from one of -n.

制御回路130は、連想メモリ116の動作を制御するため、クロック信号130に同期して、ラッチ制御信号124、選択信号129を出力する。   The control circuit 130 outputs a latch control signal 124 and a selection signal 129 in synchronization with the clock signal 130 in order to control the operation of the associative memory 116.

次に、図16に従来の連想メモリ・セル118の一構成例を示す。ここで、2本のビット線103a,103bは図15に示されている各ビット線に対応するものであるが、図15においては103−iで代表して表現している。この2本のビット線を介してメモリ・セルへのデータの読み書きや、検索データ102の入力を行う。データを書き込む場合、および検索データの入力を行う場合には、ビット線103bにはビット線103aの値を反転した値を入力する。 データ・セル108は、入出力が相互に接続された反転論理ゲート(G101)301、反転論理ゲート(G102)302と、反転論理ゲート(G102)302の出力をビット線103aに接続しデータ・ワード線106がハイ・レベルのときに導通状態となるMOSトランジスタ(T101)303と、反転論理ゲート(G101)301の出力をビット線103bに接続しデータ・ワード線106がハイ・レベルのときに導通状態となるMOSトランジスタ(T102)304とにより構成される一般的なスタティックSRAM素子である。   Next, FIG. 16 shows an example of the configuration of a conventional content addressable memory cell 118. Here, the two bit lines 103a and 103b correspond to the bit lines shown in FIG. 15, but are represented by 103-i in FIG. Data is read from and written to the memory cell and search data 102 is input via these two bit lines. When writing data or inputting search data, a value obtained by inverting the value of the bit line 103a is input to the bit line 103b. The data cell 108 has an inverted logic gate (G101) 301, an inverted logic gate (G102) 302, and an output of the inverted logic gate (G102) 302, whose inputs and outputs are connected to each other, connected to the bit line 103a to form a data word The MOS transistor (T101) 303, which becomes conductive when the line 106 is high level, and the output of the inverting logic gate (G101) 301 are connected to the bit line 103b, and is conductive when the data word line 106 is high level. This is a general static SRAM element constituted by the MOS transistor (T102) 304 to be in a state.

また、マスク・セル112も、入出力が相互に接続された反転論理ゲート(G103)309、反転論理ゲート(G104)310と、反転論理ゲート(G104)310の出力をビット線103aに接続しマスク・ワード線111がハイ・レベルのときに導通状態となるMOSトランジスタ(T107)311と、反転論理ゲート(G103)309の出力をビット線103bに接続しマスク・ワード線111がハイ・レベルのときに導通状態となるMOSトランジスタ(T108)312とにより構成される一般的なスタティックSRAM素子である。   The mask cell 112 is also connected to the inverted logic gate (G103) 309, the inverted logic gate (G104) 310, and the output of the inverted logic gate (G104) 310 whose inputs and outputs are connected to each other and connected to the bit line 103a. When the output of the MOS transistor (T107) 311 and the inversion logic gate (G103) 309, which are in a conductive state when the word line 111 is high level, is connected to the bit line 103b and the mask word line 111 is high level This is a general static SRAM element constituted by a MOS transistor (T108) 312 which is in a conductive state.

比較器113はMOSトランジスタ(T103)305、MOSトランジスタ(T104)306、MOSトランジスタ(T105)307、MOSトランジスタ(T106)308により構成される。MOSトランジスタ(T103)305とMOSトランジスタ(T104)306はビット線103a,103bの間に直列に挿入される。MOSトランジスタ(T103)305は、データ・セル108内の反転論理ゲート(G101)301の出力がハイ・レベルのときに導通状態となる。MOSトランジスタ(T104)306は、データ・セル108内の反転論理ゲート(G102)302の出力がハイ・レベルのときに導通状態となる。MOSトランジスタ(T105)307とMOSトランジスタ(T106)308は、低電位と、データ一致線107の間に直列に挿入される。MOSトランジスタ(T105)307は、MOSトランジスタ(T103)305とMOSトランジスタ(T104)306の接続点の電位がハイ・レベルの時に導通状態となる。MOSトランジスタ(T106)308は、マスク・セル112内の反転論理ゲート(G103)309の出力がハイ・レベルの時に導通状態となる。ビット線103aと反転論理ゲート(G101)301の出力がともにハイ・レベル、またはビット線103bと反転論理ゲート(G102)302の出力がともにハイ・レベルのときに、MOSトランジスタ(T103)305とMOSトランジスタ(T104)306の接続点はハイ・レベルとなり、MOSトランジスタ(T105)307を導通状態とする。   The comparator 113 includes a MOS transistor (T103) 305, a MOS transistor (T104) 306, a MOS transistor (T105) 307, and a MOS transistor (T106) 308. The MOS transistor (T103) 305 and the MOS transistor (T104) 306 are inserted in series between the bit lines 103a and 103b. The MOS transistor (T103) 305 becomes conductive when the output of the inverting logic gate (G101) 301 in the data cell 108 is at a high level. The MOS transistor (T104) 306 becomes conductive when the output of the inverting logic gate (G102) 302 in the data cell 108 is high. The MOS transistor (T105) 307 and the MOS transistor (T106) 308 are inserted in series between the low potential and the data matching line 107. The MOS transistor (T105) 307 becomes conductive when the potential at the connection point between the MOS transistor (T103) 305 and the MOS transistor (T104) 306 is high. The MOS transistor (T106) 308 becomes conductive when the output of the inverting logic gate (G103) 309 in the mask cell 112 is at a high level. When both the output of the bit line 103a and the inversion logic gate (G101) 301 are at a high level, or both the output of the bit line 103b and the inversion logic gate (G102) 302 are at a high level, the MOS transistor (T103) 305 and the MOS The connection point of the transistor (T104) 306 becomes high level, and the MOS transistor (T105) 307 is turned on.

従って、データ・セル108に格納されている記憶データと、ビット線103a,103b上の検索データ102が異なる場合にMOSトランジスタ(T105)307は導通状態になる。またMOSトランジスタ(T106)308はマスク・セル112内に格納されているマスク情報が“1”のときには開放状態であり、“0”のときに導通状態となる。データ一致線107は、図示しない抵抗により高電位にプル・アップされているか、または、検索動作を開始する前に高電位にプリ・チャージされているものとする。これにより、複数の連想メモリ・セル118がデータ一致線107にMOSトランジスタ(T106)308を介して接続されているとき、1つの連想メモリ・セル118でもロウ・レベルを出力しているとデータ一致線107はロウ・レベルとなるようなワイアードAND接続となる。   Therefore, when the stored data stored in the data cell 108 and the search data 102 on the bit lines 103a and 103b are different, the MOS transistor (T105) 307 becomes conductive. The MOS transistor (T106) 308 is open when the mask information stored in the mask cell 112 is "1", and is conductive when "0". It is assumed that the data match line 107 is pulled up to a high potential by a resistor (not shown) or precharged to a high potential before the search operation is started. As a result, when a plurality of associative memory cells 118 are connected to the data match line 107 via the MOS transistor (T106) 308, if one associative memory cell 118 outputs a low level, the data match The line 107 has a wired AND connection that is at a low level.

MOSトランジスタ(T105)307、MOSトランジスタ(T106)308がともに導通状態のときに連想メモリ・セル118はデータ一致線107に無効状態“0”を出力し、それ以外の時にはデータ一致線107を開放状態とする。すなわち、マスク情報が“1”の場合にはデータ一致線107を必ず開放状態とし、マスク情報が“0”の場合にはビット線103a,103b上の検索データ102とデータ・セルに格納されている記憶データが一致するときに開放状態とし、異なる場合には無効状態“0”を出力する。   The associative memory cell 118 outputs an invalid state “0” to the data match line 107 when both the MOS transistor (T105) 307 and the MOS transistor (T106) 308 are conductive, and otherwise the data match line 107 is opened. State. That is, when the mask information is “1”, the data match line 107 is always opened, and when the mask information is “0”, it is stored in the search data 102 and the data cell on the bit lines 103a and 103b. When the stored data matches, the open state is set, and when they are different, the invalid state “0” is output.

次に、論理ゲート121と最短マスク線122の働きを説明する。最短マスク線122は図15の抵抗125によりプル・アップされ検索動作前には有効状態“1”になっている。論理ゲート121は、最短マスク線122と低電位との間に直列に挿入されたMOSトランジスタ(T109)313と、MOSトランジスタ(T110)314で構成されている。MOSトランジスタ(T109)313は、データ一致線107が有効状態“1”のときに導通状態となり、無効状態“0”のときには開放状態となる。MOSトランジスタ(T110)314は、マスク・セル112内部の反転論理ゲート(G103)309の出力がハイ・レベルの場合に導通状態となり、ロウ・レベルの場合には開放状態となる。つまり、マスク・セル112に格納されているマスク情報が無効状態“0”のときに導通状態となり、有効状態“1”のときには開放状態となる。これにより論理ゲート121は、データ一致線107が有効状態“1”かつマスク・セル112に格納されたマスク情報が無効状態“0”のときに、最短マスク線122に無効状態“0”を出力し、それ以外の場合には開放状態にする。   Next, functions of the logic gate 121 and the shortest mask line 122 will be described. The shortest mask line 122 is pulled up by the resistor 125 of FIG. 15 and is in a valid state “1” before the search operation. The logic gate 121 includes a MOS transistor (T109) 313 and a MOS transistor (T110) 314 inserted in series between the shortest mask line 122 and a low potential. The MOS transistor (T109) 313 is conductive when the data match line 107 is in the valid state “1”, and is open when the data match line 107 is in the invalid state “0”. The MOS transistor (T110) 314 is conductive when the output of the inversion logic gate (G103) 309 in the mask cell 112 is high level, and is open when the output is low level. That is, when the mask information stored in the mask cell 112 is in the invalid state “0”, the conductive state is established, and when the mask information is in the valid state “1”, the open state is established. Thus, the logic gate 121 outputs the invalid state “0” to the shortest mask line 122 when the data match line 107 is in the valid state “1” and the mask information stored in the mask cell 112 is in the invalid state “0”. Otherwise, it is opened.

次に、マスク比較器120とマスク一致線119の働きを説明する。マスク一致線119は、図示しない抵抗により高電位にプル・アップされているか、または、検索動作を開始する前に高電位にプリ・チャージされているものとする。   Next, functions of the mask comparator 120 and the mask coincidence line 119 will be described. It is assumed that the mask match line 119 is pulled up to a high potential by a resistor (not shown) or precharged to a high potential before the search operation is started.

マスク比較器120は、MOSトランジスタ(T111)315、MOSトランジスタ(T112)316、MOSトランジスタ(T113)317により構成される。MOSトランジスタ(T111)315とMOSトランジスタ(T112)316はビット線103a,103bの間に直列に挿入される。MOSトランジスタ(T111)315は、マスク・セル112内の反転論理ゲート(G103)309の出力がハイ・レベルのときに導通状態となる。MOSトランジスタ(T112)316は、マスク・セル112内の反転論理ゲート(G104)310の出力がハイ・レベルのときに導通状態となる。MOSトランジスタ(T113)317は、低電位と、マスク一致線119の間に挿入される。MOSトランジスタ(T113)317は、MOSトランジスタ(T111)315とMOSトランジスタ(T112)316の接続点の電位がハイ・レベルの時に導通状態となる。   The mask comparator 120 includes a MOS transistor (T111) 315, a MOS transistor (T112) 316, and a MOS transistor (T113) 317. The MOS transistor (T111) 315 and the MOS transistor (T112) 316 are inserted in series between the bit lines 103a and 103b. The MOS transistor (T111) 315 becomes conductive when the output of the inversion logic gate (G103) 309 in the mask cell 112 is at a high level. The MOS transistor (T112) 316 becomes conductive when the output of the inverting logic gate (G104) 310 in the mask cell 112 is at a high level. The MOS transistor (T113) 317 is inserted between the low potential and the mask match line 119. The MOS transistor (T113) 317 becomes conductive when the potential at the connection point between the MOS transistor (T111) 315 and the MOS transistor (T112) 316 is high.

ビット線103aと反転論理ゲート(G103)309の出力がともにハイ・レベル、またはビット線103bと反転論理ゲート(G104)310の出力がともにハイ・レベルのときに、MOSトランジスタ(T111)315とMOSトランジスタ(T112)316の接続点はハイ・レベルとなり、MOSトランジスタ(T113)317は導通状態になり、その他の場合は開放状態となる。   When both the output of the bit line 103a and the inversion logic gate (G103) 309 are at a high level, or both the output of the bit line 103b and the inversion logic gate (G104) 310 are at a high level, the MOS transistor (T111) 315 and the MOS The connection point of the transistor (T112) 316 is at a high level, the MOS transistor (T113) 317 is in a conductive state, and in other cases, it is in an open state.

従って、マスク・セル112に格納されているマスク情報と、ビット線103a,103b上の検索データ102が異なる場合にMOSトランジスタ(T113)317は導通状態になりマスク一致線119に無効状態“0”を出力し、一致する場合にはマスク一致線119を開放状態にする。   Accordingly, when the mask information stored in the mask cell 112 and the search data 102 on the bit lines 103a and 103b are different, the MOS transistor (T113) 317 becomes conductive and the mask match line 119 has an invalid state “0”. Is output, and if they match, the mask match line 119 is opened.

これにより、複数の連想メモリ・セル118がマスク一致線119にMOSトランジスタ(T113)317を介して接続されているとき、1つの連想メモリ・セルでもロウ・レベルを出力しているとマスク一致線119はロウ・レベルとなり、それ以外の場合はハイ・レベルにするワイアードAND接続を構成している。   As a result, when a plurality of associative memory cells 118 are connected to the mask match line 119 via the MOS transistor (T113) 317, if one associative memory cell outputs a low level, the mask match line 119 is a low level, and in other cases, a wired AND connection is set to a high level.

次に、上述の従来の連想メモリ116を、図19のルータ400−3における転送先ネットワーク・アドレスの計算に用いた場合の動作を、図17を用いて説明する。そのときのタイミングチャートを図18に示す。
連想メモリ116を8ビット5語の構成と仮定する。従って、各連想メモリ・ワード117−1〜117−5に格納されている記憶データ、マスク情報は、図20の連想メモリの場合と全く同一であり、図19のルータ400−3のネットワーク・アドレス(3.*.*.*)以外の接続情報を記憶している。つまり、連想メモリ・ワード117−1には(1.*.*.*)を実現するため2進数で、記憶データには(01.00.00.00)を、マスク情報として(00.11.11.11)を格納してある。同様に連想メモリ・ワード117−2には(2.*.*.*)を、117−3には(1.2.2.*)を、117−4には(1.2.*.*)を、117−5には(2.1.1.*)を格納してある。
Next, the operation when the above-described conventional associative memory 116 is used for the calculation of the transfer destination network address in the router 400-3 in FIG. 19 will be described with reference to FIG. A timing chart at that time is shown in FIG.
Assume that the associative memory 116 is composed of 8 bits and 5 words. Accordingly, the stored data and mask information stored in each associative memory word 117-1 to 117-5 are exactly the same as those in the associative memory of FIG. 20, and the network address of the router 400-3 in FIG. Connection information other than (3. *. *. *) Is stored. In other words, the associative memory word 117-1 is binary to realize (1. *. *. *), And (01.00.00.00) is used as mask information (10.11) as stored data. .11.11) are stored. Similarly, the associative memory word 117-2 has (2. *. *. *), 117-3 has (1.2.2. *), And 117-4 has (1.2. *. *). *) Is stored in 117-5 as (2.1.1. *).

以降、検索データ102として図19のPC401−1の4進数のネットワーク・アドレス(1.2.2.1)を入力し検索動作を行った場合の動作説明をする。   Hereinafter, the operation when the search operation is performed by inputting the quaternary network address (1.2.2.1) of the PC 401-1 in FIG. 19 as the search data 102 will be described.

まず、図18のタイミング(1)で、すべてのデータ一致線107−1〜107−8は、ハイ・レベルにプリ・チャージされ、有効状態“1”になっている。
次に図18のタイミング(2)で、制御回路131が出力する選択信号129により、nビット2入力1出力セレクタ128は検索データ102を選択し、ビット線103−1〜103−8に出力する。これにより、連想メモリ116の連想メモリ・ワード117−1に格納されている4進表現の(1.*.*.*)と、連想メモリ・ワード117−3に格納されている4進表現の(1.2.2.*)と、連想メモリ・ワード117−4に格納されている4進表現の(1.2.*.*)がビット線103−1〜103−8上のデータと一致する。従って、データ一致線107−1、107−3および107−4の3本が有効状態“1”となり、残りのデータ一致線107−2、107−5は無効状態“0”となる。
First, at the timing (1) in FIG. 18, all the data match lines 107-1 to 107-8 are precharged to the high level and are in the valid state “1”.
Next, at timing (2) in FIG. 18, the n-bit 2-input 1-output selector 128 selects the search data 102 in accordance with the selection signal 129 output from the control circuit 131 and outputs it to the bit lines 103-1 to 103-8. . Thus, the quaternary representation (1. *. *. *) Stored in the associative memory word 117-1 of the associative memory 116 and the quaternary representation stored in the associative memory word 117-3. (1.2.2. *) And (1.2. *. *) In quaternary representation stored in the associative memory word 117-4 are the data on the bit lines 103-1 to 103-8. Match. Therefore, the three data matching lines 107-1, 107-3 and 107-4 are in the valid state "1", and the remaining data matching lines 107-2 and 107-5 are in the invalid state "0".

ここで、最短マスク線122−1からは、連想メモリ・ワード117−1内の最短マスク線122−1に対応するマスク情報“0”と、連想メモリ・ワード117−3内の最短マスク線122−1に対応するマスク情報“0”と、連想メモリ・ワード117−4内の最短マスク線122−1に対応するマスク情報“0”の論理積“0”が出力される。最短マスク線122−2からは、連想メモリ・ワード117−1内の最短マスク線122−2に対応するマスク情報“0”と、連想メモリ・ワード117−3内の最短マスク線122−2に対応するマスク情報“0”と、連想メモリ・ワード117−4内の最短マスク線122−2に対応するマスク情報“0”の論理積“0”が出力される。以降同様に、最短マスク線122−3からは“1”と“0”と“0”の論理積“0”が、最短マスク線122−4からは“1”と“0”と“0”の論理積“0”が、最短マスク線122−5からは“1”と“0”と“1”の論理積“0”が、最短マスク線122−6からは“1”と“0”と“1”の論理積“0”が、最短マスク線122−7からは“1”と“1”と“1”の論理積“1”が、最短マスク線122−8からは“1”と“1”と“1”の論理積“1”が、それぞれ出力される。従って、最短マスク線122−1〜122−8には、2進表現で“00000011”が出力される。この状態で、制御回路131が出力するラッチ制御信号124が有効状態になり、ラッチ123−1〜123−5は対応する一致線107−1〜107−5の状態を内部に格納し、nビット・ラッチ126は最短マスク線122−1〜122−8の状態を内部に格納する。従って、ラッチ123−1には“1”が、ラッチ123−2には“0”が、ラッチ123−3には“1”が、ラッチ123−4には“1”が、ラッチ123−5には“0”が、それぞれ格納され、nビット・ラッチ126には2進表現で“00000011”が格納される。また、nビット・ラッチ126は、格納した状態“00000011”をラッチ出力線127−1〜127−8に出力する。   Here, from the shortest mask line 122-1, mask information “0” corresponding to the shortest mask line 122-1 in the associative memory word 117-1 and the shortest mask line 122 in the associative memory word 117-3 are displayed. The logical product “0” of the mask information “0” corresponding to −1 and the mask information “0” corresponding to the shortest mask line 122-1 in the associative memory word 117-4 is output. From the shortest mask line 122-2, to the mask information "0" corresponding to the shortest mask line 122-2 in the associative memory word 117-1 and the shortest mask line 122-2 in the associative memory word 117-3. The logical product “0” of the corresponding mask information “0” and the mask information “0” corresponding to the shortest mask line 122-2 in the associative memory word 117-4 is output. Similarly, the logical product “0” of “1”, “0”, and “0” from the shortest mask line 122-3, and “1”, “0”, and “0” from the shortest mask line 122-4. Is "0" from the shortest mask line 122-5, and "0" is "1" and "0" from the shortest mask line 122-6. AND of "1" is "0" from the shortest mask line 122-7, and "1" of "1", "1" and "1" is "1" from the shortest mask line 122-8. AND “1” of “1” and “1” is output, respectively. Therefore, “00000011” is output in binary representation to the shortest mask lines 122-1 to 122-8. In this state, the latch control signal 124 output from the control circuit 131 becomes valid, and the latches 123-1 to 123-5 store the states of the corresponding match lines 107-1 to 107-5 internally, and n bits The latch 126 stores the state of the shortest mask lines 122-1 to 122-8 therein. Therefore, "1" is stored in the latch 123-1, "0" is stored in the latch 123-2, "1" is stored in the latch 123-3, "1" is stored in the latch 123-4, and the latch 123-5. “0” is stored in the “n”, and “00000011” is stored in the n-bit latch 126 in binary representation. The n-bit latch 126 outputs the stored state “00000011” to the latch output lines 127-1 to 127-8.

次に図18のタイミング(3)で、すべてのマスク一致線119−1〜119−8はハイ・レベルにプリ・チャージされ、有効状態“1”になっている。   Next, at the timing (3) in FIG. 18, all the mask coincidence lines 119-1 to 119-8 are precharged to the high level and are in the valid state “1”.

次に図18のタイミング(4)で、制御回路131が出力する選択信号129により、nビット2入力1出力セレクタ128はラッチ出力線127を選択し、その情報“00000011”を対応するビット線103−1〜103−8に出力した後、連想メモリは2回目の検索動作を開始する。2回目の検索動作では、マスク一致線119−1〜119−8の状態を利用し、データ一致線107−1〜107−8の状態は無視される。   Next, at timing (4) in FIG. 18, the n-bit 2-input 1-output selector 128 selects the latch output line 127 according to the selection signal 129 output from the control circuit 131, and the bit line 103 corresponding to the information “00000011” is selected. After outputting to -1 to 103-8, the content addressable memory starts a second search operation. In the second search operation, the states of the mask match lines 119-1 to 119-8 are used, and the states of the data match lines 107-1 to 107-8 are ignored.

ビット線103−1〜103−8の状態“00000011”に対して、連想メモリ・ワード117−3と117−5が格納するマスク情報が完全に一致し、対応するマスク一致線119−3,119−5を開放状態にする。他の連想メモリ・ワード117−1,117−2および117−4が格納するマスク情報は一致しないので、対応するマスク一致線119−1,119−2、および119−4に無効状態“0”を出力する。   The mask information stored in the associative memory words 117-3 and 117-5 completely matches the state "00000011" of the bit lines 103-1 to 103-8, and the corresponding mask match lines 119-3 and 119 are stored. -5 is opened. Since the mask information stored in the other associative memory words 117-1, 117-2, and 117-4 does not match, the corresponding mask match lines 119-1, 119-2, and 119-4 have an invalid state “0”. Is output.

また、ラッチ123−1は格納した状態が“1”なので対応するマスク一致線119−1を解放状態にし、ラッチ123−2は格納した状態“0”を対応するマスク一致線119−2に出力し、ラッチ123−3は格納した状態が“1”なので対応するマスク一致線119−3を開放状態にし、ラッチ123−4は格納した状態が“1”なので対応するマスク一致線119−4を開放状態にし、ラッチ123−5は格納した状態“0”を対応するマスク一致線119−5に出力する。   Since the latch 123-1 is in the stored state “1”, the corresponding mask match line 119-1 is released, and the latch 123-2 outputs the stored state “0” to the corresponding mask match line 119-2. Since the latch 123-3 is in the stored state "1", the corresponding mask match line 119-3 is opened, and the latch 123-4 is in the stored state "1" so that the corresponding mask match line 119-4 is set. The latch 123-3 outputs the stored state “0” to the corresponding mask match line 119-5.

従って、マスク一致線119−1は、ラッチ123−1が解放状態にしているが、連想メモリ・ワード117−1内のマスク比較器120−1−1〜120−1−8が“0”を出力しているので、無効状態“0”になる。マスク一致線119−2は、連想メモリ・ワード117−2のマスク比較器120−2−1〜120−2−8が“0”を出力しラッチ123−2も“0”を出力しているので無効状態“0”となる。マスク一致線119−3は、連想メモリ・ワード117−3のマスク比較器120−3−1〜120−3−8がすべて開放状態でありラッチ123−3も開放状態であるので有効状態“1”を保持する。マスク一致線119−4は、ラッチ123−4が開放状態にしているが、連想メモリ・ワード117−4のマスク比較器120−4−1〜120−4−8が “0”を出力しているので無効状態“0”となる。マスク一致線119−5は、連想メモリ・ワード117−5のマスク比較器120−5−1〜120−5−8が開放状態にしているが、ラッチ123−5が“0”を出力しているので、マスク一致線119−5は無効状態“0”となる。   Accordingly, the mask coincidence line 119-1 is released by the latch 123-1, but the mask comparators 120-1-1-1 to 120-1-8 in the associative memory word 117-1 set “0”. Since it is outputting, it becomes an invalid state “0”. On the mask match line 119-2, the mask comparators 120-2-1 to 120-2-8 of the associative memory word 117-2 output "0", and the latch 123-2 also outputs "0". Therefore, the invalid state becomes “0”. The mask match line 119-3 is in the valid state “1” because the mask comparators 120-3-1 to 120-3-8 of the associative memory word 117-3 are all open and the latches 123-3 are open. ”. In the mask match line 119-4, the latch 123-4 is in an open state, but the mask comparators 120-4-1 to 120-4-8 of the associative memory word 117-4 output “0”. Therefore, the invalid state is “0”. The mask match line 119-5 is opened by the mask comparators 120-5-5-1 to 120-5-8 of the associative memory word 117-5, but the latch 123-5 outputs "0". Therefore, the mask match line 119-5 is in an invalid state “0”.

これにより、タイミング(2)の1回目の検索動作で、予め格納されている記憶データがマスク情報を考慮して検索データ102と一致し、かつタイミング(4)の2回目の検索動作で、予め格納されているマスク情報が1回目の検索動作の結果得られた最短マスク線122−1〜122−8の状態と一致するような連想メモリ・ワード117−1〜117−5に対応するマスク一致線119−3のみが、2回目の検索動作終了時に有効状態“1”になる。従って、入力した検索データ102と、対応するマスク情報を考慮して比較した結果一致する記憶データの中で、マスク情報の有効状態のビットが最も少ない記憶データに対応するマスク一致線119−3のみに有効状態を出力することがわかる。   Thus, in the first search operation at timing (2), the stored data stored in advance matches the search data 102 in consideration of the mask information, and in the second search operation at timing (4), Mask match corresponding to the associative memory words 117-1 to 117-5 such that the stored mask information matches the state of the shortest mask lines 122-1 to 122-8 obtained as a result of the first search operation. Only the line 119-3 becomes the valid state “1” at the end of the second search operation. Therefore, only the mask coincidence line 119-3 corresponding to the storage data having the least number of valid bits of the mask information among the storage data that matches as a result of comparing the input search data 102 with the corresponding mask information in consideration. It can be seen that the valid state is output at.

上述した従来の連想メモリ116は、1回目の検索動作では、m語の連想メモリ・ワード117―1〜117−mに格納された記憶データと検索データ102を比較した結果をm本のデータ一致線107−1〜107−mに出力し、2回目の検索動作では、m語の連想メモリ・ワード117―1〜117−mに格納されたマスク情報とラッチ出力線127の値を比較した結果をm本のマスク一致線119−1〜119−mに出力する。そのため、各連想メモリ・ワード117−1〜117−mの中のn個の連想メモリ・セル118−1−1〜118−m−nは、記憶データを比較するための比較器113−1−1〜113−m−nと、マスク情報を比較するためのマスク比較器120−1−1〜120−m−nの2つの比較手段が必要である。   In the first associative memory 116 described above, in the first search operation, the result of comparing the stored data stored in the m word associative memory words 117-1 to 117-m and the search data 102 is the m data match. The result of comparison between the mask information stored in the associative memory words 117-1 to 117-m of m words and the value of the latch output line 127 in the second search operation is output to the lines 107-1 to 107-m. Are output to m mask matching lines 119-1 to 119-m. Therefore, the n associative memory cells 118-1-1-1 to 118-mn in each associative memory word 117-1 to 117-m include comparators 113-1- for comparing stored data. Two comparators, 1-113-mn and mask comparators 120-1-1-1 to 120-mn for comparing mask information, are required.

ここで反転論理ゲートが2個のMOSトランジスタから構成されるとすると、連想メモリ・セル118は図16に示すように21個のMOSトランジスタから構成される。この中で、データ・セル108、マスク・セル112はスタティックRAM素子であるため、これらを構成する各MOSトランジスタの面積は、一般的に、従来の連想メモリ116を製造する際に許される最小面積のMOSトランジスタと等しい。   If the inversion logic gate is composed of two MOS transistors, the associative memory cell 118 is composed of 21 MOS transistors as shown in FIG. Among them, since the data cell 108 and the mask cell 112 are static RAM elements, the area of each MOS transistor constituting them is generally the minimum area allowed when the conventional associative memory 116 is manufactured. It is equal to the MOS transistor.

ところが、図15に示すように、各データ一致線107−1〜107−mは1語の連想メモリ・ワード117の中のn個の比較器113とワイアード論理接続をするための配線長が必要であるために配線容量は非常に大きく、その配線容量を駆動するため、比較器113を構成するMOSトランジスタの面積は非常に大きくなる。例えば、0.25μm製造プロセスの場合、64個の比較器を接続するためには1mmほどの配線長が必要となり、この配線長の配線容量はおよそ0.3pF程度となる。この容量を駆動するためのトランジスタ・サイズは製造プロセスで許される最小面積のMOSトランジスタの10〜30倍は必要である。同様に、各マスク一致線119−1〜119−mもn個のマスク比較器120とワイアード論理接続をするための配線長が必要であり、論理ゲート121を構成するMOSトランジスタの面積も、最小面積のMOSトランジスタの10〜30倍は必要である。また、図15に示すように、各最短マスク線122−1〜122−nもm個の論理ゲート121とワイアード論理接続をするための配線長が必要であり、論理ゲート121を構成するMOSトランジスタの面積も、最小面積のMOSトランジスタの10〜30倍は必要であることになる。   However, as shown in FIG. 15, each data match line 107-1 to 107-m requires a wiring length for making a wired logical connection with n comparators 113 in one word associative memory word 117. Therefore, the wiring capacitance is very large, and the wiring capacitance is driven, so that the area of the MOS transistor constituting the comparator 113 is very large. For example, in the case of a 0.25 μm manufacturing process, a wiring length of about 1 mm is required to connect 64 comparators, and the wiring capacity of this wiring length is about 0.3 pF. The transistor size for driving this capacitor needs to be 10 to 30 times the MOS transistor of the minimum area allowed in the manufacturing process. Similarly, each mask match line 119-1 to 119-m also needs a wiring length for making a wired logic connection with n mask comparators 120, and the area of the MOS transistor constituting the logic gate 121 is also minimized. 10 to 30 times the area of the MOS transistor is necessary. Further, as shown in FIG. 15, each shortest mask line 122-1 to 122-n also needs a wiring length for making a wired logic connection with m logic gates 121, and the MOS transistors constituting the logic gate 121 Also, the area of 10 to 30 times that of the MOS transistor having the minimum area is required.

従って、比較器113,マスク比較器120、および論理ゲート121を構成するMOSトランジスタの面積を、最小面積のMOSトランジスタの10倍、一般的なスタティックRAM素子の面積は最小面積のMOSトランジスタの6倍と仮定すると、図16から容易に分かるように連想メモリ・セル118の面積は、最小面積のMOSトランジスタの102倍となる。すなわち、同じチップ面積のスタティックSRAMの記憶容量と比べると従来の連想メモリ116は17分の1しか格納できないという問題があった。   Therefore, the area of the MOS transistors constituting the comparator 113, the mask comparator 120, and the logic gate 121 is 10 times that of the MOS transistor having the minimum area, and the area of a general static RAM element is 6 times that of the MOS transistor having the minimum area. Assuming that, as can be easily understood from FIG. 16, the area of the associative memory cell 118 is 102 times that of the MOS transistor having the smallest area. That is, there is a problem that the conventional associative memory 116 can store only 1/17 compared with the storage capacity of the static SRAM having the same chip area.

また、上述したように、1回目の検索動作の結果が出力されるのはm本のデータ一致線107−1〜107−mであり、2回目の検索動作の結果が出力されるのはm本のマスク一致線119−1〜119−mである。このため、1回目の検索動作の結果を2回目の検索動作を実行するまで保持する必要がある。ここで、例えば、連想メモリ116が1語64ビットで32768語の構成の場合、ラッチ123が10個のMOSトランジスタから構成されていると仮定すると、32768個のラッチ123を構成するためには、およそ33万個のMOSトランジスタが必要となる。すなわち、記憶データのビット数nとは無関係に、m個のラッチ123−1〜123−mの分だけチップ面積が大きくなってしまうという問題があった。   Further, as described above, the result of the first search operation is output to the m data matching lines 107-1 to 107-m, and the result of the second search operation is output to m. These are the mask matching lines 119-1 to 119-m. Therefore, it is necessary to hold the result of the first search operation until the second search operation is executed. Here, for example, when the associative memory 116 has a structure of 64 bits per word and 32768 words, assuming that the latch 123 is composed of 10 MOS transistors, in order to configure 32768 latches 123, Approximately 330,000 MOS transistors are required. That is, there is a problem that the chip area is increased by the number of m latches 123-1 to 123-m regardless of the number of bits n of stored data.

また、それぞれm本あるデータ一致線107−1〜107−m、マスク一致線119−1〜119−mは、検索動作のたびに最終的に有効状態を出力する一本を除いて、検索前に有効状態にプリ・チャージした電荷をそれぞれ対応するMOSトランジスタを介して放電することになる。従って、1語64ビットで32768語構成の場合、データ一致線107、マスク一致線119を合わせて、32768×2−1=65535本の配線容量を検索動作のたびにプリ・チャージしなければならない。最短マスク線122−1〜122−nはn本であり、上述の例では64本であるので無視できる。すなわち、従来の連想メモリの消費電力は、ほとんど、データ一致線107、マスク一致線119を検索動作のたびにプリ・チャージするのに要する電力であることがわかる。ここで、前述のように0.25μm製造プロセスの場合、データ一致線107、マスク一致線119の配線容量をそれぞれ0,3pFと仮定し、電源電圧を2.5V、クロック信号130の周期を20nsとすると、チップ全体の消費電力は、(0.3pF×2.5V)÷20ns×2.5V×65535本=6.1Wと非常に大きい。従って、従来の連想メモリ116には、それぞれm本あるデータ一致線107−1〜107−m、マスク一致線119−1〜119−mは、検索動作のたびに最終的に有効状態を出力する一本を除いて、検索前に有効状態にプリ・チャージする必要があるため、消費電力が非常に大きいという問題があった。   Further, each of the m data match lines 107-1 to 107-m and the mask match lines 119-1 to 119-m is one before the search except for one which finally outputs a valid state for each search operation. The charges pre-charged to the effective state are discharged through the corresponding MOS transistors. Therefore, in the case of 32768 words composed of 64 words per word, the data match line 107 and the mask match line 119 must be combined to precharge the wiring capacity of 32768 × 2-1 = 65535 lines for each search operation. . Since the shortest mask lines 122-1 to 122-n are n, and 64 in the above example, they can be ignored. That is, it can be seen that the power consumption of the conventional associative memory is almost the power required to pre-charge the data match line 107 and the mask match line 119 for each search operation. Here, in the case of the 0.25 μm manufacturing process as described above, it is assumed that the wiring capacity of the data match line 107 and the mask match line 119 is 0 and 3 pF, respectively, the power supply voltage is 2.5 V, and the cycle of the clock signal 130 is 20 ns. Then, the power consumption of the entire chip is as large as (0.3 pF × 2.5 V) ÷ 20 ns × 2.5 V × 65535 = 6.1 W. Therefore, the data matching lines 107-1 to 107-m and the mask matching lines 119-1 to 119-m, which are m in the conventional associative memory 116, finally output a valid state at each search operation. There is a problem that power consumption is very large because it is necessary to pre-charge to a valid state before searching except for one.

また、上述のように、従来の連想メモリ116は記憶容量が小さいために、ルータを用いた場合には、複数個の連想メモリ116を使用する必要があった。そのためルータの発熱量が非常に大きくなり、図20に示すように冷却装置414を内蔵する必要があった。また、複数個の連想メモリ116の検索結果を比較し最終的な検索結果を求める必要があるため、データ転送速度が低下するという問題があった。   As described above, since the conventional associative memory 116 has a small storage capacity, when a router is used, it is necessary to use a plurality of associative memories 116. Therefore, the amount of heat generated by the router becomes very large, and it is necessary to incorporate a cooling device 414 as shown in FIG. In addition, since it is necessary to compare the search results of a plurality of associative memories 116 to obtain a final search result, there is a problem in that the data transfer speed is reduced.

そこで、本発明の目的は、検索データと一致する記憶データの中で対応するマスク情報の有効状態のビット数が最も少ない記憶データを識別する信号を出力し、なおかつ単位チップ面積あたりの記憶容量の大きい連想メモリを提供することにある。   Therefore, an object of the present invention is to output a signal for identifying the storage data having the smallest number of valid bits of the corresponding mask information among the storage data that matches the search data, and the storage capacity per unit chip area. The purpose is to provide a large associative memory.

更に他の目的として、検索データと一致する記憶データの中で対応するマスク情報の有効状態のビット数が最も少ない記憶データを識別する信号を出力し、なおかつ語数あたりの消費電力の小さい連想メモリを提供すること、冷却装置を必要としないルータを提供すること、及び高速にデータを転送できるネットワークシステムを提供することにある。   As another object, there is provided an associative memory that outputs a signal for identifying the stored data having the smallest number of valid bits of the corresponding mask information among the stored data that matches the search data, and that consumes less power per word. It is to provide a router that does not require a cooling device, and to provide a network system that can transfer data at high speed.

上記目的を達成するために、本発明の連想メモリは、a)nビット長のm個の記憶データを格納するn個のデータ・セルと;前記記憶データの各ビットを検索対象から除外するか否かを対応するビットのマスク有効状態、マスク無効状態により設定するマスク情報を格納するn個のマスク・セルと;入力データと前記記憶データとをワード単位で比較し、比較結果が一致するワードに対して一致信号を一致線上に出力するn個の比較器と;前記一致線上のデータと前記記憶データとをビット列単位で論理演算し、演算結果を一致データ中間論理線上に出力するn個の論理ゲートと;を含むm個の連想メモリ・ワードと(m,nは自然数)、b)前記一致データ中間論理線上に出力されたnビットの中間一致データを格納するラッチ回路と、c)検索データと前記中間一致データのいずれか一方を前記入力データとして前記連想メモリ・ワードに選択的に供給するセレクタ回路と、d)前記入力データとして前記検索データが選択された場合には前記マスク情報を考慮して比較を行い、前記中間一致データが選択された場合には無視して比較を行うよう前記比較器を制御する制御回路とを具備したことを特徴とする。   To achieve the above object, an associative memory according to the present invention includes: a) n data cells for storing m pieces of stored data having an n-bit length; and whether each bit of the stored data is excluded from a search target. N mask cells for storing mask information to be set according to whether the corresponding bits are mask valid state or mask invalid state; words in which input data and the stored data are compared in word units and the comparison results match N comparators for outputting a match signal on the match line; n data for logically operating the data on the match line and the stored data in units of bit strings and outputting the operation result to the match data intermediate logic line; M associative memory words including logic gates; (m and n are natural numbers); b) a latch circuit for storing n-bit intermediate match data output on the match data intermediate logic line; c A selector circuit that selectively supplies either the search data or the intermediate match data as the input data to the associative memory word; and d) the mask information when the search data is selected as the input data. And a control circuit for controlling the comparator to perform the comparison by ignoring when the intermediate coincidence data is selected.

本発明の連想メモリは、前記比較器は、前記検索データを対象とする比較結果と前記中間一致データを対象とする比較結果とを同一の一致線上に出力することを特徴とする。   In the content addressable memory of the present invention, the comparator outputs a comparison result for the search data and a comparison result for the intermediate match data on the same match line.

本発明の連想メモリは、検索動作に先立って前記一致線及び前記一致データ中間論理線を所定電位にプリ・チャージするプリ・チャージ手段を設けたことを特徴とする。   The associative memory according to the present invention is characterized in that pre-charge means for pre-charging the coincidence line and the coincidence data intermediate logic line to a predetermined potential prior to a search operation is provided.

本発明の連想メモリは、前記マスク情報の有効状態を"0"、無効状態を"1"とし、前記記憶データの有効状態を"1"、無効状態を"0"とし、前記一致データ中間論理線の有効状態を"1"、無効状態を"0"とし、前記一致線の有効状態を"1"、無効状態を"0"とするよう設定することを特徴とする。   The content addressable memory of the present invention sets the valid state of the mask information to “0”, the invalid state to “1”, the valid state of the stored data to “1”, the invalid state to “0”, and the matching data intermediate logic The valid state of the line is set to “1”, the invalid state is set to “0”, the valid state of the matching line is set to “1”, and the invalid state is set to “0”.

本発明の連想メモリは、前記比較器が前記一致線の有効状態"1"を真としたワイアードAND論理接続を構成することを特徴とする。   The content addressable memory according to the present invention is characterized in that the comparator constitutes a wired AND logical connection in which the valid state “1” of the match line is true.

本発明の連想メモリは、前記論理ゲートが前記一致データ中間論理線の有効状態"1"を真としたワイアードAND論理接続を構成することを特徴とする。   The content addressable memory according to the present invention is characterized in that the logic gate constitutes a wired AND logic connection in which a valid state “1” of the coincidence data intermediate logic line is true.

本発明の連想メモリは、前記中間一致データとして前記記憶データの有効状態"1"を真とした論理和演算データを得ることを特徴とする。   The associative memory according to the present invention is characterized in that as the intermediate match data, logical sum operation data in which the valid state “1” of the stored data is true is obtained.

本発明の連想メモリは、前記マスク情報の有効状態を"0"、無効状態を"1"とし、前記記憶データの有効状態を"0"、無効状態を"1"とし、前記一致データ中間論理線の有効状態を"1"、無効状態を"0"とし、前記一致線の有効状態を"1"、無効状態を"0"とするよう設定することを特徴とする。   The content addressable memory according to the present invention sets the valid state of the mask information to “0”, the invalid state to “1”, the valid state of the stored data to “0”, the invalid state to “1”, and the matching data intermediate logic The valid state of the line is set to “1”, the invalid state is set to “0”, the valid state of the matching line is set to “1”, and the invalid state is set to “0”.

本発明の連想メモリは、前記比較器が前記一致線の有効状態"1"を真としたワイアードAND論理接続を構成することを特徴とする。   The content addressable memory according to the present invention is characterized in that the comparator constitutes a wired AND logical connection in which the valid state “1” of the match line is true.

本発明の連想メモリは、前記論理ゲートが前記一致データ中間論理線の有効状態"1"を真としたワイアードAND論理接続を構成することを特徴とする。   The content addressable memory according to the present invention is characterized in that the logic gate constitutes a wired AND logic connection in which a valid state “1” of the coincidence data intermediate logic line is true.

本発明の連想メモリは、前記中間一致データとして前記記憶データの有効状態"0"を真とした論理和演算データを得ることを特徴とする。   The associative memory according to the present invention is characterized in that as the intermediate match data, logical sum operation data in which the valid state “0” of the stored data is true is obtained.

また、本発明の連想メモリは、a)nビット長のm個の記憶データを格納するm×n個の第1のデータ・セルと;前記記憶データの各ビットを検索対象から除外するか否かを対応するビットのマスク有効状態、マスク無効状態により設定するマスク情報を格納するm×n個のマスクセルと;検索データと前記記憶データとを前記マスク情報を考慮してワード単位で比較し、比較結果が一致するワードに対して一致信号を中間一致線上に出力するm×n個の第1の比較器と;前記中間一致線上のデータと前記記憶データとをビット列単位で論理演算し、演算結果を一致データ論理和線上に出力するm×n個の論理ゲートと;を含む第1のメモリと、b)前記記憶データをワード毎に前記第1のデータ・セルに対応付けて格納するm×n個の第2のデータ・セルと;前記一致データ論理和線上のデータと前記第2のデータ・セルに格納された前記記憶データとをワード単位で比較し、比較結果が一致するワードに対して一致信号を一致線上に出力するm×n個の第2の比較器と;を具備したことを特徴とする。   The associative memory according to the present invention also includes: a) m × n first data cells storing m pieces of stored data having an n-bit length; and whether to exclude each bit of the stored data from the search target Mxn mask cells for storing mask information to be set according to the mask valid state and mask invalid state of the corresponding bit; search data and the stored data are compared in word units in consideration of the mask information; M × n first comparators that output coincidence signals on the intermediate coincidence line for words having the same comparison result; data on the intermediate coincidence line and the stored data are logically operated in units of bit strings; A first memory including: m × n logic gates for outputting a result on the coincidence data OR line; and b) storing the stored data in association with the first data cell for each word. Xn second data Data cell; the data on the coincidence data OR line and the stored data stored in the second data cell are compared in word units, and the coincidence signal coincides with the word having the coincidence result of the comparison. And m × n second comparators for outputting on the line.

本発明の連想メモリは、検索動作に先立って前記一致線、前記中間一致線及び前記一致データ論理和線を所定電位にプリ・チャージするプリチャージ手段を設けたことを特徴とする。   The content addressable memory according to the present invention is characterized in that precharge means for precharging the match line, the intermediate match line, and the match data OR line to a predetermined potential prior to a search operation is provided.

本発明の連想メモリは、前記マスク情報の有効状態を"0"、無効状態を"1"とし、前記記憶データの有効状態を"1"、無効状態を"0"とし、前記一致データ論理和線の有効状態を"0"、無効状態を"1"とし、前記中間一致線の有効状態を"1"、無効状態を"0"とし、前記一致線の有効状態を"1"、無効状態を"0"とするよう設定することを特徴とする。   In the content addressable memory according to the present invention, the valid state of the mask information is “0”, the invalid state is “1”, the valid state of the stored data is “1”, the invalid state is “0”, and the coincidence data OR The valid state of the line is “0”, the invalid state is “1”, the valid state of the intermediate match line is “1”, the invalid state is “0”, the valid state of the match line is “1”, and the invalid state Is set to "0".

本発明の連想メモリは、前記第1の比較器が前記中間一致線の有効状態"1"を真としたワイアードAND論理接続を構成することを特徴とする。   The content addressable memory according to the present invention is characterized in that the first comparator forms a wired AND logical connection in which the valid state “1” of the intermediate match line is true.

本発明の連想メモリは、前記一致データ論理和線上のデータをいったん格納する記憶手段を前記第1のメモリと第2のメモリとの間に介挿することを特徴とする。   The content addressable memory according to the present invention is characterized in that storage means for temporarily storing data on the coincidence data logical sum line is interposed between the first memory and the second memory.

本発明のルータは、目的地ネットワークアドレスを検索データとする連想メモリを内蔵するルータにおいて、前記連想メモリとして請求項1乃至16に記載の連想メモリを備えたことを特徴とする。   The router of the present invention is a router incorporating an associative memory that uses a destination network address as search data, and includes the associative memory according to any one of claims 1 to 16 as the associative memory.

本発明のネットワークシステムは、前記ルータを介してネットワークに接続された機器間でデータ通信を行うことを特徴とする。   The network system according to the present invention is characterized in that data communication is performed between devices connected to the network via the router.

上述のように、本発明の連想メモリは、外部から与えられる検索データを、格納しているマスク情報を考慮して、格納している記憶データと比較する第1の検索動作と、第1の検索動作の結果を利用して計算される値を格納している前記記憶データと比較する第2の検索動作の2回の検索動作を、各ワードごとに同一の比較器を用いて同一の一致線に出力する手段を有しているため、従来の連想メモリと比較して1ビットを格納する単位セルのトランジスタ面積を25%程度削減できる。つまり単位チップ面積あたりの記憶容量を約33%程度増大できる。また、面積削減に伴い、配線容量も削減されるため、従来の連想メモリと比較して、動作周波数を32%程度高くすることができる。   As described above, the associative memory of the present invention includes a first search operation for comparing search data given from the outside with stored data in consideration of stored mask information, Two search operations of the second search operation for comparing the stored data with the value calculated using the result of the search operation are identically matched using the same comparator for each word. Since means for outputting to the line is provided, the transistor area of the unit cell storing 1 bit can be reduced by about 25% as compared with the conventional associative memory. That is, the storage capacity per unit chip area can be increased by about 33%. Further, as the area is reduced, the wiring capacity is also reduced, so that the operating frequency can be increased by about 32% compared to the conventional associative memory.

また、同一の語数で比較した場合、従来の連想メモリの消費電力に対して50%程度削減できる。   Further, when compared with the same number of words, the power consumption of the conventional associative memory can be reduced by about 50%.

更に、本発明の連想メモリをネットワーク・アドレス計算を行うルータに組み込めば、従来に比較して消費電力が小さくなるために、冷却装置が不要になりコストが削減できる、等の優れた効果を有する。   Furthermore, if the associative memory of the present invention is incorporated in a router that performs network address calculation, the power consumption is reduced compared to the conventional one, so that the cooling device is not required and the cost can be reduced. .

コンピュータ・ネットワーク・システムのルータに適用した場合は、データ転送速度を高速化できる。上述のように動作周波数を向上できるためと、およびチップあたりの記憶容量増加によりルータに内蔵する連想メモリのチップ数を削減することにより複数チップが出力した検索結果の比較処理が不要になるためである。   When applied to a router of a computer network system, the data transfer speed can be increased. Because the operating frequency can be improved as described above, and the number of associative memory chips built in the router is reduced by increasing the storage capacity per chip, so that comparison processing of search results output from multiple chips is not necessary. is there.

[第一の実施例の構成]
次に、本発明の第一の実施の形態について図面を参照して詳細に説明する。図1は、本発明の連想メモリ1の構成例を示すブロック図である。連想メモリ1は、nビット2入力1出力セレクタ23と、nビットm語の連想メモリ・ワード2−1〜2−mと、nビット・ラッチ21と、制御回路30と、論理ゲート16−1〜16−nを有しており、各連想メモリ・ワード2−jは、n個の連想メモリ・セル7−j−1〜7−j−nを備えている。各連想メモリ・ワード2−jには、対応するデータ・ワード線3−jと、マスク・ワード線6−jと、および比較制御信号4が入力のために接続され、対応する一致線5−j、およびn本の一致データ中間論理線14−1〜14−nが出力のために接続され、n本のビット線13−1〜13−nが入出力のために接続されている。
[Configuration of the first embodiment]
Next, a first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of an associative memory 1 according to the present invention. The associative memory 1 includes an n-bit 2-input 1-output selector 23, an n-bit m-word associative memory word 2-1 to 2-m, an n-bit latch 21, a control circuit 30, and a logic gate 16-1. 16-n, and each associative memory word 2-j includes n associative memory cells 7-j-1 to 7-jn. Each associative memory word 2-j is connected to the corresponding data word line 3-j, mask word line 6-j, and comparison control signal 4 for input, and the corresponding match line 5-j. j and n coincidence data intermediate logic lines 14-1 to 14-n are connected for output, and n bit lines 13-1 to 13-n are connected for input / output.

各連想メモリ・セル7−j−kには、対応するデータ・ワード線3−jと、マスク・ワード線6−jと、および比較制御信号4が入力のために接続され、対応する一致線5−j、および一致データ中間論理線14−kが出力のために接続され、ビット線13−kが入出力のために接続されている。   Each associative memory cell 7-j-k is connected with a corresponding data word line 3-j, a mask word line 6-j, and a comparison control signal 4 for input. 5-j and match data intermediate logic line 14-k are connected for output, and bit line 13-k is connected for input / output.

各連想メモリ・セル7−j−kは、ビット線13−kを介して外部から入力される記憶データの対応するビット情報を格納するデータ・セル8−j−kと、データ・セル8−j−kに記憶されたビット情報と外部からビット線13−kを介して入力される情報とを比較する比較器10−j−kと、外部からビット線13−kを介して入力されるマスク情報の対応するビット情報を格納するマスク・セル9−j−kと、および論理ゲート11−j−kとを備えている。ここで、マスク・セル9−j−kに格納されたビット情報がマスク情報の有効状態の場合には、対応するデータ・セル8−j−kには、記憶データの無効状態を格納する。   Each associative memory cell 7-jk includes a data cell 8-jk for storing bit information corresponding to stored data inputted from the outside via the bit line 13-k, and a data cell 8- Comparator 10-j-k for comparing bit information stored in j-k with information inputted from outside via bit line 13-k, and inputted from outside via bit line 13-k A mask cell 9-jk for storing bit information corresponding to the mask information and a logic gate 11-jk are provided. Here, when the bit information stored in the mask cell 9-jk is the valid state of the mask information, the invalid state of the stored data is stored in the corresponding data cell 8-jk.

なお、本例では、マスク情報の有効状態を“0”、無効状態を“1”とし、記憶データの有効状態を“1”、無効状態を“0”とする。記憶データと同様に、一致データ論理和線17−1〜17−nの有効状態を“1”、無効状態を“0”とする。一致線5−1〜5−mの有効状態を“1”、無効状態を“0”とする。   In this example, the valid state of the mask information is “0”, the invalid state is “1”, the valid state of the stored data is “1”, and the invalid state is “0”. Like the stored data, the valid state of the coincidence data logical sum lines 17-1 to 17-n is set to “1”, and the invalid state is set to “0”. The valid state of the match lines 5-1 to 5-m is “1”, and the invalid state is “0”.

データ・ワード線3−1〜3−mと、データ・セル8−1−1〜8−m−nの動作は、従来の連想メモリのデータ・ワード線106−1〜106−mと、データ・セル108−1−1〜108−m−nの動作と同じである。また、マスク・ワード線6−1〜6−mと、マスク・セル9−1−1〜9−m−nの動作は、従来の連想メモリのマスク・ワード線111−1〜111−mと、マスク・セル112−1−1〜112−m−nの動作と同じである。   The operation of the data word lines 3-1 to 3-m and the data cells 8-1-1-1 to 8-mn is performed in accordance with the data word lines 106-1 to 106-m of the conventional associative memory and the data. The operation is the same as that of the cells 108-1-1-1 to 108-mn. The operations of the mask word lines 6-1 to 6-m and the mask cells 9-1-1 to 9-mn are the same as those of the mask word lines 111-1 to 111-m of the conventional associative memory. The operation of the mask cells 112-1-1-1 to 112-mn is the same.

一致線5は、検索動作の開始前には、ハイ・レベルにプリ・チャージされ、有効状態“1”になっているものとする。   The match line 5 is precharged to a high level before the search operation is started, and is in a valid state “1”.

比較器10は、対応するビット線13と、それに同一の連想メモリ・セル7−1−1〜7−m−nの中のデータ・セル8に格納されている記憶データと、マスク・セル9に格納されているマスク情報と、および比較制御信号4を入力とする。比較器10は、比較制御信号4が無効状態“0”かつマスク情報が有効状態ならば、対応する一致線5を解放状態にし、それ以外の場合には、ビット線13の値と記憶データが一致するならば対応する一致線5を開放状態にし、一致しないならば無効状態“0”を出力する。連想メモリ・ワード2の中のn個の比較器10がすべて一致線5を開放状態にしているときに、一致線5は有効状態“1”となり、それ以外の場合には無効状態“0”となる、一致線5の有効状態“1”を真としたワイアードAND論理接続を構成している。つまり、検索動作時には、比較制御信号4が無効状態“0”かつマスク情報が有効状態“0”のために比較対象から除外されたビットを除いて、連想メモリ・ワード2が格納している記憶データとビット線13−1〜13−nが完全に一致する場合に限り、一致線5は有効状態“1”となり、それ以外の場合は無効状態“0”となる。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。   The comparator 10 includes the corresponding bit line 13, the stored data stored in the data cell 8 in the same associative memory cells 7-1-1 to 7 -mn, and the mask cell 9. And the comparison control signal 4 are input. When the comparison control signal 4 is in the invalid state “0” and the mask information is in the valid state, the comparator 10 releases the corresponding match line 5. Otherwise, the value of the bit line 13 and the stored data are stored. If they match, the corresponding match line 5 is opened, and if they do not match, the invalid state “0” is output. When all n comparators 10 in the associative memory word 2 have the match line 5 open, the match line 5 is in the valid state “1”; otherwise, it is in the invalid state “0”. Thus, a wired AND logical connection in which the valid state “1” of the match line 5 is true is configured. In other words, during the search operation, the memory stored in the associative memory word 2 except for the bits excluded from the comparison target because the comparison control signal 4 is in the invalid state “0” and the mask information is in the valid state “0”. Only when the data and the bit lines 13-1 to 13-n completely coincide with each other, the coincidence line 5 is in the valid state “1”, otherwise, it is in the invalid state “0”. Of course, a normal logic gate may be used for the same operation.

論理ゲート11−1−1〜11−m−nは、同一の連想メモリ・ワード2−1〜2−mの中の一致線5−1〜5−mが有効状態“1”かつ、同一の連想メモリ・セル7−1−1〜7−m−nの中のデータ・セル8−1−1〜8−m−nに格納された記憶データが有効状態のときに、対応する一致データ中間論理線14−1〜14−nに“0”を出力し、それ以外の場合には開放状態にする。ここで本例では記憶データの有効状態が“1”であるので、データ・セル8−1−1〜8−m−nに格納された記憶データが“1”かつ一致線5−1〜5−mが“1”のときに、対応する一致データ中間論理線14−1〜14−nに“0”を出力し、それ以外の場合には解放状態を出力する。   The logic gates 11-1-1-1 to 11-mn have matching lines 5-1 to 5-m in the same associative memory words 2-1 to 2-m being in the valid state “1” and the same When the stored data stored in the data cells 8-1-1 to 8 -mn in the associative memory cells 7-1-1 to 7 -mn are valid, the corresponding match data intermediate “0” is output to the logic lines 14-1 to 14-n, and in other cases, the logic lines 14-1 to 14-n are opened. In this example, since the valid state of the stored data is “1”, the stored data stored in the data cells 8-1-1 to 8 -mn is “1” and the match lines 5-1 to 5-5. When -m is "1", "0" is output to the corresponding coincidence data intermediate logic lines 14-1 to 14-n, and the release state is output otherwise.

各一致データ中間論理線14−1〜14−nは、抵抗15−1〜15−nによりプル・アップされており、対応するm個の論理ゲート11−1−1〜11−m−nとワイアード論理接続を構成している。従って、接続されているm個の論理ゲート11がすべて一致データ中間論理線14を開放状態にしているときに、一致データ中間論理線14は“1”となり、それ以外の場合には“0”となる。つまり“1”を真としたワイアードAND接続となっている。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。   Each of the coincidence data intermediate logic lines 14-1 to 14-n is pulled up by resistors 15-1 to 15-n, and the corresponding m logic gates 11-1-1-1 to 11-mn Configure a wired logical connection. Therefore, when all of the m logic gates 11 connected to open the coincidence data intermediate logic line 14, the coincidence data intermediate logic line 14 becomes “1”, otherwise, “0”. It becomes. That is, the wired AND connection is true with “1” being true. Of course, a normal logic gate may be used for the same operation.

論理ゲート16−1〜16−nは、対応する一致データ中間論理線14−1〜14−nの論理状態を反転し、一致データ論理和線17−1〜17−nとして出力する。   The logic gates 16-1 to 16-n invert the logic states of the corresponding coincidence data intermediate logic lines 14-1 to 14-n and output them as coincidence data logical sum lines 17-1 to 17-n.

従って、一致データ論理和線17−kには、m個の論理ゲート11―1−k〜11−m−kと一致データ中間論理線14―k、抵抗15−k、および論理ゲート16−kにより、検索動作時に有効状態“1”となっている一致線5―1〜5−mを有するすべての連想メモリ・セル7―1−k〜7−m−kの中のデータ・セル8−1−k〜8−m−kに格納されている記憶データ同士を、記憶データの有効状態を真とした論理和演算した結果が得られることになる。本例では、記憶データの有効状態“1”を真とした論理和演算した結果が得られる。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。これらの動作により、一致データ論理和線17−1〜17−nには、検索動作時に検索データ12と一致した記憶データの中で、最も無効状態“0”のビット数が少ない記憶データと同じ値が出力されることになる。nビット・ラッチ21は、ラッチ制御信号22が有効状態の時に、一致データ論理和線17−1〜17−nの状態を内部に格納する。また、格納した状態をラッチ出力線20−1〜20−nに出力する。   Therefore, the coincidence data OR line 17-k includes m logic gates 11-1-k to 11-mk, coincidence data intermediate logic line 14-k, resistor 15-k, and logic gate 16-k. Thus, the data cell 8- in all the associative memory cells 7-1-k-7-m-k having the matching lines 5-1 to 5-m which are in the valid state "1" during the search operation. As a result, a result of logical OR operation between the stored data stored in 1-k to 8-m-k with the effective state of the stored data being true is obtained. In this example, a logical sum operation result with the valid state “1” of the stored data being true is obtained. Of course, a normal logic gate may be used for the same operation. By these operations, the coincidence data logical sum lines 17-1 to 17-n are the same as the storage data having the smallest number of bits in the invalid state “0” among the storage data matching the search data 12 during the search operation. A value will be output. The n-bit latch 21 stores the states of the coincidence data OR lines 17-1 to 17-n when the latch control signal 22 is valid. The stored state is output to the latch output lines 20-1 to 20-n.

nビット2入力1出力セレクタ23は、ビット線13−1〜13−nに出力するデータを、選択信号24の状態により、検索データ12−1〜12−nとラッチ出力線20−1〜20−nの一方から選択する。   The n-bit 2-input 1-output selector 23 selects the data to be output to the bit lines 13-1 to 13-n according to the state of the selection signal 24 and the search data 12-1 to 12-n and the latch output lines 20-1 to 20--20. Select from one of -n.

制御回路30は、連想メモリ1の動作を制御するため、クロック信号31に同期して、ラッチ制御信号22、選択信号24、および比較制御信号4を出力する。   The control circuit 30 outputs a latch control signal 22, a selection signal 24, and a comparison control signal 4 in synchronization with the clock signal 31 in order to control the operation of the associative memory 1.

[第一の実施例の構成詳細]
次に、上述の連想メモリ・セル7の構成例を図2を用いて説明する。図16に示す従来の連想メモリ・セル118と比較すれば分かるように、本発明の連想メモリ・セル7の、ビット線13a、13b、データ・ワード線3、データ・セル8、マスク・ワード線6、およびマスク・セル9は、従来の連想メモリ・セル118と同様である。
[Configuration details of the first embodiment]
Next, a configuration example of the content addressable memory cell 7 will be described with reference to FIG. As can be seen from comparison with the conventional associative memory cell 118 shown in FIG. 16, the bit lines 13a and 13b, the data word line 3, the data cell 8, and the mask word line of the associative memory cell 7 of the present invention. 6 and mask cell 9 are similar to conventional associative memory cell 118.

従って従来と異なる部分のみの説明を行う。なお、従来の連想メモリ・セル118が有していたマスク比較器120およびマスク一致線119は、本発明の連想メモリ・セルでは不要である。   Therefore, only the parts different from the conventional one will be described. It should be noted that the mask comparator 120 and the mask match line 119 that the conventional associative memory cell 118 has are not necessary in the associative memory cell of the present invention.

比較器10はMOSトランジスタ(T3)205、MOSトランジスタ(T4)206、MOSトランジスタ(T5)207、MOSトランジスタ(T6)208、およびMOSトランジスタ(T7)209により構成される。MOSトランジスタ(T3)205とMOSトランジスタ(T4)206はビット線13a,13bの間に直列に挿入される。MOSトランジスタ(T3)205は、データ・セル8内の反転論理ゲート(G1)201の出力がハイ・レベルのときに導通状態となる。MOSトランジスタ(T4)206は、データ・セル8内の反転論理ゲート(G2)202の出力がハイ・レベルのときに導通状態となる。MOSトランジスタ(T6)208とMOSトランジスタ(T7)209は並列接続され、この並列接続された2つのMOSトランジスタは、MOSトランジスタ(T5)207とともに、一致線5と低電位の間に直列に挿入される。MOSトランジスタ(T6)208は、マスク・セル9内の反転論理ゲート(G4)211の出力がハイ・レベルの時に導通状態となる。MOSトランジスタ(T7)209は、比較制御信号4が有効状態“1”の時に導通状態となる。   The comparator 10 includes a MOS transistor (T3) 205, a MOS transistor (T4) 206, a MOS transistor (T5) 207, a MOS transistor (T6) 208, and a MOS transistor (T7) 209. The MOS transistor (T3) 205 and the MOS transistor (T4) 206 are inserted in series between the bit lines 13a and 13b. The MOS transistor (T3) 205 becomes conductive when the output of the inverting logic gate (G1) 201 in the data cell 8 is at a high level. The MOS transistor (T4) 206 becomes conductive when the output of the inverting logic gate (G2) 202 in the data cell 8 is at a high level. The MOS transistor (T6) 208 and the MOS transistor (T7) 209 are connected in parallel, and the two MOS transistors connected in parallel are inserted in series between the match line 5 and the low potential together with the MOS transistor (T5) 207. The The MOS transistor (T6) 208 becomes conductive when the output of the inverting logic gate (G4) 211 in the mask cell 9 is at a high level. The MOS transistor (T7) 209 becomes conductive when the comparison control signal 4 is in the valid state “1”.

MOSトランジスタ(T5)207は、MOSトランジスタ(T3)205とMOSトランジスタ(T4)206の接続点の電位がハイ・レベルの時に導通状態となる。ビット線13aと反転論理ゲート(G1)201の出力がともにハイ・レベル、またはビット線13bと反転論理ゲート(G2)202の出力がともにハイ・レベルのときに、MOSトランジスタ(T3)205とMOSトランジスタ(T4)206の接続点はハイ・レベルとなり、MOSトランジスタ(T5)207を導通状態とする。   The MOS transistor (T5) 207 becomes conductive when the potential at the connection point between the MOS transistor (T3) 205 and the MOS transistor (T4) 206 is high. When both the output of the bit line 13a and the inverted logic gate (G1) 201 are high level, or both the output of the bit line 13b and the inverted logic gate (G2) 202 are high level, the MOS transistor (T3) 205 and the MOS The connection point of the transistor (T4) 206 becomes high level, and the MOS transistor (T5) 207 is turned on.

従って、データ・セル8に格納されている記憶データと、ビット線13a,13b上の検索データ12が異なる場合にMOSトランジスタ(T5)207は導通状態になる。またMOSトランジスタ(T6)208はマスク・セル9内に格納されているマスク情報が“0”のときには開放状態であり、“1”のときに導通状態となる。一致線5は検索動作を開始する前に高電位にプリ・チャージされているものとする。これにより、複数の連想メモリ・セル7が一致線5にMOSトランジスタ(T6)208、およびMOSトランジスタ(T7)209を介して接続されているとき、1つの連想メモリ・セル7でもロウ・レベルを出力していると一致線5はロウ・レベルとなるようなワイアードAND接続となる。   Therefore, when the stored data stored in the data cell 8 and the search data 12 on the bit lines 13a and 13b are different, the MOS transistor (T5) 207 becomes conductive. The MOS transistor (T6) 208 is open when the mask information stored in the mask cell 9 is "0", and is conductive when "1". It is assumed that the match line 5 is precharged to a high potential before the search operation is started. Thus, when a plurality of associative memory cells 7 are connected to the match line 5 via the MOS transistor (T6) 208 and the MOS transistor (T7) 209, even one associative memory cell 7 is set to the low level. When output, the coincidence line 5 is in a wired AND connection so that it is at a low level.

MOSトランジスタ(T5)207が導通状態のときに、並列接続されたMOSトランジスタ(T6)208、MOSトランジスタ(T7)209のどちらか1つでも導通状態の場合に連想メモリ・セル7は一致線5に無効状態“0”を出力し、それ以外の時には一致線5を開放状態とする。すなわち、マスク情報が有効状態“0”かつ比較制御信号4が無効状態“0”の場合には検索データ12と記憶データの比較結果によらず一致線5を開放状態とし、それ以外の場合にはビット線13a,13b上の検索データ12とデータ・セル8に格納されている記憶データが一致するときに開放状態とし、異なる場合には無効状態“0”を出力する。   When the MOS transistor (T5) 207 is conductive, the associative memory cell 7 is matched line 5 when any one of the MOS transistor (T6) 208 and the MOS transistor (T7) 209 connected in parallel is conductive. The invalid state “0” is output to the other, and the match line 5 is opened in other cases. That is, when the mask information is in the valid state “0” and the comparison control signal 4 is in the invalid state “0”, the match line 5 is opened regardless of the comparison result between the search data 12 and the stored data. Is opened when the search data 12 on the bit lines 13a and 13b and the stored data stored in the data cell 8 coincide with each other, and an invalid state "0" is output when they are different.

次に、論理ゲート11と一致データ中間論理線14の働きを説明する。一致データ中間論理線14は図1の抵抗15によりプル・アップされ検索動作前には“1”になっている。論理ゲート11は、一致データ中間論理線14と低電位との間に直列に挿入されたMOSトランジスタ(T10)214と、MOSトランジスタ(T11)215で構成されている。MOSトランジスタ(T10)214は、一致線5が有効状態“1”のときに導通状態となり、無効状態“0”のときには開放状態となる。MOSトランジスタ(T11)215は、データ・セル8内部の反転論理ゲート(G2)202の出力がハイ・レベルの場合に導通状態となり、ロウ・レベルの場合には開放状態となる。つまり、データ・セル8に格納されている記憶データが有効状態“1”のときに導通状態となり、無効状態“0”のときには開放状態となる。これにより論理ゲート11は、一致線5が有効状態“1”かつデータ・セル8に格納された記憶データが有効状態“1”のときに、一致データ中間論理線14に“0”を出力し、それ以外の場合には開放状態にする。   Next, functions of the logic gate 11 and the coincidence data intermediate logic line 14 will be described. The coincidence data intermediate logic line 14 is pulled up by the resistor 15 in FIG. 1 and is set to “1” before the search operation. The logic gate 11 includes a MOS transistor (T10) 214 and a MOS transistor (T11) 215 inserted in series between the coincidence data intermediate logic line 14 and a low potential. The MOS transistor (T10) 214 becomes conductive when the match line 5 is in the valid state “1”, and becomes open when the coincidence state is “0”. The MOS transistor (T11) 215 becomes conductive when the output of the inverting logic gate (G2) 202 inside the data cell 8 is high level, and becomes open when it is low level. That is, when the stored data stored in the data cell 8 is in the valid state “1”, the conductive state is established, and when the stored data is in the invalid state “0”, the open state is established. Thereby, the logic gate 11 outputs “0” to the coincidence data intermediate logic line 14 when the coincidence line 5 is in the valid state “1” and the stored data stored in the data cell 8 is in the valid state “1”. In other cases, it is opened.

[第一の実施例の動作]
次に、上述の連想メモリ1を、図19のルータ400−3における転送先ネットワーク・アドレスの計算に用いた場合の動作を、図3を用いて説明する。そのときのタイミングチャートを図4に示す。
連想メモリ1を8ビット5語の構成と仮定し、各連想メモリ・ワード2−1〜2−5に格納されている記憶データ、マスク情報には、図19のルータ400−3のネットワーク・アドレス(3.*.*.*)以外の接続情報を記憶しているものとする。このとき、接続情報の中のドント・ケア“*”状態のビットは、記憶データの該当ビットを記憶データの無効状態“0”、マスク情報の該当ビットをマスク・データの有効状態“0”とすることで表現される。
[Operation of the first embodiment]
Next, the operation when the above-mentioned associative memory 1 is used for the calculation of the transfer destination network address in the router 400-3 in FIG. 19 will be described with reference to FIG. A timing chart at that time is shown in FIG.
Assuming that the associative memory 1 has an 8-bit 5-word configuration, the stored data and mask information stored in each associative memory word 2-1 to 2-5 include the network address of the router 400-3 in FIG. It is assumed that connection information other than (3. *. *. *) Is stored. At this time, the bit of the don't care “*” state in the connection information indicates that the corresponding bit of the stored data is the invalid state “0” of the stored data, and the corresponding bit of the mask information is the valid state “0” of the mask data. It is expressed by doing.

つまり、連想メモリ・ワード2−1には(1.*.*.*)を実現するため2進数で、記憶データには(01.00.00.00)を、マスク情報として(11.00.00.00)を格納してある。同様に連想メモリ・ワード2−2には(2.*.*.*)を実現するため2進数で、記憶データには(10.00.00.00)を、マスク情報として(11.00.00.00)を格納してある。連想メモリ・ワード2−3には(1.2.2.*)を実現するため2進数で、記憶データには(01.10.10.00)を、マスク情報として(11.11.11.00)を格納してある。連想メモリ・ワード2−4には(1.2.*.*)を実現するため2進数で、記憶データには(01.10.00.00)を、マスク情報として(11.11.00.00)を格納してある。連想メモリ・ワード2−5には(2.1.1.*)を実現するため2進数で、記憶データには(10.01.01.00)を、マスク情報として(11.11.11.00)を格納してある。   That is, the associative memory word 2-1 is a binary number for realizing (1. *. *. *), And (01.00.00.00) is used as mask information (11.00 for the stored data). 0.00.00) is stored. Similarly, the associative memory word 2-2 is a binary number to realize (2. *. *. *), (10.00.00.00) is stored as mask information (11.00) 0.00.00) is stored. The associative memory word 2-3 has a binary number to realize (1.2.2. *), And (01.10.10.00) is stored as mask information (11.11.11). .00) are stored. The associative memory word 2-4 is a binary number to realize (1.2. *. *), The stored data is (01.10.00.00) as mask information (11.1.00) .00) are stored. The associative memory word 2-5 has a binary number to realize (2.1.1. *), And (10.01.01.00) is stored as mask information (11.11.11). .00) are stored.

以降、検索データ12として図19のPC401−1の4進数のネットワーク・アドレス(1.2.2.1)を入力し検索動作を行った場合の動作説明をする。   Hereinafter, the operation when the search operation is performed by inputting the quaternary network address (1.2.2.1) of the PC 401-1 in FIG. 19 as the search data 12 will be described.

まず、図4のタイミング(1)で、すべての一致線5−1〜5−5は、ハイ・レベルにプリ・チャージされ、有効状態“1”になっている。
次に図4のタイミング(2)で、制御回路30が出力する選択信号24により、nビット2入力1出力セレクタ23は検索データ12を選択し、ビット線13−1〜13−8に出力する。また、制御回路30は比較制御信号4に無効状態“0”を出力し、各連想メモリ・セル7−1−1〜7−m−nにおいて、その中の記憶データと検索データ12の対応ビットの比較結果によらずに、その中のマスク情報が有効状態“0”の場合には対応する一致線5を解放状態とすることを許可する。つまりドント・ケア“*”も考慮して比較する。これにより、連想メモリ1の連想メモリ・ワード2−1に格納されている4進表現の(1.*.*.*)と、連想メモリ・ワード2−3に格納されている4進表現の(1.2.2.*)と、連想メモリ・ワード2−4に格納されている4進表現の(1.2.*.*)がビット線13−1〜13−8上の検索データ12と一致する。従って、一致線5−1、5−3および5−4の3本が有効状態“1”となり、残りの一致線5−2、5−5は無効状態“0”となる。
First, at the timing (1) in FIG. 4, all the coincidence lines 5-1 to 5-5 are precharged to the high level and are in the valid state “1”.
Next, at timing (2) in FIG. 4, the n-bit 2-input 1-output selector 23 selects the search data 12 according to the selection signal 24 output from the control circuit 30, and outputs it to the bit lines 13-1 to 13-8. . Further, the control circuit 30 outputs an invalid state “0” to the comparison control signal 4, and in each associative memory cell 7-1-1 to 7 -mn, the corresponding bit of the stored data and the search data 12 is stored. Regardless of the comparison result, if the mask information therein is in the valid state “0”, the corresponding match line 5 is permitted to be released. In other words, don't care "*" is also taken into consideration for comparison. As a result, (1. *. *. *) Of the quaternary representation stored in the associative memory word 2-1 of the associative memory 1 and the quaternary representation stored in the associative memory word 2-3. (1.2.2. *) And (1.2. *. *) Of the quaternary representation stored in the associative memory word 2-4 are the search data on the bit lines 13-1 to 13-8. Matches 12. Accordingly, three match lines 5-1, 5-3 and 5-4 are in the valid state "1", and the remaining match lines 5-2 and 5-5 are in the invalid state "0".

ここで、一致データ論理和線17−1からは、連想メモリ・ワード2−1内の一致データ中間論理線14−1に対応する記憶データ“0”と、連想メモリ・ワード2−3内の一致データ中間論理線14−1に対応する記憶データ“0”と、連想メモリ・ワード2−4内の一致データ中間論理線14−1に対応する記憶データ“0”に対しての“1”を真とした論理和結果“0”が出力される。一致データ論理和線17−2からは、連想メモリ・ワード2−1内の一致データ中間論理線14−2に対応する記憶データ“1”と、連想メモリ・ワード2−3内の一致データ中間論理線14−2に対応する記憶データ“1”と、連想メモリ・ワード2−4内の一致データ中間論理線14−2に対応する記憶データ“1” に対しての“1”を真とした論理和結果“1”が出力される。以降同様に、一致データ論理和線17−3からは“0”と“1”と“1” に対しての“1”を真とした論理和結果“1”が、一致データ論理和線17−4からは“0”と“0”と“0” に対しての“1”を真とした論理和結果“0”が、一致データ論理和線17−5からは“0”と“1”と“0” に対しての“1”を真とした論理和結果“1”が、一致データ論理和線17−6からは“0”と“0”と“0” に対しての“1”を真とした論理和結果“0”が、一致データ論理和線17−7からは“0”と“0”と“0” に対しての“1”を真とした論理和結果“0”が、一致データ論理和線17−8からは“0”と“0”と“0” に対しての“1”を真とした論理和結果“0”が、それぞれ出力される。従って、一致データ論理和線17−1〜17−8には、2進表現で“01101000”が出力されることになる。   Here, from the coincidence data OR line 17-1, the storage data “0” corresponding to the coincidence data intermediate logical line 14-1 in the associative memory word 2-1 and the associative memory word 2-3 “1” for storage data “0” corresponding to match data intermediate logic line 14-1 and storage data “0” corresponding to match data intermediate logic line 14-1 in associative memory word 2-4. The logical sum result “0” is set to be true. From the coincidence data OR line 17-2, the stored data “1” corresponding to the coincidence data intermediate logical line 14-2 in the associative memory word 2-1 and the coincidence data intermediate in the associative memory word 2-3 “1” for storage data “1” corresponding to logical line 14-2 and storage data “1” corresponding to coincidence data intermediate logical line 14-2 in associative memory word 2-4 is true. The logical sum result “1” is output. Similarly, from the coincidence data logical sum line 17-3, a logical sum result "1" with "1" for "0", "1", and "1" being true is obtained as a coincidence data logical sum line 17 From -4, the logical sum result “0” with “1” for “0”, “0” and “0” being true, and “0” and “1” from the coincidence data logical sum line 17-5. "1" with respect to "0" and "0" is true, and "1" with respect to "0", "0" and "0" from the coincidence data OR line 17-6. The logical sum result “0” in which “1” is true is obtained from the coincidence data logical sum line 17-7, and the logical sum result “1” in relation to “0”, “0” and “0” is true. “0” is output from the coincidence data logical sum line 17-8, and the logical sum result “0” with “1” for “0”, “0”, and “0” being true is output. Accordingly, “01101000” is output in binary representation to the coincidence data logical sum lines 17-1 to 17-8.

この状態で、制御回路30が出力するラッチ制御信号22が有効状態になり、nビット・ラッチ21は一致データ論理和線17−1〜17−8の状態を内部に格納する。従って、nビット・ラッチ21は2進表現で“01101000”を格納し、その値をラッチ出力線20−1〜20−8に出力する。   In this state, the latch control signal 22 output from the control circuit 30 becomes valid, and the n-bit latch 21 stores the states of the coincidence data logical sum lines 17-1 to 17-8 therein. Therefore, the n-bit latch 21 stores “01101000” in binary representation and outputs the value to the latch output lines 20-1 to 20-8.

図4のタイミング(3)は、本例では、タイミング(2)とタイミング(4)双方のクロック信号31の状態を同一にするために挿入されており、連想メモリ1は、タイミング(2)の最終状態を保持し続ける。タイミング(2)とタイミング(4)双方のクロック信号31の状態を同一でなくても制御回路30が動作する場合には、タイミング(3)を挿入する必要ない。   In this example, the timing (3) in FIG. 4 is inserted so that the states of the clock signals 31 at both the timing (2) and the timing (4) are the same. Keep the final state. When the control circuit 30 operates even if the timing signals (2) and (4) are not in the same state, the timing (3) need not be inserted.

次に図4のタイミング(4)で、制御回路30が出力する選択信号24により、nビット2入力1出力セレクタ23はラッチ出力線20を選択し、その情報“01101000”を対応するビット線13−1〜13−8に出力した後、連想メモリ1は2回目の検索動作を開始する。2回目の検索動作では、一致線5−1〜5−5に保持されている、タイミング(2)で実行した1回目の検索動作の結果を利用する。本例では、一致線5−1、5−3および5−4の3本が有効状態“1”を保持しており、データ一致線5−2、5−5は無効状態“0”を保持している。1回目の検索動作の結果を記憶手段に格納し、タイミング(4)での検索時にその格納状態を利用してもよいことは、言うまでもない。また、制御回路30は比較制御信号4に有効状態“1”を出力する。これにより、各連想メモリ・セル7−1−1〜7−m−nは、その中のマスク情報によらず、その中の記憶データと対応するビット線13の比較結果が不一致の場合には、一致線5に無効状態“0”を出力する。つまりドント・ケア“*”を考慮せず、各連想メモリ・ワード2−1〜2−5に格納されている記憶データ自体とビット線13―1〜13−8の状態“01101000”とを比較し、不一致の場合には対応する一致線5−1〜5−5に無効状態“0”を出力することになる。   Next, at timing (4) in FIG. 4, the n-bit 2-input 1-output selector 23 selects the latch output line 20 according to the selection signal 24 output from the control circuit 30, and the bit line 13 corresponding to the information “01101000” is selected. After outputting to -1 to 13-8, the associative memory 1 starts the second search operation. In the second search operation, the result of the first search operation executed at the timing (2) held in the match lines 5-1 to 5-5 is used. In this example, three of the match lines 5-1, 5-3 and 5-4 hold the valid state “1”, and the data match lines 5-2 and 5-5 hold the invalid state “0”. is doing. It goes without saying that the result of the first search operation may be stored in the storage means, and the storage state may be used when searching at the timing (4). Further, the control circuit 30 outputs a valid state “1” to the comparison control signal 4. As a result, each of the associative memory cells 7-1-1 to 7 -mn is in the case where the comparison result between the stored data and the corresponding bit line 13 does not match regardless of the mask information therein. The invalid state “0” is output to the match line 5. That is, don't care “*” is not taken into consideration, and the stored data stored in each associative memory word 2-1 to 2-5 is compared with the state “01101000” of the bit lines 13-1 to 13-8. If they do not match, the invalid state “0” is output to the corresponding match lines 5-1 to 5-5.

本例では、ビット線13−1〜13−8の状態“01101000”に対して、連想メモリ・ワード2−3が格納する記憶データが完全に一致し、対応する一致線5−3を開放状態にする。他の連想メモリ・ワード2−1,2−2、2−4、および2−5が格納する記憶データは一致しないので、対応する一致線5−1,5−2、5−4、および5−5に無効状態“0”を出力する。従って、2回目の検索動作開始前に有効状態“1”を保持していた一致線5−1,5−3,5−4の3本の中で、2回目の検索動作後も有効状態“1”を保持し続けるのは、一致線5−3のみとなる。   In this example, the stored data stored in the associative memory word 2-3 completely match the state “01101000” of the bit lines 13-1 to 13-8, and the corresponding match line 5-3 is opened. To. Since the stored data stored in the other associative memory words 2-1, 2-2, 2-4, and 2-5 do not match, the corresponding match lines 5-1, 5-2, 5-4, and 5 The invalid state “0” is output to −5. Accordingly, among the three match lines 5-1, 5-3, and 5-4 that have been in the valid state “1” before the second search operation starts, the valid state after the second search operation “ Only the match line 5-3 keeps holding 1 ″.

従って、入力した検索データ12と、対応するマスク情報を考慮して比較した結果一致する記憶データの中で、マスク情報の有効状態のビットが最も少ない記憶データに対応する一致線5−3のみに有効状態を出力することがわかる。   Accordingly, only the match line 5-3 corresponding to the stored data having the least number of valid bits of the mask information among the stored data that matches the input search data 12 and the corresponding mask information in consideration of the corresponding mask information. It can be seen that the valid state is output.

上述のように、本発明の第一の実施例の連想メモリ1は、1回目の検索動作、2回目の検索動作ともに、比較器10−1−1〜10−m−nで実行し、結果を一致線5−1〜5−mに出力する。従って図2に示すように連想メモリ・セル7は、図16に示す連想メモリ・セル118と比較して、マスク・比較器が削除することができる。ここで、従って、比較器10,および論理ゲート11を構成するMOSトランジスタの面積を、最小面積のMOSトランジスタの10倍、一般的なスタティックRAM素子の面積は最小面積のMOSトランジスタの6倍と仮定すると、図2から容易に分かるように連想メモリ・セル7の面積は、最小面積のMOSトランジスタの82倍となる。従来の連想メモリ・セル118の面積は前述のように最小面積のMOSトランジスタの102倍であったから、本発明の連想メモリ・セル7は、従来の連想メモリ・セル118に比べて20%程度面積を削減できることになる。   As described above, the associative memory 1 according to the first embodiment of the present invention executes the first search operation and the second search operation with the comparators 10-1-1 to 10-mn, and the result. Are output to match lines 5-1 to 5-m. Therefore, as shown in FIG. 2, the content addressable memory cell 7 can be deleted by the mask comparator as compared with the content addressable memory cell 118 shown in FIG. Here, therefore, it is assumed that the area of the MOS transistor constituting the comparator 10 and the logic gate 11 is 10 times that of the MOS transistor having the smallest area, and that the area of the general static RAM element is 6 times that of the MOS transistor having the smallest area. Then, as can be easily understood from FIG. 2, the area of the associative memory cell 7 is 82 times that of the MOS transistor having the minimum area. Since the area of the conventional associative memory cell 118 is 102 times that of the MOS transistor having the smallest area as described above, the associative memory cell 7 of the present invention has an area of about 20% as compared with the conventional associative memory cell 118. Can be reduced.

また、1回目の検索動作の結果も、2回目の検索動作の結果も同一の一致線5−1〜5−mに出力されるため、従来の連想メモリ116で必要であった1回目の検索動作の結果を2回目の検索動作を実行するまで保持するためのラッチ123−1〜123−mが不要である。従って、従来の連想メモリ116に比べて、さらに面積削減が可能である。例えば、1語64ビットで32768語の構成の場合、ラッチ123が10個のMOSトランジスタから構成されていると仮定すると、およそ33万個のMOSトランジスタ分の面積が削減できることになる。従って、上記の連想メモリ・セルの面積削減分と合わせると、チップ全体で25%程度の面積削減が可能となる。   Further, since the result of the first search operation and the result of the second search operation are output to the same match lines 5-1 to 5-m, the first search required in the conventional associative memory 116 is performed. Latches 123-1 to 123-m for holding the operation result until the second search operation is executed are unnecessary. Therefore, the area can be further reduced as compared with the conventional associative memory 116. For example, in the case of a configuration of 32768 words with 64 bits per word, assuming that the latch 123 is composed of 10 MOS transistors, the area of about 330,000 MOS transistors can be reduced. Therefore, when combined with the area reduction of the associative memory cell described above, the area can be reduced by about 25% in the entire chip.

また、1回目の検索動作の結果も、2回目の検索動作の結果も同一の一致線5−1〜5−mに出力されるため、検索動作のごとのプリ・チャージもm本の一致線5−1〜5−mとn本の一致データ中間論理線14−1〜14−nのみでよい。つまり検索動作のたび(m+n)本プリ・チャージすればよい。従来の連想メモリ116では、前述のとおり、m本のデータ一致線107−1〜107−m、m本のマスク一致線119−1〜119−m、およびn本の最短マスク線122−1〜122−nのプリ・チャージが必要であり、従って、検索動作のたびに(2m+n)本プリ・チャージすることになる。ここで1語64ビットで32768語の構成の場合、チップ全体でプリ・チャージする配線の本数は、従来の連想メモリ116では65600本、本発明の連想メモリ1では32832本となり、従って、従来の連想メモリ116と比較して消費電力が50%程度削減できることになる。   In addition, since the result of the first search operation and the result of the second search operation are output to the same match lines 5-1 to 5-m, m pre-charges for each search operation are also performed. Only 5-1 to 5-m and n matching data intermediate logic lines 14-1 to 14-n are sufficient. That is, (m + n) pre-charges may be performed each time a search operation is performed. In the conventional associative memory 116, as described above, the m data matching lines 107-1 to 107-m, the m mask matching lines 119-1 to 119-m, and the n shortest mask lines 122-1 to 122-1 are used. 122-n is required to be precharged, and therefore (2m + n) precharges are required for each search operation. Here, in the case of 32768 words with 64 bits per word, the number of wirings to be pre-charged in the entire chip is 65600 in the conventional associative memory 116 and 32832 in the associative memory 1 of the present invention. Compared with the associative memory 116, power consumption can be reduced by about 50%.

また、連想メモリ・セル7の面積削減に伴い、ビット線13−1〜13−n、一致データ中間論理線14−1〜14−nの配線長も短縮される。連想メモリ・セル7を構成するMOSトランジスタの大きさが前述の例のとおりだとすると、図2から容易に分かるように、従来の連想メモリ・セル118に比べて25%程度配線長が短縮されることになる。配線容量がその分減少するので、クロック信号31の周波数を32%程度高くすることができるという効果もある。   As the area of the associative memory cell 7 is reduced, the wiring lengths of the bit lines 13-1 to 13-n and the coincidence data intermediate logic lines 14-1 to 14-n are also shortened. Assuming that the size of the MOS transistors constituting the associative memory cell 7 is as in the above example, the wiring length is reduced by about 25% compared with the conventional associative memory cell 118, as can be easily seen from FIG. become. Since the wiring capacity is reduced accordingly, there is an effect that the frequency of the clock signal 31 can be increased by about 32%.

[第二の実施例の構成]
次に、本発明の第二の実施の形態について図5および図6を参照して詳細に説明する。本例の連想メモリ28は、第一の実施の形態の連想メモリ1と比較すると、記憶データの有効状態を“0”、無効状態を“1”としていることと、論理ゲート16−1〜16−nが論理ゲート27−1〜27−nに変更されていることと、および連想メモリ・ワード2−1〜2−mの中の連想メモリ・セル7−1−1〜7−m−nが連想メモリ・セル26−1−1〜26−m−nに変更されていることのみが異なり、他の部分は同様に構成される。連想メモリ・セル26−1−1〜26−m−nは、第一の実施の形態の連想メモリ・セル7−1−1〜7−m−nと比較すると、論理ゲート11−1−1〜11−m−nが論理ゲート25−1−1〜25−m−nに変更されていることのみが異なり、他の部分は同様に構成される。従って、第一の実施例と異なる点についてのみ説明を行う。なお、第一の実施例と同様に、マスク・セル9−j−kに格納されたビット情報がマスク情報の有効状態の場合には、対応するデータ・セル8−j−kには、記憶データの無効状態を格納する。
[Configuration of the second embodiment]
Next, a second embodiment of the present invention will be described in detail with reference to FIGS. Compared with the associative memory 1 of the first embodiment, the associative memory 28 of this example has the stored data in the valid state “0” and the invalid state “1”, and the logic gates 16-1 to 16-16. -N has been changed to logic gates 27-1 to 27-n, and associative memory cells 7-1-1 to 7-mn in associative memory words 2-1 to 2-m Are changed to associative memory cells 26-1-1-1 to 26-mn, and the other parts are configured similarly. The associative memory cells 26-1-1 to 26 -mn are different from the associative memory cells 7-1-1 to 7 -mn of the first embodiment in that they are logic gates 11-1-1. ˜11-mn is different from the logic gates 25-1-1-1 to 25-mn, and other portions are configured in the same manner. Therefore, only differences from the first embodiment will be described. As in the first embodiment, when the bit information stored in the mask cell 9-jk is in the valid state of the mask information, the corresponding data cell 8-jk stores the bit information. Stores the invalid state of data.

論理ゲート25−1−1〜25−m−nは、第一の実施の形態の論理ゲート11−1−1〜11−m−nと同様に、同一の連想メモリ・ワード2−1〜2−mの中の一致線5−1〜5−mが有効状態“1”かつ、同一の連想メモリ・セル7−1−1〜7−m−nの中のデータ・セル8−1−1〜8−m−nに格納された記憶データが有効状態のときに、対応する一致データ中間論理線14−1〜14−nに“0”を出力し、それ以外の場合には開放状態にする。ここで本例では記憶データの有効状態が“0”であるので、データ・セル8−1−1に格納された記憶データが“0”かつ一致線5−1〜5−mが“1”のときに、対応する一致データ中間論理線14−1〜14−nに“0”を出力し、それ以外の場合には解放状態を出力する。   Similarly to the logic gates 11-1-1-1 to 11-mn of the first embodiment, the logic gates 25-1-1 to 25-mn are the same associative memory words 2-1 to 2-2. Match lines 5-1 to 5-m in -m are in the valid state "1" and data cells 8-1-1 in the same associative memory cells 7-1-1 to 7-mn. When the stored data stored in .about.8-mn is in a valid state, "0" is output to the corresponding coincidence data intermediate logic lines 14-1 to 14-n, and in other cases it is opened. To do. In this example, since the valid state of the stored data is “0”, the stored data stored in the data cell 8-1-1 is “0” and the match lines 5-1 to 5-m are “1”. In this case, “0” is output to the corresponding coincidence data intermediate logic lines 14-1 to 14-n, and in other cases, the release state is output.

各一致データ中間論理線14−1〜14−nは、第一の実施の形態と同様に抵抗15−1〜15−nによりプル・アップされており、対応するm個の論理ゲート25−1−1〜25−m−nとワイアード論理接続を構成している。従って、接続されているm個の論理ゲート25がすべて一致データ中間論理線14を開放状態にしているときに、一致データ中間論理線14は“1”となり、それ以外の場合には“0”となる。つまり“1”を真としたワイアードAND接続となっている。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。   Each of the coincidence data intermediate logic lines 14-1 to 14-n is pulled up by resistors 15-1 to 15-n as in the first embodiment, and the corresponding m logic gates 25-1 are provided. -1 to 25-mn and a wired logical connection are configured. Therefore, when all of the m logic gates 25 connected to open the coincidence data intermediate logical line 14, the coincidence data intermediate logical line 14 becomes “1”, otherwise “0”. It becomes. That is, the wired AND connection is true with “1” being true. Of course, a normal logic gate may be used for the same operation.

論理ゲート27−1〜27−nは、対応する一致データ中間論理線14−1〜14−nの論理状態をそのまま一致データ論理和線17−1〜17−nとして出力する。論理ゲート27−1〜27−nは、論理的には意味はなく、ワイアードAND論理により生成された信号を整形するために挿入されている。クロック信号31による動作周波数が十分に低ければ論理ゲート27−1〜27−nは不要であることはいうまでもない。   The logic gates 27-1 to 27-n output the logical states of the corresponding match data intermediate logic lines 14-1 to 14-n as match data OR lines 17-1 to 17-n as they are. The logic gates 27-1 to 27-n are logically meaningless and are inserted to shape a signal generated by the wired AND logic. Needless to say, the logic gates 27-1 to 27-n are not required if the operating frequency of the clock signal 31 is sufficiently low.

従って、一致データ論理和線17−kには、m個の論理ゲート25―1−k〜25−m−kと一致データ中間論理線14―k、抵抗15−k、および論理ゲート27−kにより、検索動作時に有効状態“1”となっている一致線5―1〜5−mを有するすべての連想メモリ・セル26―1−k〜26−m−kの中のデータ・セル8−1−1〜8−m−kに格納されている記憶データ同士を、記憶データの有効状態を真とした論理和演算した結果が得られることになる。本例では、記憶データの有効状態“0”を真とした論理和演算した結果が得られる。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。これらの動作により、一致データ論理和線17−1〜17−nには、検索動作時に検索データ12と一致した記憶データの中で、最も無効状態“1”のビット数が少ない記憶データと同じ値が出力されることになる。   Therefore, the coincidence data OR line 17-k includes m logic gates 25-1-k to 25-mk, coincidence data intermediate logic line 14-k, resistor 15-k, and logic gate 27-k. Thus, the data cell 8- in all associative memory cells 26-1-k to 26-mk having the matching lines 5-1 to 5-m which are in the valid state "1" during the search operation. As a result, the result of logical sum operation between the storage data stored in 1-1 to 8-mk with the effective state of the storage data being true is obtained. In this example, a result of logical sum operation with the valid state “0” of the stored data as true is obtained. Of course, a normal logic gate may be used for the same operation. By these operations, the coincidence data logical sum lines 17-1 to 17-n are the same as the storage data having the smallest number of bits in the invalid state “1” among the storage data that matches the search data 12 during the search operation. A value will be output.

[第二の実施例の動作]
次に、上述の連想メモリ28を、図19のルータ400−3における転送先ネットワーク・アドレスの計算に用いた場合の動作を、図7を用いて説明する。
連想メモリ28を8ビット5語の構成と仮定し、各連想メモリ・ワード2−1〜2−5に格納されている記憶データ、マスク情報には、図19のルータ400−3のネットワーク・アドレス(3.*.*.*)以外の接続情報を記憶しているものとする。このとき、接続情報の中のドント・ケア“*”状態のビットは、記憶データの該当ビットを記憶データの無効状態“1”、マスク情報の該当ビットをマスク情報の有効状態“0”とすることで表現される。
[Operation of the second embodiment]
Next, the operation when the above-mentioned associative memory 28 is used for calculation of the transfer destination network address in the router 400-3 in FIG. 19 will be described with reference to FIG.
Assuming that the associative memory 28 has an 8-bit 5-word configuration, the stored data and mask information stored in each associative memory word 2-1 to 2-5 include the network address of the router 400-3 in FIG. It is assumed that connection information other than (3. *. *. *) Is stored. At this time, in the don't care “*” state bits in the connection information, the corresponding bit of the stored data is set to the invalid state “1” of the stored data, and the corresponding bit of the mask information is set to the valid state “0” of the mask information. It is expressed by that.

つまり、連想メモリ・ワード2−1には(1.*.*.*)を実現するため2進数で、記憶データには(01.11.11.11)を、マスク情報として(11.00.00.00)を格納してある。同様に連想メモリ・ワード2−2には(2.*.*.*)を実現するため2進数で、記憶データには(10.11.11.11)を、マスク情報として(11.00.00.00)を格納してある。連想メモリ・ワード2−3には(1.2.2.*)を実現するため2進数で、記憶データには(01.10.10.11)を、マスク情報として(11.11.11.00)を格納してある。連想メモリ・ワード2−4には(1.2.*.*)を実現するため2進数で、記憶データには(01.10.11.11)を、マスク情報として(11.11.00.00)を格納してある。連想メモリ・ワード2−5には(2.1.1.*)を実現するため2進数で、記憶データには(10.01.01.11)を、マスク情報として(11.11.11.00)を格納してある。   In other words, the associative memory word 2-1 is a binary number for realizing (1. *. *. *), (01.11.11.11) is used as mask information (11.00 as mask information). 0.00.00) is stored. Similarly, the associative memory word 2-2 is a binary number to realize (2. *. *. *), The stored data is (10.11.11.11) as mask information (11.00) 0.00.00) is stored. The associative memory word 2-3 has a binary number to realize (1.2.2. *), And (01.10.10.11) is stored as mask information (11.11.11). .00) are stored. The associative memory word 2-4 is a binary number to realize (1.2. *. *), The stored data is (01.10.11.11) as mask information (11.1.00) .00) are stored. The associative memory word 2-5 is a binary number to realize (2.1.1. *), And (10.01.01.11) is used as the mask data (11.11.11) as the stored data. .00) are stored.

以降、検索データ12として図19のPC401−1の4進数のネットワーク・アドレス(1.2.2.1)を入力し検索動作を行った場合の動作を、第一の実施の形態と異なる点についてのみ説明する。
1回目の検索動作においては、第一の実施の形態と同様に、連想メモリ・ワード2−1、2−3,および2−4が一致する。従って、一致線5−1、5−3および5−4の3本が有効状態“1”となり、残りの一致線5−2、5−5は無効状態“0”となる。
Thereafter, the operation when the search operation is performed by inputting the quaternary network address (1.2.2.1) of the PC 401-1 in FIG. 19 as the search data 12 is different from the first embodiment. Only will be described.
In the first search operation, associative memory words 2-1, 2-3, and 2-4 match, as in the first embodiment. Accordingly, three match lines 5-1, 5-3 and 5-4 are in the valid state "1", and the remaining match lines 5-2 and 5-5 are in the invalid state "0".

ここで、一致データ論理和線17−1からは、連想メモリ・ワード2−1内の一致データ中間論理線14−1に対応する記憶データ“0”と、連想メモリ・ワード2−3内の一致データ中間論理線14−1に対応する記憶データ“0”と、連想メモリ・ワード2−4内の一致データ中間論理線14−1に対応する記憶データ“0”に対しての前述のとおり“0”を真とした論理和結果“0”が出力される。一致データ論理和線17−2からは、連想メモリ・ワード2−1内の一致データ中間論理線14−2に対応する記憶データ“1”と、連想メモリ・ワード2−3内の一致データ中間論理線14−2に対応する記憶データ“1”と、連想メモリ・ワード2−4内の一致データ中間論理線14−2に対応する記憶データ“1”に対しての“0”を真とした論理和結果“1”が出力される。以降同様に、一致データ論理和線17−3からは“1”と“1”と“1”に対しての“0”を真とした論理和結果“1”が、一致データ論理和線17−4からは“1”と“0”と“0”に対しての“0”を真とした論理和結果“0”が、一致データ論理和線17−5からは“1”と“1”と“1”のに対しての“0”を真とした論理和結果“1”が、一致データ論理和線17−6からは“1”と“0”と“1”
に対しての“0”を真とした論理和結果“0”が、一致データ論理和線17−7からは“1”と“1”と“1” に対しての“0”を真とした論理和結果“1”が、一致データ論理和線17−8からは“1”と“1”と“1” に対しての“0”を真とした論理和結果“1”が、それぞれ出力される。従って、一致データ論理和線17−1〜17−8には、2進表現で“01101011”が出力され、nビット・ラッチ21に格納される。
Here, from the coincidence data OR line 17-1, the storage data “0” corresponding to the coincidence data intermediate logical line 14-1 in the associative memory word 2-1 and the associative memory word 2-3 As described above for the storage data “0” corresponding to the coincidence data intermediate logical line 14-1 and the storage data “0” corresponding to the coincidence data intermediate logical line 14-1 in the associative memory word 2-4. A logical sum result “0” with “0” being true is output. From the coincidence data OR line 17-2, the storage data “1” corresponding to the coincidence data intermediate logical line 14-2 in the associative memory word 2-1 and the coincidence data intermediate in the associative memory word 2-3 “0” for storage data “1” corresponding to logical line 14-2 and storage data “1” corresponding to coincidence data intermediate logical line 14-2 in associative memory word 2-4 is true. The logical sum result “1” is output. Similarly, from the coincidence data logical sum line 17-3, a logical sum result “1” in which “0” is true for “1”, “1”, and “1” is obtained as the coincidence data logical sum line 17 From -4, the logical sum “0” in which “0” is true for “1”, “0”, and “0” is obtained, and “1” and “1” are obtained from the coincidence data logical sum line 17-5. "1" for which "0" is true for "1" and "1" is "1", "0" and "1" from the coincidence data OR line 17-6.
The logical OR result “0” in which “0” is true with respect to “1”, and “0” with respect to “1”, “1”, and “1” is true from the coincidence data logical sum line 17-7. The logical sum result “1” is the logical sum result “1” from the coincidence data logical sum line 17-8 with “0” for “1”, “1”, and “1” being true. Is output. Therefore, “01101011” is output in binary representation to the coincidence data OR lines 17-1 to 17-8 and stored in the n-bit latch 21.

2回目の検索動作においては、ビット線13−1〜13−8の状態“01101011”に対して、連想メモリ・ワード2−3が格納する記憶データが完全に一致し、対応する一致線5−3を開放状態にする。他の連想メモリ・ワード2−1,2−2、2−4、および2−5が格納する記憶データは一致しないので、対応する一致線5−1,5−2、5−4、および5−5に無効状態“0”を出力する。従って、2回目の検索動作開始前に有効状態“1”を保持していた一致線5−1,5−3,5−4の3本の中で、2回目の検索動作後も有効状態“1”を保持し続けるのは、一致線5−3のみとなる。   In the second search operation, the stored data stored in the associative memory word 2-3 completely match the state “01101011” of the bit lines 13-1 to 13-8, and the corresponding match line 5- 3 is opened. Since the stored data stored in the other associative memory words 2-1, 2-2, 2-4, and 2-5 do not match, the corresponding match lines 5-1, 5-2, 5-4, and 5 The invalid state “0” is output to −5. Accordingly, among the three match lines 5-1, 5-3, and 5-4 that have been in the valid state “1” before the second search operation starts, the valid state after the second search operation “ Only the match line 5-3 keeps holding 1 ″.

従って、入力した検索データ12と、対応するマスク情報を考慮して比較した結果一致する記憶データの中で、マスク情報の有効状態のビットが最も少ない記憶データに対応する一致線5−3のみに有効状態を出力することがわかる。   Accordingly, only the match line 5-3 corresponding to the stored data having the least number of valid bits of the mask information among the stored data that matches the input search data 12 and the corresponding mask information in consideration of the corresponding mask information. It can be seen that the valid state is output.

第一の実施の形態、第二の実施の形態ともにマスク情報の有効状態を“0”として説明したが、マスク情報の有効状態を“1”とした場合においても、前述と同様に、各連想メモリ・ワードにおいて、マスク有効状態となっているマスク情報のビットに対応する記憶データのビットに記憶データの無効状態を格納しておき、第1回目の検索動作時に有効状態となっている一致線を有する連想メモリ・ワードの中の記憶データのすべてに対して、記憶データの有効状態を真とした論理和演算を行った結果を2回目の検索動作時のビット線の状態とするように構成すれば、本発明の連想メモリを実現できることは言うまでもない。   In both the first embodiment and the second embodiment, the valid state of the mask information has been described as “0”. However, even when the valid state of the mask information is set to “1”, as in the above, each association In the memory word, the invalid state of the stored data is stored in the bit of the stored data corresponding to the mask information bit in the mask valid state, and the coincidence line which is in the valid state at the first search operation The result of performing an OR operation with all stored data in the associative memory word having the true value of the stored data as true is set as the bit line state during the second search operation. Needless to say, the content addressable memory of the present invention can be realized.

また、第一の実施の形態、第二の実施の形態ともに各連想メモリ・ワードにおいて、マスク有効状態となっているマスク情報のビットに対応する記憶データのビットに記憶データの無効状態を格納したが、比較制御信号4が有効状態となる2回目の検索動作時には、比較器10においてマスク有効状態なっているマスク情報のビットに対応する記憶データには記憶データの無効状態が記憶されているものとみなして比較を行っても同じ結果が得られることは容易に分かる。   In both the first embodiment and the second embodiment, in each associative memory word, the invalid state of the stored data is stored in the bit of the stored data corresponding to the bit of the mask information in the mask valid state. However, at the time of the second search operation in which the comparison control signal 4 is in the valid state, the stored data corresponding to the mask information bit in the mask valid state in the comparator 10 stores the invalid state of the stored data. It can be easily understood that the same result can be obtained even if the comparison is performed.

[第三の実施例の構成]
次に、本発明の第三の実施の形態について図面を参照して詳細に説明する。図8は本発明の第三の実施の形態の連想メモリ42の構成を示すブロック図である。
[Configuration of the third embodiment]
Next, a third embodiment of the present invention will be described in detail with reference to the drawings. FIG. 8 is a block diagram showing a configuration of the associative memory 42 according to the third embodiment of this invention.

連想メモリ42は、nビットm語の一致データ論理和信号出力機能付連想メモリ33と、nビットm語のマスク機能無し連想メモリ101とから構成される。本例では、一致データ論理和信号出力機能付連想メモリ33が1回目の検索動作を行い一致データ論理和信号38を計算し、得られた一致データ論理和信号38を用いてマスク機能無し連想メモリ101が2回目の検索動作を行い一致線5−1〜5−mを出力する。   The associative memory 42 includes an associative memory 33 with an n-bit m word coincidence data OR signal output function and an n-bit m word associative memory 101 without a mask function. In this example, the associative memory 33 with the coincidence data logical sum signal output function performs the first search operation to calculate the coincidence data logical sum signal 38 and uses the obtained coincidence data logical sum signal 38 to provide the associative memory without a mask function. 101 performs the second search operation and outputs match lines 5-1 to 5-m.

nビットm語の一致データ論理和信号出力機能付連想メモリ33は、n本のビット線13−1〜13−nに入力された検索データ12と、m個の連想メモリ・ワード43−1〜43−mごとに内部のデータ・セル8−1−1〜8−m−nに格納されている記憶データおよびマスク・セル9−1−1〜9−m−nに格納されたマスク情報を用いて、計算された一致データ論理和信号38をn本の一致データ論理和線17−1〜17−nに出力する。一致データ論理和信号38は、第一の実施の形態の連想メモリ1と同様な操作により計算される。ここで、マスク・セル9−j−kに格納されたビット情報がマスク情報の有効状態の場合には、対応するデータ・セル8−j−kには記憶データの無効状態を格納する。   The associative memory 33 with n-bit m-word match data logical sum signal output function includes search data 12 input to n bit lines 13-1 to 13-n and m associative memory words 43-1 to 43-n. The stored data stored in the internal data cells 8-1-1 to 8 -mn and the mask information stored in the mask cells 9-1-1 to 9 -mn for every 43 -m The calculated match data OR signal 38 is output to n match data OR lines 17-1 to 17-n. The coincidence data logical sum signal 38 is calculated by the same operation as that of the associative memory 1 of the first embodiment. Here, when the bit information stored in the mask cell 9-jk is the valid state of the mask information, the invalid state of the stored data is stored in the corresponding data cell 8-jk.

マスク機能無し連想メモリ101は、ビット線103−1〜103−nから入力された一致データ論理和信号38を、m個の連想メモリ・ワード104−1〜104−mごとに内部のデータ・セル105−1−1〜105−m−nに格納している第二の記憶データと一致しているかを比較した結果、一致した連想メモリ・ワード104に対応するデータ一致線107−1〜107−mに有効状態“1”を出力する。データ一致線107−1〜107−mの状態は、一致線5−1〜5−mとして連想メモリ42から出力される。ここで、一致データ論理和信号出力機能付連想メモリ33のマスク・セル9−j−kに格納されたビット情報がマスク情報の有効状態の場合には、対応するデータ・セル105−j−kには、記憶データの無効状態を格納する。   The associative memory 101 without the mask function receives the coincidence data logical sum signal 38 input from the bit lines 103-1 to 103-n in the internal data cell for every m associative memory words 104-1 to 104-m. As a result of comparison with the second stored data stored in 105-1-1 to 105-mn, the data match lines 107-1 to 107- corresponding to the matched associative memory word 104 are obtained. The valid state “1” is output to m. The states of the data match lines 107-1 to 107-m are output from the associative memory 42 as match lines 5-1 to 5-m. Here, when the bit information stored in the mask cell 9-jk of the associative memory 33 with the coincidence data logical sum signal output function is the valid state of the mask information, the corresponding data cell 105-jk Stores the invalid state of the stored data.

なお、本例では、マスク情報の有効状態を“0”、無効状態を“1”とし、記憶データの有効状態を“1”、無効状態を“0”とする。記憶データと同様に、一致データ論理和線17−1〜17−nの有効状態を“1”、無効状態を“0”とする。一致線5−1〜5−mの有効状態を“1”、無効状態を“0”とする。   In this example, the valid state of the mask information is “0”, the invalid state is “1”, the valid state of the stored data is “1”, and the invalid state is “0”. Similarly to the stored data, the valid state of the coincidence data logical sum lines 17-1 to 17-n is set to “1”, and the invalid state is set to “0”. The valid state of the match lines 5-1 to 5-m is “1”, and the invalid state is “0”.

nビットm語の一致データ論理和信号出力機能付連想メモリ33の構成例を図9に示す。一致データ論理和信号出力機能付連想メモリ33は、nビットm語の連想メモリ・ワード43−1〜43−mと、論理ゲート16−1〜16−nを有しており、各連想メモリ・ワード43−jは、n個の連想メモリ・セル44−j−1〜44−j−nを備えている。論理ゲート16−1〜16−nの動作は第一の実施の形態の連想メモリ1と全く同様である。   FIG. 9 shows a configuration example of the associative memory 33 with an n-bit m-word match data OR signal output function. The associative memory 33 with the coincidence data logical sum signal output function includes associative memory words 43-1 to 43-m of n bits and m words and logic gates 16-1 to 16-n. The word 43-j includes n associative memory cells 44-j-1 to 44-jn. The operation of the logic gates 16-1 to 16-n is exactly the same as that of the associative memory 1 of the first embodiment.

各連想メモリ・ワード43−jには、対応するデータ・ワード線3−jと、マスク・ワード線6−jが入力のために接続され、対応する中間一致線41−j、およびn本の一致データ中間論理線14−1〜14−nが出力のために接続され、n本のビット線13−1〜13−nが入出力のために接続されている。   Each associative memory word 43-j is connected with a corresponding data word line 3-j and a mask word line 6-j for input, a corresponding intermediate match line 41-j, and n Match data intermediate logic lines 14-1 to 14-n are connected for output, and n bit lines 13-1 to 13-n are connected for input / output.

各連想メモリ・セル44−j−kには、対応するデータ・ワード線3−jと、マスク・ワード線6−jが入力のために接続され、対応する中間一致線41−j、および一致データ中間論理線14−kが出力のために接続され、ビット線13−kが入出力のために接続されている。   Each associative memory cell 44-j-k has a corresponding data word line 3-j and a mask word line 6-j connected for input, a corresponding intermediate match line 41-j, and a match. Data intermediate logic line 14-k is connected for output, and bit line 13-k is connected for input / output.

各連想メモリ・セル44−j−kは、ビット線13−kを介して外部から入力される記憶データの対応するビット情報を格納するデータ・セル8−j−kと、データ・セル8−j−kに記憶されたビット情報と外部からビット線13−kを介して入力される情報とを比較する比較器32−j−kと、外部からビット線13−kを介して入力されるマスク情報の対応するビット情報を格納するマスク・セル9−j−kと、および論理ゲート11−j−kとを備えている。   Each associative memory cell 44-jk includes a data cell 8-jk for storing bit information corresponding to storage data inputted from the outside via the bit line 13-k, and a data cell 8- a comparator 32-jk for comparing the bit information stored in jk with information inputted from the outside via the bit line 13-k, and inputted from the outside via the bit line 13-k A mask cell 9-jk for storing bit information corresponding to the mask information and a logic gate 11-jk are provided.

連想メモリ・セル44の、データ・ワード線3,マスク・ワード線6、一致データ中間論理線14、ビット線13、データ・セル8,マスク・セル9、論理ゲート11の動作は、第一の実施例の連想メモリ1の連想メモリ・セル7と全く同様である。第一の実施例の連想メモリ1の連想メモリ・セル7の一致線5は、中間一致線41に名称変更されている。従って、第一の実施例の連想メモリ1の連想メモリ・セル7と異なる点についてのみ説明する。   The operations of the data word line 3, the mask word line 6, the coincidence data intermediate logic line 14, the bit line 13, the data cell 8, the mask cell 9, and the logic gate 11 of the associative memory cell 44 are as follows. This is exactly the same as the content addressable memory cell 7 of the content addressable memory 1 of the embodiment. The match line 5 of the content addressable memory cell 7 of the content addressable memory 1 of the first embodiment has been renamed as an intermediate match line 41. Therefore, only differences from the content addressable memory cell 7 of the content addressable memory 1 of the first embodiment will be described.

本例では各データ・セル8に対応するマスク・セル9に格納されているマスク情報が有効状態の場合、該当データ・セル8には記憶データの無効状態を格納する。   In this example, when the mask information stored in the mask cell 9 corresponding to each data cell 8 is valid, the invalid state of the stored data is stored in the corresponding data cell 8.

中間一致線41は、検索動作の開始前には、ハイ・レベルにプリ・チャージされているか、図示しない抵抗によりプル・アップされ、有効状態“1”になっているものとする。   It is assumed that the intermediate match line 41 is precharged to a high level before the search operation is started or pulled up by a resistor (not shown) and is in a valid state “1”.

比較器32は、対応するビット線13と、それに同一の連想メモリ・セル44−1−1〜44−m−nの中のデータ・セル8に格納されている記憶データと、マスク・セル9に格納されているマスク情報を入力とする。比較器32は、マスク情報が有効状態ならば、対応する中間一致線41を解放状態にし、それ以外の場合には、ビット線13の値と記憶データが一致するならば対応する中間一致線41を開放状態にし、一致しないならば無効状態“0”を出力する。連想メモリ・ワード43の中のn個の比較器32がすべて中間一致線41を開放状態にしているときに、中間一致線41は有効状態“1”となり、それ以外の場合には無効状態“0”となる、中間一致線41の有効状態“1”を真としたワイアードAND論理接続を構成している。つまり、検索動作時には、マスク情報が有効状態“0”のために比較対象から除外されたビットを除いて、連想メモリ・ワード43が格納している記憶データとビット線13−1〜13−nが完全に一致する場合に限り、中間一致線41は有効状態“1”となり、それ以外の場合は無効状態“0”となる。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。   The comparator 32 stores the data stored in the data cell 8 in the corresponding bit line 13 and the same associative memory cells 44-1-1-1 to 44-mn, and the mask cell 9 The mask information stored in is input. The comparator 32 releases the corresponding intermediate match line 41 if the mask information is valid, and otherwise outputs the corresponding intermediate match line 41 if the value of the bit line 13 matches the stored data. Is in an open state, and if they do not match, an invalid state “0” is output. When all n comparators 32 in the associative memory word 43 have the intermediate match line 41 open, the intermediate match line 41 is in the valid state “1”, otherwise it is in the invalid state “ A wired AND logical connection in which the valid state “1” of the intermediate coincidence line 41 is “0” is true. In other words, at the time of the search operation, the stored data stored in the associative memory word 43 and the bit lines 13-1 to 13-n are excluded except for the bits excluded from the comparison target because the mask information is in the valid state “0”. The intermediate coincidence line 41 is in the valid state “1” only when they completely match, and in the invalid state “0” otherwise. Of course, a normal logic gate may be used for the same operation.

次に、上述の連想メモリ・セル44の構成例を図10を用いて説明する。図2に示す第一の実施例の連想メモリ・セル7と比較すれば分かるように、本発明の連想メモリ・セル44は、比較制御線4と、比較器内MOSトランジスタ(T7)209が削除され、一致線5が中間一致線41に名称変更されている点を除くと、第一の実施例の連想メモリ・セル7と同様である。従って連想メモリ・セル7と異なる部分のみの説明を行う。   Next, a configuration example of the content addressable memory cell 44 will be described with reference to FIG. As can be seen from comparison with the content addressable memory cell 7 of the first embodiment shown in FIG. 2, the content addressable memory cell 44 of the present invention has the comparison control line 4 and the in-comparator MOS transistor (T7) 209 removed. Except for the fact that the coincidence line 5 is renamed to the intermediate coincidence line 41, it is the same as the associative memory cell 7 of the first embodiment. Therefore, only the parts different from the content addressable memory cell 7 will be described.

比較器32はMOSトランジスタ(T3)205、MOSトランジスタ(T4)206、MOSトランジスタ(T5)207、およびMOSトランジスタ(T6)208により構成され、それらの動作は第一の実施例の連想メモリ・セル7と同様である。   The comparator 32 comprises a MOS transistor (T3) 205, a MOS transistor (T4) 206, a MOS transistor (T5) 207, and a MOS transistor (T6) 208, and the operation thereof is the content addressable memory cell of the first embodiment. 7 is the same.

従って、MOSトランジスタ(T5)207が導通状態のときに、MOSトランジスタ(T6)208が導通状態の場合に連想メモリ・セル44は中間一致線41に無効状態“0”を出力し、それ以外の時には中間一致線41を開放状態とする。すなわち、マスク情報が無効状態“0”の場合には検索データ12と記憶データの比較結果によらず中間一致線41を開放状態とし、それ以外の場合にはビット線13a,13b上の検索データ12とデータ・セル8に格納されている記憶データが一致するときに開放状態とし、異なる場合には無効状態“0”を出力する。   Therefore, when the MOS transistor (T5) 207 is conductive, the associative memory cell 44 outputs the invalid state “0” to the intermediate match line 41 when the MOS transistor (T6) 208 is conductive. Sometimes the intermediate coincidence line 41 is opened. That is, when the mask information is in the invalid state “0”, the intermediate match line 41 is opened regardless of the comparison result between the search data 12 and the stored data, and in other cases, the search data on the bit lines 13a and 13b. When the data stored in 12 and the data stored in the data cell 8 coincide with each other, the open state is set, and when they are different, the invalid state “0” is output.

nビットm語のマスク機能無し連想メモリ101の構成例を図11に示す。マスク機能無し連想メモリ101は、連想メモリ・ワード104−1〜104−mから構成され、各連想メモリ・ワード104−jは、n個の連想メモリ・セル105−j−1〜105−j−nを備えている。各連想メモリ・ワード104−jには、対応するデータ・ワード線106−jが入力のために接続され、対応するデータ一致線107−jが出力のために接続され、n本のビット線103−1〜103−nが入出力のために接続されている。   FIG. 11 shows a configuration example of the associative memory 101 having no n-bit and m-word mask function. The associative memory 101 without mask function is composed of associative memory words 104-1 to 104-m, and each associative memory word 104-j includes n associative memory cells 105-j-1 to 105-j-. n. Each associative memory word 104-j has a corresponding data word line 106-j connected for input, a corresponding data match line 107-j connected for output, and n bit lines 103 -1 to 103-n are connected for input / output.

各連想メモリ・セル105−j−kには、対応するデータ・ワード線106−jが入力のために接続され、対応するデータ一致線107−jが出力のために接続され、ビット線103−kが入出力のために接続されている。また、各連想メモリ・セル105−j−kは、第二の記憶データの対応するビット情報を格納するデータ・セル108−j−kと、ビット線103−kを介して入力される一致データ論理和信号38とデータ・セル108−j−kに記憶されたビット情報とを比較する比較器109−j−kとを備えている。一致データ論理和信号出力機能付連想メモリ33の対応する連想メモリ・ワード43−jのマスク・セル9−j−1〜9−j−nの中でマスク情報の有効状態となっているビットと対応するデータ・セル108―j−1〜108−j−nには、記憶データの無効状態をあらかじめ格納する。それ以外のビットのデータ・セル108―j−1〜108−j−nには、一致データ論理和信号出力機能付連想メモリ33の対応するデータ・セル8−j−1〜8−j−nと同一の値をあらかじめ格納しておく。   Each associative memory cell 105-j-k has a corresponding data word line 106-j connected for input, a corresponding data match line 107-j connected for output, and a bit line 103- k is connected for input and output. In addition, each associative memory cell 105-j-k has a data cell 108-j-k that stores bit information corresponding to the second storage data, and coincidence data input via the bit line 103-k. A comparator 109-jk for comparing the logical sum signal 38 with the bit information stored in the data cell 108-jk is provided. Bits in which the mask information is valid in the mask cells 9-j-1 to 9-jn of the corresponding associative memory word 43-j of the associative memory 33 with the match data OR signal output function Corresponding data cells 108-j-1 to 108-jn store the invalid state of the stored data in advance. Data cells 108-j-1 to 108-jn of other bits have corresponding data cells 8-j-1 to 8-jn in the associative memory 33 with a coincidence data logical sum signal output function. The same value as is stored in advance.

各連想メモリ・セル105−1−1〜105−m−nにおいて、ビット線103、データ・ワード線106,データ・セル108、およびデータ一致線107の動作は、従来の連想メモリ116と同様である。   In each associative memory cell 105-1-1 to 105-mn, the operations of the bit line 103, the data word line 106, the data cell 108, and the data match line 107 are the same as those of the conventional associative memory 116. is there.

データ一致線107は、検索動作の開始前には、ハイ・レベルにプリ・チャージされているか、図示しない抵抗によりプル・アップされ、有効状態“1”になっているものとする。   The data match line 107 is precharged to a high level before the search operation is started, or is pulled up by a resistor (not shown) and is in a valid state “1”.

比較器109は、対応するビット線103と、それに同一の連想メモリ・セル105−1−1〜105−m−nの中のデータ・セル108に格納されている第二の記憶データとを比較し、一致するならば対応するデータ一致線107を開放状態にし、一致しないならば無効状態“0”を出力する。連想メモリ・ワード104の中のn個の比較器109がすべてデータ一致線107を開放状態にしているときに、データ一致線107は有効状態“1”となり、それ以外の場合には無効状態“0”となる、データ一致線107の有効状態“1”を真としたワイアードAND論理接続を構成している。つまり、検索動作時には、連想メモリ・ワード104が格納している第二の記憶データとビット線103−1〜103−nが完全に一致する場合に限り、データ一致線107は有効状態“1”となり、不一致の場合には無効状態“0”となる。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。   The comparator 109 compares the corresponding bit line 103 with the second stored data stored in the data cell 108 in the same associative memory cells 105-1-1 to 105-mn. If they match, the corresponding data match line 107 is opened, and if they do not match, the invalid state “0” is output. When all n comparators 109 in the associative memory word 104 have the data match line 107 open, the data match line 107 is in the valid state “1”; otherwise, it is in the invalid state “ A wired AND logical connection in which the valid state “1” of the data matching line 107 becomes “0” is set as true. That is, during the search operation, the data match line 107 is in the valid state “1” only when the second stored data stored in the associative memory word 104 and the bit lines 103-1 to 103-n completely match. In the case of mismatch, the invalid state is “0”. Of course, a normal logic gate may be used for the same operation.

次に、マスク機能無し連想メモリ101の連想メモリ・セル105の構成例を図12を用いて説明する。図16に示す従来の連想メモリ・セル118と比較すれば分かるように、マスク機能無し連想メモリ101の連想メモリ・セル105の、ビット線103a、103b、データ・ワード線106、データ・セル108は、従来の連想メモリ・セル118と同様である。従って従来と違う部分のみの説明を行う。   Next, a configuration example of the content addressable memory cell 105 of the content addressable memory 101 without a mask function will be described with reference to FIG. As can be seen from comparison with the conventional associative memory cell 118 shown in FIG. 16, the bit lines 103a and 103b, the data word line 106, and the data cell 108 of the associative memory cell 105 of the associative memory 101 without the mask function are This is the same as the conventional content addressable memory cell 118. Therefore, only the parts different from the conventional one will be described.

比較器109は、MOSトランジスタ(T103)305、MOSトランジスタ(T104)306、およびMOSトランジスタ(T105)307により構成される。従来の連想メモリ・セル118の比較器113とは、データ一致線107と低電位の間に直列に挿入されるMOSトランジスタからMOSトランジスタ(T106)308が削除され、データ一致線107とMOSトランジスタT105(307)を介してワイアードAND接続している点のみが異なる。   The comparator 109 includes a MOS transistor (T103) 305, a MOS transistor (T104) 306, and a MOS transistor (T105) 307. In the comparator 113 of the conventional associative memory cell 118, the MOS transistor (T106) 308 is deleted from the MOS transistor inserted in series between the data match line 107 and the low potential, and the data match line 107 and the MOS transistor T105 are removed. The only difference is that a wired AND connection is made via (307).

従って、検索動作時には、データ・セル108に格納されている第二の記憶データと、ビット線103a,103b上の検索データ102が異なる場合にMOSトランジスタ(T105)307は導通状態になり、連想メモリ・セル105はデータ一致線107に無効状態“0”を出力し、それ以外の時にはデータ一致線107を開放状態とする。   Accordingly, during the search operation, when the second storage data stored in the data cell 108 and the search data 102 on the bit lines 103a and 103b are different, the MOS transistor (T105) 307 becomes conductive, and the content addressable memory The cell 105 outputs the invalid state “0” to the data match line 107, and otherwise makes the data match line 107 open.

[第三の実施例の動作]
次に、上述の連想メモリ42を、図19のルータ400−3における転送先ネットワーク・アドレスの計算に用いた場合の動作を、図13を用いて説明する。
[Operation of the third embodiment]
Next, the operation when the above-mentioned associative memory 42 is used for the calculation of the transfer destination network address in the router 400-3 in FIG. 19 will be described with reference to FIG.

連想メモリ42を8ビット5語の構成と仮定し、一致データ論理和信号出力機能付連想メモリ33の各連想メモリ・ワード43−1〜43−5に格納されている記憶データ、マスク情報には、図19のルータ400−3のネットワーク・アドレス(3.*.*.*)以外の接続情報を記憶しているものとする。このとき、接続情報の中のドント・ケア“*”状態のビットは、マスク情報の該当ビットをマスク・データの有効状態“0”とすることで表現される。記憶データの該当ビットには記憶データの無効状態“0”を格納する。   Assuming that the associative memory 42 has a configuration of 8 bits and 5 words, the stored data and mask information stored in each of the associative memory words 43-1 to 43-5 of the associative memory 33 with the coincidence data OR signal output function include Assume that connection information other than the network address (3. *. *. *) Of the router 400-3 in FIG. At this time, the bit of the don't care “*” state in the connection information is expressed by setting the corresponding bit of the mask information to the valid state “0” of the mask data. The invalid state “0” of the stored data is stored in the corresponding bit of the stored data.

つまり、連想メモリ・ワード43−1には(1.*.*.*)を実現するため2進数で、記憶データには(01.00.00.00)を、マスク情報として(11.00.00.00)を格納してある。同様に連想メモリ・ワード43−2には(2.*.*.*)を実現するため2進数で、記憶データには(10.00.00.00)を、マスク情報として(11.00.00.00)を格納してある。連想メモリ・ワード43−3には(1.2.2.*)を実現するため2進数で、記憶データには(01.10.10.00)を、マスク情報として(11.11.11.00)を格納してある。連想メモリ・ワード43−4には(1.2.*.*)を実現するため2進数で、記憶データには(01.10.00.00)を、マスク情報として(11.11.00.00)を格納してある。連想メモリ・ワード43−5には(2.1.1.*)を実現するため2進数で、記憶データには(10.01.01.00)を、マスク情報として(11.11.11.00)を格納してある。   That is, the associative memory word 43-1 is a binary number to realize (1. *. *. *), (01.00.00.00) is used as mask information (11.00) as the stored data. 0.00.00) is stored. Similarly, the associative memory word 43-2 is a binary number to realize (2. *. *. *), (10.00.00.00) is stored as mask information (11.00). 0.00.00) is stored. The associative memory word 43-3 is a binary number to realize (1.2.2. *), The stored data is (01.10.10.00) as mask information (11.11.11) .00) are stored. The associative memory word 43-4 is a binary number for realizing (1.2. *. *), The stored data is (01.10.00.00) as mask information (11.1.00) .00) are stored. The associative memory word 43-5 is a binary number for realizing (2.1.1. *), The stored data is (10.01.01.00) as mask information (11.11.11) .00) are stored.

マスク機能無し連想メモリ101の各連想メモリ・ワード104−1〜104−5に格納されている第二の記憶データとして、図19のルータ400−3の接続情報においてドント・ケア“*”状態のビットを記憶データの無効状態“0”とした値を記憶しているものとする。つまり、連想メモリ・ワード104−1には(01.00.00.00)を、連想メモリ・ワード104−2には(10.00.00.00)を、連想メモリ・ワード104−3には(01.10.10.00)を、連想メモリ・ワード104−4には(01.10.00.00)を、連想メモリ・ワード104−5には(10.01.01.00)を、それぞれ格納してある。   As the second storage data stored in the associative memory words 104-1 to 104-5 of the associative memory 101 without the mask function, the connection information of the router 400-3 in FIG. It is assumed that a value in which the bit is an invalid state “0” of stored data is stored. That is, (01.00.00.00) is assigned to the associative memory word 104-1, (10.00.00.00) is assigned to the associative memory word 104-2, and the associative memory word 104-3 is assigned. Is (01.10.10.00), (01.10.00.00) for associative memory word 104-4, (10.01.01.00) for associative memory word 104-5 Are stored respectively.

以降、検索データ12として図19のPC401−1の4進数のネットワーク・アドレス(1.2.2.1)を入力し検索動作を行った場合の動作説明をする。   Hereinafter, the operation when the search operation is performed by inputting the quaternary network address (1.2.2.1) of the PC 401-1 in FIG. 19 as the search data 12 will be described.

まず、検索動作の前に、すべての中間一致線41−1〜41−5、およびデータ一致線107−1〜107−5は、ハイ・レベルにプリ・チャージされているか、図示しない抵抗によりプル・アップされ、有効状態“1”になっているものとする。   First, before the search operation, all the intermediate match lines 41-1 to 41-5 and the data match lines 107-1 to 107-5 are precharged to a high level or pulled by resistors not shown.・ It is assumed that the status is up and the valid state is “1”.

検索データ12をビット線13−1〜13−8に入力すると、一致データ論理和信号出力機能付連想メモリ33の連想メモリ・ワード43−1に格納されている4進表現の(1.*.*.*)と、連想メモリ・ワード43−3に格納されている4進表現の(1.2.2.*)と、連想メモリ・ワード43−4に格納されている4進表現の(1.2.*.*)がビット線13−1〜13−8上の検索データ12と一致する。従って、中間一致線41−1、41−3および41−4の3本が有効状態“1”となり、残りの中間一致線41−2、41−5は無効状態“0”となる。   When the search data 12 is input to the bit lines 13-1 to 13-8, the quaternary representation (1. *. *) Stored in the associative memory word 43-1 of the associative memory 33 with a match data logical sum signal output function. *. *), (1.2.2. *) Of the quaternary representation stored in the associative memory word 43-3 and (4. 1.2. *. *) Matches the search data 12 on the bit lines 13-1 to 13-8. Therefore, three of the intermediate match lines 41-1, 41-3, and 41-4 are in the valid state “1”, and the remaining intermediate match lines 41-2 and 41-5 are in the invalid state “0”.

ここで、一致データ論理和線17−1からは、連想メモリ・ワード43−1内の一致データ中間論理線14−1に対応する記憶データ“0”と、連想メモリ・ワード43−3内の一致データ中間論理線14−1に対応する記憶データ“0”と、連想メモリ・ワード43−4内の一致データ中間論理線14−1に対応する記憶データ“0”に対しての“1”を真とした論理和結果“0”が出力される。一致データ論理和線17−2からは、連想メモリ・ワード43−1内の一致データ中間論理線14−2に対応する記憶データ“1”と、連想メモリ・ワード43−3内の一致データ中間論理線14−2に対応する記憶データ“1”と、連想メモリ・ワード43−4内の一致データ中間論理線14−2に対応する記憶データ“1”に対しての“1”を真とした論理和結果“1”が出力される。以降同様に、一致データ論理和線17−3からは“0”と“1”と“1” に対しての“1”を真とした論理和結果“1”が、一致データ論理和線17−4からは“0”と“0”と“0”に対しての“1”を真とした論理和結果“0”が、一致データ論理和線17−5からは“0”と“1”と“0” に対しての“1”を真とした論理和結果“1”が、一致データ論理和線17−6からは“0”と“0”と“0”に対しての“1”を真とした論理和結果“0”が、一致データ論理和線17−7からは“0”と“0”と“0”に対しての“1”を真とした論理和結果“0”が、一致データ論理和線17−8からは“0”と“0”と“0”に対しての“1”を真とした論理和結果“0”が、それぞれ出力される。従って、一致データ論理和線17−1〜17−8には、2進表現で“01101000”が、一致データ論理和信号38として出力されることになる。   Here, from the coincidence data logical sum line 17-1, the storage data “0” corresponding to the coincidence data intermediate logical line 14-1 in the associative memory word 43-1 and the associative memory word 43-3 “1” for storage data “0” corresponding to match data intermediate logic line 14-1 and storage data “0” corresponding to match data intermediate logic line 14-1 in associative memory word 43-4. The logical sum result “0” is set to be true. From the match data OR line 17-2, the stored data “1” corresponding to the match data intermediate logic line 14-2 in the associative memory word 43-1 and the match data intermediate in the associative memory word 43-3 “1” for storage data “1” corresponding to logic line 14-2 and storage data “1” corresponding to coincidence data intermediate logic line 14-2 in associative memory word 43-4 is true. The logical sum result “1” is output. Similarly, from the coincidence data logical sum line 17-3, a logical sum result "1" with "1" for "0", "1", and "1" being true is obtained as a coincidence data logical sum line 17 -4 shows a logical sum “0” with “1” for “0”, “0” and “0” being true, and “0” and “1” from the coincidence data logical sum line 17-5. “1” for “0” and “0” is true, and “1” for “0”, “0” and “0” is obtained from the coincidence data logical sum line 17-6. The logical sum result “0” in which “1” is true is obtained from the coincidence data logical sum line 17-7, and the logical sum result “1” in relation to “0”, “0”, and “0” is true. “0” is outputted from the coincidence data logical sum line 17-8 as a logical sum “0” in which “1” is true for “0”, “0”, and “0”. Accordingly, “01101000” in binary representation is output as the coincidence data logical sum signal 38 to the coincidence data logical sum lines 17-1 to 17-8.

一致データ論理和信号38の状態“01101000”は、マスク機能無し連想メモリ101のビット線103−1〜103−8に入力され、マスク機能無し連想メモリ101は2回目の検索動作を開始する。本例では、ビット線103−1〜103−8の状態“01101000”に対して、連想メモリ・ワード104−3が格納する第二の記憶データが完全に一致し、対応するデータ一致線107−3を開放状態にする。他の連想メモリ・ワード104−1,104−2、104−4、および104−5が格納する第二の記憶データは一致しないので、対応するデータ一致線107−1,107−2、107−4、および107−5に無効状態“0”を出力する。従って、データ一致線107−1〜107−5の中で2回目の検索動作後も有効状態“1”を保持し続けるのは、データ一致線107−3のみとなる。データ一致線107−1〜107−5の状態は、一致線5−1〜5−5として外部に出力されるので、2回目の検索動作後も有効状態を出力しているのは一致線5−3のみとなる。   The state “01101000” of the coincidence data logical sum signal 38 is input to the bit lines 103-1 to 103-8 of the associative memory 101 without mask function, and the associative memory 101 without mask function starts a second search operation. In this example, the second storage data stored in the associative memory word 104-3 completely matches the state “01101000” of the bit lines 103-1 to 103-8, and the corresponding data match line 107- 3 is opened. Since the second stored data stored in the other associative memory words 104-1, 104-2, 104-4, and 104-5 do not match, the corresponding data match lines 107-1, 107-2, 107- 4 and 107-5, the invalid state “0” is output. Therefore, only the data matching line 107-3 keeps the valid state “1” in the data matching lines 107-1 to 107-5 after the second search operation. Since the states of the data match lines 107-1 to 107-5 are output to the outside as match lines 5-1 to 5-5, it is the match line 5 that is still valid after the second search operation. -3 only.

従って、入力した検索データ12と、対応するマスク情報を考慮して比較した結果一致する記憶データの中で、マスク情報の有効状態のビットが最も少ない記憶データに対応する一致線5−3のみに有効状態を出力することがわかる。   Accordingly, only the match line 5-3 corresponding to the stored data having the least number of valid bits of the mask information among the stored data that matches the input search data 12 and the corresponding mask information in consideration of the corresponding mask information. It can be seen that the valid state is output.

上述のように、第三の実施の形態の連想メモリを使用すれば1クロックで最短マスク情報を持つワードを選択できる。ここで、記憶手段をビット線103−1〜103−nと、一致データ論理和線17−1〜17−nの間に挿入し、マスク機能無し連想メモリ101が格納された一致データ論理和信号38に対する2回目の検索動作を実行するのと同時に、一致データ論理和信号出力機能付連想メモリ33が次の検索データ12に対する1回目の検索動作を実行するようにパイプライン処理を構成することができるのも言うまでもない。もちろん、記憶手段を挿入する場所は、上述の場所に限らないことも言うまでもない。   As described above, if the content addressable memory according to the third embodiment is used, a word having the shortest mask information can be selected in one clock. Here, the memory means is inserted between the bit lines 103-1 to 103-n and the coincidence data logical sum lines 17-1 to 17-n, and the coincidence data logical sum signal in which the associative memory 101 without mask function is stored is stored. The pipeline processing may be configured such that the associative memory 33 with the coincidence data logical sum signal output function executes the first search operation for the next search data 12 at the same time when the second search operation for 38 is executed. Needless to say, you can. Of course, it goes without saying that the place where the storage means is inserted is not limited to the place described above.

[第四の実施例]
次に、本発明の第一の実施の形態の連想メモリ1を転送先ネットワーク・アドレス計算に用いたルータの構成例を示すブロック図を図14に示す。ルータ400は、入力転送データ408を入力とし、出力転送データ409を出力する。入力転送データ408は、目的地ネットワーク・アドレス411と、転送先ネットワーク・アドレス410とデータ部412を有している。出力転送データ409は、目的地ネットワーク・アドレス411と、第2の転送先ネットワーク・アドレス413とデータ部412を有している。図20に示す従来のルータでは、従来の連想メモリ116の消費電力が大きいために冷却装置414を有していたが、本発明の連想メモリ1を用いた本発明のルータでは冷却装置414は不要である。
[Fourth embodiment]
Next, FIG. 14 is a block diagram showing a configuration example of a router using the associative memory 1 of the first embodiment of the present invention for the transfer destination network address calculation. The router 400 receives the input transfer data 408 and outputs output transfer data 409. The input transfer data 408 includes a destination network address 411, a transfer destination network address 410, and a data part 412. The output transfer data 409 includes a destination network address 411, a second transfer destination network address 413, and a data part 412. The conventional router shown in FIG. 20 has the cooling device 414 because the power consumption of the conventional associative memory 116 is large, but the cooling device 414 is unnecessary in the router of the present invention using the associative memory 1 of the present invention. It is.

入力転送データ408の転送先ネットワーク・アドレス410は当然ルータ400のネットワーク・アドレスとなっている。ルータ400は、目的地ネットワーク・アドレス抽出部406と、連想メモリ1と、エンコーダ402と、メモリ404と転送先ネットワーク・アドレス変更部407とにより構成される。
ここでは、図19のルータ400−3に適用した場合において、ネットワーク・アドレス(3.*.*.*)の機器から、ネットワーク・アドレス(1.*.*.*)または(2.*.*.*)の機器に転送する場合について説明する。図14では、記憶データの有効状態は“1”、無効状態は“0”とする。マスク情報の有効状態は“0”、無効状態は“1”である。また、一致線5−1〜5−5の有効状態は“1”、無効状態は“0”とする。
The transfer destination network address 410 of the input transfer data 408 is naturally the network address of the router 400. The router 400 includes a destination network address extracting unit 406, an associative memory 1, an encoder 402, a memory 404, and a transfer destination network address changing unit 407.
Here, when applied to the router 400-3 in FIG. 19, the network address (1. *. *. *) Or (2. *. *) Is transmitted from the device having the network address (3. *. *. *). The case of transferring to a device of *. *) Will be described. In FIG. 14, the valid state of the stored data is “1” and the invalid state is “0”. The valid state of the mask information is “0”, and the invalid state is “1”. In addition, the valid states of the match lines 5-1 to 5-5 are “1”, and the invalid state is “0”.

目的地ネットワーク・アドレス抽出部406は、入力転送データ408の目的地ネットワーク・アドレス411を抽出し、検索データ12として、連想メモリ1に入力する。   The destination network address extraction unit 406 extracts the destination network address 411 of the input transfer data 408 and inputs it to the associative memory 1 as the search data 12.

連想メモリ1にはルータ400−3のネットワーク・アドレス(3.*.*.*)以外の接続情報を記憶している。このとき、接続情報の中のドント・ケア“*”状態のビットは、記憶データの該当ビットを記憶データの無効状態“0”、マスク情報の該当ビットをマスク・データの有効状態“0”とすることで表現される。つまり、連想メモリ・ワード2−1には(1.*.*.*)を実現するため2進数で、記憶データには(01.00.00.00)を、マスク情報として(11.00.00.00)を格納してある。同様に連想メモリ・ワード2−2には(2.*.*.*)を実現するため2進数で、記憶データには(10.00.00.00)を、マスク情報として(11.00.00.00)を格納してある。連想メモリ・ワード2−3には(1.2.2.*)を実現するため2進数で、記憶データには(01.10.10.00)を、マスク情報として(11.11.11.00)を格納してある。連想メモリ・ワード2−4には(1.2.*.*)を実現するため2進数で、記憶データには(01.10.00.00)を、マスク情報として(11.11.00.00)を格納してある。連想メモリ・ワード2−5には(2.1.1.*)を実現するため2進数で、記憶データには(10.01.01.00)を、マスク情報として(11.11.11.00)を格納してある。   The associative memory 1 stores connection information other than the network address (3. *. *. *) Of the router 400-3. At this time, the bit of the don't care “*” state in the connection information indicates that the corresponding bit of the stored data is the invalid state “0” of the stored data, and the corresponding bit of the mask information is the valid state “0” of the mask data. It is expressed by doing. That is, the associative memory word 2-1 is a binary number for realizing (1. *. *. *), And (01.00.00.00) is used as mask information (11.00 for the stored data). 0.00.00) is stored. Similarly, the associative memory word 2-2 is a binary number to realize (2. *. *. *), (10.00.00.00) is stored as mask information (11.00) 0.00.00) is stored. The associative memory word 2-3 has a binary number to realize (1.2.2. *), And (01.10.10.00) is stored as mask information (11.11.11). .00) are stored. The associative memory word 2-4 is a binary number to realize (1.2. *. *), The stored data is (01.10.00.00) as mask information (11.1.00) .00) are stored. The associative memory word 2-5 has a binary number to realize (2.1.1. *), And (10.01.01.00) is stored as mask information (11.11.11). .00) are stored.

連想メモリ・ワード2−1〜連想メモリ・ワード2−5に対応する一致線5−1〜5−5はエンコーダ402に出力される。エンコーダ402は一致線5−1〜5−5を、メモリ・アドレス信号403にエンコードし、メモリ404に出力する。   Match lines 5-1 to 5-5 corresponding to associative memory word 2-1 to associative memory word 2-5 are output to encoder 402. The encoder 402 encodes the match lines 5-1 to 5-5 into the memory address signal 403 and outputs it to the memory 404.

メモリ404には、連想メモリ1の各連想メモリ・ワード2−1〜2−5の記憶データ、マスク情報により構成されるネットワーク・アドレスに対応するルータのネットワーク・アドレスを、同一のワードに記憶してある。たとえば、連想メモリ1の連想メモリ・ワード2−1にはネットワーク・アドレス(1.*.*.*)が記憶されているが、これに対応するルータ400−1のネットワーク・アドレスがメモリ404の同じくワード1に格納されている。同様にメモリ404のワード2にはルータ400−2のネットワーク・アドレスが、ワード3にはルータ400−6のネットワーク・アドレスが、ワード4にはルータ400−4のネットワーク・アドレスが、ワード5にはルータ400−7のネットワーク・アドレスが格納されている。また、メモリ404は、メモリ・アドレス信号403をリード・アドレスとして指定されるワードに格納されているデータを、メモリ・データ信号405として出力する。   The memory 404 stores the network address of the router corresponding to the network address constituted by the stored data and mask information of the associative memory words 2-1 to 2-5 of the associative memory 1 in the same word. It is. For example, although the network address (1. *. *. *) Is stored in the content addressable memory word 2-1 of the content addressable memory 1, the network address of the router 400-1 corresponding to this is stored in the memory 404. It is also stored in word 1. Similarly, the word 2 of the memory 404 has the network address of the router 400-2, the word 3 has the network address of the router 400-6, the word 4 has the network address of the router 400-4, and the word 5 has the same address. Stores the network address of the router 400-7. Further, the memory 404 outputs the data stored in the word designated with the memory address signal 403 as the read address as the memory data signal 405.

転送先ネットワーク・アドレス変更部407は、出力転送データ409の第2の転送先アドレス413を、メモリ・データ信号405の値に変更した後、第2のネットワーク・アドレスに対応するネットワーク機器に転送を行う。   The transfer destination network address changing unit 407 changes the second transfer destination address 413 of the output transfer data 409 to the value of the memory data signal 405, and then transfers the transfer to the network device corresponding to the second network address. Do.

たとえば入力転送データ408の目的地ネットワーク・アドレス411が(1.2.2.1)の場合、連想メモリ1での検索動作終了時には、連想メモリ・ワード2−3が格納している(1.2.2.*)に対応する一致線5−3のみが有効状態となる。これにより、エンコーダ402はメモリ・アドレス403として“3”を出力し、メモリ404はルータ400−6のネットワーク・アドレスをメモリ・データ信号405として出力する。転送先ネットワーク・アドレス変更部407により、出力転送データ409の第2の転送先ネットワーク・アドレス413を、ルータ400−6のネットワーク・アドレスに変更し、ルータ400−6に向けて出力転送データ409を転送する。   For example, when the destination network address 411 of the input transfer data 408 is (1.2.2.1), the associative memory word 2-3 is stored at the end of the search operation in the associative memory 1 (1. Only the match line 5-3 corresponding to 2.2. *) Is enabled. As a result, the encoder 402 outputs “3” as the memory address 403, and the memory 404 outputs the network address of the router 400-6 as the memory data signal 405. The transfer destination network address changing unit 407 changes the second transfer destination network address 413 of the output transfer data 409 to the network address of the router 400-6, and the output transfer data 409 is sent to the router 400-6. Forward.

このように、本発明の連想メモリ1をネットワーク・アドレス計算を行うルータ400に組み込めば、従来に比較して消費電力が小さくなるため、冷却装置414が不要になりコストが削減することができる。   As described above, when the associative memory 1 of the present invention is incorporated in the router 400 that performs network address calculation, the power consumption is reduced as compared with the conventional one, so that the cooling device 414 is not required and the cost can be reduced.

また、チップあたりの記憶容量増加に伴いルータ400に内蔵する連想メモリ1の個数を削減するができる。従って、複数の連想メモリが出力した検索結果の比較処理が不要になるため、ルータ400を用いたコンピュータ・ネットワーク・システムのデータ転送速度を高速化することができる。   Further, the number of associative memories 1 built in the router 400 can be reduced as the storage capacity per chip increases. Therefore, the comparison processing of search results output from a plurality of associative memories is not required, and the data transfer speed of the computer network system using the router 400 can be increased.

本発明の第一の実施の形態の連想メモリの構成例を示すブロック図である。It is a block diagram which shows the structural example of the content addressable memory of 1st embodiment of this invention. 本発明の第一の実施の形態の連想メモリ・セルの構成例を示す回路図である。It is a circuit diagram which shows the structural example of the content addressable memory cell of 1st embodiment of this invention. 本発明の第一の実施の形態の連想メモリの動作例を示す図である。It is a figure which shows the operation example of the content addressable memory of 1st embodiment of this invention. 本発明の第一の実施の形態の連想メモリの動作タイミング・チャートである。It is an operation | movement timing chart of the content addressable memory of 1st embodiment of this invention. 本発明の第二の実施の形態の連想メモリの構成例を示すブロック図である。It is a block diagram which shows the structural example of the content addressable memory of 2nd embodiment of this invention. 本発明の第二の実施の形態の連想メモリ・セルの構成例を示す回路図である。It is a circuit diagram which shows the structural example of the content addressable memory cell of 2nd embodiment of this invention. 本発明の第二の実施の形態の連想メモリの動作例を示す図である。It is a figure which shows the operation example of the content addressable memory of 2nd embodiment of this invention. 本発明の第三の実施の形態の連想メモリの構成例を示すブロック図である。It is a block diagram which shows the structural example of the content addressable memory of 3rd embodiment of this invention. 本発明の第三の実施の形態の一致データ論理和信号出力機能付連想メモリの構成例を示すブロック図である。It is a block diagram which shows the structural example of the associative memory with a coincidence data OR signal output function of 3rd embodiment of this invention. 本発明の第三の実施の形態の連想メモリ・セルの構成例を示す回路図である。It is a circuit diagram which shows the structural example of the content addressable memory cell of 3rd embodiment of this invention. マスク機能無し連想メモリの構成例を示すブロック図である。It is a block diagram which shows the structural example of an associative memory without a mask function. マスク機能無し連想メモリの連想メモリ・セルの構成例を示す回路図である。It is a circuit diagram which shows the structural example of the content addressable memory cell of the content addressable memory without a mask function. 本発明の第三の実施の形態の連想メモリの動作例を示す図である。It is a figure which shows the operation example of the content addressable memory of 3rd embodiment of this invention. 本発明の連想メモリを転送先ネットワーク・アドレス計算に用いたルータの構成例を示すブロック図である。It is a block diagram which shows the structural example of the router which used the content addressable memory of this invention for the transfer destination network address calculation. 従来の連想メモリの一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of the conventional content addressable memory. 従来の連想メモリ・セルの一構成例を示す回路図である。It is a circuit diagram which shows one structural example of the conventional content addressable memory cell. 従来の連想メモリの動作例を示す図である。It is a figure which shows the operation example of the conventional content addressable memory. 従来の連想メモリの動作タイミング・チャートである。It is an operation | movement timing chart of the conventional associative memory. ネットワークの構成例を示す接続図である。It is a connection diagram which shows the structural example of a network. 従来の連想メモリをルータの転送先アドレス計算に用いた場合の説明図である。It is explanatory drawing at the time of using the conventional associative memory for the transfer destination address calculation of a router.

符号の説明Explanation of symbols

1 連想メモリ
2―1〜2−m 連想メモリ・ワード
3−1〜3−m データ・ワード線
4 比較制御信号
5−1〜5−m 一致線
6−1〜6−m マスク・ワード線
7−1−1〜7−m−n 連想メモリ・セル
8−1−1〜8−m−n データ・セル
9−1−1〜9−m−n マスク・セル
10−1−1〜10−m−n 比較器
11−1−1〜11−m−n 論理ゲート
12−1〜12−n 検索データ
13−1〜13−n ビット線
14−1〜14−n 一致データ中間論理線
15−1〜15−n 抵抗
16−1〜16−n 論理ゲート
17−1〜17−n 一致データ論理和線
20−1〜20−n ラッチ出力線
21 nビット・ラッチ
22 ラッチ制御信号
23 nビット2入力1出力セレクタ
24 選択信号
25−1−1〜25−m−n 論理ゲート
26−1−1〜26−m−n 連想メモリ・セル
27−1〜27−n 論理ゲート
28 連想メモリ
30 制御回路
31 クロック信号
32−1−1〜32−m−n 比較器
33 一致データ論理和信号出力機能付連想メモリ
38 一致データ論理和信号
41−1〜41−m 中間一致線
42 連想メモリ
43―1〜43−m 連想メモリ・ワード
44−1−1〜44−m−n 連想メモリ・セル
101 マスク機能無し連想メモリ
102−1〜102−n 検索データ
103−1〜103−n ビット線
104−1〜104−m 連想メモリ・ワード
105−1−1〜105−m−n 連想メモリ・セル
106−1〜106−m データ・ワード線
107−1〜107−m データ一致線
108−1−1〜108−m−n データ・セル
109−1−1〜109−m−n 比較器
110 連想メモリ
111−1〜111−m マスク・ワード線
112−1−1〜112−m−n マスク・セル
113−1−1〜113−m−n 比較器
116 連想メモリ
117−1〜117−m 連想メモリ・ワード
118−1−1〜118−m−n 連想メモリ・セル
119−1〜119−m マスク一致線
120−1−1〜120−m−n マスク比較器
121−1−1〜121−m−n 論理ゲート
122−1〜122−n 最短マスク線
123−1〜123−m ラッチ
124 ラッチ制御信号
125−1〜125−n 抵抗
126 nビット・ラッチ
127−1〜127−n ラッチ出力線
128 nビット2入力1出力セレクタ
129 選択信号
130 クロック信号
131 制御回路
201 反転論理ゲートG1
202 反転論理ゲートG2
203 MOSトランジスタT1
204 MOSトランジスタT2
205 MOSトランジスタT3
206 MOSトランジスタT4
207 MOSトランジスタT5
208 MOSトランジスタT6
209 MOSトランジスタT7
210 反転論理ゲートG3
211 反転論理ゲートG4
212 MOSトランジスタT8
213 MOSトランジスタT9
214 MOSトランジスタT10
215 MOSトランジスタT11
301 反転論理ゲートG101
302 反転論理ゲートG102
303 MOSトランジスタT101
304 MOSトランジスタT102
305 MOSトランジスタT103
306 MOSトランジスタT104
307 MOSトランジスタT105
308 MOSトランジスタT106
309 反転論理ゲートG103
310 反転論理ゲートG104
311 MOSトランジスタT107
312 MOSトランジスタT108
313 MOSトランジスタT109
314 MOSトランジスタT110
315 MOSトランジスタT111
316 MOSトランジスタT112
317 MOSトランジスタT113
400−1〜400−7 ルータ
401−1 PC
402 エンコーダ
403 メモリ・アドレス信号
404 メモリ
405 メモリ・データ信号
406 目的地ネットワーク・アドレス抽出部
407 転送先ネットワーク・アドレス変更部
408 入力転送データ
409 出力転送データ
410 転送先ネットワーク・アドレス
411 目的地ネットワーク・アドレス
412 データ部
413 第2の転送先ネットワーク・アドレス
414 冷却装置
1 associative memory 2-1 to 2-m associative memory word 3-1 to 3-m data word line 4 comparison control signal 5-1 to 5-m coincidence line 6-1 to 6-m mask word line 7 -1-1 to 7-mn Content addressable memory cell 8-1-1 to 8-mn Data cell 9-1-1 to 9-mn Mask cell 10-1-1 to 10- mn comparator 11-1-1 to 11-mn logic gate 12-1 to 12-n search data 13-1 to 13-n bit line 14-1 to 14-n coincidence data intermediate logic line 15- 1-15-n resistor 16-1-16-n logic gate 17-1-17-n coincidence data OR line 20-1-20-n latch output line 21 n-bit latch 22 latch control signal 23 n-bit 2 Input 1 output selector 24 selection signal 25-1-1 to 25-mn logic gate 26-1-1 to 26-mn associative memory cells 27-1 to 27-n logic gate 28 associative memory 30 control circuit 31 clock signal 32-1-1 to 32-m-n comparator 33 match data logic Associative memory with sum signal output function 38 Match data logical sum signal 41-1 to 41-m Intermediate match line 42 Associative memory 43-1 to 43-m Associative memory word 44-1-1-1 to 44-mn Associative memory Cell 101 Associative memory without mask function 102-1 to 102-n Search data 103-1 to 103-n Bit lines 104-1 to 104-m Associative memory Words 105-1-1 to 105-mn Associative memory Cells 106-1 to 106-m Data word lines 107-1 to 107-m Data match lines 108-1 to 108-mn Data cells 109-1 to 10 9-mn comparator 110 associative memory 111-1 to 111-m mask word line 112-1-1-1 to 112-mn mask cell 113-1-1-1 to 113-mn comparator 116 associative Memories 117-1 to 117-m associative memory words 118-1-1-1 to 118-mn associative memory cells 119-1 to 119-m mask match lines 120-1-1 to 120-mn mask comparison Units 121-1-1-1 to 121-mn logic gates 122-1 to 122-n shortest mask lines 123-1 to 123-m latch 124 latch control signals 125-1 to 125-n resistor 126 n-bit latch 127 -1 to 127-n Latch output line 128 n-bit 2-input 1-output selector 129 selection signal 130 clock signal 131 control circuit 201 inversion logic gate G1
202 Inversion logic gate G2
203 MOS transistor T1
204 MOS transistor T2
205 MOS transistor T3
206 MOS transistor T4
207 MOS transistor T5
208 MOS transistor T6
209 MOS transistor T7
210 Inverting logic gate G3
211 Inverting logic gate G4
212 MOS transistor T8
213 MOS transistor T9
214 MOS transistor T10
215 MOS transistor T11
301 Inverting logic gate G101
302 Inverting logic gate G102
303 MOS transistor T101
304 MOS transistor T102
305 MOS transistor T103
306 MOS transistor T104
307 MOS transistor T105
308 MOS transistor T106
309 Inversion logic gate G103
310 Inverting logic gate G104
311 MOS transistor T107
312 MOS transistor T108
313 MOS transistor T109
314 MOS transistor T110
315 MOS transistor T111
316 MOS transistor T112
317 MOS transistor T113
400-1 to 400-7 Router 401-1 PC
402 Encoder 403 Memory Address Signal 404 Memory 405 Memory Data Signal 406 Destination Network Address Extraction Unit 407 Destination Network Address Change Unit 408 Input Transfer Data 409 Output Transfer Data 410 Destination Network Address 411 Destination Network Address 412 Data part 413 Second transfer destination network address 414 Cooling device

Claims (18)

a)nビット長のm個の記憶データを格納するn個のデータ・セルと;
前記記憶データの各ビットを検索対象から除外するか否かを対応するビットのマスク有効状態、マスク無効状態により設定するマスク情報を格納するn個のマスク・セルと;
入力データと前記記憶データとをワード単位で比較し、比較結果が一致するワードに対して一致信号を一致線上に出力するn個の比較器と;
前記一致線上のデータと前記記憶データとをビット列単位で論理演算し、両データが有効状態のときは第1の論理値を、それ以外の場合には開放状態を表わす第2の論理値を一致データ中間論理線上に出力するn個の論理ゲートと;を含む
m個の連想メモリ・ワードと(m,nは自然数)、
b)前記一致データ中間論理線上に出力されたnビットの中間一致データを格納するラッチ回路と、
c)検索データと前記中間一致データのいずれか一方を前記入力データとして前記連想メモリ・ワードに選択的に供給するセレクタ回路と、
d)前記入力データとして前記検索データが選択された場合には前記マスク情報を考慮して比較を行い、前記中間一致データが選択された場合には無視して比較を行うよう前記比較器を制御する制御回路と、
を具備したことを特徴とする連想メモリ。
a) n data cells for storing m stored data of n bits length;
N mask cells for storing mask information set by mask valid state and mask invalid state of corresponding bits as to whether or not to exclude each bit of the stored data from the search target;
N comparators that compare the input data and the stored data in word units and output a match signal on the match line for the words whose comparison results match;
The logical operation is performed on the data on the match line and the stored data in units of bit strings. When both data are valid, the first logical value is matched , and otherwise, the second logical value representing the open state is matched. N logic gates outputting on the data intermediate logic line; and m associative memory words including m and n are natural numbers;
b) a latch circuit for storing n-bit intermediate coincidence data output on the coincidence data intermediate logic line;
c) a selector circuit that selectively supplies one of search data and the intermediate match data as the input data to the associative memory word;
d) Control the comparator so that the comparison is performed in consideration of the mask information when the search data is selected as the input data, and the comparison is performed ignoring when the intermediate match data is selected. A control circuit to
An associative memory comprising:
請求項1に記載の連想メモリにおいて、
前記比較器は、前記検索データを対象とする比較結果と前記中間一致データを対象とする比較結果とを同一の一致線上に出力することを特徴とする連想メモリ。
The associative memory according to claim 1,
The associative memory, wherein the comparator outputs a comparison result for the search data and a comparison result for the intermediate match data on the same match line.
請求項1に記載の連想メモリにおいて、
検索動作に先立って前記一致線及び前記一致データ中間論理線を所定電位にプリ・チャージするプリ・チャージ手段を設けたことを特徴とする連想メモリ。
The associative memory according to claim 1,
An associative memory comprising pre-charge means for pre-charging the match line and the match data intermediate logic line to a predetermined potential prior to a search operation.
請求項1に記載の連想メモリにおいて、
前記マスク情報の有効状態を“0”、無効状態を“1”とし、
前記記憶データの有効状態を“1”、無効状態を“0”とし、
前記一致データ中間論理線の有効状態を“1”、無効状態を“0”とし、
前記一致線の有効状態を“1”、無効状態を“0”とするよう設定することを特徴とする連想メモリ。
The associative memory according to claim 1,
The valid state of the mask information is “0”, the invalid state is “1”,
The valid state of the stored data is “1”, the invalid state is “0”,
The valid state of the coincidence data intermediate logic line is “1”, the invalid state is “0”,
An associative memory, wherein the valid state of the coincidence line is set to “1” and the invalid state is set to “0”.
請求項4に記載の連想メモリにおいて、
前記比較器が前記一致線の有効状態“1”を真としたワイアードAND論理接続を構成することを特徴とする連想メモリ。
The associative memory according to claim 4,
An associative memory, wherein the comparator constitutes a wired AND logical connection in which the valid state “1” of the coincidence line is true.
請求項4に記載の連想メモリにおいて、
前記論理ゲートが前記一致データ中間論理線の有効状態“1”を真としたワイアードAND論理接続を構成することを特徴とする連想メモリ。
The associative memory according to claim 4,
An associative memory, wherein the logic gate constitutes a wired AND logic connection in which a valid state “1” of the coincidence data intermediate logic line is true.
請求項4に記載の連想メモリにおいて、
前記中間一致データとして前記記憶データの有効状態“1”を真とした論理和演算データを得ることを特徴とする連想メモリ。
The associative memory according to claim 4,
An associative memory characterized by obtaining logical sum operation data in which the valid state "1" of the stored data is true as the intermediate match data.
請求項1に記載の連想メモリにおいて、
前記マスク情報の有効状態を“0”、無効状態を“1”とし、
前記記憶データの有効状態を“0”、無効状態を“1”とし、
前記一致データ中間論理線の有効状態を“1”、無効状態を“0”とし、
前記一致線の有効状態を“1”、無効状態を“0”とするよう設定することを特徴とする連想メモリ。
The associative memory according to claim 1,
The valid state of the mask information is “0”, the invalid state is “1”,
The valid state of the stored data is “0”, the invalid state is “1”,
The valid state of the coincidence data intermediate logic line is “1”, the invalid state is “0”,
An associative memory, wherein the valid state of the coincidence line is set to “1” and the invalid state is set to “0”.
請求項8に記載の連想メモリにおいて、
前記比較器が前記一致線の有効状態“1”を真としたワイアードAND論理接続を構成することを特徴とする連想メモリ。
The content addressable memory according to claim 8,
An associative memory, wherein the comparator constitutes a wired AND logical connection in which the valid state “1” of the coincidence line is true.
請求項8に記載の連想メモリにおいて、
前記論理ゲートが前記一致データ中間論理線の有効状態“1”を真としたワイアードAND論理接続を構成することを特徴とする連想メモリ。
The content addressable memory according to claim 8,
An associative memory, wherein the logic gate constitutes a wired AND logic connection in which a valid state “1” of the coincidence data intermediate logic line is true.
請求項8に記載の連想メモリにおいて、
前記中間一致データとして前記記憶データの有効状態“0”を真とした論理和演算データを得ることを特徴とする連想メモリ。
The content addressable memory according to claim 8,
An associative memory characterized by obtaining logical sum operation data in which the valid state "0" of the stored data is true as the intermediate match data.
a)nビット長のm個の記憶データを格納するm×n個の第1のデータ・セルと;
前記記憶データの各ビットを検索対象から除外するか否かを対応するビットのマスク有効状態、マスク無効状態により設定するマスク情報を格納するm×n個のマスクセルと;
検索データと前記記憶データとを前記マスク情報を考慮してワード単位で比較し、比較結果が一致するワードに対して一致信号を中間一致線上に出力するm×n個の第1の比較器と;
前記中間一致線上のデータと前記記憶データとをビット列単位で論理演算し、両データが有効状態のときは第1の論理値を、それ以外の場合には開放状態を表わす第2の論理値を一致データ論理線上に出力するm×n個の論理ゲートと;
を含む第1のメモリと、
b)前記記憶データをワード毎に前記第1のデータ・セルに対応付けて格納するm×n個の第2のデータ・セルと;
前記一致データ論理和線上のデータと前記第2のデータ・セルに格納された前記記憶データとをワード単位で比較し、比較結果が一致するワードに対して一致信号を一致線上に出力するm×n個の第2の比較器と;を具備したことを特徴とする連想メモリ。
a) m × n first data cells storing m pieces of stored data of n bits length;
M × n mask cells for storing mask information to be set according to whether the corresponding bits are excluded from the search target according to the mask valid state and mask invalid state;
M × n first comparators that compare the search data and the stored data in units of words in consideration of the mask information, and output a match signal on the intermediate match line for the words whose comparison results match. ;
A logical operation is performed on the data on the intermediate coincidence line and the stored data in units of bit strings. When both data are valid, a first logical value is obtained. Otherwise, a second logical value representing an open state is obtained. and the m × n logic gate for outputting on the matching data logical line;
A first memory comprising:
b) m × n second data cells storing the stored data in association with the first data cells for each word;
The data on the coincidence data OR line and the stored data stored in the second data cell are compared in word units, and a coincidence signal is output on the coincidence line with respect to a word with a coincidence result of comparison m × an associative memory comprising: n second comparators;
請求項12に記載の連想メモリにおいて、
検索動作に先立って前記一致線、前記中間一致線及び前記一致データ論理和線を所定電位にプリ・チャージするプリチャージ手段を設けたことを特徴とする連想メモリ。
The content addressable memory according to claim 12,
An associative memory comprising precharge means for precharging the match line, the intermediate match line, and the match data OR line to a predetermined potential prior to a search operation.
請求項12に記載の連想メモリにおいて、
前記マスク情報の有効状態を“0”、無効状態を“1”とし、
前記記憶データの有効状態を“1”、無効状態を“0”とし、
前記一致データ論理和線の有効状態を“0”、無効状態を“1”とし、
前記中間一致線の有効状態を“1”、無効状態を“0”とし、
前記一致線の有効状態を“1”、無効状態を“0”とするよう設定する
ことを特徴とする連想メモリ。
The content addressable memory according to claim 12,
The valid state of the mask information is “0”, the invalid state is “1”,
The valid state of the stored data is “1”, the invalid state is “0”,
The valid state of the coincidence data OR line is set to “0”, the invalid state is set to “1”,
The valid state of the intermediate match line is “1”, the invalid state is “0”,
An associative memory, wherein the valid state of the coincidence line is set to “1” and the invalid state is set to “0”.
請求項14に記載の連想メモリにおいて、
前記第1の比較器が前記中間一致線の有効状態“1”を真としたワイアードAND論理接続を構成することを特徴とする連想メモリ。
The associative memory according to claim 14,
An associative memory, wherein the first comparator constitutes a wired AND logical connection in which a valid state “1” of the intermediate match line is true.
請求項14に記載の連想メモリにおいて、
前記一致データ論理和線上のデータをいったん格納する記憶手段を前記第1のメモリと第2のメモリとの間に介挿することを特徴とする連想メモリ。
The associative memory according to claim 14,
An associative memory characterized in that storage means for temporarily storing data on the coincidence data OR line is interposed between the first memory and the second memory.
目的地ネットワークアドレスを検索データとする連想メモリを内蔵するルータにおいて、
前記連想メモリとして請求項1乃至16に記載の連想メモリを備えたことを特徴とするルータ。
In a router with an associative memory that uses the destination network address as search data,
A router comprising the content addressable memory according to claim 1 as the content addressable memory.
請求項16に記載のルータを介してネットワークに接続された機器間でデータ通信を行うことを特徴とするネットワークシステム。   A network system for performing data communication between devices connected to a network via a router according to claim 16.
JP2003435802A 2003-12-26 2003-12-26 Associative memory, search method therefor, router and network system Expired - Fee Related JP3795043B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003435802A JP3795043B2 (en) 2003-12-26 2003-12-26 Associative memory, search method therefor, router and network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003435802A JP3795043B2 (en) 2003-12-26 2003-12-26 Associative memory, search method therefor, router and network system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000181406A Division JP3531105B2 (en) 2000-06-16 2000-06-16 Associative memory, search method thereof, router and network system

Publications (2)

Publication Number Publication Date
JP2004134081A JP2004134081A (en) 2004-04-30
JP3795043B2 true JP3795043B2 (en) 2006-07-12

Family

ID=32291311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003435802A Expired - Fee Related JP3795043B2 (en) 2003-12-26 2003-12-26 Associative memory, search method therefor, router and network system

Country Status (1)

Country Link
JP (1) JP3795043B2 (en)

Also Published As

Publication number Publication date
JP2004134081A (en) 2004-04-30

Similar Documents

Publication Publication Date Title
JP3191737B2 (en) Network system with router, improved router and associative memory used in the router
JP3593920B2 (en) Associative memory with shortest mask output function capable of continuous search operation
US6081440A (en) Ternary content addressable memory (CAM) having fast insertion and deletion of data values
US20120117319A1 (en) Low power, hash-content addressable memory architecture
US20040032775A1 (en) Concurrent searching of different tables within a content addressable memory
JP3957637B2 (en) Associative memory, search method thereof, network device, and network system
US6766317B2 (en) Range check cell and a method for the use thereof
JP3795043B2 (en) Associative memory, search method therefor, router and network system
JP3845814B2 (en) Associative memory, search method thereof, router and network system
US6781856B2 (en) Tertiary CAM cell
JP3531105B2 (en) Associative memory, search method thereof, router and network system
JP2002197873A (en) Associative memory
JP2005353107A (en) Semiconductor device
JP4343377B2 (en) Associative memory
JP4850403B2 (en) Magnitude contents referenceable memory
JP3957689B2 (en) Associative memory, search method thereof, network device, and network system
JP2004265528A (en) Associative memory
JP4369962B2 (en) Associative memory, search method therefor, network device, and network system
TWI622995B (en) Memory with multiple write ports
JP2009026437A (en) Method of storing and retrieving don't care data in associative memory device
JP2002124088A (en) Associative memory device and memory data moving method therefor
JP2001209563A (en) Output data selection device by pre-reading retrieving success signal
JPH08138384A (en) Associative memory
JPH0391831A (en) Sorting device and memory cell circuit
JPH06236692A (en) Content address type memory

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060303

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060411

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100421

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110421

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120421

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130421

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20130421

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20140421

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees