(57)【要約】【課題】  テーマ別に格納されたデータに対する検索において、格納しているデータや検索結果に対する管理が容易で、スループットの低下を抑制しつつも所望するテーマに対する検索結果を優先して出力することが可能な連想メモリを提供する。【解決手段】  プライオリティエンコーダ３５において固定的に定められている優先順位上、最優先指定部３１で指定された最優先のワードよりも上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクして、プライオリティエンコーダ３５に上位のワードに対応するフラグレジスタにはヒットフラグが格納されていない旨伝達する優先順位変更部を備える。【選択図】        図１
2005011499.tif 000002
【特許請求の範囲】
【請求項１】
それぞれにアドレスが付された複数のワードに被検索データを格納しておき、検索データが入力され、該検索データに対応する被検索データが格納されているワードのアドレスを出力する連想メモリにおいて、
優先して出力する当該ワードのアドレスの優先順位を変更できるプライオリティ回路を備えることを特徴とする連想メモリ。
【請求項２】
それぞれにアドレスが付された複数のワードに被検索データを格納しておき、検索データが入力され、該検索データに対応する被検索データが格納されているワードのアドレスを出力する連想メモリにおいて、
前記複数のワードそれぞれに対応して備えられ、対応するワードに格納されている被検索データが検索データに対応するデータであった場合にヒットフラグを格納する複数のフラグレジスタと、
優先して出力する当該ワードのアドレスの優先順位を変更できるプライオリティ回路を備えることを特徴とする連想メモリ。
【請求項３】
前記プライオリティ回路が、
前記複数のフラグレジスタのうちのヒットフラグが格納されているフラグレジスタに対応するワードのアドレスを、所定の固定された優先順位に従って出力するプライオリティエンコーダと、
前記複数のワードのうち、最優先のワードを指定する最優先指定部と、
前記最優先指定部で指定された最優先ワードよりも前記プライオリティエンコーダにおいて固定的に定められている優先順位上上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクして前記プライオリティエンコーダに該上位のワードに対応するフラグレジスタにはヒットフラグが格納されていない旨伝達する優先順位変更部とを備えたことを特徴とする請求項２記載の連想メモリ。
【請求項４】
前記プライオリティ回路が、
前記複数のフラグレジスタのうちのヒットフラグが格納されているフラグレジスタに対応するワードのアドレスを、所定の固定された優先順位に従って出力するプライオリティエンコーダと、
前記複数のワードのうち、最優先のワードを指定する最優先指定部と、
前記プライオリティエンコーダにおいて固定的に定められている優先順位上、前記最優先指定部で指定された最優先のワードを含み該最優先ワードよりも下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されていたときに該最優先ワードよりも上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクして前記プライオリティエンコーダに該上位のワードに対応するフラグレジスタにはヒットフラグが格納されていない旨伝達し、前記下位側フラグレジスタのいずれにもヒットフラグが存在しないことをもって前記上位側のフラグレジスタのヒットフラグを前記プライオリティエンコーダに伝達する優先順位変更部とを備えたことを特徴とする請求項２記載の連想メモリ。
【請求項５】
前記優先順位変更部は、前記複数のワードを、前記プライオリティエンコーダにおいて固定的に定められている優先順位上、前記最優先指定部で指定された最優先のワードを含み該最優先ワードよりも下位のワードと、該最優先ワードよりも上位のワードとに区分する最優先区分回路を備え、該最優先区分回路により前記下位に区分されたワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されていたときに、前記最優先区分回路により前記上位に区分されたワードに対応する上位側フラグレジスタのヒットフラグをマスクするものであることを特徴とする請求項４記載の連想メモリ。
【請求項６】
前記優先順位変更部は、前記プライオリティエンコーダにおいて固定的に定められている優先順位上、前記最優先指定部で指定された最優先のワードを含み該最優先ワードよりも下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されているか否かを検出する検出回路を備え、該検出回路により前記下位側フラグレジスタのいずれかにヒットフラグが格納されていると検出されたときに前記最優先ワードよりも上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクするものであることを特徴とする請求項４又は５記載の連想メモリ。
【請求項７】
前記プライオリティ回路が、
前記複数のフラグレジスタのうちのヒットフラグが格納されているフラグレジスタに対応するワードのアドレスを、所定の固定された優先順位に従って出力するプライオリティエンコーダと、
前記複数のワードのうち、最優先のワードを指定する最優先指定部と、
前記複数のワードのうち、最後尾のワードを指定する最後尾指定部と、
前記プライオリティエンコーダにおいて固定的に定められている優先順位上、前記最優先のワードが最後尾のワードよりも上位である場合には、該優先順位で前記最優先のワードから前記最後尾のワードまでの各ワードに対応するフラグレジスタ以外のフラグレジスタのヒットフラグをマスクして前記プライオリティエンコーダに該フラグレジスタにはヒットフラグが格納されていない旨伝達し、
前記プライオリティエンコーダにおいて固定的に定められている優先順位上、前記最優先のワードが最後尾のワードよりも下位である場合には、前記最優先のワードを含み該最優先ワードよりも下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されていたときに該最優先ワードよりも上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクして前記プライオリティエンコーダに該フラグレジスタにはヒットフラグが格納されていない旨伝達し、前記下位側フラグレジスタのいずれにもヒットフラグが存在しないことをもって前記上位側のフラグレジスタのうち前記最後尾のワードを含み該最後尾ワードよりも上位のワードに対応するフラグレジスタのヒットフラグを前記プライオリティエンコーダに伝達する優先順位変更部とを備えたことを特徴とする請求項２記載の連想メモリ。
【請求項８】
前記優先順位変更部が、
前記複数のワードを、前記最優先指定部で指定された最優先のワードを含み該最優先のワードよりも下位のワードと、該最優先のワードよりも上位のワードとに区分する最優先区分回路と、
前記複数のワードを、前記最後尾指定部で指定された最後尾のワードを含み該最後尾のワードよりも上位のワードと、該最後尾のワードよりも下位のワードとに区分する最後尾区分回路とを備えたものであって、
この優先順位変更部は、
前記プライオリティエンコーダにおいて固定的に定められている優先順位上、前記最優先のワードが最後尾のワードよりも上位である場合には、前記最優先区分回路により前記上位に区分されたワードに対応するフラグレジスタのヒットフラグと、前記最後尾区分回路により前記下位に区分されたワードに対応するフラグレジスタのヒットフラグとをマスクし、
前記プライオリティエンコーダにおいて固定的に定められている優先順位上、前記最優先のワードが最後尾のワードよりも下位である場合には、前記最優先区分回路により前記下位に区分されたワードに対応するフラグレジスタのいずれかにヒットフラグが格納されていたときに、前記最優先区分回路により前記上位に区分されたワードに対応するフラグレジスタのヒットフラグをマスクし、前記最優先区分回路により前記下位に区分されたワードに対応するフラグレジスタのいずれにもヒットフラグが格納されていないときに、前記最後尾区分回路により前記下位に区分されたワードに対応するフラグレジスタのヒットフラグをマスクするものであることを特徴とする請求項７記載の連想メモリ。
【請求項９】
前記優先順位変更部が、前記最優先のワードと前記最後尾のワードのうち、前記プライオリティエンコーダにおいて固定的に定められている優先順位上いずれのワードが上位であるかを判定する判定回路を備えたものであって、
この優先順位変更部は、
前記判定回路によって前記最優先のワードが前記上位であると判定された場合には、前記優先順位で前記最優先のワードから前記最後尾のワードまでの各ワードに対応するフラグレジスタ以外のフラグレジスタのヒットフラグをマスクし、
前記判定回路によって前記最後尾のワードが前記上位であると判定された場合には、前記最優先のワードを含み該最優先ワードよりも下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されていたときに該最優先ワードよりも上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクし、前記下位側フラグレジスタのいずれにもヒットフラグが存在しないときに前記最後尾のワードよりも下位のワードに対応するフラグレジスタのヒットフラグをマスクするものであることを特徴とする請求項７又は８記載の連想メモリ。
【請求項１０】
前記優先順位変更部は、前記プライオリティエンコーダにおいて固定的に定められている優先順位上、前記最優先指定部で指定された最優先のワードを含む該最優先ワードよりも下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されているか否かを検出する検出回路を備え、該検出回路により前記下位側フラグレジスタのいずれかにヒットフラグが格納されていると検出されたときに前記最優先ワードよりも上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクするものであることを特徴とする請求項７乃至９に記載の連想メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、それぞれにアドレスが付された複数のワードに複数の被検索データを格納しておき、検索データが入力され、該検索データに対応する被検索データが格納されているワードのアドレスを出力する連想メモリに関する。
【背景技術】
【０００２】
近年、上記のような連想メモリが普及している。
【０００３】
図１３は、従来の連想メモリの一例を示す回路ブロック図である。
【０００４】
図１３に示す連想メモリ１０には、それぞれ１ワード分のビットパターンを記憶する複数のワードメモリ（以下単にワードと記す）１１ａ，１１ｂ，１１ｃ，…１１ｎが備えられている。またこの連想メモリ１０は、１ワード分の検索データが入力されラッチされる検索データレジスタ１２を備え、検索データレジスタ１２にラッチされた検索データの全部もしくは所定の一部のビットパターンと、各ワードに記憶されたデータのうちの上記のビットパターンと対応する部分のビットパターンとが比較され、両者の一致不一致が検出される。そして、複数のワードそれぞれに対応して備えられたフラグレジスタ１３ａ，１３ｂ，１３ｃ，…１３ｎのうちビットパターンが一致したワードのフラグレジスタに一致を示すヒットフラグ（ハイレベル）が格納され、それ以外のフラグレジスタに不一致を示すローレベルが格納される。各フラグレジスタからは、格納されているデータに対応する一致検出信号Ｓｈがアドレスエンコーダ１４に出力される。すなわち、ヒットフラグ（ハイレベル）が格納されているフラグレジスタからはハイレベルの一致検出信号Ｓｈが、ローレベルが格納されているフラグレジスタからはローレベルの一致検出信号Ｓｈが出力される。アドレスエンコーダ１４は一致検出信号Ｓｈに基づいて、ハイレベルが格納されたフラグレジスタに対応するワードのアドレスＡＤを出力する。アドレスエンコーダ１４から出力されたアドレスＡＤは、必要に応じて、アドレスデコーダ１５に入力される。アドレスデコーダ１５は、この入力されたアドレスＡＤをデコードして、各ワードそれぞれに対応して備えられたワード線１６ａ，１６ｂ，１６ｃ，…１６ｎのうちの入力されたアドレスＡＤに対応するワード線にアクセス信号を出力する。これによりアクセス信号の出力されたワード線に対応するワードに記憶されているデータが出力レジスタ１７に読み出される。
【０００５】
上記のように、連想メモリ１０は、検索データの全部もしくは所定の一部のデータを用いて多数のワードに記憶されたデータを検索し、一致するデータが記憶されたワードのアドレスを得てそのワードに記憶されたデータ全体を読み出すことができるメモリである。
【０００６】
しかし、上記の検索データの全部もしくは所定の一部のデータと一致するデータが記憶されたワードは１つに限られるものではなく、複数ある場合がある。そこで、連想メモリに備えられるアドレスエンコーダとして、連想メモリの複数のワードに、予め所定の優先順位（例えば、図１３において添字のアルファベットが若いほど優先順位が高いものとする）を設定しておき、検索データの全部もしくは所定の一部のデータと一致するデータが記憶されたワードが複数存在する場合には、ワードのアドレスＡＤを、上記の予め設定してある所定の優先順位に従って順次出力するプライオリティエンコーダが提案されている（例えば、特許文献１参照。）。ここで、以後の説明では、便宜上、図１３に示す構成を有し、アドレスエンコーダとして特許文献１に示すプライオリティエンコーダを採用した連想メモリを従来の連想メモリと呼ぶ。
【特許文献１】特開平５−１８９９７９号公報  （段落番号００２２−００４７、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
近年、連想メモリ容量の増加に伴い、例えば、１つの連想メモリに、２つのテーマのデータをテーマ別に格納しておき、データを検索した後に検索結果である上記ワードのアドレスを出力する際には、いずれか一方のテーマに対するアドレスから先に優先して出力させたいという要求がユーザから出されるようになってきている。
【０００８】
図１４は、従来の連想メモリに、２つのテーマのデータがテーマ別に格納されている様子を模式的に示す図である。
【０００９】
図１４には、図の上部のワード１１ａ，１１ｂ，…，１１ｍ−１にテーマＡのデータが、下部のワード１１ｍ，…，１１ｎにテーマＢのデータが格納されている様子が示されている。
【００１０】
ここで、従来の連想メモリは、検索結果であるワードのアドレスを、プライオリティエンコーダで固定的に決められている優先順位に従って順次出力する。図１４に示す例は、この優先順位が、図中の矢印が示すように、各ワードの添字のアルファベット順となる例である。つまり、図１４の例では、優先順位上、テーマＡのデータが上位側、テーマＢのデータが下位側のワードに格納されている。
【００１１】
従って、テーマＢのデータに対する検索結果であるアドレスをテーマＡのアドレスよりも先に優先して順次出力もしくはテーマＢの最も優先順位の高いアドレスのみを出力させようとしても、従来の連想メモリは、格納されているデータのテーマとは関わりなく、プライオリティエンコーダで固定的に決められている優先順位に従って、テーマＡに対する検索結果であるアドレスから順次出力してしまう。
【００１２】
またテーマＢの検索結果のみを出力したい場合でも、不要なテーマＡに対する検索結果を全て出力し終わってからテーマＢに対する検索結果を出力することとなってしまう。
【００１３】
従来の連想メモリに、ユーザが所望するテーマＢに対する検索結果から出力させるようにするには、例えば、検索の前に、テーマＢのデータが上記の上位側に、テーマＡのデータが上記の下位側になるように、連想メモリに格納されているデータを入れ替えるという方法が考えられる。さらに、例えば、連想メモリから検索結果が出力された後に、テーマＢに対する検索結果が上位にテーマＡに対する検索結果が下位に来るように並べ替えるという方法が考えられる。しかしながら、これらの方法には連想メモリに格納しているデータや、連想メモリから出力される検索結果に対する管理が煩雑になるという問題がある。      
【００１４】
本発明は、上記事情に鑑み、テーマ別に格納されたデータに対する検索において、格納しているデータや検索結果に対する管理が容易で、スループットの低下を抑制しつつも所望するテーマに対する検索結果を優先して出力することが可能な連想メモリを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成する本発明の連想メモリは、それぞれにアドレスが付された複数のワードに被検索データを格納しておき、検索データが入力され、その検索データに対応する被検索データが格納されているワードのアドレスを出力する連想メモリにおいて、
優先して出力する該ワードのアドレスの優先順位を変更できるプライオリティ回路を備えることを特徴とする。
【００１６】
さらに本発明の連想メモリは、前記複数のワードそれぞれに対応して備えられ、対応するワードに格納されている被検索データが検索データに対応するデータであった場合にヒットフラグを格納する複数のフラグレジスタを備えていることが望ましい。
【００１７】
本発明の連想メモリのうちの第１のプライオリティ回路は、
上記複数のフラグレジスタのうちのヒットフラグが格納されているフラグレジスタに対応するワードのアドレスを、所定の固定された優先順位に従って出力するプライオリティエンコーダと、
上記複数のワードのうち、最優先のワードを指定する最優先指定部と、
上記最優先指定部で指定された最優先のワードよりも上記プライオリティエンコーダにおいて固定的に定められている優先順位上上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクして上記プライオリティエンコーダにこの上位のワードに対応するフラグレジスタにはヒットフラグが格納されていない旨伝達する優先順位変更部とを備えたことを特徴とする。
【００１８】
さらに、本発明の連想メモリのうちの第１のプライオリティ回路は、
上記複数のフラグレジスタのうちのヒットフラグが格納されているフラグレジスタに対応するワードのアドレスを、所定の固定された優先順位に従って出力するプライオリティエンコーダと、
上記複数のワードのうち、最優先のワードを指定する最優先指定部と、
上記プライオリティエンコーダにおいて固定的に定められている優先順位上、上記最優先指定部で指定された最優先のワードを含みこの最優先ワードよりも下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されていたときにこの最優先ワードよりも上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクして上記プライオリティエンコーダにこの上位のワードに対応するフラグレジスタにはヒットフラグが格納されていない旨伝達し、上記下位側フラグレジスタのいずれにもヒットフラグが存在しないことをもって上記上位側のフラグレジスタのヒットフラグを上記プライオリティエンコーダに伝達する優先順位変更部とを備えたものであってもよい。
【００１９】
本発明の連想メモリの第１のプライオリティ回路は、上記優先順位変更部により、上記プライオリティエンコーダにおいて固定的に定められている優先順位から、この固定的に定められている優先順位上、最優先のワードを含みこの最優先のワードよりも下位のワードに対する検索結果（アドレス）を優先的に出力するという優先順位に変更する。
【００２０】
従って、例えば、上記複数のワードに、テーマ別にデータを格納し、所望のテーマのデータが格納されているワードのうちで、上記プライオリティエンコーダにおいて固定的に定められている優先順位上、最上位のワードを上記最優先指定部で最優先のワードに指定することにより、上記所望のテーマに対する検索結果（アドレス）を優先的に出力することができる。
【００２１】
又、検索の前に所望のテーマのデータを上記プライオリティエンコーダにおいて固定的に定められている優先順位の上位側に入れ替える等という操作を必要としない。また、連想メモリからの検索結果を、連想メモリから出力された後に、所望のテーマに対する検索結果が上位に来るように並べ替えるという操作も必要としない。つまり、格納されるデータや検索結果に対する管理が容易である。
【００２２】
さらに、所望のテーマに対する検索結果（アドレス）を優先的に出力することができるので、検索データによる検索は１回で済む。従って、検索におけるスループットの低下が抑制される。
【００２３】
ここで、本発明の連想メモリの第１のプライオリティ回路において、上記優先順位変更部は、上記複数のワードを、上記プライオリティエンコーダにおいて固定的に定められている優先順位上、上記最優先指定部で指定された最優先のワードを含みこの最優先ワードよりも下位のワードと、この最優先ワードよりも上位のワードとに区分する最優先区分回路を備え、この最優先区分回路により上記下位に区分されたワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されていたときに、上記区分回路により上記上位に区分されたワードに対応する上位側フラグレジスタのヒットフラグをマスクするものであることが好ましい。
【００２４】
上記の最優先区分回路を備えると、上記優先順位変更部において、上記下位側フラグレジスタと、上記上位側フラグレジスタを識別することができる。
【００２５】
又、上記優先順位変更部は、上記プライオリティエンコーダにおいて固定的に定められている優先順位上、上記最優先指定部で指定された最優先のワードを含みこの最優先ワードよりも下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されているか否かを検出する検出回路を備え、この検出回路により上記下位側フラグレジスタのいずれかにヒットフラグが格納されていると検出されたときに上記最優先ワードよりも上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクするものであることが好ましい。
【００２６】
上記の検出回路を備えると、上記優先順位変更部において、上記下位側フラグレジスタのいずれかにヒットフラグが格納されているか否かを認識することができる。
【００２７】
又、上記目的を達成する本発明の連想メモリの第２のプライオリティ回路は、
複数のフラグレジスタのうちのヒットフラグが格納されているフラグレジスタに対応するワードのアドレスを、所定の固定された優先順位に従って出力するプライオリティエンコーダと、
上記複数のワードのうち、最優先のワードを指定する最優先指定部と、
上記複数のワードのうち、最後尾のワードを指定する最後尾指定部と、
上記プライオリティエンコーダにおいて固定的に定められている優先順位上、上記最優先のワードが最後尾のワードよりも上位である場合には、その優先順位で上記最優先のワードから上記最後尾のワードまでの各ワードに対応するフラグレジスタ以外のフラグレジスタのヒットフラグをマスクして上記プライオリティエンコーダにそのフラグレジスタにはヒットフラグが格納されていない旨伝達し、
上記プライオリティエンコーダにおいて固定的に定められている優先順位上、上記最優先のワードが最後尾のワードよりも下位である場合には、上記最優先のワードを含みその最優先ワードよりも下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されていたときにその最優先ワードよりも上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクして上記プライオリティエンコーダにそのフラグレジスタにはヒットフラグが格納されていない旨伝達し、上記下位側フラグレジスタのいずれにもヒットフラグが存在しないことをもって上記上位側のフラグレジスタのうち上記最後尾のワードを含みその最後尾ワードよりも上位のワードに対応するフラグレジスタのヒットフラグを上記プライオリティエンコーダに伝達する優先順位変更部とを備えたことを特徴とする。
【００２８】
このような第２のプライオリティ回路によれば、優先順位の変更、データや検索結果に対する容易な管理、および検索におけるスループットの低下抑制を図ることができる。
【００２９】
本発明の連想メモリにおける第２のプライオリティ回路によれば、上記最優先のワードおよび上記最後尾のワードがそれぞれ指定されることによって、検索結果を出力したい所望のワード領域が特定されるので、検索結果を知る必要の無い領域に属する検索結果を出力する必要が無くなり検索を効率的に実施することができる。
【００３０】
又、上記の第２のプライオリティ回路において、
「上記優先順位変更部が、
上記複数のワードを、上記プライオリティエンコーダにおいて固定的に定められている優先順位上、上記最優先指定部で指定された最優先のワードを含みその最優先のワードよりも下位のワードと、その最優先ワードよりも上位のワードとに区分する最優先区分回路と、
上記複数のワードを、上記プライオリティエンコーダにおいて固定的に定められている優先順位上、上記最後尾指定部で指定された最後尾のワードを含みその最後尾のワードよりも上位のワードと、その最後尾ワードよりも下位のワードとに区分する最後尾区分回路とを備えたものであって、
この優先順位変更部は、
上記プライオリティエンコーダにおいて固定的に定められている優先順位上、上記最優先のワードが最後尾のワードよりも上位である場合には、上記最優先区分回路により上記上位に区分されたワードに対応するフラグレジスタのヒットフラグと、上記最後尾区分回路により上記下位に区分されたワードに対応するフラグレジスタのヒットフラグとをマスクし、
上記プライオリティエンコーダにおいて固定的に定められている優先順位上、上記最優先のワードが最後尾のワードよりも下位である場合には、上記最優先区分回路により上記下位に区分されたワードに対応するフラグレジスタのいずれかにヒットフラグが格納されていたときに、上記最優先区分回路により上記上位に区分されたワードに対応するフラグレジスタのヒットフラグをマスクし、上記最優先区分回路により上記下位に区分されたワードに対応するフラグレジスタのいずれにもヒットフラグが格納されていないときに、上記最後尾区分回路により上記下位に区分されたワードに対応するフラグレジスタのヒットフラグをマスクするものである」という形態は好ましい。
【００３１】
このような好ましい形態によれば、これらの最優先区分回路と最後尾区分回路とによってそれぞれ上記複数のワードを区分することによって、これら複数のワードを、ヒットフラグが格納されているときにそのヒットフラグを伝達すべきワードと、マスクすべきワードとに容易に識別することができる。
【００３２】
又、本発明の連想メモリの第２のプライオリティ回路において、
「上記優先順位変更部が、上記最優先のワードと上記最後尾のワードのうち、上記プライオリティエンコーダにおいて固定的に定められている優先順位上いずれのワードが上位であるかを判定する判定回路を備えたものであって、
上記判定回路によって上記最優先のワードが上記上位であると判定された場合には、上記優先順位で上記最優先のワードから上記最後尾のワードまでの各ワードに対応するフラグレジスタ以外のフラグレジスタのヒットフラグをマスクし、
上記判定回路によって上記最後尾のワードが上記上位であると判定された場合には、上記最優先のワードを含みその最優先ワードよりも下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されていたときにその最優先ワードよりも上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクし、上記下位側フラグレジスタのいずれにもヒットフラグが存在しないときに上記最後尾のワードよりも下位のワードに対応するフラグレジスタのヒットフラグをマスクするものである」という形態も好ましい。
【００３３】
このような形態によれば、上記最優先のワードと上記最後尾のワードのうちのいずれが上記プライオリティエンコーダにおける優先順位で上位であるかを上記判定回路によって判定できるため、上記プライオリティエンコーダにおける優先順位を、単純に上記最優先のワードから始まって上記最後尾のワードで終わる優先順位に変更するか、あるいは上記最優先のワードから始まり上記の優先順位で最下位のワードおよび最上位のワードを経由して上記最後尾のワードに至る優先順位に変更するかを容易に識別することができる。
【００３４】
又、上記優先順位変更部が、上記プライオリティエンコーダにおいて固定的に定められている優先順位上、上記最優先指定部で指定された最優先のワードを含みその最優先ワードよりも下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されているか否かを検出する検出回路を備え、その検出回路により上記下位側フラグレジスタのいずれかにヒットフラグが格納されていると検出されたときに上記最優先ワードよりも上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクするものであるという形態も好ましい。
【００３５】
このような形態によれば、上記検出回路によって上記下位側フラグレジスタのいずれかにヒットフラグが格納されているか否かを検出し、その検出結果に応じて上記上位側フラグレジスタのヒットフラグをマスクすることにより、上記プライオリティエンコーダにおいて固定的に定められている優先順位で上記最優先のワードが上記最後尾のワードよりも下位である場合に、その優先順位を上記最優先のワードから始まり上記の優先順位で最下位のワードおよび最上位のワードを経由して上記最後尾のワードに至る優先順位に容易に変更することができる。
【発明の効果】
【００３６】
以上説明したように、本発明の連想メモリによれば、テーマ別に格納されたデータに対する検索において、格納しているデータや検索結果に対する管理が容易で、スループットの低下を抑制しつつも所望するテーマに対する検索結果を優先して出力することが可能である。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施形態について説明する。
【００３８】
図１は、本発明の連想メモリの第１実施形態を示す回路ブロック図である。
【００３９】
図１に示す連想メモリ２０において、ワード１１ａ，１１ｂ，…，１１ｍ，…，１１ｎと、検索データレジスタ１２と、フラグレジスタ１３ａ，１３ｂ，…，１３ｍ，…，１３ｎと、アドレスデコーダ１５と、ワード線１６ａ，１６ｂ，…，１６ｍ，…，１６ｎと、出力レジスタ１７とで構成されるメモリ部分４０の回路構成および回路動作は、図１３に示す連想メモリ１０からアドレスエンコーダ１４を除いた回路部分の回路構成および回路動作と同一である。そこでメモリ部分４０については、図１３における符号と同一の符号を付け、また詳細な説明を省略する。
【００４０】
図１に示すプライオリティ回路３０は、最優先指定部３１と、区分回路３２と、上位側マスク回路３３と、検出回路３４と、プライオリティエンコーダ３５とを備えている。ここで、本実施形態では、複数のワードに対して、プライオリティエンコーダ３５で固定的に定められている優先順位は、図１に示す添字のアルファベット順とする。
【００４１】
最優先指定部３１は、複数のワードのうち最優先でアドレスを出力すべき最優先のワードを指定するものであり、各ワードに対し１つ備えられている複数のラッチ３１ａ，３１ｂ，…，３１ｍ，…，３１ｎからなる。ここで、これらのラッチは互いに同一の回路構成をしている。これらのラッチは、初期状態でハイレベルをラッチしている。連想メモリ２０の複数のワードのうちで、最優先で検索結果を出力すべき最優先のワードのアドレスをユーザが指定すると、このアドレスのワードに対応するラッチがローレベルをラッチする。各ラッチからはラッチ出力信号Ｓｒが区分回路３２に出力される。すなわち、ハイレベルがラッチされているラッチからはハイレベルの信号が、ローレベルがラッチされているラッチからはローレベルの信号が出力される。
【００４２】
区分回路３２は、複数のワードを、プライオリティエンコーダ３５で固定的に定められている優先順位上、最優先指定部３１で指定された最優先のワードを含みこの最優先のワードよりも下位のワードと、上記の最優先のワードよりも上位のワードとに区分するものであり、各ワードに対し１つずつ、互いに同一の回路構成の複数の区分ユニット３２ａ，３２ｂ，…，３２ｍ，…，３２ｎを備えている。上記の各ラッチからのラッチ出力信号Ｓｒは、対応する区分ユニットに入力される。
【００４３】
ここで、ワード１１ｍに対応する区分ユニット３２ｍを例にとり回路構成を説明する。区分ユニット３２ｍは、Ｎチャネルトランジスタ３２ｍ＿１を備えており、このトランジスタのゲートに、ラッチ３１ｍからのラッチ出力信号Ｓｒが入力される。さらに、区分ユニット３２ｍは、ゲートが第２制御信号入力端子３２ｐに接続されたＰチャネルトランジスタ３２ｍ＿２を備えている。このトランジスタのソースは電源ＶＤＤに接続され、ドレインはＮチャネルトランジスタ３２ｍ＿１のドレインに接続されている。さらに、このトランジスタ３２ｍ＿１のソースは、グラウンド側に隣り合う区分ユニット３２ｍ−１のＮチャネルトランジスタ３２ｍ−１＿１（図示せず）のドレインに接続されている。
【００４４】
また、複数の区分ユニットのうち、最もグラウンドＧＮＤに近い区分ユニット３２ａのＮチャネルトランジスタ３２ａ＿１のソースは、ソースがグラウンドＧＮＤに接続されたＮチャネルトランジスタ３２ｑのドレインに接続されている。さらに、このトランジスタ３２ｑのゲートは第１制御信号入力端子３２ｏに接続されている。
【００４５】
ここで、本実施形態では、図１に示す最優先指定部３１に最優先のワードが設定される前は、第１制御信号入力端子３２ｏと第２制御信号入力端子３２ｐには、それぞれローレベルの第１制御信号Ｓ１と第２制御信号Ｓ２が供給され、この期間中、Ｎチャネルトランジスタ３２ｑはオフしており、全ての区分ユニットのＰチャネルトランジスタはオンしている。従って、全ての区分ユニットのＮチャネルトランジスタのドレインとＰチャネルトランジスタのドレインとの接続点であるノードＮはＰチャネルトランジスタによってプリチャージされ、ハイレベルとなっている。また、最優先のワードをユーザが指定する以前の初期状態では、最優先指定部３１の全てのラッチはハイレベルをラッチしている。
【００４６】
このとき、ユーザが最優先のワードとして、例えばワード１１ｍを指定すると、この最優先のワード１１ｍに対応するラッチ３１ｍにローレベルがラッチされる。すると、このラッチ３１ｍに対応する区分ユニット３２ｍのＮチャネルトランジスタ３２ｍ＿１がオフする。その結果、この最優先のワード１１ｍに対応する区分ユニット３２ｍを含み、この区分ユニット３２ｍよりもグランドＧＮＤから遠くに位置する区分ユニット３２ｍ，…，３２ｎのノードＮとグラウンドＧＮＤの近くに位置する区分ユニットのノードＮとの間の接続が遮断される。最優先のワードの指定と同時に、第１、第２制御信号Ｓ１、Ｓ２はともにハイレベルとされるが、区分ユニット３２ｍを含みこの区分ユニット３２ｍよりもグランドＧＮＤから遠くに位置する区分ユニット３２ｍ，…，３２ｎのノードＮの電位は電源ＶＤＤと等しいハイレベルを保持する。一方、区分ユニット３２ｍよりもグランドＧＮＤの近くに位置する区分ユニットのノードＮは、各区分ユニットのＮチャネルトランジスタとＮチャネルトランジスタ３２ｑを介してグラウンドＧＮＤに接続されるため、その電位はローレベルとなる。各区分ユニットにおける、このノードＮの電位が区分信号Ｓｎとして上位側マスク回路３３に供給される。以後、ユーザが最優先ワードの指定を変更しない限りは、第１，第２制御信号Ｓ１，Ｓ２はともにハイレベルを供給し続ける。ここで、本実施形態では、前述のように複数のワードに対して、プライオリティエンコーダ３５で固定的に定められている優先順位は、図１に示す添字のアルファベット順である。つまり、上記の最優先のワード１１ｍを含みこの最優先のワード１１ｍよりも下位のワード１１ｍ，…，１１ｎに対応する区分ユニット３２ｍ，…，３２ｎのノードＮからはハイレベルの区分信号Ｓｎが出力され、最優先のワード１１ｍよりも上位のワードに対応する区分ユニット３２ａ，…，３２ｍ−１のノードＮからはローレベルの区分信号Ｓｎが出力される。
【００４７】
このようにして、区分回路３２は、複数のワードを、上記の下位のワードと上位のワードとに区分し、各ワードがこの下位と上位のどちらに属するのかを示す区分信号Ｓｎを、各ワードに対応する区分ユニットから上位側マスク回路３３に出力する。
【００４８】
上位側マスク回路３３は、各ワードに１つ備えられている複数のロジック回路３３ａ，３３ｂ，…，３３ｍ，…，３３ｎからなり、各ロジック回路には、同じワードに対応する区分ユニットから上記の区分信号Ｓｎが入力される。これらのロジック回路は互いに同一の回路構成である。
【００４９】
ここで、ロジック回路の構成について図２を参照して説明する。ここでは、ワード１１ｍに対応するロジック回路３３ｍを例にとり回路構成を説明する。
【００５０】
図２は、図１に示すロジック回路３３ｍを示す回路図である。
【００５１】
図２に示すロジック回路３３ｍは、ＮＯＲ回路３３ｍ＿１と、２個のＡＮＤ回路３３ｍ＿２，３３ｍ＿３と、ＯＲ回路３３ｍ＿４とから構成されている。
【００５２】
ＮＯＲ回路３３ｍ＿１の第１入力端子１ａは、図１に示す区分ユニット３２ｍのノードＮに接続されており、このノードＮから上記の区分信号Ｓｎが入力される。また、第２入力端子１ｂは、図１に示す検出回路３４に接続されている。この第２入力端子１ｂには検出回路３４から後述する下位ヒット検出信号Ｓｌが入力される。この下位ヒット検出信号Ｓｌは、区分回路３２によって上記の下位に区分されたワードに対応する下位側フラグレジスタのいずれかにヒットフラグ（ハイレベル）が格納されているときにハイレベルとなり、上記の下位側フラグレジスタのいずれにもヒットフラグ（ハイレベル）が格納されていないときにローレベルとなる信号である。
【００５３】
ＡＮＤ回路３３ｍ＿２の第１入力端子２ａは、ロジック回路３３ｍに対応するワード１１ｍ（図１参照）に対応するフラグレジスタ１３ｍに接続されており、このフラグレジスタ１３ｍから一致検出信号Ｓｈが入力される。また、第２入力端子２ｂは、ＮＯＲ回路３３ｍ＿１の出力端子に接続されている。
【００５４】
ＡＮＤ回路３３ｍ＿３の第１入力端子３ａは、上記のフラグレジスタ１３ｍに接続され、そのＡＮＤ回路の第２入力端子３ｂは、前述した区分ユニット３２ｍのノードＮに接続されている。
【００５５】
ＯＲ回路３３ｍ＿４の第１入力端子４ａは、ＡＮＤ回路３３ｍ＿２の出力端子に接続され、第２入力端子４ｂは、ＡＮＤ回路３３ｍ＿３の出力端子に接続されている。
【００５６】
ＯＲ回路３３ｍ＿４の出力端子は、図１に示すプライオリティエンコーダ３５に接続されており、この出力端子からロジック回路３３ｍの第１出力信号Ｓｏ１がプライオリティエンコーダ３５に出力される。ここで、プライオリティエンコーダ３５は、この第１出力信号Ｓｏ１がハイレベルであるとき、ロジック回路３３ｍに対応するワード１１ｍに対応するフラグレジスタ１３ｍにヒットフラグ（ハイレベル）が格納されているとみなし、ワード１１ｍのアドレスＡＤを出力する。また、ＡＮＤ回路３３ｍ＿３の出力端子からロジック回路３３ｍの第２出力信号Ｓｏ２が検出回路３４に出力される。
【００５７】
ここで、ワード１１ｍが、区分回路３２によって上記の下位に区分されたワードであり（区分信号Ｓｎがハイレベル）、かつワード１１ｍに対応するフラグレジスタ１３ｍにヒットフラグ（ハイレベル）が格納されている場合（一致検出信号Ｓｈがハイレベル）にのみ、上記の第２出力信号Ｓｏ２はハイレベルとなる。２つの入力信号（一致検出信号Ｓｈ、区分識別信号Ｓｎ）の信号レベルの組み合わせが上記の組み合わせ以外であるときには、第２出力信号Ｓｏ２はローレベルになる。
【００５８】
一方、第１出力信号Ｓｏ１は、ワード１１ｍが、区分回路３２によって上記の下位に区分されたワードであり（区分識別信号Ｓｎがハイレベル）、かつワード１１ｍに対応するフラグレジスタ１３ｍにヒットフラグ（ハイレベル）が格納されている場合（一致検出信号Ｓｈがハイレベル）にハイレベルとなる。一方、ワード１１ｂに対応するフラグレジスタ１３ｂにヒットフラグ（ハイレベル）が格納されており（一致検出信号Ｓｈがハイレベル）、かつそのワード１１ｂが、区分回路３２によって上記の上位に区分されたワードであり（区分信号Ｓｎがローレベル）、さらに上記の下位のワードに対応する下位側フラグレジスタのいずれにもヒットフラグ（ハイレベル）が格納されていない場合（下位ヒット検出信号Ｓｌがローレベル）にも、上記の第１出力信号Ｓｏ１はハイレベルになる。３つの入力信号（一致検出信号Ｓｈ、区分信号Ｓｎ、下位ヒット検出信号Ｓｌ）の信号レベルの組み合わせが上記の２通り以外であるときには、第１出力信号Ｓｏ１はローレベルになる。
【００５９】
従って、ロジック回路３３ｂに対応するワード１１ｂが、区分回路３２によって上記の上位に区分されたワードである場合（区分信号Ｓｎがローレベル）は、たとえこのワード１１ｂに対応するフラグレジスタ１３ｂにヒットフラグ（ハイレベル）が格納されていた（一致検出信号Ｓｈがハイレベル）としても、上記の下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグ（ハイレベル）が格納されている場合（下位ヒット検出信号Ｓｌがハイレベル）には、ロジック回路３３ｂはローレベルの第１出力信号Ｓｏ１をプライオリティエンコーダ３５に出力する。つまり、この場合、ワード１１ｂに対応するフラグレジスタ１３ｂにヒットフラグ（ハイレベル）が格納されているという情報は、ロジック回路３３ｂによってマスクされ、プライオリティエンコーダ３５には、見かけ上このワード１１ｂに対応するフラグレジスタ１３ｂにはヒットフラグ（ハイレベル）が格納されていないという情報（第１出力信号Ｓｏ１がローレベル）が伝達される。
【００６０】
このようにして、図１に示す上位側マスク回路３３は、上記の下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグ（ハイレベル）が格納されている場合には、たとえ上記の上位のワードに対応する上位側フラグレジスタのいずれかにヒットフラグ（ハイレベル）が格納されていたとしても、その情報をマスクし、まず上記の下位のワードに対する情報を優先してプライオリティエンコーダ３５に伝達する。
【００６１】
また、図１に示す複数のフラグレジスタ１３ａ，１３ｂ，…，１３ｍ，…，１３ｎそれぞれに格納されているヒットフラグ（ハイレベル）は、プライオリティエンコーダ３５から自分に対応するワードのアドレスが出力された後、リセット（ローレベルを格納）される。
【００６２】
つまり、上記の下位のワードに対応する下位側フラグレジスタのうち、ヒットフラグ（ハイレベル）が格納されているフラグレジスタは、これらヒットフラグ（ハイレベル）が格納されているフラグレジスタに対応するワードのアドレスがプライオリティエンコーダ３５から全て出力された後は、全てリセットされる。従って、このときには、上記の下位ヒット検出信号Ｓｌはローレベルとなるので、上記の上位のワードに対応する上位側フラグレジスタのいずれかにヒットフラグ（ハイレベル）が格納されている場合には、これらのワードに対する情報が、上位側マスク回路３３からプライオリティエンコーダ３５に伝達される。
【００６３】
次に、再び図１を参照して検出回路３４について説明する。
【００６４】
図１に示す検出回路３４は、プライオリティエンコーダ３５において固定的に定められている優先順位上、最優先指定部３１で指定された最優先のワードを含む、この最優先ワードよりも下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されているか否かを検出するものである。この検出回路３４は、各ワードに１つ備えられている複数の下位ヒット検出回路３４ａ，３４ｂ，…，３４ｍ，…，３４ｎとインバータ３４ｏから構成されている。各下位ヒット検出回路には同じワードに対応する上記のロジック回路から第２出力信号Ｓｏ２（図２参照）が入力される。これらの下位ヒット検出回路は互いに同一の回路構成である。ここでは、ワード１１ｍに対応する下位ヒット検出回路３４ｍを例にとり回路構成を説明する。
【００６５】
図１に示す下位ヒット検出回路３４ｍは、インバータ３４ｏの入力端子とグラウンドＧＮＤとの間に配置された、互いに直列に接続された第１，第２Ｎチャネルトランジスタ３４ｍ＿１，３４ｍ＿２から構成されている。ここで、第１Ｎチャネルトランジスタ３４ｍ＿１のゲートは第３制御信号入力端子３４ｐに接続されており、この入力端子３４ｐに第３制御信号Ｓ３が入力される。また、第２Ｎチャネルトランジスタ３４ｍ＿２のゲートにはロジック回路３３ｍから第２出力信号Ｓｏ２が入力される。
【００６６】
ここで、下位ヒット検出回路３４ｍは、検索後のプライオリティ付け動作に同期して下記のように制御される。
【００６７】
まず、プライオリティ回路３０によるプライオリティ付け動作の開始前の段階では、プリチャージ用トランジスタ３４ｑのゲートにローレベルの第４制御信号Ｓ４が供給され、第３制御信号入力端子３４ｐにはローレベルの第３制御信号Ｓ３が供給されている。従って、全ての下位ヒット検出回路の第１ＮチャネルトランジスタのドレインＤは、オンしているプリチャージ用トランジスタ３４ｑを介して、電源ＶＤＤによりプリチャージされている。次に、プライオリティ付け動作の開始時に、第３、第４制御信号はともにハイレベルにされる。この結果、全ての下位ヒット検出回路の第２Ｎチャネルトランジスタがオフしている場合は、インバータ３４ｏの入力端子の電位はハイレベルであり、インバータ３４ｏの出力端子からローレベルの下位ヒット検出信号Ｓｌが出力される。
【００６８】
ここで、例えば、ロジック回路３３ｍに対応するワード１１ｍが、区分回路３２によって区分された上記の下位のワードであり、このワード１１ｍに対応するフラグレジスタ１３ｍにヒットフラグ（ハイレベル）が格納されているときには、前述のように、ロジック回路から出力される第２出力信号Ｓｏ２はハイレベルになる。このハイレベルの出力信号Ｓｏ２が第２Ｎチャネルトランジスタ３４ｍ＿２のゲートに入力され、このトランジスタがオンする。その結果、インバータ３４ｏの入力端子がグラウンドＧＮＤに接続され、その電位がローレベルになり、インバータ３４ｏからはハイレベルの下位ヒット検出信号Ｓｌが出力される。
【００６９】
このように、検出回路３４は、上記の下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグ（ハイレベル）が格納されているときに、インバータ３４ｏの出力端子から全てのロジック回路に、ハイレベルの下位ヒット検出信号Ｓｌを出力し、上記の下位側フラグレジスタのいずれにもヒットフラグ（ハイレベル）が格納されていないときにローレベルの下位ヒット検出信号Ｓｌを出力する回路である。
【００７０】
以上説明したように、プライオリティ回路３０は、複数のワードのうちの最優先のワードを最優先指定部３１によって指定し、区分回路３２により、複数のワードを、プライオリティエンコーダ３５で固定的に定められた優先順位上、最優先のワードを含みこの最優先のワードよりも下位のワードと、最優先のワードよりも上位のワードに区分し、上記の下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグ（ハイレベル）が格納されているときに、フラグレジスタにヒットフラグ（ハイレベル）が格納されているワードのうち、プライオリティエンコーダ３５で固定的に定められている優先順位上最優先のワードのアドレスを優先的に出力する回路である。
【００７１】
図３は、図１に示す連想メモリに備えられた複数のワードの優先順位を模式的に示す図である。
【００７２】
図３に示す複数のワード１１ａ，１１ｂ，…，１１ｍ−１，１１ｍ，…，１１ｎにおいて、ワード１１ｍが、図１に示す最優先指定部３１で最優先に指定されたワードである。
【００７３】
ここで、前述したように本実施形態では、図１に示すプライオリティエンコーダ３５で固定的に定められた優先順位は、図３に示すワードの添字のアルファベット順である。
【００７４】
従って、図３に示す複数のワードは、図１に示す区分回路３２によって、上記の最優先のワード１１ｍを含む、この最優先のワード１１ｍよりも下位のワード１１ｍ，…，１１ｎと、最優先のワード１１ｍよりも上位のワード１１ａ，１１ｂ，…，１１ｍ−１に区分される。
【００７５】
そして、下位のワード１１ｍ，…，１１ｎにおける優先順位と、上位のワード１１ａ，１１ｂ，…，１１ｍ−１における優先順位は、プライオリティエンコーダ３５で固定的に定められた優先順位に従う。その結果、図３に示す複数のワードにおける優先順位は、ワード１１ｍを最優先とし、以下ワード１１ｎまで添字のアルファベットの順に優先順位が下がる。そして、ワード１１ｎの次に来るのが、ワード１１ａになり、以下ワード１１ｍ−１まで添字のアルファベットの順に優先順位が下がり、このワード１１ｍ−１の優先順位が最下位となる。
【００７６】
従って、本実施形態によれば、例えば、図３に示すワード１１ａ，１１ｂ，…，１１ｍ−１にテーマＡのデータを、ワード１１ｍ，…，１１ｎにテーマＢのデータを格納しておき、ワード１１ｍを最優先のワードに指定した後、所定の検索データにより検索を実施すれば、検索データと一致するデータのうち、テーマＢに対する検索結果を優先的に得ることができる。
【００７７】
上述した本実施形態では、最優先のワードを含みこれより下位のワードに対応するフラグレジスタにヒットフラグが格納されていない場合には、最優先ワードよりも上位のワードに対応するフラグレジスタのヒットフラグをマスクせずにプライオリティエンコーダ３５に伝達することによって、図３に示すテーマＡに対する検索結果も出力できるように構成されている。しかし、テーマＡに対する検索結果を出力する必要が無い場合には、プライオリティ回路３０の構成を簡単にすることができる。即ち、下位側ワードのヒットの有無に応じて上位側ワードのヒットフラグをマスクせずに単純に上位側ワードのヒットフラグをマスクするだけでよいため、上述の実施形態における検出回路３４が不要となる。
【００７８】
この場合には、ロジック回路の回路構成も簡単化される。図２に示すロジック回路３３ｍにおいて、ＡＮＤ回路３３ｍ＿３だけでよく、第２出力信号Ｓｏ２を第１出力信号Ｓｏ１の代わりにプライオリティエンコーダ３５に供給すればよい。
【００７９】
また本実施形態では、最優先指定部３１と区分回路３２を用いて区分信号Ｓｎを生成している。これは最優先指定部３１での最優先ワードの指定の簡単化のためであるが、最優先指定部３１で区分信号Ｓｎを直接出力するような回路構成とすることもでき、区分回路３２を省くこともできる。例えば、本実施形態の最優先指定部３１である複数のラッチに、区分信号Ｓｎを直接格納する構成とすることもできる。
【００８０】
以上で本発明の第１実施形態についての説明を終了し、次に、本発明の第２実施形態について説明する。
【００８１】
図４は、本発明の連想メモリの第２実施形態を示す回路ブロック図である。
【００８２】
この図４では、図１を参照して説明した第１実施形態と同等な要素については図１における符号と同一の符号を付けて詳細な説明を省略する。
【００８３】
ここに示す連想メモリ６０は、プライオリティ回路５０とメモリ部分４０とからなり、プライオリティ回路５０は、最優先指定部５１と最優先区分回路５２と最後尾指定部５３と最後尾区分回路５４とモード信号生成回路５５とマスク回路５６と検出回路３４とプライオリティエンコーダ３５とを備えている。ここで、最優先区分回路５２、最後尾区分回路５４、モード信号生成回路５５、マスク回路５６、検出回路３４が、本発明の連想メモリにおける優先順位変更部に相当する。
【００８４】
最優先指定部５１は、メモリ部分４０における複数のワードのうち最優先でアドレスを出力すべき最優先ワードを指定するものである。また、最優先区分回路５２は、メモリ部分４０における複数のワードを、最優先指定部５１で指定された最優先ワードを含みその最優先ワードよりも下位のワードと、最優先ワードよりも上位のワードとに区分する回路である。
【００８５】
また、最後尾指定部５３は、メモリ部分４０における複数のワードのうち最後にアドレスを出力すべき最後尾ワードを指定するものである。また、最後尾区分回路５４は、メモリ部分４０における複数のワードを、最後尾指定部５３で指定された最後尾ワードを含みその最後尾ワードよりも上位のワードと、最後尾ワードよりも下位のワードとに区分する回路である。
【００８６】
以上説明した、最優先指定部５１、最優先区分回路５２、最後尾指定部５３、および最後尾区分回路５４によって、メモリ部分４０内の、複数のワード１１ａ，…，１１ｎ（図４では図示せず。以下、メモリ部分４０の内部構造については図１参照）からなるメモリ領域は、対応するフラグレジスタにヒットフラグが格納されている場合にはそのアドレスが出力される有効ワードからなる有効領域と、それ以外の非有効ワードからなる非有効領域とに分けられる。上記のメモリ領域の有効領域と非有効領域への分け方は、最優先指定部５１および最後尾指定部５３において、メモリ領域内のどのワードが、それぞれ最優先ワードおよび最後尾ワードに指定されるかによって、次のような２パターンが存在する。
【００８７】
図５は、１つの有効領域と２つの非有効領域とに分割されたメモリ領域を示す模式図であり、図６は、２つの有効領域と１つの非有効領域とに分割されたメモリ領域を示す模式図である。
【００８８】
図５の例は、最優先ワードとして指定されたワード１１ｂよりも下位のワード１１ｍが最後尾ワードとして指定された例である。この場合、有効領域は、最優先ワード１１ｂから最後尾ワード１１ｍまでの領域１８である。
【００８９】
一方、図６の例は、最優先ワードとして指定されたワード１１ｍよりも上位のワード１１ｋが最後尾ワードとして指定された例である。この場合、有効領域は、最優先ワード１１ｍから最下位ワード１１ｎまでの第１の領域１９＿１と、最上位ワード１１ａから最後尾ワード１１ｋまでの第２の領域１９＿２との２つである。
【００９０】
図４に示すモード信号生成回路５５は、最優先指定部５１で指定された最優先ワードと最後尾指定部５３で指定された最後尾ワードのうち、プライオリティエンコーダ３５において固定的に定められている優先順位上いずれのワードが上位であるかを、最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２を用いて判定し、その判定結果を示すモード信号Ｓｍを出力する回路である。本実施形態の連想メモリ６０では、メモリ領域内に、上記の２パターンのうちいずれのパターンの有効領域が設定されているかが後述のモード信号生成回路５５で判定され、その判定の結果に応じたマスク処理が後段のマスク回路５６において実行される。
【００９１】
マスク回路５６は、上記のモード信号Ｓｍに応じて、メモリ部分４０における複数のフラグレジスタ１３ａ，…，１３ｎ（図１参照）内のヒットフラグを次のようにマスクする回路である。
【００９２】
即ち、上記の優先順位上、最優先ワードが最後尾ワードよりも上位である場合には、その優先順位で最優先のワードから最後尾のワードまでの各ワードに対応するフラグレジスタ以外のフラグレジスタのヒットフラグをマスクする。一方、最優先ワードが最後尾ワードよりも下位である場合には、最優先のワードを含み最優先ワードよりも下位のワードに対応する下位側フラグレジスタのいずれかにヒットフラグが格納されていたときに最優先ワードよりも上位のワードに対応する上位側フラグレジスタのヒットフラグをマスクし、上記の下位側フラグレジスタのいずれにもヒットフラグが存在しないときに最後尾のワードよりも下位のワードに対応するフラグレジスタのヒットフラグをマスクする。
【００９３】
そして、このマスク回路５６からは、マスクされていないワードそれぞれについて、対応するフラグレジスタにヒットフラグが格納されているワードについては、ハイレベルの第１出力信号Ｓｏ１がプライオリティエンコーダ３５に出力され、ヒットフラグが格納されていないワードについては、ローレベルの第１出力信号Ｓｏ１がプライオリティエンコーダ３５に出力される。また、最優先ワードを含み最優先ワードよりも下位であって、かつ対応するフラグレジスタにヒットフラグが格納されているワードについては、検出回路３４にハイレベルの第２出力信号Ｓｏ２を出力し、それ以外のワードについては検出回路３４にローレベルの第２出力信号Ｓｏ２を出力する。
【００９４】
検出回路３４では、各ワードについてマスク回路５６から出力される第２出力信号Ｓｏ２が全てローレベルであるときにのみローレベルとなる下位ヒット検出信号Ｓｌが、上記のマスク回路５６に出力される。
【００９５】
また、プライオリティエンコーダ３５では、ハイレベルの第１出力信号Ｓｏ１に対応するワードのアドレスが、固定的に決められている優先順位に従って出力される。
【００９６】
図７は、図４に示す最優先指定部と最優先区分回路を示す回路図である。
【００９７】
ここで、図７に示す最優先指定部５１および最優先区分回路５２それぞれの構成要素は、それぞれ図１を参照して説明した最優先指定部３１および区分回路３２の構成要素と同等であり、図７では、これらの構成要素については図１と同じ符号が付されており、以下ではこれらの構成要素についての重複説明を省略する。ただ、図７では、図６を参照して後述する最後尾指定部５３から出力される最後尾ラッチ出力信号Ｓｒ２と区別するために、最優先指定部５１から出力される最優先ラッチ出力信号が符号「Ｓｒ１」で表わされ、同じく後述する最後尾区分回路５４から出力される最後尾区分信号Ｓｎ２と区別するために、最優先区分回路５２から出力される最優先区分信号が符号「Ｓｎ１」で表わされている。
【００９８】
そして、図１に示す区分回路３２と同様に、図７に示す最優先区分回路５２を構成する複数の区分ユニット３２ａ，…，３２ｎにおいて、ユーザが指定した上記の最優先ワードよりも上位のワードに対応する区分ユニットからは、ローレベルの最優先区分信号Ｓｎ１が出力され、最優先のワードを含み最優先ワードよりも下位のワードに対応する区分ユニットからは、ハイレベルの最優先区分信号Ｓｎ１が出力される。
【００９９】
以下では、図１に示す第１実施形態との相違点である、最後尾指定部５３、最後尾区分回路５４、モード信号生成回路５５、およびマスク回路５６それぞれの詳細について説明する。また、以下の説明では適宜図４〜図６を参照する。
【０１００】
図８は、図４に示す最後尾指定部と最後尾区分回路を示す回路図である。
【０１０１】
図８には、複数のワードそれぞれに対し一対一に対応する複数のラッチ５３ａ，５３ｂ，…，５３ｍ，…，５３ｎからなる最後尾指定部５３と、各ワードに対し一対一に対応する、互いに同一の回路構成の複数の区分ユニット５４ａ，５４ｂ，…，５４ｍ，…，５４ｎを備えた最後尾区分回路５４とが示されている。また、最後尾区分回路５４は、ゲートが第１制御信号入力端子３２ｏに接続され、ソースがグラウンドＧＮＤに接続されたＮチャネルトランジスタ５４ｑも備えている。
【０１０２】
最後尾指定部５３を構成する複数のラッチは、初期状態でハイレベルをラッチしており、最後に検索結果を出力すべき最後尾のワードのアドレスをユーザが指定すると、このアドレスのワードに対応するラッチがローレベルをラッチする。各ラッチからは最後尾ラッチ出力信号Ｓｒ２が、各ラッチに一対一に対応している複数の区分ユニットに出力される。すなわち、ハイレベルがラッチされているラッチからはハイレベルの信号が出力され、ローレベルがラッチされているラッチからはローレベルの信号が出力される。
【０１０３】
ここで、互いに同一な区分ユニットの回路構成を、ワード１１ｍ（図５参照）に対応する区分ユニット５４ｍを例にとって説明する。区分ユニット５４ｍは、Ｎチャネルトランジスタ５４ｍ＿１を備えており、このＮチャネルトランジスタ５４ｍ＿１のゲートに、ラッチ５３ｍからの最後尾ラッチ信号Ｓｒ２が入力される。さらに、区分ユニット５４ｍは、ゲートが第２制御信号入力端子３２ｐに接続されたＰチャネルトランジスタ５４ｍ＿２を備えている。このトランジスタのソースは電源ＶＤＤに接続され、ドレインはＮチャネルトランジスタ５４ｍ＿１のドレインに接続されている。さらに、そのＮチャネルトランジスタ５４ｍ＿１のソースは、グラウンド側に隣り合う区分ユニットを構成するＮチャネルトランジスタのドレインに接続されている。
【０１０４】
複数の区分ユニットのうち、最もグラウンドＧＮＤに近い区分ユニット５４ｎのＮチャネルトランジスタ５４ｎ＿１のソースは、ソースがグラウンドＧＮＤに接続されたＮチャネルトランジスタ５４ｑのドレインに接続されている。
【０１０５】
ここで、本実施形態では、図４に示す最後尾指定部５３に最後尾ワードが設定される前は、第１制御信号入力端子３２ｏと第２制御信号入力端子３２ｐには、それぞれローレベルの第１制御信号Ｓ１とローレベルの第２制御信号Ｓ２が供給され、全ての区分ユニットのＰチャネルトランジスタはオンしているが、Ｎチャネルトランジスタ５４ｑはオフしている。従って、全ての区分ユニットのＮチャネルトランジスタのドレインとＰチャネルトランジスタのドレインとの接続点であるノードＮはＰチャネルトランジスタによってプリチャージされ、ハイレベルとなっている。また、最後尾のワードをユーザが指定する前の初期状態では、最後尾指定部５３の全てのラッチはハイレベルをラッチしている。
【０１０６】
ユーザが最後尾のワードとして、例えば１１ｍ（図５参照）を指定すると、この最後尾ワード１１ｍに対応するラッチ５３ｍにローレベルがラッチされる。すると、このラッチ５３ｍに対応する区分ユニット５４ｍのＮチャネルトランジスタ５４ｍ＿１のゲートにローレベルのラッチ出力信号Ｓｒ２が供給されるので、このＮチャネルトランジスタ５４ｍ＿１がオフする。その結果、区分ユニット５４ｍを含みこの区分ユニット５４ｍよりもグラウンドＧＮＤから遠くに位置する区分ユニット５４ａ，…，５４ｍのノードＮとグラウンドＧＮＤの近くに位置するノードとの間の接続が遮断される。最後尾ワードの指定がなされると、第１、第２制御信号はともにハイレベルとされ、区分ユニット５４ｍを含みこれよりも上位の区分ユニットのノードＮの電位は電源ＶＤＤと等しいハイレベルとなる。一方、区分ユニット５４ｍよりもグラウンドＧＮＤの近くに位置する区分ユニット５４ｍ＋１（図示せず），…，５４ｎのノードＮはグラウンドＧＮＤと接続されることとなるので、その電位はローレベルとなる。各区分ユニットにおける、このノードＮの電位が最後尾区分信号Ｓｎ２として後述のモード信号生成回路とマスク回路５６とに供給される。ここで、本実施形態では、前述のように複数のワードに対して、プライオリティエンコーダ３５で固定的に定められている優先順位は添字のアルファベット順である。つまり、上記の優先順位上、上記の最後尾ワード１１ｍ（図５参照）を含みこの最後尾ワードよりも上位のワード１１ａ，…，１１ｍに対応する区分ユニット５４ａ，…，５４ｍのノードＮからはハイレベルの区分信号Ｓｎ２が出力され、最後尾ワード１１ｍよりも下位のワード１１ｍ＋１（図示せず），…，１１ｎに対応する区分ユニット５４ｍ＋１（図示せず），…，５４ｎのノードＮからはローレベルの区分信号Ｓｎ２が出力される。
【０１０７】
以後、ユーザが最後尾ワードの指定を変更しない限り、第１、第２制御信号Ｓ１，Ｓ２はともにハイレベルを維持する。
【０１０８】
図９は、図４に示すモード信号生成回路を示す回路図である。
【０１０９】
図９には、複数のワードそれぞれに対し一対一に対応する複数の信号生成回路５５ａ，５５ｂ，…，５５ｍ，…，５５ｎからなるモード信号生成回路５５が示されている。ここで、各信号生成回路の回路構成は互いに同一であるので、ワード１１ｂ（図５参照）に対応する信号生成回路５５ｂを例に取り以下に説明する。
【０１１０】
信号生成回路５５ｂは、ＮＯＲ回路５５ｂ＿１と第１のＮチャネルトランジスタ５５ｂ＿２、第２のＮチャネルトランジスタ５５ｂ＿３とから構成されている。ＮＯＲ回路５５ｂ＿１の第１および第２入力端子１ａ，１ｂには、それぞれ上記の最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２が入力され、ＮＯＲ回路５５ｂ＿１の出力は第２のＮチャネルトランジスタ５５ｂ＿３のゲートに入力されている。第１と第２のＮチャネルトランジスタは直列に接続され、第２のトランジスタのソースはグラウンドＧＮＤに接続されている。また、図９に示すように、モード信号生成回路５５を構成する全ての信号生成回路５５ａ，…，５５ｎの第１のＮチャネルトランジスタは互いのドレイン同士が接続されており、プリチャージ用のＰチャネルトランジスタ５５ｑのドレインに接続されている。このＰチャネルトランジスタ５５ｑのソースは電源ＶＤＤに接続され、そのゲートには第１制御信号Ｓ１が入力される。そしてモード信号生成回路５５を構成する全ての信号生成回路５５ａ，…，５５ｎの第１のＮチャネルトランジスタのゲートは共通接続されており、これのゲートには第２制御信号Ｓ２が入力される。この第１のＮチャネルトランジスタのドレイン電位が、モード信号Ｓｍとして後述のマスク回路５６に入力される。
【０１１１】
第１，第２の制御信号Ｓ１，Ｓ２は、最優先指定部５１と最後尾指定部５３でそれぞれ最優先ワード、最後尾ワードが指定される前はともにローレベルであり、最優先ワードと最後尾ワードが指定されるとハイレベルとなる。
【０１１２】
最優先ワードと最後尾ワードが指定された後、この信号生成回路５５ｂにおけるＮＯＲ回路５５ｂ＿１にそれぞれ入力される最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２の両方がローレベルであったとすると、ＮＯＲ回路５５ｂ＿１の出力はハイレベルとなり、第２のＮチャネルトランジスタ５５ｂ＿３がオンする。一方、最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２のうちのいずれか一方でもハイレベルであったとすると、ＮＯＲ回路５５ｂ＿１の出力はローレベルとなり、第２のＮチャネルトランジスタ５５ｂ＿３はオフする。
【０１１３】
従って、各信号生成回路のうち、入力される最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２が上記のように両方ともローレベルとなる信号が１つでもある場合には、全ての信号生成回路からローレベルのモード信号Ｓｍが出力される。一方、全ての信号生成回路について、入力される最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２のうち少なくとも一方がハイレベルである場合には、モード信号生成回路５５内の各第２のＮチャネルトランジスタはオフするので、全ての信号生成回路からハイレベルのモード信号Ｓｍが出力される。
【０１１４】
ところで、繰返しになるが、最優先区分信号Ｓｎ１は、上記の最優先ワードよりも上位のワードに対してローレベルとなり、最優先ワードを含み最優先ワードよりも下位のワードに対してハイレベルとなる。また、最後尾区分信号Ｓｎ２は、上記の優先順位上、最後尾ワードを含み最後尾ワードよりも上位のワードに対してハイレベルとなり、最後尾ワードよりも下位のワードに対してローレベルとなる。
【０１１５】
ここで、最後尾ワードよりも下位のワードが最優先ワードに指定された場合には、メモリ部分４０を構成する複数のワードのなかに、最後尾ワードよりも下位であって、かつ最優先ワードよりも上位となるワードが存在することとなる。そのようなワードに対しては、最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２は両方ともローレベルとなる。一方、最後尾ワードよりも上位のワードが最優先ワードに指定された場合には、どのワードに対しても、最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２のうちの一方は必ずハイレベルとなる。
【０１１６】
その結果、モード信号生成回路５５を構成する複数の信号生成回路５５ａ，…，５５ｎそれぞれから出力されるモード信号Ｓｍは、最優先ワードが最後尾ワードよりも上位の場合には全てハイレベルとなり、最優先ワードが最後尾ワードよりも下位の場合には全てローレベルとなる。このようなモード信号Ｓｍがマスク回路５６に入力される。
【０１１７】
図１０は、図４に示すマスク回路を示すブロック図である。
【０１１８】
図１０には、複数のワードそれぞれに対し一対一に対応する、互いに同一な回路構成の複数のロジック回路５６ａ，５６ｂ，…，５６ｍ，…，５６ｎからなるマスク回路５６が示されている。各ロジック回路には、上記の最優先区分信号Ｓｎ１、最後尾区分信号Ｓｎ２、およびモード信号Ｓｍの他にも、図４に示す検出回路３４から出力される下位ヒット検出信号Ｓｌと、メモリ部分４０を構成する複数のフラグレジスタから出力される一致検出信号Ｓｈも入力される。そして、各ロジック回路５６ａ，…，５６ｎでは、対応するヒットフラグに対して上記の信号を用いたマスクが実行される。ここで、以下では、ロジック回路５６ｂを例にとって、その回路構成について説明する。
【０１１９】
図１１は、図１０に示すロジック回路を示す回路図である。
【０１２０】
図１１に示すロジック回路５６ｂは、有効領域認識回路５７ｂとＮＯＲ回路３３ｂ＿１と２つのＡＮＤ回路３３ｂ＿２，３３ｂ＿３とＯＲ回路３３ｂ＿４とで構成されている。ここで、ＮＯＲ回路３３ｂ＿１と２つのＡＮＤ回路３３ｂ＿２，３３ｂ＿３とＯＲ回路３３ｂ＿４とで構成された回路部分５６ｂ＿１は、図２を参照して説明した第１実施形態におけるロジック回路３３ｂと同等な回路であるので、重複説明を省略する。
【０１２１】
有効領域認識回路５７ｂは、対応するフラグレジスタにヒットフラグが格納されているとき（一致検出信号Ｓｈがハイレベルであるとき）に、対応するワードについて、アドレスを出力すべき有効なワードであるか否かを判定し、そのワードが有効なワードである場合にハイレベルの有効一致検出信号Ｓｈｅを出力する。一方、フラグレジスタにヒットフラグが格納されていない場合（一致検出信号Ｓｈがローレベルである場合）や、ヒットフラグが格納されていても、対応するワードが非有効なワードである場合にはローレベルの有効一致検出信号Ｓｈｅを出力する。
【０１２２】
例えば、図５に示すように１つの有効領域１８が設定されている場合には、有効領域認識回路５７ｂでは、対応するワード１１ｂは、この有効領域１８に属するので有効なワードであると判定される。また、図６に示すように２つの有効領域１９＿１，１９＿２が設定されている場合には、対応するワード１１ｂは、図６に示す第２の有効領域１９＿２に属するので有効なワードであると判定される。
【０１２３】
図１２は、図１１に示す有効領域認識回路を示す回路図である。
【０１２４】
図１２に示す有効領域認識回路５７ｂは、２つのＯＲ回路５７ｂ＿１、５７ｂ＿４と３つのＡＮＤ回路５７ｂ＿２、５７ｂ＿３、５７ｂ＿５とで構成されている。
【０１２５】
ＯＲ回路５７ｂ＿１の第１入力端子１ａには、区分ユニット３２ｂから最優先区分信号Ｓｎ１が入力され、その第２入力端子１ｂには、区分ユニット５４ｂから最後尾区分信号Ｓｎ２が入力される。
【０１２６】
ＡＮＤ回路５７ｂ＿２の第１入力端子２ａには、対応する信号生成回路５５ｂからモード信号Ｓｍが入力され、その第２および第３入力端子２ｂ，２ｃには、それぞれ最優先区分信号Ｓｎ１と最後尾区分信号Ｓｎ２が入力される。
【０１２７】
ＡＮＤ回路５７ｂ＿３の第１入力端子３ａは、ＡＮＤ回路５７ｂ＿２の第１入力端子２ａとも接続されており、モード信号Ｓｍが反転されて回路内部に入力される。また、その第２入力端子３ｂは、ＯＲ回路５７ｂ＿１の出力端子に接続されている。
【０１２８】
ＯＲ回路５７ｂ＿４の第１および第２入力端子４ａ，４ｂは、それぞれＡＮＤ回路５７ｂ＿２，５７ｂ＿３の出力端子に接続されている。
【０１２９】
ＡＮＤ回路５７ｂ＿５の第１入力端子５ａは、対応するフラグレジスタに接続されており、そのフラグレジスタから一致検出信号Ｓｈが入力される。また、その第２入力端子５ｂは、ＯＲ回路５７ｂ＿４の出力端子に接続されている。そして、ＡＮＤ回路５７ｂ＿５の出力端子から上記の有効一致検出信号Ｓｈｅが出力される。
【０１３０】
ここで、ＯＲ回路５７ｂ＿１、５７ｂ＿４、ＡＮＤ回路５７ｂ＿２、５７ｂ＿３で構成される回路部分５７ｂ＿６において、対応するワードがアドレスを出力すべき有効なワードであるか否かが、モード信号Ｓｍ、最優先区分信号Ｓｎ１、および最後尾区分信号Ｓｎ２を用いて判定される。そして、そのワードが有効なワードである場合に、ＯＲ回路５７ｂ＿４の出力端子からハイレベルが出力される。
【０１３１】
例えば、図５に示すような１つの有効領域１８が設定されている場合、上記の判定は次のように実行される。まず、この有効領域１８では、最優先ワード１１ｂは最後尾ワード１１ｍよりも上位であるので、上記のモード信号Ｓｍはハイレベルとなる。このとき、この有効領域１８に属するワードは、最優先ワード１１ｂを含みこれよりも下位のワードであって、かつ最後尾ワード１１ｍよりも上位であるので、上記の最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２はともにハイレベルとなる。ここで、この図１２に示す有効領域認識回路５７ｂに対応するワード１１ｂは、最優先ワード１１ｂと同一のワードであって、かつ最後尾ワード１１ｍよりも上位であるので、このワード１１ｂに対応する最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２はともにハイレベルとなる。
【０１３２】
また、図６に示すような２つの有効領域１９＿１，１９＿２が設定されている場合には、最優先ワード１１ｍは最後尾ワード１１ｋよりも下位であるので、上記のモード信号Ｓｍはローレベルとなる。このとき、２つの有効領域１９＿１，１９＿２のうちの第１の有効領域１９＿１に属するワードは、最優先ワード１１ｍを含みそれよりも下位のワードであるので、上記の最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２は、それぞれハイレベルおよびローレベルとなる。一方、第２の有効領域１９＿２に属するワードは、最優先ワード１１ｍよりも上位であって、かつ、最後尾ワード１１ｋを含みそれよりも上位のワードでもあるので、上記の最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２は、それぞれローレベルおよびハイレベルとなる。ここで、この図１２に示す有効領域認識回路５７ｂに対応するワード１１ｂは、図６における第２の有効領域１９＿２に属するワードであるので、上記の最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２は、それぞれローレベルおよびハイレベルとなる。
【０１３３】
そして、以上説明したように、モード信号Ｓｍ、最優先区分信号Ｓｎ１、および最後尾区分信号Ｓｎ２が全てハイレベルであるか、あるいはモード信号Ｓｍがハイレベルであって、かつ最優先区分信号Ｓｎ１および最後尾区分信号Ｓｎ２のうちの一方がハイレベルである場合に、図１２に示すＯＲ回路５７ｂ＿４の出力端子からハイレベルが出力される。
【０１３４】
そして、ＡＮＤ回路５７ｂ＿５は、第１および第２入力端子５ａ，５ｂの両方にハイレベルが入力されたときにハイレベルの有効一致検出信号Ｓｈｅを出力する。つまり、図１２に示す有効領域認識回路５７ｂは、対応するワード１１ｂが、上記の有効領域に属するワードであって（ＯＲ回路５７ｂ＿４の出力がハイレベルであって）、かつそのワード１１ｂに対応するフラグレジスタ１３ｂにヒットフラグが格納されている（一致検出信号Ｓｈがハイレベルである）ときに、ハイレベルの有効一致検出信号Ｓｈｅを出力する。
【０１３５】
以上で有効領域認識回路５７ｂの説明を終了するが、図１１に示すロジック回路５６ｂのうち、有効領域認識回路５７ｂを除く回路部分５６ｂ＿１は、前述したように図１に示す第１実施形態におけるロジック回路３３ｂと同等な回路であり、その回路部分５６ｂ＿１についての詳細な説明は省略する。以下では、図１１でロジック回路５６ｂを例にとって代表的に示した複数のロジック回路で構成されるマスク回路５６の動作について、前述した図５および図６を適宜に参照して説明する。
【０１３６】
例えば、図５に示すように１つの有効領域１８が設定されている場合、この有効領域１８以外のワードに対しては、上記の有効領域認識回路がローレベルの有効一致検出信号Ｓｈｅを出力することによって、これらのワードに対応するフラグレジスタにヒットフラグが格納されていたとしてもそのヒットフラグをマスクする。そして、上記の有効領域１８に属するワードについては、ロジック回路のうちの有効領域認識回路を除く回路部分（図１１に示す回路部分５６ｂ＿１を参照）が、図１に示す第１実施形態におけるロジック回路３３ｂと同等に処理するので、この有効領域１８に属するワードに対応するフラグレジスタの中にヒットフラグが格納されているものがあると、それらのヒットフラグはマスクなしでそのままプライオリティエンコーダ３５に送られる。そして、それらのヒットフラグに対応するワードのアドレスが、図５の矢印Ａが示す、最優先ワード１１ｂから最後尾ワード１１ｍに至る優先順位で出力される。
【０１３７】
また、図６に示すように２つの有効領域１９＿１，１９＿２が設定されている場合にも、これらの有効領域１９＿１，１９＿２以外のワードに対応するヒットフラグがマスクされる。そして、２つの有効領域１９＿１，１９＿２について、ロジック回路のうちの有効領域認識回路を除く上記の回路部分が、図１に示す第１実施形態におけるロジック回路３３ｂと同等に処理するので、第１の有効領域１９＿１に属するいずれかのワードに対応するフラグレジスタ内にヒットフラグが格納されているときには、第２の有効領域１９＿２に属するワードに対応するヒットフラグがマスクされる。前述したように、各ワードに対応するフラグレジスタは、そのワードのアドレスがプライオリティエンコーダ３５から出力されるとリセットされるので、上記の第１の有効領域１９＿１に属するワードに対応する、ヒットフラグが格納されているフラグレジスタは、これらのヒットフラグがプライオリティエンコーダ３５に送られて、プライオリティエンコーダ３５からそれぞれのヒットフラグに対応するワードのアドレスが全て出力された後にリセットされる。そして、その後、第２の有効領域１９＿２に属するワードに対応するヒットフラグに対するマスクが解除され、これらのヒットフラグがプライオリティエンコーダ３５に送られて、プライオリティエンコーダ３５からそれぞれのヒットフラグに対応するワードのアドレスが出力される。マスク回路５６で実行されるこのような処理により、上記の第１および第２の有効領域１９＿１，１９＿２に属する、ヒットフラグが格納されたフラグレジスタに対応するワードのアドレスは、図６の矢印Ｂが示す、最優先ワード１１ｍから最下位ワード１１ｎと最上位ワード１１ａを経て最後尾ワード１１ｋに至る優先順位で出力される。
【０１３８】
以上図４〜図１２を参照して説明した連想メモリ６０によれば、メモリ部分４０における複数のワードのうちの、所望のワードで構成される有効領域を指定し、その有効領域内のワードについてのみ、検索データと一致するデータが格納されているワードのアドレスを得ることができる。その結果、例えば、検索結果を出力すべき対象となるワード群を特定することができるので、効率的に検索結果を得ることができる。
【０１３９】
尚、本実施形態ではプライオリティエンコーダで固定的に定められた優先順位として、図に示すワードの添字のアルファベット順となる例を挙げたが、これに限るものではなく、プライオリティエンコーダで固定的に定められた優先順位は、所定の固定された優先順位であればよい。
【図面の簡単な説明】
【０１４０】
【図１】本発明の連想メモリの第１実施形態を示す回路ブロック図である。
【図２】図１に示すロジック回路を示す回路図である。
【図３】図１に示す連想メモリに備えられた複数のワードの優先順位を模式的に示す図である。
【図４】本発明の連想メモリの第２実施形態を示す回路ブロック図である。
【図５】１つの有効領域と２つの非有効領域とに分割されたメモリ領域を示す模式図である。
【図６】２つの有効領域と１つの非有効領域とに分割されたメモリ領域を示す模式図である。
【図７】図４に示す最優先指定部と最優先区分回路を示す回路図である。
【図８】図４に示す最非優先指定部と最非優先区分回路を示す回路図である。
【図９】図４に示すモード信号生成回路を示す回路図である。
【図１０】図４に示すマスク回路を示すブロック図である。
【図１１】図１０に示すロジック回路を示す回路図である。
【図１２】図１１に示す有効領域認識回路を示す回路図である。
【図１３】従来の連想メモリの一例を示す回路ブロック図である。
【図１４】従来の連想メモリに、２つのテーマのデータがテーマ別に格納されている様子を模式的に示す図である。
【符号の説明】
【０１４１】
１０，２０，６０    連想メモリ
１１ａ，１１ｂ，１１ｃ，…，１１ｍ−１，１１ｍ，１１ｍ＋１，…，１１ｎ    ワード
１２    検索データレジスタ
１３ａ，１３ｂ，１３ｃ，…，１３ｎ    フラグレジスタ
１４    アドレスエンコーダ
１５    アドレスデコーダ
１６ａ，１６ｂ，１６ｃ，…，１６ｎ    ワード線
１７    出力レジスタ
１８    有効領域
１９＿１    第１の有効領域
１９＿２    第２の有効領域
３０，５０    プライオリティ回路
３１    最優先指定部
３１ａ，３１ｂ，…，３１ｍ，…，３１ｎ    ラッチ
３２    区分回路
３２ａ，３２ｂ，…，３２ｍ，…，３２ｎ    区分ユニット
３２ａ＿１，３２ｍ＿１，３２ｑ    Ｎチャネルトランジスタ
３２ｍ＿２    Ｐチャネルトランジスタ
３２ｏ    第１制御信号入力端子
３２ｐ    第２制御信号入力端子
３３    上位側マスク回路
３３ａ，３３ｂ，…，３３ｍ，…，３３ｎ    ロジック回路
３３ｍ＿１    ＮＯＲ回路
３３ｍ＿２，３３ｍ＿３    ＡＮＤ回路
３３ｍ＿４    ＯＲ回路
３４    検出回路
３４ａ，３４ｂ，…，３４ｍ，…，３４ｎ    下位ヒット検出回路
３４ｍ＿１，３４ｍ＿２    Ｎチャネルトランジスタ
３４ｏ    インバータ
３４ｑ    プリチャージ用トランジスタ
３５    プライオリティエンコーダ
４０    メモリ部分
５１    最優先指定部
５２    最優先区分回路
５３    最後尾指定部
５３ａ，５３ｂ，…，５３ｍ，…，５３ｎ    ラッチ
５４    最後尾区分回路
５４ａ，５４ｂ，…，５４ｍ，…，５４ｎ    区分ユニット
５４ｍ＿１，５４ｑ，５５ｂ＿２，５５ｂ＿３    Ｎチャネルトランジスタ
５４ｍ＿２，５５ｑ    Ｐチャネルトランジスタ
５５    モード信号生成回路
５５ａ，５５ｂ，…，５５ｍ，…，５５ｎ    信号生成回路
５５ｂ＿１    ＮＯＲ回路
５６    マスク回路
５６ａ，５６ｂ，…，５６ｍ，…，５６ｎ    ロジック回路
５６ｂ＿１、５７ｂ＿６    回路部分
５７ｂ    有効領域認識回路
５７ｂ＿１、５７ｂ＿４、  ＯＲ回路
５７ｂ＿２、５７ｂ＿３、５７ｂ＿５    ＡＮＤ回路
【図１】
2005011499.tif 000003
【図２】
2005011499.tif 000004
【図３】
2005011499.tif 000005
【図４】
2005011499.tif 000006
【図５】
2005011499.tif 000007
【図６】
2005011499.tif 000008
【図７】
2005011499.tif 000009
【図８】
2005011499.tif 000010
【図９】
2005011499.tif 000011
【図１０】
2005011499.tif 000012
【図１１】
2005011499.tif 000013
【図１２】
2005011499.tif 000014
【図１３】
2005011499.tif 000015
【図１４】
2005011499.tif 000016