(57)【要約】【課題】消費電力が低い記憶装置を得る。【解決手段】複数のキャッシュラインを有し、複数のキャッシュラインは、それぞれ、キャッシュデータを記憶するデータフィールドと、キャッシュデータに対応した番地データを記憶するタグと、データフィールドに記憶されるキャッシュデータが有効か無効かを示すバリッドデータを記憶するバリッドビットと、を有し、バリッドビットに記憶されたバリッドデータに基づいて、それぞれのキャッシュラインが有するタグ及びデータフィールドへの電力供給を行うか行わないかを決定する記憶装置に関する。【選択図】図１
2013250963.tif 000002
【特許請求の範囲】
【請求項１】
複数のキャッシュラインを有し、
前記複数のキャッシュラインは、それぞれ、
キャッシュデータを記憶するデータフィールドと、
前記キャッシュデータに対応した番地データを記憶するタグと、
前記データフィールドに記憶される前記キャッシュデータが有効か無効かを示すバリッドデータを記憶するバリッドビットと、
を有し、
前記バリッドビットに記憶されたバリッドデータを、前記タグ及び前記データフィールドに出力することにより、前記複数のキャッシュラインそれぞれの前記タグの電源及び前記データフィールドの電源を、オン状態又はオフ状態にすることを特徴とする記憶装置。
【請求項２】
複数のキャッシュラインを有し、
前記複数のキャッシュラインは、それぞれ、
キャッシュデータを記憶するデータフィールドと、
前記キャッシュデータに対応した番地データを記憶するタグと、
前記データフィールドに記憶される前記キャッシュデータが有効か無効かを示すバリッドデータを記憶するバリッドビットと、
を有し、
前記バリッドビットは、第１のメモリセルを有し、
前記タグ及び前記データフィールドそれぞれは、ソース又はドレインの一方に高レベル電源電位が印加される第１のトランジスタ、ソース又はドレインの一方に接地電位が印加される第２のトランジスタ、及び前記第１のトランジスタのソース又はドレインの他方及び前記第２のトランジスタのソース又はドレインの他方に電気的に接続された第２のメモリセルを有し、
前記第１のメモリセルの出力電位が、前記第１のトランジスタのゲート及び前記第２のトランジスタのゲートに印加されることにより、前記第２のメモリセルに前記高レベル電源電位及び前記接地電位を供給する又は供給しないことを特徴とする記憶装置。
【請求項３】
バリッドデータを保持し、第１のインバータ及び第２のインバータを有する第１のデータ保持回路を有する第１のメモリセルと、
前記第１のインバータの出力電位がゲートに入力され、ソース又はドレインの一方に高レベル電源電位が印加される第１のトランジスタと、
前記第２のインバータの出力電位がゲートに入力され、ソース又はドレインの一方に低レベル電源電位が印加される第２のトランジスタと、
前記第１のトランジスタのソース又はドレインの他方及び前記第２のトランジスタのソース又はドレインの他方に電気的に接続され、番地データ又はキャッシュデータを保持し、第３のインバータ及び第４のインバータを有する第２のデータ保持回路を有する第２のメモリセルと、
を有することを特徴とする記憶装置。
【請求項４】
バリッドデータを保持し、クロックドインバータ及び第１のインバータを有する第１のデータ保持回路を有する第１のメモリセルと、
前記第１のインバータの出力電位がゲートに入力され、ソース又はドレインの一方に高レベル電源電位が印加される第１のトランジスタと、
前記クロックドインバータの出力電位がゲートに入力され、ソース又はドレインの一方に低レベル電源電位が印加される第２のトランジスタと、
前記第１のトランジスタのソース又はドレインの他方及び前記第２のトランジスタのソース又はドレインの他方に電気的に接続され、番地データ又はキャッシュデータを保持し、第２のインバータ及び第３のインバータを有する第２のデータ保持回路を有する第２のメモリセルと、
を有することを特徴とする記憶装置。
【請求項５】
バリッドデータを保持し、第１のクロックドインバータ及び第１のインバータを有する第１のデータ保持回路を有する第１のメモリセルと、
前記第１のインバータの出力電位がゲートに入力され、ソース又はドレインの一方に高レベル電源電位が印加される第１のトランジスタと、
前記第１のクロックドインバータの出力電位がゲートに入力され、ソース又はドレインの一方に低レベル電源電位が印加される第２のトランジスタと、
前記第１のトランジスタのソース又はドレインの他方及び前記第２のトランジスタのソース又はドレインの他方に電気的に接続され、番地データ又はキャッシュデータを保持し、第２のクロックドインバータ及び第２のインバータを有する第２のデータ保持回路を有する第２のメモリセルと、
を有することを特徴とする記憶装置。
【請求項６】
バリッドビットと、タグと、データフィールドと、を含むキャッシュラインを複数有し、
前記キャッシュラインは、
前記バリッドビットに記憶されたデータに応じて、
前記タグおよび前記データフィールドへの電力供給を行うことを特徴とする記憶装置。
【請求項７】
請求項６において、
前記バリッドビットの記憶容量は、１ビットであることを特徴とする記憶装置。
【請求項８】
請求項６または請求項７において、
前記データフィールドに、キャッシュデータが記憶されることを特徴とする記憶装置。
【請求項９】
請求項６乃至請求項８において、
前記タグに、番地データが記憶されることを特徴とする記憶装置。
【請求項１０】
請求項６乃至請求項９において、
前記バリッドビットに、前記データフィールドに記憶されているデータが有効か無効かを示すデータが記憶されることを特徴とする記憶装置。
【請求項１１】
請求項１０において、
前記バリッドビットに、前記データフィールドに記憶されているデータが無効であることを示すデータが記憶されている時に、
前記タグと、前記データフィールドへ電力を供給しないことを特徴とする記憶装置。
【請求項１２】
請求項１０において、
前記バリッドビットに、前記データフィールドに記憶されているデータが有効であることを示すデータが記憶されている時に、
前記タグと、前記データフィールドへ電力を供給することを特徴とする記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示される発明の一態様は、記憶装置に関する。
【背景技術】
【０００２】
中央演算処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は、その用途によって多種多様な構成を有しているが、ストアドプログラム方式と呼ばれるアーキテクチャが現在のＣＰＵの主流となっている。ストアドプログラム方式のＣＰＵでは、命令及び上記命令の実行に必要なデータが半導体記憶装置（以下、単に記憶装置ともいう。）に格納されており、上記命令及びデータが記憶装置から順次読み込まれることで、命令が実行される。
【０００３】
上記記憶装置には、データや命令を記憶するための主記憶装置の他に、「キャッシュ」と呼ばれる、高速でデータの書き込みと読み出しができる緩衝記憶装置がある。キャッシュは、ＣＰＵの演算装置または制御装置と、主記憶装置の間に介在し、低速な主記憶装置へのアクセスを減らして演算処理を高速化させることを目的として、ＣＰＵに設けられている。通常は、キャッシュとしてＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などが用いられる。下記特許文献１には、キャッシュとして、ＳＲＡＭなどの揮発性メモリと、不揮発性メモリとを併用する構成について記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１２１４４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
キャッシュを有するＣＰＵでは、主記憶装置のうち、使用頻度の高い命令またはデータや、一度使用した命令またはデータ、及びそれらが格納されているアドレスを、主記憶装置からコピーしてキャッシュに格納しておく。そして、通常、ＣＰＵが有する演算装置または制御装置は、まず、キャッシュ内に目的のアドレスが存在するか確認し、アドレスが存在すればそのアドレスに対応する命令またはデータを読み取る。ただし、目的のアドレスが、キャッシュに格納されていない場合もあり得る。この場合、ＣＰＵは、低速な主記憶装置内のアドレスから命令またはデータを読み出し、アドレスとともにその内容をコピーしてキャッシュに格納する必要があるため、キャッシュにのみアクセスする場合と比較して、命令の実行に時間を要する。なお、ＣＰＵが必要とする命令またはデータがキャッシュに格納されている場合をキャッシュヒットと呼び、格納されていない場合をキャッシュミスと呼ぶ。
【０００６】
低速な主記憶装置へのアクセスの頻度を極力減らすには、大きな記憶容量のキャッシュをＣＰＵに用いることが有効である。しかし、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）は、記憶容量の大容量化には有利であるが、リフレッシュを要するため、動作速度の向上に制限がある。一方、ＳＲＡＭは高速での動作が可能であるが、メモリセルあたりの半導体素子数が多いために高集積化が困難で、大容量化に向かない。さらにＳＲＡＭは、メモリセルあたりの半導体素子数が多いため、半導体素子のリーク電流が大きくなり、記憶装置の消費電力が増大するという問題が生じる。
【０００７】
以上を鑑みて、開示される発明の一態様は、消費電力が低い記憶装置を得ることを課題の一とする。
【課題を解決するための手段】
【０００８】
キャッシュは、キャッシュライン（単に「ライン」ともいう）と呼ばれる特定の情報量の記憶領域を、複数有している。そして、各キャッシュラインは、データフィールドと呼ばれる記憶領域と、タグと呼ばれる記憶領域と、バリッドビットと呼ばれる記憶領域とを含む。データフィールドには、主記憶装置または演算装置から送られてくるデータまたは命令である、キャッシュデータが記憶される。タグには、上記キャッシュデータに対応したアドレスのデータ（番地データ）が記憶される。バリッドビットには、データフィールドに格納されているキャッシュデータが有効なデータか無効なデータかを示すバリッドデータが記憶される。
【０００９】
開示される発明の一態様では、上記複数のキャッシュラインのうち、有効なデータが格納されていないキャッシュラインのデータフィールドとタグの電源をオフ状態とすることで、低消費電力を実現する。
【００１０】
有効なデータが格納されていないキャッシュラインは、有効なデータが書き込まれるまで使用されないので、バリッドビット以外の記憶領域の電源をオフ状態としても問題がない。キャッシュラインのバリッドビット以外の記憶領域の電源をオン状態にするか、オフ状態にするかの判断は、当該キャッシュラインのバリッドビットの状態で決定する。バリッドビットが、当該キャッシュラインに格納されているデータが無効である事を示す場合、当該キャッシュラインのタグ及びデータフィールドの電源をオフ状態とする。一方、バリッドビットが、該当するキャッシュラインに格納されているデータが有効である事を示す場合、当該キャッシュラインのタグ及びデータフィールドの電源をオン状態とする。
【００１１】
以下により具体的な構成例を説明する。バリッドビットに、バリッドデータを保持する第１のデータ保持回路を有する第１のメモリセルを設ける。またタグ及びデータフィールドに、それぞれ、番地データ及びキャッシュデータを保持する第２のデータ保持回路を有する第２のメモリセルを設ける。
【００１２】
バリッドビットのバリッドデータが「１」である場合、第２のメモリセルに電源電位の供給を行う。これにより、当該バリッドビットに接続されているタグ及びデータフィールドに電源電位が供給される。以上により、当該キャッシュラインのタグ及びデータフィールドの電源をオン状態にできる。
【００１３】
バリッドビットのバリッドデータが「０」である場合、当該第２のメモリセルに電源電位の供給を行わない。これにより、当該バリッドビットに接続されているタグ及びデータフィールドに電源電位を供給しない。以上により、当該キャッシュラインのタグ及びデータフィールドの電源をオフ状態とすることができる。
【００１４】
タグ及びデータフィールドの第２のメモリセルに、電源電位を供給する又は供給しない構成例について、以下により具体的に述べる。
【００１５】
タグ及びデータフィールドの第２のメモリセルには、ソースドレインの一方に高レベル電源電位が印加される第１のトランジスタと、ソースドレインの一方に低レベル電源電位が印加される第２のトランジスタが電気的に接続されている。当該第２のメモリセルは、当該第１のトランジスタのソース又はドレインの他方、及び、第２のトランジスタのソース又はドレインの他方に電気的に接続されている。
【００１６】
当該第１のトランジスタのゲート及び当該第２のトランジスタのゲートには、第１のメモリセルの第１のデータ保持回路に保持されたバリッドデータが出力される。バリッドビットのバリッドデータが「１」である場合、当該第１のトランジスタ及び当該第２のトランジスタはオン状態となり、第２のメモリセルに電源電位が供給される。以上により、当該キャッシュラインのタグ及びデータフィールドの電源をオン状態とすることができる。
【００１７】
一方、バリッドビットのバリッドデータが「０」である場合、当該第１のトランジスタ及び当該第２のトランジスタはオフ状態となり、第２のメモリセルに電源電位が供給されない。以上により、当該キャッシュラインのタグ及びデータフィールドの電源をオフ状態とすることができる。
【００１８】
以上のように、開示される発明の一態様では、キャッシュラインごとに、タグ及びデータフィールドの電源のオン状態及びオフ状態を制御することができる。これにより、低消費電力駆動の記憶装置を得ることが可能となる。
【００１９】
開示される発明の一態様は、複数のキャッシュラインを有し、当該複数のキャッシュラインは、それぞれ、キャッシュデータを記憶するデータフィールドと、当該キャッシュデータに対応した番地データを記憶するタグと、当該データフィールドに記憶される当該キャッシュデータが有効か無効かを示すバリッドデータを記憶するバリッドビットと、を有し、当該バリッドビットに記憶されたバリッドデータを、当該タグ及び当該データフィールドに出力することにより、当該複数のキャッシュラインそれぞれの当該タグの電源及び当該データフィールドの電源を、オン状態又はオフ状態にすることを特徴とする記憶装置に関する。
【００２０】
開示される発明の一態様は、複数のキャッシュラインを有し、当該複数のキャッシュラインは、それぞれ、キャッシュデータを記憶するデータフィールドと、当該キャッシュデータに対応した番地データを記憶するタグと、当該データフィールドに記憶される当該キャッシュデータが有効か無効かを示すバリッドデータを記憶するバリッドビットと、を有し、当該バリッドビットは、第１のメモリセルを有し、当該タグ及び当該データフィールドそれぞれは、ソース又はドレインの一方に高レベル電源電位が印加される第１のトランジスタ、ソース又はドレインの一方に接地電位が印加される第２のトランジスタ、及び当該第１のトランジスタのソース又はドレインの他方及び当該第２のトランジスタのソース又はドレインの他方に電気的に接続された第２のメモリセルを有し、当該第１のメモリセルの出力電位が、当該第１のトランジスタのゲート及び当該第２のトランジスタのゲートに印加されることにより、当該第２のメモリセルに当該高レベル電源電位及び当該接地電位を供給する又は供給しないことを特徴とする記憶装置に関する。
【００２１】
開示される発明の一態様は、バリッドデータを保持し、第１のインバータ及び第２のインバータを有する第１のデータ保持回路を有する第１のメモリセルと、当該第１のインバータの出力電位がゲートに入力され、ソース又はドレインの一方に高レベル電源電位が印加される第１のトランジスタと、当該第２のインバータの出力電位がゲートに入力され、ソース又はドレインの一方に低レベル電源電位が印加される第２のトランジスタと、当該第１のトランジスタのソース又はドレインの他方及び当該第２のトランジスタのソース又はドレインの他方に電気的に接続され、番地データ又はキャッシュデータを保持し、第３のインバータ及び第４のインバータを有する第２のデータ保持回路を有する第２のメモリセルと、を有することを特徴とする記憶装置に関する。
【００２２】
開示される発明の一態様は、バリッドデータを保持し、クロックドインバータ及び第１のインバータを有する第１のデータ保持回路を有する第１のメモリセルと、当該第１のインバータの出力電位がゲートに入力され、ソース又はドレインの一方に高レベル電源電位が印加される第１のトランジスタと、当該クロックドインバータの出力電位がゲートに入力され、ソース又はドレインの一方に低レベル電源電位が印加される第２のトランジスタと、当該第１のトランジスタのソース又はドレインの他方及び当該第２のトランジスタのソース又はドレインの他方に電気的に接続され、番地データ又はキャッシュデータを保持し、第２のインバータ及び第３のインバータを有する第２のデータ保持回路を有する第２のメモリセルと、を有することを特徴とする記憶装置に関する。
【００２３】
開示される発明の一態様は、バリッドデータを保持し、第１のクロックドインバータ及び第１のインバータを有する第１のデータ保持回路を有する第１のメモリセルと、当該第１のインバータの出力電位がゲートに入力され、ソース又はドレインの一方に高レベル電源電位が印加される第１のトランジスタと、当該第１のクロックドインバータの出力電位がゲートに入力され、ソース又はドレインの一方に低レベル電源電位が印加される第２のトランジスタと、当該第１のトランジスタのソース又はドレインの他方及び当該第２のトランジスタのソース又はドレインの他方に電気的に接続され、番地データ又はキャッシュデータを保持し、第２のクロックドインバータ及び第２のインバータを有する第２のデータ保持回路を有する第２のメモリセルと、を有することを特徴とする記憶装置に関する。
【００２４】
開示される発明の一態様は、バリッドビットと、タグと、データフィールドと、を含むキャッシュラインを複数有し、それぞれのキャッシュラインにおいて、バリッドビットに記憶されたデータに応じて、タグ及びデータフィールドへの電力供給を行うことを特徴とする記憶装置に関する。
【００２５】
バリッドビットに、データフィールドに記憶されているデータが有効か無効かを示すデータを記憶する。よって、バリッドビットの記憶容量は、１ビットでもよい。バリッドビットに、前記データフィールドに記憶されているデータが無効であることを示すデータが記憶されている場合は、タグとデータフィールドへの電力供給を行わない。また、バリッドビットに、前記データフィールドに記憶されているデータが有効であることを示すデータが記憶されている場合は、タグとデータフィールドへ電力を供給する。
【発明の効果】
【００２６】
開示される発明の一態様により、消費電力が低い記憶装置を得ることが可能となる。
【図面の簡単な説明】
【００２７】
【図１】記憶装置の回路図。
【図２】記憶装置の回路図。
【図３】記憶装置のブロック図。
【図４】記憶装置の回路図。
【図５】記憶装置の回路図。
【図６】記憶装置の回路図。
【図７】記憶装置の回路図。
【図８】記憶装置の回路図。
【図９】記憶装置の回路図。
【図１０】記憶装置の回路図。
【図１１】ＣＰＵを説明するブロック図。
【発明を実施するための形態】
【００２８】
以下、本明細書に開示された発明の実施の態様について、図面を参照して説明する。但し、本明細書に開示された発明は多くの異なる態様で実施することが可能であり、本明細書に開示された発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本実施の形態の記載内容に限定して解釈されるものではない。なお、以下に示す図面において、同一部分又は同様な機能を有する部分には同一の符号を付し、その繰り返しの説明は省略する。また、同様のものを指す際には同じハッチパターンを使用し、特に符号を付さない場合がある。
【００２９】
なお本明細書に開示された発明において、半導体装置とは、半導体を利用することで機能する素子及び装置全般を指し、電子回路、表示装置、発光装置、記憶装置等を含む電気装置およびその電気装置を搭載した電気機器をその範疇とする。
【００３０】
なお、図面等において示す各構成の、位置、大きさ、範囲などは、説明を分かりやすくするために、実際の位置、大きさ、範囲などを表していない場合がある。このため、開示する発明は、必ずしも、図面等に開示された位置、大きさ、範囲などに限定されない。
【００３１】
なお、本明細書等における「第１」、「第２」、「第３」などの序数は、構成要素の混同を避けるために付すものであり、数的に限定するものではないことを付記する。
【００３２】
また、「ソース」や「ドレイン」の機能は、異なる極性のトランジスタを採用する場合や、回路動作において電流の方向が変化する場合などには入れ替わることがある。このため、本明細書においては、「ソース」や「ドレイン」の用語は、入れ替えて用いることができるものとする。
【００３３】
なお、本明細書等において、「電気的に接続」には、「何らかの電気的作用を有するもの」を介して接続されている場合が含まれる。ここで、「何らかの電気的作用を有するもの」は、接続対象間での電気信号の授受を可能とするものであれば、特に制限を受けない。例えば、「何らかの電気的作用を有するもの」には、電極や配線をはじめ、トランジスタなどのスイッチング素子、抵抗素子、インダクタ、キャパシタ、その他の各種機能を有する素子などが含まれる。
【００３４】
なお、本明細書等において「上」や「下」の用語は、構成要素の位置関係が「直上」または「直下」であることを限定するものではない。例えば、「ゲート絶縁膜上のゲート電極」の表現であれば、ゲート絶縁膜とゲート電極との間に他の構成要素を含むものを除外しない。
【００３５】
［実施の形態１］
本実施の形態の記憶装置について、以下に説明する。
【００３６】
＜メモリセルの構成とトランジスタの構成＞
図１は、本実施の形態におけるキャッシュメモリのバリッドビットのメモリセル、並びに、タグ及びデータフィールドのメモリセルの構成を示す回路図である。
【００３７】
＜バリッドビットの構成＞
図１に示すバリッドビット３０１のメモリセル１００は、第１のトランジスタ１０１、第２のトランジスタ１０２、第３のトランジスタ１０３、第４のトランジスタ１０４、第５のトランジスタ１０５、第６のトランジスタ１０６、第７のトランジスタ１０７、第８のトランジスタ１０８、第９のトランジスタ１０９、及び、第１０のトランジスタ１１０を有している。第１のトランジスタ１０１、第３のトランジスタ１０３、第５のトランジスタ１０５、第６のトランジスタ１０６、第７のトランジスタ１０７、第８のトランジスタ１０８、第９のトランジスタ１０９、及び、第１０のトランジスタ１１０は、それぞれ、ｎチャネル型トランジスタである。また、第２のトランジスタ１０２及び第４のトランジスタ１０４は、それぞれ、ｐチャネル型トランジスタである。
【００３８】
また図１に示すバリッドビット３０１のメモリセル１００には、高レベル電源電位ＶＤＤ、及び、低レベル電源電位ＶＳＳとして接地電位ＧＮＤ（０Ｖ）が印加される。なお、本実施の形態では、低レベル電源電位ＶＳＳとして接地電位ＧＮＤ（０Ｖ）が印加されるが、これに限定されない。高レベル電源電位ＶＤＤより低い電位であれば、低レベル電源電位ＶＳＳとして用いることができる。なお、本明細書において、高レベル電位ＶＨは低レベル電位ＶＬよりも高いものとする。また、高レベル電位ＶＨとして高レベル電源電位ＶＤＤを用いてもよい。また、低レベル電位ＶＬとして低レベル電源電位ＶＳＳを用いてもよい。本実施の形態では、高レベル電位ＶＨとして高レベル電源電位ＶＤＤを用い、低レベル電位ＶＬとして低レベル電源電位ＶＳＳを用いる場合について説明する。
【００３９】
また図１に示すバリッドビット３０１のメモリセル１００には、電位ＷＬが印加されるワード線ＷＬ、電位ＲＥが印加されるリード線ＲＥ、電位ＤＩＮが印加される第１のデータ線ＤＩＮ、電位ＤＩＮＢが印加される第２のデータ線ＤＩＮＢ、電位ＢＬが印加される第１のビット線ＢＬ、電位ＢＬＮが印加される第２のビット線ＢＬＮ、電位ＶＤａｔａが出力される第３のデータ線ＶＤａｔａ、電位ＶＤａｔａｂが出力される第４のデータ線ＶＤａｔａｂが電気的に接続されている。
【００４０】
なお、ワード線ＷＬ、リード線ＲＥ、第１のデータ線ＤＩＮ、第２のデータ線ＤＩＮＢ、第１のビット線ＢＬ、第２のビット線ＢＬＮ、第３のデータ線ＶＤａｔａ、第４のデータ線ＶＤａｔａｂには、高レベル電位ＶＨまたは低レベル電位ＶＬが供給される。
【００４１】
また、第１のデータ線ＤＩＮと第２のデータ線ＤＩＮＢには、高レベル電位ＶＨまたは低レベル電位ＶＬのうち、互いに異なる電位が供給される。具体的には、電位ＤＩＮが高レベル電位ＶＨの時、電位ＤＩＮＢは低レベル電位ＶＬであり、電位ＤＩＮが低レベル電位ＶＬの時、電位ＤＩＮＢは高レベル電位ＶＨとなる。
【００４２】
また、第３のデータ線ＶＤａｔａと第４のデータ線ＶＤａｔａｂには、高レベル電位ＶＨまたは低レベル電位ＶＬのうち、互いに異なる電位が供給される。具体的には、電位ＶＤａｔａが高レベル電位ＶＨの時、電位ＶＤａｔａｂは低レベル電位ＶＬであり、電位ＶＤａｔａが低レベル電位ＶＬの時、電位ＶＤａｔａｂは高レベル電位ＶＨとなる。
【００４３】
第１のトランジスタ１０１のゲートは、ワード線ＷＬ及び第６のトランジスタ１０６のゲートに電気的に接続されている。第１のトランジスタ１０１のソース又はドレインの一方は、第１のデータ線ＤＩＮに電気的に接続されている。第１のトランジスタ１０１のソース又はドレインの他方は、第２のトランジスタ１０２のソース又はドレインの一方、第３のトランジスタ１０３のソース又はドレインの一方、第４のトランジスタ１０４のゲート、第５のトランジスタ１０５のゲート、第１０のトランジスタ１１０のゲート、及び、第４のデータ線ＶＤａｔａｂに電気的に接続されている。
【００４４】
第２のトランジスタ１０２のゲートは、第３のデータ線ＶＤａｔａ、第３のトランジスタ１０３のゲート、第４のトランジスタ１０４のソース又はドレインの一方、第５のトランジスタ１０５のソース又はドレインの一方、第６のトランジスタ１０６のソース又はドレインの一方、及び、第８のトランジスタ１０８のゲートに電気的に接続されている。第２のトランジスタ１０２のソース又はドレインの一方は、第１のトランジスタ１０１のソース又はドレインの他方、第３のトランジスタ１０３のソース又はドレインの一方、第４のトランジスタ１０４のゲート、第５のトランジスタ１０５のゲート、第１０のトランジスタ１１０のゲート、及び、第４のデータ線ＶＤａｔａｂに電気的に接続されている。第２のトランジスタ１０２のソース又はドレインの他方は、高レベル電源電位ＶＤＤが印加され、第４のトランジスタ１０４のソース又はドレインの他方に電気的に接続されている。
【００４５】
第３のトランジスタ１０３のゲートは、第３のデータ線ＶＤａｔａ、第２のトランジスタ１０２のゲート、第４のトランジスタ１０４のソース又はドレインの一方、第５のトランジスタ１０５のソース又はドレインの一方、第６のトランジスタ１０６のソース又はドレインの一方、及び、第８のトランジスタ１０８のゲートに電気的に接続されている。第３のトランジスタ１０３のソース又はドレインの一方は、第１のトランジスタ１０１のソース又はドレインの他方、第２のトランジスタ１０２のソース又はドレインの一方、第４のトランジスタ１０４のゲート、第５のトランジスタ１０５のゲート、第１０のトランジスタ１１０のゲート、及び、第４のデータ線ＶＤａｔａｂに電気的に接続されている。第３のトランジスタ１０３のソース又はドレインの他方は、接地電位ＧＮＤが印加され、第５のトランジスタ１０５のソース又はドレインの他方、第８のトランジスタ１０８のソース又はドレインの一方、及び、第１０のトランジスタ１１０のソース又はドレインの一方に電気的に接続されている。
【００４６】
第４のトランジスタ１０４のゲートは、第１のトランジスタ１０１のソース又はドレインの他方、第２のトランジスタ１０２のソース又はドレインの一方、第３のトランジスタ１０３のソース又はドレインの一方、第５のトランジスタ１０５のゲート、第１０のトランジスタ１１０のゲート、及び、第４のデータ線ＶＤａｔａｂに電気的に接続されている。第４のトランジスタ１０４のソース又はドレインの一方は、第３のデータ線ＶＤａｔａ、第２のトランジスタ１０２のゲート、第３のトランジスタ１０３のゲート、第５のトランジスタ１０５のソース又はドレインの一方、第６のトランジスタ１０６のソース又はドレインの一方、及び、第８のトランジスタ１０８のゲートに電気的に接続されている。第４のトランジスタ１０４のソース又はドレインの他方は、高レベル電源電位ＶＤＤが印加され、第２のトランジスタ１０２のソース又はドレインの他方に電気的に接続されている。
【００４７】
第５のトランジスタ１０５のゲートは、第４のデータ線ＶＤａｔａｂ、第１のトランジスタ１０１のソース又はドレインの他方、第２のトランジスタ１０２のソース又はドレインの一方、第３のトランジスタ１０３のソース又はドレインの一方、第４のトランジスタ１０４のゲート、及び、第１０のトランジスタ１１０のゲートに電気的に接続されている。第５のトランジスタ１０５のソース又はドレインの一方は、第３のデータ線ＶＤａｔａ、第２のトランジスタ１０２のゲート、第３のトランジスタ１０３のゲート、第４のトランジスタ１０４のソース又はドレインの一方、第６のトランジスタ１０６のソース又はドレインの一方、及び、第８のトランジスタ１０８のゲートに電気的に接続されている。第５のトランジスタ１０５のソース又はドレインの他方は、接地電位ＧＮＤが印加され、第３のトランジスタ１０３のソース又はドレインの他方、第８のトランジスタ１０８のソース又はドレインの一方、及び、第１０のトランジスタ１１０のソース又はドレインの一方に電気的に接続されている。
【００４８】
第６のトランジスタ１０６のゲートは、ワード線ＷＬ及び第１のトランジスタ１０１のゲートに電気的に接続されている。第６のトランジスタ１０６のソース又はドレインの一方は、第３のデータ線ＶＤａｔａ、第２のトランジスタ１０２のゲート、第３のトランジスタ１０３のゲート、第４のトランジスタ１０４のソース又はドレインの一方、第５のトランジスタ１０５のソース又はドレインの一方、及び、第８のトランジスタ１０８のゲートに電気的に接続されている。第６のトランジスタ１０６のソース又はドレインの他方は、第２のデータ線ＤＩＮＢに電気的に接続されている。
【００４９】
第７のトランジスタ１０７のゲートは、リード線ＲＥ、及び、第９のトランジスタ１０９のゲートに電気的に接続されている。第７のトランジスタ１０７のソース又はドレインの一方は、第１のビット線ＢＬに電気的に接続されている。第７のトランジスタ１０７のソース又はドレインの他方は、第８のトランジスタ１０８のソース又はドレインの他方に電気的に接続されている。
【００５０】
第８のトランジスタ１０８のゲートは、第３のデータ線ＶＤａｔａ、第２のトランジスタ１０２のゲート、第３のトランジスタ１０３のゲート、第４のトランジスタ１０４のソース又はドレインの一方、第５のトランジスタ１０５のソース又はドレインの一方、及び、第６のトランジスタ１０６のソース又はドレインの一方に電気的に接続されている。第８のトランジスタ１０８のソース又はドレインの一方は、接地電位ＧＮＤが印加され、第３のトランジスタ１０３のソース又はドレインの他方、第５のトランジスタ１０５のソース又はドレインの他方、及び、第１０のトランジスタ１１０のソース又はドレインの一方に電気的に接続されている。第８のトランジスタ１０８のソース又はドレインの他方は、第７のトランジスタ１０７のソース又はドレインの他方に電気的に接続されている。
【００５１】
第９のトランジスタ１０９のゲートは、リード線ＲＥ、及び、第７のトランジスタ１０７のゲートに電気的に接続されている。第９のトランジスタ１０９のソース又はドレインの一方は、第２のビット線ＢＬＮに電気的に接続されている。第９のトランジスタ１０９のソース又はドレインの他方は、第１０のトランジスタ１１０のソース又はドレインの他方に電気的に接続されている。
【００５２】
第１０のトランジスタ１１０のゲートは、第１のトランジスタ１０１のソース又はドレインの他方、第２のトランジスタ１０２のソース又はドレインの一方、第３のトランジスタ１０３のソース又はドレインの一方、第４のトランジスタ１０４のゲート、第５のトランジスタ１０５のゲート、及び、第４のデータ線ＶＤａｔａｂに電気的に接続されている。第１０のトランジスタ１１０のソース又はドレインの一方は、接地電位ＧＮＤが印加され、第３のトランジスタ１０３のソース又はドレインの他方、第５のトランジスタ１０５のソース又はドレインの他方、及び、第８のトランジスタ１０８のソース又はドレインの一方に電気的に接続されている。第１０のトランジスタ１１０のソース又はドレインの他方は、第９のトランジスタ１０９のソース又はドレインの他方に電気的に接続されている。
【００５３】
図１に示すメモリセル１００において、ｐチャネル型トランジスタである第２のトランジスタ１０２、及び、ｎチャネル型トランジスタである第３のトランジスタ１０３は、第１のインバータ１２１を構成する。また、ｐチャネル型トランジスタである第４のトランジスタ１０４、及び、ｎチャネル型トランジスタである第５のトランジスタ１０５は、第２のインバータ１２２を構成する。第１のインバータ１２１及び第２のインバータ１２２を、回路記号に置き換えて示した回路図を図２に示す。
【００５４】
また図１及び図２において、第２のトランジスタ１０２のゲート、及び、第３のトランジスタ１０３のゲート（第１のインバータ１２１の入力端子）、並びに、第４のトランジスタ１０４のソース又はドレインの一方、及び、第５のトランジスタ１０５のソース又はドレインの一方（第２のインバータ１２２の出力端子）と電気的に接続する節点を、ノードＭ１とする。また、第２のトランジスタ１０２のソース又はドレインの一方、及び、第３のトランジスタ１０３のソース又はドレインの一方（第１のインバータ１２１の出力端子）、並びに、第４のトランジスタ１０４のゲート、及び、第５のトランジスタ１０５のゲート（第２のインバータ１２２の入力端子）と電気的に接続する節点を、ノードＭ２とする。ノードＭ１の電位は、第２のインバータ１２２の出力電位であり、かつ、電位ＶＤａｔａとなる。ノードＭ２の電位は、第１のインバータ１２１の出力電位であり、かつ、電位ＶＤａｔａｂとなる。
【００５５】
データ保持回路１２３は、第１のインバータ１２１及び第２のインバータ１２２により形成される。第１のインバータ１２１の出力端子は第２のインバータ１２２の入力端子に電気的に接続され、第２のインバータ１２２の出力端子は第１のインバータ１２１の入力端子に電気的に接続されている。バリッドビット３０１のメモリセル１００に入力されたバリッドデータは、データ保持回路１２３により保持される。
【００５６】
＜タグ及びデータフィールドの構成＞
図１に示すタグ３０２及びデータフィールド３０３は、複数のメモリセル１３０により構成される。図１に、タグ３０２及びデータフィールド３０３を構成する複数のメモリセル１３０のうち、任意のメモリセル１３０＿ｎ（ｎは、自然数）の回路構成例を示す。メモリセル１３０＿ｎは、第１のトランジスタ１３１、第２のトランジスタ１３２、第３のトランジスタ１３３、第４のトランジスタ１３４、第５のトランジスタ１３５、第６のトランジスタ１３６、第７のトランジスタ１３７、第８のトランジスタ１３８、第９のトランジスタ１３９、第１０のトランジスタ１４０を有している。またメモリセル１３０＿ｎには、第１１のトランジスタ１４５及び第１２のトランジスタ１４６が電気的に接続されている。第１のトランジスタ１３１、第３のトランジスタ１３３、第５のトランジスタ１３５、第６のトランジスタ１３６、第７のトランジスタ１３７、第８のトランジスタ１３８、第９のトランジスタ１３９、第１０のトランジスタ１４０、及び、第１２のトランジスタ１４６は、それぞれ、ｎチャネル型トランジスタである。また、第２のトランジスタ１３２、第４のトランジスタ１３４、及び、第１１のトランジスタ１４５は、それぞれ、ｐチャネル型トランジスタである。
【００５７】
また、メモリセル１３０＿ｎには、高レベル電源電位ＶＤＤ、及び、低レベル電源電位ＶＳＳとして接地電位ＧＮＤ（０Ｖ）が印加される。
【００５８】
第１のトランジスタ１３１のゲートは、ワード線ＷＬ及び第６のトランジスタ１３６のゲートに電気的に接続されている。第１のトランジスタ１３１のソース又はドレインの一方は、メモリセル１３０＿ｎに接続する第１のデータ線ＤＩＮｎに電気的に接続されている。第１のトランジスタ１３１のソース又はドレインの他方は、第２のトランジスタ１３２のソース又はドレインの一方、第３のトランジスタ１３３のソース又はドレインの一方、第４のトランジスタ１３４のゲート、第５のトランジスタ１３５のゲート、及び、第１０のトランジスタ１４０のゲートに電気的に接続されている。
【００５９】
第２のトランジスタ１３２のゲートは、第３のトランジスタ１３３のゲート、第４のトランジスタ１３４のソース又はドレインの一方、第５のトランジスタ１３５のソース又はドレインの一方、第６のトランジスタ１３６のソース又はドレインの一方、及び、第８のトランジスタ１３８のゲートに電気的に接続されている。第２のトランジスタ１３２のソース又はドレインの一方は、第１のトランジスタ１３１のソース又はドレインの他方、第３のトランジスタ１３３のソース又はドレインの一方、第４のトランジスタ１３４のゲート、第５のトランジスタ１３５のゲート、及び、第１０のトランジスタ１４０のゲートに電気的に接続されている。第２のトランジスタ１３２のソース又はドレインの他方は、第４のトランジスタ１３４のソース又はドレインの他方、及び、第１１のトランジスタ１４５のソース又はドレインの一方に電気的に接続されている。
【００６０】
第３のトランジスタ１３３のゲートは、第２のトランジスタ１３２のゲート、第４のトランジスタ１３４のソース又はドレインの一方、第５のトランジスタ１３５のソース又はドレインの一方、第６のトランジスタ１３６のソース又はドレインの一方、及び、第８のトランジスタ１３８のゲートに電気的に接続されている。第３のトランジスタ１３３のソース又はドレインの一方は、第１のトランジスタ１３１のソース又はドレインの他方、第２のトランジスタ１３２のソース又はドレインの一方、第４のトランジスタ１３４のゲート、第５のトランジスタ１３５のゲート、及び、第１０のトランジスタ１４０のゲートに電気的に接続されている。第３のトランジスタ１３３のソース又はドレインの他方は、第５のトランジスタ１３５のソース又はドレインの他方、第８のトランジスタ１３８のソース又はドレインの一方、第１０のトランジスタ１４０のソース又はドレインの一方、及び、第１２のトランジスタ１４６のソース又はドレインの一方に電気的に接続されている。
【００６１】
第４のトランジスタ１３４のゲートは、第１のトランジスタ１３１のソース又はドレインの他方、第２のトランジスタ１３２のソース又はドレインの一方、第３のトランジスタ１３３のソース又はドレインの一方、第５のトランジスタ１３５のゲート、及び、第１０のトランジスタ１４０のゲートに電気的に接続されている。第４のトランジスタ１３４のソース又はドレインの一方は、第２のトランジスタ１３２のゲート、第３のトランジスタ１３３のゲート、第５のトランジスタ１３５のソース又はドレインの一方、第６のトランジスタ１３６のソース又はドレインの一方、及び、第８のトランジスタ１３８のゲートに電気的に接続されている。第４のトランジスタ１３４のソース又はドレインの他方は、第２のトランジスタ１３２のソース又はドレインの他方、及び、第１１のトランジスタ１４５のソース又はドレインの一方に電気的に接続されている。
【００６２】
第５のトランジスタ１３５のゲートは、第１のトランジスタ１３１のソース又はドレインの他方、第２のトランジスタ１３２のソース又はドレインの一方、第３のトランジスタ１３３のソース又はドレインの一方、第４のトランジスタ１３４のゲート、及び、第１０のトランジスタ１４０のゲートに電気的に接続されている。第５のトランジスタ１３５のソース又はドレインの一方は、第２のトランジスタ１３２のゲート、第３のトランジスタ１３３のゲート、第４のトランジスタ１３４のソース又はドレインの一方、第６のトランジスタ１３６のソース又はドレインの一方、及び、第８のトランジスタ１３８のゲートに電気的に接続されている。第５のトランジスタ１３５のソース又はドレインの他方は、第３のトランジスタ１３３のソース又はドレインの他方、第８のトランジスタ１３８のソース又はドレインの一方、第１０のトランジスタ１４０のソース又はドレインの一方、及び、第１２のトランジスタ１４６のソース又はドレインの一方に電気的に接続されている。
【００６３】
第６のトランジスタ１３６のゲートは、ワード線ＷＬ、及び、第１のトランジスタ１３１のゲートに電気的に接続されている。第６のトランジスタ１３６のソース又はドレインの一方は、第２のトランジスタ１３２のゲート、第３のトランジスタ１３３のゲート、第４のトランジスタ１３４のソース又はドレインの一方、第５のトランジスタ１３５のソース又はドレインの一方、及び、第８のトランジスタ１３８のゲートに電気的に接続されている。第６のトランジスタ１３６のソース又はドレインの他方は、メモリセル１３０＿ｎに接続する第２のデータ線ＤＩＮＢｎに電気的に接続されている。
【００６４】
第７のトランジスタ１３７のゲートは、リード線ＲＥ、及び、第９のトランジスタ１３９のゲートに電気的に接続されている。第７のトランジスタ１３７のソース又はドレインの一方は、メモリセル１３０＿ｎに接続する第１のビット線ＢＬｎに電気的に接続されている。第７のトランジスタ１３７のソース又はドレインの他方は、第８のトランジスタ１３８のソース又はドレインの他方に電気的に接続されている。
【００６５】
第８のトランジスタ１３８のゲートは、第２のトランジスタ１３２のゲート、第３のトランジスタ１３３のゲート、第４のトランジスタ１３４のソース又はドレインの一方、第５のトランジスタ１３５のソース又はドレインの一方、及び、第６のトランジスタ１３６のソース又はドレインの一方に電気的に接続されている。第８のトランジスタ１３８のソース又はドレインの一方は、第３のトランジスタ１３３のソース又はドレインの他方、第５のトランジスタ１３５のソース又はドレインの他方、第１０のトランジスタ１４０のソース又はドレインの一方、及び、第１２のトランジスタ１４６のソース又はドレインの一方に電気的に接続されている。第８のトランジスタ１３８のソース又はドレインの他方は、第７のトランジスタ１３７のソース又はドレインの他方に電気的に接続されている。なお、第８のトランジスタ１３８のソース又はドレインの一方は、接地されていてもよい。
【００６６】
第９のトランジスタ１３９のゲートは、リード線ＲＥ、及び、第７のトランジスタ１３７のゲートに電気的に接続されている。第９のトランジスタ１３９のソース又はドレインの一方は、メモリセル１３０＿ｎに接続する第２のビット線ＢＬＮｎに電気的に接続されている。第９のトランジスタ１３９のソース又はドレインの他方は、第１０のトランジスタ１４０のソース又はドレインの他方に電気的に接続されている。
【００６７】
第１０のトランジスタ１４０のゲートは、第１のトランジスタ１３１のソース又はドレインの他方、第２のトランジスタ１３２のソース又はドレインの一方、第３のトランジスタ１３３のソース又はドレインの一方、第４のトランジスタ１３４のゲート、及び、第５のトランジスタ１３５のゲートに電気的に接続されている。第１０のトランジスタ１４０のソース又はドレインの一方は、第３のトランジスタ１３３のソース又はドレインの他方、第５のトランジスタ１３５のソース又はドレインの他方、第８のトランジスタ１３８のソース又はドレインの一方、及び、第１２のトランジスタ１４６のソース又はドレインの一方に電気的に接続されている。第１０のトランジスタ１４０のソース又はドレインの他方は、第９のトランジスタ１３９のソース又はドレインの他方に電気的に接続されている。なお、第１０のトランジスタ１４０のソース又はドレインの一方は、接地されていてもよい。
【００６８】
第１１のトランジスタ１４５のゲートは、第３のデータ線ＶＤａｔａに電気的に接続されている。第１１のトランジスタ１４５のソース又はドレインの一方は、第２のトランジスタ１３２のソース又はドレインの他方、及び、第４のトランジスタ１３４のソース又はドレインの他方に電気的に接続されている。第１１のトランジスタ１４５のソース又はドレインの他方には、高レベル電源電位ＶＤＤが印加される。
【００６９】
第１２のトランジスタ１４６のゲートは、第４のデータ線ＶＤａｔａｂに電気的に接続されている。第１２のトランジスタ１４６のソース又はドレインの一方は、第３のトランジスタ１３３のソース又はドレインの他方、第５のトランジスタ１３５のソース又はドレインの他方、第８のトランジスタ１３８のソース又はドレインの一方、及び、第１０のトランジスタ１４０のソース又はドレインの一方に電気的に接続されている。第１２のトランジスタ１４６のソース又はドレインの他方には、低レベル電源電位ＶＳＳとして接地電位ＧＮＤが印加される。
【００７０】
図１に示すメモリセル１３０＿ｎにおいて、ｐチャネル型トランジスタである第２のトランジスタ１３２、及び、ｎチャネル型トランジスタである第３のトランジスタ１３３は、第１のインバータ１５１を構成する。また、ｐチャネル型トランジスタである第４のトランジスタ１３４、及び、ｎチャネル型トランジスタである第５のトランジスタ１３５は、第２のインバータ１５２を構成する。第１のインバータ１５１及び第２のインバータ１５２を、回路記号に置き換えて示した回路図を図２に示す。
【００７１】
また図１及び図２において、第２のトランジスタ１３２のゲート、及び、第３のトランジスタ１３３のゲート（第１のインバータ１５１の入力端子）、並びに、第４のトランジスタ１３４のソース又はドレインの一方、及び、第５のトランジスタ１３５のソース又はドレインの一方（第２のインバータ１５２の出力端子）と電気的に接続する節点を、ノードＭ３とする。また、第２のトランジスタ１３２のソース又はドレインの一方、及び、第３のトランジスタ１３３のソース又はドレインの一方（第１のインバータ１５１の出力端子）、並びに、第４のトランジスタ１３４のゲート、及び、第５のトランジスタ１３５のゲート（第２のインバータ１５２の入力端子）と電気的に接続する節点を、ノードＭ４とする。
【００７２】
データ保持回路１５３は、第１のインバータ１５１及び第２のインバータ１５２により形成される。第１のインバータ１５１の出力端子は第２のインバータ１５２の入力端子に電気的に接続され、第２のインバータ１５２の出力端子は第１のインバータ１５１の入力端子に電気的に接続されている。タグ３０２及びデータフィールド３０３のメモリセル１３０＿ｎに入力されたデータは、データ保持回路１５３により保持される。
【００７３】
なお図１において、メモリセル１３０＿ｎに接続して、第１１のトランジスタ１４５及び第１２のトランジスタ１４６を設けたが、必ずしも両方設けなくてもよく、少なくとも片方を設ければよい。
【００７４】
＜キャッシュラインの動作＞
以下に、メモリセル１００を有するバリッドビット３０１、メモリセル１３０＿１乃至メモリセル１３０＿ｉを有するタグ３０２、メモリセル１３０＿ｊ乃至メモリセル１３０＿ｍを有するデータフィールド３０３を有するキャッシュライン３０５（図３参照）の動作を示す（ただし、ｉ、ｊ、及びｍは、自然数である。また、ｉは２以上であり、ｊはｉより大きく、ｍはｊ以上である）。なお本実施の形態では、例えば、表１に示されるように、８本のキャッシュライン３０５から構成されるキャッシュメモリとし、各キャッシュライン３０５が、１ビットのバリッドビット３０１、２７ビットのタグ３０２、３２ビットのデータフィールド３０３を有する場合について説明するが、それぞれの数はこれに限定されない。バリッドビット３０１、タグ３０２、およびデータフィールド３０３を構成するメモリセルは、必要な数だけ用いればよいのは言うまでもない。また、キャッシュライン３０５も必要な数だけ用いればよい。
【００７５】
なお、タグ３０２が２７ビットのとき、ｉは２７であり、タグ３０２は、メモリセル１３０＿１乃至メモリセル１３０＿２７を有する。データフィールド３０３が３２ビットのときｊは２８であり、ｍは５９である。換言すると、データフィールド３０３は、メモリセル１３０＿２８乃至１３０＿５９を有する。
【００７６】
＜バリッドビットの動作＞
以下に、バリッドビット３０１のメモリセル１００への書き込み動作および読み出し動作について説明する。
【００７７】
＜＜書き込み動作＞＞
任意のキャッシュライン３０５のワード線ＷＬが選択され、ワード線ＷＬに入力される電位ＷＬが高レベル電位ＶＨ（データ「１」ともいう）となると、第１のトランジスタ１０１及び第６のトランジスタ１０６がオン状態となる。
【００７８】
このとき、第１のデータ線ＤＩＮに高レベル電位ＶＨ（データ「１」ともいう）である電位ＤＩＮが入力され、第２のデータ線ＤＩＮＢに低レベル電位ＶＬ（データ「０」ともいう）電位ＤＩＮＢが入力される。
【００７９】
第１のデータ線ＤＩＮに高レベル電位ＶＨが入力されると、第１のトランジスタ１０１のソース及びドレインを介して、ノードＭ２に、高レベル電位ＶＨに対応する電位が印加される。
【００８０】
また、第２のデータ線ＤＩＮＢに低レベル電位ＶＬが入力されると、第６のトランジスタ１０６のソース及びドレインを介して、ノードＭ１に、低レベル電位ＶＬ（データ「０」）が印加される。別言すると、第１のインバータ１２１の入力端子に、接地電位ＧＮＤが供給される。
【００８１】
ノードＭ１に低レベル電位ＶＬが供給されると、第３のデータ線ＶＤａｔａの電位ＶＤａｔａが、低レベル電位ＶＬ（データ「０」）となる。
【００８２】
また、ノードＭ１に、低レベル電位ＶＬ（本実施の形態では接地電位ＧＮＤ）が供給されると、第２のトランジスタ１０２はオン状態となり、第３のトランジスタ１０３はオフ状態となる。
【００８３】
第２のトランジスタ１０２がオン状態、及び、第３のトランジスタ１０３がオフ状態となると、第２のトランジスタ１０２のソース及びドレインを介して、ノードＭ２に高レベル電源電位ＶＤＤが供給される。別言すると、第１のインバータ１２１の出力端子から、高レベル電位ＶＨ（データ「１」）が出力され、第２のインバータ１２２の入力端子に高レベル電位ＶＨ（データ「１」）が入力される。
【００８４】
ノードＭ２に高レベル電位ＶＨ（本実施の形態では高レベル電源電位ＶＤＤ）が供給されると、第３のデータ線ＶＤａｔａｂの電位ＶＤａｔａｂが、高レベル電位ＶＨ（データ「１」）となる。
【００８５】
また、ノードＭ２に高レベル電位ＶＨが供給されると、第４のトランジスタ１０４はオフ状態となり、第５のトランジスタ１０５はオン状態となる。すると、第５のトランジスタ１０５のソース及びドレインを介してノードＭ１に接地電位ＧＮＤが供給される。別言すると、第２のインバータ１２２の出力端子から、低レベル電位ＶＬ（データ「０」）が出力され、第１のインバータ１２１の入力端子に低レベル電位ＶＬ（データ「０」）が入力される。
【００８６】
なお本実施の形態では、電位ＶＤａｔａが低レベル電位ＶＬ（データ「０」）、及び、電位ＶＤａｔａｂが高レベル電位ＶＨ（データ「１」）の場合、バリッドデータを「１」とする。また、電位ＶＤａｔａが高レベル電位ＶＨ（データ「１」）、及び、電位ＶＤａｔａｂが低レベル電位ＶＬ（データ「０」）の場合、バリッドデータを「０」とする。
【００８７】
以上により、バリッドビット３０１のメモリセル１００にバリッドデータが書き込まれる。バリッドデータは、第１のインバータ１２１及び第２のインバータ１２２から構成されるデータ保持回路１２３により保持される。
【００８８】
バリッドビット３０１から出力される電位ＶＤａｔａが低レベル電位ＶＬ（データ「０」）及び電位ＶＤａｔａｂが高レベル電位ＶＨ（データ「１」）の場合（バリッドデータがデータ「１」の場合）、当該バリッドビット３０１を有するキャッシュライン３０５に格納されているデータは有効である。
【００８９】
低レベル電位ＶＬ（データ「０」）である電位ＶＤａｔａは、第１１のトランジスタ１４５のゲートに印加される。また高レベル電位ＶＨ（データ「１」）である電位ＶＤａｔａｂは、第１２のトランジスタ１４６のゲートに印加される。
【００９０】
上述のように、第１１のトランジスタ１４５はｐチャネル型トランジスタであり、第１２のトランジスタ１４６はｎチャネル型トランジスタである。よって、低レベル電位ＶＬ（データ「０」）がゲートに入力される第１１のトランジスタ１４５はオン状態となる。また高レベル電位ＶＨ（データ「１」）がゲートに入力される第１２のトランジスタ１４６はオン状態となる。これにより、タグ３０２及びデータフィールド３０３の任意のメモリセル１３０＿ｎには、第１１のトランジスタ１４５を介して高レベル電源電位ＶＤＤ、及び、第１２のトランジスタ１４６を介して接地電位ＧＮＤが入力され、メモリセル１３０＿ｎはオン状態となる。
【００９１】
図３に示すように、タグ３０２は、メモリセル１３０＿１乃至メモリセル１３０＿ｉを有しており、データフィールド３０３は、メモリセル１３０＿ｊ乃至メモリセル１３０＿ｍを有している。メモリセル１３０＿１乃至メモリセル１３０＿ｍは、メモリセル１３０＿ｎと同様の構成を有している。メモリセル１３０＿１乃至メモリセル１３０＿ｍは、連続して接続されている。
【００９２】
図３に示されるように、第３のデータ線ＶＤａｔａは、タグ３０２のメモリセル及びデータフィールド３０３のメモリセルそれぞれに電気的に接続されている第１１のトランジスタ１４５に、並びに、第４のデータ線ＶＤａｔａｂは、タグ３０２及びデータフィールド３０３のメモリセルそれぞれに電気的に接続されている第１２のトランジスタ１４６に電気的に接続されている。そのため、電位ＶＤａｔａが低レベル電位ＶＬ（データ「０」）及び電位ＶＤａｔａｂが高レベル電位ＶＨ（データ「１」）の場合（バリッドデータがデータ「１」の場合）、該当するキャッシュライン３０５のメモリセル１３０＿２乃至メモリセル１３０＿ｍは全てオン状態となる。
【００９３】
一方、バリッドビット３０１から出力される電位ＶＤａｔａが高レベル電位ＶＨ（データ「１」）及び電位ＶＤａｔａｂが低レベル電位ＶＬ（データ「０」）場合（バリッドデータがデータ「０」の場合）、該当するキャッシュライン３０５に格納されているデータは無効である。
【００９４】
高レベル電位ＶＨ（データ「１」）である電位ＶＤａｔａは、タグ３０２のメモリセル１３０＿１乃至メモリセル１３０＿ｉ、並びに、データフィールド３０３のメモリセル１３０＿ｊ乃至メモリセル１３０＿ｍのそれぞれに電気的に接続されている第１１のトランジスタ１４５のゲートに印加される。また低レベル電位ＶＬ（データ「０」）である電位ＶＤａｔａｂは、タグ３０２のメモリセル１３０＿１乃至メモリセル１３０＿ｉ、並びに、データフィールド３０３のメモリセル１３０＿ｊ乃至メモリセル１３０＿ｍのそれぞれに電気的に接続されている第１２のトランジスタ１４６のゲートに印加される。
【００９５】
上述のように、第１１のトランジスタ１４５はｐチャネル型トランジスタであり、第１２のトランジスタ１４６はｎチャネル型トランジスタである。よって、高レベル電位ＶＨ（データ「１」）がゲートに入力される第１１のトランジスタ１４５はオフ状態となり、低レベル電位ＶＬ（データ「０」）がゲートに入力される第１２のトランジスタ１４６はオフ状態となる。これにより、タグ３０２のメモリセル１３０＿１乃至メモリセル１３０＿ｉ、並びに、データフィールド３０３のメモリセル１３０＿ｊ乃至メモリセル１３０＿ｍは、高レベル電源電位ＶＤＤから電気的に遮断される。同時に、タグ３０２のメモリセル１３０＿１乃至メモリセル１３０＿ｉ、並びに、データフィールド３０３のメモリセル１３０＿ｊ乃至メモリセル１３０＿ｍは、接地電位ＧＮＤから電気的に遮断される。これにより、メモリセル１３０＿１乃至メモリセル１３０＿ｍそれぞれはオフ状態となる。
【００９６】
つまり、バリッドビット３０１から出力される電位ＶＤａｔａが高レベル電位ＶＨ（データ「１」）及び電位ＶＤａｔａｂが低レベル電位ＶＬ（データ「０」）（バリッドデータが「０」）であるキャッシュライン３０５の全てのメモリセル１３０＿１乃至メモリセル１３０＿ｍには、電源が供給されない。このように、バリッドデータが「０」であるキャッシュライン３０５には電源が供給されないので、低消費電力のキャッシュメモリを得ることができる。
【００９７】
ここで、表１に本実施の形態のキャッシュメモリの構成例を示す。表１は、８本のキャッシュライン３０５から構成されるキャッシュメモリの構成例であり、各キャッシュライン３０５は、１ビットのバリッドビット３０１、２７ビットのタグ３０２、３２ビットのデータフィールド３０３を有するキャッシュメモリの構成例を示している。ただし、データフィールド３０３に格納されているデータは、一例であり、表１に限定されるものではない。
【００９８】
【表１】
2013250963.tif 000003
【００９９】
なお表１中、「ｂ」はそのデータが二進法で表されることを示している。
【０１００】
表１に示すように、バリッドビットのバリッドデータが「１」であるキャッシュライン２乃至キャッシュライン４のデータフィールドに記憶されているデータは有効である。一方、バリッドデータが「０」であるキャッシュライン０、キャッシュライン１、及び、キャッシュライン５乃至キャッシュライン７には、電源電位（高レベル電源電位ＶＤＤ及び接地電位ＧＮＤ）が供給されない。このように、バリッドデータが「０」であるキャッシュラインに電源電位を供給しないことにより、低消費電力のキャッシュメモリを得ることが可能である。
【０１０１】
＜＜読み出し動作＞＞
以下に、メモリセル１００のデータ保持回路１２３に保持されたデータの読み出し動作について以下に述べる。
【０１０２】
本実施の形態では、バリッドビット３０１に格納されたバリッドデータが「１」であれば当該キャッシュライン３０５のデータフィールドに記憶されているデータは有効であり、バリッドデータが「０」であれば当該キャッシュライン３０５のデータフィールドに記憶されているデータは無効である。キャッシュラインのデータフィールドに記憶されているデータが有効か無効かを確認するために、ＣＰＵが、バリッドビットに格納されているバリッドデータを読み出すことが必要となる場合がある。
【０１０３】
なお、メモリセル１００からの読み出し動作の前段階として、第１のビット線ＢＬ及び第２のビット線ＢＬＮに対してプリチャージ動作を行う。例えば、第１のビット線ＢＬ及び第２のビット線ＢＬＮに接続したプリチャージ回路等（図示せず）により、第１のビット線ＢＬ及び第２のビット線ＢＬＮに高レベル電位ＶＨ（データ「１」）を与え、その後、第１のビット線ＢＬ及び第２のビット線ＢＬＮを電気的に浮遊した状態（フローティング状態）とする。
【０１０４】
次に、リード線ＲＥに、高レベル電位ＶＨを印加する。これにより、第７のトランジスタ１０７及び第９のトランジスタ１０９はオン状態となる。
【０１０５】
ノードＭ１に低レベル電位ＶＬ（データ「０」）が保持され、ノードＭ２に高レベル電位ＶＨ（データ「１」）が保持されている場合、第８のトランジスタ１０８のゲートに、低レベル電位ＶＬ（データ「０」）が印加され、第８のトランジスタ１０８はオフ状態となる。また、第１０のトランジスタ１１０のゲートに、高レベル電位ＶＨ（データ「１」）が印加され、第１０のトランジスタ１１０はオン状態となる。
【０１０６】
第７のトランジスタ１０７がオン状態であっても、第８のトランジスタ１０８がオフ状態であるため、第１のビット線ＢＬの電位はプリチャージされた高レベル電位ＶＨ（データ「１」）のままとなる。
【０１０７】
一方、第１０のトランジスタ１１０がオン状態になると、第９のトランジスタ１０９と第１０のトランジスタ１１０を介して、第２のビット線ＢＬＮに接地電位ＧＮＤが供給される。これにより、第２のビット線ＢＬＮの電位ＢＬＮが低レベル電位ＶＬ（データ「０」）となる。
【０１０８】
以上により、バリッドビット３０１からバリッドデータを読み出すことができる。
【０１０９】
＜タグ及びデータフィールドの動作＞
以下に、バリッドデータが「１」の場合の、タグ３０２及びデータフィールド３０３を構成するメモリセルのうち、任意のメモリセル１３０＿ｎの書き込み動作及び読み込み動作について説明する。
【０１１０】
書き込み動作が行われるメモリセル１３０＿ｎでは、第１１のトランジスタ１４５のゲートに、低レベル電位ＶＬ（データ「０」）である電位ＶＤａｔａを印加し、あらかじめ第１１のトランジスタ１４５をオン状態とする。また、第１２のトランジスタ１４６のゲートには、高レベル電位ＶＨ（データ「１」）である電位ＶＤａｔａｂを印加し、あらかじめ第１２のトランジスタ１４６をオン状態とする。これにより、第１１のトランジスタ１４５を介して高レベル電源電位ＶＤＤ、及び、第１２のトランジスタ１４６を介して接地電位ＧＮＤがメモリセル１３０＿ｎに入力され、メモリセル１３０＿ｎはオン状態となる。
【０１１１】
＜＜書き込み動作＞＞
以下に、キャッシュライン３０５のタグ３０２及びデータフィールド３０３の、オン状態（電力が供給されている状態）である任意のメモリセル１３０＿ｎ（第１１のトランジスタ１４５及び第１２のトランジスタ１４６がともにオン状態であるメモリセル１３０＿ｎ）への書き込み動作について説明する。
【０１１２】
上述のように、オン状態であるメモリセル１３０＿ｎにおいて、ワード線ＷＬに高レベル電位ＶＨである電位ＷＬが入力されると、第１のトランジスタ１３１及び第６のトランジスタ１３６がオン状態となる。
【０１１３】
このとき、第１のデータ線ＤＩＮｎに高レベル電位ＶＨ（データ「１」）である電位ＤＩＮｎが入力され、第２のデータ線ＤＩＮＢｎに低レベル電位ＶＬ（データ「０」）である電位ＤＩＮＢｎが入力される。
【０１１４】
第１のデータ線ＤＩＮｎに高レベル電位ＶＨが入力されると、第１のトランジスタ１３１のソース及びドレインを介して、第４のトランジスタ１３４のゲート、及び、第５のトランジスタ１３５のゲートに、高レベル電位ＶＨに対応する電位が印加される。別言すると、第２のインバータ１５２の入力端子に、高レベル電位ＶＨに対応する電位が入力される。
【０１１５】
第２のデータ線ＤＩＮＢｎに低レベル電位ＶＬが入力されると、第６のトランジスタ１３６のソース及びドレインを介して、ノードＭ３に、低レベル電位ＶＬ（データ「０」）が印加される。別言すると、第１のインバータ１５１の入力端子に、接地電位ＧＮＤが供給される。
【０１１６】
ノードＭ３に低レベル電位ＶＬが印加されるので、第２のトランジスタ１３２はオン状態となり、第３のトランジスタ１３３はオフ状態となる。
【０１１７】
すると、第２のトランジスタ１３２を介して、ノードＭ４に高レベル電源電位ＶＤＤが印加される。別言すると、第１のインバータ１５１の出力端子から、高レベル電位ＶＨ（データ「１」）が出力される。
【０１１８】
以上により、タグ３０２及びデータフィールド３０３の任意のメモリセル１３０＿ｎに、それぞれ、番地データ及びキャッシュデータが書き込まれる。番地データ及びキャッシュデータは、第１のインバータ１５１及び第２のインバータ１５２から構成されるデータ保持回路１５３により保持される。
【０１１９】
＜＜読み込み動作＞＞
メモリセル１３０＿ｎのデータ保持回路１５３に保持されたデータの読み込み動作について以下に述べる。なお、当該読み込み動作の前段階として、メモリセル１００と同様に、第１のビット線ＢＬｎと第２のビット線ＢＬＮｎに対してプリチャージ動作が行われる。プリチャージ動作により、第１のビット線ＢＬｎと第２のビット線ＢＬＮｎに、高レベル電位ＶＨ（データ「１」）が与えられる。
【０１２０】
リード線ＲＥに高レベル電位ＶＨを供給することにより、第７のトランジスタ１３７及び第９のトランジスタ１３９をオン状態とする。
【０１２１】
ノードＭ３に低レベル電位ＶＬ（データ「０」）が保持され、ノードＭ４に高レベル電位ＶＨ（データ「１」）が保持されている場合、第８のトランジスタ１３８のゲートに、低レベル電位ＶＬが印加される。これにより、第８のトランジスタ１３８は、オフ状態となる。また、第１０のトランジスタ１４０のゲートに、高レベル電位ＶＨが印加される。これにより、第１０のトランジスタ１４０は、オン状態となる。
【０１２２】
第７のトランジスタ１３７がオン状態であっても、第８のトランジスタ１３８がオフ状態であるため、第１のビット線ＢＬｎに保持されている電位はプリチャージされた高レベル電位ＶＨのままとなる。
【０１２３】
一方、ノードＭ４に高レベル電位ＶＨ（データ「１」）が保持されていると、第１０のトランジスタ１４０はオン状態となる。すると、第９のトランジスタ１３９及び第１０のトランジスタ１４０を介して第２のビット線ＢＬＮｎに接地電位ＧＮＤが供給され、電位ＢＬＮｎが低レベル電位ＶＬ（データ「０」）となる。
【０１２４】
なお本実施の形態では、電位ＢＬｎが高レベル電位ＶＨ（データ「１」）、及び、電位ＢＬＮｎが低レベル電位ＶＬ（データ「０」）であるとき、メモリセル１３０＿ｎのデータを「１」とする。電位ＢＬｎが低レベル電位ＶＬ（データ「０」）、及び、電位ＢＬＮｎが高レベル電位ＶＨ（データ「１」）であるとき、メモリセル１３０＿ｎのデータを「０」とする。
【０１２５】
以上により、タグ３０２から番地データを、データフィールド３０３からキャッシュデータを読み出すことができる。
【０１２６】
なお、第３のデータ線ＶＤａｔａ及び第４のデータ線ＶＤａｔａｂに、バッファ回路を設けてもよい。図４に、図１で示す回路構成に、第３のデータ線ＶＤａｔａにバッファ回路２４３を設け、第４のデータ線ＶＤａｔａｂにバッファ回路２４６を設けた例を示す。
【０１２７】
バッファ回路２４３は、直列に接続させた２つのインバータ（インバータ２４１及びインバータ２４２）によって構成されている。バッファ回路２４６は、直列に接続させた２つのインバータ（インバータ２４４及びインバータ２４５）によって構成されている。なお、図４に示すバッファ回路２４３及びバッファ回路２４６は、それぞれ２つのインバータによって構成されているが、２つ以上の偶数個のインバータによって構成されていれば、その数は限定されない。
【０１２８】
バッファ回路２４３は、メモリセル１００のノードＭ１と、メモリセル１３０＿ｎの第１１のトランジスタ１４５のゲートの間に電気的に接続されている。バッファ回路２４６は、メモリセル１００のノードＭ２と、メモリセル１３０＿ｎの第１２のトランジスタ１４６のゲートの間に電気的に接続されている。
【０１２９】
以上のように、第３のデータ線ＶＤａｔａ及び第４のデータ線ＶＤａｔａｂに、バッファ回路を設けると、第３のデータ線ＶＤａｔａ及び第４のデータ線ＶＤａｔａｂの出力特性を向上させることができる。
【０１３０】
以上本実施の形態により、消費電力が低い記憶装置を得ることが可能となる。
【０１３１】
［実施の形態２］
本実施の形態では、実施の形態１とは異なる構成を有する記憶装置の回路構成について説明する。なお実施の形態１で述べた構成と同じ構成については、同じ符号を用い、説明は省略する。
【０１３２】
＜バリッドビットの構成＞
本実施の形態では、バリッドビット３０１のメモリセルに、リセット機能を付加した構成について述べる。
【０１３３】
図５に示すバリッドビット３０１のメモリセル１００には、ｐチャネル型トランジスタである第１３のトランジスタ１６１、及び、ｎチャネル型トランジスタである第１４のトランジスタ１６２が電気的に接続されている。
【０１３４】
第１３のトランジスタ１６１のゲートには、第２のリセット線ＲＥＳＴＢが電気的に接続されており、第２のリセット線ＲＥＳＴＢの電位ＲＥＳＴＢが印加される。第１３のトランジスタ１６１のソース又はドレインの一方には、高レベル電源電位ＶＤＤが印加される。第１３のトランジスタ１６１のソース又はドレインの他方は、第３のデータ線ＶＤａｔａ、第２のトランジスタ１０２のゲート、第３のトランジスタ１０３のゲート、第４のトランジスタ１０４のソース又はドレインの一方、第５のトランジスタ１０５のソース又はドレインの一方、第６のトランジスタ１０６のソース又はドレインの一方、及び、第８のトランジスタ１０８のゲートに電気的に接続されている。
【０１３５】
第１４のトランジスタ１６２のゲートには、第１のリセット線ＲＥＳＥＴが電気的に接続されており、第１のリセット線ＲＥＳＴの電位ＲＥＳＴが印加される。第１４のトランジスタ１６２のソース又はドレインの一方には、接地電位ＧＮＤが印加される。第１４のトランジスタ１６２のソース又はドレインの他方は、第４のデータ線ＶＤａｔａｂ、第１のトランジスタ１０１のソース又はドレインの他方、第２のトランジスタ１０２のソース又はドレインの一方、第３のトランジスタ１０３のソース又はドレインの一方、第４のトランジスタ１０４のゲート、第５のトランジスタ１０５のゲート、及び、第１０のトランジスタ１１０のゲートに電気的に接続されている。
【０１３６】
また、第１のリセット線ＲＥＳＥＴと第２のリセット線ＲＥＳＴＢには、高レベル電位ＶＨまたは低レベル電位ＶＬのうち、互いに異なる電位が供給される。具体的には、電位ＲＥＳＴが高レベル電位ＶＨの時、電位ＲＥＳＴＢは低レベル電位ＶＬであり、電位ＲＥＳＴが低レベル電位ＶＬの時、電位ＲＥＳＴＢは高レベル電位ＶＨとなる。
【０１３７】
実施の形態１で述べたように、第２のトランジスタ１０２及び第３のトランジスタ１０３は第１のインバータ１２１を構成し、第４のトランジスタ１０４及び第５のトランジスタ１０５は第２のインバータ１２２を構成する。第１のインバータ１２１及び第２のインバータ１２２によりデータ保持回路１２３が構成される（図６参照）。
【０１３８】
＜バリッドビットの動作＞
図５に示されるキャッシュメモリへの電源投入直後、キャッシュラインのデータは、無効なデータとなっている。また、電源投入直後のバリッドビットにおいて、ノードＭ１（第２のインバータ１２２の出力端子）の電位、及び、ノードＭ２（第１のインバータ１２１の出力端子）の電位は、高レベル電位ＶＨ（データ「１」）又は低レベル電位ＶＬ（データ「０」）のいずれも取り得る。すなわち、無効なデータを有するキャッシュラインのバリッドデータが「１」となる可能性が生じる。無効なキャッシュラインのデータをＣＰＵが読み込んで処理すると、ＣＰＵが誤作動を起こす恐れがある。
【０１３９】
そのため、図５に示されるキャッシュメモリへの電源投入直後、バリッドビット３０１のバリッドデータ「０」を書き込む必要がある。上述のように、バリッドデータ「０」とは、電位ＶＤａｔａが高レベル電位ＶＨ（データ「１」）、及び、電位ＶＤａｔａｂが低レベル電位ＶＬ（データ「０」）であることをいう。
【０１４０】
第１のリセット線ＲＥＳＥＴの電位ＲＥＳＥＴを高レベル電位ＶＨ、及び、第２のリセット線ＲＥＳＥＴＢの電位ＲＥＳＥＴＢを低レベル電位ＶＬとすると、第１３のトランジスタ１６１及び第１４のトランジスタ１６２がそれぞれオン状態となる。
【０１４１】
第１３のトランジスタ１６１がオン状態となると、第１３のトランジスタ１６１を介して、第３のデータ線ＶＤａｔａの電位ＶＤａｔａが高レベル電源電位ＶＤＤ（データ「１」）となる。
【０１４２】
第１４のトランジスタ１６２がオン状態となると、第１４のトランジスタ１６２を介して、第４のデータ線ＶＤａｔａｂの電位ＶＤａｔａｂが接地電位ＧＮＤ（データ「０」）となる。
【０１４３】
以上のように、バリッドデータに「０」を書き込むことにより、無効なキャッシュラインのデータが使用されるのを防ぐことができる。
【０１４４】
なお実施の形態１と同様に、第３のデータ線ＶＤａｔａ及び第４のデータ線ＶＤａｔａｂに、バッファ回路を設けてもよい。
【０１４５】
以上本実施の形態により、消費電力が低い記憶装置を得ることが可能となる。
【０１４６】
［実施の形態３］
本実施の形態では、実施の形態１及び実施の形態２とは異なる構成を有する記憶装置について説明する。なお実施の形態１及び実施の形態２で述べた構成と同じ構成については、同じ符号を用い、説明は省略する。
【０１４７】
＜バリッドビットの構成＞
図７及び図８に示すバリッドビット３０１のメモリセル３００は、図１に示すメモリセル１００の第１のインバータ１２１をクロックドインバータに代え、第１のトランジスタ１０１をアナログスイッチに代えた構成を有している。
【０１４８】
本実施の形態では、メモリセルのアナログスイッチがオン状態の際に、クロックドインバータをオフ状態とする。また、メモリセルのアナログスイッチがオフ状態の際に、クロックドインバータをオン状態とする。このような構成にすることで、データの書き換えの際のデータの衝突を防ぐことができる。詳細は後述する。
【０１４９】
図７及び図８に示すメモリセル３００は、アナログスイッチ１８３、データ保持回路１８４、第７のトランジスタ１０７、第８のトランジスタ１０８、第９のトランジスタ１０９、及び、第１０のトランジスタ１１０を有している。なお、アナログスイッチは、トランスミッションゲートともいう。なお、図８は、図７に示したアナログスイッチ１８３、クロックドインバータ１８１、及び第２のインバータ１２２を回路記号に置き換えて示した回路図である。
【０１５０】
また、図７及び図８に示すメモリセル３００は、第１のワード線ＷＬと第２のワード線ＷＬＢが電気的に接続されている。なお、第１のワード線ＷＬに供給される電位を電位ＷＬといい、第２のワード線ＷＬＢに供給される電位を電位ＷＬＢという。
【０１５１】
また、第１のワード線ＷＬと第２のワード線ＷＬＢには、高レベル電位ＶＨまたは低レベル電位ＶＬのうち、互いに異なる電位が供給される。具体的には、電位ＷＬが高レベル電位ＶＨの時、電位ＷＬＢは低レベル電位ＶＬであり、電位ＷＬが低レベル電位ＶＬの時、電位ＷＬＢは高レベル電位ＶＨとなる。
【０１５２】
アナログスイッチ１８３は、ｎチャネル型トランジスタである第１５のトランジスタ１７１、及び、ｐチャネル型トランジスタである第１６のトランジスタ１７２により構成されている。
【０１５３】
データ保持回路１８４は、クロックドインバータ１８１、及び、第２のインバータ１２２により構成されている。
【０１５４】
クロックドインバータ１８１は、ｐチャネル型トランジスタである第１７のトランジスタ１７３及び第１８のトランジスタ１７４、並びに、ｎチャネル型トランジスタである第１９のトランジスタ１７５及び第２０のトランジスタ１７６により構成されている。
【０１５５】
第２のインバータ１２２は、実施の形態１と同様、ｐチャネル型トランジスタである第４のトランジスタ１０４、及び、ｎチャネル型トランジスタである第５のトランジスタ１０５により構成されている。
【０１５６】
第１５のトランジスタ１７１のゲートは、第１のワード線ＷＬ、及び、第１７のトランジスタ１７３のゲートに電気的に接続されている。第１５のトランジスタ１７１のソース又はドレインの一方は、第１のデータ線ＤＩＮ、及び、第１６のトランジスタ１７２のソース又はドレインの一方に電気的に接続されている。第１５のトランジスタ１７１のソース又はドレインの他方は、第４のデータ線ＶＤａｔａｂ、第１６のトランジスタ１７２のソース又はドレインの他方、第１８のトランジスタ１７４のソース又はドレインの一方、第１９のトランジスタ１７５のソース又はドレインの一方、第４のトランジスタ１０４のゲート、第５のトランジスタ１０５のゲート、及び、第１０のトランジスタ１１０のゲートに電気的に接続されている。
【０１５７】
第１６のトランジスタ１７２のゲートは、第２のワード線ＷＬＢ、及び、第２０のトランジスタ１７６のゲートに電気的に接続されている。第１６のトランジスタ１７２のソース又はドレインの一方は、第１のデータ線ＤＩＮ、及び、第１５のトランジスタ１７１のソース又はドレインの一方に電気的に接続されている。第１６のトランジスタ１７２のソース又はドレインの他方は、第４のデータ線ＶＤａｔａｂ、第１５のトランジスタ１７１のソース又はドレインの他方、第１８のトランジスタ１７４のソース又はドレインの一方、第１９のトランジスタ１７５のソース又はドレインの一方、第４のトランジスタ１０４のゲート、第５のトランジスタ１０５のゲート、及び、第１０のトランジスタ１１０のゲートに電気的に接続されている。
【０１５８】
第１７のトランジスタ１７３のゲートは、第１のワード線ＷＬ、及び、第１５のトランジスタ１７１のゲートに電気的に接続されている。第１７のトランジスタ１７３のソース又はドレインの一方は、第１８のトランジスタ１７４のソース又はドレインの他方に電気的に接続されている。第１７のトランジスタ１７３のソース又はドレインの他方は、高レベル電源電位ＶＤＤが印加され、第４のトランジスタ１０４のソース又はドレインの他方に電気的に接続されている。
【０１５９】
第１８のトランジスタ１７４のゲートは、第３のデータ線ＶＤａｔａ、第１９のトランジスタ１７５のゲート、第４のトランジスタ１０４のソース又はドレインの一方、第５のトランジスタ１０５のソース又はドレインの一方、及び、第８のトランジスタ１０８のゲートに電気的に接続されている。第１８のトランジスタ１７４のソース又はドレインの一方は、第４のデータ線ＶＤａｔａｂ、第１５のトランジスタ１７１のソース又はドレインの他方、第１６のトランジスタ１７２のソース又はドレインの他方、第１９のトランジスタ１７５のソース又はドレインの一方、第４のトランジスタ１０４のゲート、第５のトランジスタ１０５のゲート、及び、第１０のトランジスタ１１０のゲートに電気的に接続されている。第１８のトランジスタ１７４のソース又はドレインの他方は、第１７のトランジスタ１７３のソース又はドレインの一方に電気的に接続されている。
【０１６０】
第１９のトランジスタ１７５のゲートは、第３のデータ線ＶＤａｔａ、第１８のトランジスタ１７４のゲート、第４のトランジスタ１０４のソース又はドレインの一方、第５のトランジスタ１０５のソース又はドレインの一方、及び、第８のトランジスタ１０８のゲートに電気的に接続されている。第１９のトランジスタ１７５のソース又はドレインの一方は、第４のデータ線ＶＤａｔａｂ、第１５のトランジスタ１７１のソース又はドレインの他方、第１６のトランジスタ１７２のソース又はドレインの他方、第１８のトランジスタ１７４のソース又はドレインの一方、第４のトランジスタ１０４のゲート、第５のトランジスタ１０５のゲート、及び、第１０のトランジスタ１１０のゲートに電気的に接続されている。第１９のトランジスタ１７５のソース又はドレインの他方は、第２０のトランジスタ１７６のソース又はドレインの一方に電気的に接続されている。
【０１６１】
第２０のトランジスタ１７６のゲートは、第２のワード線ＷＬＢ、及び、第１６のトランジスタ１７２のゲートに電気的に接続されている。第２０のトランジスタ１７６のソース又はドレインの一方は、第１９のトランジスタ１７５のソース又はドレインの他方に電気的に接続されている。第２０のトランジスタ１７６のソース又はドレインの他方は、接地電位ＧＮＤが印加され、第８のトランジスタ１０８のソース又はドレインの一方、第５のトランジスタ１０５のソース又はドレインの他方、及び、第１０のトランジスタ１１０のソース又はドレインの一方に電気的に接続されている。
【０１６２】
また図７及び図８において、第１８のトランジスタ１７４のゲート、及び、第１９のトランジスタ１７５のゲート（クロックドインバータ１８１の入力端子）、並びに、第４のトランジスタ１０４のソース又はドレインの一方、及び、第５のトランジスタ１０５のソース又はドレインの一方（第２のインバータ１２２の出力端子）と電気的に接続する節点を、ノードＭ５とする。
【０１６３】
また、第１８のトランジスタ１７４のソース又はドレインの一方、及び、第１９のトランジスタ１７５のソース又はドレインの一方（クロックドインバータ１８１の出力端子）、並びに、第４のトランジスタ１０４のゲート及び第５のトランジスタ１０５のゲート（第２のインバータ１２２の入力端子）と電気的に接続する節点を、ノードＭ６とする。ノードＭ５の電位は、第２のインバータ１２２の出力電位であり、かつ、電位ＶＤａｔａとなる。ノードＭ６の電位は、クロックドインバータ１８１の出力電位であり、かつ、電位ＶＤａｔａｂとなる。
【０１６４】
＜バリッドビットの動作＞
以下にバリッドビット３０１のメモリセル３００への書き込み動作について、図７及び図８を用いて説明する。
【０１６５】
＜＜書き込み動作＞＞
第１のワード線ＷＬの電位ＷＬが高レベル電位ＶＨ（データ「１」）、及び、第２のワード線ＷＬＢの電位ＷＬＢが低レベル電位ＶＬ（データ「０」）となると、第１５のトランジスタ１７１及び第１６のトランジスタ１７２がオン状態となる。別言すると、アナログスイッチ１８３がオン状態となる。
【０１６６】
このとき、第１のデータ線ＤＩＮに高レベル電位ＶＨ（データ「１」）が入力されると、第１５のトランジスタ１７１及び第１６のトランジスタ１７２それぞれのソース及びドレインを介して、第４のトランジスタ１０４のゲート及び第５のトランジスタ１０５のゲートに、高レベル電位ＶＨが印加される。別言すると、第２のインバータ１２２の入力端子に、高レベル電位ＶＨ（データ「１」）が入力される。
【０１６７】
これにより、第４のトランジスタ１０４がオフ状態、第５のトランジスタ１０５がオン状態となる。
【０１６８】
第５のトランジスタ１０５がオン状態となると、第５のトランジスタ１０５のソース及びドレインを介して、接地電位ＧＮＤ（データ「０」）が、ノードＭ５に供給される。別言すると、第２のインバータ１２２の出力端子から、接地電位ＧＮＤ（データ「０」）が出力される。
【０１６９】
また、ノードＭ５に接地電位ＧＮＤ（データ「０」）が供給されるので、第３のデータ線ＶＤａｔａの電位ＶＤａｔａが、接地電位ＧＮＤ（データ「０」）となる。
【０１７０】
さらに、第４のトランジスタ１０４のゲート及び第５のトランジスタ１０５のゲートに、高レベル電位ＶＨが印加されるので、ノードＭ６の電位が高レベル電位ＶＨ（データ「１」）となる。よって、第４のデータ線ＶＤａｔａｂの電位ＶＤａｔａｂが、高レベル電位ＶＨ（データ「１」）となる。
【０１７１】
一方、第１７のトランジスタ１７３のゲートには、高レベル電位ＶＨである電位ＷＬが印加される。これにより、第１７のトランジスタ１７３はオフ状態となる。また第２０のトランジスタ１７６のゲートには、低レベル電位ＶＬである電位ＷＬＢが印加される。これにより、第２０のトランジスタ１７６はオフ状態となる。別言すると、クロックドインバータ１８１はオフ状態となる。
【０１７２】
上述のように、バリッドデータは、電位ＶＤａｔａが低レベル電位ＶＬ（データ「０」）、及び、電位ＶＤａｔａｂが高レベル電位ＶＨ（データ「１」）の場合、「１」である。よって、当該書き込み動作により、バリッドデータ「１」がバリッドビット３０１のメモリセル３００に書き込まれる。
【０１７３】
以上により、バリッドビット３０１のメモリセル３００において、データ保持回路１８４のクロックドインバータ１８１はオフ状態とし、アナログスイッチ１８３をオン状態として、バリッドデータを書き込むことができる。
【０１７４】
＜＜保持動作＞＞
以下に、メモリセル３００に書き込まれたバリッドデータを保持する動作について説明する。
【０１７５】
第１のワード線ＷＬの電位ＷＬを低レベル電位ＶＬ（データ「０」）、及び、第２のワード線ＷＬＢの電位ＷＬＢを高レベル電位ＶＨ（データ「１」）とすると、第１５のトランジスタ１７１及び第１６のトランジスタ１７２がオフ状態となる。別言すると、アナログスイッチ１８３がオフ状態となる。
【０１７６】
一方、第１７のトランジスタ１７３のゲートには、低レベル電位ＶＬである電位ＷＬが印加される。これにより、第１７のトランジスタ１７３はオン状態となる。また、第２０のトランジスタ１７６のゲートには、高レベル電位ＶＨである電位ＷＬＢが印加される。これにより、第２０のトランジスタ１７６はオン状態となる。
【０１７７】
書き込み動作において、ノードＭ５には、接地電位ＧＮＤ（データ「０」）が印加されている。すなわち、第１８のトランジスタ１７４のゲートには、接地電位ＧＮＤ（データ「０」）が印加される。これにより、第１８のトランジスタ１７４はオン状態となる。
【０１７８】
またノードＭ５には、接地電位ＧＮＤ（データ「０」）が印加されているので、第１９のトランジスタ１７５のゲートには、接地電位ＧＮＤ（データ「０」）が印加される。これにより、第１９のトランジスタ１７５はオフ状態のままとなる。
【０１７９】
第１７のトランジスタ１７３及び第１８のトランジスタ１７４がオン状態であるので、ノードＭ５には、高レベル電位ＶＨ（データ「１」）が供給される。また第１９のトランジスタ１７５及び第２０のトランジスタ１７６はオフ状態である。別言すると、クロックドインバータ１８１は、高レベル電位ＶＨ（データ「１」）を出力する。
【０１８０】
また当該保持動作において、第２のインバータ１２２には、高レベル電位ＶＨ（データ「１」）が入力され、接地電位ＧＮＤ（データ「０」）を出力する。よって、ノードＭ６には、高レベル電位ＶＨ（データ「１」）が保持される。
【０１８１】
よって、電位ＶＤａｔａは接地電位ＧＮＤ（データ「０」）であり、電位ＶＤａｔａｂは高レベル電位ＶＨ（データ「１」）である。
【０１８２】
上述のように、バリッドデータは、電位ＶＤａｔａが低レベル電位ＶＬ（データ「０」）、及び、電位ＶＤａｔａｂが高レベル電位ＶＨ（データ「１」）の場合、「１」である。よって、当該保持動作により、バリッドデータ「１」がバリッドビット３０１のメモリセル３００に保持される。
【０１８３】
以上により、バリッドビット３０１のメモリセル３００において、データ保持回路１８４のクロックドインバータ１８１はオン状態とし、アナログスイッチ１８３はオフ状態として、バリッドデータを保持することができる。
【０１８４】
ある１つのノードに対し、２つ以上の出力端子が接続され、出力端子の一つから高レベル電位ＶＨが供給され、出力端子の別の一つから低レベル電位ＶＬが供給される状態を、データの衝突と呼ぶ。実施の形態１で述べた、第１のインバータ１２１及び第２のインバータ１２２により形成され、第１のインバータ１２１の出力端子は第２のインバータ１２２の入力端子に電気的に接続され、第２のインバータ１２２の出力端子は第１のインバータ１２１の入力端子に電気的に接続されているデータ保持回路では、データの書き換えの際に、データの衝突が起こる恐れがある。例えば、第１のインバータ１２１が高レベル電位ＶＨを出力している状態（ノードＭ２に高レベル電位ＶＨを供給している状態）で、第１のデータ線ＤＩＮから、第１のトランジスタ１０１を介して、低レベル電位ＶＬが供給されると、高レベル電位ＶＨが供給されているノードＭ２に、低レベル電位ＶＬが供給されることとなる。
【０１８５】
データの衝突が起こると、データ書き換えの遅延やデータの消失が起こる恐れがある。
【０１８６】
本実施の形態に例示するメモリセル３００は、アナログスイッチ１８３がオン状態の際に、クロックドインバータ１８１をオフ状態として、ノードＭ６を電位が供給されていない状態（フローティング状態）にすることができる。また、メモリセル３００のアナログスイッチ１８３がオフ状態の際は、クロックドインバータ１８１をオン状態として、ノードＭ６に電位を供給する。このような構成にすることで、データ書き換え時のデータの衝突を防ぐことができる。
【０１８７】
＜＜読み込み動作＞＞
メモリセル３００で構成されたバリッドビット３０１からバリッドデータを読み出すには、実施の形態１で述べた読み込み動作において、データ保持回路１２３、ノードＭ１、及び、ノードＭ２を、それぞれ、データ保持回路１８４、ノードＭ５、及び、ノードＭ６に読み替えればよい。
【０１８８】
以上により、バリッドビット３０１からバリッドデータを読み出すことができる。
【０１８９】
以下に、図７及び図８に示すバリッドビットの構成に加えて、タグ３０２及びデータフィールド３０３のメモリセルにも、クロックドインバータ及びアナログスイッチを用いた記憶装置について説明する。このような構成にすることで、タグ３０２及びデータフィールド３０３のメモリセルにおいても、データの衝突を防ぐことができる。
【０１９０】
＜タグ及びデータフィールドの構成＞
図９及び図１０に示すタグ３０２及びデータフィールド３０３の任意のメモリセル３３０＿ｎは、図７及び図８に示す、タグ３０２及びデータフィールド３０３の任意のメモリセル１３０＿ｎの第１のインバータ１５１をクロックドインバータに代え、第１のトランジスタ１３１をアナログスイッチに代えた構成を有している。
【０１９１】
図９及び図１０に示すメモリセル３３０＿ｎは、アナログスイッチ２２３、データ保持回路２２４、第７のトランジスタ１３７、第８のトランジスタ１３８、第９のトランジスタ１３９、及び、第１０のトランジスタ１４０を有している。また、メモリセル３３０＿ｎには、第１１のトランジスタ１４５及び第１２のトランジスタ１４６が電気的に接続されている。なお、図１０は、図９に示したアナログスイッチ１８３、クロックドインバータ１８１、第２のインバータ１２２、アナログスイッチ２２３、クロックドインバータ２２１、及び第２のインバータ１５２を、回路記号に置き換えて示した回路図である。
【０１９２】
また図９及び図１０に示すメモリセル３３０＿ｎには、第１のワード線ＷＬと第２のワード線ＷＬＢが電気的に接続されている。
【０１９３】
アナログスイッチ２２３は、ｎチャネル型トランジスタである第１５のトランジスタ１９１、及び、ｐチャネル型トランジスタである第１６のトランジスタ１９２により構成されている。
【０１９４】
データ保持回路２２４は、クロックドインバータ２２１、及び、第２のインバータ１５２により構成されている。
【０１９５】
クロックドインバータ２２１は、ｐチャネル型トランジスタである第１７のトランジスタ１９３及び第１８のトランジスタ１９４、並びに、ｎチャネル型トランジスタである第１９のトランジスタ１９５及び第２０のトランジスタ１９６により構成されている。
【０１９６】
第２のインバータ１５２は、実施の形態１と同様、ｐチャネル型トランジスタである第４のトランジスタ１３４、及び、ｎチャネル型トランジスタである第５のトランジスタ１３５により構成されている。
【０１９７】
第１５のトランジスタ１９１のゲートは、第１のワード線ＷＬ、及び、第１７のトランジスタ１９３のゲートに電気的に接続されている。第１５のトランジスタ１９１のソース又はドレインの一方は、第１のデータ線ＤＩＮｎ、及び、第１６のトランジスタ１９２のソース又はドレインの一方に電気的に接続されている。第１５のトランジスタ１９１のソース又はドレインの他方は、第１６のトランジスタ１９２のソース又はドレインの他方、第１８のトランジスタ１９４のソース又はドレインの一方、第１９のトランジスタ１９５のソース又はドレインの一方、第４のトランジスタ１３４のゲート、第５のトランジスタ１３５のゲート、及び、第１０のトランジスタ１４０のゲートに電気的に接続されている。
【０１９８】
第１６のトランジスタ１９２のゲートは、第２のワード線ＷＬＢ、及び、第２０のトランジスタ１９６のゲートに電気的に接続されている。第１６のトランジスタ１９２のソース又はドレインの一方は、第１のデータ線ＤＩＮｎ、及び、第１５のトランジスタ１９１のソース又はドレインの一方に電気的に接続されている。第１６のトランジスタ１９２のソース又はドレインの他方は、第１５のトランジスタ１９１のソース又はドレインの他方、第１８のトランジスタ１９４のソース又はドレインの一方、第１９のトランジスタ１９５のソース又はドレインの一方、第４のトランジスタ１３４のゲート、第５のトランジスタ１３５のゲート、及び、第１０のトランジスタ１４０のゲートに電気的に接続されている。
【０１９９】
第１７のトランジスタ１９３のゲートは、第１のワード線ＷＬ、及び、第１５のトランジスタ１９１のゲートに電気的に接続されている。第１７のトランジスタ１９３のソース又はドレインの一方は、第１８のトランジスタ１９４のソース又はドレインの他方に電気的に接続されている。第１７のトランジスタ１９３のソース又はドレインの他方は、第４のトランジスタ１３４のソース又はドレインの他方、及び、第１１のトランジスタ１４５のソース又はドレインの一方に電気的に接続されている。
【０２００】
第１８のトランジスタ１９４のゲートは、第１９のトランジスタ１９５のゲート、第４のトランジスタ１３４のソース又はドレインの一方、第５のトランジスタ１３５のソース又はドレインの一方、及び、第８のトランジスタ１３８のゲートに電気的に接続されている。第１８のトランジスタ１９４のソース又はドレインの一方は、第１５のトランジスタ１９１のソース又はドレインの他方、第１６のトランジスタ１９２のソース又はドレインの他方、第１９のトランジスタ１９５のソース又はドレインの一方、第４のトランジスタ１３４のゲート、第５のトランジスタ１３５のゲート、及び、第１０のトランジスタ１４０のゲートに電気的に接続されている。第１８のトランジスタ１９４のソース又はドレインの他方は、第１７のトランジスタ１９３のソース又はドレインの一方に電気的に接続されている。
【０２０１】
第１９のトランジスタ１９５のゲートは、第１８のトランジスタ１９４のゲート、第４のトランジスタ１３４のソース又はドレインの一方、第５のトランジスタ１３５のソース又はドレインの一方、及び、第８のトランジスタ１３８のゲートに電気的に接続されている。第１９のトランジスタ１９５のソース又はドレインの一方は、第１５のトランジスタ１９１のソース又はドレインの他方、第１６のトランジスタ１９２のソース又はドレインの他方、第１８のトランジスタ１９４のソース又はドレインの一方、第４のトランジスタ１３４のゲート、第５のトランジスタ１３５のゲート、及び、第１０のトランジスタ１４０のゲートに電気的に接続されている。第１９のトランジスタ１９５のソース又はドレインの他方は、第２０のトランジスタ１９６のソース又はドレインの一方に電気的に接続されている。
【０２０２】
第２０のトランジスタ１９６のゲートは、第２のワード線ＷＬＢ、及び、第１６のトランジスタ１９２のゲートに電気的に接続されている。第２０のトランジスタ１９６のソース又はドレインの一方は、第１９のトランジスタ１９５のソース又はドレインの他方に電気的に接続されている。第２０のトランジスタ１９６のソース又はドレインの他方は、第８のトランジスタ１３８のソース又はドレインの一方、第１０のトランジスタ１４０のソース又はドレインの一方、及び、第１２のトランジスタ１４６のソース又はドレインの一方に電気的に接続されている。
【０２０３】
また図９及び図１０において、第１８のトランジスタ１９４のゲート、及び、第１９のトランジスタ１９５のゲート（クロックドインバータ２２１の入力端子）、並びに、第４のトランジスタ１３４のソース又はドレインの一方、及び、第５のトランジスタ１３５のソース又はドレインの一方（第２のインバータ１５２の出力端子）と電気的に接続する節点を、ノードＭ７とする。
【０２０４】
また、第１８のトランジスタ１９４のソース又はドレインの一方、及び、第１９のトランジスタ１９５のソース又はドレインの一方（クロックドインバータ２２１の出力端子）、並びに、第４のトランジスタ１３４のゲート及び第５のトランジスタ１３５のゲート（第２のインバータ１５２の入力端子）と電気的に接続する節点を、ノードＭ８とする。ノードＭ７には、第２のインバータ１５２から電位が供給され、ノードＭ８には、クロックドインバータ２２１から電位が供給される。
【０２０５】
なお図９及び図１０において、メモリセル３３０＿ｎに接続して、第１１のトランジスタ１４５及び第１２のトランジスタ１４６を設けたが、必ずしも両方設けなくてもよく、少なくとも片方を設ければよい。
【０２０６】
＜タグ及びデータフィールドの動作＞
以下に、バリッドデータが「１」の場合の、タグ３０２及びデータフィールド３０３の任意のメモリセル３３０＿ｎの書き込み動作及び読み込み動作について説明する。
【０２０７】
当該書き込み動作が行われるメモリセル３３０＿ｎでは、第１１のトランジスタ１４５のゲートに、低レベル電位ＶＬ（データ「０」）である電位ＶＤａｔａが印加され、第１１のトランジスタ１４５はオン状態となる。また、第１２のトランジスタ１４６のゲートには、高レベル電位ＶＨ（データ「１」）である電位ＶＤａｔａｂが印加され、第１２のトランジスタ１４６はオン状態となる。これにより、第１１のトランジスタ１４５を介して高レベル電源電位ＶＤＤ、及び、第１２のトランジスタ１４６を介して接地電位ＧＮＤがメモリセル３３０＿ｎに供給される。
【０２０８】
また、メモリセル３３０＿ｎへの書き込み動作及び保持動作は、上述のメモリセル３００への書き込み動作において、第１５のトランジスタ１７１乃至第２０のトランジスタ１７６、第４のトランジスタ１０４、第５のトランジスタ１０５、アナログスイッチ１８３、クロックドインバータ１８１、第２のインバータ１２２、ノードＭ５、ノードＭ６、及び、メモリセル３００を、それぞれ、第１５のトランジスタ１９１乃至第２０のトランジスタ１９６、第４のトランジスタ１３４、第５のトランジスタ１３５、アナログスイッチ２２３、クロックドインバータ２２１、第２のインバータ１５２、ノードＭ７、ノードＭ８、及び、メモリセル３３０＿ｎに読み替えればよい。
【０２０９】
以上により、タグ３０２に番地データを、データフィールド３０３にキャッシュデータを書き込み、書き込まれたデータを保持することができる。
【０２１０】
本実施の形態のタグ３０２及びデータフィールド３０３から、それぞれ、番地データ及びキャッシュデータを読み込むには、実施の形態１で述べた読み込み動作において、メモリセル１３０＿ｎ、データ保持回路１５３、ノードＭ３、及び、ノードＭ４を、それぞれ、メモリセル３３０＿ｎ、データ保持回路２２４、ノードＭ７、及び、ノードＭ８に読み替えればよい。
【０２１１】
以上により、タグ３０２から番地データ、データフィールド３０３からキャッシュデータを読み出すことができる。
【０２１２】
なお、メモリセル３３０＿ｎへの読み込み動作の前段階として、実施の形態１で述べたプリチャージ動作を行う。当該プリチャージ動作は実施の形態１を参酌すればよく、詳細な説明は省略する。
【０２１３】
なお実施の形態１と同様に、第３のデータ線ＶＤａｔａ及び第４のデータ線ＶＤａｔａｂに、バッファ回路を設けてもよい。
【０２１４】
以上本実施の形態により、消費電力が低い記憶装置を得ることが可能となる。
【０２１５】
［実施の形態４］
本実施の形態では、実施の形態１乃至実施の形態３で述べた記憶装置を用いたＣＰＵについて説明する。
【０２１６】
＜ＣＰＵの構成＞
図１１に、本実施の形態のＣＰＵをブロック図で一例として示す。
【０２１７】
ＣＰＵ６００は、制御装置６０１と、演算装置に相当するＡＬＵ（Ａｒｉｔｈｍｅｔｉｃ  Ｌｏｇｉｃ  Ｕｎｉｔ）６０２と、データキャッシュ６０３と、命令キャッシュ６０４と、プログラムカウンタ６０５と、命令レジスタ６０６と、主記憶装置６０７と、レジスタファイル６０８とを有する。本実施の形態では、データキャッシュ６０３や命令キャッシュ６０４として、実施の形態１乃至実施の形態３で説明した記憶装置を用いる。
【０２１８】
制御装置６０１は、入力された命令をデコードし、実行する機能を有する。ＡＬＵ６０２は、四則演算、論理演算などの各種演算処理を行う機能を有する。データキャッシュ６０３は、使用頻度の高いデータを一時的に記憶しておく緩衝記憶装置である。命令キャッシュ６０４は、制御装置６０１に送られる命令（プログラム）のうち、使用頻度の高い命令を一時的に記憶しておく緩衝記憶装置である。プログラムカウンタ６０５は、次に実行する命令のアドレスを記憶するレジスタである。命令レジスタ６０６は、次に実行する命令を記憶するレジスタである。主記憶装置６０７には、ＡＬＵ６０２における演算処理に用いられるデータや、制御装置６０１において実行される命令が記憶されている。レジスタファイル６０８は、汎用レジスタを含む複数のレジスタを有しており、主記憶装置６０７から読み出されたデータ、ＡＬＵ６０２の演算処理の途中で得られたデータ、或いはＡＬＵ６０２の演算処理の結果得られたデータ、などを記憶することができる。
【０２１９】
次いで、ＣＰＵ６００の動作について説明する。
【０２２０】
制御装置６０１は、プログラムカウンタ６０５に記憶されている、次に実行する命令のアドレスに従い、命令キャッシュ６０４の対応するアドレスから命令を読み出し、命令レジスタ６０６に上記命令を記憶させる。命令キャッシュ６０４の対応するアドレスに、該当する命令が記憶されていない場合は、主記憶装置６０７の対応するアドレスにアクセスし、主記憶装置６０７から命令を読み出し、命令レジスタ６０６に記憶させる。この場合、上記命令を命令キャッシュ６０４にも記憶させておく。
【０２２１】
制御装置６０１は、命令レジスタ６０６に記憶されている命令をデコードし、命令を実行する。具体的には、上記命令に従ってＡＬＵ６０２の動作を制御するための各種信号を生成する。
【０２２２】
実行すべき命令が演算命令の場合は、レジスタファイル６０８に記憶されているデータを用いてＡＬＵ６０２に演算処理を行わせ、その演算処理の結果をレジスタファイル６０８に格納する。
【０２２３】
実行すべき命令がロード命令の場合は、制御装置６０１は、まずデータキャッシュ６０３の対応するアドレスにアクセスし、該当するデータがデータキャッシュ６０３中にあるか否かを確認する。該当するデータがある場合は、上記データをデータキャッシュ６０３の対応するアドレスからレジスタファイル６０８にコピーする。該当するデータがない場合は、上記データを主記憶装置６０７の対応するアドレスからデータキャッシュ６０３の対応するアドレスにコピーした後、データキャッシュ６０３の対応するアドレスからレジスタファイル６０８に上記データをコピーする。なお、該当するデータがない場合は、上述のように低速な主記憶装置６０７にアクセスする必要があるため、データキャッシュ６０３などの緩衝記憶装置にのみアクセスする場合よりも、命令の実行に時間を要する。しかし、上記データのコピーに加えて、主記憶装置６０７における当該データのアドレス及びその近傍のアドレスのデータも緩衝記憶装置にコピーしておくことで、主記憶装置６０７における当該データのアドレス及びその近傍のアドレスへの２度目以降のアクセスを、高速に行うことができる。
【０２２４】
実行すべき命令がストア命令の場合は、レジスタファイル６０８のデータを、データキャッシュ６０３の対応するアドレスに記憶させる。このとき、制御装置６０１は、まずデータキャッシュ６０３の対応するアドレスにアクセスし、該当するデータがデータキャッシュ６０３中に格納できるか否かを確認する。格納できる場合は、上記データをレジスタファイル６０８からデータキャッシュ６０３の対応するアドレスにコピーする。格納できない場合は、データキャッシュ６０３の一部領域に新たに対応するアドレスを割り振り、上記データをレジスタファイル６０８からデータキャッシュ６０３の対応するアドレスにコピーする。なお、データキャッシュ６０３にデータをコピーしたら直ちに、主記憶装置６０７にも上記データをコピーする構成も可能である。また、幾つかのデータをデータキャッシュ６０３にコピーした後、それらのデータをまとめて主記憶装置６０７にコピーする構成も可能である。
【０２２５】
そして、制御装置６０１は、命令の実行が終了すると、再度プログラムカウンタ６０５にアクセスし、命令レジスタ６０６から読み出した命令をデコード、実行するという上記動作を繰り返す。
【０２２６】
本実施の形態では、データキャッシュ６０３や命令キャッシュ６０４として、実施の形態１乃至実施の形態３で説明した記憶装置を用いることで、低消費電力のＣＰＵ６００を得ることができる。
【符号の説明】
【０２２７】
１００    メモリセル
１０１    第１のトランジスタ
１０２    第２のトランジスタ
１０３    第３のトランジスタ
１０４    第４のトランジスタ
１０５    第５のトランジスタ
１０６    第６のトランジスタ
１０７    第７のトランジスタ
１０８    第８のトランジスタ
１０９    第９のトランジスタ
１１０    第１０のトランジスタ
１２１    第１のインバータ
１２２    第２のインバータ
１２３    データ保持回路
１３０＿１    メモリセル
１３０＿２    メモリセル
１３０＿ｉ    メモリセル
１３０＿ｊ    メモリセル
１３０＿ｍ    メモリセル
１３０＿ｎ    メモリセル
１３１    第１のトランジスタ
１３２    第２のトランジスタ
１３３    第３のトランジスタ
１３４    第４のトランジスタ
１３５    第５のトランジスタ
１３６    第６のトランジスタ
１３７    第７のトランジスタ
１３８    第８のトランジスタ
１３９    第９のトランジスタ
１４０    第１０のトランジスタ
１４５    第１１のトランジスタ
１４６    第１２のトランジスタ
１５１    第１のインバータ
１５２    第２のインバータ
１５３    データ保持回路
１６１    第１３のトランジスタ
１６２    第１４のトランジスタ
１７１    第１５のトランジスタ
１７２    第１６のトランジスタ
１７３    第１７のトランジスタ
１７４    第１８のトランジスタ
１７５    第１９のトランジスタ
１７６    第２０のトランジスタ
１８１    クロックドインバータ
１８３    アナログスイッチ
１８４    データ保持回路
１９１    第１５のトランジスタ
１９２    第１６のトランジスタ
１９３    第１７のトランジスタ
１９４    第１８のトランジスタ
１９５    第１９のトランジスタ
１９６    第２０のトランジスタ
２２１    クロックドインバータ
２２３    アナログスイッチ
２２４    データ保持回路
２４１    インバータ
２４２    インバータ
２４３    バッファ回路
２４４    インバータ
２４５    インバータ
２４６    バッファ回路
３００    メモリセル
３０１    バリッドビット
３０２    タグ
３０３    データフィールド
３０５    キャッシュライン
３３０＿ｎ    メモリセル
６００    ＣＰＵ
６０１    制御装置
６０２    ＡＬＵ
６０３    データキャッシュ
６０４    命令キャッシュ
６０５    プログラムカウンタ
６０６    命令レジスタ
６０７    主記憶装置
６０８    レジスタファイル
【図１】
2013250963.tif 000004
【図２】
2013250963.tif 000005
【図３】
2013250963.tif 000006
【図４】
2013250963.tif 000007
【図５】
2013250963.tif 000008
【図６】
2013250963.tif 000009
【図７】
2013250963.tif 000010
【図８】
2013250963.tif 000011
【図９】
2013250963.tif 000012
【図１０】
2013250963.tif 000013
【図１１】
2013250963.tif 000014