(57)【特許請求の範囲】
【請求項１】
予め記憶された複数の参照データの各々と入力された検索データとの比較を並列に実行し、その比較結果を示す複数の比較電流信号を生成するメモリアレイ部と、
前記検索データに近い参照データのｊ（ｊは、１＜ｊ≦ｋを満たす整数、ｋは、２以上の整数）回目の検索において、ｊ−１回目までに検索されたｊ−１個の参照データを前記複数の参照データから除き、その除いた残りの参照データから前記検索データに最も近い参照データを検出するための複数の比較電流信号を電圧に変換するとともに、その変換した電圧を増幅してｊ番目の出力信号を生成する信号生成動作を前記ｋ回実行する出力回路とを備え、
前記出力回路は、
前記ｊ回目の信号生成動作において、前記メモリアレイ部によって生成された複数の比較電流信号を複数の電圧に変換し、ｊ−１番目のフィードバック信号に基づいて、前記複数の電圧から前記検索データにｊ−１番目に近い参照データを示す電圧を除いて残りの電圧を検出し、その検出した残りの電圧を前記検索データにｊ番目に近い参照データを示す第１の電圧と前記検索データに遠い参照データを示す第２の電圧とに増幅する第１の増幅回路と、
前記ｊ回目の信号生成動作において、前記第１の増幅回路から出力された第１および第２の電圧をさらに増幅して前記ｊ番目の出力信号を生成する第２の増幅回路と、
前記ｊ回目の信号生成動作において、前記第２の増幅回路から出力されたｊ−１番目の出力信号に基づいて前記ｊ−１番目のフィードバック信号を生成し、その生成したｊ−１番目のフィードバック信号を前記第１の増幅回路へ出力するフィードバック回路とを含む、連想メモリ。
【請求項２】
前記第１の増幅回路は、前記ｊ−１番目のフィードバック信号に基づいて、前記検索データにｊ−１番目に近い参照データを示す比較電流信号を無効にすることによって前記複数の電圧から前記検索データにｊ−１番目に近い参照データを示す電圧を除いて残りの電圧を検出する、請求項１に記載の連想メモリ。
【請求項３】
前記第１の増幅回路は、前記複数の電圧から前記検索データにｊ−１番目に近い参照データを示す電圧を除いて残りの電圧を検出すると、前記残りの電圧を前記第１の電圧と前記第２の電圧とに分離するためのしきい値を設定し、前記残りの電圧の各々を前記しきい値と比較して前記残りの電圧を前記第１の電圧と前記第２の電圧とに増幅する、請求項１に記載の連想メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の検索結果を出力可能な連想メモリおよびそれを用いた検索システムに関するものである。
【背景技術】
【０００２】
近年、情報処理技術、特に画像圧縮・画像認識の分野においては、最小距離検索機能を持つ連想メモリが注目されている。連想メモリは、知的情報処理で必要となる物体認識のためのパターンマッチングやコードブックと呼ばれるデータ群を利用したデータ圧縮に非常に有効である。
【０００３】
連想メモリは、入力されたデータ列（検索データ）に対して連想メモリ内にある複数の参照データ中から最も類似した（距離の近い）データを検索する機能を持つ機能メモリの代表的なものの一つであり、その優れた検索機能により、先に述べた画像圧縮・画像認識などのパターンマッチング機能を有するアプリケーションにおいて、その性能を飛躍的に向上できるものとして期待されている。
【０００４】
Ｗビット幅Ｒ個の参照データから入力データと最も似ているデータを見つけることはパターンマッチングにおいて基本的な処理である［非特許文献１］。ゆえに画像圧縮，画像認識などの情報処理において、最小距離検索連想メモリ［特許文献１］は中核を担う部分であるといえる。既存の全並列最小距離検索連想メモリとしては、単純な距離であるハミング，マンハッタンおよびユークリッド距離の検索機能を持つものがそれぞれ提案されている。
【０００５】
これまでに、全並列最小ハミング距離検索アーキテクチャ［非特許文献２］や全並列最小マンハッタン距離検索アーキテクチャ［非特許文献３および特許文献２］が提案されている。
【特許文献１】特開2002-288985号公報
【特許文献２】特開2005-209317号公報
【非特許文献１】D. R. Tveter, "The Pattern RecognitionBasis of Artificial Intelligence," Los Alamitos, CA: IEEE computersociety, 1998.
【非特許文献２】H. J. Mattausch, T. Gyohten, Y. Soda, and T. Koide, "Compact Associative-Memory Architecture with Fully-Parallel Search Capability for the Minimum Hamming Distance," IEEE Journal of Solid-State Circuits, Vol. 37, pp. 218-227, 2002.
【非特許文献３】H. J. Mattausch, N. Omori, S. Fukae, T.Koide and T. Gyohten, "Fully-Parrallel Pattern-Matching Engine with Dynamic Adaptibility to Hamming or ManhattanDistance," 2002 Symposium on VLSI Circuits Digest of Technical Papers, pp. 252-255, 2002.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、従来の連想メモリは、検索データと参照データとを比較し、検索データに最も近い１つの参照データのみを出力するため、検索データに近い複数の参照データを出力することができないという問題がある。
【０００７】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、検索データに近い複数の参照データを出力可能な連想メモリを提供することである。
【０００８】
また、この発明の別の目的は、検索データに近い複数の参照データを出力可能な連想メモリを備えた検索システムを提供することである。
【課題を解決するための手段】
【０００９】
この発明によれば、連想メモリは、メモリアレイ部と、出力回路とを備える。メモリアレイ部は、予め記憶された複数の参照データの各々と入力された検索データとの比較を並列に実行し、その比較結果を示す複数の比較電流信号を生成する。出力回路は、検索データに近い参照データのｊ（ｊは、１＜ｊ≦ｋを満たす整数、ｋは、２以上の整数）回目の検索において、ｊ−１回目までに検索されたｊ−１個の参照データを複数の参照データから除き、その除いた残りの参照データから検索データに最も近い参照データを検出するための複数の比較電流信号を電圧に変換するとともに、その変換した電圧を増幅してｊ番目の出力信号を生成する信号生成動作をｋ回実行する。
【００１０】
好ましくは、出力回路は、第１および第２の増幅回路と、フィードバック回路とを含む。第１の増幅回路は、ｊ回目の信号生成動作において、メモリアレイ部によって生成された複数の比較電流信号を複数の電圧に変換し、ｊ−１番目のフィードバック信号に基づいて、複数の電圧から検索データにｊ−１番目に近い参照データを示す電圧を除いて残りの電圧を検出し、その検出した残りの電圧を検索データにｊ番目に近い参照データを示す第１の電圧と検索データに遠い参照データを示す第２の電圧とに増幅する。第２の増幅回路は、ｊ回目の信号生成動作において、第１の増幅回路から出力された第１および第２の電圧をさらに増幅してｊ番目の出力信号を生成する。フィードバック回路は、ｊ回目の信号生成動作において、第２の増幅回路から出力されたｊ−１番目の出力信号に基づいてｊ−１番目のフィードバック信号を生成し、その生成したｊ−１番目のフィードバック信号を第１の増幅回路へ出力する。
【００１１】
好ましくは、第１の増幅回路は、ｊ−１番目のフィードバック信号に基づいて、検索データにｊ−１番目に近い参照データを示す比較電流信号を無効にすることによって複数の電圧から検索データにｊ−１番目に近い参照データを示す電圧を除いて残りの電圧を検出する。
【００１２】
好ましくは、第１の増幅回路は、複数の電圧から検索データにｊ−１番目に近い参照データを示す電圧を除いて残りの電圧を検出すると、残りの電圧を第１の電圧と第２の電圧とに分離するためのしきい値を設定し、残りの電圧の各々をしきい値と比較して残りの電圧を第１の電圧と第２の電圧とに増幅する。
【００１３】
また、この発明によれば、検索システムは、第１および第２の連想メモリを備える。第１の連想メモリは、予め記憶された複数の参照データの各々と入力された検索データとの比較を並列に行ない、検索データに近い順にｋ（ｋは２以上の整数）個の参照データを出力する。第２の連想メモリは、第１の連想メモリによって出力されたｋ個の参照データの各々と検索データとの比較を並列に行ない、検索データに一致する参照データを出力する。
【００１４】
好ましくは、検索システムは、バッファをさらに備える。バッファは、第１の連想メモリからの出力信号を保持する。第１の連想メモリは、メモリアレイ部と、出力回路とを含む。メモリアレイ部は、予め記憶された複数の参照データの各々と入力された検索データとの比較を並列に実行し、その比較結果を示す複数の比較電流信号を生成する。出力回路は、検索データに近い参照データのｊ（ｊは、１≦ｊ≦ｋを満たす整数、ｋは、２以上の整数）回目の検索において、ｊ−１回目までに検索されたｊ−１個の参照データを複数の参照データから除き、その除いた残りの参照データから検索データに最も近い参照データを検出するための複数の比較電流信号を電圧に変換するとともに、その変換した電圧を増幅してｊ番目の出力信号を生成する信号生成動作をｋ回実行する。そして、バッファは、出力回路から出力されたｊ番目の出力信号を保持するとともに、出力回路からｋ番目の出力信号を受けると、ｋ個の参照データからなるｋ個の出力信号を第２の連想メモリへ出力する。
【００１５】
好ましくは、第１の連想メモリは、第１の距離指標で検索を行なってｋ個の参照データを出力する。第２の連想メモリは、第１の距離指標と異なる第２の距離指標で検索を行なって検索データに一致する参照データを出力する。
【００１６】
好ましくは、第２の連想メモリは、さらに、追加情報を付加して検索データに一致する参照データを出力する。
【００１７】
好ましくは、検索システムは、テーブル保持部をさらに備える。テーブル保持部は、ｋ個の参照データのジャンルと、特徴量とを対応付けた特徴量テーブルを保持する。そして、テーブル保持部は、第１の連想メモリからｋ個のデータを受けると、特徴量テーブルを参照して、ｋ個のデータのジャンルに対応する特徴量を検出し、その検出した特長量を追加の情報として第２の連想メモリへ出力する。
【発明の効果】
【００１８】
この発明による連想メモリにおいては、複数の参照データの各々と検索データとの比較を並列して行ない、その比較結果を示す複数の比較電流信号を生成する。そして、
検索データに近い参照データのｊ（ｊは、１≦ｊ≦ｋを満たす整数、ｋは、２以上の整数）回目の検索において、ｊ−１回目までに検索されたｊ−１個の参照データを複数の参照データから除き、その除いた残りの参照データから検索データに最も近い参照データを検出するための複数の比較電流信号を電圧に変換するとともに、その変換した電圧を増幅してｊ番目の出力信号を生成する信号生成動作をｋ回実行する。
【００１９】
したがって、この発明によれば、複数の参照データを出力できる。
【００２０】
また、この発明による検索システムにおいては、第１の連想メモリが全ての参照データの中から検索データに近い順にｋ個の参照データを出力し、第２の連想メモリが第１の連想メモリによって検索されたｋ個の参照データの範囲内で検索データに最も近い参照データを検索する。すなわち、この発明による検索システムにおいては、複数の連想メモリを用いて検索範囲を徐々に狭めながら検索データに最も近い参照データを検索する。
【００２１】
したがって、この発明によれば、検索データに最も近い参照データをより正確に検索できる。
【発明を実施するための最良の形態】
【００２２】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００２３】
図１は、この発明の実施の形態による連想メモリの構成を示す概略ブロック図である。図１を参照して、この発明の実施の形態による連想メモリ１００は、メモリアレイ部１０と、ＷＬＡ（Ｗｉｎｎｅｒ  Ｌｉｎｅ−ｕｐ Ａｍｐｌｉｆｉｅｒ）回路２０と、ＷＴＡ（Ｗｉｎｎｅｒ  Ｔａｋｅ  Ａｌｌ）回路３０と、決定回路４０と、フィードバック回路５０とを備える。
【００２４】
メモリアレイ部１０は、メモリ部１と、行デコーダ２と、列デコーダ３と、Ｒｅａｄ／Ｗｒｉｔｅ回路４と、検索データ保存回路５とを含む。
【００２５】
メモリ部１は、ユニットデータ保存回路（Ｕｎｉｔ  Ｓｔｏｒａｇｅ：ＵＳ）ＵＳ１１〜ＵＳ１Ｗ，ＵＳ２１〜ＵＳ２Ｗ，・・・，ＵＳＲ１〜ＵＳＲＷと、ユニットデータ比較回路（Ｕｎｉｔ  Ｃｏｍｐａｒａｔｏｒ：ＵＣ）ＵＣ１１〜ＵＣ１Ｗ，ＵＣ２１〜ＵＣ２Ｗ，・・・，ＵＣＲ１〜ＵＣＲＷと、ワード比較回路（Ｗｏｒｄ  Ｃｏｍｐａｒａｔｏｒ：ＷＣ）ＷＣ１〜ＷＣＲとを含む。なお、Ｒは、２以上の整数である。
【００２６】
ユニットデータ比較回路ＵＣ１１〜ＵＣ１Ｗは、それぞれ、ユニットデータ保存回路ＵＳ１１〜ＵＳ１Ｗに対応して設けられる。また、ユニットデータ比較回路ＵＣ２１〜ＵＣ２Ｗは、それぞれ、ユニットデータ保存回路ＵＳ２１〜ＵＳ２Ｗに対応して設けられる。以下、同様にして、ユニットデータ比較回路ＵＣＲ１〜ＵＣＲＷは、それぞれ、ユニットデータ保存回路ＵＳＲ１〜ＵＳＲＷに対応して設けられる。
【００２７】
ワード比較回路ＷＣ１は、ユニットデータ保存回路ＵＳ１１〜ＵＳ１Ｗおよびユニットデータ比較回路ＵＣ１１〜ＵＣ１Ｗに対応して配置される。また、ワード比較回路ＷＣ２は、ユニットデータ保存回路ＵＳ２１〜ＵＳ２Ｗおよびユニットデータ比較回路ＵＣ２１〜ＵＣ２Ｗに対応して配置される。以下、同様にして、ワード比較回路ＷＣＲは、ユニットデータ保存回路ＵＳＲ１〜ＵＳＲＷおよびユニットデータ比較回路ＵＣＲ１〜ＵＣＲＷに対応して配置される。
【００２８】
ユニットデータ保存回路ＵＳ１１〜ＵＳ１Ｗ，ＵＳ２１〜ＵＳ２Ｗ，・・・，ＵＳＲ１〜ＵＳＲＷは、行デコーダ２、列デコーダ３およびＲｅａｄ／Ｗｒｉｔｅ回路４によって書き込まれた参照データを保存する。
【００２９】
ユニットデータ比較回路ＵＣ１１〜ＵＣ１Ｗは、ユニットデータ保存回路ＵＳ１１〜ＵＳ１Ｗに保存された参照データと、検索データ保存回路５に保存された検索データとを比較する。また、ユニットデータ比較回路ＵＣ２１〜ＵＣ２Ｗは、ユニットデータ保存回路ＵＳ２１〜ＵＳ２Ｗに保存された参照データと、検索データ保存回路５に保存された検索データとを比較する。以下、同様にして、ユニットデータ比較回路ＵＣＲ１〜ＵＣＲＷは、ユニットデータ保存回路ＵＳＲ１〜ＵＳＲＷに保存された参照データと、検索データ保存回路５に保存された検索データとを比較する。そして、ユニットデータ比較回路ＵＣ１１〜ＵＣ１Ｗ、ユニットデータ比較回路ＵＣ２１〜ＵＣ２Ｗ、・・・、およびユニットデータ比較回路ＵＣＲ１〜ＵＣＲＷにおける参照データと検索データとの比較は、並列に行なわれる。
【００３０】
なお、ユニットデータ比較回路ＵＣ１１〜ＵＣ１Ｗ、ユニットデータ比較回路ＵＣ２１〜ＵＣ２Ｗ、・・・、およびユニットデータ比較回路ＵＣＲ１〜ＵＣＲＷにおける参照データと検索データとの比較は、ハミング距離、マンハッタン距離、ユークリッド距離およびそれらを組み合わせた距離指標のいずれかを用いて行なわれる。
【００３１】
すなわち、ユニットデータ比較回路ＵＣ１１〜ＵＣ１Ｗ、ユニットデータ比較回路ＵＣ２１〜ＵＣ２Ｗ、・・・、およびユニットデータ比較回路ＵＣＲ１〜ＵＣＲＷは、ハミング距離またはマンハッタン距離を距離指標として用いる場合、次式を用いて検索データと参照データとの比較を行なう。
【００３２】
【数１】
0004427574.tif 000002
【００３３】
式（１）において、Ｄｉは、参照データであり、Ｓｉは、検索データである。そして、各データＤｉ，Ｓｉが１ビットからなる場合、式（１）は、ハミング距離を表し、各データＤｉ，Ｓｉが複数ビットからなる場合、式（１）は、マンハッタン距離を表す。
【００３４】
また、ユニットデータ比較回路ＵＣ１１〜ＵＣ１Ｗ、ユニットデータ比較回路ＵＣ２１〜ＵＣ２Ｗ、・・・、およびユニットデータ比較回路ＵＣＲ１〜ＵＣＲＷは、ユークリッド距離を距離指標として用いる場合、次式を用いて検索データと参照データとの比較を行なう。
【００３５】
【数２】
0004427574.tif 000003
【００３６】
ワード比較回路ＷＣ１は、ユニットデータ比較回路ＵＣ１１〜ＵＣ１Ｗによる参照データと検索データとの比較結果を示す比較電流信号Ｃ１を生成し、その生成した比較電流信号Ｃ１をＷＬＡ回路２０へ出力する。また、ワード比較回路ＷＣ２は、ユニットデータ比較回路ＵＣ２１〜ＵＣ２Ｗによる参照データと検索データとの比較結果を示す比較電流信号Ｃ２を生成し、その生成した比較電流信号Ｃ２をＷＬＡ回路２０へ出力する。以下、同様にして、ワード比較回路ＷＣＲは、ユニットデータ比較回路ＵＣＲ１〜ＵＣＲＷによる参照データと検索データとの比較結果を示す比較電流信号ＣＲを生成し、その生成した比較電流信号ＣＲをＷＬＡ回路２０へ出力する。
【００３７】
したがって、メモリ部１は、複数の参照データの各々と検索データとの比較を並列して行ない、その比較結果を示す複数の比較電流信号Ｃ１〜ＣＲを生成してＷＬＡ回路２０へ出力する。
【００３８】
行デコーダ２は、メモリ部１の行方向のアドレスを指定する。列デコーダ３は、メモリ部１の列方向のアドレスを指定する。Ｒｅａｄ／Ｗｒｉｔｅ回路４は、参照データを行デコーダ２および列デコーダ３によって指定されたユニットデータ保存回路ＵＳ１１〜ＵＳ１Ｗ，ＵＳ２１〜ＵＳ２Ｗ，・・・，ＵＳＲ１〜ＵＳＲＷに書き込むとともに、検索データを検索データ保存回路５に書き込む。
【００３９】
検索データ保存回路５は、Ｒｅａｄ／Ｗｒｉｔｅ回路４によって書き込まれた検索データを保存する。
【００４０】
ＷＬＡ回路２０は、複数の比較電流信号Ｃ１〜ＣＲをメモリアレイ部１０から受け、複数のフィードバック信号ＦＢ１〜ＦＢＲをフィードバック回路５０から受ける。フィードバック信号ＦＢ１〜ＦＢＲの各々は、電圧ＶＤＤまたは電圧Ｖｒｅｆからなる。
【００４１】
そして、ＷＬＡ回路２０は、複数の比較電流信号Ｃ１〜ＣＲを複数の電圧ＶＣ１〜ＶＣＲに変換する。ＷＬＡ回路２０は、第１周期において、各々が電圧ＶＤＤからなるフィードバック信号ＦＢ１〜ＦＢＲをフィードバック回路５０から受け、複数の電圧ＶＣ１〜ＶＣＲのうち、電圧レベルが最も低い電圧ＶＣｉ（ｉは、１≦ｉ≦Ｒを満たす整数）をＷｉｎｎｅｒとしての電圧ＶＷに増幅し、電圧ＶＣｉ以外の電圧ＶＣ１〜ＶＣＲ（≠ＶＣｉ）をＬｏｓｅｒとしての電圧ＶＬ（＜ＶＷ）に増幅する。
【００４２】
その後、ＷＬＡ回路２０は、第２周期において、ＦＢ１〜ＦＢｉ−１，ＦＢｉ＋１〜ＦＢＲ＝ＶＤＤ，ＦＢｉ＝Ｖｒｅｆ（たとえば、Ｖｒｅｆ＝Ｇｎｄ）からなるフィードバック信号ＦＢ１〜ＦＢＲをフィードバック回路５０から受け、電圧ＶＣｉを除くＲ−１個の電圧ＶＣ１〜ＶＣｉ−１，ＶＣｉ＋１〜ＶＣＲのうち、電圧レベルが最も低い電圧（たとえば、電圧ＶＣ２）をＷｉｎｎｅｒとしての電圧ＶＷに増幅し、電圧ＶＣ２以外の電圧ＶＣ１，ＶＣ３〜ＶＣｉ−１，ＶＣｉ＋１〜ＶＣＲをＬｏｓｅｒとしての電圧ＶＬに増幅する。
【００４３】
引き続いて、ＷＬＡ回路２０は、第３周期において、ＦＢ１，ＦＢ３〜ＦＢｉ−１，ＦＢｉ＋１〜ＦＢＲ＝ＶＤＤ，ＦＢ２，ＦＢｉ＝Ｖｒｅｆからなるフィードバック信号ＦＢ１〜ＦＢＲをフィードバック回路５０から受け、電圧ＶＣ２，ＶＣｉを除くＲ−２個の電圧ＶＣ１，ＶＣ３〜ＶＣｉ−１，ＶＣｉ＋１〜ＶＣＲのうち、電圧レベルが最も低い電圧（たとえば、電圧ＶＣ５）をＷｉｎｎｅｒとしての電圧ＶＷに増幅し、電圧ＶＣ５以外の電圧ＶＣ１，ＶＣ３，ＶＣ４，ＶＣ６〜ＶＣｉ−１，ＶＣｉ＋１〜ＶＣＲをＬｏｓｅｒとしての電圧ＶＬに増幅する。
【００４４】
以下、ＷＬＡ回路２０は、上述した動作を所定周期目まで繰り返し行なう。この場合、電圧ＶＣｉは、Ｒ個の電圧ＶＣ１〜ＶＣＲの中で電圧レベルが最も低い電圧であり、電圧ＶＣ２は、Ｒ個の電圧ＶＣ１〜ＶＣＲの中で２番目に電圧レベルが低い電圧であり、電圧ＶＣ５は、Ｒ個の電圧ＶＣ１〜ＶＣＲの中で３番目に電圧レベルが低い電圧である。
【００４５】
したがって、ＷＬＡ回路２０は、Ｒ個の電圧ＶＣ１〜ＶＣＲの中から電圧レベルの低い順に１つの電圧を選択し、その選択した１つの電圧をＷｉｎｎｅｒとしての電圧ＶＷに増幅し、その他の電圧をＬｏｓｅｒとしての電圧ＶＬに増幅する。
【００４６】
すなわち、ＷＬＡ回路２０は、ｊ（ｊは、１≦ｊ≦ｋを満たす整数、ｋは、２以上の整数）周期目において、電圧レベルが最も低い電圧ＶＣＭＩＮから電圧レベルがｊ−１番目に低い電圧ＶＣｊ−１までのｊ−１個の電圧をＲ個の電圧ＶＣ１〜ＶＣＲから取り除き、残りのＲ−（ｊ−１）個の電圧ＶＣ１〜ＶＣＲ−（ｊ−１）から電圧レベルが最も低い電圧をＷｉｎｎｅｒとしての電圧ＶＷに増幅し、その電圧以外の電圧をＬｏｓｅｒとしての電圧ＶＬに増幅する。そして、ＷＬＡ回路２０は、Ｒ個の電圧ＶＣ１〜ＶＣＲの中から電圧レベルがｋ番目に低い電圧ＶＣｋがＷｉｎｎｅｒとしての電圧ＶＷに増幅されるまで、上述した動作を繰り返す。
【００４７】
そして、ＷＬＡ回路２０は、各周期において、増幅した電圧をＷＴＡ回路３０へ出力する。
【００４８】
ＷＴＡ回路３０は、各周期において、ＷＬＡ回路２０から受けた電圧をさらに増幅し、その増幅後の電圧を決定回路４０へ出力する。
【００４９】
決定回路４０は、ＷＴＡ回路３０から受けた電圧をしきい値によって２値化して信号Ｍ１〜ＭＲからなる出力信号を出力する。この場合、信号Ｍ１〜ＭＲのうちの１つの信号Ｍｉ（たとえば、信号Ｍ２）は、検索データに最も近い参照データが検索されたことを示す（すなわち、Ｗｉｎｎｅｒであることを示す）“１”からなり、それ以外の信号Ｍ１〜ＭＲ（≠Ｍｉ）は、参照データが検索データから離れていることを示す（すなわち、Ｌｏｓｅｒであることを示す）“０”からなる。そして、Ｗｉｎｎｅｒであることを示す“１”は、電圧ＶＤＤからなり、Ｌｏｓｅｒであることを示す“０”は、電圧Ｖｒｅｆ（Ｇｎｄ）（＜ＶＤＤ）からなる。
【００５０】
フィードバック回路５０は、信号Ｍ１〜ＭＲからなる出力信号を受け、信号Ｍ１〜ＭＲを構成する電圧レベルを反転した電圧レベルからなるフィードバック信号ＦＢ１〜ＦＢＲを生成し、その生成したフィードバック信号ＦＢ１〜ＦＢＲをＷＬＡ回路２０へ出力する。
【００５１】
より具体的には、フィードバック回路５０は、複数のフィードバック回路５１〜５Ｒからなる。フィードバック回路５１〜５Ｒは、それぞれ、信号Ｍ１〜ＭＲを受け、その受けた信号Ｍ１〜ＭＲを構成する電圧レベルを反転した電圧レベルからなるフィードバック信号ＦＢ１〜ＦＢＲを生成し、その生成したフィードバック信号ＦＢ１〜ＦＢＲをＷＬＡ回路２０へ出力する。
【００５２】
この場合、フィードバック回路５１〜５Ｒの各々は、一度、Ｖｒｅｆからなるフィードバック信号ＦＢを生成してＷＬＡ回路２０へ出力すると、それ以降、Ｖｒｅｆからなるフィードバック信号ＦＢを維持する。
【００５３】
図２は、図１に示すワード比較回路ＷＣ１〜ＷＣＲの構成を示す回路図である。図２を参照して、ワード比較回路ＷＣ１は、ｐ型ＭＯＳ（Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）トランジスタ１１〜１Ｗ，１Ｅからなる。
【００５４】
ｐ型ＭＯＳトランジスタ１１〜１Ｗは、ノードＮ１とノードＮ２との間に並列に接続される。この場合、ｐ型ＭＯＳトランジスタ１１〜１Ｗの各々において、ソースがノードＮ１に接続され、ドレインがノードＮ２に接続される。
【００５５】
そして、ｐ型ＭＯＳトランジスタ１１〜１Ｗは、ユニットデータ比較回路ＵＣ１１〜ＵＣ１Ｗにおける比較結果を示す電圧ＭＥＭ１１〜ＭＥＭ１Ｗをそれぞれゲートに受ける。
【００５６】
ｐ型ＭＯＳトランジスタ１Ｅは、電圧ＶＤＤが供給される電源ノードＶｄと、ノードＮ１との間に接続される。そして、ｐ型ＭＯＳトランジスタ１Ｅは、活性化信号ＥｎＥＱをゲートに受ける。活性化信号ＥｎＥＱは、ワード比較回路ＷＣ１を活性化するための信号であり、電圧Ｖｒｅｆ（Ｇｎｄ）または電圧ＶＤＤからなる。
【００５７】
ｐ型ＭＯＳトランジスタ１Ｅは、電圧Ｖｒｅｆからなる活性化信号ＥｎＥＱをゲートに受けると、オンされ、電源ノードＶｄから電圧ＶＤＤをノードＮ１に供給し、ワード比較回路ＷＣ１を活性化する。また、ｐ型ＭＯＳトランジスタ１Ｅは、電圧ＶＤＤからなる活性化信号ＥｎＥＱをゲートに受けると、オフされ、ワード比較回路ＷＣ１を停止する。
【００５８】
電流ＭＥＭ１１〜ＭＥＭ１Ｗの各々は、参照データと検索データとの対応するビットが一致する場合、電圧ＶＤＤからなり、参照データと検索データとの対応するビットが不一致である場合、電圧Ｖｒｅｆからなる。
【００５９】
したがって、ｐ型ＭＯＳトランジスタ１１〜１Ｗは、ＶＤＤからなる電圧ＭＥＭ１１〜ＭＥＭ１Ｗをそれぞれゲートに受けると、オフされ、ノードＮ１からノードＮ２へ電流を殆ど流さない。一方、ｐ型ＭＯＳトランジスタ１１〜１Ｗは、Ｖｒｅｆからなる電圧ＭＥＭ１１〜ＭＥＭ１Ｗをそれぞれゲートに受けると、ノードＮ１からノードＮ２へトランジスタサイズに対応した一定の電流を流す。
【００６０】
その結果、ワード比較回路ＷＣ１は、検索データとユニットデータ保存回路ＵＳ１１〜ＵＳ１Ｗに保存された参照データとの距離が最も短い場合（検索データと参照データが合致する場合）、各々がＶＤＤからなる電圧ＭＥＭ１１〜ＭＥＭ１Ｗをそれぞれｐ型ＭＯＳトランジスタ１１〜１Ｗのゲートに受けるので、ノードＮ１からノードＮ２へ全く電流を流さず、出力信号ＯＵＴ１を構成する電圧は、最も低くなる。
【００６１】
そして、ワード比較回路ＷＣ１は、検索データとユニットデータ保存回路ＵＳ１１〜ＵＳ１Ｗに保存された参照データとの距離が相対的に長くなると、Ｖｒｅｆからなる電圧ＭＥＭ１１〜ＭＥＭ１Ｗの数が相対的に増加し、ノードＮ１からノードＮ２へ相対的に多くの電流を流し、出力信号ＯＵＴ１を構成する電圧は、相対的に高くなる。
【００６２】
また、ワード比較回路ＷＣ１は、検索データとユニットデータ保存回路ＵＳ１１〜ＵＳ１Ｗに保存された参照データとの距離が最も遠い場合、各々がＶｒｅｆからなる電圧ＭＥＭ１１〜ＭＥＭ１Ｗをそれぞれｐ型ＭＯＳトランジスタ１１〜１Ｗのゲートに受けるので、ノードＮ１からノードＮ２へ最も多くの電流を流し、出力信号ＯＵＴ１を構成する電圧は、最も高くなる。
【００６３】
このように、ワード比較回路ＷＣ１は、検索データとユニットデータ保存回路ＵＳ１１〜ＵＳ１Ｗに保存された参照データとの距離が相対的に短い場合、相対的に低い電圧からなる出力信号ＯＵＴ１を出力し、検索データとユニットデータ保存回路ＵＳ１１〜ＵＳ１Ｗに保存された参照データとの距離が相対的に長い場合、相対的に高い電圧からなる出力信号ＯＵＴ１を出力する。
【００６４】
ワード比較回路ＷＣ２〜ＷＣＲの各々も、ワード比較回路ＷＣ１と同じ構成からなり、ワード比較回路ＷＣ１と同じ機構によってそれぞれ出力信号ＯＵＴ２〜ＯＵＴＲを出力する。
【００６５】
図３は、図１に示すＷＬＡ回路２０、ＷＴＡ回路３０および決定回路４０の回路図である。図３を参照して、ＷＬＡ回路２０は、ＷＬＡ回路２１〜２Ｒと、制御回路２１Ｃとを含む。ＷＬＡ回路２１は、ｐ型ＭＯＳトランジスタ２１１，２１３，２１５と、ｎ型ＭＯＳトランジスタ２１２，２１６〜２１８と、キャパシタ２１４とを含む。
【００６６】
ｐ型ＭＯＳトランジスタ２１１は、電圧ＶＤＤが供給される電源ノードＶｄと、比較電流信号Ｃ１が供給されるノードＮ２１との間に接続される。この場合、ｐ型ＭＯＳトランジスタ２１１のソースは、電源ノードＶｄに接続され、ドレインは、ノードＮ２１に接続される。
【００６７】
そして、ｐ型ＭＯＳトランジスタ２１１は、Ｖｒｅｆ（Ｇｎｄ）からなる活性化信号Ｅｎをゲートに受けると、ノードＮ２１の電位がＶＤＤになるまで、電流を電源ノードＶｄからノードＮ２１へ供給し、ＷＬＡ回路２１を不活性化する。また、ｐ型ＭＯＳトランジスタ２１１は、ＶＤＤからなる活性化信号Ｅｎをゲートに受けると、電源ノードＶｄからノードＮ２１へ電流を供給せず、ＷＬＡ回路２１を活性化する。
【００６８】
ｎ型ＭＯＳトランジスタ２１２は、ノードＮ２１と接地ノードとの間に接続される。この場合、ｎ型ＭＯＳトランジスタ２１２のドレインは、ノードＮ２１に接続され、ソースが接地ノードに接続される。また、ｎ型ＭＯＳトランジスタ２１２は、制御回路２１ＣのＶＦ（Ｖｏｌｔａｇｅ  Ｆｏｌｌｏｗｅｒ）回路２１９から制御電圧ＶＣをゲートに受ける。そして、ｎ型ＭＯＳトランジスタ２１２は、ノードＮ２１に供給された比較電流信号を制御電圧ＶＣのレベルに応じた電圧に変換し、その変換した電圧をｐ型ＭＯＳトランジスタ２１５のゲートに供給する。
【００６９】
ｐ型ＭＯＳトランジスタ２１３は、電源ノードＶｄとノードＮ２１との間に接続される。この場合、ｐ型ＭＯＳトランジスタ２１３のソースは、電源ノードＶｄに接続され、ドレインは、ノードＮ２１に接続される。また、ｐ型ＭＯＳトランジスタ２１３のゲートは、フィードバック回路５１の出力側に接続される。
【００７０】
そして、ｐ型ＭＯＳトランジスタ２１３は、Ｖｒｅｆ（Ｇｎｄ）からなるフィードバック信号ＦＢ１をフィードバック回路５１からゲートに受けると、ノードＮ２１の電位がＶＤＤになるまで電源ノードＶｄからノードＮ２１へ電流を供給する。また、ｐ型ＭＯＳトランジスタ２１３は、ＶＤＤからなるフィードバック信号ＦＢ１をフィードバック回路５１からゲートに受けると、電源ノードＶｄからノードＮ２１へ電流を全く供給しない。
【００７１】
キャパシタ２１４は、ノードＮ２１と接地ノードとの間に接続される。そして、キャパシタ２１４は、ｎ型ＭＯＳトランジスタ２１２によって変換されたノードＮ２１上の電圧を平滑化し、その平滑化した電圧をｐ型ＭＯＳトランジスタ２１５のゲートへ出力する。
【００７２】
ｐ型ＭＯＳトランジスタ２１５およびｎ型ＭＯＳトランジスタ２１６は、電源ノードＶｄと接地ノードとの間に直列に接続される。この場合、ｐ型ＭＯＳトランジスタ２１５のソースは、電源ノードＶｄに接続され、ｐ型ＭＯＳトランジスタ２１５のドレインは、ｎ型ＭＯＳトランジスタ２１６のドレインに接続され、ｎ型ＭＯＳトランジスタ２１６のソースは、接地ノードに接続される。
【００７３】
ｎ型ＭＯＳトランジスタ２１７は、ドレインが電源ノードＶｄに接続され、ソースがｎＭＯＳトランジスタ２１６のゲートに接続され、ゲートがｐ型ＭＯＳトランジスタ２１５のドレイン、ｎ型ＭＯＳトランジスタ２１６のドレインおよびノードＮ２２に接続される。
【００７４】
ｎ型ＭＯＳトランジスタ２１８は、ドレインがノードＮ２２に接続され、ソースが接地ノードに接続され、活性化信号Ｅｎの反転信号をゲートに受ける。
【００７５】
ＷＬＡ回路２２〜２Ｒの各々は、ＷＬＡ回路２１と同じ構成からなる。
【００７６】
制御回路２１Ｃは、ＶＦ回路２１９と、ｐ型ＭＯＳトランジスタ２２０と、ｎ型ＭＯＳトランジスタ２２１，２２２とを含む。ＶＦ回路２１９は、ＷＬＡ回路２１〜２ＲのＲ個のｎ型ＭＯＳトランジスタ２１２のゲートと、ｐ型ＭＯＳトランジスタ２２０のドレインおよびゲートとの間に接続される。
【００７７】
ｐ型ＭＯＳトランジスタ２２０およびｎ型ＭＯＳトランジスタ２２１は、電源ノードＶｄと接地ノードとの間に直列に接続される。そして、ｐ型ＭＯＳトランジスタ２２０は、電源ノードＶｄとｎ型ＭＯＳトランジスタのドレインとの間にダイオード接続される。また、ｎ型ＭＯＳトランジスタ２２１のゲートは、ｎ型ＭＯＳトランジスタ２２２のドレインおよびゲートに接続される。
【００７８】
ｎ型ＭＯＳトランジスタ２２２は、Ｒ個のＷＬＡ回路２１〜２Ｒのｎ型ＭＯＳトランジスタ２１７のソースと接地ノードとの間にダイオード接続される。
【００７９】
ｎ型ＭＯＳトランジスタ２２２は、ＷＬＡ回路２１〜２Ｒに含まれるＲ個のｎ型ＭＯＳトランジスタ２１７に流れる電流ｉ１〜ｉＲの和をノードＮ２３へ流す。そして、ｎ型ＭＯＳトランジスタ２２１は、ノードＮ２３に供給された電流に比例した電圧をゲートに受け、その受けた電圧の電圧レベルが相対的に高いとき、ノードＮ２４上の電圧を相対的に低くし、また、ゲートに受けた電圧の電圧レベルが相対的に低いとき、ノードＮ２４上の電圧を相対的に高くする。ＶＦ回路２１９は、ノードＮ２４上の電圧に比例した制御電圧ＶＣを生成し、その生成した制御電圧ＶＣをＷＬＡ回路２１〜２ＲのＲ個のｎ型ＭＯＳトランジスタ２１２のゲートへ出力する。
【００８０】
図４、図５および図６は、ＷＬＡ回路２０の動作を説明するための図である。図４を参照して、ＷＬＡ回路２１〜２Ｒに含まれるＲ個のｐ型ＭＯＳトランジスタ２１３の各々は、クロックの第１周期においては、電圧ＶＤＤからなるフィードバック信号ＦＢ１〜ＦＢＲをそれぞれフィードバック回路５１〜５Ｒから受けるので、ＷＬＡ回路２１〜２Ｒに含まれるＲ個のｐ型ＭＯＳトランジスタ２１５は、それぞれ比較電流信号Ｃ１〜ＣＲに比例した電圧ＶＣ１〜ＶＣＲをゲートに受ける。
【００８１】
比較電流信号Ｃ１〜ＣＲの各々は、参照データと検索データとの距離が相対的に短ければ、相対的に小さい電流からなり、参照データと検索データとの距離が相対的に長ければ、相対的に大きい電流からなるので、Ｒ個の電圧ＶＣ１〜ＶＣＲは、相互に異なる値からなる。
【００８２】
したがって、ＷＬＡ回路２１〜２Ｒに含まれるＲ個のｐ型ＭＯＳトランジスタ２１５は、それぞれ電圧ＶＣ１〜ＶＣＲの電圧レベルに応じた電流を電源ノードＶｄからノードＮ２２へ供給する。すなわち、ＷＬＡ回路２１〜２Ｒに含まれるＲ個のｐ型ＭＯＳトランジスタ２１５は、それぞれ電圧ＶＣ１〜ＶＣＲの電圧レベルが相対的に低い場合、相対的に多くの電流をノードＮ２２へ供給し、それぞれ電圧ＶＣ１〜ＶＣＲの電圧レベルが相対的に高い場合、相対的に少ない電流をノードＮ２２へ供給する。
【００８３】
その結果、ノードＮ２２上の電圧は、電圧ＶＣ１〜ＶＣＲの電圧レベルが相対的に低い場合、相対的に高くなり、電圧ＶＣ１〜ＶＣＲの電圧レベルが相対的に高い場合、相対的に低くなる。そして、ＷＬＡ回路２１〜２Ｒに含まれるＲ個のｎ型ＭＯＳトランジスタ２１７は、ノードＮ２２上の電圧が相対的に高くなれば、相対的に多くの電流をｎ型ＭＯＳトランジスタ２２２へ供給し、ノードＮ２２上の電圧が相対的に低くなれば、相対的に少ない電流をｎ型ＭＯＳトランジスタ２２２へ供給する。
【００８４】
ｎ型ＭＯＳトランジスタ２２２がＷＬＡ回路２１〜２Ｒに含まれるＲ個のｎ型ＭＯＳトランジスタ２２２の全てから受けた電流の和をｉ１＋ｉ２＋・・・＋ｉＲとし、ｎ型ＭＯＳトランジスタ２２２が電流ｉ１＋ｉ２＋・・・＋ｉＲを受けたときのノードＮ２３上の電圧をＶ１とすると、ノードＮ２４上の電圧は、最も低くなり、ＶＦ回路２１９は、最も低い電圧からなる制御電圧ＶＣ−１をＷＬＡ回路２０のＲ個のｎ型ＭＯＳトランジスタ２１２のゲートへ印加する。
【００８５】
そうすると、比較電流信号Ｃ１〜ＣＲは、それぞれ、ＷＬＡ回路２１〜２Ｒに含まれるｎ型ＭＯＳトランジスタ２１２のゲートに印加された制御電圧ＶＣ−１に応じた電圧レベルからなる電圧ＶＣ１〜ＶＣＲに変換され、その変換された電圧ＶＣ１〜ＶＣＲがそれぞれＷＬＡ回路２１〜２Ｒのｐ型ＭＯＳトランジスタ２１５のゲートに印加される。
【００８６】
この場合、ｎ型ＭＯＳトランジスタ２１２によって比較電流信号Ｃ１〜ＣＲから変換された電圧ＶＣ１〜ＶＣＲは、ＶＣ１，ＶＣ３，ＶＣ８，ＶＣ４，・・・，ＶＣＲ−１，ＶＣＲの順で電圧レベルが高くなるものとする（図６参照）。
【００８７】
そうすると、ＷＬＡ回路２１のｐ型ＭＯＳトランジスタ２１５は、ＷＬＡ回路２２〜２Ｒのｐ型ＭＯＳトランジスタ２１５よりも多くの電流をノードＮ２２へ供給し、ＷＬＡ回路２１のノードＮ２２上の電圧が最も高くなる。
【００８８】
ＷＬＡ回路２１以外のＷＬＡ回路２２〜２Ｒにおいては、ｐ型ＭＯＳトランジスタ２１５が電源ノードＶｄからノードＮ２２へ供給する電流は、ＷＬＡ回路２１のｐ型ＭＯＳトランジスタ２１５が電源ノードＶｄからノードＮ２２へ供給する電流よりも少なくなり、ＷＬＡ回路２２〜２ＲのノードＮ２２上の電圧は、ＷＬＡ回路２１のノードＮ２２上の電圧よりも低くなる。
【００８９】
ＷＬＡ回路２１〜２Ｒの各々は、電源ノードＶｄと接地ノードとの間に直列に接続されたｐ型ＭＯＳトランジスタ２１５およびｎ型ＭＯＳトランジスタ２１６を含むので、反転増幅器の機能によって入力側のノードＮ２１上の電圧を反転増幅して出力側のノードＮ２２上へ電圧を出力する。
【００９０】
そして、ＷＬＡ回路２１〜２ＲのＲ個のｎ型ＭＯＳトランジスタ２１２のゲートに印加される制御電圧ＶＣ−１は、最も高い電圧を出力するＷＬＡ回路２１のノードＮ２２上の電圧をＷｉｎｎｅｒ用の電圧ＶＷとしてノードＮ２２上へ出力し、ＷＬＡ回路２２〜２ＲのノードＮ２２上の電圧をＬｏｓｅｒ用の電圧ＶＬ（＜ＶＷ）としてノードＮ２２上へ出力するための電圧である。つまり、制御電圧ＶＣ−１は、最も低い電圧ＶＣ１をＷｉｎｎｅｒ用の電圧ＶＷとしてノードＮ２２上へ出力し、電圧ＶＣ１以外の電圧ＶＣ１〜ＶＣＲ（≠ＶＣ１）をＬｏｓｅｒ用の電圧ＶＬ（＜ＶＷ）としてノードＮ２２上へ出力するためのしきい値電圧Ｖｔｈ１を各ＷＬＡ回路２１〜２Ｒ（＝ｐ型ＭＯＳトランジスタ２１５およびｎ型ＭＯＳトランジスタ２１６からなる反転増幅器）に設定するための制御電圧である。
【００９１】
図５を参照して、第２周期目において、ＷＬＡ回路２１のｐ型ＭＯＳトランジスタ２１３は、Ｖｒｅｆ（Ｇｎｄ）からなるフィードバック信号ＦＢ１をゲートに受け、ＷＬＡ回路２２〜２ＲのＲ−１個のｐ型ＭＯＳトランジスタ２１３は、ＶＤＤからなるフィードバック信号ＦＢ２〜ＦＢＲをゲートに受ける。
【００９２】
そうすると、ＷＬＡ回路２１のｐ型ＭＯＳトランジスタ２１３は、ノードＮ２１上の電位がＶＤＤになるまで電源ノードＶｄからノードＮ２１へ電流を供給し、ＷＬＡ回路２２〜２Ｒのｐ型ＭＯＳトランジスタ２１３は、電源ノードＶｄからノードＮ２１へ電流を供給しない。
【００９３】
その結果、ＷＬＡ回路２１のｐ型ＭＯＳトランジスタ２１５は、比較電流信号Ｃ１をｎ型ＭＯＳトランジスタ２１２によって変換した電圧ではなく、ｐ型ＭＯＳトランジスタ２１５がノードＮ２１へ供給した電流をｎ型ＭＯＳトランジスタ２１２によって変換した電圧ＶＤＤをゲートに受け、電源ノードＶｄからノードＮ２２へ電流を供給しない。そして、ＷＬＡ回路２１のノードＮ２２上の電圧は、低下する。また、ＷＬＡ回路２１のｎ型ＭＯＳトランジスタ２１７は、ｎ型ＭＯＳトランジスタ２２２に電流ｉ１を供給しない。
【００９４】
このように、Ｖｒｅｆ（Ｇｎｄ）からなるフィードバック信号ＦＢ１を受けたＷＬＡ回路２１は、メモリアレイ部１０から受けた比較電流信号Ｃ１を無効にする。
【００９５】
一方、ＷＬＡ回路２２〜２Ｒのｐ型ＭＯＳトランジスタ２１５は、電源ノードＶｄからノードＮ２２へ電流を供給し、ＷＬＡ回路２２〜２Ｒのｎ型ＭＯＳトランジスタ２１７は、それぞれ、電流ｉ２〜ｉＲをｎ型ＭＯＳトランジスタ２２２へ供給する。
【００９６】
その結果、ｎ型ＭＯＳトランジスタ２２２は、電流ｉ２＋・・・＋ｉＲを受け、この電流ｉ２＋・・・＋ｉＲは、電流ｉ１＋ｉ２＋・・・＋ｉＲよりも小さいので、ノードＮ２３上の電圧は、Ｖ１よりも低いＶ２になる。
【００９７】
そうすると、ノードＮ２４上の電圧は、上昇し、ＶＦ回路２１９は、制御電圧ＶＣ−１よりも高い制御電圧ＶＣ−２をＷＬＡ回路２１〜２ＲのＲ個のｎ型ＭＯＳトランジスタ２１２のゲートへ出力する。
【００９８】
その結果、ＷＬＡ回路２１〜２Ｒのｎ型ＭＯＳトランジスタ２１２は、ノードＮ２１から接地ノードへより多くの電流を流し、ＷＬＡ回路２２〜２Ｒにおいて、比較電流信号Ｃ２〜ＣＲは、ｎ型ＭＯＳトランジスタ２１２によって第１周期目よりも電圧レベルの低い電圧ＶＣ２〜ＶＣＲに変換される。
【００９９】
そして、ＷＬＡ回路２０は、電圧ＶＣ２〜ＶＣＲの中で最も低い電圧ＶＣ３をＷｉｎｎｅｒ用の電圧ＶＷに変換し、電圧ＶＣ３以外の電圧ＶＣ２〜ＶＣＲ（≠ＶＣ３）をＬｏｓｅｒ用の電圧ＶＬに変換する。
【０１００】
したがって、制御電圧ＶＣ−２は、電圧ＶＣ２〜ＶＣＲの中で最も低い電圧ＶＣ３をＷｉｎｎｅｒ用の電圧ＶＷとしてノードＮ２２上へ出力し、電圧ＶＣ３以外の電圧ＶＣ２〜ＶＣＲ（≠ＶＣ３）をＬｏｓｅｒ用の電圧ＶＬ（＜ＶＷ）としてノードＮ２２上へ出力するためのしきい値電圧Ｖｔｈ２を各ＷＬＡ回路２１〜２Ｒ（＝ｐ型ＭＯＳトランジスタ２１５およびｎ型ＭＯＳトランジスタ２１６からなる反転増幅器）に設定するための制御電圧である。
【０１０１】
ＷＬＡ回路２０は、第３周期目から第ｋ周期目まで、上述した動作を繰り返し、最初に供給されたＲ個の電圧ＶＣ１〜ＶＣＲの中から電圧レベルの低い順にｋ個の電圧を選択し、その選択した電圧をＶＷとして出力する。
【０１０２】
上述したように、この発明においては、ＷＬＡ回路２０の第２周期目以降において、Ｒ個のＷＬＡ回路２１〜２ＲにおいてＷｉｎｎｅｒ用の電圧ＶＷとＬｏｓｅｒ用の電圧ＶＬとを検出するためのしきい値電圧Ｖｔｈを徐々に高くして前回の周期でＷｉｎｎｅｒとして検出された電圧（＝ＶＣ１〜ＶＣＲのいずれか）を除く残りの電圧をＷｉｎｎｅｒ用の電圧ＶＷとＬｏｓｅｒ用の電圧ＶＬとに分離する。
【０１０３】
再び、図３を参照して、ＷＴＡ回路３０は、ＷＴＡ回路３１〜３Ｒを含む。ＷＴＡ回路３１〜３Ｒは、それぞれ、ＷＬＡ回路２１〜２Ｒに対応して設けられる。そして、ＷＴＡ回路３１〜３Ｒの各々は、５個の反転増幅器ＩＶ１〜ＩＶ５を含む。５個の反転増幅器ＩＶ１〜ＩＶ５は、ＷＬＡ回路２０と決定回路４０との間で直列に接続される。
【０１０４】
また、上記において、ワード比較回路、Ｗｉｎｎｅｒ  Ｌｉｎｅ−ｕｐ増幅回路およびＷｉｎｎｅｒ  Ｔａｋｅ  Ａｌｌ回路は、ｎ型ＭＯＳトランジスタとｐ型ＭＯＳトランジスタとが双対関係な構成をとってもよい。
【０１０５】
ＷＴＡ回路３１〜３Ｒの反転増幅器ＩＶ１〜ＩＶ５は、ＷＬＡ回路２１〜２Ｒの出力信号を５回反転増幅して決定回路４０へ出力する。
【０１０６】
決定回路４０は、決定回路４１〜４Ｒを含む。決定回路４１〜４Ｒは、それぞれ、ＷＴＡ回路３１〜３Ｒに対応して設けられる。決定回路４１〜４Ｒの各々は、直列に接続された３個のインバータ４１１〜４１３からなる。したがって、決定回路４１〜４Ｒは、それぞれ、ＷＴＡ回路３１〜３Ｒの出力信号を反転した信号を信号Ｍ１〜ＭＲとして出力する。
【０１０７】
図７は、図３に示すフィードバック回路５１の回路図である。図７を参照して、フィードバック回路５１は、ＮＯＲゲート５１１，５１２からなる。ＮＯＲゲート５１１の一方の入力端子は、入力信号Ｓを受け、ＮＯＲゲート５１１の他方の入力端子は、ＮＯＲゲート路５１２の出力端子Ｑに接続される。
【０１０８】
また、ＮＯＲゲート５１２の一方の入力端子は、入力信号Ｒを受け、ＮＯＲゲート５１２の他方の入力端子は、ＮＯＲゲート５１１の出力端子Ｑ’に接続される。
【０１０９】
すなわち、フィードバック回路５１は、ＳＲフリップフロップ（およびそれに類似するもの）からなる。
【０１１０】
なお、フィードバック回路５２〜５Ｒの各々も、図７に示すフィードバック回路５１と同じ回路図からなる。
【０１１１】
図８は、図７に示すフィードバック回路５１の入力信号Ｓ，Ｒおよび出力信号Ｑ’のタイミングチャートである。図８において、縦軸は、電圧を表し、横軸は、時間を表す。
【０１１２】
入力信号Ｒが０Ｖからなる場合、入力信号Ｓの電圧レベルが０Ｖまたは３．３Ｖへ変化しても、出力電圧Ｑ’は、０Ｖからなる。
【０１１３】
一方、入力信号Ｒが３．３Ｖからなる場合、出力電圧Ｑ’は、入力信号Ｓが０Ｖになると、３．３Ｖになり、入力信号Ｓが３．３Ｖになると、０Ｖになる。
【０１１４】
したがって、フィードバック回路５１は、０Ｖからなる出力信号Ｑ’を出力するまでは、３．３Ｖからなる入力信号Ｒを受け、０Ｖからなる出力信号Ｑ’を一度出力すると、０Ｖからなる入力信号Ｒを受ける。
【０１１５】
これによって、フィードバック回路５１は、信号Ｍ１が“１”になるまでは、ＶＤＤからなるフィードバック信号ＦＢ１をＷＬＡ回路２１のｐ型ＭＯＳトランジスタ２１３のゲートへ供給し、信号Ｍ１が一度“１”になると、それ以降、Ｖｒｅｆ（Ｇｎｄ）からなるフィードバック信号ＦＢ１をＷＬＡ回路２１のｐ型ＭＯＳトランジスタ２１３のゲートへ供給し続ける。
【０１１６】
フィードバック回路５２〜５Ｒについても同じである。
【０１１７】
図９および図１０は、それぞれ、図１に示す連想メモリ１００における検索動作を説明するための第１および第２の概念図である。図９を参照して、検索データに近い参照データの検索が開始されると、メモリアレイ部１０は、検索データと複数の参照データの各々との比較を並列に実行し、その比較結果を示す複数の比較電流信号Ｃ１〜ＣＲを生成する。
【０１１８】
そして、ＷＬＡ回路２０は、メモリアレイ部１０から複数の比較電流信号Ｃ１〜ＣＲを受け、第１周期において、各々が電圧ＶＤＤからなるフィードバック信号ＦＢ１〜ＦＢＲをフィードバック回路５０から受ける。そして、ＷＬＡ回路２０は、上述した動作によって、複数の比較電流信号Ｃ１〜ＣＲを複数の電圧ＶＣ１〜ＶＣＲに変換し、その変換した電圧ＶＣ１〜ＶＣＲのうち、最も低い電圧ＶＣ２をＷｉｎｎｅｒ用の電圧ＶＷに変換し、電圧ＶＣ２以外の電圧ＶＣ１〜ＶＣＲ（≠ＶＣ２）をＬｏｓｅｒ用の電圧ＶＬに変換し、比較電圧信号ＬＡ１〜ＬＡＲをＷＴＡ回路３０へ出力する。
【０１１９】
そして、ＷＴＡ回路３０は、比較電圧信号ＬＡ１〜ＬＡＲをＷＬＡ回路２０から受け、その受けた比較電圧信号ＬＡ１〜ＬＡＲをさらに増幅し、その増幅した比較電圧信号ＬＡ１〜ＬＡＲを決定回路４０へ出力する。
【０１２０】
決定回路４０は、増幅された比較電圧信号ＬＡ１〜ＬＡＲをＷＴＡ回路３０から受け、その受けた比較電圧信号ＬＡ１〜ＬＡＲのうち、最も高い電圧からなる比較電圧信号ＬＡ２を“１”（Ｗｉｎｎｅｒ）に変換し、比較電圧信号ＬＡ２以外の比較電圧信号ＬＡ１〜ＬＡＲ（≠ＬＡ２）を“０”（Ｌｏｓｅｒ）に変換して信号Ｍ１，Ｍ３〜ＭＲ＝０，Ｍ２＝１からなる出力信号を出力する。
【０１２１】
その後、連想メモリ１００の第２周期において、フィードバック回路５１〜５Ｒは、それぞれ、信号Ｍ１〜ＭＲを受ける。そして、フィードバック回路５１，５３〜５Ｒは、それぞれ、信号Ｍ１，Ｍ３〜ＭＲ＝０に応じて、電圧ＶＤＤからなるフィードバック信号ＦＢ１，ＦＢ３〜ＦＢＲを生成してＷＬＡ回路２０へ出力し、フィードバック回路５２は、信号Ｍ２＝１に応じて、電圧Ｖｒｅｆ（Ｇｎｄ）からなるフィードバック信号ＦＢ２を生成してＷＬＡ回路２０へ出力する。
【０１２２】
そうすると、ＷＬＡ回路２０は、フィードバック信号ＦＢ１，ＦＢ３〜ＦＢＲ＝ＶＤＤと、フィードバック信号ＦＢ２＝Ｖｒｅｆ（Ｇｎｄ）とを受け、その受けたフィードバック信号ＦＢ１，ＦＢ３〜ＦＢＲ＝ＶＤＤおよびフィードバック信号ＦＢ２＝Ｖｒｅｆ（Ｇｎｄ）に基づいて、上述した動作によって、電圧ＶＣ２を除く電圧ＶＣ１，ＶＣ３〜ＶＣＲの中から最も低い電圧ＶＣ１をＷｉｎｎｅｒ用の電圧ＶＷとして検出し、電圧ＶＣ１を除く電圧ＶＣ３〜ＶＣＲをＬｏｓｅｒ用の電圧ＶＬとして検出し、比較電圧信号ＬＡ１，ＬＡ３〜ＬＡＲをＷＴＡ回路３０へ出力する。そして、ＷＴＡ回路３０は、ＷＬＡ回路２０から受けた比較電圧信号ＬＡ１，ＬＡ３〜ＬＡＲをさらに増幅して決定回路４０へ出力し、決定回路４０は、比較電圧信号ＬＡ１を“１”からなる信号Ｍ１に変換し、比較電圧信号ＬＡ３〜ＬＡＲを“０”からなる信号Ｍ３〜ＭＲに変換して出力信号を出力する。
【０１２３】
すなわち、第２周期においては、ユニットデータ保存回路ＵＳ２１〜ＵＳ２Ｗ、ユニットデータ比較回路ＵＣ２１〜ＵＣ２Ｗ、ワード比較回路ＷＣ２、ＷＬＡ回路２２、ＷＴＡ回路３２および決定回路４２にマスクを掛け、残りの部分で検索データに最も近い参照データを検索する（図１０参照）。つまり、第２周期においては、比較電流信号Ｃ２は、無効にされる。
【０１２４】
その後、連想メモリ１００は、Ｗｉｎｎｅｒが出力されたワード比較回路の系列にマスクを掛け、残りの参照データの中から検索データに最も近い参照データを検索する動作を上述した方法によって繰り返し実行し、検索データにｋ番目に近い参照データが検索されると、検索動作を終了する。
【０１２５】
図１１は、図１に示す連想メモリ１００の複数のクロックにおける検索動作を示すシミュレーション結果である。図１１を参照して、活性化信号Ｅｎが第１周期Ｔ１において３．３Ｖになると、連想メモリ１００は、活性化され、第１周期Ｔ１において検索データと最も近い距離（＝ｄｉｓｔａｎｃｅ＝１）を有するＷｉｎｎｅｒ＃１を出力する。
【０１２６】
その後、連想メモリ１００は、第２周期Ｔ２において活性化されると、検索データと２番目に近い距離（＝ｄｉｓｔａｎｃｅ＝２）を有するＷｉｎｎｅｒ＃２を出力する。
【０１２７】
以後、同様にして、連想メモリ１００は、第３周期Ｔ３および第４周期Ｔ４において、それぞれ、検索データと３番目および４番目に近い距離（＝ｄｉｓｔａｎｃｅ＝３，４）を有するＷｉｎｎｅｒ＃３，Ｗｉｎｎｅｒ＃４を出力する。
【０１２８】
そして、連想メモリ１００においては、一度、出力されたＷｉｎｎｅｒ＃１〜＃４は、それ以降、不活性化されている。したがって、Ｗｉｎｎｅｒ＃１が出力された後、Ｗｉｎｎｅｒ＃２が出力される場合、Ｗｉｎｎｅｒ＃１を除く参照データの中から検索データに最も近い参照データが検索され、その検索された参照データがＷｉｎｎｅｒ＃２として出力される。Ｗｉｎｎｅｒ＃３，Ｗｉｎｎｅｒ＃４についても同様である。
【０１２９】
その結果、図１１に示すシミュレーションから、検索データに近い順にｋ個の参照データを検索可能な連想メモリ１００の動作を確認できた。
【０１３０】
図１２は、この発明の実施の形態による検索システムの構成図である。図１２を参照して、この発明の実施の形態による検出システム２００は、連想メモリ１００と、書込／検索回路１１０と、連想メモリ１２０とを備える。すなわち、検索システム２００は、図１に示す連想メモリ１００を備える検索システムである。
【０１３１】
連想メモリ１００については、上述したとおりである。なお、検索システム２００においては、連想メモリ１００は、エンコーダ６０を備えており、エンコーダ６０は、ｋ個のクロックを用いて検索したｋ個の参照データを決定回路４０から受け、その受けたｋ個の参照データのアドレスＡｄｄ１〜Ａｄｄｋを生成する。そして、エンコーダ６０は、その生成したアドレスＡｄｄ１〜Ａｄｄｋを書込／検索回路１１０へ出力する。
【０１３２】
書込／検索回路１１０は、連想メモリ１００からアドレスＡｄｄ１〜Ａｄｄｋを受け、外部から追加情報を受ける。そして、書込／検索回路１１０は、アドレスＡｄｄ１〜Ａｄｄｋおよび追加情報を連想メモリ１２０へ出力する。
【０１３３】
連想メモリ１２０は、連想メモリ１００によって検索されたｋ個の参照データの範囲において、検索データとｋ個の参照データの各々との比較を並列に実行し、検索データに最も近い参照データを検索し、その検索した参照データを最終Ｗｉｎｎｅｒとして出力する。連想メモリ１２０は、連想メモリ１００のメモリアレイ部１０と同じメモリアレイ部を備えるので、連想メモリ１００によって検索されたｋ個の参照データのアドレスＡｄｄ１〜Ａｄｄｋをエンコーダ６０から受ければ、アドレスＡｄｄ１〜Ａｄｄｋを用いて自己のメモリアレイ部においてｋ個の参照データを指定でき、その指定したｋ個の参照データの範囲で検索データに一致する参照データを検索できる。
【０１３４】
なお、検索システム２００においては、連想メモリ１００は、ハミング距離を用いて検索データに近いｋ個の参照データを検索し、連想メモリ１２０は、ユークリッド距離を用いてｋ個の参照データの中から検索データに一致する参照データを検索する。
【０１３５】
図１３は、図１２に示す検索システム２００における検索のイメージ図である。連想メモリ１００，１２０は、Ｒ個の参照データをメモリアレイ部１０に含む。連想メモリ１００は、上述した動作によって、たとえば、Ｒ個の参照データの中から検索データに近いｋ個の参照データ２〜ｋ＋１を検索する（図１３の（ａ）→（ｂ）参照）。
【０１３６】
そして、連想メモリ１００は、その検索したｋ個の参照データ２〜ｋ＋１のアドレスＡｄｄ２〜Ａｄｄｋ＋１を書込／検索回路１１０を介して連想メモリ１２０の行デコーダへ出力する。
【０１３７】
連想メモリ１２０の行デコーダは、アドレスＡｄｄ２〜Ａｄｄｋ＋１に基づいて、メモリアレイ部１０のｋ個の参照データ２〜ｋ＋１を指定する。そうすると、連想メモリ１２０は、検索データ保存回路に保存された検索データとｋ個の参照データ２〜ｋ＋１の各々との比較を並列に実行し、検索データに一致する参照データｋを検索する（図１３の（ｂ）→（ｃ）参照）。
【０１３８】
このように、この発明においては、２つの連想メモリ１００，１２０を用いて、検索する参照データの範囲を徐々に狭めて検索を行ない、最終的に検索データに一致する参照データをＷｉｎｎｅｒとして出力する。
【０１３９】
したがって、検索データに一致する参照データを正確に検索できる。
【０１４０】
図１２に示す検索システム２００の応用例について説明する。図１４は、字体の異なる文字列を示す図である。図１４を参照して、Ａ〜Ｚまでのアルファベットを異なる字体で表した４個の文字列ＬＣ１〜ＬＣ４が存在する。そして、文字列ＬＣ１を最終的なＷｉｎｎｅｒとして検索する。
【０１４１】
この場合、連想メモリ１００は、検索データとして［ＡＢＣ・・・ＸＹＺ］を保持しており、書込／検索回路１１０は、文字列ＬＣ１を特徴付ける追加情報を外部から受ける。そして、連想メモリ１００は、上述した方法によって、検索データ＝［ＡＢＣ・・・ＸＹＺ］に近い４個の参照データ（＝文字列ＬＣ１〜ＬＣ４）を検索し、その検索した４個の参照データ（＝文字列ＬＣ１〜ＬＣ４）のアドレスを書込／検索回路１１０へ出力する。
【０１４２】
そして、書込／検索回路１１０は、４個の参照データ（＝文字列ＬＣ１〜ＬＣ４）のアドレスと、文字列ＬＣ１を特徴付ける追加情報とを連想メモリ１２０へ入力する。
【０１４３】
そうすると、連想メモリ１２０は、４個の参照データ（＝文字列ＬＣ１〜ＬＣ４）のアドレスに基づいて、メモリアレイ部１０において４個の参照データ（＝文字列ＬＣ１〜ＬＣ４）を指定し、文字列ＬＣ１を特徴付ける追加情報を用いて、４個の参照データ（＝文字列ＬＣ１〜ＬＣ４）の中から文字列ＬＣ１を検索し、文字列ＬＣ１を最終的なＷｉｎｎｅｒとして出力する。
【０１４４】
このように、検索システム２００を用いることによって、字体の異なる複数の文字列の中から所望の字体の文字列を検索できる。
【０１４５】
また、追加情報として、文字列が水平方向と成す角度を入力することによって、水平方向から所定角度だけ回転した文字列を検索することもできる。
【０１４６】
表１は、２段の連想メモリを用いた検索データに一致する参照データの検索の実験結果を示す。
【０１４７】
【表１】
0004427574.tif 000004
【０１４８】
２６個のサンプルを用いた２回の実験が行なわれた。“Ａ”，“Ｂ”，“Ｃ”，“Ｄ”の検索データに一致する参照データの検索に失敗する割合は、実験１においては、単一の連想メモリを用いた場合、１２．５％であるのに対し、２段の連想メモリを用いた場合、４．８％である。また、“Ａ”，“Ｂ”，“Ｃ”，“Ｄ”の検索データに一致する参照データの検索に失敗する割合は、実験２においては、単一の連想メモリを用いた場合、１３．５％であるのに対し、２段の連想メモリを用いた場合、５．８％である。
【０１４９】
したがって、２段の連想メモリを用いることによって、検索データに一致する参照データの検索に失敗する割合を大幅に減少できる。すなわち、２段の連想メモリを用いることによって、検索データに一致する参照データを正確に検出できる。
【０１５０】
図１５は、この発明の実施の形態による他の検索システムの構成図である。この発明の実施の形態による検索システムは、図１５に示す検索システム２００Ａであってもよい。図１５を参照して、検索システム２００Ａは、図１２に示す検索システム２００にテーブル保持部１３０を追加したものであり、その他は、検索システム２００と同じである。
【０１５１】
なお、検索システム２００Ａにおいては、連想メモリ１００は、ｋ個の参照データおよびアドレスＡｄｄ１〜Ａｄｄｋを書込／検索回路１１０へ出力する。
【０１５２】
テーブル保持部１３０は、連想メモリ１００によって検索されたｋ個の参照データのジャンルと特徴量との対応関係を示す特徴量テーブルＣＨＴを保持している。そして、テーブル保持部１３０は、書込／検索回路１１０からｋ個の参照データを受けると、その受けたｋ個の参照データのジャンルを抽出し、特徴量テーブルＣＨＴを参照して、ｋ個の参照データのジャンルに対応する特徴量を抽出して書込／検索回路１１０へ出力する。
【０１５３】
図１６は、特徴量テーブルの概念図である。図１６を参照して、特徴量テーブルＣＨＴは、ｋ個の参照データのジャンルと、特徴量とからなり、ｋ個の参照データのジャンルおよび特徴量は、相互に対応付けられる。ｋ個の参照データのジャンルは、たとえば、文字および画像等からなる。文字に対応する特徴量は、たとえば、ゴシック体からなり、画像に対応する特徴量は、たとえば、油絵からなる。
【０１５４】
検索システム２００Ａにおける検索が開始されると、連想メモリ１００は、上述した方法によって、検索データに近いｋ個の参照データを検索し、その検索したｋ個の参照データと、ｋ個の参照データのアドレスＡｄｄ１〜Ａｄｄｋとを書込／検索回路１１０へ出力する。
【０１５５】
書込／検索回路１１０は、連想メモリ１００からｋ個の参照データおよびアドレスＡｄｄ１〜Ａｄｄｋを受けると、ｋ個の参照データをテーブル保持部１３０へ出力する。テーブル保持部１３０は、書込／検索回路１１０から受けたｋ個の参照データのジャンルを抽出し、特徴量テーブルＣＨＴを参照して、ｋ個の参照データのジャンルに対応する特徴量を抽出する。そして、テーブル保持部１３０は、その抽出した特徴量を書込／検索回路１１０へ出力する。
【０１５６】
書込／検索回路１１０は、テーブル保持部１３０から特徴量を受けると、アドレスＡｄｄ１〜Ａｄｄｋを連想メモリ１２０の行デコーダに書き込むとともに、特徴量を連想メモリ１２０に入力する。そして、連想メモリ１２０は、アドレスＡｄｄ１〜Ａｄｄｋに基づいて、メモリアレイ部１０においてｋ個の参照データを指定し、特徴量を用いてｋ個の参照データの中から検索データに一致する参照データを検索する。
【０１５７】
これによって、検索システム２００Ａは、検索データに一致する参照データを正確に検索できる。
【０１５８】
図１７は、この発明の実施の形態によるさらに他の検索システムの構成図である。図１７を参照して、検索システム２００Ｂは、連想メモリ１０１〜１０ｎ（ｎは、３以上の整数）を備える。ｎ個の連想メモリ１０１〜１０ｎは、直列に接続される。したがって、検索システム２００Ｂは、ｎ段の連想メモリからなる検索システムである。
【０１５９】
連想メモリ１０１〜１０ｎ−１の各々は、上述した連想メモリ１００からなり、連想メモリ１０ｎは、上述した連想メモリ１２０からなる。そして、連想メモリ１０１は、検索データと複数の参照データの各々との比較を並列に行ない、検索データに近い順にｋ１（ｋ１は、２以上の整数）個の参照データを次段の連想メモリ１０２へ出力し、連想メモリ１０２は、連想メモリ１０１から受けたｋ１個の参照データの範囲内で検索データに近い参照データの検索を行ない、ｋ２（ｋ２は、ｋ２＜ｋ１を満たす整数）個の参照データを次段の連想メモリ１０３へ出力する。以下、同様にして、連想メモリ１０３〜１０ｎ−１は、それぞれ、連想メモリ１０２〜１０ｎ−２から受けたｋ２，・・・，ｋｎ−２（ｋ２，・・・，ｋｎ−２は、ｋ２＞・・・＞ｋｎ−２を満たす整数）個の参照データの範囲内で検索データに近い参照データの検索を行ない、それぞれ、ｋ３，ｋ４，・・・，ｋｎ−１（ｋ３，ｋ４，・・・，ｋｎ−１は、ｋ３＞・・・＞ｋｎ−１を満たす整数）個の参照データを次段の連想メモリ１０４〜１０ｎへ出力する。そして、連想メモリ１０ｎは、連想メモリ１０ｎ−１から受けたｋｎ−１個の参照データの範囲内で検索データに近い参照データの検索を行ない、検索データに最も近い参照データを出力する。この場合、連想メモリ１０２〜１０ｎは、それぞれ、異なる距離指標および／または異なる特徴量を用いて検索データに近い参照データの検索を行なう。
【０１６０】
図１８は、この発明の実施の形態によるさらに他の検索システムの構成図である。図１８を参照して、検索システム２００Ｃは、連想メモリ１００，１２１〜１２ｍ（ｍは、２以上の整数），１４０を備える。
【０１６１】
ｍ個の連想メモリ１２１〜１２ｍは、連想メモリ１００と連想メモリ１４０との間に並列に接続される。そして、連想メモリ１２１〜１２ｍ，１４０の各々は、上述した連想メモリ１２０からなる。
【０１６２】
連想メモリ１２１〜１２ｍの各々は、連想メモリ１００からｋ個の参照データを受け、その受けたｋ個の参照データの範囲内で検索データに最も近い参照データを検索し、その検索結果を連想メモリ１４０へ出力する。そして、連想メモリ１２１〜１２ｍは、相互に異なる距離指標および／または異なる特徴量を用いて検索データに最も近い参照データを検索する。
【０１６３】
連想メモリ１４０は、ｍ個の連想メモリ１２１〜１２ｍからｎ（ｎは、ｎ≧ｍを満たす整数）個の参照データを受け、その受けたｎ個の参照データの範囲内で検索データに最も近い参照データを検索する。
【０１６４】
検索システム２００Ｃにおいては、連想メモリ１００は、第１段目の連想メモリであり、ｍ個の連想メモリ１２１〜１２ｍは、第２段目の連想メモリであり、連想メモリ１４０は、第３段目の連想メモリである。
【０１６５】
そして、検索システム２００Ｃは、連想メモリ１２１〜１２ｍによって複数の距離指標（複数の特徴量）を用いて検索データに近い参照データの複数の候補を選択し、最終段の連想メモリ１４０によって検索データに最も近い参照データを決定する。
【０１６６】
したがって、検索システム２００Ｃを用いることによって、検索データに最も近い参照データをより正確に検索できる。
【０１６７】
この発明による検索システムは、図１７に示す連想メモリ１０２〜１０ｎ−１の少なくとも１つを図１８に示すｍ個の連想メモリ１２１〜１２ｍに代えたものであってもよい。そして、連想メモリ１０２〜１０ｎ−１のうちの２以上の連想メモリの各々をｍ個の連想メモリ１２１〜１２ｍに変える場合、２以上の連想メモリにおけるｍ個の連想メモリ１２１〜１２ｍの個数は、相互に同じであってもよく、異なっていてもよい。また、連想メモリ１０２〜１０ｎ−１のうちの２以上の連想メモリの各々をｍ個の連想メモリ１２１〜１２ｍに変える場合、連続する２以上の連想メモリの各々をｍ個の連想メモリ１２１〜１２ｍに変えてもよく、１つおき、または複数個おきに配置された２以上の連想メモリの各々をｍ個の連想メモリ１２１〜１２ｍに変えてもよい。
【０１６８】
また、この発明による検索システムは、図１８に示す検索システム２００Ｃから連想メモリ１００を削除したものであってもよい。
【０１６９】
なお、上記においては、連想メモリ１００は、ハミング距離によって検索データに近いｋ個の参照データを検索し、連想メモリ１２０は、ユークリッド距離によって検索データに一致する参照データを検索すると説明したが、この発明においては、これに限らず、連想メモリ１００は、ユークリッド距離によって検索データに近いｋ個の参照データを検索し、連想メモリ１２０は、ハミング距離によって検索データに一致する参照データを検索するようにしてもよい。また、連想メモリ１００，１２０は、ハミング距離およびユークリッド距離の組合せや他の距離指標を用いて検索データに一致する参照データを検索するようにしてもよい。
【０１７０】
また、上記においては、フィードバック回路５１〜５Ｒの各々は、ＳＲフリップフロップからなると説明したが、この発明においては、これに限らず、フィードバック回路５１〜５Ｒの各々は、リセット、セット機能付きのレジスタから構成されていてもよい。
【０１７１】
この発明においては、ＷＬＡ回路２０、ＷＴＡ回路３０およびフィードバック回路５０は、「出力回路」を構成する。
【０１７２】
また、この発明においては、ＷＬＡ回路２０は、「第１の増幅回路」を構成し、ＷＴＡ回路３０は、「第２の増幅回路」を構成する。
【０１７３】
さらに、この発明においては、連想メモリ１００は、「第１の連想メモリ」を構成し、連想メモリ１２０は、「第２の連想メモリ」を構成する。
【０１７４】
さらに、この発明においては、連想メモリ１０１は、「第１の連想メモリ」を構成し、連想メモリ１０２〜１０ｎは、「第２の連想メモリ」を構成する。
【０１７５】
さらに、この発明においては、検索システム２００Ｃにおける連想メモリ１００は、「第１の連想メモリ」を構成し、連想メモリ１２１〜１２ｍ，１４０は、「第２の連想メモリ」を構成する。
【０１７６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０１７７】
この発明は、検索データに近い複数の参照データを出力可能な連想メモリに適用される。また、この発明は、検索データに近い複数の参照データを出力可能な連想メモリを備えた検索システムに適用される。
【図面の簡単な説明】
【０１７８】
【図１】この発明の実施の形態による連想メモリの構成を示す概略ブロック図である。
【図２】図１に示すワード比較回路の構成を示す回路図である。
【図３】図１に示すＷＬＡ回路、ＷＴＡ回路および決定回路の回路図である。
【図４】ＷＬＡ回路の動作を説明するための図である。
【図５】ＷＬＡ回路の動作を説明するための図である。
【図６】ＷＬＡ回路の動作を説明するための図である。
【図７】図３に示すフィードバック回路の回路図である。
【図８】図７に示すフィードバック回路の入力信号Ｓ，Ｒおよび出力信号Ｑ’のタイミングチャートである。
【図９】図１に示す連想メモリにおける検索動作を説明するための第１の概念図である。
【図１０】図１に示す連想メモリにおける検索動作を説明するための第２の概念図である。
【図１１】図１に示す連想メモリの複数のクロックにおける検索動作を示すシミュレーション結果である。
【図１２】この発明の実施の形態による検索システムの構成図である。
【図１３】図１２に示す検索システムにおける検索のイメージ図である。
【図１４】字体の異なる文字列を示す図である。
【図１５】この発明の実施の形態による他の検索システムの構成図である。
【図１６】特徴量テーブルの概念図である。
【図１７】この発明の実施の形態によるさらに他の検索システムの構成図である。
【図１８】この発明の実施の形態によるさらに他の検索システムの構成図である。
【符号の説明】
【０１７９】
１０  メモリアレイ部、２０  ＷＬＡ回路。
【図１】
0004427574.tif 000005
【図２】
0004427574.tif 000006
【図３】
0004427574.tif 000007
【図４】
0004427574.tif 000008
【図５】
0004427574.tif 000009
【図６】
0004427574.tif 000010
【図７】
0004427574.tif 000011
【図８】
0004427574.tif 000012
【図９】
0004427574.tif 000013
【図１０】
0004427574.tif 000014
【図１１】
0004427574.tif 000015
【図１２】
0004427574.tif 000016
【図１３】
0004427574.tif 000017
【図１４】
0004427574.tif 000018
【図１５】
0004427574.tif 000019
【図１６】
0004427574.tif 000020
【図１７】
0004427574.tif 000021
【図１８】
0004427574.tif 000022