(57)【要約】  比較機能付き記憶素子（１０１）は、被比較データを記憶する記憶回路（１０２）と、記憶回路（１０２）が保持する被比較データと、比較データとを比較して、その比較結果を出力する比較回路（１０３）と、書き込み動作において、書込み制御信号（ＷＣＴ）の制御を受けて記憶回路（１０２）に被比較データを書き込むとともに、比較動作において、マスク制御信号（ＭＳＫ）がマスク動作を示したとき、記憶回路（１０２）に比較データを上書きする書込み回路（１０６）とを備えている。
2014112396.tif 000002
【特許請求の範囲】
【請求項１】
記憶された被比較データと比較データとを比較する比較機能付き記憶素子であって、
前記被比較データを記憶する記憶回路と、
書き込み動作において、書込み制御信号の制御を受けて前記記憶回路に前記被比較データを書き込む書込み回路と、
前記記憶回路が保持する前記被比較データと、前記比較データとを比較して、その比較結果を出力する比較回路とを備えており、
前記書込み回路は、前記比較回路によって比較動作を行う際に、マスク制御信号がマスク動作を示すとき、前記記憶回路に前記比較データを上書きする一方、前記マスク制御信号が非マスク動作を示すとき、前記記憶回路への前記比較データの上書きを行わない
ことを特徴とする比較機能付き記憶素子。
【請求項２】
請求項１記載の比較機能付き記憶素子において、
前記書込み回路は、前記書き込み動作において前記被比較データを供給し、かつ前記比較動作において前記比較データを供給する共通データ線と前記記憶回路との間に接続されており、前記書込み制御信号及び前記マスク制御信号の論理和信号である共通書込み制御信号の制御を受けて、前記記憶回路に対して、前記書き込み動作における前記被比較データの書き込み、及び前記比較動作における前記比較データの上書きを行う
ことを特徴とする比較機能付き記憶素子。
【請求項３】
請求項１記載の比較機能付き記憶素子において、
前記書込み回路は、
前記書込み制御信号の制御を受けて、前記書き込み動作における前記被比較データの書き込みを行う書込み部と、
前記マスク制御信号の制御を受けて、前記比較動作における前記比較データの上書きを行う上書き部とを備えている
ことを特徴とする比較機能付き記憶素子。
【請求項４】
請求項３記載の比較機能付き記憶素子において、
前記書込み回路の書込み部が受ける被比較データ、前記書込み回路の上書き部が受ける比較データ、及び前記比較回路が受ける比較データのうちの少なくともいずれか２つのデータは、共通データ線から供給される
ことを特徴とする比較機能付き記憶素子。
【請求項５】
請求項４記載の比較機能付き記憶素子において、
前記共通データ線は、前記上書き部及び前記比較回路に接続されており、前記比較データを供給する
ことを特徴とする比較機能付き記憶素子。
【請求項６】
請求項４記載の比較機能付き記憶素子において、
前記共通データ線は、前記書込み部、前記上書き部及び前記比較回路に接続されており、前記比較データ及び前記被比較データを供給する
ことを特徴とする比較機能付き記憶素子。
【請求項７】
請求項１記載の比較機能付き記憶素子において、
前記記憶回路に接続された書込み補助回路を備えており、
前記書込み補助回路は、前記比較動作において、前記マスク制御信号の制御を受けて、前記書込み回路から前記記憶回路への前記比較データの上書きを補助する
ことを特徴とする比較機能付き記憶素子。
【請求項８】
請求項７記載の比較機能付き記憶素子において、
前記書込み補助回路は、前記書き込み動作において、前記書込み制御信号の制御を受けて、前記書込み回路から前記記憶回路への前記被比較データの書き込みを補助する
ことを特徴とする比較機能付き記憶素子。
【請求項９】
請求項７記載の比較機能付き記憶素子において、
前記書込み補助回路は、電源と前記記憶回路との間に接続されており、
前記記憶回路への前記比較データの上書きの補助として、前記記憶回路への電源供給を遮断する
ことを特徴とする比較機能付き記憶素子。
【請求項１０】
請求項８記載の比較機能付き記憶素子において、
前記書込み補助回路は、電源と前記記憶回路との間に接続されており、
前記記憶回路への前記比較データの上書き及び前記被比較データの書き込みのうちの少なくともいずれか一方の補助として、前記記憶回路への電源供給を遮断する
ことを特徴とする比較機能付き記憶素子。
【請求項１１】
請求項１に記載された比較機能付き記憶素子を複数個、備えており、
前記複数の比較機能付き記憶素子において、複数の前記記憶回路に多ビットの被比較データが記憶され、かつ複数の前記比較回路に前記多ビットの被比較データと対応する多ビットの比較データが与えられており、
前記複数の比較機能付き記憶素子の比較回路から出力された比較結果の論理和をとり、当該論理和に基づいて、前記多ビットの被比較データと前記多ビットの比較データとの一致比較判定を行う
ことを特徴とする多ビットの連想メモリ。
【請求項１２】
請求項１１記載の多ビットの連想メモリにおいて、
前記各比較機能付き記憶素子は、それぞれ、共通検出線とグランド電源との間に接続されたスイッチを備えており、
前記スイッチは、当該比較機能付き記憶素子の比較回路から出力された比較結果に基づいてオンオフ制御される
ことを特徴とする多ビットの連想メモリ。
【請求項１３】
請求項１１記載の多ビットの連想メモリにおいて、
前記複数の比較機能付き記憶素子のうち、前記論理和をとる対象から除外する比較機能付き記憶素子を示すマスク情報を記憶するマスク情報記憶素子を備え、
前記マスク情報記憶素子の出力信号が、前記マスク制御信号として用いられる
ことを特徴とする多ビットの連想メモリ。
【請求項１４】
請求項１１に記載の多ビットの連想メモリを用いたアドレス変換バッファであって、
前記多ビットの被比較データは、仮想アドレス空間における論理アドレスであり、
前記多ビットの比較データは、検索対象の論理アドレスであり、
前記マスク制御信号は、仮想メモリ空間のページサイズ情報を記憶したページサイズ記憶用メモリセルの出力信号である
ことを特徴とするアドレス変換バッファ。
【請求項１５】
被比較データと比較データとを比較する１ビット比較器であって、
マスク制御信号の制御を受けて、前記被比較データと前記比較データとのうちのいずれか一方を選択して出力する選択回路と、
前記選択回路の出力信号と前記比較データとを比較して、その比較結果を出力する比較回路とを備えており、
前記選択回路は、前記マスク制御信号がマスク動作を示すとき、前記比較データを選択して出力する一方、前記マスク制御信号が非マスク動作を示すとき、前記被比較データを選択して出力する
ことを特徴とする１ビット比較器。
【請求項１６】
請求項１５に記載された１ビット比較器を複数個、備えており、
前記複数の１ビット比較器において、複数の前記選択回路に多ビットの被比較データが与えられ、かつ複数の前記比較回路に前記多ビットの被比較データと対応する多ビットの比較データが与えられており、
前記複数の１ビット比較器の比較回路から出力された比較結果の論理和をとり、当該論理和に基づいて、前記多ビットの被比較データと前記多ビットの比較データとの一致比較判定を行う
ことを特徴とする多ビット比較器。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は半導体集積回路に関し、特に比較器並びに比較器を内蔵した記憶素子及び連想メモリ等を高速に動作させる技術に関するものである。
【背景技術】
【０００２】
電子計算機の仮想記憶システムにおいて、アドレス変換を高速化するための手段としてＴＬＢ（Translation Look-aside Buffer）が広く用いられる。ＴＬＢの回路は、一般的に仮想アドレスページ番号（Virtual Page Number：以下、ＶＰＮと称する）を記憶したＶＰＮメモリアレイと、物理アドレスページ番号（Physical Page Number：以下、ＰＰＮと称する）を記憶したＰＰＮメモリアレイとによって構成される。そして、アドレス変換の際には、ＶＰＮメモリアレイに対して所望のＶＰＮで検索を実施し、一致しているＶＰＮが発見されると、ＰＰＮメモリアレイから対応するＰＰＮを読み出す。【０００３】
一般的な仮想記憶システムではメモリ空間を有効活用するために、ページサイズが可変になっている。この場合、ＴＬＢによって記憶されているＶＰＮの有効なビット数はページサイズに応じて変わるため、特定のビットが検索対象から除外される。【０００４】
特許文献１では、サポートするページサイズに応じて、変換するアドレスのビット数を変化させる技術が開示されている。具体的には、特許文献１の半導体集積回路は、検出信号線を階層化しており、ＣＡＭ（Content-addressable memory）セルからの比較結果は、トランジスタを通じてローカル検出線に接続されており、かつローカル検出線は、サイズビット内のデータによって制御されるトランジスタを通じて共通検出線に接続されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−３４０５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載された回路構成では、ローカル検出線とグランド電源との間に、マスクの有無を制御するトランジスタ（サイズビット内のデータによって制御されるトランジスタ）を含めて、トランジスタが直列に２段接続されている。このため、例えば連想メモリにおけるある特定のビットで不一致が検出され、共通信号線がグランドレベルに駆動される場合、ローカル検出線とグランド電源との間の２段のトランジスタを駆動する必要がある。これにより、連想メモリの比較動作の高速化が困難であり、結果として連想メモリの高速化が困難であるという課題がある。【０００７】
さらに、共通検出線にはローカル検出線の負荷とあわせるとかなりの負荷が付随するため、直列に２段接続されたトランジスタの駆動による速度劣化が際立つという課題がある。【０００８】
ここで、連想メモリを高速化するために、直列に２段接続されているトランジスタのゲート幅を大きくする方法が考えられる。しかしながら、この方法では、共通検出線に付随するトランジスタの拡散容量が増加するため、ゲート幅を大きくすることによる高速化には限界がある。また、ゲート幅を大きくすることによって、回路面積の増加や共通検出線の負荷増加に伴う消費電力の増加という新たな課題が生じる。【０００９】
上記問題に鑑み、本開示は、比較機能付き記憶素子の高速化を、面積や消費電力を増大させずに実現することを目的とする。
【課題を解決するための手段】
【００１０】
本開示の第１態様では、記憶された被比較データと比較データとを比較する比較機能付き記憶素子は、前記被比較データを記憶する記憶回路と、書き込み動作において、書込み制御信号の制御を受けて前記記憶回路に前記被比較データを書き込む書込み回路と、前記記憶回路が保持する前記被比較データと、前記比較データとを比較して、その比較結果を出力する比較回路とを備えており、前記書込み回路は、前記比較回路によって比較動作を行う際に、マスク制御信号がマスク動作を示すとき、前記記憶回路に前記比較データを上書きする一方、前記マスク制御信号が非マスク動作を示すとき、前記記憶回路への前記比較データの上書きを行わないものである。【００１１】
この態様によると、書込み回路は、比較回路によって比較動作を行う場合において、マスク制御信号がマスク動作を示すとき、記憶回路に比較データを上書きする。これにより、比較動作において、比較データとの比較対象である記憶回路に記憶された被比較データは、比較データに更新される。したがって、比較回路では、同じデータ同士（比較データ同士）が比較されることになり、一致判定が出力される。すなわち、比較結果はマスクされる。一方で、マスク制御信号が非マスク動作を示すとき、記憶回路に保持された被比較データは更新されないため、比較回路では被比較データと比較データとが比較される。このように、本態様では、比較機能付き記憶素子の出力部に比較結果のマスクの有無を制御する制御用のスイッチ（例えば、トランジスタ）を設けることなく、比較結果のマスクの有無を制御することができる。したがって、比較機能付き記憶素子を用いた読み出し動作、比較動作等について高速動作を実現することが可能となる。【００１２】
本開示の第２態様では、多ビットの連想メモリは、第１態様に係る比較機能付き記憶素子を複数個、備えており、前記複数の比較機能付き記憶素子において、複数の前記記憶回路に多ビットの被比較データが記憶され、かつ複数の前記比較回路に前記多ビットの被比較データと対応する多ビットの比較データが与えられており、前記複数の比較機能付き記憶素子の比較回路から出力された比較結果の論理和をとり、当該論理和に基づいて、前記多ビットの被比較データと、前記多ビットの比較データとの一致比較判定を行うものである。【００１３】
本開示の第３態様では、アドレス変換バッファは、第２態様に係る多ビットの連想メモリを用いており、前記多ビットの被比較データは、仮想アドレス空間における論理アドレスであり、前記多ビットの比較データは検索対象の論理アドレスであり、前記マスク制御信号は、仮想メモリ空間のページサイズ情報を記憶したページサイズ記憶用メモリセルの出力信号であるものとする。【００１４】
本開示の第４態様では、被比較データと比較データとを比較する１ビット比較器は、マスク制御信号の制御を受けて、前記被比較データと前記比較データとのうちのいずれか一方を選択して出力する選択回路と、前記選択回路の出力信号と前記比較データとを比較して、その比較結果を出力する比較回路とを備えており、前記選択回路は、前記マスク制御信号がマスク動作を示すとき、前記比較データを選択して出力する一方、前記マスク制御信号が非マスク動作を示すとき、前記被比較データを選択して出力するものである。【００１５】
この態様によると、マスク制御信号がマスク動作を示すとき、選択回路は比較データを選択して出力するため、比較回路では同じデータ同士（比較データ同士）が比較されることになり、一致判定が出力される。すなわち、比較結果はマスクされる。一方で、マスク制御信号が非マスク動作を示すとき、被比較データと比較データとが比較される。このように、本態様では、１ビット比較器の出力部に、比較結果のマスクの有無を制御するような制御用のスイッチ（例えば、トランジスタ）を設けることなく、比較結果のマスクの有無を制御することができる。したがって、１ビット比較器の高速動作を実現することが可能となる。【００１６】
本開示の第５態様では、多ビット比較器は、第４態様に係る１ビット比較器を複数個、備えており、前記複数の１ビット比較器において、複数の前記選択回路に多ビットの被比較データが与えられ、かつ複数の前記比較回路に前記多ビットの被比較データと対応する多ビットの比較データが与えられており、前記複数の１ビット比較器の比較回路から出力された比較結果の論理和をとり、当該論理和に基づいて、前記多ビットの被比較データと前記多ビットの比較データとの一致比較判定を行うものである。
【発明の効果】
【００１７】
本開示によれば、比較機能付き記憶素子の高速化を実現することができる。また、比較機能付き記憶素子の小面積化、低電力化を実現することができる。特に、検索データのビット幅が大きい比較機能付き記憶素子において、高い効果を有する。
【図面の簡単な説明】
【００１８】
【図１】実施の形態１に係る比較機能付き記憶素子の回路図である。
【図２】実施の形態１の回路の状態遷移図である。
【図３】実施の形態１に係る半導体集積回路の他の例を示す回路図である。
【図４】書込み補助回路の他の例を示す回路図である。
【図５】実施の形態１に係る半導体集積回路の他の例を示す回路図である。
【図６】実施の形態１に係る半導体集積回路の他の例を示す回路図である。
【図７】実施の形態１に係る半導体集積回路の他の例を示す回路図である。
【図８】実施の形態１に係る半導体集積回路の他の例を示す回路図である。
【図９】実施の形態２に係る連想メモリの回路図である。
【図１０】実施の形態３に係る比較器の回路図である。
【発明を実施するための形態】
【００１９】
以下、本開示の実施の形態を、図面を参照しながら説明する。
【００２０】
なお、以下の各実施形態は、例示説明にすぎず、本開示、その適用範囲あるいはその用途を制限することを意図するものではない。
【００２１】
＜実施の形態１＞
図１は本実施形態に係る半導体集積回路の回路図である。図１に示すように、半導体集積回路は、比較機能付き記憶素子１０１を備えている。
【００２２】
比較機能付き記憶素子１０１は、被比較データを記憶する記憶回路１０２と、書込み制御信号ＷＣＴ及びマスク制御信号ＭＳＫによる制御を受けて、記憶回路１０２に一対の被比較データＷＢＬ，ＮＷＢＬ（以下、単に被比較データＷＢＬ，ＮＷＢＬと称する）及び一対の上書き用比較データＳＢＬＵ，ＮＳＢＬＵ（以下、単に上書き用比較データＳＢＬＵ，ＮＳＢＬＵと称する）を書き込む書込み回路１０６と、記憶回路１０２で記憶している記憶データと一対の比較データＳＢＬ，ＮＳＢＬ（以下、単に比較データＳＢＬ，ＮＳＢＬと称する）とを受けて、記憶データと比較データＳＢＬ，ＮＳＢＬとの一致或いは不一致の判定を行う比較回路１０３と、共通検出線１１３とグランド電源との間に接続され、比較回路１０３の比較結果である比較回路出力信号ＮＤをゲートに受けるトランジスタＮＤ３とを備えている。
【００２３】
書込み回路１０６は、書込み制御信号ＷＣＴによる制御を受けて、被比較データＷＢＬ，ＮＷＢＬを記憶回路１０２に書き込む書込み部１０４と、マスク制御信号ＭＳＫによる制御を受けて、上書き用比較データＳＢＬＵ，ＮＳＢＬＵを記憶回路１０２に書き込む上書き部１０５とを備えている。
【００２４】
記憶回路１０２は、電源と記憶ノードＤ１との間に接続されたトランジスタＰＬ１と、記憶ノードＤ１とグランド電源との間に接続されたトランジスタＮＤ１と、電源と記憶ノードＤ２との間に接続されたトランジスタＰＬ２と、記憶ノードＤ２とグランド電源との間に接続されたトランジスタＮＤ２とを備えている。トランジスタＰＬ１とトランジスタＮＤ１とのゲートには記憶ノードＤ２が接続され、トランジスタＰＬ２とトランジスタＮＤ２とのゲートには記憶ノードＤ１が接続されている。記憶回路１０２の記憶データは、記憶ノードＤ１，Ｄ２を介して出力される。
【００２５】
比較回路１０３は、比較データＳＢＬ，ＮＳＢＬが供給される一対の比較データ線１１７（以下、単に比較データ線１１７と称する）の間に直列に接続されたトランジスタＮＥ１，ＮＥ２と、トランジスタＮＥ１，ＮＥ２と並列に接続されたトランジスタＰＥ１，ＰＥ２とを備えている。トランジスタＮＥ１とトランジスタＰＥ２とのゲートには記憶ノードＤ２が接続され、トランジスタＮＥ２とトランジスタＰＥ１とのゲートには記憶ノードＤ１が接続されている。また、トランジスタＮＥ１とトランジスタＮＥ２との間のノード及びトランジスタＰＥ１とトランジスタＰＥ２との間のノードは、トランジスタＮＤ３のゲートに接続されている。
【００２６】
書込み部１０４は、被比較データＷＢＬ，ＮＷＢＬが供給される一対の被比較データ線１１５（以下、単に被比較データ線１１５と称する）のうちの、一方の被比較データ線１１５と記憶回路１０２の記憶ノードＤ１との間に接続されたトランジスタＮＷ１と、他方の被比較データ線１１５と記憶回路１０２の記憶ノードＤ２との間に接続されたトランジスタＮＷ２とを備えている。トランジスタＮＷ１，ＮＷ２のゲートには、書込み制御信号ＷＣＴが与えられる。
【００２７】
上書き部１０５は、上書き用比較データＳＢＬＵ，ＮＳＢＬＵが供給される一対の上書き用比較データ線１１６（以下、単に上書き用比較データ線１１６と称する）のうちの、一方の上書き用比較データ線１１６と記憶回路１０２の記憶ノードＤ１との間に接続されたトランジスタＮＵ１と、他方の上書き用比較データ線１１６と記憶回路１０２の記憶ノードＤ２との間に接続されたトランジスタＮＵ２とを備えている。トランジスタＮＵ１，ＮＵ２のゲートにはマスク制御信号ＭＳＫが与えられる。
【００２８】
ここで、トランジスタＮＤ１，ＮＤ２，ＮＤ３，ＮＥ１，ＮＥ２，ＮＷ１，ＮＷ２，ＮＵ１，ＮＵ２は、ＮＭＯＳトランジスタであり、トランジスタＰＬ１，ＰＬ２，ＰＥ１，ＰＥ２は、ＰＭＯＳトランジスタである。また、上書き用比較データ線１１６と、比較データ線１１７とには同じ比較データが供給されている。
【００２９】
このように、上書き用比較データ線１１６と、比較データ線１１７とを分けることにより、配線に接続されるトランジスタ数が減少するため、負荷が軽減される。これにより、比較回路１０３によるデータの比較速度が高速化され、比較機能付き記憶素子１０１の読み出し速度等の高速化を実現することができる。
【００３０】
［書き込み動作］
図１に示す半導体集積回路の書き込み動作について説明する。
【００３１】
書込み制御信号ＷＣＴが“ＬＯＷ”から“ＨＩＧＨ”に変化することにより、書込み部１０４のトランジスタＮＷ１，ＮＷ２が“ＯＮ”し、記憶回路１０２に被比較データＷＢＬ，ＮＷＢＬが書き込まれる。
【００３２】
［比較動作］
次に、比較回路１０３による比較動作について、図１の回路図及び図２（ａ）〜（ｃ）の状態遷移図を用いて説明する。図２（ａ）は書き込み動作後の状態を示す状態遷移図であり、図２（ｂ）は比較動作のうちの一致或いは不一致を判定する、非マスク動作としての判定動作後の状態を示す状態遷移図であり、図２（ｃ）は比較動作のうちの比較結果をマスクするマスク動作後の状態を示す状態遷移図である。なお、図２において、“１”は信号が“ＨＩＧＨ”であることを示し、“０”は信号が“ＬＯＷ”であることを示すものとする。
【００３３】
まず、比較動作が開始される前は、共通検出線１１３の信号は“ＨＩＧＨ”にプリチャージされており、図２（ａ）に示すように、比較データＳＢＬ，ＮＳＢＬはいずれも“ＬＯＷ”になっている。そして、記憶回路１０２には、トランジスタＮＷ１，ＮＷ２を介して被比較データＷＢＬ，ＮＷＢＬが書き込まれ、記憶される。具体的には、データパタン１，２では、記憶回路１０２の記憶ノードＤ１には、記憶データとして“ＨＩＧＨ”が記憶されている一方、記憶ノードＤ２には、記憶データとして“ＬＯＷ”が記憶されているものとする。同様に、データパタン３，４では、記憶ノードＤ１の記憶データとして“ＬＯＷ”が記憶されている一方、記憶ノードＤ２の記憶データとして“ＨＩＧＨ”が記憶されているものとする。
【００３４】
次に、比較動作が開始されると、図２（ｂ），（ｃ）に示すように、比較データＳＢＬ，ＮＳＢＬのいずれか一方が“ＨＩＧＨ”に変化する。比較回路１０３のトランジスタＮＥ１，ＮＥ２，ＰＥ１，ＰＥ２は、記憶回路１０２から受けた記憶ノードＤ１，Ｄ２の記憶データに応じてＯＮ／ＯＦＦし、比較結果を比較回路出力信号ＮＤとして出力する。
【００３５】
ここで、比較回路１０３による判定の結果は、比較回路出力信号ＮＤが“ＬＯＷ”であり、トランジスタＮＤ３が“ＯＦＦ”のときは、記憶回路１０２に記憶された記憶データと、比較データＳＢＬ，ＮＳＢＬとが一致していることを示す「一致判定」（図２（ｂ），（ｃ）内では「一致」と記載する）となる。一方で、比較回路出力信号ＮＤが“ＨＩＧＨ”であり、トランジスタＮＤ３が“ＯＮ”のときは、記憶回路１０２に記憶された記憶データと、比較データＳＢＬ，ＮＳＢＬとが不一致であることを示す「不一致判定」（図２（ｂ），（ｃ）内では「不一致」と記載する）となる。なお、以下の比較動作において、トランジスタＮＷ１，ＮＷ２は“ＯＦＦ”しているものとする。
【００３６】
［判定動作（非マスク動作）］
まず、図２（ｂ）のデータパタン１と図１の回路図とを用いて、判定動作の一例（以下、例１と称する）について詳細に説明する。
【００３７】
例１では、記憶ノードＤ１の記憶データが“ＨＩＧＨ”であり、記憶ノードＤ２の記憶データが“ＬＯＷ”であるため、トランジスタＮＥ２，ＰＥ２が“ＯＮ”する一方、トランジスタＮＥ１，ＰＥ１が“ＯＦＦ”する。また、マスク制御信号ＭＳＫが“ＬＯＷ”であるため、トランジスタＮＵ１，ＮＵ２は“ＯＦＦ”している。
【００３８】
このとき、比較データＳＢＬが“ＨＩＧＨ”であるが、トランジスタＮＥ１，ＰＥ１が“ＯＦＦ”しているため、比較データＳＢＬ（“ＨＩＧＨ”データ）はトランジスタＮＤ３のゲートに供給されず、トランジスタＮＤ３のゲートは“ＬＯＷ”のままである。したがって、トランジスタＮＤ３が“ＯＮ”しないため、判定結果は「一致判定」となる。
【００３９】
同様にして、図２（ｂ）のデータパタン４についての判定結果は「一致判定」となる。
【００４０】
次に、図２（ｂ）のデータパタン２と図１の回路図とを用いて、判定動作の他の例（以下、例２と称する）について詳細に説明する。
【００４１】
例２では、記憶ノードＤ１の記憶データが“ＨＩＧＨ”であり、記憶ノードＤ２の記憶データが“ＬＯＷ”であるため、トランジスタＮＥ２，ＰＥ２が“ＯＮ”する一方、トランジスタＮＥ１，ＰＥ１が“ＯＦＦ”する。また、マスク制御信号ＭＳＫが“ＬＯＷ”であるため、トランジスタＮＵ１，ＮＵ２は、“ＯＦＦ”している。
【００４２】
このとき、比較データＮＳＢＬが“ＨＩＧＨ”となっており、かつトランジスタＮＥ２，ＰＥ２が“ＯＮ”しているため、比較データＮＳＢＬ（“ＨＩＧＨ”データ）がトランジスタＮＤ３のゲートに供給される。これにより、トランジスタＮＤ３が“ＯＮ”して、共通検出線１１３が“ＬＯＷ”に駆動される。すなわち、判定動作は「不一致判定」となる。
【００４３】
同様にして、図２（ｂ）のデータパタン３についての判定結果は「不一致判定」となる。
【００４４】
［マスク動作］
次に、図２（ｃ）のデータパタン１と図１の回路図とを用いて、マスク動作の一例（以下、例３と称する）について詳細に説明する。
【００４５】
例３では、マスク制御信号ＭＳＫが“ＨＩＧＨ”になっており、トランジスタＮＵ１，ＮＵ２が“ＯＮ”している。そのため、記憶ノードＤ１には比較データＳＢＬＵ、記憶ノードＤ２には比較データＮＳＢＬＵが上書きされる。ここで、書き込み動作（図２（ａ））において記憶ノードＤ１に記憶されたデータと、上書き用比較データＳＢＬＵとが同じ（“ＨＩＧＨ”）であるため、書き込み動作（図２（ａ））において記憶ノードＤ１に記憶されたデータ（“ＨＩＧＨ”）は変更されない。同様に、書き込み動作（図２（ａ））において記憶ノードＤ２に記憶されたデータ（“ＬＯＷ”）は変更されない。
【００４６】
以後の動作は、例１と同様であり、その詳細な説明を省略する。これにより、例３に示すマスク動作では、例１の場合と同様に判定結果が「一致判定」となる。
【００４７】
同様にして、図２（ｃ）のデータパタン４についての判定結果は「一致判定」となる。
【００４８】
次に、図２（ｃ）のデータパタン２と図１の回路図とを用いて、マスク動作の他の例（以下、例４と称する）について詳細に説明する。
【００４９】
例４では、例３と同様に、マスク制御信号ＭＳＫが“ＨＩＧＨ”であるため、トランジスタＮＵ１、ＮＵ２が“ＯＮ”している。そのため、記憶ノードＤ１には上書き用比較データＳＢＬＵが上書きされ、記憶ノードＤ２には上書き用比較データＮＳＢＬＵのデータが上書きされる。ここで、書き込み動作（図２（ａ））において記憶ノードＤ１に書込まれたデータ（“ＨＩＧＨ”）と、上書き用比較データＳＢＬＵ（“ＬＯＷ”）とが異なるため、記憶ノードＤ１の記憶データが“ＬＯＷ”に更新される（図２（ｃ））。同様に、書き込み動作（図２（ａ））において記憶ノードＤ２に書込まれたデータ（“ＬＯＷ”）と、上書き用比較データＮＳＢＬＵ（“ＨＩＧＨ”）とが異なるため、記憶ノードＤ２の記憶データが“ＨＩＧＨ”に更新される（図２（ｃ））。これにより、トランジスタＮＥ１，ＰＥ１が“ＯＮ”する一方、トランジスタＮＥ２，ＰＥ２が“ＯＦＦ”する。
【００５０】
このとき、比較データＮＳＢＬは“ＨＩＧＨ”であるが、トランジスタＮＥ２，ＰＥ２が“ＯＦＦ”しているため、比較データＮＳＢＬ（“ＨＩＧＨ”データ）はトランジスタＮＤ３のゲートに供給されず、トランジスタＮＤ３のゲートは“ＬＯＷ”のままである。したがって、トランジスタＮＤ３は“ＯＮ”しないため、判定結果は「一致判定」となる。
【００５１】
同様にして、図２（ｃ）のデータパタン３についての判定結果は「一致判定」となる。
【００５２】
このように、マスク動作においては、マスク制御信号ＭＳＫが“ＨＩＧＨ”であるため、トランジスタＮＵ１、ＮＵ２が“ＯＮ”している。これにより、記憶ノードＤ１には上書き用比較データＳＢＬＵが上書きされ、記憶ノードＤ２には上書き用比較データＮＳＢＬＵのデータが上書きされる。結果として、マスク動作では、マスク動作前に記憶回路１０２に記憶されていたデータにかかわらず、記憶ノードＤ１の記憶データと比較データＳＢＬ、及び記憶ノードＤ２の記憶データと比較データＮＳＢＬはそれぞれ同じデータとなる。すなわち、マスク動作では、比較回路１０３によって、同じデータ同士が比較されることになる。その結果、比較回路１０３の比較結果は「一致判定」となり、比較回路出力信号ＮＤは“ＬＯＷ”であり、トランジスタＮＤ３は“ＯＦＦ”のままである。すなわち、比較結果はマスクされる。
【００５３】
以上のように、本態様によると、比較機能付き記憶素子１０１と共通検出線１１３との間にマスクの有無を制御するトランジスタ（制御用のスイッチ）を設けることなく、マスク動作を実現することができる。これにより、比較機能付き記憶素子１０１による比較、読み出し等について、高速動作を実現することが可能となる。図１では、比較機能付き記憶素子１０１が１ビットだけ共通検出線１１３接続されている例を示しているが、実際には同一の共通検出線１１３に複数の比較機能付き記憶素子１０１が接続される。この同一の共通検出線１１３に接続される比較機能付き記憶素子１０１の数が増加するほど、共通検出線１１３の負荷が大きくなるため、より顕著に高速化の効果が高まる。
【００５４】
また、比較機能付き記憶素子１０１を備える半導体集積回路の高速化が図れるため、従来と比較して、所望の動作速度を得るために必要なトランジスタＮＤ３のサイズが小さくてすむ。すなわち、比較機能付き記憶素子１０１及びこれを備える半導体集積回路の小面積化が可能となる。また、トランジスタＮＤ３を小さくできることに伴って、トランジスタＮＤ３の前段のトランジスタＮＥ１、ＮＥ２、ＰＥ１、ＰＥ２なども小型化が可能となるため、さらに小面積化が可能となる。また、各トランジスタが小さくなる効果や、それらのトランジスタを実現するレイアウトが小さくなる効果によって回路に付随する寄生容量が減少し、低消費電力化が可能となる。このような小面積化、低消費電力化の効果についても、高速化の場合と同様に共通検出線１１３に接続される比較機能付き記憶素子１０１の数が増えるほど、より顕著にそれらの効果が高まる。
【００５５】
（半導体集積回路の他の例１）
図３は本実施形態に係る半導体集積回路の他の例を示す回路図である。図１に記載の半導体集積回路と比較すると、マスク動作の際に、上書き部１０５から記憶回路１０２への上書きを補助する補助回路３０１が追加されている。
【００５６】
書込み補助回路３０１は、電源とトランジスタＰＬ１及びトランジスタＰＬ２のソースとの間に接続されたＰＭＯＳのトランジスタＰＨ１を有している。トランジスタＰＨ１のゲートには、マスク制御信号ＭＳＫが与えられている。
【００５７】
図３の回路において、書き込み動作及び判定動作については、図１と同様であり、その詳細な説明を省略する。
【００５８】
［マスク動作］
本態様に係るマスク動作の際の上書き動作について、図３を用いて詳細に説明する。
【００５９】
マスク動作において、マスク制御信号ＭＳＫが“ＨＩＧＨ”に設定されると、上書き用比較データＳＬＢＵ，ＮＳＬＢＵのうちのいずれか一方のデータである“ＬＯＷ”のデータが、記憶回路１０２の記憶ノードＤ１，Ｄ２のうちのいずれか一方に書き込まれる。このとき、トランジスタＰＬ１，ＰＬ２の能力を弱めておくことにより、上記の書き込みを受ける記憶ノードＤ１，Ｄ２を“ＬＯＷ”に変化しやすくすることができる。
【００６０】
具体的に説明すると、書込み補助回路３０１は、マスク制御信号ＭＳＫが“ＬＯＷ”のときにはトランジスタＰＬ１，ＰＬ２のソースに電源を供給する一方、マスク制御信号ＭＳＫが“ＨＩＧＨ”のときにはトランジスタＰＬ１，ＰＬ２のソースへの電源供給を遮断する。これにより、マスク制御信号ＭＳＫが“ＨＩＧＨ”のとき、トランジスタＰＬ１，ＰＬ２の能力を弱めることができる。その結果、記憶ノードＤ１，Ｄ２の記憶データが“ＬＯＷ”に変化しやすくなる。
【００６１】
それ以外の動作については、図１の場合と同様であり、その詳細な説明を省略する。
【００６２】
以上のように、本態様によると、半導体集積回路に書込み補助回路３０１を追加することにより、記憶回路１０２への上書き用比較データＳＢＬＵ，ＮＳＢＬＵの上書き速度を速めることができる。さらに、この上書き速度の向上によって、マスク動作時に比較回路１０３から出力されるノイズを低減することができる。また、記憶回路１０２に上書き用比較データＳＢＬＵ，ＮＳＢＬＵを書き込む際に、トランジスタＰＬ１とトランジスタＮＵ１、或いはトランジスタＰＬ２とトランジスタＮＵ２を通して流れる貫通電流を削減でき、低消費電力化が実現できる。さらに、上書き用比較データＳＢＬＵ，ＮＳＢＬＵの上書きが容易になるため、トランジスタＮＵ１，ＮＵ２のゲート幅を縮小でき、小面積化が実現できる。
【００６３】
ここで、図３の回路を用いたマスク動作では、トランジスタＰＬ１，ＰＬ２のソースへの電源供給が遮断されるため、マスク制御信号ＭＳＫが“ＬＯＷ”のときに記憶回路１０２に記憶されていたデータは破壊される。このデータの破壊は、マスク制御信号ＭＳＫが“ＨＩＧＨ”のときに比較回路１０３の比較結果をマスクするアプリケーションでは問題とはならない。具体的には、例えば仮想アドレス空間において論理アドレスを物理アドレスに変換するアドレス変換バッファにおいて、ＣＡＭ（Content-addressable memory）の特定のビットの比較結果をページサイズメモリでマスクする機構等では、上記のデータの破壊は問題とはならない。
【００６４】
なお、図３では、マスク動作の際（マスク制御信号ＭＳＫが“ＨＩＧＨ”のとき）に、書込み補助回路３０１を用いてトランジスタＰＬ１，ＰＬ２のソースへの電源供給を遮断することによって、トランジスタＰＬ１，ＰＬ２の能力を弱める例を示したが、必ずしも電源供給を遮断する必要はない。例えば、図４に示すような書込み補助回路３０１を用いて、トランジスタＰＬ１，ＰＬ２のソース電源を弱めることによって、トランジスタＰＬ１，ＰＬ２の能力を弱めてもよい。
【００６５】
（書込み補助回路の他の例１）
図４（ａ）に示す書込み補助回路３０１は、図３に示した書込み補助回路３０１に加えて、電源とトランジスタＰＬ１のソース及びトランジスタＰＬ２のソースとの間に接続されたＰＭＯＳのトランジスタＰＨ２を有している。したがって、トランジスタＰＨ１のドレインとトランジスタＰＨ２のドレインとは接続されている。また、トランジスタＰＨ２のゲートはグランド電源に接続されている。
【００６６】
書込み補助回路３０１をこのような構成とすることによって、マスク動作時にトランジスタＰＨ１が“ＯＦＦ”になった場合においても、トランジスタＰＨ２が“ＯＮ”を維持する。したがって、マスク動作時には、非マスク動作時（例えば、書き込み動作時や判定動作時）と比較してトランジスタＰＬ１，ＰＬ２のソース電源が弱くなり、トランジスタＰＬ１，ＰＬ２の能力が低下する。これにより、記憶回路１０２に上書き用比較データＳＢＬＵ，ＮＳＢＬＵが上書きされる速度を速めることができる。
【００６７】
ここで、「ソース電源が弱くなる」とは、例えばＰＭＯＳトランジスタの場合、トランジスタのソース電位が下がったり、電源からトランジスタのソースへの電流供給能力が下がったりする等の理由により、電源としての能力が低下することを指すものとする。
【００６８】
（書込み補助回路の他の例２）
図４（ｂ）に示す書込み補助回路３０１は、図３に示した書込み補助回路３０１に加えて、電源とトランジスタＰＬ１のソース及びトランジスタＰＬ２のソースとの間に接続されたトランジスタＰＨ２を有している。また、トランジスタＰＨ２のゲートはトランジスタＰＨ２のドレインに接続されている。したがって、トランジスタＰＨ１のドレイン、並びにトランジスタＰＨ２のドレイン及びゲートは接続されている。
【００６９】
書込み補助回路３０１をこのような構成とすることによって、マスク動作時にトランジスタＰＨ１が“ＯＦＦ”になった場合においても、ＰＬ１，ＰＬ２のソース電源は遮断されず、トランジスタＰＨ２の閾値電圧近傍でトランジスタＰＬ１，ＰＬ２のソース電源の電圧が維持される。これにより、マスク動作時には、非マスク動作時（例えば、書き込み動作時や判定動作時）と比較してトランジスタＰＬ１，ＰＬ２のソース電源が弱くなり、トランジスタＰＬ１，ＰＬ２の能力が低下する。これにより、記憶回路１０２に上書き用比較データＳＢＬＵ，ＮＳＢＬＵが上書きされる速度を速めることができる。
【００７０】
（書込み補助回路の他の例３）
図４（ｃ）に示す書込み補助回路３０１は、図３に示した書込み補助回路３０１に加えて、トランジスタＰＬ１のソースに接続された電源（以下、高ＶＤＤと称する）よりも低い電圧の電源（以下、低ＶＤＤと称する）と、トランジスタＰＬ１のソース及びトランジスタＰＬ２のソースとの間に接続されたトランジスタＰＨ２を有している。したがって、トランジスタＰＨ１のドレインとトランジスタＰＨ２のドレインとは接続されている。書込み補助回路３０１は、トランジスタＰＬ１のゲートとトランジスタＰＨ２のゲートとの間に接続されたインバータ３１１をさらに有している。これにより、トランジスタＰＨ２のゲートには、反転されたマスク制御信号ＭＳＫが供給される。
【００７１】
書込み補助回路３０１をこのような構成とすることによって、マスク動作時にトランジスタＰＨ１が“ＯＦＦ”になっても、トランジスタＰＬ１，ＰＬ２のソースには、低ＶＤＤからトランジスタＰＨ２を介して電源が供給される。すなわち、トランジスタＰＬ１，ＰＬ２のソース電源は遮断されない。一方で、非マスク動作時には、トランジスタＰＨ２が“ＯＦＦ”されるため、トランジスタＰＬ１，ＰＬ２のソースには、高ＶＤＤからトランジスタＰＬ１を介して電源が供給される。
【００７２】
このように、マスク動作時には、非マスク動作時（例えば、書き込み動作時や判定動作時）と比較してトランジスタＰＬ１，ＰＬ２のソース電源が下がる（弱くなる）ため、トランジスタＰＬ１，ＰＬ２の能力が低下する。これにより、記憶回路１０２に上書き用比較データＳＢＬＵ，ＮＳＢＬＵが上書きされる速度を速めることができる。
【００７３】
（書込み補助回路の他の例４）
図４（ｄ）に示す書込み補助回路３０１は、図３に示した書込み補助回路３０１に加えて、電源とトランジスタＰＬ１のソース及びトランジスタＰＬ２のソースとの間に接続されたＮＭＯＳのトランジスタＮＨ２を有している。したがって、トランジスタＰＨ１のドレインとトランジスタＮＨ２のソースとは接続されている。また、トランジスタＮＨ２のゲートはトランジスタＰＨ１のゲートに接続されている。
【００７４】
書込み補助回路３０１をこのような構成とすることにより、マスク動作時はトランジスタＰＨ１が“ＯＦＦ”であり、トランジスタＮＨ２が“ＯＮ”であるため、トランジスタＰＬ１，ＰＬ２のソース電源が“ＶＤＤ−Ｖｔｈｎ”近傍で維持される。
【００７５】
これにより、マスク動作時には、非マスク動作時（例えば、書き込み動作時や判定動作時）と比較して、トランジスタＰＬ１，ＰＬ２のソース電源が弱くなり、トランジスタＰＬ１，ＰＬ２の能力が低下する。これにより、記憶回路１０２に上書き用比較データＳＢＬＵ，ＮＳＢＬＵが上書きされる速度を速めることができる。
【００７６】
図３及び図４では、書込み補助回路３０１を追加することによって、マスク動作の際に記憶回路１０２への上書き用比較データＳＢＬＵ，ＮＳＢＬＵの上書き速度を速める例について説明したが、書込み補助回路３０１による書き込みの補助はこれに限定されない。例えば、以下の「書込み補助回路の他の例５」に示すように、上書き用比較データＳＢＬＵ，ＮＳＢＬＵの上書きの補助に加えて、被比較データＷＢＬ，ＮＷＢＬの書き込みを補助するようにしてもよい。
【００７７】
（書込み補助回路の他の例５）
図５は本実施形態に係る半導体集積回路の他の例を示す回路図である。図３に記載の半導体集積回路と比較すると、本態様の書込み補助回路３０１は、トランジスタＰＨ１と電源との間に設けられたＰＭＯＳのトランジスタＰＨ３が追加されている。トランジスタＰＨ３のゲートには、書込み制御信号ＷＣＴが接続されている。
【００７８】
このような構成とすることによって、マスク制御信号ＭＳＫが“ＨＩＧＨ”のときだけでなく、書込み制御信号ＷＣＴが“ＨＩＧＨ”のときにも記憶回路１０２への書き込みが補助される。すなわち、書き込み動作の際に、記憶回路１０２に被比較データＷＢＬ，ＮＷＢＬが書き込まれるときにも書込みが補助される。
【００７９】
それ以外の動作については、図３と同様であり、その詳細な説明を省略する。
【００８０】
以上のように、本態様によると、図３に示した書込み補助回路３０１に係る効果に加えて、書込み制御信号ＷＣＴが“ＨＩＧＨ”のときにも、記憶回路１０２に被比較データＷＢＬ，ＮＷＢＬが書き込まれる速度を高速化することができる。また、トランジスタＰＬ１とトランジスタＮＷ１、或いはトランジスタＰＬ２とトランジスタＮＷ２を通して流れる貫通電流を削減でき、低消費電力化が実現できる。さらに、図５に示す書込み補助回路３０１を半導体集積回路に用いることによって、被比較データＷＢＬ，ＮＷＢＬの書き込みが容易になるため、トランジスタＮＷ１，ＮＷ２のゲート幅を縮小でき、小面積化が実現できる。
【００８１】
なお、図５では、書込み補助回路３０１を用いて、マスク動作及び書き込み動作の際に、トランジスタＰＬ１，ＰＬ２のソースへの電源供給を遮断することによって、トランジスタＰＬ１，ＰＬ２の能力を低下させる例を示したが、必ずしも電源供給を遮断する必要はない。例えば、図５において、図４（ａ）〜（ｄ）に示した回路と同様の書込み補助回路３０１を用いて、マスク動作及び書き込み動作のうちの少なくともいずれか一方において、トランジスタＰＬ１，ＰＬ２のソース電源を弱めるようにしてもよい。また、図５において、マスク動作及び書き込み動作のうちのいずれか一方はトランジスタＰＬ１，ＰＬ２のソースへの電源供給を遮断し、他方はトランジスタＰＬ１，ＰＬ２のソース電源を弱めるような補助回路３０１を用いてもよい。
【００８２】
なお、図３〜５において示した書込み補助回路３０１は、一例を例示したにすぎず、図３〜５に示した以外の回路を用いて、トランジスタＰＬ１，ＰＬ２の能力を弱めてもかまわない。
【００８３】
また、図１〜図５に示した回路では、被比較データＷＢＬ，ＮＷＢＬ、上書き用比較データＳＢＬＵ，ＮＳＢＬＵ及び比較データＳＢＬ，ＮＳＢＬは、それぞれ異なるデータ線１１５，１１６，１１７を介して供給されるものとしたが、少なくともいずれかの２つのデータが、共通のデータ線を介して供給されるものとしてもよい。以下の態様では、その具体的な例について説明する。
【００８４】
（半導体集積回路の他の例２）
図６は本実施形態に係る半導体集積回路の他の例を示す回路図である。図３に記載の半導体集積回路と比較すると、本態様に係る半導体集積回路では、同じ比較データが供給される上書き用比較データ線１１６と比較データ線１１７とを共通データ線としての一対の共通比較データ線４１１（以下、単に共通比較データ線４１１と称する）に共通化しており、この共通比較データ線４１１を介して比較データＳＢＬ，ＮＳＢＬが供給される。これにより、共通比較データ線４１１のうちの一方のデータ線４１１には、トランジスタＮＵ１と比較回路１０３とが接続され、他方のデータ線４１１にはトランジスタＮＵ２と比較回路１０３とが接続される。それ以外の回路構成、書き込み動作及び比較動作については、図３と同様であり、その詳細な説明を省略する。
【００８５】
本態様のような構成とすることによって、配線本数を削減することができ、半導体集積回路の高集積化が可能となる。また、比較動作時の充放電に係る配線負荷が減少するため、低消費電力化が実現できる。
【００８６】
（半導体集積回路の他の例３）
図７は本実施形態に係る半導体集積回路の他の例を示す回路図である。図６に記載の半導体集積回路と比較すると、本態様に係る半導体集積回路では、被比較データ線１１５と共通比較データ線４１１とを一対の共通データ線４２１（以下、単に共通データ線４２１と称する）に共通化している。共通データ線４２１には、一対の共通データＢＬ，ＮＢＬ（以下、単に共通データＢＬ，ＮＢＬと称する）が供給される。さらに、本態様に係る半導体集積回路は、被比較データＷＢＬ，ＮＷＢＬを出力する被比較データ回路４０２と、比較データＳＢＬ，ＮＳＢＬを出力する比較データ回路４０３と、被比較データ回路４０２及び比較データ回路４０３と接続され、被比較データ回路４０２及び比較データ回路４０３から受けた被比較データＷＢＬ，ＮＷＢＬ及び比較データＳＢＬ，ＮＳＢＬのうちのいずれか一方を選択し、共通データ線４２１に出力するデータ選択回路４０１とを備えている。
【００８７】
データ選択回路４０１は、書き込み動作時には、被比較データＷＢＬ，ＮＷＢＬを選択する。すなわち、書き込み動作時には、共通データ線４２１に共通データＢＬ，ＮＢＬとして被比較データＷＢＬ，ＮＷＢＬが供給され、書込み制御信号ＷＣＴの制御を受けて、被比較データＷＢＬ，ＮＷＢＬが記憶回路１０２に書き込まれる。
【００８８】
データ選択回路４０１は、比較動作時（マスク動作時及び判定動作時）には、比較データＳＢＬ，ＮＳＢＬを選択する。すなわち、比較動作時には、共通データ線４２１に共通データＢＬ，ＮＢＬとして比較データＳＢＬ，ＮＳＢＬが供給され、マスク制御信号ＭＳＫに応じて、判定動作或いはマスク動作が実行される。
【００８９】
なお、データ選択回路４０１が被比較データＷＢＬ，ＮＷＢＬを選択した後の書き込み動作及びデータ選択回路４０１が比較データＳＢＬ，ＮＳＢＬを選択した後の比較動作については、図３及び図６と同様であり、その詳細な説明を省略する。
【００９０】
以上のように、本態様によると、図３及び図６の回路からさらにデータ線の本数を削減することができる。これにより、本態様に係る半導体集積回路は、一層の小面積化が可能となる。
【００９１】
図１〜図７では、書込み回路１０６は、書き込み動作において記憶回路１０２への書き込みを行う書込み部１０４と、マスク動作において記憶回路１０２への上書きを行う上書き部１０５を備えるものとしたが、例えば、以下の「半導体集積回路の他の例４」に示すように、書込み部１０４と上書き部１０５とを共通化してもよい。
【００９２】
（半導体集積回路の他の例４）
図８は本実施形態に係る半導体集積回路の他の例を示す回路図である。図７に記載された半導体集積回路と比較すると、トランジスタＮＵ１，ＮＵ２とトランジスタＮＷ１，ＮＷ２とが共通化されている点で異なる。共通化されたトランジスタはＮＷＵ１，ＮＷＵ２と称する。ここで、トランジスタＮＷＵ１，ＮＷＵ２はＮＭＯＳトランジスタである。
【００９３】
さらに、本実施形態に係る半導体集積回路では、ＯＲゲート５０１によって書込み制御信号ＷＣＴとマスク制御信号ＭＳＫとの論理和をとっており、マスク制御信号ＭＳＫに代えてＯＲゲート５０１の出力信号である共通書込み制御信号ＷＣＴＣを書込み補助回路３０１のトランジスタＰＨ１のゲートに与えている。また、共通書込み制御信号ＷＣＴＣを書込み回路１０６のトランジスタＮＷＵ１，ＮＷＵ２のゲートに与えている。
【００９４】
このような構成とすることにより、書込み制御信号ＷＣＴ及びマスク制御信号ＭＳＫのうちのいずれか一方が“ＨＩＧＨ”になると、共通書込み制御信号ＷＣＴＣが“ＨＩＧＨ”になる。そして、そのときの共通データＢＬ，ＮＢＬが記憶回路１０２に書き込まれる。書込み制御信号ＷＣＴ及びマスク制御信号ＭＳＫはそれぞれ書き込み動作時及びマスク動作時に“ＨＩＧＨ”になる信号である。したがって、図８のような回路を用いることによって、図５と同様に書き込み動作時及びマスク動作時の書き込み（上書き）が容易になる。
【００９５】
以上のように、本態様によると、書込み部１０４と上書き部１０５とを共通化して書込み回路１０６とすることができるため、比較機能付き記憶素子１０１及びこれを備えた半導体集積回路の小面積化が可能となる。
【００９６】
なお、図８では、図７と比較してＯＲゲート５０１が増加しているが、一般的には１つの共通化されたマスク制御信号ＭＳＫで複数の比較機能付き記憶素子１０１を制御しており、総合的に見て面積削減が可能である。なお、以下の実施の形態２では、１つの共通化されたマスク制御信号ＭＳＫで２つの比較機能付き記憶素子１０１を制御する例を示している。
【００９７】
＜実施の形態２＞
図９は本実施形態に係る連想メモリの回路図である。図９に示すように、連想メモリ６００は、マスク対象となる２つの比較機能付き記憶素子１０１を有している。具体的には、図８に示した比較機能付き記憶素子１０１、データ選択回路４０１、被比較データ回路４０２及び比較データ回路４０３が２つ並列に接続されている。そして、それぞれの比較機能付き記憶素子１０１は、共通の書込み補助回路３０１及び共通のＯＲゲート５０１からの出力信号を受けている。
【００９８】
連想メモリ６００は、さらに、一対のマスク情報データＭＢＬ，ＮＭＢＬを記憶するマスク情報記憶素子６０２と、マスク制御の対象とならない比較機能付き記憶素子６０１とを備えている。マスク情報データＭＢＬ，ＮＭＢＬは、例えば、複数の比較機能付き記憶素子のうち、論理和をとる対象から除外する比較機能付き記憶素子、すなわちマスクの対象とする比較機能付き記憶素子を示すデータである。
【００９９】
共通書込み制御信号ＷＣＴＣを供給するＯＲゲート５０１の一方の端子には、マスク情報記憶素子６０２の出力信号が、マスク制御信号ＭＳＫとして与えられる。また、ＯＲゲート５０１の他方の端子には、書込み制御信号ＷＣＴが与えられる。マスク制御の対象とならない比較機能付き記憶素子６０１は、マスク対象となる比較機能付き記憶素子１０１と同様の構成であり、比較機能付き記憶素子１０１と比較すると、書込み回路１０６のトランジスタＮＷＵ１，ＮＷＵ２のゲートに書込み制御信号ＷＣＴが与えられる点、及び記憶回路１０２のトランジスタＰＬ１，ＰＬ２のソースが電源に接続されている点で異なる。
【０１００】
このような構成とすることにより、例えば、マスク情報記憶素子６０２の出力信号が“ＨＩＧＨ”のとき、マスク制御の対象とならない比較機能付き記憶素子６０１の比較結果は共通検出線１１３に反映される一方、２つの比較機能付き記憶素子１０１の比較結果はマスクされる。一方で、マスク情報記憶素子６０２の出力信号が“ＬＯＷ”のとき、マスク制御の対象とならない比較機能付き記憶素子６０１の比較結果及び２つの比較機能付き記憶素子１０１の比較結果が共通検出線１１３に反映される。
【０１０１】
一般的に仮想記憶システムにおいては、論理アドレスを物理アドレスに変換する機構が必要であり、変換の高速化を図るためのハードウェアの機構としてＴＬＢが用いられる。ＴＬＢには各ページの論理的なアドレスと、物理メモリ上の実アドレスとを紐付けした複数のデータが記憶されている。以下、論理アドレスを記憶した記憶装置を論理アドレスアレイと称し、物理アドレスを記憶した記憶装置を物理アドレスアレイと称する。
【０１０２】
論理アドレスを物理アドレスに変換する際は、検索対象となる論理アドレスを論理アドレスアレイに入力して、記憶している全ての論理アドレスと、検索対象となる論理アドレスとの一致比較判定を行う。一致比較判定の結果、一致している論理アドレスが存在すると、その論理アドレスに紐付けされた物理アドレスがＴＬＢから読み出されることによってアドレス変換が実現する。このため、論理アドレスアレイのメモリセルは、１ビット比較器を内蔵したＣＡＭセルという特殊なメモリセルが一般的に用いられ、ＣＡＭセルの出力はワイヤードＯＲで構成される共通検出線で論理和をとられて多ビットの比較が行われる（特許文献１参照）。
【０１０３】
また、仮想記憶システムにおいては、メモリ空間はページと呼ばれる単位で管理され、各ページサイズは最小ページサイズの倍数が用いられる。そのため、論理アドレス、物理アドレスはページのサイズによって有効なビットが変わる。これに対応するため、ＴＬＢでは、論理アドレスアレイに記憶された複数の論理アドレスごとにページサイズの情報を記憶したページサイズメモリを設ける技術が知られている（特許文献１参照）。アドレス変換の際は、ライン毎に持つページサイズメモリの情報に応じて特定のビットの比較結果が全体の比較からマスクされる。
【０１０４】
仮想記憶システムにおけるアドレス変換バッファのＴＬＢでは、図９に示したマスク情報記憶素子６０２がページサイズを記憶したページサイズ用メモリとして用いられる。また、比較機能付き記憶素子１０１，６０１は、論理アドレスを記憶し、記憶した論理アドレスと検索のために入力された論理アドレスとの比較をする機能を有したＣＡＭセルとして用いられる。各ＣＡＭセルの出力信号は、それぞれ、トランジスタＮＤ３を介して共通検出線１１３に接続されている。そして、図示はしないが、例えば共通検出線１１３のワイヤードＯＲをとって、複数のＣＡＭセルに記憶された多ビットの被比較データとしての論理アドレスと、この複数のＣＡＭセルに検索のために入力された多ビットの比較データとしての論理アドレスとの一致比較判定を行う。
【０１０５】
ＴＬＢにおいては、図９の構成の回路を複数設けており、複数ビットからなる論理アドレスを複数エントリー分記憶している。そして、入力された検索用の論理アドレスと上記複数エントリーで記憶されている論理アドレスとを同時に比較する。
【０１０６】
このように、ＴＬＢにおいて、図９に示した構成を適用することにより、上述の実施の形態１において示したような比較機能付き記憶素子１０１及びこれを用いた半導体集積回路と同様に、アドレス変換バッファ及び仮想記憶システムにおけるアドレス変換の高速化と低消費電力化、小面積化が実現できる。また、図９に示すように、図８に示した比較機能付き記憶素子１０１は、マスク制御を行わない比較機能付き記憶素子６０１と同様の構造にすることができるため、開発工数が削減できる。さらに、複数の比較機能付き記憶素子１０１，６０１からなるアレイにおいては、同様の構造の記憶素子が並ぶ連続的なレイアウトパタンによって回路を実現することができるため、歩留まりを向上させることができる。
【０１０７】
なお、図９において、連想メモリ６００は、マスク対象となる２つの比較機能付き記憶素子１０１と、１つのマスク制御の対象とならない比較機能付き記憶素子６０１とを有するものとして説明したが、それぞれの比較機能付き記憶素子１０１，６０１の数はこれに限定されない。例えば、複数のマスク制御の対象とならない比較機能付き記憶素子６０１を備えていてもよいし、例えば、比較機能付き記憶素子１０１，６０１の数がそれぞれ３つ以上でもよい。
【０１０８】
また、１つの共通検出線１１３に接続される比較機能付き記憶素子１０１は同一の共通書込み制御信号ＷＣＴＣの制御を受けるものとしたが、単一の又は複数の比較機能付き記憶素子１０１毎に異なる共通書込み制御信号の制御を受けてもよい。これにより、複数の比較機能付き記憶素子１０１のうち、論理和をとる対象の素子と論理和をとる対象から除外する素子とを制御することが可能となる。
【０１０９】
＜実施の形態３＞
図１０は本実施形態に係る多ビットの比較器の回路図である。図１０に示すように、多ビット比較器７００は、２つのマスク制御対象の１ビット比較器７０１と、マスク制御非対象の１ビット比較器７２１とを備えている。
【０１１０】
マスク制御対象の１ビット比較器７０１は、マスク制御信号ＭＳＫの制御を受けて、被比較データＷＢＬ、ＮＷＢＬと比較データＳＢＬ，ＮＳＢＬとのうちのいずれか一方を選択し、選択データとして出力する選択回路７０２と、比較データＳＢＬ，ＮＳＢＬと選択回路７０２から受けた選択データとの一致或いは不一致の判定を行う比較回路７０３と、共通検出線７１３とグランド電源との間に接続され、比較回路７０３の比較結果である比較回路出力信号ＣＮＤをゲートに受けるトランジスタＮＤ１１とを備えている。
【０１１１】
選択回路７０２は、比較データＳＢＬ，ＮＳＢＬが供給される一対の比較データ線７１７のうちの、一方の比較データ線７１７と内部比較データ線７１１との間に接続されたトランジスタＮＳ１１と、他方の比較データ線７１７と内部比較データ線７１２との間に接続されたトランジスタＮＳ１２と、一対の被比較データ線７１５のうちの一方の被比較データ線７１５と内部比較データ線７１１との間に接続されたトランジスタＮＳ１３と、他方の被比較データ線７１５と内部比較データ線７１２との間に接続されたトランジスタＮＳ１４とを備えている。トランジスタＮＳ１１，ＮＳ１２のゲートには、マスク制御信号ＭＳＫが接続されている。トランジスタＮＳ１３，ＮＳ１４のゲートには、マスク制御信号ＭＳＫがインバータ７４０を介して接続されている。そして、選択回路７０２の選択データは、内部比較データ線７１１，７１２を介して出力される。
【０１１２】
比較回路７０３は、一対の比較データ線７１７間に直列に接続されたトランジスタＮＥ１１，ＮＥ１２と、トランジスタＮＥ１１，ＮＥ１２と並列に接続されたトランジスタＰＥ１１，ＰＥ１２とを備えている。トランジスタＮＥ１１，ＰＥ１２のゲートには内部比較データ線７１１が接続され、トランジスタＮＥ１２，ＰＥ１１のゲートには内部比較データ線７１２が接続されている。また、トランジスタＮＥ１１とトランジスタＮＥ１２との間のノード及びトランジスタＰＥ１１とトランジスタＰＥ１２との間のノードは、トランジスタＮＤ１１のゲートに接続されている。
【０１１３】
マスク制御非対象の１ビット比較器７２１は、被比較データＷＢＬ，ＮＷＢＬと比較データＳＢＬ，ＮＳＢＬとの一致或いは不一致の判定を行う比較回路７０３と、共通検出線７１３とグランド電源との間に接続され、比較回路７０３の比較結果である比較回路出力信号ＣＮＤをゲートに受けるトランジスタＮＤ１１とを備えている。
【０１１４】
ここで、トランジスタＮＳ１１，ＮＳ１２，ＮＳ１３，ＮＳ１４，ＮＥ１１，ＮＥ１２，ＮＤ１１は、ＮＭＯＳトランジスタであり、トランジスタＰＥ１１，ＰＥ１２は、ＰＭＯＳトランジスタである。
【０１１５】
［比較動作］
マスク制御対象の１ビット比較器７０１は、比較動作として、被比較データＷＢＬ，ＮＷＢＬと比較データＳＢＬ，ＮＳＢＬとの一致或いは不一致の判定を行う判定動作と、比較結果をマスクするマスク動作とを有する。
【０１１６】
［判定動作］
１ビット比較器７０１の判定動作について説明する。
【０１１７】
マスク制御信号ＭＳＫが“ＬＯＷ”のとき、選択回路７０２のトランジスタＮＳ１３，ＮＳ１４が“ＯＮ”する一方、トランジスタＮＳ１１，ＮＳ１２が“ＯＦＦ”している。したがって、内部比較データ線７１１，７１２からは、被比較データＷＢＬ，ＮＷＢＬが出力される。これにより、比較回路７０３では、被比較データＷＢＬ，ＮＷＢＬと比較データＳＢＬ，ＮＳＢＬとが比較され、比較結果に応じてトランジスタＮＤ１１が“ＯＮ”または“ＯＦＦ”する。これにより、１ビット比較器７０１は、被比較データＷＢＬ，ＮＷＢＬと比較データＳＢＬ，ＮＳＢＬとの一致或いは不一致の判定結果を出力する。
【０１１８】
［マスク動作］
１ビット比較器７０１のマスク動作について説明する。
【０１１９】
マスク制御信号ＭＳＫが“ＨＩＧＨ”のとき、選択回路７０２のトランジスタＮＳ１１，ＮＳ１２が“ＯＮ”する一方、トランジスタＮＳ１３，ＮＳ１４が“ＯＦＦ”している。したがって、内部比較データ線７１１，７１２には比較データＳＢＬ，ＮＳＢＬが出力される。これにより、比較回路７０３には、内部比較データ線７１２，７１３及び一対の比較データ線７１７から、比較対象のデータとして比較データＳＢＬ，ＮＳＢＬが入力される。したがって、比較回路７０３では同じデータ同士が比較されることになる。これにより、マスク動作における比較回路７０３では、被比較データＷＢＬ，ＮＷＢＬ及び比較データＳＢＬ，ＮＳＢＬの値にかかわらず「一致判定」がなされる。したがって、比較回路出力信号ＣＮＤは“ＬＯＷ”であり、トランジスタＮＤ１１は“ＯＦＦ”のままである。すなわち、マスク動作における比較結果はマスクされる。
【０１２０】
なお、マスク制御非対象の１ビット比較器７２１では、比較回路７０３に対して、比較対象のデータとして比較データＳＢＬ，ＮＳＢＬ及び被比較データＷＢＬ，ＮＷＢＬが入力される。したがって、１ビット比較器７２１は、被比較データＷＢＬ，ＮＷＢＬと比較データＳＢＬ，ＮＳＢＬとの一致或いは不一致の判定結果を出力する。
【０１２１】
以上のように、本実施形態によると、１ビット比較器７２１と共通検出線７１３との間にマスクの有無を制御するトランジスタ（制御用のスイッチ）を設けることなく、マスク動作を実現することができる。これにより、１ビット比較器及び多ビット比較器について、高速化、低消費電力化、小面積化が実現できる。なお、共通検出線７１３に接続されたビット数が増加するほど、共通検出線７１３の負荷が大きくなるため、より顕著に高速化、低消費電力化、小面積化の効果が高まる。  
【産業上の利用可能性】
【０１２２】
本開示では、比較器並びに比較器を内蔵した記憶素子及び連想メモリ等を備えたデバイスにおいて、比較動作の高速化、小面積化、低消費電力化を実現することが可能となる。【０１２３】
特に比較回路が多数内蔵された大規模な連想メモリで有効な技術である。
【符号の説明】
【０１２４】
１０１  比較機能付き記憶素子
１０２  記憶回路
１０３  比較回路
１０４  書込み部
１０５  上書き部
１０６  書込み回路
１１３  共通検出線
３０１  書込み補助回路
４１１  共通比較データ線（共通データ線）
４２１  共通データ線
６００  連想メモリ
６０２  マスク情報記憶素子
７００  多ビットの比較器
７０１  １ビット比較器
７０２  選択回路
７０３  比較回路
ＮＤ３  トランジスタ（スイッチ）
ＷＣＴ  書込み制御信号
ＷＣＴＣ  共通書込み制御信号
ＭＳＫ  マスク制御信号
ＷＢＬ，ＮＷＢＬ  被比較データ
ＳＢＬ，ＮＳＢＬ  比較データ
ＳＢＬＵ，ＮＳＢＬＵ  上書き用比較データ（比較データ）
【図１】
2014112396.tif 000003
【図２】
2014112396.tif 000004
【図３】
2014112396.tif 000005
【図４】
2014112396.tif 000006
【図５】
2014112396.tif 000007
【図６】
2014112396.tif 000008
【図７】
2014112396.tif 000009
【図８】
2014112396.tif 000010
【図９】
2014112396.tif 000011
【図１０】
2014112396.tif 000012
【手続補正書】
【提出日】平成27年6月25日(2015.6.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は半導体集積回路に関し、特に比較器並びに比較器を内蔵した記憶素子及び連想メモリ等を高速に動作させる技術に関するものである。
【背景技術】
【０００２】
電子計算機の仮想記憶システムにおいて、アドレス変換を高速化するための手段としてＴＬＢ（Translation Look-aside Buffer）が広く用いられる。ＴＬＢの回路は、一般的に仮想アドレスページ番号（Virtual Page Number：以下、ＶＰＮと称する）を記憶したＶＰＮメモリアレイと、物理アドレスページ番号（Physical Page Number：以下、ＰＰＮと称する）を記憶したＰＰＮメモリアレイとによって構成される。そして、アドレス変換の際には、ＶＰＮメモリアレイに対して所望のＶＰＮで検索を実施し、一致しているＶＰＮが発見されると、ＰＰＮメモリアレイから対応するＰＰＮを読み出す。
【０００３】
一般的な仮想記憶システムではメモリ空間を有効活用するために、ページサイズが可変になっている。この場合、ＴＬＢによって記憶されているＶＰＮの有効なビット数はページサイズに応じて変わるため、特定のビットが検索対象から除外される。
【０００４】
特許文献１では、サポートするページサイズに応じて、変換するアドレスのビット数を変化させる技術が開示されている。具体的には、特許文献１の半導体集積回路は、検出信号線を階層化しており、ＣＡＭ（Content-addressable memory）セルからの比較結果は、トランジスタを通じてローカル検出線に接続されており、かつローカル検出線は、サイズビット内のデータによって制御されるトランジスタを通じて共通検出線に接続されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−３４０５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載された回路構成では、ローカル検出線とグランド電源との間に、マスクの有無を制御するトランジスタ（サイズビット内のデータによって制御されるトランジスタ）を含めて、トランジスタが直列に２段接続されている。このため、例えば連想メモリにおけるある特定のビットで不一致が検出され、共通信号線がグランドレベルに駆動される場合、ローカル検出線とグランド電源との間の２段のトランジスタを駆動する必要がある。これにより、連想メモリの比較動作の高速化が困難であり、結果として連想メモリの高速化が困難であるという課題がある。
【０００７】
さらに、共通検出線にはローカル検出線の負荷とあわせるとかなりの負荷が付随するため、直列に２段接続されたトランジスタの駆動による速度劣化が際立つという課題がある。
【０００８】
ここで、連想メモリを高速化するために、直列に２段接続されているトランジスタのゲート幅を大きくする方法が考えられる。しかしながら、この方法では、共通検出線に付随するトランジスタの拡散容量が増加するため、ゲート幅を大きくすることによる高速化には限界がある。また、ゲート幅を大きくすることによって、回路面積の増加や共通検出線の負荷増加に伴う消費電力の増加という新たな課題が生じる。
【０００９】
上記問題に鑑み、本開示は、比較機能付き記憶素子の高速化を、面積や消費電力を増大させずに実現することを目的とする。
【課題を解決するための手段】
【００１０】
本開示の第１態様では、記憶された被比較データと比較データとを比較する比較機能付き記憶素子は、前記被比較データを記憶する記憶回路と、書き込み動作において、書込み制御信号の制御を受けて前記記憶回路に前記被比較データを書き込む書込み回路と、前記記憶回路が保持する前記被比較データと、前記比較データとを比較して、その比較結果を出力する比較回路とを備えており、前記書込み回路は、前記比較回路によって比較動作を行う際に、マスク制御信号がマスク動作を示すとき、前記記憶回路に前記比較データを上書きする一方、前記マスク制御信号が非マスク動作を示すとき、前記記憶回路への前記比較データの上書きを行わないものである。
【００１１】
この態様によると、書込み回路は、比較回路によって比較動作を行う場合において、マスク制御信号がマスク動作を示すとき、記憶回路に比較データを上書きする。これにより、比較動作において、比較データとの比較対象である記憶回路に記憶された被比較データは、比較データに更新される。したがって、比較回路では、同じデータ同士（比較データ同士）が比較されることになり、一致判定が出力される。すなわち、比較結果はマスクされる。一方で、マスク制御信号が非マスク動作を示すとき、記憶回路に保持された被比較データは更新されないため、比較回路では被比較データと比較データとが比較される。このように、本態様では、比較機能付き記憶素子の出力部に比較結果のマスクの有無を制御する制御用のスイッチ（例えば、トランジスタ）を設けることなく、比較結果のマスクの有無を制御することができる。したがって、比較機能付き記憶素子を用いた読み出し動作、比較動作等について高速動作を実現することが可能となる。
【００１２】
本開示の第２態様では、多ビットの連想メモリは、第１態様に係る比較機能付き記憶素子を複数個、備えており、前記複数の比較機能付き記憶素子において、複数の前記記憶回路に多ビットの被比較データが記憶され、かつ複数の前記比較回路に前記多ビットの被比較データと対応する多ビットの比較データが与えられており、前記複数の比較機能付き記憶素子の比較回路から出力された比較結果の論理和をとり、当該論理和に基づいて、前記多ビットの被比較データと、前記多ビットの比較データとの一致比較判定を行うものである。
【００１３】
本開示の第３態様では、アドレス変換バッファは、第２態様に係る多ビットの連想メモリを用いており、前記多ビットの被比較データは、仮想アドレス空間における論理アドレスであり、前記多ビットの比較データは検索対象の論理アドレスであり、前記マスク制御信号は、仮想メモリ空間のページサイズ情報を記憶したページサイズ記憶用メモリセルの出力信号であるものとする。
【００１４】
本開示の第４態様では、被比較データと比較データとを比較する１ビット比較器は、マスク制御信号の制御を受けて、前記被比較データと前記比較データとのうちのいずれか一方を選択して出力する選択回路と、前記選択回路の出力信号と前記比較データとを比較して、その比較結果を出力する比較回路とを備えており、前記選択回路は、前記マスク制御信号がマスク動作を示すとき、前記比較データを選択して出力する一方、前記マスク制御信号が非マスク動作を示すとき、前記被比較データを選択して出力するものである。
【００１５】
この態様によると、マスク制御信号がマスク動作を示すとき、選択回路は比較データを選択して出力するため、比較回路では同じデータ同士（比較データ同士）が比較されることになり、一致判定が出力される。すなわち、比較結果はマスクされる。一方で、マスク制御信号が非マスク動作を示すとき、被比較データと比較データとが比較される。このように、本態様では、１ビット比較器の出力部に、比較結果のマスクの有無を制御するような制御用のスイッチ（例えば、トランジスタ）を設けることなく、比較結果のマスクの有無を制御することができる。したがって、１ビット比較器の高速動作を実現することが可能となる。
【００１６】
本開示の第５態様では、多ビット比較器は、第４態様に係る１ビット比較器を複数個、備えており、前記複数の１ビット比較器において、複数の前記選択回路に多ビットの被比較データが与えられ、かつ複数の前記比較回路に前記多ビットの被比較データと対応する多ビットの比較データが与えられており、前記複数の１ビット比較器の比較回路から出力された比較結果の論理和をとり、当該論理和に基づいて、前記多ビットの被比較データと前記多ビットの比較データとの一致比較判定を行うものである。
【発明の効果】
【００１７】
本開示によれば、比較機能付き記憶素子の高速化を実現することができる。また、比較機能付き記憶素子の小面積化、低電力化を実現することができる。特に、検索データのビット幅が大きい比較機能付き記憶素子において、高い効果を有する。
【図面の簡単な説明】
【００１８】
【図１】実施の形態１に係る比較機能付き記憶素子の回路図である。
【図２】実施の形態１の回路の状態遷移図である。
【図３】実施の形態１に係る半導体集積回路の他の例を示す回路図である。
【図４】書込み補助回路の他の例を示す回路図である。
【図５】実施の形態１に係る半導体集積回路の他の例を示す回路図である。
【図６】実施の形態１に係る半導体集積回路の他の例を示す回路図である。
【図７】実施の形態１に係る半導体集積回路の他の例を示す回路図である。
【図８】実施の形態１に係る半導体集積回路の他の例を示す回路図である。
【図９】実施の形態２に係る連想メモリの回路図である。
【図１０】実施の形態３に係る比較器の回路図である。
【発明を実施するための形態】
【００１９】
以下、本開示の実施の形態を、図面を参照しながら説明する。
【００２０】
なお、以下の各実施形態は、例示説明にすぎず、本開示、その適用範囲あるいはその用途を制限することを意図するものではない。
【００２１】
＜実施の形態１＞
図１は本実施形態に係る半導体集積回路の回路図である。図１に示すように、半導体集積回路は、比較機能付き記憶素子１０１を備えている。
【００２２】
比較機能付き記憶素子１０１は、被比較データを記憶する記憶回路１０２と、書込み制御信号ＷＣＴ及びマスク制御信号ＭＳＫによる制御を受けて、記憶回路１０２に一対の被比較データＷＢＬ，ＮＷＢＬ（以下、単に被比較データＷＢＬ，ＮＷＢＬと称する）及び一対の上書き用比較データＳＢＬＵ，ＮＳＢＬＵ（以下、単に上書き用比較データＳＢＬＵ，ＮＳＢＬＵと称する）を書き込む書込み回路１０６と、記憶回路１０２で記憶している記憶データと一対の比較データＳＢＬ，ＮＳＢＬ（以下、単に比較データＳＢＬ，ＮＳＢＬと称する）とを受けて、記憶データと比較データＳＢＬ，ＮＳＢＬとの一致或いは不一致の判定を行う比較回路１０３と、共通検出線１１３とグランド電源との間に接続され、比較回路１０３の比較結果である比較回路出力信号ＮＤをゲートに受けるトランジスタＮＤ３とを備えている。
【００２３】
書込み回路１０６は、書込み制御信号ＷＣＴによる制御を受けて、被比較データＷＢＬ，ＮＷＢＬを記憶回路１０２に書き込む書込み部１０４と、マスク制御信号ＭＳＫによる制御を受けて、上書き用比較データＳＢＬＵ，ＮＳＢＬＵを記憶回路１０２に書き込む上書き部１０５とを備えている。
【００２４】
記憶回路１０２は、電源と記憶ノードＤ１との間に接続されたトランジスタＰＬ１と、記憶ノードＤ１とグランド電源との間に接続されたトランジスタＮＤ１と、電源と記憶ノードＤ２との間に接続されたトランジスタＰＬ２と、記憶ノードＤ２とグランド電源との間に接続されたトランジスタＮＤ２とを備えている。トランジスタＰＬ１とトランジスタＮＤ１とのゲートには記憶ノードＤ２が接続され、トランジスタＰＬ２とトランジスタＮＤ２とのゲートには記憶ノードＤ１が接続されている。記憶回路１０２の記憶データは、記憶ノードＤ１，Ｄ２を介して出力される。
【００２５】
比較回路１０３は、比較データＳＢＬ，ＮＳＢＬが供給される一対の比較データ線１１７（以下、単に比較データ線１１７と称する）の間に直列に接続されたトランジスタＮＥ１，ＮＥ２と、トランジスタＮＥ１，ＮＥ２と並列に接続されたトランジスタＰＥ１，ＰＥ２とを備えている。トランジスタＮＥ１とトランジスタＰＥ２とのゲートには記憶ノードＤ２が接続され、トランジスタＮＥ２とトランジスタＰＥ１とのゲートには記憶ノードＤ１が接続されている。また、トランジスタＮＥ１とトランジスタＮＥ２との間のノード及びトランジスタＰＥ１とトランジスタＰＥ２との間のノードは、トランジスタＮＤ３のゲートに接続されている。
【００２６】
書込み部１０４は、被比較データＷＢＬ，ＮＷＢＬが供給される一対の被比較データ線１１５（以下、単に被比較データ線１１５と称する）のうちの、一方の被比較データ線１１５と記憶回路１０２の記憶ノードＤ１との間に接続されたトランジスタＮＷ１と、他方の被比較データ線１１５と記憶回路１０２の記憶ノードＤ２との間に接続されたトランジスタＮＷ２とを備えている。トランジスタＮＷ１，ＮＷ２のゲートには、書込み制御信号ＷＣＴが与えられる。
【００２７】
上書き部１０５は、上書き用比較データＳＢＬＵ，ＮＳＢＬＵが供給される一対の上書き用比較データ線１１６（以下、単に上書き用比較データ線１１６と称する）のうちの、一方の上書き用比較データ線１１６と記憶回路１０２の記憶ノードＤ１との間に接続されたトランジスタＮＵ１と、他方の上書き用比較データ線１１６と記憶回路１０２の記憶ノードＤ２との間に接続されたトランジスタＮＵ２とを備えている。トランジスタＮＵ１，ＮＵ２のゲートにはマスク制御信号ＭＳＫが与えられる。
【００２８】
ここで、トランジスタＮＤ１，ＮＤ２，ＮＤ３，ＮＥ１，ＮＥ２，ＮＷ１，ＮＷ２，ＮＵ１，ＮＵ２は、ＮＭＯＳトランジスタであり、トランジスタＰＬ１，ＰＬ２，ＰＥ１，ＰＥ２は、ＰＭＯＳトランジスタである。また、上書き用比較データ線１１６と、比較データ線１１７とには同じ比較データが供給されている。
【００２９】
このように、上書き用比較データ線１１６と、比較データ線１１７とを分けることにより、配線に接続されるトランジスタ数が減少するため、負荷が軽減される。これにより、比較回路１０３によるデータの比較速度が高速化され、比較機能付き記憶素子１０１の読み出し速度等の高速化を実現することができる。
【００３０】
［書き込み動作］
図１に示す半導体集積回路の書き込み動作について説明する。
【００３１】
書込み制御信号ＷＣＴが“ＬＯＷ”から“ＨＩＧＨ”に変化することにより、書込み部１０４のトランジスタＮＷ１，ＮＷ２が“ＯＮ”し、記憶回路１０２に被比較データＷＢＬ，ＮＷＢＬが書き込まれる。
【００３２】
［比較動作］
次に、比較回路１０３による比較動作について、図１の回路図及び図２（ａ）〜（ｃ）の状態遷移図を用いて説明する。図２（ａ）は書き込み動作後の状態を示す状態遷移図であり、図２（ｂ）は比較動作のうちの一致或いは不一致を判定する、非マスク動作としての判定動作後の状態を示す状態遷移図であり、図２（ｃ）は比較動作のうちの比較結果をマスクするマスク動作後の状態を示す状態遷移図である。なお、図２において、“１”は信号が“ＨＩＧＨ”であることを示し、“０”は信号が“ＬＯＷ”であることを示すものとする。
【００３３】
まず、比較動作が開始される前は、共通検出線１１３の信号は“ＨＩＧＨ”にプリチャージされており、図２（ａ）に示すように、比較データＳＢＬ，ＮＳＢＬはいずれも“ＬＯＷ”になっている。そして、記憶回路１０２には、トランジスタＮＷ１，ＮＷ２を介して被比較データＷＢＬ，ＮＷＢＬが書き込まれ、記憶される。具体的には、データパタン１，２では、記憶回路１０２の記憶ノードＤ１には、記憶データとして“ＨＩＧＨ”が記憶されている一方、記憶ノードＤ２には、記憶データとして“ＬＯＷ”が記憶されているものとする。同様に、データパタン３，４では、記憶ノードＤ１の記憶データとして“ＬＯＷ”が記憶されている一方、記憶ノードＤ２の記憶データとして“ＨＩＧＨ”が記憶されているものとする。
【００３４】
次に、比較動作が開始されると、図２（ｂ），（ｃ）に示すように、比較データＳＢＬ，ＮＳＢＬのいずれか一方が“ＨＩＧＨ”に変化する。比較回路１０３のトランジスタＮＥ１，ＮＥ２，ＰＥ１，ＰＥ２は、記憶回路１０２から受けた記憶ノードＤ１，Ｄ２の記憶データに応じてＯＮ／ＯＦＦし、比較結果を比較回路出力信号ＮＤとして出力する。
【００３５】
ここで、比較回路１０３による判定の結果は、比較回路出力信号ＮＤが“ＬＯＷ”であり、トランジスタＮＤ３が“ＯＦＦ”のときは、記憶回路１０２に記憶された記憶データと、比較データＳＢＬ，ＮＳＢＬとが一致していることを示す「一致判定」（図２（ｂ），（ｃ）内では「一致」と記載する）となる。一方で、比較回路出力信号ＮＤが“ＨＩＧＨ”であり、トランジスタＮＤ３が“ＯＮ”のときは、記憶回路１０２に記憶された記憶データと、比較データＳＢＬ，ＮＳＢＬとが不一致であることを示す「不一致判定」（図２（ｂ），（ｃ）内では「不一致」と記載する）となる。なお、以下の比較動作において、トランジスタＮＷ１，ＮＷ２は“ＯＦＦ”しているものとする。
【００３６】
［判定動作（非マスク動作）］
まず、図２（ｂ）のデータパタン１と図１の回路図とを用いて、判定動作の一例（以下、例１と称する）について詳細に説明する。
【００３７】
例１では、記憶ノードＤ１の記憶データが“ＨＩＧＨ”であり、記憶ノードＤ２の記憶データが“ＬＯＷ”であるため、トランジスタＮＥ２，ＰＥ２が“ＯＮ”する一方、トランジスタＮＥ１，ＰＥ１が“ＯＦＦ”する。また、マスク制御信号ＭＳＫが“ＬＯＷ”であるため、トランジスタＮＵ１，ＮＵ２は“ＯＦＦ”している。
【００３８】
このとき、比較データＳＢＬが“ＨＩＧＨ”であるが、トランジスタＮＥ１，ＰＥ１が“ＯＦＦ”しているため、比較データＳＢＬ（“ＨＩＧＨ”データ）はトランジスタＮＤ３のゲートに供給されず、トランジスタＮＤ３のゲートは“ＬＯＷ”のままである。したがって、トランジスタＮＤ３が“ＯＮ”しないため、判定結果は「一致判定」となる。
【００３９】
同様にして、図２（ｂ）のデータパタン４についての判定結果は「一致判定」となる。
【００４０】
次に、図２（ｂ）のデータパタン２と図１の回路図とを用いて、判定動作の他の例（以下、例２と称する）について詳細に説明する。
【００４１】
例２では、記憶ノードＤ１の記憶データが“ＨＩＧＨ”であり、記憶ノードＤ２の記憶データが“ＬＯＷ”であるため、トランジスタＮＥ２，ＰＥ２が“ＯＮ”する一方、トランジスタＮＥ１，ＰＥ１が“ＯＦＦ”する。また、マスク制御信号ＭＳＫが“ＬＯＷ”であるため、トランジスタＮＵ１，ＮＵ２は、“ＯＦＦ”している。
【００４２】
このとき、比較データＮＳＢＬが“ＨＩＧＨ”となっており、かつトランジスタＮＥ２，ＰＥ２が“ＯＮ”しているため、比較データＮＳＢＬ（“ＨＩＧＨ”データ）がトランジスタＮＤ３のゲートに供給される。これにより、トランジスタＮＤ３が“ＯＮ”して、共通検出線１１３が“ＬＯＷ”に駆動される。すなわち、判定動作は「不一致判定」となる。
【００４３】
同様にして、図２（ｂ）のデータパタン３についての判定結果は「不一致判定」となる。
【００４４】
［マスク動作］
次に、図２（ｃ）のデータパタン１と図１の回路図とを用いて、マスク動作の一例（以下、例３と称する）について詳細に説明する。
【００４５】
例３では、マスク制御信号ＭＳＫが“ＨＩＧＨ”になっており、トランジスタＮＵ１，ＮＵ２が“ＯＮ”している。そのため、記憶ノードＤ１には比較データＳＢＬＵ、記憶ノードＤ２には比較データＮＳＢＬＵが上書きされる。ここで、書き込み動作（図２（ａ））において記憶ノードＤ１に記憶されたデータと、上書き用比較データＳＢＬＵとが同じ（“ＨＩＧＨ”）であるため、書き込み動作（図２（ａ））において記憶ノードＤ１に記憶されたデータ（“ＨＩＧＨ”）は変更されない。同様に、書き込み動作（図２（ａ））において記憶ノードＤ２に記憶されたデータ（“ＬＯＷ”）は変更されない。
【００４６】
以後の動作は、例１と同様であり、その詳細な説明を省略する。これにより、例３に示すマスク動作では、例１の場合と同様に判定結果が「一致判定」となる。
【００４７】
同様にして、図２（ｃ）のデータパタン４についての判定結果は「一致判定」となる。
【００４８】
次に、図２（ｃ）のデータパタン２と図１の回路図とを用いて、マスク動作の他の例（以下、例４と称する）について詳細に説明する。
【００４９】
例４では、例３と同様に、マスク制御信号ＭＳＫが“ＨＩＧＨ”であるため、トランジスタＮＵ１、ＮＵ２が“ＯＮ”している。そのため、記憶ノードＤ１には上書き用比較データＳＢＬＵが上書きされ、記憶ノードＤ２には上書き用比較データＮＳＢＬＵのデータが上書きされる。ここで、書き込み動作（図２（ａ））において記憶ノードＤ１に書込まれたデータ（“ＨＩＧＨ”）と、上書き用比較データＳＢＬＵ（“ＬＯＷ”）とが異なるため、記憶ノードＤ１の記憶データが“ＬＯＷ”に更新される（図２（ｃ））。同様に、書き込み動作（図２（ａ））において記憶ノードＤ２に書込まれたデータ（“ＬＯＷ”）と、上書き用比較データＮＳＢＬＵ（“ＨＩＧＨ”）とが異なるため、記憶ノードＤ２の記憶データが“ＨＩＧＨ”に更新される（図２（ｃ））。これにより、トランジスタＮＥ１，ＰＥ１が“ＯＮ”する一方、トランジスタＮＥ２，ＰＥ２が“ＯＦＦ”する。
【００５０】
このとき、比較データＮＳＢＬは“ＨＩＧＨ”であるが、トランジスタＮＥ２，ＰＥ２が“ＯＦＦ”しているため、比較データＮＳＢＬ（“ＨＩＧＨ”データ）はトランジスタＮＤ３のゲートに供給されず、トランジスタＮＤ３のゲートは“ＬＯＷ”のままである。したがって、トランジスタＮＤ３は“ＯＮ”しないため、判定結果は「一致判定」となる。
【００５１】
同様にして、図２（ｃ）のデータパタン３についての判定結果は「一致判定」となる。
【００５２】
このように、マスク動作においては、マスク制御信号ＭＳＫが“ＨＩＧＨ”であるため、トランジスタＮＵ１、ＮＵ２が“ＯＮ”している。これにより、記憶ノードＤ１には上書き用比較データＳＢＬＵが上書きされ、記憶ノードＤ２には上書き用比較データＮＳＢＬＵのデータが上書きされる。結果として、マスク動作では、マスク動作前に記憶回路１０２に記憶されていたデータにかかわらず、記憶ノードＤ１の記憶データと比較データＳＢＬ、及び記憶ノードＤ２の記憶データと比較データＮＳＢＬはそれぞれ同じデータとなる。すなわち、マスク動作では、比較回路１０３によって、同じデータ同士が比較されることになる。その結果、比較回路１０３の比較結果は「一致判定」となり、比較回路出力信号ＮＤは“ＬＯＷ”であり、トランジスタＮＤ３は“ＯＦＦ”のままである。すなわち、比較結果はマスクされる。
【００５３】
以上のように、本態様によると、比較機能付き記憶素子１０１と共通検出線１１３との間にマスクの有無を制御するトランジスタ（制御用のスイッチ）を設けることなく、マスク動作を実現することができる。これにより、比較機能付き記憶素子１０１による比較、読み出し等について、高速動作を実現することが可能となる。図１では、比較機能付き記憶素子１０１が１ビットだけ共通検出線１１３接続されている例を示しているが、実際には同一の共通検出線１１３に複数の比較機能付き記憶素子１０１が接続される。この同一の共通検出線１１３に接続される比較機能付き記憶素子１０１の数が増加するほど、共通検出線１１３の負荷が大きくなるため、より顕著に高速化の効果が高まる。
【００５４】
また、比較機能付き記憶素子１０１を備える半導体集積回路の高速化が図れるため、従来と比較して、所望の動作速度を得るために必要なトランジスタＮＤ３のサイズが小さくてすむ。すなわち、比較機能付き記憶素子１０１及びこれを備える半導体集積回路の小面積化が可能となる。また、トランジスタＮＤ３を小さくできることに伴って、トランジスタＮＤ３の前段のトランジスタＮＥ１、ＮＥ２、ＰＥ１、ＰＥ２なども小型化が可能となるため、さらに小面積化が可能となる。また、各トランジスタが小さくなる効果や、それらのトランジスタを実現するレイアウトが小さくなる効果によって回路に付随する寄生容量が減少し、低消費電力化が可能となる。このような小面積化、低消費電力化の効果についても、高速化の場合と同様に共通検出線１１３に接続される比較機能付き記憶素子１０１の数が増えるほど、より顕著にそれらの効果が高まる。
【００５５】
（半導体集積回路の他の例１）
図３は本実施形態に係る半導体集積回路の他の例を示す回路図である。図１に記載の半導体集積回路と比較すると、マスク動作の際に、上書き部１０５から記憶回路１０２への上書きを補助する補助回路３０１が追加されている。
【００５６】
書込み補助回路３０１は、電源とトランジスタＰＬ１及びトランジスタＰＬ２のソースとの間に接続されたＰＭＯＳのトランジスタＰＨ１を有している。トランジスタＰＨ１のゲートには、マスク制御信号ＭＳＫが与えられている。
【００５７】
図３の回路において、書き込み動作及び判定動作については、図１と同様であり、その詳細な説明を省略する。
【００５８】
［マスク動作］
本態様に係るマスク動作の際の上書き動作について、図３を用いて詳細に説明する。
【００５９】
マスク動作において、マスク制御信号ＭＳＫが“ＨＩＧＨ”に設定されると、上書き用比較データＳＬＢＵ，ＮＳＬＢＵのうちのいずれか一方のデータである“ＬＯＷ”のデータが、記憶回路１０２の記憶ノードＤ１，Ｄ２のうちのいずれか一方に書き込まれる。このとき、トランジスタＰＬ１，ＰＬ２の能力を弱めておくことにより、上記の書き込みを受ける記憶ノードＤ１，Ｄ２を“ＬＯＷ”に変化しやすくすることができる。
【００６０】
具体的に説明すると、書込み補助回路３０１は、マスク制御信号ＭＳＫが“ＬＯＷ”のときにはトランジスタＰＬ１，ＰＬ２のソースに電源を供給する一方、マスク制御信号ＭＳＫが“ＨＩＧＨ”のときにはトランジスタＰＬ１，ＰＬ２のソースへの電源供給を遮断する。これにより、マスク制御信号ＭＳＫが“ＨＩＧＨ”のとき、トランジスタＰＬ１，ＰＬ２の能力を弱めることができる。その結果、記憶ノードＤ１，Ｄ２の記憶データが“ＬＯＷ”に変化しやすくなる。
【００６１】
それ以外の動作については、図１の場合と同様であり、その詳細な説明を省略する。
【００６２】
以上のように、本態様によると、半導体集積回路に書込み補助回路３０１を追加することにより、記憶回路１０２への上書き用比較データＳＢＬＵ，ＮＳＢＬＵの上書き速度を速めることができる。さらに、この上書き速度の向上によって、マスク動作時に比較回路１０３から出力されるノイズを低減することができる。また、記憶回路１０２に上書き用比較データＳＢＬＵ，ＮＳＢＬＵを書き込む際に、トランジスタＰＬ１とトランジスタＮＵ１、或いはトランジスタＰＬ２とトランジスタＮＵ２を通して流れる貫通電流を削減でき、低消費電力化が実現できる。さらに、上書き用比較データＳＢＬＵ，ＮＳＢＬＵの上書きが容易になるため、トランジスタＮＵ１，ＮＵ２のゲート幅を縮小でき、小面積化が実現できる。
【００６３】
ここで、図３の回路を用いたマスク動作では、トランジスタＰＬ１，ＰＬ２のソースへの電源供給が遮断されるため、マスク制御信号ＭＳＫが“ＬＯＷ”のときに記憶回路１０２に記憶されていたデータは破壊される。このデータの破壊は、マスク制御信号ＭＳＫが“ＨＩＧＨ”のときに比較回路１０３の比較結果をマスクするアプリケーションでは問題とはならない。具体的には、例えば仮想アドレス空間において論理アドレスを物理アドレスに変換するアドレス変換バッファにおいて、ＣＡＭ（Content-addressable memory）の特定のビットの比較結果をページサイズメモリでマスクする機構等では、上記のデータの破壊は問題とはならない。
【００６４】
なお、図３では、マスク動作の際（マスク制御信号ＭＳＫが“ＨＩＧＨ”のとき）に、書込み補助回路３０１を用いてトランジスタＰＬ１，ＰＬ２のソースへの電源供給を遮断することによって、トランジスタＰＬ１，ＰＬ２の能力を弱める例を示したが、必ずしも電源供給を遮断する必要はない。例えば、図４に示すような書込み補助回路３０１を用いて、トランジスタＰＬ１，ＰＬ２のソース電源を弱めることによって、トランジスタＰＬ１，ＰＬ２の能力を弱めてもよい。
【００６５】
（書込み補助回路の他の例１）
図４（ａ）に示す書込み補助回路３０１は、図３に示した書込み補助回路３０１に加えて、電源とトランジスタＰＬ１のソース及びトランジスタＰＬ２のソースとの間に接続されたＰＭＯＳのトランジスタＰＨ２を有している。したがって、トランジスタＰＨ１のドレインとトランジスタＰＨ２のドレインとは接続されている。また、トランジスタＰＨ２のゲートはグランド電源に接続されている。
【００６６】
書込み補助回路３０１をこのような構成とすることによって、マスク動作時にトランジスタＰＨ１が“ＯＦＦ”になった場合においても、トランジスタＰＨ２が“ＯＮ”を維持する。したがって、マスク動作時には、非マスク動作時（例えば、書き込み動作時や判定動作時）と比較してトランジスタＰＬ１，ＰＬ２のソース電源が弱くなり、トランジスタＰＬ１，ＰＬ２の能力が低下する。これにより、記憶回路１０２に上書き用比較データＳＢＬＵ，ＮＳＢＬＵが上書きされる速度を速めることができる。
【００６７】
ここで、「ソース電源が弱くなる」とは、例えばＰＭＯＳトランジスタの場合、トランジスタのソース電位が下がったり、電源からトランジスタのソースへの電流供給能力が下がったりする等の理由により、電源としての能力が低下することを指すものとする。
【００６８】
（書込み補助回路の他の例２）
図４（ｂ）に示す書込み補助回路３０１は、図３に示した書込み補助回路３０１に加えて、電源とトランジスタＰＬ１のソース及びトランジスタＰＬ２のソースとの間に接続されたトランジスタＰＨ２を有している。また、トランジスタＰＨ２のゲートはトランジスタＰＨ２のドレインに接続されている。したがって、トランジスタＰＨ１のドレイン、並びにトランジスタＰＨ２のドレイン及びゲートは接続されている。
【００６９】
書込み補助回路３０１をこのような構成とすることによって、マスク動作時にトランジスタＰＨ１が“ＯＦＦ”になった場合においても、ＰＬ１，ＰＬ２のソース電源は遮断されず、トランジスタＰＨ２の閾値電圧近傍でトランジスタＰＬ１，ＰＬ２のソース電源の電圧が維持される。これにより、マスク動作時には、非マスク動作時（例えば、書き込み動作時や判定動作時）と比較してトランジスタＰＬ１，ＰＬ２のソース電源が弱くなり、トランジスタＰＬ１，ＰＬ２の能力が低下する。これにより、記憶回路１０２に上書き用比較データＳＢＬＵ，ＮＳＢＬＵが上書きされる速度を速めることができる。
【００７０】
（書込み補助回路の他の例３）
図４（ｃ）に示す書込み補助回路３０１は、図３に示した書込み補助回路３０１に加えて、トランジスタＰＨ１のソースに接続された電源（以下、高ＶＤＤと称する）よりも低い電圧の電源（以下、低ＶＤＤと称する）と、トランジスタＰＬ１のソース及びトランジスタＰＬ２のソースとの間に接続されたトランジスタＰＨ２を有している。したがって、トランジスタＰＨ１のドレインとトランジスタＰＨ２のドレインとは接続されている。書込み補助回路３０１は、トランジスタＰＨ１のゲートとトランジスタＰＨ２のゲートとの間に接続されたインバータ３１１をさらに有している。これにより、トランジスタＰＨ２のゲートには、反転されたマスク制御信号ＭＳＫが供給される。
【００７１】
書込み補助回路３０１をこのような構成とすることによって、マスク動作時にトランジスタＰＨ１が“ＯＦＦ”になっても、トランジスタＰＬ１，ＰＬ２のソースには、低ＶＤＤからトランジスタＰＨ２を介して電源が供給される。すなわち、トランジスタＰＬ１，ＰＬ２のソース電源は遮断されない。一方で、非マスク動作時には、トランジスタＰＨ２が“ＯＦＦ”されるため、トランジスタＰＬ１，ＰＬ２のソースには、高ＶＤＤからトランジスタＰＬ１を介して電源が供給される。
【００７２】
このように、マスク動作時には、非マスク動作時（例えば、書き込み動作時や判定動作時）と比較してトランジスタＰＬ１，ＰＬ２のソース電源が下がる（弱くなる）ため、トランジスタＰＬ１，ＰＬ２の能力が低下する。これにより、記憶回路１０２に上書き用比較データＳＢＬＵ，ＮＳＢＬＵが上書きされる速度を速めることができる。
【００７３】
（書込み補助回路の他の例４）
図４（ｄ）に示す書込み補助回路３０１は、図３に示した書込み補助回路３０１に加えて、電源とトランジスタＰＬ１のソース及びトランジスタＰＬ２のソースとの間に接続されたＮＭＯＳのトランジスタＮＨ２を有している。したがって、トランジスタＰＨ１のドレインとトランジスタＮＨ２のソースとは接続されている。また、トランジスタＮＨ２のゲートはトランジスタＰＨ１のゲートに接続されている。
【００７４】
書込み補助回路３０１をこのような構成とすることにより、マスク動作時はトランジスタＰＨ１が“ＯＦＦ”であり、トランジスタＮＨ２が“ＯＮ”であるため、トランジスタＰＬ１，ＰＬ２のソース電源が“ＶＤＤ−Ｖｔｈｎ”近傍で維持される。
【００７５】
これにより、マスク動作時には、非マスク動作時（例えば、書き込み動作時や判定動作時）と比較して、トランジスタＰＬ１，ＰＬ２のソース電源が弱くなり、トランジスタＰＬ１，ＰＬ２の能力が低下する。これにより、記憶回路１０２に上書き用比較データＳＢＬＵ，ＮＳＢＬＵが上書きされる速度を速めることができる。
【００７６】
図３及び図４では、書込み補助回路３０１を追加することによって、マスク動作の際に記憶回路１０２への上書き用比較データＳＢＬＵ，ＮＳＢＬＵの上書き速度を速める例について説明したが、書込み補助回路３０１による書き込みの補助はこれに限定されない。例えば、以下の「書込み補助回路の他の例５」に示すように、上書き用比較データＳＢＬＵ，ＮＳＢＬＵの上書きの補助に加えて、被比較データＷＢＬ，ＮＷＢＬの書き込みを補助するようにしてもよい。
【００７７】
（書込み補助回路の他の例５）
図５は本実施形態に係る半導体集積回路の他の例を示す回路図である。図３に記載の半導体集積回路と比較すると、本態様の書込み補助回路３０１は、トランジスタＰＨ１と電源との間に設けられたＰＭＯＳのトランジスタＰＨ３が追加されている。トランジスタＰＨ３のゲートには、書込み制御信号ＷＣＴが接続されている。
【００７８】
このような構成とすることによって、マスク制御信号ＭＳＫが“ＨＩＧＨ”のときだけでなく、書込み制御信号ＷＣＴが“ＨＩＧＨ”のときにも記憶回路１０２への書き込みが補助される。すなわち、書き込み動作の際に、記憶回路１０２に被比較データＷＢＬ，ＮＷＢＬが書き込まれるときにも書込みが補助される。
【００７９】
それ以外の動作については、図３と同様であり、その詳細な説明を省略する。
【００８０】
以上のように、本態様によると、図３に示した書込み補助回路３０１に係る効果に加えて、書込み制御信号ＷＣＴが“ＨＩＧＨ”のときにも、記憶回路１０２に被比較データＷＢＬ，ＮＷＢＬが書き込まれる速度を高速化することができる。また、トランジスタＰＬ１とトランジスタＮＷ１、或いはトランジスタＰＬ２とトランジスタＮＷ２を通して流れる貫通電流を削減でき、低消費電力化が実現できる。さらに、図５に示す書込み補助回路３０１を半導体集積回路に用いることによって、被比較データＷＢＬ，ＮＷＢＬの書き込みが容易になるため、トランジスタＮＷ１，ＮＷ２のゲート幅を縮小でき、小面積化が実現できる。
【００８１】
なお、図５では、書込み補助回路３０１を用いて、マスク動作及び書き込み動作の際に、トランジスタＰＬ１，ＰＬ２のソースへの電源供給を遮断することによって、トランジスタＰＬ１，ＰＬ２の能力を低下させる例を示したが、必ずしも電源供給を遮断する必要はない。例えば、図５において、図４（ａ）〜（ｄ）に示した回路と同様の書込み補助回路３０１を用いて、マスク動作及び書き込み動作のうちの少なくともいずれか一方において、トランジスタＰＬ１，ＰＬ２のソース電源を弱めるようにしてもよい。また、図５において、マスク動作及び書き込み動作のうちのいずれか一方はトランジスタＰＬ１，ＰＬ２のソースへの電源供給を遮断し、他方はトランジスタＰＬ１，ＰＬ２のソース電源を弱めるような補助回路３０１を用いてもよい。
【００８２】
なお、図３〜５において示した書込み補助回路３０１は、一例を例示したにすぎず、図３〜５に示した以外の回路を用いて、トランジスタＰＬ１，ＰＬ２の能力を弱めてもかまわない。
【００８３】
また、図１〜図５に示した回路では、被比較データＷＢＬ，ＮＷＢＬ、上書き用比較データＳＢＬＵ，ＮＳＢＬＵ及び比較データＳＢＬ，ＮＳＢＬは、それぞれ異なるデータ線１１５，１１６，１１７を介して供給されるものとしたが、少なくともいずれかの２つのデータが、共通のデータ線を介して供給されるものとしてもよい。以下の態様では、その具体的な例について説明する。
【００８４】
（半導体集積回路の他の例２）
図６は本実施形態に係る半導体集積回路の他の例を示す回路図である。図３に記載の半導体集積回路と比較すると、本態様に係る半導体集積回路では、同じ比較データが供給される上書き用比較データ線１１６と比較データ線１１７とを共通データ線としての一対の共通比較データ線４１１（以下、単に共通比較データ線４１１と称する）に共通化しており、この共通比較データ線４１１を介して比較データＳＢＬ，ＮＳＢＬが供給される。これにより、共通比較データ線４１１のうちの一方のデータ線４１１には、トランジスタＮＵ１と比較回路１０３とが接続され、他方のデータ線４１１にはトランジスタＮＵ２と比較回路１０３とが接続される。それ以外の回路構成、書き込み動作及び比較動作については、図３と同様であり、その詳細な説明を省略する。
【００８５】
本態様のような構成とすることによって、配線本数を削減することができ、半導体集積回路の高集積化が可能となる。また、比較動作時の充放電に係る配線負荷が減少するため、低消費電力化が実現できる。
【００８６】
（半導体集積回路の他の例３）
図７は本実施形態に係る半導体集積回路の他の例を示す回路図である。図６に記載の半導体集積回路と比較すると、本態様に係る半導体集積回路では、被比較データ線１１５と共通比較データ線４１１とを一対の共通データ線４２１（以下、単に共通データ線４２１と称する）に共通化している。共通データ線４２１には、一対の共通データＢＬ，ＮＢＬ（以下、単に共通データＢＬ，ＮＢＬと称する）が供給される。さらに、本態様に係る半導体集積回路は、被比較データＷＢＬ，ＮＷＢＬを出力する被比較データ回路４０２と、比較データＳＢＬ，ＮＳＢＬを出力する比較データ回路４０３と、被比較データ回路４０２及び比較データ回路４０３と接続され、被比較データ回路４０２及び比較データ回路４０３から受けた被比較データＷＢＬ，ＮＷＢＬ及び比較データＳＢＬ，ＮＳＢＬのうちのいずれか一方を選択し、共通データ線４２１に出力するデータ選択回路４０１とを備えている。
【００８７】
データ選択回路４０１は、書き込み動作時には、被比較データＷＢＬ，ＮＷＢＬを選択する。すなわち、書き込み動作時には、共通データ線４２１に共通データＢＬ，ＮＢＬとして被比較データＷＢＬ，ＮＷＢＬが供給され、書込み制御信号ＷＣＴの制御を受けて、被比較データＷＢＬ，ＮＷＢＬが記憶回路１０２に書き込まれる。
【００８８】
データ選択回路４０１は、比較動作時（マスク動作時及び判定動作時）には、比較データＳＢＬ，ＮＳＢＬを選択する。すなわち、比較動作時には、共通データ線４２１に共通データＢＬ，ＮＢＬとして比較データＳＢＬ，ＮＳＢＬが供給され、マスク制御信号ＭＳＫに応じて、判定動作或いはマスク動作が実行される。
【００８９】
なお、データ選択回路４０１が被比較データＷＢＬ，ＮＷＢＬを選択した後の書き込み動作及びデータ選択回路４０１が比較データＳＢＬ，ＮＳＢＬを選択した後の比較動作については、図３及び図６と同様であり、その詳細な説明を省略する。
【００９０】
以上のように、本態様によると、図３及び図６の回路からさらにデータ線の本数を削減することができる。これにより、本態様に係る半導体集積回路は、一層の小面積化が可能となる。
【００９１】
図１〜図７では、書込み回路１０６は、書き込み動作において記憶回路１０２への書き込みを行う書込み部１０４と、マスク動作において記憶回路１０２への上書きを行う上書き部１０５を備えるものとしたが、例えば、以下の「半導体集積回路の他の例４」に示すように、書込み部１０４と上書き部１０５とを共通化してもよい。
【００９２】
（半導体集積回路の他の例４）
図８は本実施形態に係る半導体集積回路の他の例を示す回路図である。図７に記載された半導体集積回路と比較すると、トランジスタＮＵ１，ＮＵ２とトランジスタＮＷ１，ＮＷ２とが共通化されている点で異なる。共通化されたトランジスタはＮＷＵ１，ＮＷＵ２と称する。ここで、トランジスタＮＷＵ１，ＮＷＵ２はＮＭＯＳトランジスタである。
【００９３】
さらに、本実施形態に係る半導体集積回路では、ＯＲゲート５０１によって書込み制御信号ＷＣＴとマスク制御信号ＭＳＫとの論理和をとっており、マスク制御信号ＭＳＫに代えてＯＲゲート５０１の出力信号である共通書込み制御信号ＷＣＴＣを書込み補助回路３０１のトランジスタＰＨ１のゲートに与えている。また、共通書込み制御信号ＷＣＴＣを書込み回路１０６のトランジスタＮＷＵ１，ＮＷＵ２のゲートに与えている。
【００９４】
このような構成とすることにより、書込み制御信号ＷＣＴ及びマスク制御信号ＭＳＫのうちのいずれか一方が“ＨＩＧＨ”になると、共通書込み制御信号ＷＣＴＣが“ＨＩＧＨ”になる。そして、そのときの共通データＢＬ，ＮＢＬが記憶回路１０２に書き込まれる。書込み制御信号ＷＣＴ及びマスク制御信号ＭＳＫはそれぞれ書き込み動作時及びマスク動作時に“ＨＩＧＨ”になる信号である。したがって、図８のような回路を用いることによって、図５と同様に書き込み動作時及びマスク動作時の書き込み（上書き）が容易になる。
【００９５】
以上のように、本態様によると、書込み部１０４と上書き部１０５とを共通化して書込み回路１０６とすることができるため、比較機能付き記憶素子１０１及びこれを備えた半導体集積回路の小面積化が可能となる。
【００９６】
なお、図８では、図７と比較してＯＲゲート５０１が増加しているが、一般的には１つの共通化されたマスク制御信号ＭＳＫで複数の比較機能付き記憶素子１０１を制御しており、総合的に見て面積削減が可能である。なお、以下の実施の形態２では、１つの共通化されたマスク制御信号ＭＳＫで２つの比較機能付き記憶素子１０１を制御する例を示している。
【００９７】
＜実施の形態２＞
図９は本実施形態に係る連想メモリの回路図である。図９に示すように、連想メモリ６００は、マスク対象となる２つの比較機能付き記憶素子１０１を有している。具体的には、図８に示した比較機能付き記憶素子１０１、データ選択回路４０１、被比較データ回路４０２及び比較データ回路４０３が２つ並列に接続されている。そして、それぞれの比較機能付き記憶素子１０１は、共通の書込み補助回路３０１及び共通のＯＲゲート５０１からの出力信号を受けている。
【００９８】
連想メモリ６００は、さらに、一対のマスク情報データＭＢＬ，ＮＭＢＬを記憶するマスク情報記憶素子６０２と、マスク制御の対象とならない比較機能付き記憶素子６０１とを備えている。マスク情報データＭＢＬ，ＮＭＢＬは、例えば、複数の比較機能付き記憶素子のうち、論理和をとる対象から除外する比較機能付き記憶素子、すなわちマスクの対象とする比較機能付き記憶素子を示すデータである。
【００９９】
共通書込み制御信号ＷＣＴＣを供給するＯＲゲート５０１の一方の端子には、マスク情報記憶素子６０２の出力信号が、マスク制御信号ＭＳＫとして与えられる。また、ＯＲゲート５０１の他方の端子には、書込み制御信号ＷＣＴが与えられる。マスク制御の対象とならない比較機能付き記憶素子６０１は、マスク対象となる比較機能付き記憶素子１０１と同様の構成であり、比較機能付き記憶素子１０１と比較すると、書込み回路１０６のトランジスタＮＷＵ１，ＮＷＵ２のゲートに書込み制御信号ＷＣＴが与えられる点、及び記憶回路１０２のトランジスタＰＬ１，ＰＬ２のソースが電源に接続されている点で異なる。
【０１００】
このような構成とすることにより、例えば、マスク情報記憶素子６０２の出力信号が“ＨＩＧＨ”のとき、マスク制御の対象とならない比較機能付き記憶素子６０１の比較結果は共通検出線１１３に反映される一方、２つの比較機能付き記憶素子１０１の比較結果はマスクされる。一方で、マスク情報記憶素子６０２の出力信号が“ＬＯＷ”のとき、マスク制御の対象とならない比較機能付き記憶素子６０１の比較結果及び２つの比較機能付き記憶素子１０１の比較結果が共通検出線１１３に反映される。
【０１０１】
一般的に仮想記憶システムにおいては、論理アドレスを物理アドレスに変換する機構が必要であり、変換の高速化を図るためのハードウェアの機構としてＴＬＢが用いられる。ＴＬＢには各ページの論理的なアドレスと、物理メモリ上の実アドレスとを紐付けした複数のデータが記憶されている。以下、論理アドレスを記憶した記憶装置を論理アドレスアレイと称し、物理アドレスを記憶した記憶装置を物理アドレスアレイと称する。
【０１０２】
論理アドレスを物理アドレスに変換する際は、検索対象となる論理アドレスを論理アドレスアレイに入力して、記憶している全ての論理アドレスと、検索対象となる論理アドレスとの一致比較判定を行う。一致比較判定の結果、一致している論理アドレスが存在すると、その論理アドレスに紐付けされた物理アドレスがＴＬＢから読み出されることによってアドレス変換が実現する。このため、論理アドレスアレイのメモリセルは、１ビット比較器を内蔵したＣＡＭセルという特殊なメモリセルが一般的に用いられ、ＣＡＭセルの出力はワイヤードＯＲで構成される共通検出線で論理和をとられて多ビットの比較が行われる（特許文献１参照）。
【０１０３】
また、仮想記憶システムにおいては、メモリ空間はページと呼ばれる単位で管理され、各ページサイズは最小ページサイズの倍数が用いられる。そのため、論理アドレス、物理アドレスはページのサイズによって有効なビットが変わる。これに対応するため、ＴＬＢでは、論理アドレスアレイに記憶された複数の論理アドレスごとにページサイズの情報を記憶したページサイズメモリを設ける技術が知られている（特許文献１参照）。アドレス変換の際は、ライン毎に持つページサイズメモリの情報に応じて特定のビットの比較結果が全体の比較からマスクされる。
【０１０４】
仮想記憶システムにおけるアドレス変換バッファのＴＬＢでは、図９に示したマスク情報記憶素子６０２がページサイズを記憶したページサイズ用メモリとして用いられる。また、比較機能付き記憶素子１０１，６０１は、論理アドレスを記憶し、記憶した論理アドレスと検索のために入力された論理アドレスとの比較をする機能を有したＣＡＭセルとして用いられる。各ＣＡＭセルの出力信号は、それぞれ、トランジスタＮＤ３を介して共通検出線１１３に接続されている。そして、図示はしないが、例えば共通検出線１１３のワイヤードＯＲをとって、複数のＣＡＭセルに記憶された多ビットの被比較データとしての論理アドレスと、この複数のＣＡＭセルに検索のために入力された多ビットの比較データとしての論理アドレスとの一致比較判定を行う。
【０１０５】
ＴＬＢにおいては、図９の構成の回路を複数設けており、複数ビットからなる論理アドレスを複数エントリー分記憶している。そして、入力された検索用の論理アドレスと上記複数エントリーで記憶されている論理アドレスとを同時に比較する。
【０１０６】
このように、ＴＬＢにおいて、図９に示した構成を適用することにより、上述の実施の形態１において示したような比較機能付き記憶素子１０１及びこれを用いた半導体集積回路と同様に、アドレス変換バッファ及び仮想記憶システムにおけるアドレス変換の高速化と低消費電力化、小面積化が実現できる。また、図９に示すように、図８に示した比較機能付き記憶素子１０１は、マスク制御を行わない比較機能付き記憶素子６０１と同様の構造にすることができるため、開発工数が削減できる。さらに、複数の比較機能付き記憶素子１０１，６０１からなるアレイにおいては、同様の構造の記憶素子が並ぶ連続的なレイアウトパタンによって回路を実現することができるため、歩留まりを向上させることができる。
【０１０７】
なお、図９において、連想メモリ６００は、マスク対象となる２つの比較機能付き記憶素子１０１と、１つのマスク制御の対象とならない比較機能付き記憶素子６０１とを有するものとして説明したが、それぞれの比較機能付き記憶素子１０１，６０１の数はこれに限定されない。例えば、複数のマスク制御の対象とならない比較機能付き記憶素子６０１を備えていてもよいし、例えば、比較機能付き記憶素子１０１，６０１の数がそれぞれ３つ以上でもよい。
【０１０８】
また、１つの共通検出線１１３に接続される比較機能付き記憶素子１０１は同一の共通書込み制御信号ＷＣＴＣの制御を受けるものとしたが、単一の又は複数の比較機能付き記憶素子１０１毎に異なる共通書込み制御信号の制御を受けてもよい。これにより、複数の比較機能付き記憶素子１０１のうち、論理和をとる対象の素子と論理和をとる対象から除外する素子とを制御することが可能となる。
【０１０９】
＜実施の形態３＞
図１０は本実施形態に係る多ビットの比較器の回路図である。図１０に示すように、多ビット比較器７００は、２つのマスク制御対象の１ビット比較器７０１と、マスク制御非対象の１ビット比較器７２１とを備えている。
【０１１０】
マスク制御対象の１ビット比較器７０１は、マスク制御信号ＭＳＫの制御を受けて、被比較データＷＢＬ、ＮＷＢＬと比較データＳＢＬ，ＮＳＢＬとのうちのいずれか一方を選択し、選択データとして出力する選択回路７０２と、比較データＳＢＬ，ＮＳＢＬと選択回路７０２から受けた選択データとの一致或いは不一致の判定を行う比較回路７０３と、共通検出線７１３とグランド電源との間に接続され、比較回路７０３の比較結果である比較回路出力信号ＣＮＤをゲートに受けるトランジスタＮＤ１１とを備えている。
【０１１１】
選択回路７０２は、比較データＳＢＬ，ＮＳＢＬが供給される一対の比較データ線７１７のうちの、一方の比較データ線７１７と内部比較データ線７１１との間に接続されたトランジスタＮＳ１１と、他方の比較データ線７１７と内部比較データ線７１２との間に接続されたトランジスタＮＳ１２と、一対の被比較データ線７１５のうちの一方の被比較データ線７１５と内部比較データ線７１１との間に接続されたトランジスタＮＳ１３と、他方の被比較データ線７１５と内部比較データ線７１２との間に接続されたトランジスタＮＳ１４とを備えている。トランジスタＮＳ１１，ＮＳ１２のゲートには、マスク制御信号ＭＳＫが接続されている。トランジスタＮＳ１３，ＮＳ１４のゲートには、マスク制御信号ＭＳＫがインバータ７４０を介して接続されている。そして、選択回路７０２の選択データは、内部比較データ線７１１，７１２を介して出力される。
【０１１２】
比較回路７０３は、一対の比較データ線７１７間に直列に接続されたトランジスタＮＥ１１，ＮＥ１２と、トランジスタＮＥ１１，ＮＥ１２と並列に接続されたトランジスタＰＥ１１，ＰＥ１２とを備えている。トランジスタＮＥ１１，ＰＥ１２のゲートには内部比較データ線７１１が接続され、トランジスタＮＥ１２，ＰＥ１１のゲートには内部比較データ線７１２が接続されている。また、トランジスタＮＥ１１とトランジスタＮＥ１２との間のノード及びトランジスタＰＥ１１とトランジスタＰＥ１２との間のノードは、トランジスタＮＤ１１のゲートに接続されている。
【０１１３】
マスク制御非対象の１ビット比較器７２１は、被比較データＷＢＬ，ＮＷＢＬと比較データＳＢＬ，ＮＳＢＬとの一致或いは不一致の判定を行う比較回路７０３と、共通検出線７１３とグランド電源との間に接続され、比較回路７０３の比較結果である比較回路出力信号ＣＮＤをゲートに受けるトランジスタＮＤ１１とを備えている。
【０１１４】
ここで、トランジスタＮＳ１１，ＮＳ１２，ＮＳ１３，ＮＳ１４，ＮＥ１１，ＮＥ１２，ＮＤ１１は、ＮＭＯＳトランジスタであり、トランジスタＰＥ１１，ＰＥ１２は、ＰＭＯＳトランジスタである。
【０１１５】
［比較動作］
マスク制御対象の１ビット比較器７０１は、比較動作として、被比較データＷＢＬ，ＮＷＢＬと比較データＳＢＬ，ＮＳＢＬとの一致或いは不一致の判定を行う判定動作と、比較結果をマスクするマスク動作とを有する。
【０１１６】
［判定動作］
１ビット比較器７０１の判定動作について説明する。
【０１１７】
マスク制御信号ＭＳＫが“ＬＯＷ”のとき、選択回路７０２のトランジスタＮＳ１３，ＮＳ１４が“ＯＮ”する一方、トランジスタＮＳ１１，ＮＳ１２が“ＯＦＦ”している。したがって、内部比較データ線７１１，７１２からは、被比較データＷＢＬ，ＮＷＢＬが出力される。これにより、比較回路７０３では、被比較データＷＢＬ，ＮＷＢＬと比較データＳＢＬ，ＮＳＢＬとが比較され、比較結果に応じてトランジスタＮＤ１１が“ＯＮ”または“ＯＦＦ”する。これにより、１ビット比較器７０１は、被比較データＷＢＬ，ＮＷＢＬと比較データＳＢＬ，ＮＳＢＬとの一致或いは不一致の判定結果を出力する。
【０１１８】
［マスク動作］
１ビット比較器７０１のマスク動作について説明する。
【０１１９】
マスク制御信号ＭＳＫが“ＨＩＧＨ”のとき、選択回路７０２のトランジスタＮＳ１１，ＮＳ１２が“ＯＮ”する一方、トランジスタＮＳ１３，ＮＳ１４が“ＯＦＦ”している。したがって、内部比較データ線７１１，７１２には比較データＳＢＬ，ＮＳＢＬが出力される。これにより、比較回路７０３には、内部比較データ線７１１，７１２及び一対の比較データ線７１７から、比較対象のデータとして比較データＳＢＬ，ＮＳＢＬが入力される。したがって、比較回路７０３では同じデータ同士が比較されることになる。これにより、マスク動作における比較回路７０３では、被比較データＷＢＬ，ＮＷＢＬ及び比較データＳＢＬ，ＮＳＢＬの値にかかわらず「一致判定」がなされる。したがって、比較回路出力信号ＣＮＤは“ＬＯＷ”であり、トランジスタＮＤ１１は“ＯＦＦ”のままである。すなわち、マスク動作における比較結果はマスクされる。
【０１２０】
なお、マスク制御非対象の１ビット比較器７２１では、比較回路７０３に対して、比較対象のデータとして比較データＳＢＬ，ＮＳＢＬ及び被比較データＷＢＬ，ＮＷＢＬが入力される。したがって、１ビット比較器７２１は、被比較データＷＢＬ，ＮＷＢＬと比較データＳＢＬ，ＮＳＢＬとの一致或いは不一致の判定結果を出力する。
【０１２１】
以上のように、本実施形態によると、１ビット比較器７０１と共通検出線７１３との間にマスクの有無を制御するトランジスタ（制御用のスイッチ）を設けることなく、マスク動作を実現することができる。これにより、１ビット比較器及び多ビット比較器について、高速化、低消費電力化、小面積化が実現できる。なお、共通検出線７１３に接続されたビット数が増加するほど、共通検出線７１３の負荷が大きくなるため、より顕著に高速化、低消費電力化、小面積化の効果が高まる。  
【産業上の利用可能性】
【０１２２】
本開示では、比較器並びに比較器を内蔵した記憶素子及び連想メモリ等を備えたデバイスにおいて、比較動作の高速化、小面積化、低消費電力化を実現することが可能となる。
【０１２３】
特に比較回路が多数内蔵された大規模な連想メモリで有効な技術である。
【符号の説明】
【０１２４】
１０１  比較機能付き記憶素子
１０２  記憶回路
１０３  比較回路
１０４  書込み部
１０５  上書き部
１０６  書込み回路
１１３  共通検出線
３０１  書込み補助回路
４１１  共通比較データ線（共通データ線）
４２１  共通データ線
６００  連想メモリ
６０２  マスク情報記憶素子
７００  多ビットの比較器
７０１  １ビット比較器
７０２  選択回路
７０３  比較回路
ＮＤ３  トランジスタ（スイッチ）
ＷＣＴ  書込み制御信号
ＷＣＴＣ  共通書込み制御信号
ＭＳＫ  マスク制御信号
ＷＢＬ，ＮＷＢＬ  被比較データ
ＳＢＬ，ＮＳＢＬ  比較データ
ＳＢＬＵ，ＮＳＢＬＵ  上書き用比較データ（比較データ）
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
記憶された被比較データと比較データとを比較する比較機能付き記憶素子であって、
前記被比較データを記憶する記憶回路と、
書き込み動作において、書込み制御信号の制御を受けて前記記憶回路に前記被比較データを書き込む書込み回路と、
前記記憶回路が保持する前記被比較データと、前記比較データとを比較して、その比較結果を出力する比較回路とを備えており、
前記書込み回路は、前記比較回路によって比較動作を行う際に、マスク制御信号がマスク動作を示すとき、前記記憶回路に前記比較データを上書きする一方、前記マスク制御信号が非マスク動作を示すとき、前記記憶回路への前記比較データの上書きを行わない
ことを特徴とする比較機能付き記憶素子。
【請求項２】
請求項１記載の比較機能付き記憶素子において、
前記書込み回路は、前記書き込み動作において前記被比較データを供給し、かつ前記比較動作において前記比較データを供給する共通データ線と前記記憶回路との間に接続されており、前記書込み制御信号及び前記マスク制御信号の論理和信号である共通書込み制御信号の制御を受けて、前記記憶回路に対して、前記書き込み動作における前記被比較データの書き込み、及び前記比較動作における前記比較データの上書きを行う
ことを特徴とする比較機能付き記憶素子。
【請求項３】
請求項１記載の比較機能付き記憶素子において、
前記書込み回路は、
前記書込み制御信号の制御を受けて、前記書き込み動作における前記被比較データの書き込みを行う書込み部と、
前記マスク制御信号の制御を受けて、前記比較動作における前記比較データの上書きを行う上書き部とを備えている
ことを特徴とする比較機能付き記憶素子。
【請求項４】
請求項３記載の比較機能付き記憶素子において、
前記書込み回路の書込み部が受ける被比較データ、前記書込み回路の上書き部が受ける比較データ、及び前記比較回路が受ける比較データのうちの少なくともいずれか２つのデータは、共通データ線から供給される
ことを特徴とする比較機能付き記憶素子。
【請求項５】
請求項４記載の比較機能付き記憶素子において、
前記共通データ線は、前記上書き部及び前記比較回路に接続されており、前記比較データを供給する
ことを特徴とする比較機能付き記憶素子。
【請求項６】
請求項４記載の比較機能付き記憶素子において、
前記共通データ線は、前記書込み部、前記上書き部及び前記比較回路に接続されており、前記比較データ及び前記被比較データを供給する
ことを特徴とする比較機能付き記憶素子。
【請求項７】
請求項１記載の比較機能付き記憶素子において、
前記記憶回路に接続された書込み補助回路を備えており、
前記書込み補助回路は、前記比較動作において、前記マスク制御信号の制御を受けて、前記書込み回路から前記記憶回路への前記比較データの上書きを補助する
ことを特徴とする比較機能付き記憶素子。
【請求項８】
請求項７記載の比較機能付き記憶素子において、
前記書込み補助回路は、前記書き込み動作において、前記書込み制御信号の制御を受けて、前記書込み回路から前記記憶回路への前記被比較データの書き込みを補助する
ことを特徴とする比較機能付き記憶素子。
【請求項９】
請求項７記載の比較機能付き記憶素子において、
前記書込み補助回路は、電源と前記記憶回路との間に接続されており、
前記記憶回路への前記比較データの上書きの補助として、前記記憶回路への電源供給を遮断する
ことを特徴とする比較機能付き記憶素子。
【請求項１０】
請求項８記載の比較機能付き記憶素子において、
前記書込み補助回路は、電源と前記記憶回路との間に接続されており、
前記記憶回路への前記比較データの上書き及び前記被比較データの書き込みのうちの少なくともいずれか一方の補助として、前記記憶回路への電源供給を遮断する
ことを特徴とする比較機能付き記憶素子。
【請求項１１】
請求項１に記載された比較機能付き記憶素子を複数個、備えており、
前記複数の比較機能付き記憶素子において、複数の前記記憶回路に多ビットの被比較データが記憶され、かつ複数の前記比較回路に前記多ビットの被比較データと対応する多ビットの比較データが与えられており、
前記複数の比較機能付き記憶素子の比較回路から出力された比較結果の論理和をとり、当該論理和に基づいて、前記多ビットの被比較データと前記多ビットの比較データとの一致比較判定を行う
ことを特徴とする多ビットの連想メモリ。
【請求項１２】
請求項１１記載の多ビットの連想メモリにおいて、
前記各比較機能付き記憶素子は、それぞれ、共通検出線とグランド電源との間に接続されたスイッチを備えており、
前記スイッチは、当該比較機能付き記憶素子の比較回路から出力された比較結果に基づいてオンオフ制御される
ことを特徴とする多ビットの連想メモリ。
【請求項１３】
請求項１１記載の多ビットの連想メモリにおいて、
前記複数の比較機能付き記憶素子のうち、前記論理和をとる対象から除外する比較機能付き記憶素子を示すマスク情報を記憶するマスク情報記憶素子を備え、
前記マスク情報記憶素子の出力信号が、前記マスク制御信号として用いられる
ことを特徴とする多ビットの連想メモリ。
【請求項１４】
請求項１１に記載の多ビットの連想メモリを用いたアドレス変換バッファであって、
前記多ビットの被比較データは、仮想アドレス空間における論理アドレスであり、
前記多ビットの比較データは、検索対象の論理アドレスであり、
前記マスク制御信号は、仮想メモリ空間のページサイズ情報を記憶したページサイズ記憶用メモリセルの出力信号である
ことを特徴とするアドレス変換バッファ。
【請求項１５】
被比較データと比較データとを比較する１ビット比較器であって、
マスク制御信号の制御を受けて、前記被比較データと前記比較データとのうちのいずれか一方を選択して出力する選択回路と、
前記選択回路の出力信号と前記比較データとを比較して、その比較結果を出力する比較回路とを備えており、
前記選択回路は、前記マスク制御信号がマスク動作を示すとき、前記比較データを選択して出力する一方、前記マスク制御信号が非マスク動作を示すとき、前記被比較データを選択して出力する
ことを特徴とする１ビット比較器。
【請求項１６】
請求項１５に記載された１ビット比較器を複数個、備えており、
前記複数の１ビット比較器において、複数の前記選択回路に多ビットの被比較データが与えられ、かつ複数の前記比較回路に前記多ビットの被比較データと対応する多ビットの比較データが与えられており、
前記複数の１ビット比較器の比較回路から出力された比較結果の論理和をとり、当該論理和に基づいて、前記多ビットの被比較データと前記多ビットの比較データとの一致比較判定を行う
ことを特徴とする多ビット比較器。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2014112396.tif 000013
【国際調査報告】
2014112396.tif 000014
2014112396.tif 000015
2014112396.tif 000016
2014112396.tif 000017