(57)【要約】  記憶回路（１８０−１８３及び２８０−２８１）は、高速読出しアクセスを可能にしつつ、低電力動作に用い得る。例えば、回路１００では、共用相補書き込みビット線（１０１、１０２）、個別読出しビット線（１０３−１０６）、共用読出しワード線（１０７）、及び個別書き込みワード線（１０８−１１１）が用いられる。回路２００では、共用相補書き込みビット線（２０１、２０２）、共用読出しビット線（２０３）、個別読出しワード線（２０６−２０７）、及び個別書き込みワード線（２０８−２０９）が用いられる。記憶回路は、例えば、レジスタファイル（１７）、分岐ユニット（１５）、ＳＲＡＭ（１９）、他のモジュール（２０）、キャッシュ（１８）、バッファ（２１）、及び／又はメモリ（１４）等の様々な文脈で用い得る。
2008541333.tif 000002
【特許請求の範囲】
【請求項１】
第１端子及び第２端子を有し第１データ値を記憶するための第１記憶セルと、
第１端子及び第２端子を有し第２データ値を記憶するための第２記憶セルと、
前記第１記憶セル及び前記第２記憶セルの各々に接続され、それぞれ前記第１データ値及び前記第２データ値双方を前記第１記憶セル及び前記第２記憶セルに選択的に提供するための共用書き込みビット線と、
前記第１記憶セルに接続され、前記第１記憶セルだけを選択的に読み出すための第１読出しビット線と、
前記第２記憶セルに接続され、前記第２記憶セルだけを選択的に読み出すための第２読出しビット線と、
が含まれる記憶回路。
【請求項２】
更に、共用読出し信号に応じて、前記第１記憶セル及び第２記憶セルの各々の読出しを選択的に可能にするための共用読出しワード線が含まれる請求項１に記載の記憶回路。
【請求項３】
前記第１記憶セル及び前記第２記憶セルは、各々、静的ランダムアクセスメモリ（ＳＲＡＭ）セル、レジスタ、キャッシュ・タグ・アレイ・メモリセル、バッファ、又は分岐ユニットメモリセルの内の１つからなる請求項１に記載の記憶回路。
【請求項４】
更に、前記第１記憶セルの前記第１端子に接続された第１選択ゲートと、
前記第２記憶セルの前記第２端子に接続された第２選択ゲートと、
前記第１選択ゲートに接続された、同第１選択ゲートによる前記第１記憶セルへの書き込みを可能にする第１書き込みワード線と、
前記第２選択ゲートに接続された、前記第２選択ゲートによる前記第２記憶セルへの書き込みを可能にする前記第２書き込みワード線と、
が含まれる請求項１に記載の記憶回路。
【請求項５】
更に、前記第１記憶セルの前記第２端子に接続された、前記第１書き込みワード線によって制御される第３選択ゲートと、
前記第２記憶セルの前記第１端子に接続された、前記第２書き込みワード線によって制御される第４選択ゲートと、
が含まれる請求項４に記載の記憶回路。
【請求項６】
前記第１記憶セルは、連想メモリの第１経路に割り当てられ、前記第２記憶セルは、前記連想メモリの第２経路に割り当てられる請求項１に記載の記憶回路。
【請求項７】
データ記憶回路においてデータを処理するための方法であって、
第１端子及び第２端子を有する第１記憶セルに第１データ値を記憶する段階と、
第１端子及び第２端子を有する第２記憶セルに第２データ値を記憶する段階と、
それぞれ前記第１データ値及び前記第２データ値双方を前記第１記憶セル及び前記第２記憶セルに選択的に提供するための共用書き込みビット線を前記第１記憶セル及び前記第２記憶セルの各々に接続する段階と、
前記第１記憶セルに接続された第１読出しビット線を介して前記第１記憶セルだけを選択的に読み出す段階と、
前記第２記憶セルに接続された第２読出しビット線を介して前記第２記憶セルだけを選択的に読み出す段階と、
が含まれる方法。
【請求項８】
更に、共用読出しワード線を介して、共通読出し信号に応じて、前記第１記憶セル及び前記第２記憶セルの各々の読み出しを選択的に可能にする段階が含まれる請求項７に記載の方法。
【請求項９】
更に、静的ランダムアクセスメモリ（ＳＲＡＭ）セル、レジスタ、キャッシュ・タグ・アレイ・メモリセル、バッファ、又は分岐ユニットメモリセルの内の１つとして前記第１記憶セル及び前記第２記憶セルを実装する段階が含まれる請求項７に記載の方法。
【請求項１０】
更に、第１書き込みワード線を介して前記第１記憶セルの前記第１端子に接続された第１選択ゲートをイネーブル状態にする段階と、
前記第１記憶セルを書き込む段階と、
第２書き込みワード線を介して前記第２記憶セルの前記第２端子に接続された第２選択ゲートをイネーブル状態にする段階と、
前記第２記憶セルを書き込む段階と、
が含まれる請求項７に記載の方法。
【請求項１１】
更に、前記第１記憶セルの前記第２端子に接続された第３選択ゲートを提供する段階であって、前記第３選択ゲートは、前記第１書き込みワード線によって制御される前記段階と、
前記第２記憶セルの前記第１端子に接続された第４選択ゲートを提供する段階であって、前記第４選択ゲートは、前記第２書き込みワード線によって制御される前記段階と、
が含まれる請求項１０に記載の方法。
【請求項１２】
更に、連想メモリの第１経路に前記第１記憶セルを割り当てる段階と、
前記連想メモリの第２経路に前記第２記憶セルを割り当てる段階と、
が含まれる請求項１０に記載の方法。
【請求項１３】
記憶回路であって、
第１端子及び第２端子を有し第１データ値を記憶するための第１記憶セルと、
第１端子及び第２端子を有し第２データ値を記憶するための第２記憶セルと、
前記第１記憶セルに接続され、前記第１記憶セルだけに選択的に書き込むための第１書き込みワード線と、
前記第２記憶セルに接続され、前記第２記憶セルだけに選択的に書き込むための第２書き込みワード線と、
前記第１記憶セルに接続された第１選択ゲート及び前記第２記憶セルに接続された第２選択ゲートと、
前記第１選択ゲート及び前記第２選択ゲートの各々に接続され、それぞれ前記第１データ値及び前記第２データ値双方を前記第１記憶セル及び前記第２記憶セルから提供する制御信号を選択的に提供するための共用読出しワード線と、
が含まれる記憶回路。
【請求項１４】
更に、前記第１記憶セル及び前記第２記憶セルの各々に接続され、それぞれ前記第１データ値及び前記第２データ値双方を前記第１記憶セル及び前記第２記憶セルに選択的に提供するための共用書き込みビット線が含まれる請求項１３に記載の記憶回路。
【請求項１５】
記憶回路であって、
第１端子及び第２端子を有し第１データ値を記憶するための第１記憶セルと、
第１端子及び第２端子を有し第２データ値を記憶するための第２記憶セルと、
前記第１記憶セル及び前記第２記憶セルの各々に接続され、それぞれ前記第１データ値及び前記第２データ値双方を前記第１記憶セル及び前記第２記憶セルに選択的に提供するための共用書き込みビット線と、
前記第１記憶セルの読出しを選択的に可能にするための第１読出し選択ゲート及び前記第２記憶セルの読出しを選択的に可能にするための第２読出し選択ゲートと、
前記第１読出し選択ゲート及び前記第２読出し選択ゲートの各々に接続され、前記第１記憶セル及び前記第２記憶セルの各々を選択的に読み出すための共用読出しビット線と、
が含まれる記憶回路。
【請求項１６】
前記共用書き込みビット線及び前記共用読出しビット線の内の少なくとも１つには、更に、前記第１記憶セル及び前記第２記憶の前記第１端子又は前記第２端子の１つに選択的に影響を及ぼす又はそれによって影響が及ぼされる相補ビット線が含まれる請求項１５に記載の記憶回路。
【請求項１７】
更に、前記第１記憶セル及び前記第２記憶セルを選択的に別々に書き込むための前記第１記憶セルに接続された第１書き込みワード線及び前記第２記憶セルに接続された第２書き込みワード線と、
前記第１記憶セル及び前記第２記憶セルを選択的に別々に読み出すための前記第１記憶セルに接続された第１読出しワード線及び前記第２記憶セルに接続された第２読出しワード線と、
が含まれる請求項１５に記載の記憶回路。
【請求項１８】
データ記憶回路においてデータを処理するための方法であって、
第１端子及び第２端子を有し第１データ値を記憶するための第１記憶セルを提供する段階と、
第１端子及び第２端子を有し第２データ値を記憶するための第２記憶セルを提供する段階と、
それぞれ前記第１データ値及び前記第２データ値双方を前記第１記憶セル及び前記第２記憶セルに選択的に提供するための共用書き込みビット線を前記第１記憶セル及び前記第２記憶セル各々の前記第１端子に接続する段階と、
前記第１記憶セル及び前記第２記憶セル各々を選択的に読み出すための共用読出しビット線を前記第１記憶セル及び前記第２記憶セル各々に接続する段階と、が含まれる方法。
【請求項１９】
更に、前記第１記憶セル及び前記第２記憶セルの動作を強化する、前記共用書き込みビット線又は前記共用読出しビット線の内の少なくとも１つの補完である相補ビット線を提供する段階が含まれる請求項１８に記載の方法。
【請求項２０】
更に、前記第１記憶セル及び前記第２記憶セルを選択的に別々に書き込むために、第１書き込みワード線を前記第１記憶セルに接続し、第２書き込みワード線を前記第２記憶セルに接続する段階と、
前記第１記憶セル及び前記第２記憶セルを選択的に別々に読み出すために、第１読出しワード線を前記第１記憶セルに接続し、第２読出しワード線を前記第２記憶セルに接続する段階と、が含まれる請求項１８に記載の方法。
【請求項２１】
請求項１８に記載の方法であって、更に、
データ処理システムにおいて、第１文脈又は第１スレッドに前記第１記憶セルを割り当てる段階と、
前記データ処理システムにおいて、第２文脈又は第２スレッドに前記第２記憶セルを割り当てる段階と、が含まれる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、集積回路に関し、特に、集積回路における記憶回路に関する。
【背景技術】
【０００２】
低消費電力化は、例えば、携帯用途や手持ち式用途が普及したために、データ処理システムにおいて重要になっている。今日、多くのデータ処理システムが、メモリ（メインメモリ又は他の内部又は外部メモリ等）へのアクセス数を低減するために、小型化され、高速化され、効率化されたメモリであって集積回路に配置されたキャッシュとも称されるメモリを用いている。キャッシュへのアクセスでは、一般的に、他の内部又は外部メモリへのアクセスと比較して、消費電力が少なく、待ち時間が低減される。従って、電力を低減し、性能を向上させるために、高速化され効率化されたキャッシュに後で再度必要な項目を記憶することは、望ましいことである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
更に、消費電力を低減するために、また、できるだけ高速でキャッシュを動作させるために、キャッシュの文脈で用い得る改善された記憶回路に対するニーズや、他の選択肢として、記憶回路を利用する様々な他の用途に対する適用可能性を有し得る改善された記憶回路に対するニーズが存在する。消費電力が小さく読出しアクセスが速い記憶回路に対する１つのそのような用途は、文脈又はスレッドスイッチングである。他の数多くの用途が、消費電力が小さく読出しアクセスが速い記憶回路を利用し得る。
【課題を解決するための手段】
【０００４】
本発明は、添付の図によって、例として例示するものであって、これらによって限定されるものではない。図では、同様な参照符号は、同様な要素を示す。
当業者は、図の要素が、簡単明瞭に示されており、必ずしも縮尺通りに描かれていないことを認識されたい。例えば、図の要素には、本発明の実施形態の理解を改善する一助とするために、他の要素と比較して寸法を誇張したものがある。
【０００５】
本明細書に用いる用語「バス」は、データ、アドレス、制御、又は状態等の、１つ又は複数の様々な種類の情報を伝達するのに用い得る複数の信号又は導体を意味するために用いられる。本明細書において述べる導体は、単一の導体、複数の導体、単方向の導体、又は双方向の導体であることに関連して例示又は記述し得る。しかしながら、異なる実施形態では、導体の実装も異なり得る。例えば、双方向の導体よりもむしろ別個の単方向導体を用いたり、その逆の場合もあったりする。また、複数の導体は、直列に又は時分割多重方式で多数の信号を伝達する単一の導体で置き換え得る。同様に、多数の信号を搬送する単一の導体は、これらの信号の一部を搬送する様々な異なる導体に分離し得る。従って、信号を伝達するための多くの選択肢が存在する。
【発明を実施するための最良の形態】
【０００６】
図１にデータ処理システム１０の一実施形態を示す。データ処理システム１０には、集積回路１２及び外部メモリ１４が含まれる。集積回路１２には、プロセッサ１６、キャッシュメモリ１８、静的ランダムアクセスメモリ（ＳＲＡＭ）１９、バスインターフェイス２２、及び他のモジュール２０が含まれる。集積回路１２には、更に、バス２４及びバス２６が含まれる。バス２４は、プロセッサ１６、キャッシュ１８、ＳＲＡＭ１９、バスインターフェイス２２、及び他のモジュール２０を接続する。バス２６は、外部メモリ１４にバスインターフェイス２２を接続する。データ処理システム１０の具体的な代表的実施形態を開示したが、そのような処理システムの様々な構成及び他の選択肢としての実施形態が実現できると考えられる。
【０００７】
例えば、キャッシュ１８は、集積回路１２の一部として示したが、キャッシュ１８は、他の選択肢として、集積回路１２の外に、例えば、外部メモリ１４内に配置してよい。また、集積回路１２は、例えば、多重プロセッサデータ処理システムでのように、任意の数のプロセッサを含んでよく、また、他のモジュール２０は、例えば、他のマスタ、スレーブ、又はメモリ等、いずれか他の周辺装置を含んでよいことに留意されたい。更に、データ処理システム１０には、データ処理システム１０の異なる部位を異なる半導体基板に配置し得るように、任意の数の集積回路を含んだり又は他の選択肢として、データ処理システム１０は、同じ基板上に組み立てたりしてよい。更に、外部メモリ１４は、集積回路１２と同じ半導体基板上に配置したり又は別の基板上に配置したりしてよい。
【０００８】
一実施形態において、プロセッサ１６は、レジスタファイル１７及び分岐ユニット１５を有する。他の実施形態は、データ処理システム１０の任意の部位にレジスタファイル１７を配置し得る。一実施形態において、分岐ユニット１５を用いて、プロセッサ１６用の枝路予測を実施し得る。枝路予測を実施するための様々な方法が、当分野では公知である。一実施形態において、バスインターフェイス２２は、バッファ２１を有する。他の実施形態は、データ処理システム１０の任意の部位にバッファ２１を配置し得る。データ処理システム１０については、図２乃至５を参照して後述するように、本発明の実施形態を理解するために必要な範囲でのみ議論する。残りの機能は、当分野で公知の通りであり、従って、当分野で知られている様々な異なる方法で実現し得る。データ処理システム１０の全ての又は任意の部位は、単一の集積回路上に共に実装し得ることに留意されたい。
【０００９】
図２において、キャッシュ１８の部位の特定の実施形態を開示する。このキャッシュ１８の部位には、レジスタ６２、多数の経路４２−４８用のタグメモリアレイ、多数の経路５０−５６用のデータメモリアレイ、及びキャッシュ制御回路５８が含まれる。アクセスアドレス４０は、バス２４のアドレス部から受け取られ、タグ値部６４、インデックス部６６、及びワード選択部６８を有する。例えば、読出しアクセスの場合、アクセスアドレス４０は、要求された情報（例えば、データ又は命令）のアドレスに対応する。例示した実施形態において、受信されると、アクセスアドレス４０は、レジスタ６２内に記憶される。アクセスアドレス４０のタグ部６４は、多重経路タグアレイ４３に提供されるタグ値データを含む。例示した実施形態において、タグアレイ４３は、経路０用のタグアレイ４２、経路１用のタグアレイ４４、経路２用のタグアレイ４６、及び経路３用のタグアレイ４８を有する。インデックス部６６からのデータは、多重経路タグアレイ４３及び多重経路データアレイ５３双方に提供され、また、タグアレイ（４２、４４、４６、４８）及びデータアレイ（５０、５２、５４、５６）にインデックスを提供するために用いられる。例えば、一実施形態において、インデックス部６６には、各経路のタグ及びデータ部内において所定数の組の１つを選択するための組標識が含まれる。ワード選択部６８からのデータは、多重経路データアレイ５０−５６に提供され、データアレイ（経路０）５０等のデータアレイ内のデータは、インデックス部６６及びワード選択部６８双方によって示される。即ち、インデックス部６６は、データアレイ（経路０）５０の１つの入力項目を識別し、そして、ワード選択６８は、その入力項目の一部を識別する。多重経路データアレイは、バス２４の双方向データ部にも接続され、バス２４との間でデータをやり取りする。
【００１０】
タグアレイ（経路０）４２等のタグアレイ４３の各部は、タグ値６４とインデックス値６６に対して配置されたタグアレイ（経路０）４２内のデータとの間の比較に基づき、データアレイ（経路０）５０等の対応するデータアレイにヒット信号を提供する。例えば、動作中、タグ部６４は、インデックス部６６を介してタグアレイ（経路０）４２から検索された値と比較され、ヒット信号７２を提供する。比較された値が一致した場合、ヒット信号７２は、アサートされ、ヒットを示す。データアレイ（経路０）５０には、複数のデータブロックが含まれ、インデックス値６６及びワード選択値６８双方によってアドレス指定され、また、ヒットに応じて、アドレス指定されたデータ項目は、データアレイ（経路０）５０からデータ部バス２４に出力される。しかしながら、比較された値が一致しない場合、ヒット信号７２は、アサートされず、キャッシュ１８のその経路における失敗を示す。タグ値６４とタグアレイ４２−４８のいずれかのタグとの間が一致しない場合、ヒット信号７２−７８は、いずれもアサートされず、アクセスアドレス４０がキャッシュ１８において失敗したことを示す。
【００１１】
図２は、キャッシュ１８の一部の単なる一例を示すことに留意されたい。しかしながら、他の実施形態において、レジスタ６２、タグアレイ４２−４８、及びデータアレイ５０−５６は、当分野で公知なように、様々な異なる方法で実装して、所望の機能を実現し得ることに留意されたい。キャッシュ制御回路５８は、キャッシュ１８を動作させるために用いられる制御信号を提供し得る。
【００１２】
図３は、図２のタグアレイ４３の一部の一実施形態を示す。例示した実施形態において、アドレス０用のビット０及びビット１を示す。他の実施形態は、各アドレスに対応する任意の所望数のビットを有し得る（例えば、アドレス０が、８ビット、９ビット、１６ビット、３２ビット、６４ビットに対応し得る等）。例示した実施形態の場合、所定のアドレス（例えば、アドレス０）の各ビット（例えば、ビット０）は、各経路（例えば、経路０、経路１、経路２、経路３）用の別個の部分を有することに留意されたい。また、タグアレイ４３は、任意の所望数のアドレス（例えば、Ｎを整数とすると、アドレス０乃至アドレスＮ）を有し得ることに留意されたい。例示した実施形態において、アドレス０用のビット０には、経路０用の回路、経路１用の回路、経路２用の回路、及び経路３用の回路を含む回路１００が含まれる。
【００１３】
図３は、ビットセルを含むタグアレイ４３の部分だけを示すことを当業者は認識されるであろう。各ビットセルには、記憶要素（１つ又は複数）と、記憶要素（１つ又は複数）の読出し及び書き込みを行うためのトランジスタと、が含まれる（図４参照）。図３に示さないタグアレイ４３の部分は、任意の適切な従来技術による方法を含む任意の所望の方法で実現し得る。例えば、幾つかの実施形態において、タグアレイ４３には、アドレス、制御、及び書き込みデータ用の入力ラッチが含まれることがある。更に、アドレスデコーダ、ワード線ドライバ、及び列回路が存在することがある。列回路は、列多重化装置、センス増幅器又はデータインバータ、出力ドライバ、及び出力ラッチを包含し得るが、これらは、全て任意の適切な従来技術による方法を含む任意の所望の方法で実現し得る。本明細書に用いる用語「ビットセル」は、記憶回路の１つのタイプである。
【００１４】
更に、１つのタグ経路だけが、所定の時間に書き込まれることがあることを当業者は認識されるであろう。更に一般的には、所定の入力項目用のビットセルの一部（ワード線）だけを書き込む必要があることは、極めて普通のことである。従って、ビットセルの残りは、それらの元の状態を保持すべきである。一般的に用いられる従来技術は、ワード線に関連する全てのビットセル用のプリチャージされた書き込みビット線対（ビット線及びビット線バー）を用いることによって、この機能を達成する。更新する必要がないビットセルは、第２電源電圧（例えば、電力又はＶＤＤ）に実質的に近い値でプリチャージされたままであるビット線及びビット線バーを有する。更新する必要があるビットセルは、ビット線及びビット線バー用の（ＶＤＤに近いものに対して接地に近いもの又はその逆の）相補値を有する。
【００１５】
上記パラグラフに述べた解決策は、当業者によって通常用いられる。しかしながら、それは、低消費電力及び低電圧動作を必要とする用途に対して固有の弱さを有する。特に、更新する必要がないビットセルは、依然としてそれらの選択トランジスタ（１つ又は複数）が導通状態にあることに留意すべきである。その結果、ビットセルの内部記憶ノードは、ＶＤＤ近くにプリチャージされたビット線及びビット線バー信号にさらされる。その結果、ビットセルの“論理０”側に関連するビット線（又はビット線バー）から流れる電流が存在する。これは、ビット線（又はビット線バー）を部分的に放電する“ダミー読出し”動作である。結局、部分的に放電されるビット線（又はビット線バー）は、プリチャージ動作中、再び補充する必要がある。従って、これは、無駄な電力である。
【００１６】
無駄な電力とは別に、この解決策固有の他の弱さがある。特に、“ダミー読出し”では、ビットセルの内部記憶ノードが、プリチャージされたビット線及びビット線バーにさらされる必要がある。すると、このことにより、ビットセルの状態が意図せずに変わる可能性がある。これを保護するために、ビットセルトランジスタは、ダミー読出し中、安定性が改善されるように大きさが決定されなければならない。このことの副作用は、これによって、ビットセルが低電圧で書き込むのが更に困難になることである。
【００１７】
図４に示す提案された解決策は、書き込まれる予定の各タグ経路に個別書き込みワード線を用いることによって、“ダミー読出し”を無くする。個別書き込みワード線によって、ビットセル面積が必ずしも増えるとは限らない。その理由は、これが、一般的に、メタルレイアウトルールに対して、トランジスタレイアウトルールによって支配されるためである。更に、図４の提案された解決策は、４つの経路用の全ての書き込み金属ビット線を１つの共用金属ビット線（及び／又はビット線バー）に統合する。この利点について、図４に関連する説明で議論する。
【００１８】
図４は、図３の回路１００（経路０−３用のアドレス０のビット０）の一実施形態を示す。経路０用の記憶セル１１２には、交差接続インバータ１１６及び１１７が含まれる。記憶セル１１２は、トランジスタ１２４の第１電流電極に接続された第１端子及びトランジスタ１２５の第１電流電極に接続された第２端子を有する。トランジスタ１２４及び１２５の制御電極は、双方共、書き込みワード線（経路０）１０８に接続される。記憶セル１１２の第２端子は、トランジスタ１３６の制御電極に接続される。トランジスタ１３６の第１電流電極は、第１電源電圧に接続される。トランジスタ１３６の第２電流電極は、トランジスタ１３２の第１電流電極に接続される。読出しワード線１０７は、トランジスタ１３２の制御電極に接続される。トランジスタ１３２の第２電流電極は、読出しビット線（経路０）１０３に接続される。
【００１９】
経路１用の記憶セル１１３には、交差接続インバータ１１８及び１１９が含まれる。記憶セル１１３は、トランジスタ１２６の第１電流電極に接続された第１端子及びトランジスタ１２７の第１電流電極に接続された第２端子を有する。トランジスタ１２６及び１２７の制御電極は、双方共、書き込みワード線（経路１）１０９に接続される。トランジスタ１２６の第２電流電極は、トランジスタ１２４の第２電流電極及び書き込みビット線バー１０２に接続される。用語「バー」は、相補信号を示すために用いられる（例えば、書き込みビット線バー１０２は、書き込みビット線１０１に対して補完的である）ことに留意されたい。トランジスタ１２７の第２電流電極は、トランジスタ１２５の第２電流電極及び書き込みビット線１０１に接続される。記憶セル１１３の第２端子は、トランジスタ１３７の制御電極に接続される。トランジスタ１３７の第１電流電極は、第１電源電圧に接続される。トランジスタ１３７の第２電流電極は、トランジスタ１３３の第１電流電極に接続される。読出しワード線１０７は、トランジスタ１３３の制御電極に接続される。トランジスタ１３３の第２電流電極は、読出しビット線（経路１）１０４に接続される。回路１８０は、経路０に用いられ、回路１８１は、経路１に用いられる。
【００２０】
経路２用の記憶セル１１４には、交差接続インバータ１２０及び１２１が含まれる。記憶セル１１４は、トランジスタ１２８の第１電流電極に接続された第１端子及びトランジスタ１２９の第１電流電極に接続された第２端子を有する。トランジスタ１２８及び１２９の制御電極は、双方共、書き込みワード線（経路２）１１０に接続される。記憶セル１１４の第２端子は、トランジスタ１３８の制御電極に接続される。トランジスタ１３８の第１電流電極は、第１電源電圧に接続される。トランジスタ１３８の第２電流電極は、トランジスタ１３４の第１電流電極に接続される。読出しワード線１０７は、トランジスタ１３４の制御電極に接続される。トランジスタ１３４の第２電流電極は、読出しビット線（経路２）１０５に接続される。
【００２１】
経路３用の記憶セル１１５には、交差接続インバータ１２２及び１２３が含まれる。記憶セル１１５は、トランジスタ１３０の第１電流電極に接続された第１端子及びトランジスタ１３１の第１電流電極に接続された第２端子を有する。トランジスタ１３０及び１３１の制御電極は、双方共、書き込みワード線（経路３）１１１に接続される。トランジスタ１３０の第２電流電極は、トランジスタ１２８の第２電流電極及び書き込みビット線バー１０２に接続される。トランジスタ１３１の第２電流電極は、トランジスタ１２９の第２電流電極及び書き込みビット線１０１に接続される。記憶セル１１５の第２端子は、トランジスタ１３９の制御電極に接続される。トランジスタ１３９の第１電流電極は、第１電源電圧に接続される。トランジスタ１３９の第２電流電極は、トランジスタ１３５の第１電流電極に接続される。読出しワード線１０７は、トランジスタ１３５の制御電極に接続される。トランジスタ１３５の第２電流電極は、読出しビット線（経路３）１０６に接続される。回路１８２は、経路２に用いられ、回路１８３は、経路３に用いられる。図４に示すトランジスタは、全てｎチャネル電界効果トランジスタである。他の実施形態は、代わりに、ｐチャネル電界効果トランジスタ、又は回路１００内で適切に接続されたｎチャネル及びｐチャネルトランジスタの組合せを用い得る。
【００２２】
図４の回路１００の幾つかの実施形態の場合、第１電源電圧は、ほぼ接地電圧であってよく、第２電源電圧は、第１電源電圧より高くてよく、また、プリチャージする（例えば、図４の読出しビット線１０３−１０６をプリチャージする）目的に用いてよい。
【００２３】
図４の回路１００は、アドレス（例えば、アドレス０）における追加の各ビットに対して複製されることに留意されたい。更に、回路１００は、アドレス０からアドレスＮまでのアドレスにおける各ビット０に対しても複製される。例えば、アドレス１のビット０は、回路１００の複製を利用する。
【００２４】
図４の回路１００に示した特定の実施形態には、上述したもの以外の多くの恩恵がある。書き込みビット線（１０１及び１０２）を共用することによって、また、各記憶回路（１８０−１８３）用にそれらを複製しないことによって、ルーティングが低減されることを当業者は認識されるであろう。これによって、読出しビット線（１０３−１０６）の間隔が大きくなって寄生容量が減少し、また、読出しビット線（１０３−１０６）の幅が広くなって導体配線の寄生抵抗が減少し得る。これら恩恵のいずれかによって、回路１００の読出し動作を高速化し得る。更に、回路１００に示した実施形態は、記憶要素を用いる他の用途より書き込みビット線（１０１及び１０２）が少なく、従って、書き込みビット線（１０１及び１０２）を駆動するのに必要な回路が低減される。これは、用いる回路が小さくなり、また、寄生電力消費を受けるデバイスが少なくなり得ることを意味する。従って、必要な半導体面積が小さくなり、漏れ電流が小さくなり得る。
【００２５】
次に、図４の回路１００の読出し動作の一実施形態について述べる。一実施形態において、アドレス０に対する読出し動作中、読出しワード線１０７がアサートされ、これにより、トランジスタ１３２、１３３、１３４、及び１３５が導通状態になる。トランジスタ１３６、１３７、１３８、及び１３９は、それぞれ記憶セル１１２、１１３、１１４、及び１１５に記憶された値に基づき、導通状態又は非導通状態のいずれかである。トランジスタ１３６が導通状態である場合、プリチャージされた読出しビット線（経路０）１０３は、論理レベル“１”から論理レベル“０”に放電される。トランジスタ１３７が非導通状態である場合、プリチャージされた読出しビット線（経路１）１０４は、論理レベル“０”に放電されない。読出しビット線（経路２）１０５及び読出しビット線（経路３）１０６は、トランジスタ１３８及び１３９が導通状態又は非導通状態かどうかに依存して、放電されたり放電されなかったりする。例示した実施形態では、全経路（経路０−３）が同時に読み出されることに留意されたい。
【００２６】
次に、図４の回路１００の書き込み動作の一実施形態について述べる。一実施形態では、書き込み動作中、一度に１つの経路だけが書き込まれる。例えば、経路０のアドレス０への書き込みアクセスの場合、書き込みワード線（経路０）１０８が、アサートされ、他の全ての書き込みワード線１０９−１１１は、アサートされない。書き込まれるデータは、書き込みビット線１０１に印加又は供給され、補完データは、書き込みビット線バー１０２に印加又は供給される。書き込みワード線（経路０）１０８がアサートされると、トランジスタ１２４及び１２５は、導通状態になる。これによって、記憶セル１１２の２つの端子は、書き込みデータ値を記憶セル１１２に伝達するために、それぞれ書き込みビット線１０１及び書き込みビット線バー１０２に接続される。
【００２７】
例示した実施形態の場合、読出しアクセス及び書き込みアクセスは、互いに独立であることに留意されたい。従って、読出し動作及び書き込み動作は、読出しアクセスが、書き込みアクセスと異なるアドレスに対するものであれば、同時に起こり得る。従って、例示した実施形態の場合、異なるアドレスへの読出しアクセス及び書き込みアクセスは、時間的に、同時に、部分的に重なり合って、又は重なり合わずに起こり得る。
【００２８】
本発明の他の実施形態は、わずかな回路を追加することによって、追加の読出し及び／又は書き込みポートを追加し得ることに留意されたい。例えば、追加の読出しポートは、各経路用にトランジスタ１３２及び１３６、１３３及び１３７、１３４及び１３８、並びに１３５及び１３９と並列に別のトランジスタを追加することによって、また、別の読出しワード線及び別の読出しビット線を追加することによって、追加し得る。追加の書き込みポートは、各経路用にトランジスタ１２４及び１２５、１２６及び１２７、１２８及び１２９、並びに１３０及び１３１と並列に別のトランジスタを追加することによって、また、別の書き込みワード線及び別の書き込みビット線を追加することによって、追加し得る。
【００２９】
次に、図５において、図５の回路２００は、キャッシュ１８の文脈でも用い得るが、レジスタファイル（例えば、図１のレジスタファイル１７）の文脈で述べる。従って、キャッシュに用いられる“経路”の概念の代わりに、“文脈”の概念を用いる。例えば、レジスタファイル１７は、文脈スイッチングに、例えば、多数のタスク又はスレッドが用いられる場合に用い得る。本発明は、任意の所望の用途に用い得ること、及び本明細書において述べた用途（例えば、キャッシュ経路、文脈スイッチング）は、単に２つの可能な用途であることに留意されたい。更に、図４及び５で本明細書に述べた回路は、データ処理システム１０の任意の部分に、例えば、レジスタファイル１７、（例えば、潜在的な枝路アドレスを記憶するための）分岐ユニット１５、ＳＲＡＭ１９、他のモジュール２０、キャッシュ１８、バッファ２１、及びメモリ１４等に用い得る。他の実施形態は、任意の所望の方法で、また、任意の所望の用途に、図４−５に示す回路を用い得る。
【００３０】
図５は、図１のレジスタファイル１７の一部の回路２００の一実施形態（文脈０−１用のアドレス０のビット０）を示す。文脈０用の記憶セル２１２には、交差接続インバータ２１６及び２１７が含まれる。記憶セル２１２は、トランジスタ２２４の第１電流電極に接続された第１端子及びトランジスタ２２５の第１電流電極に接続された第２端子を有する。トランジスタ２２４及び２２５の制御電極は、双方共、書き込みワード線（文脈０）２０８に接続される。記憶セル２１２の第２端子は、トランジスタ２３６の制御電極に接続される。トランジスタ２３６の第１電流電極は、第１電源電圧に接続される。トランジスタ２３６の第２電流電極は、トランジスタ２３２の第１電流電極に接続される。読出しワード線２０６は、トランジスタ２３２の制御電極に接続される。トランジスタ２３２の第２電流電極は、読出しビット線２０３に接続される。
【００３１】
文脈１用の記憶セル２１３には、交差接続インバータ２１８及び２１９が含まれる。記憶セル２１３は、トランジスタ２２６の第１電流電極に接続された第１端子及びトランジスタ２２７の第１電流電極に接続された第２端子を有する。トランジスタ２２６及び２２７の制御電極は、双方共、書き込みワード線（文脈１）２０９に接続される。トランジスタ２２６の第２電流電極は、トランジスタ２２４の第２電流電極及び書き込みビット線バー２０２に接続される。トランジスタ２２７の第２電流電極は、トランジスタ２２５の第２電流電極及び書き込みビット線２０１に接続される。記憶セル２１３の第２端子は、トランジスタ２３７の制御電極に接続される。トランジスタ２３７の第１電流電極は、第１電源電圧に接続される。トランジスタ２３７の第２電流電極は、トランジスタ２３３の第１電流電極に接続される。読出しワード線２０７は、トランジスタ２３３の制御電極に接続される。トランジスタ２３３の第２電流電極は、読出しビット線２０３に接続される。回路２８０は、文脈０に用いられ、回路２８１は、文脈１に用いられる。図５に示すトランジスタは、全てｎチャネル電界効果トランジスタである。他の実施形態は、代わりに、ｐチャネル電界効果トランジスタ、又は回路２００内で適切に接続されたｎチャネル及びｐチャネルトランジスタの組合せを用い得る。
【００３２】
図５の回路２００の幾つかの実施形態の場合、第１電源電圧は、ほぼ接地電圧であってよく、第２電源電圧は、第１電源電圧より高くてよく、また、プリチャージする（例えば、図５の読出しビット線２０３をプリチャージする）目的に用いてよい。
【００３３】
図５の回路２００は、アドレス（例えば、アドレス０）における追加の各ビットに対して複製されることに留意されたい。更に、回路２００は、アドレス０からアドレスＮまでのアドレスにおける各ビット０に対しても複製される。例えば、アドレス１のビット０は、回路２００の複製を利用する。
【００３４】
図５に示す回路は、単一の読出しポート及び単一の書き込みポートによる２スレッドレジスタファイル（例えば、図１のレジスタファイル１７）での用途に適用可能である。各スレッド（即ち、“文脈”）は、別個の記憶要素２１２、２１３によって表される。所定の時間において、レジスタファイル１７のアクセスが、２つのスレッドの内の１つにおいて起こる。例えば、この特定のビットへの書き込み動作は、適切な書き込みワード線（２０８又は２０９）上において、論理レベル“１”を必然的に伴う。アクセスされないスレッドは、その書き込みワード線が、論理レベル“０”である。そして、書き込みビット線２０１及び２０２上に存在するデータ値は、それぞれの選択トランジスタ（２２４及び２２５、２２６及び２２７）を通して、適切な記憶セル２１２及び２１３に接続される。
【００３５】
次に、図５の回路２００用の読出し動作の一実施形態について述べる。例示した実施形態において、読出しアクセスでは、適切な読出しワード線（２０６又は２０７）が論理レベル“１”である必要がある。一実施形態において、文脈０に対する読出し動作中、読出しワード線２０６が、アサートされ（即ち、論理レベル“１”）、これによって、トランジスタ２３２が導通状態になり、トランジスタ２３３は、実質的に非導通状態になる。その結果、記憶セル２１２に記憶された値は、この時点で、読出しビット線２０３の合成値を決定する。一実施形態において、読出しビット線２０３は、初期的に論理レベル“１”にプリチャージした。読出しビット線２０３は、論理レベル“０”に放電するか、又は、論理レベル“１”にプリチャージされたままである。一実施形態において、読出しビット線２０３の値は、インバータ又はバッファ（図示せず）のいずれかを通して、レジスタファイル１７データ出力バス（図示せず）に接続してよい。上記読出し動作の場合、トランジスタ２３３が実質的に非導通状態であるという事実により、記憶セル２１３に記憶された値は、読出しビット線２０３に影響を及ぼさないことに留意されたい。
【００３６】
図５の上記説明は、具体的には、単一の読出しポート及び単一の書き込みポートの場合に該当する。しかしながら、図５に示す回路は、簡単に多数の読出しポート及び／又は多数の書き込みポートの場合に拡張し得る。図５の例示した実施形態において、読出しポートを追加すると、（積層２３６、２３２及び積層２３３、２３７と同様な）ｎチャネル直列積層に各々接続される読出しワード線（２０６、２０７等）の追加及び読出しビット線（２０３等）の追加が必然的に伴う。書き込みポートを追加すると、選択トランジスタ（２２４、２２５及び２２６、２２７等）に各々接続される書き込みワード線（２０８、２０９等）及び書き込みビット線（２０１、２０２等）の追加が必然的に伴う。
【００３７】
上記明細書において、具体的な実施形態を参照して、本発明について説明した。しかしながら、当業者が理解されるように、以下の請求項に記載した本発明の範囲から逸脱することなく、様々な修正及び変更を行い得る。例えば、読出し及び／又は書き込みビット線は、単一端ビット線であってよく又は他の選択肢としてビット線対であってよい。ビット線対の場合、多くの可能性がある。例えば、ビット線対は、予めハイに充電したり、予めローに充電したり、接地とＶＤＤとの間の値にプリチャージしたり、小信号差動電圧を担持したり、あるいは、全レール相補電圧を担持し得る。したがって、明細書及び図は、限定的でなく例示的であると見なすものとし、また、そのような全ての修正は、本発明の範囲内に含まれるものとする。
【００３８】
恩恵、他の利点、及び問題の解決策について、具体的な実施形態を基にこれまで述べた。しかしながら、これらの恩恵、利点、問題の解決策、及び何らかの恩恵、利点、又は解決策を生じさせる又はより顕著にさせる如何なる要素（１つ又は複数）も、全ての請求項の重要な、必要な、若しくは不可欠な特徴又は要素として解釈してはならない。本明細書に用いた用語「“ａ”又は“ａｎ”（不定冠詞）」は、１つ又は１つ以上と定義する。本明細書に用いた用語「“ｉｎｃｌｕｄｉｎｇ”（含む）」及び／又は「“ｈａｖｉｎｇ”（有する）」は、「“ｃｏｍｐｒｉｓｉｎｇ”（含む）」（即ち、オープンランゲージ）と定義する。本明細書に用いた用語「“ｃｏｍｐｒｉｓｅｓ”（含む）」、「“ｃｏｍｐｒｉｓｉｎｇ”（含む）」又はその派生語は、非排他的な包括を網羅するものであり、一連の要素を含むプロセス、方法、物、又は装置が、これらの要素だけでなく、明示的に列記されていない他の要素や、このようなプロセス、方法、物、又は装置に固有の他の要素も含み得る。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施形態に基づくデータ処理システムを示すブロック図。
【図２】本発明の一実施形態に基づく図１のキャッシュの一部を示すブロック図。
【図３】本発明の一実施形態に基づく図２のタグアレイの一部を示すブロック図。
【図４】本発明の一実施形態に基づく図３のアドレス０のビット０を示す概略図。
【図５】本発明の一実施形態に基づく図１のレジスタファイル１７の一部におけるアドレス０のビット０を示す概略図。
【図１】
2008541333.tif 000003
【図２】
2008541333.tif 000004
【図３】
2008541333.tif 000005
【図４】
2008541333.tif 000006
【図５】
2008541333.tif 000007