(57)【要約】【解決手段】ＣＡＭバンクが、ＣＡＭドライバ回路を対応数だけ用意することなく、バンク内のすべての整合ライン放電回路を非活性化し、サブバンクを有する入力内の放電回路を選択的に活性化することにより、２個又はそれ以上のサブバンクに機能的に分割される。少なくとも１個の選択的に活性化されるスイッチング回路がサブバンクの放電回路内の各放電コンパレータの仮想接地ノードと回路接地との間に挿入される。スイッチング回路が非導通状態のときは、仮想接地ノードは回路接地より充分に高い電圧レベルに維持されてＣＡＭアクセス時間内に接続された整合ラインの放電を防止する。スイッチング回路が導通状態のときは、仮想接地ノードは回路接地に低下し、接続された整合ラインはコンパレータの非整合動作により放電される。アドレスビットから復号化により形成された制御信号がスイッチング回路に分配され、ＣＡＭサブバンクが選択される。【選択図】      図３
2009514139.tif 000002
【特許請求の範囲】
【請求項１】
駆動回路とＣＡＭの入力数より少ない複数のＣＡＭ入力とを含むＣＡＭバンクの分割方法であって、
各放電回路の仮想接地を回路接地以上に上昇させることによりバンク内の各ＣＡＭ入力内の整合ラインに接続された放電回路を非活性化し、
選択された入力内の各放電回路の仮想接地を回路接地まで低下させることによりバンク内の入力数より少ない複数のＣＡＭ入力を選択的に活性化状態にする、
ＣＡＭバンクの分割方法。
【請求項２】
前記仮想接地は前記放電回路により整合ラインが放電されるのを防止するのに充分高い電圧レベルに上昇される、請求項１に記載の方法。
【請求項３】
前記選択された入力内の各放電回路の仮想接地を回路接地まで低下させることによりバンク内の入力数より少ない複数のＣＡＭ入力を選択的に活性化状態にするステップは、選択された入力内の各放電回路の仮想接地点と回路接地との間に挿入されたスイッチング回路の選択的駆動を含む、請求項１に記載の方法。
【請求項４】
前記スイッチング回路の選択的駆動はスイッチング回路に接続された制御信号の供給を有する、請求項３に記載の方法。
【請求項５】
更に、各ＲＡＭセルの仮想接地を回路接地以上に上昇させることにより、ＣＡＭバンクと関連するＲＡＭバンク内の漏れ電流を減少させ、
ＲＡＭセルに関して読み出し、書き込みを行なう前に選択されたＣＡＭ入力に関連した各ＲＡＭセルの仮想接地を回路接地まで低下させる、請求項１に記載の方法。
【請求項６】
各ＲＡＭセルの仮想接地は回路接地より所定値だけ高く上昇される、請求項５に記載の方法。
【請求項７】
前記所定値は、各ＲＡＭセルの仮想接地点と回路接地との間に挿入されたダイオードの両端における電圧降下分に相当する、請求項６に記載の方法。
【請求項８】
更に、各メモリセルの仮想接地を回路接地以上に上昇させることにより、ＣＡＭ入力内のメモリセル内の漏れ電流を減少させ、
メモリセルの読み出し、書き込みを行なう前にバンク内の入力数より少ない複数のＣＡＭ入力内の各メモリセルの仮想接地を回路接地まで選択的に低下させる、請求項１に記載の方法。
【請求項９】
各メモリセルの仮想接地を回路接地より所定値だけ高く上昇させる、請求項８に記載の方法。
【請求項１０】
前記所定値は、各メモリセルの仮想接地点と回路接地との間に挿入されたダイオードの両端における電圧降下分に相当する、請求項９に記載の方法。
【請求項１１】
ＣＡＭ駆動回路と、
各々のＣＡＭ入力が複数の放電回路を有し、この放電回路は、
キーフィールドビットを記憶するメモリセルと、
ＣＡＭ入力整合ラインに接続され、与えられたキービットとメモリセル内のキーフィールドビットとを比較し、更にキービットとキーフィールドビットとの比較が不成立のときに整合ラインを仮想接地点を介して放電する比較器とを有する、複数のＣＡＭ入力と、
夫々が一つまたはそれ以上の比較器の仮想接地と回路接地との間に挿入され選択的に駆動される２個以上のスイッチング回路とを具備し、
各スイッチング回路は接続された比較器の仮想接地点を回路接地より上の電圧レベルに維持することにより関連する一つまたはそれ以上の関連する整合ラインの放電を禁止するように開成状態になるとともに、前記仮想接地点を回路接地に低下させることによって整合ラインの放電が行なわれるように閉成状態となる、バンク構成のＣＡＭ。
【請求項１２】
ＣＡＭバンクが、スイッチング回路の選択的な駆動により２個以上のサブバンクに機能的に分割され、ＣＡＭ入力の１個のサブセットのみ有効となる、請求項１１に記載のＣＡＭ。
【請求項１３】
スイッチング回路はＣＡＭに与えられたアドレスビットから復号化された制御信号により選択的に駆動される、請求項１２に記載のＣＡＭ。
【請求項１４】
一つのスイッチング回路はＣＡＭサブバンクのすべての比較器の仮想接地を制御する、請求項１２に記載のＣＡＭ。
【請求項１５】
更に、バンク構成のＲＡＭを有し、このＲＡＭは、
ＲＡＭ駆動回路と、
夫々が複数のＲＡＭセルを含む複数のＲＡＭラインと、
２個以上の独立して選択的に駆動されるスイッチング回路とを有し、
各スイッチング回路は１個以上のＲＡＭセルの仮想接地点と回路接地との間に挿入され、回路接地より高い所定の電圧レベルに前記仮想接地点を維持することによりＲＡＭセル内の漏れ電流を減少させるように開成状態になるとともに、仮想接地点を回路接地に低下させることによりＲＡＭセルの読み出し、書き込みを行なうように閉成状態となる、請求項１２に記載のＣＡＭ。
【請求項１６】
スイッチング回路の選択的な駆動によってＲＡＭバンクが２個以上のサブバンクに機能的に分割され、ＲＡＭラインのサブセットのみ読み出し、書き込みが行なえるようにした請求項１５に記載のＣＡＭ。
【請求項１７】
前記スイッチング回路は関連するＣＡＭ入力の制御信号によって制御される、請求項１６に記載のＣＡＭ。
【請求項１８】
１個のスイッチング回路は、ＲＡＭサブバンクのすべてのＲＡＭセルの仮想接地を制御する、請求項１７に記載のＣＡＭ。
【請求項１９】
命令実行ユニットと、
メモリコントローラと、
バンク構成のＣＡＭＲＡＭを含むバンク構成のキャッシュメモリとを具備し、各ＣＡＭバンクは複数のＣＡＭ入力とＣＡＭ駆動回路とを有し、
少なくとも１個のＣＡＭバンクはバンク内の各ＣＡＭ入力内のすべての整合ライン放電回路を非活性化することによりＣＡＭ駆動回路を対応数だけ設けることなく複数のサブバンクに機能的に分割され、更に、ＣＡＭバンク内のすべてのＣＡＭ入力の数より少ない複数のＣＡＭ入力内の整合ライン放電回路を選択的に活性化する、プロセッサ。
【請求項２０】
更に、２個以上の選択的に駆動されるスイッチング回路を有し、各スイッチング回路はサブバンク内の各整合ライン放電回路の仮想接地点と回路接地との間に挿入される、請求項１９に記載のプロセッサ。
【請求項２１】
前記バンク構成のＣＡＭＲＡＭは更に、漏れ電流を減少させるために、すべてのＲＡＭの仮想接地点が回路接地より高く維持される少なくとも１個のＲＡＭバンクを含み、このＲＡＭバンクは、ＲＡＭセルの読み出し、書き込みの前に、サブバンク内のすべてのＲＡＭセルの仮想接地点を選択的に回路接地まで低下させることにより複数のサブバンクに機能的に分割される、請求項１９に記載のプロセッサ。
【請求項２２】
更に、サブバンク内の各ＲＡＭの仮想接地点と回路接地との間に挿入される少なくとも１個の選択的に駆動されるスイッチング回路を具備する、請求項２１に記載のプロセッサ。
【請求項２３】
更に、各ＲＡＭセルの仮想接地点と回路接地との間に挿入された少なくとも１個のダイオードを具備し、このダイオードはＲＡＭセルの仮想接地点電圧が回路接地より高くなるように設定する、請求項２１に記載のプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルエレクトロニクスの分野に関し、特にＣＡＭＲＡＭバンクを仮想接地により小分け分割する回路と方法とに関する。
【背景技術】
【０００２】
マイクロプロセッサは携帯用の電子装置のような内蔵型の多くのアプリケーションにおいて演算機能を提供している。このような装置の益々増大する特徴および機能はより多くの強大な演算機能を持ちソフトウエアを用いて付加される機能を持つプロセッサを必要としている。この携帯用の電子装置の他の進化の方向は外形寸法の減少である。プロセッサや装置内の電子部品の付勢に用いられる電源のバッテリー寸法の減少はこの方向での大きなインパクトとなっており、電源効率の問題が設計上の重要課題となっている。従って、演算速度の向上と電源消費量の減少をもたらすプロセッサの改良は携帯用の電子装置用のプロセッサのみならず一般のプロセッサについても重要である。
【０００３】
最近のプロセッサのほとんどは命令実行パイプラインによる即時アクセスのために１個以上のキャッシュメモリ内に最新の実行された命令および最新のアクセスされたデータを格納することにより空間的および時間的に限られた特性を利用するようになっている。キャッシュは高速でチップ上に配置されたメモリ構造であり、コンテント・アドレッサブル・メモリ（ＣＡＭ）および対応するランダム・アクセス・メモリ（ＲＡＭ）であり、ＣＡＭＲＡＭとして知られている。命令またはデータはＲＡＭ内に格納されたキャッシュ“ライン”内に存在する。特定のデータがＲＡＭ内に存在するか否かを示すためにそのアドレスの一部がＣＡＭに供給される。
【０００４】
ＣＡＭは特定のメモリ構造を持ち、与えられた比較入力（以下、キーと称する）が各ＣＡＭ入力（以下、キーフィールドと称する）内に保持されたデータと比較され、ＣＡＭの出力が得られれば、これがキーフィールドとキーとが整合したことを示すことになる。キャッシュにおいて、キーとキーフィールドとはアドレス（仮想アドレスまたは物理アドレス）の一部であり、両者の整合が得られる（即ち、アクセスがキャッシュ内でヒットする）と、整合が得られた場所がＲＡＭを指定するものとなり、対応するキャッシュラインがアクセスされる。
【０００５】
ＣＡＭＲＡＭ回路はまた、高速のアドレス復号化のためにトランスレーション・ルックアサイド・バッファ（ＴＬＢ）内で使用することができる。このアプリケーションの場合、与えられた仮想アドレスがキーであって、それ以前の復号化された仮想アドレスがキーフィールドとしてＣＡＭに格納され、関連するＲＡＭの場所に対応する物理アドレスが格納される。ＣＡＭＲＡＭは更に、書き込み要求のキューのためのメモリボードなどの他のアプリケーションにも用いることができる。この場合、書き込み要求のアドレスがキーであって、書き込みアドレスのキューに関してサーチが行なわれる。ヒットすると、これにより書き込みデータがメモリに記憶されているものより新しいものであることが示され、これが読み出し要求に対する統一的なサービスのために用いられる。一般に、ＣＡＭＲＡＭは多くのアプリケーションにおいて有用である。
【０００６】
図１はＣＡＭ構成の一つの入力部の機能ブロック図であり、参照番号１００で示されている。ＣＡＭ入力ｊはｊ番目のキーフィールド１１０のすべてのビット位置に広がる整合ライン１０２を含む。この整合ライン１０２は、ゲートに供給されたプリチャージ信号によって導通するパストランジスタ１０４によって電源に接続されて高い電位に持ち上げられる。ｊ番目のＣＡＭ入力の各ビットにおいて、放電回路１０５によって整合ライン１０２は選択的に放電される。図１では放電回路１０５は機能ブロック図として示されており、整合ライン１０２と回路接地との間に接続されたパストランジスタのようなスイッチング回路１０６を含む。放電トランジスタ１０６のゲートにはキービット１１２と対応するキーフィールドビット１１０とが供給されるＸＯＲゲート１０８の出力が供給される。各ｊ番目のビット位置において、キービット１１２とキーフィールドビット１１０とが整合すると、ＸＯＲゲート１０８の出力がロウとなって、トランジスタ１０６が導通せず、整合ライン１０２の電荷が接地に流れない。キービット１１２とキーフィールドビットとが不整合であると、ＸＯＲゲート１０８の出力がハイとなって、トランジスタ１０６が導通して整合ライン１０２の電位が低下される。
【０００７】
このように、いずれかのキービット１１２と対応するキーフィールドビット１１０とが不整合となると、整合ライン１０２の電位が低下する。一方、すべてのキービット１１２と対応するキーフィールドビット１１０とが整合した場合のみ、接地回路が形成されず、整合ライン１０２が高い電位に保持される。センス回路１１４は、最悪の場合の整合ラインの放電時に決定された時点においてｊ番目の整合ライン１０２のレベルを検出する。各キーフィールド１１０が一定でなく、ノーマルキャッシュでＴＬＢ動作の場合、唯一つのキーフィールド１１０がキー１１２と整合する。この場合、ＣＡＭ内のただ一つの整合ライン１０２が高電位に保持される。この動作を確実にするために、各整合ラインセンス回路１１４の出力が衝突検出回路１１６に供給され、複数の整合が検出されたときにエラー信号を発生させる。
【０００８】
高機能プロセッサは例えば５１２入力以上の大容量のキャッシュメモリを含む。従って、キー１１２を５１２入力と比較する必要があり、このことにより幾つかの不都合が生じる。キービット１１２をＣＡＭ入力１００のすべてに容量結合により分配することにより動作速度が低下することになる。更に、アクセスが行なわれるたびに少なくとも５１１個の整合ライン１０２においてプリチャージおよび放電が行なわれるために、多大の電力が消費される。この問題に対処するために大容量のキャッシュのＣＡＭＲＡＭを図２に示すように複数バンク（アプリケーションによって任意の数に分割が可能であるが、ここでは４個のバンク）に分割することができる。
【０００９】
ＣＡＭＲＡＭ１２０は複数のＣＡＭバンク１２２と、対応する複数のＲＡＭ１２４とを具備している。キャッシュにおいて、これらのバンクは所定のアドレスビットを復号化することにより選択できる。各ＣＡＭバンクは一組のＣＡＭドライバ回路１２６を有し、ＣＡＭバンク１２２内のＣＡＭ入力１００に対する信号のバッファ動作と分配動作を提供する。ＣＡＭドライバ回路１２６は「オーバヘッド」回路を含み、例えばクロックドライバ、書き込みドライバを含み、キーフィールドメモリセル１１０、センスアンプおよびバッファの信号を制御し、キーフィールドメモリセル１１０および図示しない他のメモリ（図示せず）から信号を読み出す。ＣＡＭドライバ回路１２６の一つの構成回路として図２にキードライバ１２７が示されており、これによりキービット１１２が各ＣＡＭバンク１２２内のＣＡＭ入力１００に分配される。この例では、キードライバ１２７はキービット１１２をＣＡＭクロック信号によりゲート制御するためのＡＮＤゲートを含む。
【００１０】
ＣＡＭバンク１２２は例えば６４個のＣＡＭ入力１００を含む。一般に、一つのＣＡＭブロック１２２当たりのＣＡＭ入力１００の数を少なくすることにより高機能化と低電力消費化とを実現することができる。しかしながら、このことにより多数のＣＡＭバンク１２２が必要になり、対応する数のＣＡＭドライバ回路１２６も必要になり、多くのシリコン面積が必要となる。このことから、ＣＡＭバンク１２２を機能的に分割してＣＡＭ入力１００の数を減少させ、対応する数のＣＡＭドライバ回路１２６を設けないですむことができる手段を実現することが望まれている。
【発明の開示】
【００１１】
ＣＡＭバンクが二つ以上のサブバンクに分割され、対応する数のＣＡＭドライバ回路を用いることなく、バンク内の整合ライン放電回路のすべてを非活性化状態とし、サブバンクを有する入力内の放電回路を選択的に活性化状態に設定する。選択的に駆動された少なくとも一つのスイッチング回路がサブバンクの放電回路内の各放電コンパレータの仮想接地点と回路接地との間に挿入される。スイッチング回路が非導通状態のときは、仮想接地点は回路接地より充分に高いレベルの電圧に維持され、接続された整合ラインがＣＡＭアクセス時に放電しないようにする。スイッチング回路が導通状態になると、仮想接地点は回路接地レベルまで低下され、接続された整合ラインは比較の不一致の結果により放電される。アドレスビットの復号化により得られた制御信号がスイッチング回路に分配され、特定のＣＡＭサブバンクを指定する。
【００１２】
一実施形態はＣＡＭバンクの分割方法であり、ＣＡＭバンクはドライバ回路と、ＣＡＭ内の入力数より少ない複数のＣＡＭ入力とを含む。バンクの各ＣＡＭ入力の整合ラインに接続された放電回路は、各放電回路の仮想接地のレベルを持ち上げることによって非活性化状態に設定される。バンク内の入力数より少ない数の複数のＣＡＭ入力は選択された入力内の各放電回路の仮想接地のレベルを持ち上げることによって選択的に活性化状態に設定される。
【００１３】
他の実施形態はバンク構成のＣＡＭであり、ＣＡＭドライバ回路と複数のＣＡＭ入力とを含む。各ＣＡＭ入力は複数の放電回路を含む。各放電回路はキーフィールドビットを記憶するメモリセルを含む。バンク構成のＣＡＭはキーフィールドビットを記憶するメモリセルと、ＣＡＭ入力整合ラインに接続されたコンパレータとを有し、供給されたキービットをメモリセル内のキーフィールドビットと比較し、更にこのキービットとキーフィールドビットとが不整合のときに整合ラインを仮想接地点に放電するように動作する。バンク構成のＣＡＭは更に二つ以上の選択的に駆動されるスイッチング回路を含み、このスイッチング回路は夫々一つ以上のコンパレータの仮想接地点と回路接地との間に挿入される。この各々は接続されたコンパレータの仮想接地点を回路接地より上の電圧レベルに維持することにより開成状態で一つ以上の関連した整合ラインが放電するのを禁止し、閉成状態で仮想接地点のレベルを回路接地に低下させることにより整合ラインの放電を行なわせるように動作する。
【００１４】
他の実施形態はプロセッサに関し、このプロセッサは命令実行ユニットとメモリコントローラとを含む。このプロセッサはバンク構成のＣＡＭＲＡＭを含むバンク構成のキャッシュメモリを含む。各ＣＡＭバンクは複数のＣＡＭ入力とＣＡＭドライバ回路とを含む。少なくとも１個のＣＡＭバンクが対応する数のＣＡＭドライバ回路を設置することなしに、バンク内の各ＣＡＭ入力内のすべての整合ライン放電回路を非活性化状態にし、ＣＡＭバンク内のすべての数のＣＡＭ入力より少ない数の整合ライン放電回路を選択的に活性化することにより、更に複数のサブバンクに機能的に分割される。
【発明を実施するための最良の形態】
【００１５】
以下の各実施形態ではＣＡＭバンク１２２は２個またはそれ以上のサブバンクに分割され、ＣＡＭドライバ回路１２６が共通に設けられている。ＣＡＭバンク１２２内のすべての放電回路１０５は回路１０５が放電される接地電圧レベルを回路接地から整合ライン１０２の放電を防止するに充分な接地より上の電圧レベルに上昇させることにより非活性化される。この上昇された電圧レベルをここでは仮想接地と呼ぶ。ＣＡＭバンク１２２内の選択された複数のＣＡＭ入力１００は、選択されたＣＡＭ入力１００内の放電回路１００の仮想接地を回路接地に低下させることにより活性化される。この選択された入力は活性化状態となり、ＣＡＭ入力１００の有効サブバンクを形成する。このようにして、ＣＡＭバンク１２２はＣＡＭドライバ回路１２６を対応数だけ設置することなく分割することができる。
【００１６】
図１の破線で示された放電回路１０５に対応する放電回路の構成の一例を図３に示す。ここでは二つの信号として書き込み線（ＷＬ）１３６とサブバンク選択信号１３４とが付加されている。ＳＲＡＭセル１１０はｊ番目のＣＡＭ入力に対するキーフィールドのｉ番目のビットを保持している。ＳＲＡＭセル１１０は通常の６トランジスタ構成のセルであり、２個のクロスカップリングされたインバータを構成しており、トルーとコンプリメントのふたつのビット値に対する書き込みイネーブルゲートを有している。キーフィールドトルー（ＫＦＴｉｊ）とキーフィールドコンプリメント（ＫＦＣｉｊ）に対する新しい値は書き込み線（ＷＬ）がハイとなったときにＳＲＡＭセル１１０に書き込まれる。
【００１７】
ＳＲＡＭセル１１０は保持しているキーフィールドトルー（ＫＦＴｉｊ）とキーフィールドコンプリメント（ＫＦＣｉｊ）の値を整合ライン１０２に接続されたコンパレータ１２９に出力する。コンパレータ１２９は図１のＸＯＲゲート１０８と放電スイッチ１０６との機能を持つ（スイッチング回路１３２が閉成されていること、即ち導通状態である場合）。更にコンパレータ１２９にはキートルー（ＫＴｉ）とキーコンプリメント（ＫＦＣｉ）のｉ番目のビットが供給される。
【００１８】
ここで、キービットとキーフィールドビットの互いに反対の値がコンパレータ１２９の夫々の回路肢に供給される。従って、キービットとキーフィールドビットとが整合すると、一方のトルー値と他方の相補値とが非整合となる。この場合、コンパレータ１２９の夫々の回路肢で直結されたトランジスタの一方は閉成即ち導通状態であり、他方は開成即ち非導通状態であり、従って、整合ライン１０２の回路接地に対する放電が防止される。一方、キービットとキーフィールドビットとが非整合であると、一方のトルー値と他方の相補値とが整合し、コンパレータ１２９の夫々の回路肢で直結された両トランジスタは閉成即ち導通状態となり、整合ライン１０２は回路接地に対して放電される。
【００１９】
幾つかの実施形態において、スイッチング回路１３２はサブバンク内のコンパレータ１２９の仮想接地（ＶＧＮＤ）ノード１３０と回路接地との間に挿入される。スイッチング回路１３２の状態はサブバンク選択信号１３４により制御される。この実施形態では、サブバンク選択信号１３４がハイであると、スイッチング回路１３２は閉成されて導通状態となり、コンパレータ１２９は上述のような動作を行なう。
【００２０】
しかしながら、サブバンク選択信号１３４がロウであると、スイッチング回路１３２は開成されて非導通状態となり、コンパレータ１２９はノード１３０において仮想接地（ＶＧＮＤ）の接地電圧レベルになる。このレベルＶＧＮＤはスイッチング回路１３２により回路接地から分離されており、整合ライン１０２（電源電圧レベルにプリチャージされた）の電圧レベルから二つのトランジスタの導通時のソースドレイン間抵抗による電圧降下分だけ低い電圧レベルとなる。ＶＧＮＤはＣＡＭアクセスサイクルの時間フレーム内では、整合ライン１０２を放電させるには高すぎるので、対応するＣＡＭ入力１００は効果的に非活性化される。
【００２１】
ＣＡＭブロック１２２は付加的なアドレスビットを復号化して複数のサブバンク選択信号１３４を生成することによりサブバンクに小分け分割できる。各サブバンク選択信号１３４は対応するサブバンクのＣＡＭ入力１００のスイッチング回路１３２に供給される。例えば、付加された２ビットのアドレスビットを復号化することにより６４個の入力を持つＣＡＭブロック１２２は４個のサブバンクに分割でき、４個のサブバンク選択信号１３４を生成し分配することにより、それぞれ１６個の入力を持つサブバンクが得られる。与えられたアドレスによりこのうちの一つのサブバンクが動作状態になると、１６個のキーフィールドが比較され、１６個の整合ライン１０２の整合状態が調べられ、そのうちの１個が整合して放電されるか否かが決定される。これらの４個のサブバンクはＣＡＭブロック１２２のＣＡＭドライバ回路１２６を共通に用いる。
【００２２】
導通路１３１に接続された一つのスイッチング回路１３２は、図３に示すように、サブバンク全体に対するＶＧＮＤノードの電圧を制御する。あるいは、動作速度、負荷特性などを向上させる要求のために、サブバンクの整合ライン１０２を分割して複数のスイッチング回路１３２に接続することができる。例えば、各整合ライン１０２あるいはこの整合ライン１０２内のコンパレータ１２９は夫々別々のスイッチング回路１３２に接続することもできる。サブバンクを選択的に活性化するために必要なスイッチング回路１３２の数にかかわりなく、ＣＡＭドライバ回路１２６を対応する数だけ形成することを省略できることにより、シリコン面積の節約と電力消費の削減とは非常に顕著なものとなる。
【００２３】
図４はプロセッサ１０の構成の一例を示す機能ブロック図である。プロセッサ１０は制御ロジック１４による命令実行パイプライン１２内で命令を実行する。このパイプラインはパイプ状に形成された多くのレジスタとラッチ１６、および一つまたは複数の演算ロジックユニット（ＡＬＵ）１８を含む。ゼネラルパーパスレジスタ（ＧＰＲ）ファイル２０はメモリヒエラルキーの上位レベルのレジスタを構成する。
【００２４】
パイプラインは、ＣＡＭ２２とＲＡＭ２３とを含むインストラクションキャッシュ（Ｉ−キャッシュ）２１からの命令を取り込む。命令メモリアドレス動作と実行はインストラクション・サイド・トランスレーション・ルックアサイド・バッファ（ＩＴＬＢ）２４によって制御される。データはＣＡＭ２６とＲＡＭ２７とを含むデータキャッシュ２５からアクセスされる。データメモリのアドレス動作と実行はメインＴＬＢ２９により制御される。各実施形態において、ＩＴＬＢ２４はＴＬＢ２９の一部のコピーを有する。或いは、ＩＴＬＢ２４とＴＬＢ２９とは一体に形成してもよい。
【００２５】
プロセッサ１０の種々の実施形態において、Ｉ−キャッシュ２２とＤ−キャッシュ２６とは一体に形成しても、別々に形成してもよい。このＩ−キャッシュ２２とＤ−キャッシュ２６のいずれもバンク構成のＣＡＭＲＡＭ回路を用いることができ、ここで、ＣＡＭバンク１２２は整合ライン放電回路１０５の仮想接地１３０の電圧レベルを制御することにより分割することができる。この場合、Ｉ−キャッシュ２２とＤ−キャッシュ２６とは、分割対応数のＣＡＭドライバ回路１２６の重複設置による面積の問題を伴わずに、改善されたパフォーマンスおよび低電力消費を提供することができる。
【００２６】
Ｉ−キャッシュ２２とＤ−キャッシュ２６のいずれか一方または双方のミスによりメインメモリ（オフチップ）３２へのアクセスがメモリインターフェース３０の制御の下で行なわれる。プロセッサ１０は入力／出力（Ｉ／Ｏ）インターフェース３４を含み、種々の周辺装置へのアクセスを制御する。ここでプロセッサ１０を種々変形して用いることは当業者にとって自明のことである。例えば、プロセッサ１０はＩ−キャッシュ２１とＤ−キャッシュ２５のいずれかまたは双方の例として第二レベル（Ｌ２）キャッシュを含むことができる。更に、プロセッサ１０内に図示記載された一つ又はそれ以上の機能ブロックを特定の実施形態では省略することもできる。
【００２７】
ＣＡＭバンク１２２の分割方法が図５にフローチャートとして示されている。ＣＡＭバンク１２２のすべての放電回路１０５はこの放電回路１０５内のコンパレータ１２９によって参照される接地電圧レベルを回路接地電圧レベル（ブロック４０）より上の仮想接地１３０に上昇させることによって非活性化される。これは、仮想接地ノード１３０と回路接地との間にスイッチング回路１３２を介挿させ、その回路１３２を非導通状態にすることを含む。仮想接地ノード１３０を回路接地より上に持ち上げることにより、キー１１２とキーフィールド１１０のビット間の比較の不整合の場合の対応する整合ライン１０２の放電が防止される。
【００２８】
ＣＡＭバンク１２２内のＣＡＭ入力１００の一部、即ち、サブバンク内の選択されたＣＡＭ入力１００内の放電回路１０５のコンパレータ１２９の仮想接地ノード１３０を回路接地（ブロック４２）に引き下げることにより選択的に活性化させることができる。これは、ＣＡＭ入力１００内のキービット１１２とキーフィールドビット１１０との非整合時に、スイッチング回路１３２を導通状態にし、仮想接地ノード１３２を回路接地にすること、関連する整合ライン１０２を回路接地に放電させる動作を含む。サブバンクはＣＡＭバンク１２２を選択するためのアドレスビットに付加された付加アドレスビットを復号化することにより選択することができる。これにより、各ＣＡＭ入力１００内のキーフィールドビットの数を減少させることによるパフォーマンスをより向上させることができる。
【００２９】
一実施形態において、ＣＡＭバンク１２２を分割するためのサブバンク選択信号は、ＲＡＭセルのソースバイアスを行なうことによってＲＡＭバンク１２４内の漏れ電流を減少させるのに用いることができる。図６はＳＲＡＭセル５０を示し、その仮想接地ノード（ＶＧＮＤ）５２は例えばトランジスタを含むスイッチング回路５８により回路接地から分離絶縁される。或いは、ＲＡＭセル５０は、ＣＡＭキーフィールドメモリセル１１０（図３）に関連して説明されたように、一対のクロスカップリングインバータを構成する通常の６トランジスタ構成のメモリセルでもよい。更に、ＶＧＮＤノード５２と回路接地との間にスイッチング回路５８と並列にダイオード５６が接続される。
【００３０】
ＲＡＭセル５０に関して読み出しまたは書き込みを行なうときは、ＶＧＮＤノード５２は、サブバンク選択信号１３４を分配してスイッチング回路５４を導通状態に設定することにより回路接地に低下される。対応するＣＡＭ入力１００が非選択（即ち非活性化された）のＣＡＭサブバンク内にあるときは、サブバンク選択信号１３４は非選択状態であり、ＶＧＮＤノード５２は回路接地から分離される。この場合、ダイオード５６はＶＧＮＤノード５２が回路接地より高い所定のレベルに維持されるように動作し、例えば、２００−３００ｍＶの範囲に維持される。これによりＲＡＭセル５０はその記憶データ値を保持する一方、ＲＡＭセル５０内の漏れ電流が減少し、したがって、ＣＡＭＲＡＭ１２０内の電力消費も減少される。
【００３１】
図６ではサブバンク内の導通路５４に接続されたすべてのＲＡＭセル５０に対して単一のダイオード５６と、ＶＧＮＤノード５２と回路接地との間に挿入されたスイッチング回路５８とを示している。他の構成例として、ＲＡＭラインのサブセットをグループ分けしてそれぞれ別々のダイオード５６とスイッチング回路５８とに接続するようにしてもよい。例えば、各ＲＡＭライン又は各ＲＡＭセル５０を別々のダイオード５０とスイッチング回路５８とに接続してもよい。これらのすべてのダイオード５６とスイッチング回路５８とはサブバンク選択信号１３４により制御される。
【００３２】
対応するＣＡＭサブバンクが選択され、サブバンク選択信号１３４が供給されると、スイッチング回路５８が導通状態となり、ＶＧＮＤノード５２を回路接地に低下させる。ＲＡＭセル５０はこのとき、その接地が回路接地に安定するまでに若干の時間が必要である。この時間はＣＡＭアクセス期間、即ち、選択されたサブバンク内の各ＣＡＭ入力１００に対するキー１１２とキーフィールド１１０のビットの比較のため、一つを除いてすべての整合ライン１０２の放電のため、整合ライン１０２のスレショールドのため、衝突検出のため、および整合したＣＡＭ入力１００と関連したＲＡＭ入力の指定のための時間内に行なわれる。ＲＡＭセル５０がＣＡＭ入力１００のアクセス時間より長い時間を安定化のために必要とする場合には、キャッシュ制御回路（例えばＲＡＭドライバ回路１２５内にある）による待ちサイクルを挿入しても良い。この動作速度低下と消費電力減少とのトレードオフは携帯用の電子装置内に用いられるプロセッサにとって特に有効であり、限られたバッテリー電力の効果的な使用が最も有効に行なわれる。
【００３３】
図３の実施形態において、ＣＡＭキーフィールドメモリセル１１０にソースバイアス法を用いることにより漏れ電流を減少させることができる。この実施形態においては、メモリセル１１０を接地接続する代わりに、ＶＧＮＤノードがライン６０によってダイオード６２とスイッチング回路６８とに接続され、回路接地に接続される。ＣＡＭメモリセル１１０は上述したように、ＲＡＭセル５０と同様に動作する。スイッチング回路５８を非導通状態に設定することにより、接地電圧が回路接地からダイオード５６により上昇（例えば２００−３００ｍＶ）するために、ＣＡＭメモリセル１００内の漏れ電流が減少される。ダイオード６２とスイッチング回路６４は図３では簡単のために単一のメモリセル１１０に接続されるように図示されているが、他の例として、単一のダイオード６２とスイッチング回路６４とを導通路６０を介してＣＡＭサブバンク内の複数またはすべてのメモリセル１１０に接続するようにしてもよい。
【００３４】
スイッチング回路６４の導通状態はサブバンク・プリペア制御信号６８により制御される。スイッチング回路６４が導通状態に設定されると、ＣＡＭメモリセル１１０はそのＶＧＮＤノードの電位が回路接地に安定するまでに若干の移行時間を必要とする。サブバンク・プリペア信号６８はサブバンク選択信号１３４と同一であってもよい。この場合、メモリセル１００の安定時間はＣＡＭＲＡＭ１２０の動作速度を低下させる。
【００３５】
一実施態様において、スイッチング回路６８の導通状態を制御するサブバンク・プリペア信号６８はサブバンク選択信号１３４とは異なるものであってもよい。たとえば、サブバンクのメモリセル１１０はアドレスを復号化する前に、即ち、サブバンクの選択を予測することにより（例えば、前回選択されたサブバンクのメモリセル１１０を常に準備することにより）、サブバンク選択信号を発生させる以前に、そのＶＧＮＤノードを回路接地に低下させることにより準備状態に設定することができる。
【００３６】
一般に、サブバンクのＣＡＭメモリセル１１０のソースバイアスを行なうことにより、ＲＡＭセル５０のソースバイアスを行なうことよりも大きなパフォーマンスに対する不利益を受ける。これは、ＣＡＭメモリセル１１０についてＶＧＮＤノードを回路接地に低下させるのに必要な移行準備時間はＣＡＭアクセス時間と重複しないからである。しかしながら、電力消費の削減とパフォーマンスとのトレードオフは携帯用の電子装置にこの発明を適用する場合に大きな利点を持ち、バッテリー電力の節約はこの電子装置の設計時の大きな目的である。
【００３７】
この発明は特定の特徴、態様、実施形態に関して説明されているが、多くの修正、変形や他の実施形態がこの発明の範囲内において可能であり、したがって、すべての修正、変形及び実施形態が
この発明の範囲に含まれる。したがって、ここで説明した各実施形態は開示されたすべての態様内に含まれるものとして非限定的に解釈されるべきであり、添付された請求の範囲の意味と均等物の範囲内に含まれるものはすべてその範囲内に含まれるものとして意図されている。
【図面の簡単な説明】
【００３８】
【図１】図１はＣＡＭ入力の機能ブロック図。
【図２】図２はバンク構成のＣＡＭＲＡＭのブロック図。
【図３】図３はＣＡＭ整合ライン放電回路の構成図。
【図４】図４はプロセッサの機能ブロック図。
【図５】図５はＣＡＭバンクの分割方法のフローチャート。
【図６】図６は減少された漏れ電流モードを有するＲＡＭセルの構成図。
【図１】
2009514139.tif 000003
【図２】
2009514139.tif 000004
【図３】
2009514139.tif 000005
【図４】
2009514139.tif 000006
【図５】
2009514139.tif 000007
【図６】
2009514139.tif 000008
【国際調査報告】
2009514139.tif 000009
2009514139.tif 000010
2009514139.tif 000011