(57)【要約】【課題】キャッシュメモリに記憶されているタグ情報と、ＣＰＵから出力される参照タグ情報との比較処理を行う比較器において、当該比較処理の速い比較器を提供することを目的とする。【解決手段】ＴＡＧ−ＲＡＭが記憶しているタグ情報ＴＭを出力をセンスアンプＳＡの活性状態を制御する、センスイネーブル信号ＳＥを利用して、当該タグ情報ＴＭとＣＰＵから出力される参照タグ情報ＴＣとの比較処理を行う、比較器２０１の活性化状態を制御する。【選択図】        図１
2004206242.tif 000002
【特許請求の範囲】
【請求項１】
多ビットの第一のデータを記憶している記憶装置と、前記第一のデータと多ビットの第二のデータとの比較を行う比較器とを有する半導体回路において、
前記記憶装置からの前記第一のデータの出力を制御する第一の制御信号に基づいて、前記比較器の活性状態が制御されている、
ことを特徴とする半導体回路。
【請求項２】
前記記憶装置は、
第一の活性化信号を出力するセンスアンプを、備えており、
前記センスアンプの活性状態は、前記第一の制御信号により制御されており、
前記比較器は、前記センスアンプから出力される前記第一の活性化信号に基づいて制御されている、
ことを特徴とする請求項１に記載の半導体回路。
【請求項３】
前記比較器は、
前記第一のデータと前記第二のデータとの対応するビット同士の排他論理和演算処理を行う、複数の排他論理和回路と、
前記各排他論理和回路から出力されるそれぞれの排他論理和信号の論理積の演算処理を行う論理積回路とを、
備えていることを特徴とする請求項２に記載の半導体回路。
【請求項４】
前記排他論理和回路は、前記第一の活性化信号により活性状態／非活性状態が制御されている、
ことを特徴とする請求項３に記載の半導体回路。
【請求項５】
前記論理積回路は、活性状態のときには、前記各排他論理和回路から出力されるそれぞれの排他論理和信号の論理積の演算処理を行い、非活性状態のときにはプリチャージが実行されるダイナミック回路であり、
前記論理積回路の活性状態／非活性状態は、クロック信号に基づいて制御されている、
ことを特徴とする請求項４に記載の半導体回路。
【請求項６】
前記排他論理和回路における演算処理時間と同等またはそれ以上の時間遅延を前記第一の活性化信号に対して生じさせることにより、当該第一の活性化信号を第二の活性化信号に変換させる遅延回路を、さらに備えており、
前記論理積回路は、活性状態のときには、前記各排他論理和回路から出力されるそれぞれの排他論理和信号の論理積の演算処理を行い、非活性状態のときにはプリチャージが実行されるダイナミック回路であって、前記第二の活性化信号に基づいて、活性状態／非活性状態が制御されている、
ことを特徴とする請求項３または請求項４に記載の半導体回路。
【請求項７】
前記論理積回路は、
並列に接続されており、演算処理を行う複数のトランジスタ群と、
前記トランジスタ群の一方端と固定電源とを接続している第一の導電形式のトランジスタと、
前記トランジスタ群の他方端と接地とを接続している第二の導電形式のトランジスタとを、
備えており、
前記第二の活性化信号により、前記第一の導電形式のトランジスタおよび前記第二の導電形式のトランジスタのどちらか一方のみがオン状態となるように制御されている、
ことを特徴とする請求項６に記載の半導体回路。
【請求項８】
前記比較器は、前記第一のデータを前記記憶装置に書き込むときには比較処理を行わず、前記第一のデータを前記記憶装置から読み出すときに比較処理を行う、
ことを特徴とする請求項１に記載の半導体回路。
【請求項９】
前記記憶装置は、前記第一の制御信号の出力を制御する論理ゲートをさらに備えており、
前記論理ゲートは、第二の制御信号により制御されている、
ことを特徴とする請求項８に記載の半導体回路。
【請求項１０】
前記論理積回路からの出力信号は、前記排他論理和回路から出力される所望の出力信号が確定するまで、所定の初期化状態となる、
ことを特徴とする請求項６に記載の半導体回路。
【請求項１１】
前記論理積回路は、
当該論理積回路の出力側に一端が接続されており、他端が固定電位に接続されている初期化用トランジスタを、備えており、
前記初期化用トランジスタは、前記排他論理和回路から出力される所望の出力信号が確定するまで、導通状態となるように前記第二の活性化信号に基づいて制御されている、
ことを特徴とする請求項１０に記載の半導体回路。
【請求項１２】
クロック信号に同期してパルス信号を発生させるパルス発生器と、
Ｒｅｓｅｔ入力部に前記パルス信号が入力され、Ｓｅｔ入力部に前記第二の活性化信号が入力され、当該パルス信号と当該第二の活性化信号とから生成される第三の活性化信号を出力部から出力するラッチ回路とを、さらに備えており、
前記第三の活性化信号により前記初期化用トランジスは制御されている、
ことを特徴とする請求項１１に記載の半導体回路。
【請求項１３】
前記論理積回路の活性状態／非活性状態は、前記第三の活性化信号により制御されている、
ことを特徴とする請求項１２に記載の半導体回路。
【請求項１４】
前記比較器は、
前記第一のデータと前記第二のデータとの対応するビット同士の排他論理和演算処理を行う、複数の排他論理和回路と、
活性化状態のときには、前記各排他論理和回路から出力されるそれぞれの排他論理和信号の論理積の演算処理を行い、非活性状態のときにはプリチャージが実行されるダイナミック回路である論理積回路とを、
備えており、
前記論理積回路の活性状態／非活性状態は、前記第一の制御信号により制御されている、
ことを特徴とする請求項１に記載の半導体回路。
【請求項１５】
前記論理積回路は、論理積演算を行う複数のトランジスタ群を備えており、
前記排他論理和回路は、前記第一のデータが入力されるまで、前記論理積回路の前記複数のトランジスタ群を動作させない信号を出力する回路である、
ことを特徴とする請求項１４に記載の半導体回路。
【請求項１６】
前記排他論理和回路には、前記第一のデータと当該第一のデータと相補的な関係にある第三のデータとが入力される、
ことを特徴とする請求項１４に記載の半導体回路。
【請求項１７】
前記第一のデータと前記第三のデータの出力は、前記第一の制御信号により制御されている、
ことを特徴とする請求項１６に記載の半導体回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、２つの多ビットのデータの比較処理を行う比較器を有する半導体回路に係る発明である。
【０００２】
【従来の技術】
従来、キャッシュメモリから必要なデータを読み出すに際し、読み出されたデータが必要なデータであるか否かを判定する比較器として、例えば、複数の排他論理和回路と、論理積回路とによって構成されているものがあった（特許文献１参照）。
【０００３】
【特許文献１】
特開平１−２９６３３８号公報（第１、４図）
【０００４】
【発明が解決しようとする課題】
しかし、上記で挙げた従来技術の比較器では、簡易な回路設計により、最適なタイミングで当該比較器による多ビットのデータの判定処理を行うことができず、判定処理にある程度の時間を要していた。
【０００５】
そこで、この発明は、多ビットのデータの判定処理を行う比較器を有する、当該判定処理の速い半導体回路を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記の目的を達成するために、本発明に係る請求項１に記載の半導体回路は、多ビットの第一のデータを記憶している記憶装置と、前記第一のデータと多ビットの第二のデータとの比較を行う比較器とを有する半導体回路において、前記記憶装置からの前記第一のデータの出力を制御する第一の制御信号に基づいて、前記比較器の活性状態が制御されている。
【０００７】
【発明の実施の形態】
一般的に、メモリの動作速度は、記憶容量が大きくなるほど遅くなる。したがって、大容量となるメインメモリの動作速度は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央演算処理装置）の動作速度に比べて遅くなり、ＣＰＵの命令実行速度を下げる原因となっている。
【０００８】
ところで、期間を限定すればＣＰＵの必要とするデータは、メインメモリの全領域に満遍なく存在するのではなく、一部領域に偏在する傾向がある。よって、ＣＰＵが必要とするデータがメインメモリの一部領域に限定されるのであるなら、ＣＰＵからのアクセス頻度の高いデータのみを記憶容量の小さいメモリに記憶させておき、当該小さい容量のメモリからＣＰＵが必要なデータを供給すればよい。
【０００９】
そこで、上記問題を解決するために、ＣＰＵとメインメモリの間に容量の小さい、高速のメモリ（以下、キャッシュメモリと称す）を配置し、当該キャッシュメモリにＣＰＵがアクセスする頻度の高いデータを記憶させる。これにより、低速なメインメモリによるＣＰＵの命令実行速度の低下問題を解消することができる。
【００１０】
さて、図１が示すように、キャッシュメモリ１は通常、データを記憶する部分（ＤＡＴＡ−ＲＡＭ）と、当該ＤＡＴＡ−ＲＡＭに記憶されているデータを読み出すためのタグ情報が記憶されている部分（ＴＡＧ−ＲＡＭ）とで構成されている。
【００１１】
キャッシュメモリ１にデータを書き込むときには、次のように行われる。
【００１２】
ダイレクトマップ方式では、ＣＰＵの出力するアドレスデータ２のうち、下位ビット（以下、ｉｎｄｅｘと称す）をキャッシュメモリ１のアドレスを指定するために用いる。そして、当該ｉｎｄｅｘで指定されるキャッシュメモリ１のアドレスに該当するＴＡＧ−ＲＡＭには、アドレスデータ２の上位ビットをタグ情報ＴＭとして記憶し、ＤＡＴＡ−ＲＡＭには今書き込むべきデータが書き込まれる。
【００１３】
また、キャッシュメモリ１からデータを読み出すときは、次のように行われる。
【００１４】
まず、ＣＰＵは、今必要とするデータを読み出すためにアドレスデータ２を出力する。
【００１５】
次に、当該アドレスデータ２のｉｎｄｅｘを用いて、キャッシュメモリ１の所定のアドレスにアクセスする。仮に今の場合、ｉｎｄｅｘで指定されるキャッシュメモリ１の所定のアドレスが｛ｋ−１｝だとする。すると次に、アドレス｛ｋ−１｝に該当するＴＡＧ−ＲＡＭに書き込まれているタグ情報ＴＭ｛ｋ−１｝と、ＤＡＴＡ−ＲＡＭに書き込まれているデータ｛ｋ−１｝とを同時に読み出す。
【００１６】
次に、当該読み出されたデータがＣＰＵが必要とするデータであるか否かの判定を行う。
【００１７】
当該判定処理は、比較器２０１を用いて、ＣＰＵが出力したアドレスデータ２の上位ビットである参照タグ情報ＴＣと、キャッシュメモリ１から読み出されたアドレス｛ｋ−１｝に該当するＴＡＧ−ＲＡＭに記憶されていたタグ情報ＴＭ｛ｋ−１｝とを比較することにより行われる。
【００１８】
当該判定の結果、両者が一致すれば所望のデータであることが認識できるので、当該読み出されたデータをＣＰＵは用いることができる。これをキャッシュヒット（以下、ＨＩＴとする）という。これに対して、両者が一致しなければキャッシュメモリ１には所望のデータがないと認識できるので（これをキャッシュミスとよび、以下、ＭＩＳＳとする）、メインメモリから所望のデータを読み出すこととなる。
【００１９】
以下、実施の形態毎に、この発明に係る半導体回路を構成している、比較器２０１やＴＡＧ−ＲＡＭ等の回路構成および動作を図面に基づいて具体的に説明する。
【００２０】
なお、本発明では、タグ情報ＴＭおよび参照タグ情報ＴＣは１６ビットのビット列と仮定する。また、タグ情報ＴＭを構成している各ビットをタグ情報ビットＴＭＢ＜ｉ＞と称し、参照タグ情報ＴＣを構成している各ビットを参照ビットＴＣＢ＜ｉ＞と称する。なお、ｉ＝０〜１５である。
【００２１】
＜実施の形態１＞
本発明の実施の形態１に係る半導体回路の説明を図２〜７に示す図面に基づいて説明する。
【００２２】
図２は、キャッシュメモリの一部であるＴＡＧ−ＲＡＭにおける、入出力信号の様子を示す図である。
【００２３】
図２において、ＣＰＵから出力されるアドレスデータ２の下位ビットであるｉｎｄｅｘが、キャッシュメモリ１でのアドレス指定のために用いられ、入力信号としてＴＡＧ−ＲＡＭに入力される。また、当該ｉｎｄｅｘにより読み出されたタグ情報ビットＴＭＢ＜ｉ＞と活性化信号ＥＮとが出力される。
【００２４】
図３は、比較器２０１を構成する前段の回路であり、タグ情報ビットＴＭＢ＜ｉ＞と参照ビットＴＣＢ＜ｉ＞との排他論理和演算処理を行う排他論理和回路（以下、ＸＯＲ回路と称す）の具体的構成を示す図である。図４は、遅延回路ＤＬＹ２により活性化信号ＥＮが時間遅延を有する活性化信号ＥＮ２に変換される様子を示す回路図である。図５は、比較器２０１を構成する後段の回路であり、複数のＸＯＲ回路からの出力信号の論理積を取る論理積回路の具体的構成を示す図である。
【００２５】
図６は、図２で示したＴＡＧ−ＲＡＭの主要部であるメモリ部ＭＣと活性化信号生成カラムＥＮＣとセンスイネーブル信号生成用のダミーカラムＤＣとを示す図である。図７は、図６に示している活性化信号ＥＮを生成するために用いられるセンスアンプＳＡ２の具体的構成を示す図である。
【００２６】
さらに、図８は、実施の形態１に係る半導体回路の動作を説明するためのタイミングチャートである。
【００２７】
次に各図の回路構成について説明する。
【００２８】
＜回路構成＞
まず、活性化信号ＥＮにより活性状態／非活性状態が制御される、図３に示すＸＯＲ回路の構成について説明する。なお、今タグ情報ＴＭおよび参照タグ情報ＴＣは１６ビットのビット列を想定しているので、当該ＸＯＲ回路は、各ビットに応じた数が（つまり１６個）設けられる。
【００２９】
図３のＸＯＲ回路は、３つの入力部１０，１１，１２と１つの出力部１３とを有している。つまり、活性化信号ＥＮが入力される入力部１０と、参照ビットＴＣＢ＜ｉ＞が入力される入力部１１と、タグ情報ビットＴＭＢ＜ｉ＞が入力される入力部１２と、ＸＯＲ回路での排他論理和演算結果である排他論理和信号ｃｍｐ＜ｉ＞が出力される出力部１３とを有している。
【００３０】
入力部１０は、インバータＧ２０を介して、ＮＯＲゲートＧ２１の一方の入力部と、ＮＯＲゲートＧ２２の一方の入力部とにそれぞれ接続されている。さらに、入力部１０は、インバータＧ２０、Ｇ２６とを介してＰ型トランジスタＰ２０のゲートに接続されている。ここで、Ｐ型トランジスタＰ２０のソースには固定電源が接続されており、当該Ｐ型トランジスタＰ２０のドレインは、インバータＧ２５を介して出力部１３に接続されている。
【００３１】
入力部１１は、ＮＯＲゲートＧ２１の他方の入力部に直接、接続されている一方で、インバータＧ２３を介してＮＯＲゲートＧ２２の他方の入力部へと接続されている。
【００３２】
また、ＮＯＲゲートＧ２１の出力部はインバータＧ２８を介してトランスミッションゲートＴＧ２０のＰ型ゲートに接続される一方で、当該トランスミッションゲートＴＧ２０のＮ型ゲートに直接、接続されている。また、ＮＯＲゲートＧ２２の出力部はインバータＧ２７を介してトランスミッションゲートＴＧ２１のＰ型ゲートに接続される一方で、当該トランスミッションゲートＴＧ２１のＮ型ゲートに直接、接続されている。
【００３３】
入力部１２は、インバータＧ２４を介してトランスミッションゲートＴＧ２０の入力部に接続される一方で、トランスミッションゲートＴＧ２１の入力部に直接、接続されている。また、トランスミッションゲートＴＧ２０の出力部およびトランスミッションゲートＴＧ２１の出力部は、ともにインバータＧ２５を介して出力部１３へと接続されている。
【００３４】
次に、上記図３に示した各ＸＯＲ回路の出力部１３から出力される排他論理和信号ｃｍｐ＜ｉ＞の論理積を取る回路であり、ダイナミック回路である図５の論理積回路の構成について説明する。ここでダイナミック回路とは、活性状態のときに一度入力信号が入力されると、これに対応する出力信号が決定され、その後、当該論理積回路をプリチャージしない限り、別の入力信号が入力されても出力信号は変化しない回路のことである。
【００３５】
図５の論理積回路は、前記排他論理和信号ｃｍｐ＜０：１５＞の数に応じた数のＮ型トランジスタ（今の場合、１６個のＮ型トランジスタである）Ｎ０〜Ｎ１５と、図４で示す遅延回路ＤＬＹ２により活性化信号ＥＮに対して時間遅延を与えられた活性化信号ＥＮ２が入力される入力部１４と、ラッチ回路ＬＡＴ３０と、論理積の演算結果である判定信号（ＨＩＴ  ｏｒ  ＭＩＳＳ）が出力される出力部１５とを有している。
【００３６】
トランスミッションゲートＴＧ２２の入力部に配線Ｄ３０が接続されている。また、当該配線Ｄ３０と接地との間には、論理積演算用として複数（今の場合１６個）のＮ型トランジスタＮ０〜Ｎ１５が並列的に接続されている。ここで、各Ｎ型トランジスタＮ０〜Ｎ１５のソースが接地側に接続されており、ドレインは配線Ｄ３０側に接続されている。また、各Ｎ型トランジスタＮ０〜Ｎ１５のゲートには、図３で示したＸＯＲ回路から出力される排他論理和信号ｃｍｐ＜０：１５＞が各々入力される。
【００３７】
入力部１４は、Ｐ型トランジスタＰ３０のゲートに接続されている。ここで、Ｐ型トランジスタＰ３０のソースは固定電源に接続されており、ドレインは配線Ｄ３０に接続されている。
【００３８】
さらに入力部１４は、トランスミッションゲートＴＧ２２のＮ型ゲートに接続され、他方でインバータＧ３０を介してトランスミッションゲートＴＧ２２のＰ型ゲートに接続されている。
【００３９】
トランスミッションゲートＴＧ２２の出力部は、インバータＧ３１，Ｇ３２を介して出力部１５に接続されている。ここで、前段のインバータＧ３１の入力部と出力部との間には、帰還のインバータＧ３３が並列に接続されている。
【００４０】
上記構成において、トランスミッションゲートＴＧ２２、インバータＧ３０、インバータＧ３１およびインバータＧ３３により、活性化信号ＥＮ２により制御されるラッチ回路ＬＡＴ３０を構成している。
【００４１】
次に、ＴＡＧ−ＲＡＭの主要部であるメモリ部ＭＣと活性化信号生成用のカラムＥＮＣとセンスイネーブル信号ＳＥ（第一の制御信号として把握できる。）を生成するダミーカラムＤＣとから構成される、図６のＴＡＧ−ＲＡＭ回路の具体的構成について説明する。
【００４２】
ここで、通常ＴＡＧ−ＲＡＭは次の新たなタグ情報ビットＴＭＢ＜ｉ＞が読み出されるまで、以前のタグ情報ビットＴＭＢ＜ｉ＞を保持するため、図２で示したＸＯＲ回路は、今判定したいタグ情報ビットＴＭＢ＜ｉ＞が読み出された後に演算動作を開始する必要がある。そうしないと、以前のタグ情報ビットＴＭＢ＜ｉ＞に基づいた演算結果がＸＯＲ回路から出力されてしまい、後段に位置するダイナミック回路である論理積回路が誤った判定信号を出力するからである。
【００４３】
また、ＸＯＲ回路の動作速度を考慮すると、ＸＯＲ回路の演算動作の時期を制御する活性化信号ＥＮは、タグ情報ビットＴＭＢ＜ｉ＞と同時に供給されることが望ましい。
【００４４】
したがって、図６で示した回路は、活性化信号ＥＮをＴＡＧ−ＲＡＭに記憶されているタグ情報ビットＴＭＢ＜ｉ＞の読み出しとほぼ同時期に生成されるように、活性化信号ＥＮの読み出し経路がタグ情報ビットＴＭＢ＜ｉ＞の読み出し経路を再現するように構成されている。
【００４５】
図６において、まずメモリ部ＭＣの構成について説明する。
【００４６】
複数のメモリセルＭが（ｍ×ｎ）のマトリックス状に配置されている。各メモリセルＭの両サイドには、各列で共通のビット線ｂｉｔ＜ｉ＞とｂｉｔｃ＜ｉ＞とが接続されている。また、各メモリセルＭには、各行で共通のワード線ｗｏｒｄ＜ｉ＞が接続されている。つまり、各ワード線ｗｏｒｄ＜ｉ＞にはｍ個、各ビット線ｂｉｔ＜ｉ＞，ｂｉｔｃ＜ｉ＞にはｎ個のメモリセルＭが接続されている。
【００４７】
ここで、はじめの行列要素ａｉｊ（ｉ＝０，１，・・・，ｍ−１、ｊ＝０，１，・・・，ｎ−１）に対応する各メモリセルＭには、キャッシュメモリ１の各アドレス｛０：ｋ（＝１６ｍ×ｎ）｝に対応するタグ情報ビットＴＭＢ＜０＞がそれぞれ記憶されており、次の行列要素ｂｉｋ（ｉ＝ｍ，ｍ＋１，・・・，２ｍ−１、ｋ＝０，１，・・・，ｎ−１）に対応する各メモリセルＭには、キャッシュメモリ１の各アドレス｛０：ｋ（＝１６ｍ×ｎ）｝に対応するタグ情報ビットＴＭＢ＜１＞がそれぞれ記憶されている。そして、最終的に、行列要素ｃｉｌ（ｉ＝１５ｍ，１５ｍ＋１，・・・，１６ｍ−１、ｌ＝０，１，・・・，ｎ−１）に対応するの各メモリセルＭには、キャッシュメモリ１の各アドレス｛０：ｋ（＝１６ｍ×ｎ）｝に対応するタグ情報ビットＴＭＢ＜１５＞がそれぞれ記憶されている。
【００４８】
図６では簡略化して、キャッシュメモリ１の各アドレス｛０：ｋ｝に対応するタグ情報ビットＴＭＢ＜０＞を記憶している各メモリセルＭのみを図示している。以下、タグ情報ビットＴＭＢ＜０＞を記憶しているメモリセルＭを含む回路部分について説明するが、他のタグ情報ビットＴＭＢ＜１：１５＞を記憶しているメモリセルＭを含む回路部分についても同じ構成を備えている。
【００４９】
さて、各ビット線ｂｉｔ＜０：ｍ−１＞の一方端は、Ｐ型トランジスタＰ４０を介して固定電源に接続されており、他方端は、Ｐ型トランジスタＰ４１を介してデータ線ＤＡＴＡに接続されている。また、各ビット線ｂｉｔｃ＜０：ｍ−１＞の一方端は、Ｐ型トランジスタＰ４２を介して固定電源に接続されており、他方端は、Ｐ型トランジスタＰ４３を介してデータ線ＤＡＴＡＣに接続されている。
【００５０】
また、一のメモリセルＭに接続されているビット線ｂｉｔ＜ｉ＞とｂｉｔｃ＜ｉ＞とを架橋するようにＰ型トランジスタＰ４４が接続されており、各Ｐ型トランジスタＰ４０，Ｐ４２，Ｐ４４のゲートには、共通でクロック信号ＣＬＫが入力される構成となっている。
【００５１】
また、カラムアドレス信号Ｙ＜０：ｍ−１＞を送信する複数（今の場合、ｍ本）の配線が配設されており、当該各配線は、対応する列に対して、それぞれインバータＧ４１を介してＰ型トランジスタＰ４１，Ｐ４３のゲートに接続されている。
【００５２】
また、データ線ＤＡＴＡはセンスアンプＳＡの一方の入力部に接続されており、他方の入力部にはデータ線ＤＡＴＡＣが接続されている。また、センスアンプＳＡの出力部は、比較器２０１を構成する図３で示したＸＯＲ回路の入力部１２に接続される。
【００５３】
ここで、図６では省略しているが、通常センスアンプＳＡの出力側には、タグ情報ビットＴＭＢ＜ｉ＞を保持するためのラッチ回路およびデータ駆動用のドライバが接続される。当該ラッチ回路により、一度タグ情報ビットＴＭＢ＜ｉ＞が読み出されると、次のタグ情報ビットＴＭＢ＜ｉ＞が読み出されるまで、以前のタグ情報ビットＴＭＢ＜ｉ＞が保持・出力され続ける。
【００５４】
次に、活性化信号生成用であるカラムＥＮＣの構成について説明する。
【００５５】
ワード線ｗｏｒｄ＜０：ｎ−１＞の数に対応した数（今の場合、ｎ個）のメモリセルＭＨが一列に配列されており、一のメモリセルＭＨには一のワード線ｗｏｒｄ＜ｉ＞と、ビット線ｂｉｔｅｎ、ｂｉｔｅｎｃとが接続されている。
【００５６】
ここで、各メモリセルＭＨからのデータが読み出されるときには、必ずビット線ｂｉｔｅｎが「Ｈ」レベルに、ビット線ｂｉｔｅｎｃが「Ｌ」レベルになるように、当該メモリセルＭＨの内部回路は設計されている。
【００５７】
ビット線ｂｉｔｅｎの一方端は、Ｐ型トランジスタＰ４５を介して固定電源に接続されており、他方端は、Ｐ型トランジスタＰ４６を介してセンスアンプＳＡ２の一方の入力部に接続されている。また、ビット線ｂｉｔｅｎｃの一方端は、Ｐ型トランジスタＰ４７を介して固定電源に接続されており、他方端は、Ｐ型トランジスタＰ４８を介してセンスアンプＳＡ２の他方の入力部に接続されている。また、ビット線ｂｉｔｅｎとビット線ｂｉｔｅｎｃとを架橋するようにＰ型トランジスタＰ４９が接続されている。
【００５８】
ここで、Ｐ型トランジスタＰ４５，Ｐ４７，Ｐ４９のゲートにクロック信号ＣＬＫが共通に入力され、Ｐ型トランジスタＰ４６，Ｐ４８のゲートは、それぞれ接地に接続されている。
【００５９】
以上が、カラムＥＮＣの構成である。なお、センスアンプＳＡ２の出力部は、比較器２０１を構成する図３で示したＸＯＲ回路の入力部１０に接続される。
【００６０】
次に、図６に示すセンスアンプＳＡ，ＳＡ２を活性化させるセンスイネーブル信号ＳＥを生成するダミーカラムＤＣの構成について説明する。
【００６１】
ワード線ｗｏｒｄ＜０：ｎ−１＞の数に対応した数（今の場合、ｎ個）のＮ型トランジスタＮ２０が一列に配列されている。ここで、各Ｎ型トランジスタＮ２０のゲートは一のワード線＜ｉ＞に接続されており、各ドレインには、ダミービット線ｄｂｉｔが接続されており、各ソースは接地に接続されている。
【００６２】
ダミービット線ｄｂｉｔの一方端は、Ｐ型トランジスタＰ５０を介して固定電源に接続されており、他方端は、インバータＧ４０の入力部に接続されている。また、当該インバータＧ４０の出力部は、センスアンプＳＡ，ＳＡ２の活性状態を制御するために、各センスアンプＳＡ，ＳＡ２へと接続されている。
【００６３】
なお、Ｐ型トランジスタＰ５０のゲートにはクロック信号ＣＬＫが入力される。
【００６４】
以上が、ダミーカラムＤＣの構成である。
【００６５】
このように、ＴＡＧ−ＲＡＭは、メモリ部ＭＣ、カラムＥＮＣおよびダミーカラムＤＣにより構成されている。
【００６６】
次に、上記図６で図示した、活性化信号ＥＮを生成のためのカラムＥＮＣで用いられている、センスアンプＳＡ２の具体的構成を示した図７の回路構成について説明する。なお、上記でも説明したように、当該センスアンプＳＡ２の活性状態／非活性状態を制御する信号として、他のセンスアンプＳＡと共通のセンスイネーブル信号ＳＥを使用する。
【００６７】
Ｐ型トランジスタＰ６０とＮ型トランジスタＮ６０とを直列に接続させることによりＣＭＯＳインバータＣ６０を構成している。また、Ｐ型トランジスタＰ６１とＮ型トランジスタＮ６１とを直列に接続させることによりＣＭＯＳインバータＣ６１を構成している。また、ＣＭＯＳインバータＣ６０とＣ６１の入出力部を相互に接続させることにより、相互接続されたＣＭＯＳインバータを構成している。
【００６８】
ここで、Ｐ型トランジスタＰ６０、Ｐ６１のソースは固定電源に接続されており、Ｎ型トランジスタＮ６０，Ｎ６１のソースはＮ型トランジスタＮ５０を介して接地に接続されている。
【００６９】
また、ＣＭＯＳインバータＣ６１の出力部は、Ｐ型トランジスタＰ６２を介してビット線ｂｉｔｅｎに接続されており、ＣＭＯＳインバータＣ６０の出力部は、Ｐ型トランジスタＰ６３を介してビット線ｂｉｔｅｎｃに接続されている。
【００７０】
図６で示したインバータＧ４０は、Ｐ型トランジスタＰ６２，Ｐ６３のゲート、およびＮ型トランジスタＮ５０のゲートに、共通で接続されると共に、ＡＮＤゲートＧ４２の一方の入力部に接続されている。なお、ＡＮＤゲートＧ４２の他方の入力部は、ＣＭＯＳインバータＣ６０の出力部とインバータＧ４３を介して接続されており、ＡＮＤゲートＧ４２の出力部は、比較器２０１を構成する図３で示したＸＯＲ回路の入力部１０に接続される。
【００７１】
以上が、本実施の形態に係る半導体回路を構成している比較器２０１およびＴＡＧ−ＲＡＭの構成である。
【００７２】
次に、図８に示すタイミングチャートに基づいて、上記各構成の動作について説明する。以下では、参照タグ情報ＴＣを構成する所定のｉ番目のビットである参照ビットＴＣＢ＜ｉ＞、およびタグ情報ＴＭを構成する所定のｉ番目のビットであるタグ情報ビットＴＭＢ＜ｉ＞について言及するが、他の参照ビットＴＣＢ＜０・・ｉ−１，ｉ＋１・・１５＞、タグ情報ビットＴＭＢ＜０・・ｉ−１，ｉ＋１・・１５＞についても同様の議論が成立する。
【００７３】
＜回路の動作説明＞
はじめに、比較器２０１を構成する前段に位置する、図３で示したＸＯＲ回路の動作について説明する。
【００７４】
まず、クロック信号ＣＬＫの立上りエッジに同期して、ＣＰＵからアドレスデータ２が出力され、アドレスデータ２の上位ビットである参照タグ情報ＴＣを構成する参照ビットＴＣＢ＜ｉ＞が、各ＸＯＲ回路に入力される。また、これと同時に、アドレスデータ２の下位ビットであるＩｎｄｅｘが図２で示したＴＡＧ−ＲＡＭに入力され、タグ情報ビットＴＭＢ＜ｉ＞の読み出しを開始する。
【００７５】
ここで、タグ情報ビットＴＭＢ＜ｉ＞が読み出されるまでは、各ＸＯＲ回路の出力部１３から出力される排他論理和信号ｃｍｐ＜ｉ＞として、「Ｌ」レベルの信号を保持しなければならない。
【００７６】
これは、各ＸＯＲ回路の後段に接続されている図５で示した論理積回路がダイナミック回路であるため、演算処理を開始するまではＰ型トランジスタＰ３０により配線Ｄ３０をプリチャージすることにより、次の判定処理に備えておく必要あるからである。
【００７７】
つまり、中間結果である排他論理和信号ｃｍｐ＜ｉ＞として一旦「Ｈ」レベルが入力されてしまうとＰ型トランジスタＰ３０によるプリチャージが有効でなくなり、配線Ｄ３０が「Ｌ」に設定されてしまうからである。
【００７８】
したがって、その後、論理積回路が活性化状態となって、本来の演算結果である排他論理和信号ｃｍｐ＜ｉ＞が「Ｌ」または「Ｈ」レベルになったとしても、出力部１５からは判定信号として「Ｌ」レベルが常に出力され、各排他論理和信号ｃｍｐ＜ｉ＞に応じた正常な論理積の演算処理を行うことができなくなる。
【００７９】
そこで、図８に示すように、タグ情報ビットＴＭＢ＜ｉ＞が読み出されるまでの間、活性化信号ＥＮを「Ｌ」レベルに固定させておく。
【００８０】
こうすることにより、図３で示したＰ型トランジスタＰ２０はオン状態となり、排他論理和信号ｃｍｐ＜ｉ＞として「Ｌ」レベルが保持される（ＸＯＲ回路の非活性状態）。よって、タグ情報ビットＴＭＢ＜ｉ＞が読み出されるまでの間の、論理積回路のＰ型トランジスタＰ３０による配線Ｄ３０のプリチャージを有効とすることができ、その後、当該論理積回路が活性化状態となったときに、本来の演算結果である排他論理和信号ｃｍｐ＜ｉ＞に応じた正常な論理積の演算処理を行うことができる。
【００８１】
さて、図２で示すＴＡＧ−ＲＡＭにＩｎｄｅｘが入力されてから時刻Δｔ１後に、当該ＴＡＧ−ＲＡＭからタグ情報ビットＴＭＢ＜ｉ＞が出力される。また、これとほぼ同時に、「Ｈ」レベルの活性化信号ＥＮが出力される。
【００８２】
これにより、図３で示したＰ型トランジスタＰ２０のゲートには「Ｈ」レベルの信号が入力され、当該Ｐ型トランジスタＰ２０はオフ状態となり、タグ情報ビットＴＭＢ＜ｉ＞と参照ビットＴＣＢ＜ｉ＞との排他論理和演算処理が開始される（ＸＯＲ回路の活性状態）。
【００８３】
例えば、当該状態において、タグ情報ビットＴＭＢ＜ｉ＞、参照ビットＴＣＢ＜ｉ＞ともに「Ｈ」レベルである場合には、ＮＯＲゲートＧ２１の一方の入力部には「Ｌ」レベルの信号、他方の入力部には「Ｈ」レベルの信号が入力されるので、当該ＮＯＲゲートＧ２１の出力部からは「Ｌ」レベルの信号が出力される。したがって、トランスミッションゲートＴＧ２０はオフ状態となる。
【００８４】
これに対して、ＮＯＲゲートＧ２２の一方の入力部には「Ｌ」レベルの信号、他方の入力部には「Ｌ」レベルの信号が入力されるので、当該ＮＯＲゲートＧ２２の出力部からは「Ｈ」レベルの信号が出力される。したがって、トランスミッションゲートＴＧ２１はオン状態となる。よって、タグ情報ビットＴＭＢ＜ｉ＞はインバータＧ２５により反転されるので、出力部１３からは、「Ｌ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【００８５】
他方、活性化信号ＥＮが「Ｈ」レベルで、タグ情報ビットＴＭＢ＜ｉ＞、参照ビットＴＣＢ＜ｉ＞ともに「Ｌ」レベルである場合には、ＮＯＲゲートＧ２２の一方の入力部には「Ｌ」レベルの信号、他方の入力部には「Ｈ」レベルの信号が入力されるので、当該ＮＯＲゲートＧ２２の出力部からは「Ｌ」レベルの信号が出力される。したがって、トランスミッションゲートＴＧ２１はオフ状態となる。
【００８６】
これに対して、ＮＯＲゲートＧ２１の一方の入力部には「Ｌ」レベルの信号、他方の入力部には「Ｌ」レベルの信号が入力されるので、当該ＮＯＲゲートＧ２１の出力部からは「Ｈ」レベルの信号が出力される。したがって、トランスミッションゲートＴＧ２０はオン状態となる。よって、タグ情報ビットＴＭＢ＜ｉ＞はインバータＧ２４，Ｇ２５により２度反転されるので、出力部１３からは、「Ｌ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【００８７】
次に、活性化信号ＥＮが「Ｈ」レベルで、タグ情報ビットＴＭＢ＜ｉ＞が「Ｈ」レベルであり、参照ビットＴＣＢ＜ｉ＞が「Ｌ」レベルである場合には、ＮＯＲゲートＧ２２の一方の入力部には「Ｌ」レベルの信号、他方の入力部には「Ｈ」レベルの信号が入力されるので、当該ＮＯＲゲートＧ２２の出力部からは「Ｌ」レベルの信号が出力される。したがって、トランスミッションゲートＴＧ２１はオフ状態となる。
【００８８】
これに対して、ＮＯＲゲートＧ２１の一方の入力部には「Ｌ」レベルの信号、他方の入力部には「Ｌ」レベルの信号が入力されるので、当該ＮＯＲゲートＧ２１の出力部からは「Ｈ」レベルの信号が出力される。したがって、トランスミッションゲートＴＧ２０はオン状態となる。よって、タグ情報ビットＴＭＢ＜ｉ＞はインバータＧ２４，Ｇ２５により２度反転されるので、出力部１３からは、「Ｈ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【００８９】
また、活性化信号ＥＮが「Ｈ」レベルで、タグ情報ビットＴＭＢ＜ｉ＞が「Ｌ」レベルであり、参照ビットＴＣＢ＜ｉ＞が「Ｈ」レベルである場合には、ＮＯＲゲートＧ２１の一方の入力部には「Ｌ」レベルの信号、他方の入力部には「Ｈ」レベルの信号が入力されるので、当該ＮＯＲゲートＧ２１の出力部からは「Ｌ」レベルの信号が出力される。したがって、トランスミッションゲートＴＧ２０はオフ状態となる。
【００９０】
これに対して、ＮＯＲゲートＧ２２の一方の入力部には「Ｌ」レベルの信号、他方の入力部には「Ｌ」レベルの信号が入力されるので、当該ＮＯＲゲートＧ２２の出力部からは「Ｈ」レベルの信号が出力される。したがって、トランスミッションゲートＴＧ２１はオン状態となる。よって、タグ情報ビットＴＭＢ＜ｉ＞はインバータＧ２４により反転されるので、出力部１３からは、「Ｈ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【００９１】
以上から分かるように、タグ情報ビットＴＭＢ＜ｉ＞と参照ビットＴＣＢ＜ｉ＞のレベルが一致するときは「Ｌ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力され、一致しないときには「Ｈ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【００９２】
次に、比較器２０１を構成する後段に位置する、図５の論理積回路の動作について説明する。
【００９３】
図３のＸＯＲ回路にて、タグ情報ビットＴＭＢ＜ｉ＞が入力されてから排他論理和信号ｃｍｐ＜ｉ＞が確定するまでに時間Δｔ２かかるとすると、図４において、当該Δｔ２の時間遅延値を有する遅延回路ＤＬＹ２を配置する。そうすると、活性化信号ＥＮ２は、活性化信号ＥＮに対して時間遅延Δｔ２を有することとなる。
【００９４】
したがって、当該活性化信号ＥＮ２が立ち上がるまでは（図３のＸＯＲ回路にて排他論理和信号ｃｍｐ＜ｉ＞が確定するまでの期間は）、活性化信号ＥＮ２は「Ｌ」レベルなので、論理積回路のＰ型トランジスタＰ３０はオン状態となっており、配線Ｄ３０のプリチャージを行っている（論理積回路の非活性状態）。
【００９５】
また、活性化信号ＥＮ２が「Ｌ」レベルの間は、ラッチ回路ＬＡＴ３０のトランスミッションゲートＴＧ２２はオフ状態となるので、判定信号は以前の値を保持している。
【００９６】
次に、タグ情報ビットＴＭＢ＜ｉ＞が読み出されてから時間Δｔ２経過し、活性化信号ＥＮ２が立ち上がり「Ｈ」レベルに設定されると、Ｐ型トランジスタＰ３０がオフ状態となり、トランスミッションゲートＴＧ２２はオン状態となる。
【００９７】
当該状態において、前段で確定した排他論理和信号ｃｍｐ＜０：１５＞が全て「Ｌ」レベルであるとき（すなわち、タグ情報ＴＭと参照タグ情報ＴＣとが一致するとき）は、図５で示した論理積回路を構成するすべてのＮ型トランジスタＮ０〜Ｎ１５がオフ状態となるので、配線Ｄ３０の電位は「Ｈ」レベルのままとなる。
【００９８】
したがって、今トランスミッションゲートＴＧ２２はオン状態であるので、当該「Ｈ」レベルがラッチ回路ＬＡＴ３０に取り込まれると共に、インバータＧ３１，Ｇ３２を経て出力部１５から判定信号が「Ｈ」レベルで出力される。つまり、タグ情報ＴＭと参照タグ情報ＴＣが完全に一致する場合には（ＨＩＴの場合には）、判定信号として「Ｈ」レベルの信号が出力される。
【００９９】
これに対して、前段で確定した排他論理和信号ｃｍｐ＜０：１５＞のうち、一つでも「Ｈ」レベルの信号がある場合（すなわち、タグ情報ＴＭと参照タグ情報ＴＣとが一致しないとき）には、当該「Ｈ」レベルの信号が入力されるＮ型トランジスタはオン状態となるので、配線Ｄ３０の電位は接地電位、つまり「Ｌ」レベルへと変化する。
【０１００】
したがって、今トランスミッションゲートＴＧ２２はオン状態であるので、当該「Ｌ」レベルがラッチ回路ＬＡＴ３０に取り込まれると共に、インバータＧ３１，Ｇ３２を経て出力部１５から判定信号が「Ｌ」レベルで出力される。つまり、タグ情報ＴＭと参照タグ情報ＴＣが不一致の場合には（ＭＩＳＳの場合には）、判定信号として「Ｌ」レベルの信号が出力される。
【０１０１】
以上により、図３，４，５に示すＸＯＲ回路、論理積回路等により構成される比較器２０１により、タグ情報ＴＭと参照タグ情報ＴＣとの比較処理が正常に実行される。ここで、論理積回路を最適なタイミングで活性状態へと変化させるために、図４の遅延回路ＤＬＹ２として時間Δｔ２の時間遅延を形成することができるものを採用したが、論理積回路での確実な演算動作を確保するために、これ以上の時間遅延を有する遅延回路ＤＬＹ２を採用してもかまわない。
【０１０２】
さて、上記でも説明したように、図５で示した論理積回路としてダイナミック回路を用いているので、図２で示したＸＯＲ回路は、タグ情報ビットＴＭＢ＜ｉ＞が読み出されてから活性状態へと変化する必要がある。さらには、動作速度を考慮すると、活性化信号ＥＮはタグ情報ビットＴＭＢ＜ｉ＞と同時に供給されることが望ましい。そこで、当該動作を可能にするために構成されたのが図６で示したＴＡＧ−ＲＡＭ回路である。
【０１０３】
以下に、図６で示したＴＡＧ−ＲＡＭ回路の動作について説明する。なお、Ｘ＜０＞〜Ｘ＜ｎ−１＞はロウアドレス信号を示しており、Ｙ＜０＞〜Ｙ＜ｍ−１＞はカラムアドレス信号を示している。当該ロウアドレス信号とカラムアドレス信号とにより所定のメモリセルＭが選択され、タグ情報ビットＴＭＢ＜ｉ＞が読み出される。また、メモリ部ＭＣについては、タグ情報ビットＴＭＢ＜０＞が記憶されているブロックについて説明するが、他のタグ情報ビットＴＭＢ＜１：１５＞が記憶されているブロックについても同様な動作が成立する。
【０１０４】
はじめに、図８で示しているようにクロック信号ＣＬＫが「Ｌ」レベルのときは、メモリ部ＭＣにおいて、各Ｐ型トランジスタＰ４０，Ｐ４２，Ｐ４４はオン状態となるので、すべてのビット線ｂｉｔ＜０：ｍ−１＞、ｂｉｔｃ＜０：ｍ−１＞は、固定電源により「Ｈ」レベルにプリチャージされる。
【０１０５】
また、ダミーカラムＤＣにおいてもクロック信号ＣＬＫが「Ｌ」のときは、Ｐ型トランジスタＰ５０がオン状態となるので、ダミービット線ｄｂｉｔにおいても、固定電源により「Ｈ」レベルにプリチャージされる。これにより、センスイネーブル信号ＳＥは「Ｌ」レベルに設定され、センスアンプＳＡ，ＳＡ２を非活性状態とさせる。
【０１０６】
次に、カラムＥＮＣの動作について説明する。
【０１０７】
クロック信号ＣＬＫが「Ｌ」レベルのときには、図６において、Ｐ型トランジスタＰ４５，Ｐ４７，Ｐ４９はオン状態となるので、固定電源によりビット線ｂｉｔｅｎ、ｂｉｔｅｎｃは「Ｈ」電位にプリチャージされる。ここで、Ｐ型トランジスタＰ４６，Ｐ４８のゲートは接地に接続されているので、常にオン状態である。
【０１０８】
さらに、クロック信号ＣＬＫが「Ｌ」レベルのときには、センスイネーブル信号ＳＥは「Ｌ」レベルとなるので、図７において、Ｐ型トランジスタＰ６２，Ｐ６３はオン状態となり、Ｎ型トランジスタＮ５０はオフ状態となり、ＡＮＤゲートＧ４２の両入力部には「Ｌ」レベルの信号が入力される。
【０１０９】
したがって、クロック信号ＣＬＫが「Ｌ」レベルのときには、ＡＮＤゲートＧ４２の出力部から「Ｌ」レベルの活性化信号ＥＮが出力される。なお、クロック信号ＣＬＫが立ち上がっても、センスイネーブル信号ＳＥが「Ｌ」レベルの間は、ＡＮＤゲートＧ４２からは「Ｌ」レベルの活性化信号ＥＮが出力される。
【０１１０】
これにより、上記でも説明したように、図３で示したＰ型トランジスタＰ２０はオン状態となり、排他論理和信号ｃｍｐ＜ｉ＞として「Ｌ」レベルが保持される（つまり、ＸＯＲ回路を非活性状態と制御する）。よって、タグ情報ビットＴＭＢ＜ｉ＞が読み出されるまでの間の論理積回路のＰ型トランジスタＰ３０による配線Ｄ３０のプリチャージを有効とすることができ、その後、当該論理積回路が活性化状態となったときに、本来の演算結果である排他論理和信号ｃｍｐ＜ｉ＞に応じた正常な論理積の演算処理を行うことができる。
【０１１１】
次に、クロック信号ＣＬＫが「Ｈ」レベルに立ち上がると、各Ｐ型トランジスタＰ４０，Ｐ４２，Ｐ４４，Ｐ４５、Ｐ４７，Ｐ４９，Ｐ５０がオフ状態となり、全ビット線のプリチャージが中断され、タグ情報ビットＴＭＢ＜０＞の読み出し動作が開始される。
【０１１２】
はじめに、メモリ部ＭＣの動作について説明する。
【０１１３】
当該、クロック信号ＣＬＫが「Ｈ」レベルである期間に、例えば「Ｈ」レベルのロウアドレス信号Ｘ＜０＞が設定されると、バッファ２０を介してワード線ｗｏｒｄ＜０＞の電位は「Ｈ」レベルとなる。これにより、ワード線ｗｏｒｄ＜０＞に接続されている全てのメモリセルＭに記憶されているデータが、それぞれのビット線ｂｉｔ＜０：ｍ−１＞、ｂｉｔｃ＜０：ｍ−１＞に読み出される。
【０１１４】
次に、例えば「Ｌ」レベルのカラムアドレス信号Ｙ＜０＞が設定されると、ビット線ｂｉｔ＜０＞に接続されているＰ型トランジスタＰ４１、およびビット線ｂｉｔｃ＜０＞に接続されているＰ型トランジスタＰ４３が、それぞれオン状態となるので、ビット線ｂｉｔ＜０＞の信号がデータ線ＤＡＴＡに伝送され、ビット線ｂｉｔｃ＜０＞の信号がデータ線ＤＡＴＡＣに伝送される。
【０１１５】
その後、「Ｈ」レベルのセンスイネーブル信号ＳＥの入力を機に、センスアンプＳＡは活性状態となり、タグ情報ビットＴＭＢ＜０＞の出力がなされる。
【０１１６】
次に、ダミーカラムＤＣの動作について説明する。
【０１１７】
ワード線ｗｏｒｄ＜０＞が「Ｈ」レベルの電位になると、当該ワード線ｗｏｒｄ＜０＞に接続されているＮ型トランジスタＮ２０はオン状態となる。したがって、「Ｈ」レベルであったダミービット線ｄｂｉｔの電気が、Ｎ型トランジスタＮ２０を介して接地電位への放電が開始され、時間Δｔ１後にダミービット線ｄｂｉｔの電位は「Ｌ」レベルへと変化する。よって、クロック信号ＣＬＫが立ち上がってから時刻Δｔ１後に、インバータＧ４０を介してセンスイネーブル信号ＳＥは「Ｈ」レベルとなり、センスアンプＳＡ，ＳＡ２を活性状態へと変化させる。
【０１１８】
ここで、メモリセルＭから読み出されるデータにより、各センスアンプＳＡへ接続される各データ線ＤＡＴＡ、ＤＡＴＡＣ間の電位差が十分に大きくなったときに、センスイネーブル信号ＳＥが「Ｈ」レベルとなるように、Ｎ型トランジスタＮ２０のサイズを決めておくと良い。
【０１１９】
次に、カラムＥＮＣの動作について説明する。
【０１２０】
クロック信号ＣＬＫが立ち上がり、上記のように「Ｈ」レベルのロウアドレス信号Ｘ＜０＞が設定されると、バッファ２０を介してワード線ｗｏｒｄ＜０＞の電位は「Ｈ」レベルとなり、ワード線ｗｏｒｄ＜０＞に接続されているメモリセルＭＨが選択される。すると、当該メモリセルＭＨの内部回路により、ビット線ｂｉｔｅｎが「Ｈ」レベルとなり、ビット線ｂｉｔｅｎｃが「Ｌ」レベルとなる。
【０１２１】
次に、当該状態において、クロック信号ＣＬＫが立ち上がってから時刻Δｔ１後に、センスイネーブル信号ＳＥが立ち上がり「Ｈ」レベルとなると、図７において、Ｐ型トランジスタＰ６２，Ｐ６３がオフ状態となり、Ｎ型トランジスタＮ５０がオン状態となるので、ＡＮＤゲートＧ４２の一方の入力部には「Ｈ」レベルのセンスイネーブル信号ＳＥが入力され、他方の入力部には増幅された「Ｈ」レベルの信号が入力される。
【０１２２】
したがって、ＡＮＤゲートＧ４２の出力部から「Ｈ」レベルの活性化信号ＥＮが出力されることとなる。
【０１２３】
以上のように、センスイネーブル信号ＳＥが「Ｈ」レベルとなると、センスアンプＳＡ、ＳＡ２は同時に活性状態となり、センスアンプＳＡからは新たに読み出されたタグ情報ビットＴＭＢ＜０＞が、またセンスアンプＳＡ２からは「Ｈ」レベルの活性化信号ＥＮが同時に出力される。
【０１２４】
その後、クロック信号ＣＬＫが「Ｌ」レベルになると、ダミービット線ｄｂｉｔは再びプリチャージされ「Ｈ」レベルに変化する。これに伴って、センスイネーブル信号ＳＥが「Ｌ」レベルとなり、センスアンプＳＡ，ＳＡ２は非活性状態となる。
【０１２５】
また、カラムＥＮＣにおいても、クロック信号ＣＬＫが「Ｌ」レベルとなると、ビット線ｂｉｔｅｎ、ｂｉｔｅｎｃが「Ｈ」レベルにプリチャージされるので、活性化信号ＥＮは再び「Ｌ」レベルに設定される。なお、これにより活性化信号ＥＮ２も「Ｌ」レベルと変移するので、図５で示した論理積回路は非活性状態（プリチャージ状態）となり、これと同時に、ラッチ回路ＬＡＴ３０の入力トランスミッションゲートＴＧ２２はオフとなり、当該ラッチ回路ＬＡＴ３０は判定信号を保持する。
【０１２６】
以上が、本実施の形態に係る半導体回路を構成する比較器２０１、ＴＡＧ−ＲＡＭ等の一連の動作である。
【０１２７】
本実施の形態に係る半導体回路によれば、センスイネーブル信号ＳＥを用いてセンスアンプＳＡ，ＳＡ２を同時に活性状態を制御しているので、簡易な回路設計により、タグ情報ビットＴＭＢ＜ｉ＞と同時に「Ｈ」レベルの活性化信号ＥＮも、比較器２０１に対して供給することができる。
【０１２８】
つまり、タグ情報ビットＴＭＢ＜ｉ＞がＸＯＲ回路に入力されると同時に、ＸＯＲ回路にて、当該タグ情報ビットＴＭＢ＜ｉ＞に基づく演算処理を行うことができる。したがって、ダイナミック回路である論理積回路の誤動作を防止することができる。さらに、タグ情報ビットＴＭＢ＜ｉ＞がＸＯＲ回路に入力されてから当該ＸＯＲ回路での演算開始までのタイムマージンを最小限に抑えることができるので、ＸＯＲ回路での演算処理の時間を短縮させることができる。
【０１２９】
また、活性化信号ＥＮに基づいて形成される活性化信号ＳＥ２により論理積回路の活性状態／非活性状態を制御しているので、当該活性化信号ＥＮ２の生成に当たりＸＯＲ回路での演算に要する時間を考慮するだけでいいので、簡単な回路設計により、最適なタイミングで論理積回路を活性化させる活性化信号ＥＮ２を生成することができる。
【０１３０】
さらに、遅延回路ＤＬＹ２により、活性化信号ＥＮ２が有する活性化信号ＥＮに対する遅延時間を、ＸＯＲ回路での演算に要する時間と同じに設定することにより、論理積回路における演算開始までのタイムマージンを最小限に抑えることができ、当該論理積回路における判定結果までの時間短縮につながる。
【０１３１】
また、論理積回路にダイナミック回路を用いているので、少ない回路素子により当該論理積回路を構成することができるので、スタティック回路のように多入力論理ゲートを多数用いる必要がなくなる。したがって、本実施の形態に係る比較器２０１では、高速な判定処理を行うことができる。
【０１３２】
＜実施の形態２＞
実施の形態１では、ＸＯＲ回路出力の途中結果により、後段のダイナミック回路である論理積回路が誤動作しないように、ＸＯＲ回路の動作を活性化信号ＥＮにより制御していた。これにより、当該ＸＯＲ回路は複雑な構成となってしまっていた。
【０１３３】
そこで、本実施の形態では、活性化信号ＥＮによる制御を不要とすることで、ＸＯＲ回路を簡略化することを目的とする。図９，１０に本実施の形態に係る比較器２０１の構成を図示する。なお、ＴＡＧ−ＲＡＭは、例えば図６，７で示した構成のものを採用することとする。
【０１３４】
図９は、実施の形態２に係る比較器２０１を構成する、前段に位置するＸＯＲ回路であり、図１０は、実施の形態２に係る比較器２０１を構成する、後段に位置するダイナミック回路である論理積回路である。
【０１３５】
以下より、各図の回路構成について具体的に説明する。
【０１３６】
＜回路構成＞
まず、タグ情報ビットＴＭＢ＜ｉ＞と参照ビットＴＣＢ＜ｉ＞との排他論理和演算処理を行う、図９のＸＯＲ回路の構成について説明する。なお、今タグ情報ＴＭおよび参照タグ情報ＴＣが１６ビットのビット列を想定しているので、当該ＸＯＲ回路は、各ビットに応じたものが１６個設けられる。
【０１３７】
図９のＸＯＲ回路は、２つの入力部３１，３２と１つの出力部３３とを有している。つまり、参照ビットＴＣＢ＜ｉ＞が入力される入力部３１と、タグ情報ビットＴＭＢ＜ｉ＞が入力される入力部３２と、排他論理和信号ｃｍｐ＜ｉ＞が出力される出力部３３とを有している。
【０１３８】
入力部３１は、インバータＧ４５を介してトランスミッションゲートＴＧ３１のＰ型ゲートに接続される一方で、同じくインバータＧ４５を介して当該トランスミッションゲートＴＧ３０のＮ型ゲートに接続されている。
【０１３９】
さらに、入力部３１はインバータＧ４５，Ｇ４６を介してトランスミッションゲートＴＧ３１のＮ型ゲートに接続される一方で、同じくインバータＧ４５，Ｇ４６を介して当該トランスミッションゲートＴＧ３０のＰ型ゲートに接続されている。
【０１４０】
入力部３２は、トランスミッションゲートＴＧ３１の入力部に直接、接続される一方で、インバータＧ４７を介してトランスミッションゲートＴＧ３０の入力部に接続されている。
【０１４１】
また、トランスミッションゲートＴＧ３０の出力部およびトランスミッションゲートＴＧ３１の出力部は共に、インバータＧ４８を介して出力部３３に接続されている。
【０１４２】
次に、上記図９で示した各ＸＯＲ回路から出力される排他論理和信号ｃｍｐ＜ｉ＞の論理積を取る回路であり、ダイナミック回路である図１０の論理積回路の構成について説明する。ここで、活性化信号ＥＮは、図４で示したように遅延回路ＤＬＹ２を経ることにより、時間遅延を有する活性化信号ＥＮ２に変換され、その後論理積回路に入力される。
【０１４３】
さて図１０において、入力部４４はＰ型トランジスタＰ８０のゲートに接続されており、入力部４５はＮ型トランジスタＮ７０のゲートに接続されている。ここで、Ｐ型トランジスタＰ８０のソースは固定電源に接続されており、ドレインは配線Ｄ８０に接続されている。また、Ｎ型トランジスタＮ７０のソースは接地に接続されており、ドレインは配線Ｄ８１に接続されている。
【０１４４】
次に、配線Ｄ８０はトランスミッションゲートＴＧ８０の入力部に接続されている。また、配線Ｄ８０と配線Ｄ８１とを接続するように、並列に複数（今の場合１６個）のＮ型トランジスタＮ８０〜Ｎ９５が接続されている。ここで、各Ｎ型トランジスタＮ８０〜Ｎ９５のソースが配線Ｄ８１側に接続されており、ドレインは配線Ｄ８０側に接続されている。また、各Ｎ型トランジスタＮ８０〜Ｎ９５のゲートには、図９で示したＸＯＲ回路から出力される排他論理和信号ｃｍｐ＜０：１５＞が各々入力する。
【０１４５】
さらに入力部４４は、トランスミッションゲートＴＧ８０のＮ型ゲートに接続され、他方でインバータＧ８０を介してトランスミッションゲートＴＧ８０のＰ型ゲートに接続されている。
【０１４６】
トランスミッションゲートＴＧ８０の出力部は、インバータＧ８１，Ｇ８２を介して、論理積の演算結果である判定信号（ＨＩＴ  ｏｒ  ＭＩＳＳ）が出力される出力部４６に接続されている。ここで、前段のインバータＧ８１の入力部と出力部との間には、帰還のインバータＧ８３が並列に接続されている。
【０１４７】
上記構成において、トランスミッションゲートＴＧ８０、インバータＧ８０，Ｇ８１，Ｇ８３により、ラッチ回路ＬＡＴ８０を構成している。
【０１４８】
以上のように、本実施の形態に係る比較器２０１では、実施の形態１と異なり、活性化信号ＥＮによるＸＯＲ回路の制御を行わないため、図１０で示した論理積回路に新たにＮ型トランジスタＮ７０を設けている。
【０１４９】
次に、図１１に示すタイミングチャートに基づいて、上記各回路の動作について説明する。以下では、参照タグ情報ＴＣを構成する所定のｉ番目のビットである参照ビットＴＣＢ＜ｉ＞、およびタグ情報ＴＭを構成する所定のｉ番目のビットであるタグ情報ビットＴＭＢ＜ｉ＞について言及するが、他の参照ビットＴＣＢ＜０・・ｉ−１，ｉ＋１・・１５＞、タグ情報ビットＴＭＢ＜０・・ｉ−１，ｉ＋１・・１５＞についても同様の議論が成立する。
【０１５０】
＜回路の動作説明＞
はじめに、図９のＸＯＲ回路の動作について説明する。
【０１５１】
まず、クロック信号ＣＬＫの立上りエッジに同期して、ＣＰＵからアドレスデータ２が出力され、アドレスデータ２の上位ビットである参照タグ情報ＴＣを構成する参照ビットＴＣＢ＜ｉ＞は、図９に示した各ＸＯＲ回路に入力される。また同時に、アドレスデータ２の下位ビットであるＩｎｄｅｘは図２で示したＴＡＧ−ＲＡＭに入力され、タグ情報ビットＴＭＢ＜ｉ＞の読み出しを開始させる。
【０１５２】
さて、図２で示すＴＡＧ−ＲＡＭにＩｎｄｅｘが入力されてから時刻Δｔ１後に、当該ＴＡＧ−ＲＡＭからタグ情報ビットＴＭＢ＜ｉ＞が出力される。なお、これとほぼ同時に、「Ｈ」レベルの活性化信号ＥＮが出力される。
【０１５３】
ここで、通常図６で示したセンスアンプＳＡの後段には、図示していないがラッチ回路とドライバとが設けられているので、クロック信号ＣＬＫの立ち上がりから時刻Δｔ１までは、タグ情報ビットＴＭＢ＜ｉ＞として前サイクルのデータが保持・出力される。
【０１５４】
したがって、排他論理和信号ｃｍｐ＜ｉ＞としては、以前のタグ情報ビットＴＭＢ＜ｉ＞に基づいた演算結果が出力される。しかし、Δｔ１後には、今比較したい正規のタグ情報ビットＴＭＢ＜ｉ＞が入力部３２より入力されてくるので、当該時間後には、排他論理和信号ｃｍｐ＜ｉ＞としては、現タグ情報ビットＴＭＢ＜ｉ＞に基づいた演算結果が出力される。
【０１５５】
さて例えば、現タグ情報ビットＴＭＢ＜ｉ＞、参照ビットＴＣＢ＜ｉ＞ともに「Ｈ」レベルである場合には、入力部３１より入力される「Ｈ」レベルの信号により、トランスミッションゲートＴＧ３０はオフ状態となり、トランスミッションゲートＴＧ３１はオン状態となる。
【０１５６】
したがって、「Ｈ」レベルである現タグ情報ビットＴＭＢ＜ｉ＞は、トランスミッションゲートＴＧ３１およびインバータＧ４８を経ることにより、出力部３３からは、「Ｌ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【０１５７】
他方、現タグ情報ビットＴＭＢ＜ｉ＞、参照ビットＴＣＢ＜ｉ＞ともに「Ｌ」レベルである場合には、入力部３１より入力される「Ｌ」レベルの信号により、トランスミッションゲートＴＧ３１はオフ状態となり、トランスミッションゲートＴＧ３０はオン状態となる。
【０１５８】
したがって、「Ｌ」レベルである現タグ情報ビットＴＭＢ＜ｉ＞は、インバータＧ４７、トランスミッションゲートＴＧ３０およびインバータＧ４８を経ることにより、出力部３３からは、「Ｌ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【０１５９】
次に、現タグ情報ビットＴＭＢ＜ｉ＞が「Ｈ」レベルであり、参照ビットＴＣＢ＜ｉ＞が「Ｌ」レベルである場合には、入力部３１より入力される「Ｌ」レベルの信号により、トランスミッションゲートＴＧ３１はオフ状態となり、トランスミッションゲートＴＧ３０はオン状態となる。
【０１６０】
したがって、「Ｈ」レベルである現タグ情報ビットＴＭＢ＜ｉ＞は、インバータＧ４７、トランスミッションゲートＴＧ３０およびインバータＧ４８を経ることにより、出力部３３からは、「Ｈ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【０１６１】
また、現タグ情報ビットＴＭＢ＜ｉ＞が「Ｌ」レベルであり、参照ビットＴＣＢ＜ｉ＞が「Ｈ」レベルである場合には、入力部３１より入力される「Ｈ」レベルの信号により、トランスミッションゲートＴＧ３０はオフ状態となり、トランスミッションゲートＴＧ３１はオン状態となる。
【０１６２】
したがって、「Ｌ」レベルである現タグ情報ビットＴＭＢ＜ｉ＞は、トランスミッションゲートＴＧ３１およびインバータＧ４８を経ることにより、出力部３３からは、「Ｈ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【０１６３】
以上から分かるように、実施の形態１と同様、現タグ情報ビットＴＭＢ＜ｉ＞と参照ビットＴＣＢ＜ｉ＞のレベルが一致するときは「Ｌ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力され、一致しないときには「Ｈ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【０１６４】
次に、図１０の論理積回路の動作について説明する。
【０１６５】
図９のＸＯＲ回路にて、タグ情報ビットＴＭＢ＜ｉ＞が読み出されてから排他論理和信号ｃｍｐ＜ｉ＞が確定するまでに時間Δｔ２かかるとすると、図４において、当該Δｔ２の時間遅延値を有する遅延回路ＤＬＹ２を配置する。そうすると、活性化信号ＥＮに対するΔｔ２の時間遅延を有する活性化信号ＥＮ２が生成される。
【０１６６】
したがって、当該活性化信号ＥＮ２が立ち上がるまで、つまり図９のＸＯＲ回路にて排他論理和信号ｃｍｐ＜ｉ＞が確定するまでは、活性化信号ＥＮ２は「Ｌ」レベルなので、Ｐ型トランジスタＰ８０はオン状態となっており、配線Ｄ３０のプリチャージを行っている。なお、このときＮ型トランジスタＮ７０はオフ状態である（非活性状態）。
【０１６７】
また、活性化信号ＥＮ２が「Ｌ」レベルの間は、ラッチ回路ＬＡＴ８０のトランスミッションゲートＴＧ８０はオフ状態となるので、判定信号は以前の値を保持する。
【０１６８】
次に、タグ情報ビットＴＭＢ＜ｉ＞が読み出されてから時間Δｔ２が経過し、活性化信号ＥＮ２が立ち上がり「Ｈ」レベルに設定されると、Ｐ型トランジスタＰ８０がオフ状態となり、トランスミッションゲートＴＧ８０はオン状態となる。また、このときＮ型トランジスタＮ７０はオン状態となり、配線Ｄ８１は接地電位となる（活性状態）。
【０１６９】
当該状態において、前段で確定した排他論理和信号ｃｍｐ＜０：１５＞が全て「Ｌ」レベルであるとき（すなわち、タグ情報ＴＭと参照タグ情報ＴＣとが一致するとき）は、図１０で示した論理積回路を構成するすべてのＮ型トランジスタＮ８０〜Ｎ９５がオフ状態となるので、配線Ｄ８０の電位は「Ｈ」レベルのままとなる。
【０１７０】
したがって、今トランスミッションゲートＴＧ８０はオン状態であるので、当該「Ｈ」レベルがラッチ回路ＬＡＴ８０に取り込まれると共に、インバータＧ８１，Ｇ８２を経て出力部４６から判定信号が「Ｈ」レベルで出力される。つまり、タグ情報ＴＭと参照タグ情報ＴＣが完全に一致する場合には（ＨＩＴの場合には）、判定信号として「Ｈ」レベルの信号が出力される。
【０１７１】
これに対して、前段のＸＯＲ回路で確定した排他論理和信号ｃｍｐ＜０：１５＞のうち、一つでも「Ｈ」レベルの信号がある場合（すなわち、タグ情報ＴＭと参照タグ情報ＴＣとが一致しないとき）には、当該「Ｈ」レベルの信号が入力されるＮ型トランジスタＮ８０〜Ｎ９５はオン状態となるので、配線Ｄ８０の電位は接地電位、つまり「Ｌ」レベルへと変化する。
【０１７２】
したがって、今トランスミッションゲートＴＧ８０はオン状態であるので、当該「Ｌ」レベルがラッチ回路ＬＡＴ８０に取り込まれると共に、インバータＧ８１，Ｇ８２を経て出力部４６から判定信号が「Ｌ」レベルで出力される。つまり、タグ情報ＴＭと参照タグ情報ＴＣが不一致の場合には（ＭＩＳＳの場合には）、判定信号として「Ｌ」レベルの信号が出力される。
【０１７３】
このようにして、本実施の形態に係る比較器２０１においても正常な判定処理を行うことができる。
【０１７４】
また、本実施の形態に係る論理積回路では、活性化信号ＥＮ２により制御される、導電形式の異なる２つのトランジスタＰ８０，Ｎ７０により、当該論理積回路の活性状態／非活性状態とを制御しているので、ＸＯＲ回路での活性化を制御する必要がなくなる。
【０１７５】
したがって、本実施の形態に係る各ＸＯＲ回路では、実施の形態１に係る各ＸＯＲ回路に比べて、ＮＯＲゲートが２個、インバータが１個、Ｐ型トランジスタ１個不要となる。よって、今の場合１６ビットのタグ情報ＴＭと参照タグ情報ＴＣとの比較を考えてきたので、この場合ＸＯＲ回路が１６個必要となり、４×１６個の回路素子を削除することができる。
【０１７６】
これにより、回路全体の面積を縮小化させることができ、また消費電力の低減も図ることができる。
【０１７７】
また、実施の形態１で説明したように、ＸＯＲ回路の動作を最速化させるためには、タグ情報ＴＭと活性化信号ＥＮとを同時に供給させる必要があるが、以前のタグ情報ＴＭに基づく排他論理和信号ｃｍｐを、より確実に出力させないためには、活性化信号ＥＮをタグ情報ＴＭの読み出し時より若干遅らせて供給する必要がある。つまり、実施の形態１では、上記理由に基づく若干のタイムマージンを要する場合があるのである。
【０１７８】
しかし、実施の形態２に係るＸＯＲ回路では、活性化信号ＥＮでの制御を要していないので、上記タイムマージンを必要としないので、ＸＯＲ回路における全体として演算処理時間を短縮することができる。
【０１７９】
＜実施の形態３＞
実施の形態１において、比較器２０１でのＨＩＴ／ＭＩＳＳの判定が必要なのは、ＴＡＧ−ＲＡＭからタグ情報ＴＭを読み出すときである。したがって、ＴＡＧ−ＲＡＭへタグ情報ＴＭを書き込むときに、比較器２０１を動作させなければ消費電力を低減させることができる。
【０１８０】
そこで、本実施の形態では、ＴＡＧ−ＲＡＭからタグ情報ＴＭを読み出すときのみに比較器２０１を動作させることができる半導体回路を提供することを目的とする。
【０１８１】
図１２は、ＴＡＧ−ＲＡＭからタグ情報ＴＭを読み出すときのみに、比較器２０１を動作させることを可能にする、ＴＡＧ−ＲＡＭの回路を示す図である。図１２に示すＴＡＧ−ＲＡＭは、図６で示したＴＡＧ−ＲＡＭとほぼ同じであるが、以下の点において異なる。なお、センスアンプＳＡ２の具体的構成として、本実施の形態においても図７で示した構成を採用する。
【０１８２】
上記両図の相違点とは、ダミーカラムＤＣにおいて、ダミービット線ｄｂｉｔの他方端に接続されているのがインバータＧ４０ではなく（図６）、ＡＮＤゲートＧ１００であるという点である（図１２）。
【０１８３】
ＡＮＤゲートＧ１００の一方の入力部には、当該入力部の手前で信号が反転するような構造で上記のダミービット線ｄｂｉｔが接続され、他方の入力部には、ＴＡＧ−ＲＡＭからのタグ情報ＴＭの読み出し／書き込みの時期に応じた制御信号ＲＥを伝送する配線が接続されている。なお、図６で示したインバータＧ４０の出力部と同様に、センスアンプＳＡ，ＳＡ２の活性化は、当該ＡＮＤゲートＧ１００の出力部からのセンスイネーブル信号ＳＥにより制御されている。
【０１８４】
図１２に示したＴＡＧ−ＲＡＭ回路において、タグ情報ＴＭの読み出し時には制御信号ＲＥとして「Ｈ」レベルの信号を送出する。すると、タグ情報ＴＭの読み出し時には、所定のワード線ｗｏｒｄ＜ｉ＞と接続されているＮ型トランジスタＮ２０がオン状態となり、ダミービット線ｄｂｉｔが接地電位となるので、ＡＮＤゲートＧ１００の出力部からは「Ｈ」レベルのセンスイネーブル信号ＳＥが出力さる。以後の動作は、実施の形態１で説明した動作と同じなので、ここでの説明は省略する。
【０１８５】
さて、これに対して、タグ情報ＴＭの書き込み時には制御信号ＲＥとして「Ｌ」レベルの信号を送出する。そうすると、ＡＮＤゲートＧ１００の出力部からは「Ｌ」レベルのセンスイネーブル信号ＳＥが出力される。これにより、センスアンプＳＡ，ＳＡ２はともに非活性状態へと変化する。これにより、センスアンプＳＡ２の出力からは、図７の構成からも分かるように「Ｌ」レベルの活性化信号ＥＮが出力される。
【０１８６】
したがって、図３で示したＸＯＲ回路では、各トランスミッションゲートＴＧ２０，ＴＧ２１はオフの状態が維持され、Ｐ型トランジスタＰ２０がオン状態となるので（非活性状態）、演算処理を行わず、排他論理和信号ｃｍｐは「Ｌ」レベルとなる。
【０１８７】
また、図４で示した遅延回路ＤＬＹ２により、活性化信号ＥＮ２は活性化信号ＥＮに基づいて生成されるので、当該タグ情報ＴＭの書き込時には、活性化信号ＥＮ２も「Ｌ」レベルとなるので、図５，１０で示した論理積回路においても演算処理を行わず、プリチャージ状態を保持することとなる（非活性状態）。
【０１８８】
以上のように、ＴＡＧ−ＲＡＭからのタグ情報ＴＭの書き込み時には、実施の形態１，２に係る比較器２０１を構成するＸＯＲ回路、論理積回路の各回路の動作を停止させることができるので、比較器２０１の低消費電力化を可能とすることができる。
【０１８９】
＜実施の形態４＞
上記でも説明したように、必要とするデータを読み出すときに、ＣＰＵからアドレスデータ２が出力されると、キャッシュメモリ１の所定のアドレスからタグ情報ＴＭとデータとが同時に読み出され、当該読み出されたデータがＣＰＵが必要とするデータであるか否かの判定を行う。
【０１９０】
その結果、判定信号がＨＩＴ（「Ｈ」レベル）であった場合には、読み出されたデータをＣＰＵが利用する。したがって、判定信号がＨＩＴ（「Ｈ」レベル）であることを検出して、ＣＰＵにデータを取り込むように制御するのが一般的である。
【０１９１】
ところで、図５および図１０で示した論理積回路を構成するラッチ回路ＬＡＴ３０、ＬＡＴ８０は、新たな判定信号が入力されるまでは前回の判定信号の結果を保持・出力している。
【０１９２】
したがって、前回の判定信号がＨＩＴ（「Ｈ」レベル）であった場合には、ＣＰＵは、今回判定すべき新たな判定信号が出力されてくるのを待たずに、前回の判定信号によりデータを取り込むと判断してしまう恐れがあった。
【０１９３】
そこで、本実施の形態に係る半導体回路を構成する比較器２０１では、データの読み出しを開始する度に、初期化設定により一定期間、判定信号が「Ｌ」レベルとなるように構成されている。
【０１９４】
図１３は、初期化およびダイナミック回路である論理積回路の活性化を制御する活性化信号を生成するための回路を示す図である。また、図１４は、本実施の形態に係るダイナミック回路である論理積回路を示す図である。以下、図１３，１４の構成について説明する。ここで、図１３に示す回路は、図１４に示す論理積回路の前段に位置している。
【０１９５】
＜回路構成＞
図１３に示す回路は、クロック信号ＣＬＫの立ち上がり時を機に一定期間のパルスを発生するパルス発生器Ｇ１１１とＳＲラッチ回路Ｇ１１０とで構成されている。
【０１９６】
パルス発生器Ｇ１１１は、ＡＮＤゲートＧ１１２の一方の入力部には、クロック信号ＣＬＫが直接入力され、他方の入力部には、遅延回路ＤＬＹ４とインバータＧ１１３とを介してクロック信号ＣＬＫが入力されるように、構成されている。ここで、パルス発生器Ｇ１１１におけるパルスの発生期間は、遅延回路ＤＬＹ４の遅延値により決定される。
【０１９７】
ＳＲラッチ回路Ｇ１１０においては、Ｓｅｔ入力部には、図４で示した遅延回路ＤＬＹ２から出力される活性化信号ＥＮ２が入力され、Ｒｅｓｅｔ入力部にはパルス発生器Ｇ１１１の出力（ＡＮＤゲートＧ１１２の出力）からの信号が入力され、Ｑ出力部からは活性化信号ＥＮ４が図１４に示す後段の論理積回路に向けて出力される。したがって、本実施の形態では、論理積回路の活性状態を制御する信号として、活性化信号ＥＮ４が入力される。
【０１９８】
ここで、活性化信号ＥＮ２は、実施の形態１で説明したように、活性化信号ＥＮに基づいて遅延回路ＤＬＹ２により生成され、ＸＯＲ回路にて排他論理和信号ｃｍｐ＜ｉ＞が確定すると同時に、当該活性化信号ＥＮ２は立ち上がるように、遅延回路ＤＬＹ２の遅延値が設定されているとする。
【０１９９】
次に、図１４に示すダイナミック回路である論理積回路の構成について説明する。
【０２００】
図１４に示す論理積回路は、図５または図１０に示す論理積回路とほぼ同じ構成となっているが、つまり、トランスミッションゲートＴＧ２２，ＴＧ８０より前段の構成は同じであるが、以下の点において異なる。
【０２０１】
当該相違点とは、インバータＧ３３，Ｇ８３が除去されており、インバータＧ８１またはＧ３１の入力部と接地との間に、Ｎ型トランジスタＮ１２０が追加されている点において異なる。ここで、Ｎ型トランジスタＮ１２０のゲートは、インバータＧ３０，Ｇ８０の出力部に接続されている。なお、図１４は、図１０を上記のように変形させた場合について図示したものである。
【０２０２】
次に、図１５に示すタイミングチャートに基づいて、上記各回路の動作について説明する。
【０２０３】
＜回路の動作説明＞
まず、クロック信号ＣＬＫが立ち上がり「Ｈ」レベルとなると同時に、図１３で示したパルス発生器Ｇ１１１は、「Ｈ」レベルが所定の幅であるパルスの発生を開始し、当該パルスは、ＳＲラッチ回路Ｇ１１０のＲｅｓｅｔ入力部に入力される。
【０２０４】
ＳＲラッチ回路Ｇ１１０のＲｅｓｅｔ入力部に「Ｈ」レベルのパルス信号が入力されると、ＳＲラッチ回路Ｇ１１０のＱ出力部からは「Ｌ」レベルの活性化信号ＥＮ４が出力される。
【０２０５】
その後、パルス発生器Ｇ１１１から出力されるパルス信号が立ち下がり、ＳＲラッチ回路Ｇ１１０のＲｅｓｅｔ入力部に「Ｌ」レベルの信号が入力されたとしても、活性化信号ＥＮ２が「Ｌ」レベルの間は、当該ＳＲラッチＧ１１０のＱ出力部からは、「Ｌ」レベルの活性化信号ＥＮ４が出力され続ける。
【０２０６】
ここで、今活性化信号ＥＮ２は、クロック信号ＣＬＫが立ち上がってからΔｔ１（クロック信号ＣＬＫが立ち上がってから、ＴＡＧ−ＲＡＭからタグ情報ＴＭが読み出されるまでの時間）＋Δｔ２（タグ情報ＴＭが読み出されてから、排他論理和信号ｃｍｐが出力されるまでの時間）後に、立ち上がる。
【０２０７】
さて、「Ｌ」レベルの活性化信号ＥＮ４が生成されると、図１４に示した論理積回路のＮ型トランジスタＮ７０はオフ状態となり、Ｐ型トランジスタＰ８０はオン状態となるので、論理積回路はプリチャージされ、配線Ｄ８０は「Ｈ」レベルの電位となる（非活性状態）。
【０２０８】
また、これと同時に、トランスミッションゲートＴＧ８０がオフ状態となり、Ｎ型トランジスタＮ１２０はオン状態となるので、「Ｌ」レベルの判定信号が出力部４６から出力される（判定信号の初期化）。つまり、前段のＸＯＲ回路にて排他論理和信号ｃｍｐ＜ｉ＞が出力されるまで（活性化信号ＥＮ２が「Ｌ」レベルの間）は、論理積回路からはＭＩＳＳを表す判定信号が出力される。
【０２０９】
さて、前段のＸＯＲ回路において、新たなタグ情報ビットＴＭＢ＜ｉ＞に基づいて演算処理を行い、結果として排他論理和信号ｃｍｐ＜ｉ＞が出力されると、これと同時に活性化信号ＥＮ２も立ち上がり「Ｈ」レベルとなり、ＳＲラッチ回路Ｇ１１０のＳｅｔ入力部に入力される。
【０２１０】
今、ＳＲラッチ回路Ｇ１１０のＲｅｓｅｔ入力部には、「Ｌ」レベルの信号が入力されてきているので、当該ラッチ回路Ｇ１１０の出力部Ｑからは、「Ｈ」レベルの活性化信号ＥＮ４が出力される。
【０２１１】
すると、図１４で示した論理積回路のＰ型トランジスタＰ８０およびＮ型トランジスタＮ１２０がオフ状態となり、また、トランスミッションゲートＴＧ８０およびＮ型トランジスタＮ７０がオン状態となる。当該状態は判定処理を行う状態である（活性化状態）。つまり、活性化信号ＥＮ４が「Ｈ」レベルとなることにより、ＨＩＴ／ＭＩＳＳの判定処理へと移行するのである。
【０２１２】
これ以降の論理積回路の判定処理は実施の形態２と同様であり、全ての排他論理和信号ｃｍｐ＜０：１５＞が「Ｌ」レベル（つまり、タグ情報ＴＭと参照タグ情報ＴＣとが一致する）場合には、「Ｈ」レベルの判定信号（ＨＩＴ）が出力される。
【０２１３】
また、排他論理和信号ｃｍｐ＜０：１５＞のうち一つでも「Ｈ」レベル（つまり、タグ情報ＴＭと参照タグ情報ＴＣとが不一致する）場合には、「Ｌ」レベルの判定信号（ＭＩＳＳ）が出力される。
【０２１４】
なお、活性化信号ＥＮ２は、クロック信号ＣＬＫが立ち下がってから所定の時間後には、「Ｌ」レベルに戻るので、その後、再びクロック信号ＣＬＫが立ち上がると、上記で説明したように活性化信号ＥＮ４は「Ｌ」レベルとなるので、次に読み出されたタグ情報ＴＭに基づいた判定を行う前に、論理積回路の判定信号をＭＩＳＳに設定・初期化することができる。
【０２１５】
これ以降の動作は上記動作と同じであり、繰り返し動作する。
【０２１６】
以上ように、クロック信号ＣＬＫの立上りエッジに同期してＣＰＵがデータを取り込むためにアドレスデータ２が出力されてから、これに基づいた排他論理和信号ｃｍｐ＜ｉ＞が確定されるまでの間に、論理積回路の判定信号をＭＩＳＳに設定・初期化する処理を行うことにより、誤ってＣＰＵが前回の判定信号に基づいてデータを取り込むか否かの判断をすることがなくなるので、ＣＰＵが取り込むべきでないデータを取り込むことを防止することができる。
【０２１７】
なお、以上の動作から分かるように、遅延回路ＤＬＹ４の遅延値は、クロック信号ＣＬＫが立ち上がってから排他論理和信号ｃｍｐ＜ｉ＞が確定するまでの時間より短くなるように設定されるべきである。さもないと、新たなタグ情報ビットＴＭＢ＜ｉ＞に基づく排他論理和信号ｃｍｐ＜ｉ＞が確定しているにもかかわらず、論理積回路はＭＩＳＳの判定信号を出力し続けるからである。
【０２１８】
なお、本実施の形態では、初期化および論理積回路の活性状態の制御に活性化信号ＥＮ４を採用したが、活性化信号ＥＮ２を採用してもかまわない。しかし、活性化信号ＥＮ４を採用することにより、クロック信号ＣＬＫの立ち上がりに同期した判定信号の初期化を実行することができる。
【０２１９】
＜実施の形態５＞
上記実施の形態に係る比較器２０１では、ダイナミック回路である論理積回路を活性化させるタイミングを、活性化信号ＥＮ２または活性化信号ＥＮ４によって図られていた。当該活性化信号ＥＮ２，ＥＮ４が「Ｈ」レベルとなることにより、論理積回路は活性化するのだが、このタイミングは、排他論理和信号ｃｍｐ＜ｉ＞の確定の時期に合わせる必要があった。これにより、活性化信号ＥＮ２、ＥＮ４を遅延回路ＤＬＹ２，ＤＬＹ４により生成する必要があった。
【０２２０】
そこで、本実施の形態５では、クロック信号ＣＬＫを論理積回路の活性状態を制御する信号として用いることにより、上記遅延回路を削除する。そのために、本実施の形態では、図１６に示すダイナミック回路である論理積回路を採用する。
【０２２１】
図１６に示す論理積回路は、図１０に示した論理積回路と構成は同じであるが、Ｐ型トランジスタＰ８０、Ｎ型トランジスタＮ７０およびトランスミッションゲートＴＧ８０を制御する信号として、インバータＧ１４０により反転させられたクロック信号ＣＬＫが用いられている。
【０２２２】
以下、本実施の形態に係る論理積回路の動作について、図１７に示すタイミングチャートに基づいて説明する。
【０２２３】
まず、クロック信号ＣＬＫが立ち上がり「Ｈ」レベルとなると、当該クロック信号ＣＬＫはインバータＧ１４０により「Ｌ」レベルに反転させられ、Ｐ型トランジスタＰ８０のゲート、Ｎ型トランジスタＮ７０のゲートおよびトランスミッションゲートＴＧ８０の各ゲートにそれぞれ入力される。
【０２２４】
すると、Ｐ型トランジスタＰ８０はオン状態となり、Ｎ型トランジスタＮ７０はオフ状態となり、トランスミッションゲートＴＧ８０がオフ状態となるので、ダイナミック回路である論理積回路は固定電源によりプリチャージされる（非活性化状態）。
【０２２５】
さて、クロック信号ＣＬＫが立ち上がってからΔｔ１後に、ＴＡＧ−ＲＡＭからタグ情報ビットＴＭＢ＜ｉ＞が読み出され、それからΔｔ２後に、ＸＯＲ回路において排他論理和信号ｃｍｐ＜ｉ＞が確定し、当該排他論和信号ｃｍｐ＜ｉ＞が確定した後に、クロック信号ＣＬＫが立ち下がったとする。
【０２２６】
クロック信号ＣＬＫが立ち下がり「Ｌ」レベルとなると、当該クロック信号ＣＬＫはインバータＧ１４０により「Ｈ」レベルに反転させられ、Ｐ型トランジスタＰ８０のゲート、Ｎ型トランジスタＮ７０のゲートおよびトランスミッションゲートＴＧ８０の各ゲートにそれぞれ入力される。
【０２２７】
すると、Ｐ型トランジスタＰ８０はオフ状態となり、Ｎ型トランジスタＮ７０はオン状態となり、トランスミッションゲートＴＧ８０がオン状態となるので、ダイナミック回路である論理積回路は活性状態へと変移する。
【０２２８】
その後の、論理積回路における判定動作は実施の形態２と同様なので、ここでの説明は省略する。
【０２２９】
なお、以上の動作から分かるように、本実施の形態に係る論理積回路が正常に判定処理を行うためには、クロック信号ＣＬＫの周期ｔｃｙｃは以下に示す条件を満たさなければならない。
【０２３０】
ｔｃｙｃ／２＞Δｔ１＋Δｔ２
しかし通常、ＴＡＧ−ＲＡＭを含めたメモリの動作では、当該メモリでのデータ読み出し開始から実際にデータが読み出されるまでの時間Δｔ１は、ＸＯＲ回路における演算時間Δｔ２に比べて十分長く（つまり、Δｔ１≫Δｔ２）なるように設計されている。
【０２３１】
また、クロック周期ｔｃｙｃの後半にビット線のプリチャージが行われるため、これにより設定されるクロック周期ｔｃｙｃの半周期の長さは、時間Δｔ１に比べて十分に長く（つまり、Δｔ１≪ｔｃｙｃ／２）なる。
【０２３２】
したがって、通常のメモリ設定を行えば、上記条件、ｔｃｙｃ／２＞Δｔ１＋Δｔ２は満たされる。
【０２３３】
よって、クロック周期ｔｃｙｃの前半期間の間に、ＸＯＲ回路において排他論理和信号ｃｍｐ＜ｉ＞は確定されるので、本実施の形態に係る比較器２０１は、正常に比較判定動作を行うことができる。
【０２３４】
以上のように、本実施の形態では、クロック信号ＣＬＫの立ち下がりを利用してダイナミック回路である論理積回路を活性化しているので、遅延回路を省略することができ、回路全体の縮小化および消費電力の削減を図ることができる。
【０２３５】
また、遅延回路を省略できるので、当該遅延回路のプロセス時におけるパラメータ変動による遅延回路特性のばらつきが原因となる、回路の誤動作の問題も生じることがなくなる。
【０２３６】
なお、本実施の形態では、図１０に示した論理積回路に基づいて構成される場合について説明したが、図５に示した論理積回路に基づいて構成することも可能である。つまり、図５に示した論理積回路において、Ｐ型トランジスタＰ３０のゲートに、クロック信号ＣＬＫを反転させた信号が入力されるような構成とすることにより、上記と同様な効果を得ることができる。
【０２３７】
＜実施の形態６＞
本実施の形態に係る半導体回路を、図１８および図１９に示す回路図に基づいて説明する。ここで、図１８は、実施の形態６に係るタグ情報ビットＴＭＢ＜０：１５＞を出力するセンスアンプＳＡとＸＯＲ回路等の構成を示す図である。また図１９は、実施の形態６に係るダイナミック回路である論理積回路の構成を示す図である。
【０２３８】
＜回路構成＞
まず、図１８に示す回路構成について説明する。
【０２３９】
図１８において符号ＳＡは、図６または図１２で示したＴＡＧ−ＲＡＭに設けられている、本実施の形態に係るセンスアンプＳＡを示しており、具体的な構成が描かれている。
【０２４０】
データ線ＤＡＴＡが接続される入力部１６０は、配線Ｄ１６０に接続されており、データ線ＤＡＴＡＣが接続される入力部１６１は、配線Ｄ１６１に接続されている。また、配線Ｄ１６０と配線Ｄ１６１との間には、並列に２段の回路群が接続されている。
【０２４１】
まず、前段の回路群の構成について説明する。
【０２４２】
Ｐ型トランジスタＰ１６２の一端は、配線Ｄ１６０が接続されており、当該Ｐ型トランジスタＰ１６２の他端は、配線Ｄ１６１が接続されている。
【０２４３】
また、Ｐ型トランジスタＰ１６３のドレインはＰ型トランジスタＰ１６２の一端側に接続され、ソースは固定電源に接続されている。また、Ｐ型トランジスタＰ１６４のドレインはＰ型トランジスタＰ１６２の他端側に接続され、ソースは固定電源に接続されている。ここで、Ｐ型トランジスタＰ１６２，Ｐ１６３，Ｐ１６４のゲートには、共通にクロック信号ＣＬＫが入力される。
【０２４４】
次に、後段の回路群の構成について説明する。
【０２４５】
Ｐ型トランジスタＰ１６０の一端は、配線Ｄ１６０に接続されており、Ｐ型トランジスタＰ１６１の一端は、配線Ｄ１６１に接続されている。
【０２４６】
Ｐ型トランジスタＰ１６０の他端は、Ｐ型トランジスタＰ１６５とＮ型トランジスタＮ１６０とを直列に接続させることにより構成されるＣＭＯＳインバータＣ１６０の出力側に接続されている。これに対して、Ｐ型トランジスタＰ１６１の他端は、Ｐ型トランジスタＰ１６６とＮ型トランジスタＮ１６１とを直列に接続させることにより構成されるＣＭＯＳインバータＣ１６１の出力側に接続されている。
【０２４７】
また、ＣＭＯＳインバータＣ１６０とＣ１６１の入出力部を相互に接続させことにより、相互接続されたＣＭＯＳインバータが構成されている。
【０２４８】
ここで、Ｐ型トランジスタＰ１６５、Ｐ１６６のソースは固定電源に接続されており、Ｎ型トランジスタＮ１６０，Ｎ１６１のソースはＮ型トランジスタＮ１６２を介して接地に接続されている。
【０２４９】
すなわち、ＣＭＯＳインバータＣ１６０，Ｃ１６１およびＰ型トランジスタＰ１６０，Ｐ１６１により、スタティックなＣＭＯＳ型メモリセルを構成している。
【０２５０】
さらに、Ｐ型トランジスタＰ１６０，Ｐ１６１のゲート、およびＮ型トランジスタＮ１６２のゲートには、共通でセンスイネーブル信号ＳＥが入力されている。
【０２５１】
以上が、本実施の形態に係るセンスアンプＳＡの具体的な構成である。
【０２５２】
ここで、実施の形態１では、通常センスアンプＳＡの出力側には、タグ情報ビットＴＭＢ＜ｉ＞を保持するためのラッチ回路および素子駆動用のドライバが接続されている。これは、クロック信号ＣＬＫが「Ｌ」レベルに変化すると、センスアンプＳＡが初期化され、出力データが消えてしまうからである。
【０２５３】
つまり、クロック信号ＣＬＫが「Ｈ」レベルの間にＸＯＲ回路での演算処理が終了すれば問題ないのだが、活性化信号ＥＮの制御下にあるＸＯＲ回路では、必ずクロック信号ＣＬＫが「Ｈ」レベルの間に演算処理が終了するとは言えない為、当該演算が終了しないときの補償用回路として当該ラッチ回路が設けられている。
【０２５４】
しかし、本実施の形態では、ＸＯＲ回路の活性化信号ＥＮによる制御を要しないのでラッチ回路は不要となる。また、後述するように本実施の形態に係るＸＯＲ回路では、駆動させるべき素子の数が実施の形態１のそれと比べて少ないので、素子駆動用のドライバも省略することができる。
【０２５５】
これにより、タグ情報ＴＭＢ＜ｉ＞のＸＯＲ回路への供給が、実施の形態１に比べて高速される。
【０２５６】
さて本実施の形態では、ラッチ回路や素子駆動用のドライバは削除するが、センスアンプＳＡは、ＮＯＲゲートＧ１６３，Ｇ１６４を介して後段のＸＯＲ回路へと接続される。
【０２５７】
ここで、ＮＯＲゲートＧ１６３の一方の入力部は、ＣＭＯＳインバータＣ１６０の出力側と接続されている。また、ＮＯＲゲートＧ１６４の一方の入力部は、ＣＭＯＳインバータＣ１６１の出力側と接続されている。なお、ＮＯＲゲートＧ１６３，Ｇ１６４の他方の入力部には、インバータＧ１６５を介して共通にセンスイネーブル信号ＳＥが入力される。
【０２５８】
さて次に、同図（図１８）の本実施の形態に係るＸＯＲ回路の具体的な説明をする。
【０２５９】
ＸＯＲ回路は、２つのトランスミッションゲートＴＧ１６０，ＴＧ１６１とを有しており、トランスミッションゲートＴＧ１６０の入力部には、ＮＯＲゲートＧ１６３の出力部が接続されており、トランスミッションゲートＴＧ１６１の入力部には、ＮＯＲゲートＧ１６４の出力部が接続されている。また、トランスミッションゲートＴＧ１６０，ＴＧ１６１の出力部は共に、排他論理和信号ｃｍｐ＜ｉ＞を出力する出力部１６２に接続されている。
【０２６０】
また、参照ビットＴＣＢ＜ｉ＞が入力される入力部１６３はインバータＧ１６６を介して、トランスミッションゲートＴＧ１６０のＰ型ゲートとトランスミッションゲートＴＧ１６１のＮ型ゲートとにそれぞれ接続されている。さらに、入力部１６３はインバータＧ１６６，Ｇ１６７を介して、トランスミッションゲートＴＧ１６０のＮ型ゲートとトランスミッションゲートＴＧ１６１のＰ型ゲートとにそれぞれ接続されている。
【０２６１】
以上が、本実施の形態に係るＸＯＲ回路の具体的な構成である。
【０２６２】
次に、図１９に示す本実施の形態に係る論理積回路について説明する。
【０２６３】
本実施の形態に係る論理積回路の構成は、図５で示した論理積回路の構成と同じであるが、Ｐ型トランジスタＰ３０のゲート、トランスミッションゲートＴＧ２２のゲートに活性化信号が入力されるのではなく、センスイネーブル信号ＳＥが入力される点において異なる。
【０２６４】
以下、本実施の形態に係る比較器２０１の動作について説明する。
【０２６５】
＜回路の動作説明＞
まず、クロック信号ＣＬＫが「Ｌ」レベルの期間では、図１８で示したＰ型トランジスタＰ１６２，Ｐ１６３，Ｐ１６４は、それぞれオン状態となるので、入力部１６０，１６１と接続している配線Ｄ１６０，Ｄ１６１は、共に「Ｈ」レベルにプリチャージされる。
【０２６６】
当該期間では、図６等で示したダミーカラムＤＣにより生成されるセンスイネーブル信号ＳＥも、もちろん「Ｌ」レベルなので、Ｐ型トランジスタＰ１６０，Ｐ１６１はともにオン状態となり、Ｎ型トランジスタＮ１６２はオフ状態となる。
【０２６７】
これにより、ＮＯＲゲートＧ１６３，Ｇ１６４の一方の入力部には「Ｈ」レベルの信号が入力され、他方の入力部においても、「Ｌ」レベルのセンスイネーブル信号ＳＥがインバータＧ１６５を経るので、「Ｈ」レベルの信号が入力される。よって、当該ＮＯＲゲートＧ１６３，Ｇ１６４の出力部からは「Ｌ」レベルの信号が出力される。
【０２６８】
上記「Ｌ」レベルの信号が後段のＸＯＲ回路に入力され、参照ビットＴＣＢ＜ｉ＞として「Ｈ」レベルが入力部１６３から入力された場合には、トランスミッションゲートＴＧ１６０がオン状態となり、ＮＯＲゲートＧ１６３から出力される「Ｌ」レベルの信号が、出力部１６２から「Ｌ」レベルの排他論理和信号ｃｍｐ＜ｉ＞として出力される。
【０２６９】
他方、参照ビットＴＣＢ＜ｉ＞として「Ｌ」レベルが入力部１６３から入力された場合には、トランスミッションゲートＴＧ１６１がオン状態となり、ＮＯＲゲートＧ１６４から出力される「Ｌ」レベルの信号が、出力部１６２から「Ｌ」レベルの排他論理和信号ｃｍｐ＜ｉ＞として出力される。
【０２７０】
次に、クロック信号ＣＬＫが立ち上がる。ここで、図６において、Ｎ型トランジスタＮ２０がオン状態となっても、当該Ｎ型トランジスタＮ２０を介するダミービット線ｄｂｉｔが帯びている電気の接地への放電には多少時間を要するので、クロック信号ＣＬＫが立ち上がって所定の時間経過した後に、センスイネーブル信号ＳＥは「Ｈ」レベルとなる。
【０２７１】
したがって、クロック信号ＣＬＫが立ち上がってから所定の時間までは、センスイネーブル信号ＳＥは「Ｌ」レベルのままである。ここで、当該所定の時間は、Ｎ型トランジスタのサイズにより決められる。
【０２７２】
したがって、「Ｌ」レベルのセンスイネーブル信号ＳＥにより、Ｐ型トランジスタＰ１６０，Ｐ１６１はともにオン状態を維持し、Ｎ型トランジスタＮ１６２はオフ状態を維持する。また、クロック信号ＣＬＫが「Ｈ」レベルとなっているので、Ｐ型トランジスタＰ１６２，Ｐ１６３，Ｐ１６４は、それぞれオフ状態となる。
【０２７３】
よって、前段で出力されたメモリセルＭの電位により、配線Ｄ１６０，Ｄ１６１は若干の電位差は生じるものの、依然として「Ｈ」レベルが維持される。
【０２７４】
したがって、上記と同様の議論により当該ＮＯＲゲートＧ１６３，Ｇ１６４の出力部からは「Ｌ」レベルの信号が出力され、後段のＸＯＲ回路では、参照ビットＴＣＢ＜ｉ＞が「Ｈ」、「Ｌ」のどちらのレベルであっても、排他論理和信号ｃｍｐ＜ｉ＞として「Ｌ」レベルが出力される。
【０２７５】
つまり、センスイネーブル信号ＳＥが「Ｌ」レベルの期間は、ＸＯＲ回路から排他論理和信号ｃｍｐ＜ｉ＞として、「Ｌ」レベルの信号が出力されるのである。
【０２７６】
さて、センスイネーブル信号ＳＥが「Ｌ」レベルの期間では、ＸＯＲ回路の後段に位置する図１９に示した論理積回路は、Ｐ型トランジスタＰ３０はオン状態となり、トランスミッションゲートＴＧ２２はオフ状態となり、演算用の各Ｎ型トランジスタＮ０〜Ｎ１５もオフ状態となるので、プリチャージが正常に実行される（非活性状態）。
【０２７７】
次に、センスイネーブル信号ＳＥが「Ｈ」レベルになると、図１８において、Ｐ型トランジスタＰ１６０，Ｐ１６１がオフ状態となり、Ｎ型トランジスタＮ１６２がオン状態となるので、前段のメモリセルＭから出力されてたタグ情報ビット信号により生じていた若干の電位差が、ＣＭＯＳＣ１６０，Ｃ１６１により増幅され、当該電位差に応じて、ＣＭＯＳＣ１６０，Ｃ１６１の出力側のどちらか一方が「Ｌ」レベルとなり、他方側が「Ｈ」レベルとなる。
【０２７８】
ＣＭＯＳＣ１６１の出力側の電位が「Ｈ」レベルだとすると、ＮＯＲゲートＧ１６４の一方の入力部には「Ｈ」レベルの信号が入力され、ＮＯＲゲートＧ１６３の一方の入力部には「Ｌ」レベルの信号が入力される。今、センスイネーブル信号ＳＥは「Ｈ」レベルであるので、ＮＯＲゲートＧ１６３，Ｇ１６４の他方の入力部には、共通に「Ｌ」レベルの信号が入力される。
【０２７９】
したがって、ＮＯＲゲートＧ１６４の出力部からは、「Ｌ」レベルのタグ情報ビットＴＭＢ＜ｉ＞が出力される。一方、ＮＯＲゲートＧ１６３の出力部からは、「Ｈ」レベルのタグ情報ビットＴＭＢ*＜ｉ＞が出力される。
【０２８０】
これに対して、ＣＭＯＳＣ１６０の出力側の電位が「Ｈ」レベルだとすると、ＮＯＲゲートＧ１６３の一方の入力部には「Ｈ」レベルの信号が入力され、ＮＯＲゲートＧ１６４の一方の入力部には「Ｌ」レベルの信号が入力される。センスイネーブル信号ＳＥは「Ｈ」レベルであるので、ＮＯＲゲートＧ１６３，Ｇ１６４の他方の入力部には、共通に「Ｌ」レベルの信号が入力される。
【０２８１】
したがって、ＮＯＲゲートＧ１６４の出力部からは、「Ｈ」レベルのタグ情報ビットＴＭＢ＜ｉ＞が出力される。一方、ＮＯＲゲートＧ１６３の出力部からは、「Ｌ」レベルのタグ情報ビットＴＭＢ*＜ｉ＞が出力される。
【０２８２】
上記から分かるように、センスイネーブル信号ＳＥが「Ｈ」レベルとなると、相補的な関係を有するタグ情報ビットＴＭＢ＜ｉ＞とタグ情報ビットＴＭＢ*＜ｉ＞とが、後段のＸＯＲ回路に入力されることとなる。
【０２８３】
その結果、タグ情報ビットＴＭＢ＜ｉ＞が「Ｈ」レベルで、参照ビットＴＣＢ＜ｉ＞が「Ｈ」レベルの場合、ＸＯＲ回路のトランスミッションゲートＴＧ１６０がオン状態となるので、出力部１６２から「Ｌ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【０２８４】
また、タグ情報ビットＴＭＢ＜ｉ＞が「Ｈ」レベルで、参照ビットＴＣＢ＜ｉ＞が「Ｌ」レベルの場合、ＸＯＲ回路のトランスミッションゲートＴＧ１６１がオン状態となるので、出力部１６２から「Ｈ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【０２８５】
また、タグ情報ビットＴＭＢ＜ｉ＞が「Ｌ」レベルで、参照ビットＴＣＢ＜ｉ＞が「Ｌ」レベルの場合、ＸＯＲ回路のトランスミッションゲートＴＧ１６１がオン状態となるので、出力部１６２から「Ｌ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【０２８６】
また、タグ情報ビットＴＭＢ＜ｉ＞が「Ｌ」レベルで、参照ビットＴＣＢ＜ｉ＞が「Ｈ」レベルの場合、ＸＯＲ回路のトランスミッションゲートＴＧ１６０がオン状態となるので、出力部１６２から「Ｈ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【０２８７】
つまり、タグ情報ビットＴＭＢ＜ｉ＞と参照ビットＴＣＢ＜ｉ＞とが一致する場合は、「Ｌ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力され、タグ情報ビットＴＭＢ＜ｉ＞と参照ビットＴＣＢ＜ｉ＞とが不一致の場合は、「Ｈ」レベルの排他論理和信号ｃｍｐ＜ｉ＞が出力される。
【０２８８】
さて、図１９に示した論理積回路では、センスイネーブル信号ＳＥとして「Ｈ」レベルが入力されると、Ｐ型トランジスタＰ３０はオフ状態となり、トランスミッションゲートＴＧ２２はオン状態となるので、ダイナミック回路である論理積回路は活性状態へと変移する。
【０２８９】
当該状態にて、排他論理和信号ｃｍｐ＜０：１５＞として「Ｌ」レベルの信号が各Ｎ型トランジスタＮ０〜Ｎ１５のゲートへと入力してくると（つまり、タグ情報ＴＭと参照タグ情報ＴＣとが完全に一致する場合）、全てのＮ型トランジスタＮ０〜Ｎ１５はオフ状態を維持するので、判定信号としてプリチャージされていた「Ｈ」レベルのＨＩＴ信号が出力される。
【０２９０】
これに対して、排他論理和信号ｃｍｐ＜０：１５＞のいずれか一つでも「Ｈ」レベルであった場合には（タグ情報ＴＭと参照タグ情報ＴＣとが不一致の場合）、当該「Ｈ」レベルの排他論理和信号ｃｍｐ＜０：１５＞がゲートに入力してきたＮ型トランジスタＮ０〜Ｎ１５はオン状態となるので、配線Ｄ３０は「Ｌ」電位へと変化し、判定信号として「Ｌ」レベルのＭＩＳＳ信号が出力される。
【０２９１】
以上が、本実施の形態に係る比較器の判定動作であり、正常に判定処理を行うことができる。
【０２９２】
他の実施の形態に係るＸＯＲ回路では、当該ＸＯＲ回路内で相補的な関係を有するタグ情報ＴＭＢ＜ｉ＞，ＴＭＢ*＜ｉ＞を作っていたが、本実施の形態に係るＸＯＲ回路では、外部より当該相補的な関係を有するタグ情報ＴＭＢ＜ｉ＞，ＴＭＢ*＜ｉ＞が入力されてくるので、ＸＯＲ回路の構成を簡略化させることができる。
【０２９３】
また、これとは別に、論理積回路の活性化を制御する信号として、タグ情報ＴＭＢ＜ｉ＞を出力するセンスアンプＳＡの制御も行っているセンスイネーブル信号ＳＥを用いることにより、以下に示す効果も得ることができる。
【０２９４】
他の実施の形態では、ＸＯＲ回路において排他論理和信号ｃｍｐ＜ｉ＞が確定するタイミングに合わせて、ダイナミック回路である論理積回路を活性化させる必要があった。つまり、論理積回路において、正常に判定処理を行うためには、排他論理和信号ｃｍｐ＜ｉ＞が確定してから当該論理積回路を活性化させる必要があり、当該排他論理和信号ｃｍｐ＜ｉ＞の確定時期と当該論理積回路を活性化させる時期との時間差が小さいほど、判定結果を早期に得ることができていた。
【０２９５】
しかし、上記時間差があまりに小さく設定しすぎると、比較器２０１の歩留が低下する傾向にある。これは、比較器２０１のプロセスにおけるパラメータの変動により、当初予定していた時間差がばらつき、排他論理和信号ｃｍｐ＜ｉ＞が確定する前に、論理積回路を活性化させてしまう場合も出てくるからである。
【０２９６】
したがって、通常は比較器２０１の動作マージンを動作速度より優先させる必要があり、これにより、ダイナミック回路である論理積回路を導入するに際し、当該論理積回路の速度向上には限界があった。
【０２９７】
そこで、本実施の形態に係る比較器２０１では、ＸＯＲ回路として、判定したいタグ情報ＴＭＢ＜ｉ＞が入力されるまで（つまり、センスイネーブル信号ＳＥが「Ｌ」レベルの期間）、後段の論理積回路の演算用Ｎ型トランジスタＮ０〜Ｎ１５を動作させない信号（今の場合、「Ｌ」レベルの排他論理和信号ｃｍｐ＜ｉ＞）を出力する回路を構成することを条件に、論理積回路の活性化を制御する信号として、当該タグ情報ＴＭＢ＜ｉ＞の出力を制御するセンスイネーブル信号ＳＥを用いることにより、上記で示した当該排他論理信号ｃｍｐ＜ｉ＞の確定時期と当該論理積回路を活性化させる時期との時間差が不要となるので、上記問題は解消され比較器２０１全体の動作を向上させることができる。
【０２９８】
なお、本実施の形態では、論理積回路の活性化を制御する信号として、センスイネーブル信号ＳＥを用いたが、後段の論理積回路の演算用Ｎ型トランジスタＮ０〜Ｎ１５を動作させない信号を出力するＸＯＲ回路を構成するという条件を満たすなら（ここで、実施の形態１のＸＯＲ回路も当該条件は満たしている）、これより速く立ち上がる信号を採用しても良いが、センスイネーブル信号を用いることにより、簡単な回路設計で最良のタイミングで論理積回路を活性化させることができる。
【０２９９】
また、タグ情報ビットＴＭＢ＜ｉ＞および、これと相補的な関係にあるタグ情報ビットＴＭＢ*＜ｉ＞を出力するゲートとして、ＮＯＲゲートＧ１６３，Ｇ１６４の代わりにインバータを用いても良いが、上記のようにＮＯＲゲートＧ１６３，Ｇ１６４を用い、当該ＮＯＲゲートＧ１６３，Ｇ１６４の出力をセンスイネーブル信号ＳＥにより制御することにより、以下に示す効果を得ることができる。
【０３００】
ＴＡＧ−ＲＡＭにタグ情報ＴＭを書き込むときには、データ線ＤＡＴＡ，ＤＡＴＡＣのいずれかのが「Ｈ」レベルとなり、他方が「Ｌ」レベルとなる。このとき、もしインバータを用いたとすると、データの書き込時においても後段の比較器２０１は動作をしてしまうこととなる。
【０３０１】
しかし、ＮＯＲゲートＧ１６３，Ｇ１６４を用いてセンスイネーブル信号ＳＥによる制御を可能とすることにより、ＴＡＧ−ＲＡＭにタグ情報ＴＭを書き込むときには、センスイネーブル信号ＳＥは「Ｌ」レベルであるので、書き込み時には排他論理和信号も「Ｌ」レベルと固定されることとなり、比較器２０１は動作しない。
【０３０２】
したがって、読み出し時にのみ比較器２０１は動作するので、余分な電力を消費しなくて済む。
【０３０３】
なお、上記各実施の形態では、ＴＡＧ−ＲＡＭに記憶されているタグ情報ＴＭに限定して話を進めたが、これに限るものでなく、他の一般的なメモリ（記憶装置）に記憶されている多ビットの第一のデータと、ＣＰＵからの多ビットの第二のデータとを比較する比較器を有する半導体回路においても適用できることは言うまでない。
【０３０４】
【発明の効果】
本発明の請求項１に記載の半導体回路は、多ビットの第一のデータを記憶している記憶装置と、前記第一のデータと多ビットの第二のデータとの比較を行う比較器とを有する半導体回路において、前記記憶装置からの前記第一のデータの出力を制御する第一の制御信号に基づいて、前記比較器の活性状態が制御されているので、簡易な回路設計により、比較器の演算動作の高速化を考慮した最良なタイミングで比較器の活性状態を制御することができる。したがって、第一のデータが読み出されてから比較器による演算処理を開始するまでの時間差を最小限に抑えることができ、最終的に、比較器全体の判定処理の高速化へとつながる。
【図面の簡単な説明】
【図１】キャッシュメモリから読み出されたタグ情報と参照タグ情報との比較の説明をするための図である。
【図２】ＴＡＧ−ＲＡＭに対する入出力信号の様子を示す図である。
【図３】実施の形態１に係る排他論理和回路の具体的な構成を示す回路図である。
【図４】第一の活性化信号から第二の活性化信号を生成する様子を示す回路図である。
【図５】実施の形態１に係る論理積回路の具体的な構成を示す回路図である。
【図６】実施の形態１に係るＴＡＧ−ＲＡＭの具体的な構成を示す回路図である。
【図７】センスアンプＳＡ２の具体的な構成を示す回路図である。
【図８】実施の形態１に係る比較器の動作を説明するためのタイミングチャートである。
【図９】実施の形態２に係る排他論理和回路の具体的な構成を示す回路図である。
【図１０】実施の形態２に係る論理積回路の具体的な構成を示す回路図である。
【図１１】実施の形態２に係る比較器の動作を説明するためのタイミングチャートである。
【図１２】実施の形態３に係るＴＡＧ−ＲＡＭの具体的な構成を示す回路図である。
【図１３】論理積回路の活動を制御する信号を生成するための回路を示す図である。
【図１４】実施の形態４に係る論理積回路の具体的な構成を示す回路図である。
【図１５】実施の形態４に係る比較器の動作を説明するためのタイミングチャートである。
【図１６】実施の形態５に係る論理積回路の具体的な構成を示す回路図である。
【図１７】実施の形態５に係る比較器の動作を説明するためのタイミングチャートである。
【図１８】実施の形態６に係るセンスアンプと排他論理和回路の具体的構成を示す回路図である。
【図１９】実施の形態６に係る論理積回路の具体的な構成を示す回路図である。
【符号の説明】
１  キャッシュメモリ、２  アドレスデータ、１０〜１２，１４，３１，３２，４４，４５，１６０，１６１，１６３  入力部、１３，１５，３３，４６，１６２  出力部、２０１  比較器、Ｃ６０，Ｃ６１，Ｃ１６０，Ｃ１６１  ＣＭＯＳ、Ｄ３０，Ｄ８０，Ｄ８１，Ｄ１６０，Ｄ１６１  配線、Ｇ２０，Ｇ２３，Ｇ２４〜Ｇ２８，Ｇ３０〜Ｇ３３，Ｇ４０，Ｇ４１，Ｇ４３，Ｇ４５〜Ｇ４８，Ｇ８０〜Ｇ８３，Ｇ１１３，Ｇ１４０，Ｇ１６５〜Ｇ１６７  インバータ、Ｇ２１，Ｇ２２，Ｇ１６３，Ｇ１６４  ＮＯＲゲート、Ｇ４２，Ｇ１００，Ｇ１１２  ＡＮＤゲート、Ｇ１１０  ＲＳラッチ回路、Ｇ１１１  パルス発生器、ＬＡＴ３０，ＬＡＴ８０  ラッチ回路、Ｎ０〜Ｎ１５，Ｎ２０，Ｎ５０，Ｎ６０，Ｎ６１，Ｎ７０，Ｎ８０〜Ｎ９５，Ｎ１２０，Ｎ１６０〜Ｎ１６２  Ｎ型トランジスタ、Ｐ２０，Ｐ３０，Ｐ４０〜Ｐ５０，Ｐ６０〜Ｐ６３，Ｐ８０，Ｐ１６０〜Ｐ１６６  Ｐ型トランジスタ、ＴＧ２０〜ＴＧ２２，ＴＧ３０，ＴＧ３１，ＴＧ８０，ＴＧ１６０，ＴＧ１６１  トランスミッションゲート、ＣＬＫ  クロック信号、ｃｍｐ＜ｉ＞  排他論理和信号、ＤＡＴＡ，ＤＡＴＡＣ  データ線、ＤＣ  ダミーカラム、ＤＬＹ２，ＤＬＹ４  遅延回路、ＥＮ，ＥＮ２，ＥＮ４  活性化信号、ＥＮＣ  カラム、Ｍ，ＭＨ  メモリセル、ＭＣ  メモリ部、ＲＥ  制御信号（第二の制御信号）、ＳＥ  センスイネーブル信号（第一の制御信号）、ＳＡ，ＳＡ２  センスアンプ、ＴＭ  タグ情報、ＴＭＢ＜ｉ＞  タグ情報ビット、ＴＣ参照タグ情報、ＴＣＢ＜ｉ＞  参照ビット、ＸＯＲ  排他論理和回路。
【図１】
2004206242.tif 000003
【図２】
2004206242.tif 000004
【図３】
2004206242.tif 000005
【図４】
2004206242.tif 000006
【図５】
2004206242.tif 000007
【図６】
2004206242.tif 000008
【図７】
2004206242.tif 000009
【図８】
2004206242.tif 000010
【図９】
2004206242.tif 000011
【図１０】
2004206242.tif 000012
【図１１】
2004206242.tif 000013
【図１２】
2004206242.tif 000014
【図１３】
2004206242.tif 000015
【図１４】
2004206242.tif 000016
【図１５】
2004206242.tif 000017
【図１６】
2004206242.tif 000018
【図１７】
2004206242.tif 000019
【図１８】
2004206242.tif 000020
【図１９】
2004206242.tif 000021