説明

仮想接地を制御してCAMRAMを分割するための回路とその方法

【課題】CAMRAMバンクを仮想接地により分割する方法を提供する。
【解決手段】CAMバンクが、CAMドライバ回路を対応数だけ用意することなく、サブバンクを有する入力内の放電回路を選択的に活性化することにより、2個又はそれ以上のサブバンクに機能的に分割される。少なくとも1個の選択的に活性化されるスイッチング回路がサブバンクの放電回路内の各放電コンパレータの仮想接地ノードと回路接地との間に挿入される。スイッチング回路が非導通状態のときは、仮想接地ノードは回路接地より充分に高い電圧レベルに維持されてCAMアクセス時間内に接続された整合ラインの放電を防止する。スイッチング回路が導通状態のときは、仮想接地ノードは回路接地に低下し、接続された整合ラインはコンパレータの非整合動作により放電される。アドレスビットから復号化により形成された制御信号がスイッチング回路に分配され、CAMサブバンクが選択される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタルエレクトロニクスの分野に関し、特にCAMRAMバンクを仮想接地により小分け分割する回路と方法とに関する。
【背景技術】
【0002】
マイクロプロセッサは携帯用の電子装置のような内蔵型の多くのアプリケーションにおいて演算機能を提供している。このような装置の益々増大する特徴および機能はより多くの強大な演算機能を持ちソフトウエアを用いて付加される機能を持つプロセッサを必要としている。この携帯用の電子装置の他の進化の方向は外形寸法の減少である。プロセッサや装置内の電子部品の付勢に用いられる電源のバッテリー寸法の減少はこの方向での大きなインパクトとなっており、電源効率の問題が設計上の重要課題となっている。従って、演算速度の向上と電源消費量の減少をもたらすプロセッサの改良は携帯用の電子装置用のプロセッサのみならず一般のプロセッサについても重要である。
【0003】
最近のプロセッサのほとんどは命令実行パイプラインによる即時アクセスのために1個以上のキャッシュメモリ内に最新の実行された命令および最新のアクセスされたデータを格納することにより空間的および時間的に限られた特性を利用するようになっている。キャッシュは高速でチップ上に配置されたメモリ構造であり、コンテント・アドレッサブル・メモリ(CAM)および対応するランダム・アクセス・メモリ(RAM)であり、CAMRAMとして知られている。命令またはデータはRAM内に格納されたキャッシュ“ライン”内に存在する。特定のデータがRAM内に存在するか否かを示すためにそのアドレスの一部がCAMに供給される。
【0004】
CAMは特定のメモリ構造を持ち、与えられた比較入力(以下、キーと称する)が各CAM入力(以下、キーフィールドと称する)内に保持されたデータと比較され、CAMの出力が得られれば、これがキーフィールドとキーとが整合したことを示すことになる。キャッシュにおいて、キーとキーフィールドとはアドレス(仮想アドレスまたは物理アドレス)の一部であり、両者の整合が得られる(即ち、アクセスがキャッシュ内でヒットする)と、整合が得られた場所がRAMを指定するものとなり、対応するキャッシュラインがアクセスされる。
【0005】
CAMRAM回路はまた、高速のアドレス復号化のためにトランスレーション・ルックアサイド・バッファ(TLB)内で使用することができる。このアプリケーションの場合、与えられた仮想アドレスがキーであって、それ以前の復号化された仮想アドレスがキーフィールドとしてCAMに格納され、関連するRAMの場所に対応する物理アドレスが格納される。CAMRAMは更に、書き込み要求のキューのためのメモリボードなどの他のアプリケーションにも用いることができる。この場合、書き込み要求のアドレスがキーであって、書き込みアドレスのキューに関してサーチが行なわれる。ヒットすると、これにより書き込みデータがメモリに記憶されているものより新しいものであることが示され、これが読み出し要求に対する統一的なサービスのために用いられる。一般に、CAMRAMは多くのアプリケーションにおいて有用である。
【0006】
図1はCAM構成の一つの入力部の機能ブロック図であり、参照番号100で示されている。CAM入力jはj番目のキーフィールド110のすべてのビット位置に広がる整合ライン102を含む。この整合ライン102は、ゲートに供給されたプリチャージ信号によって導通するパストランジスタ104によって電源に接続されて高い電位に持ち上げられる。j番目のCAM入力の各ビットにおいて、放電回路105によって整合ライン102は選択的に放電される。図1では放電回路105は機能ブロック図として示されており、整合ライン102と回路接地との間に接続されたパストランジスタのようなスイッチング回路106を含む。放電トランジスタ106のゲートにはキービット112と対応するキーフィールドビット110とが供給されるXORゲート108の出力が供給される。各j番目のビット位置において、キービット112とキーフィールドビット110とが整合すると、XORゲート108の出力がロウとなって、トランジスタ106が導通せず、整合ライン102の電荷が接地に流れない。キービット112とキーフィールドビットとが不整合であると、XORゲート108の出力がハイとなって、トランジスタ106が導通して整合ライン102の電位が低下される。
【0007】
このように、いずれかのキービット112と対応するキーフィールドビット110とが不整合となると、整合ライン102の電位が低下する。一方、すべてのキービット112と対応するキーフィールドビット110とが整合した場合のみ、接地回路が形成されず、整合ライン102が高い電位に保持される。センス回路114は、最悪の場合の整合ラインの放電時に決定された時点においてj番目の整合ライン102のレベルを検出する。各キーフィールド110が一定でなく、ノーマルキャッシュでTLB動作の場合、唯一つのキーフィールド110がキー112と整合する。この場合、CAM内のただ一つの整合ライン102が高電位に保持される。この動作を確実にするために、各整合ラインセンス回路114の出力が衝突検出回路116に供給され、複数の整合が検出されたときにエラー信号を発生させる。
【0008】
高機能プロセッサは例えば512入力以上の大容量のキャッシュメモリを含む。従って、キー112を512入力と比較する必要があり、このことにより幾つかの不都合が生じる。キービット112をCAM入力100のすべてに容量結合により分配することにより動作速度が低下することになる。更に、アクセスが行なわれるたびに少なくとも511個の整合ライン102においてプリチャージおよび放電が行なわれるために、多大の電力が消費される。この問題に対処するために大容量のキャッシュのCAMRAMを図2に示すように複数バンク(アプリケーションによって任意の数に分割が可能であるが、ここでは4個のバンク)に分割することができる。
【0009】
CAMRAM120は複数のCAMバンク122と、対応する複数のRAM124とを具備している。キャッシュにおいて、これらのバンクは所定のアドレスビットを復号化することにより選択できる。各CAMバンクは一組のCAMドライバ回路126を有し、CAMバンク122内のCAM入力100に対する信号のバッファ動作と分配動作を提供する。CAMドライバ回路126は「オーバヘッド」回路を含み、例えばクロックドライバ、書き込みドライバを含み、キーフィールドメモリセル110、センスアンプおよびバッファの信号を制御し、キーフィールドメモリセル110および図示しない他のメモリ(図示せず)から信号を読み出す。CAMドライバ回路126の一つの構成回路として図2にキードライバ127が示されており、これによりキービット112が各CAMバンク122内のCAM入力100に分配される。この例では、キードライバ127はキービット112をCAMクロック信号によりゲート制御するためのANDゲートを含む。
【0010】
CAMバンク122は例えば64個のCAM入力100を含む。一般に、一つのCAMブロック122当たりのCAM入力100の数を少なくすることにより高機能化と低電力消費化とを実現することができる。しかしながら、このことにより多数のCAMバンク122が必要になり、対応する数のCAMドライバ回路126も必要になり、多くのシリコン面積が必要となる。このことから、CAMバンク122を機能的に分割してCAM入力100の数を減少させ、対応する数のCAMドライバ回路126を設けないですむことができる手段を実現することが望まれている。
【発明の概要】
【0011】
CAMバンクが二つ以上のサブバンクに分割され、対応する数のCAMドライバ回路を用いることなく、バンク内の整合ライン放電回路のすべてを非活性化状態とし、サブバンクを有する入力内の放電回路を選択的に活性化状態に設定する。選択的に駆動された少なくとも一つのスイッチング回路がサブバンクの放電回路内の各放電コンパレータの仮想接地点(virtual ground node)と回路接地(circuit ground)との間に挿入される。スイッチング回路が非導通状態のときは、仮想接地点は回路接地より充分に高いレベルの電圧に維持され、接続された整合ラインがCAMアクセス時に放電しないようにする。スイッチング回路が導通状態になると、仮想接地点は回路接地レベルまで低下され、接続された整合ラインは比較の不一致の結果により放電される。アドレスビットの復号化により得られた制御信号がスイッチング回路に分配され、特定のCAMサブバンクを指定する。
【0012】
一実施形態はCAMバンクの分割方法であり、CAMバンクはドライバ回路と、CAM内の入力数より少ない複数のCAM入力とを含む。バンクの各CAM入力の整合ラインに接続された放電回路は、各放電回路の仮想接地のレベルを持ち上げることによって非活性化状態に設定される。バンク内の入力数より少ない数の複数のCAM入力は選択された入力内の各放電回路の仮想接地のレベルを持ち上げることによって選択的に活性化状態に設定される。
【0013】
他の実施形態はバンク構成のCAMであり、CAMドライバ回路と複数のCAM入力とを含む。各CAM入力は複数の放電回路を含む。各放電回路はキーフィールドビットを記憶するメモリセルを含む。バンク構成のCAMはキーフィールドビットを記憶するメモリセルと、CAM入力整合ラインに接続されたコンパレータとを有し、供給されたキービットをメモリセル内のキーフィールドビットと比較し、更にこのキービットとキーフィールドビットとが不整合のときに整合ラインを仮想接地点に放電するように動作する。バンク構成のCAMは更に二つ以上の選択的に駆動されるスイッチング回路を含み、このスイッチング回路は夫々一つ以上のコンパレータの仮想接地点と回路接地との間に挿入される。この各々は接続されたコンパレータの仮想接地点を回路接地より上の電圧レベルに維持することにより開成状態で一つ以上の関連した整合ラインが放電するのを禁止し、閉成状態で仮想接地点のレベルを回路接地に低下させることにより整合ラインの放電を行なわせるように動作する。
【0014】
他の実施形態はプロセッサに関し、このプロセッサは命令実行ユニットとメモリコントローラとを含む。このプロセッサはバンク構成のCAMRAMを含むバンク構成のキャッシュメモリを含む。各CAMバンクは複数のCAM入力とCAMドライバ回路とを含む。少なくとも1個のCAMバンクが対応する数のCAMドライバ回路を設置することなしに、バンク内の各CAM入力内のすべての整合ライン放電回路を非活性化状態にし、CAMバンク内のすべての数のCAM入力より少ない数の整合ライン放電回路を選択的に活性化することにより、更に複数のサブバンクに機能的に分割される。
【図面の簡単な説明】
【0015】
【図1】図1はCAM入力の機能ブロック図。
【図2】図2はバンク構成のCAMRAMのブロック図。
【図3】図3はCAM整合ライン放電回路の構成図。
【図4】図4はプロセッサの機能ブロック図。
【図5】図5はCAMバンクの分割方法のフローチャート。
【図6】図6は減少された漏れ電流モードを有するRAMセルの構成図。
【発明を実施するための形態】
【0016】
以下の各実施形態ではCAMバンク122は2個またはそれ以上のサブバンクに分割され、CAMドライバ回路126が共通に設けられている。CAMバンク122内のすべての放電回路105は回路105が放電される接地電圧レベルを回路接地から整合ライン102の放電を防止するに充分な接地より上の電圧レベルに上昇させることにより非活性化される。この上昇された電圧レベルをここでは仮想接地と呼ぶ。CAMバンク122内の選択された複数のCAM入力100は、選択されたCAM入力100内の放電回路100の仮想接地を回路接地に低下させることにより活性化される。この選択された入力は活性化状態となり、CAM入力100の有効サブバンクを形成する。このようにして、CAMバンク122はCAMドライバ回路126を対応数だけ設置することなく分割することができる。
【0017】
図1の破線で示された放電回路105に対応する放電回路の構成の一例を図3に示す。ここでは二つの信号として書き込み線(WL)136とサブバンク選択信号134とが付加されている。SRAMセル110はj番目のCAM入力に対するキーフィールドのi番目のビットを保持している。SRAMセル110は通常の6トランジスタ構成のセルであり、2個のクロスカップリングされたインバータを構成しており、トルーとコンプリメントのふたつのビット値に対する書き込みイネーブルゲートを有している。キーフィールドトルー(KFTij)とキーフィールドコンプリメント(KFCij)に対する新しい値は書き込み線(WL)がハイとなったときにSRAMセル110に書き込まれる。
【0018】
SRAMセル110は保持しているキーフィールドトルー(KFTij)とキーフィールドコンプリメント(KFCij)の値を整合ライン102に接続されたコンパレータ129に出力する。コンパレータ129は図1のXORゲート108と放電スイッチ106との機能を持つ(スイッチング回路132が閉成されていること、即ち導通状態である場合)。更にコンパレータ129にはキートルー(KT)とキーコンプリメント(KFC)のi番目のビットが供給される。
【0019】
ここで、キービットとキーフィールドビットの互いに反対の値がコンパレータ129の夫々の回路肢に供給される。従って、キービットとキーフィールドビットとが整合すると、一方のトルー値と他方の相補値とが非整合となる。この場合、コンパレータ129の夫々の回路肢で直結されたトランジスタの一方は閉成即ち導通状態であり、他方は開成即ち非導通状態であり、従って、整合ライン102の回路接地に対する放電が防止される。一方、キービットとキーフィールドビットとが非整合であると、一方のトルー値と他方の相補値とが整合し、コンパレータ129の夫々の回路肢で直結された両トランジスタは閉成即ち導通状態となり、整合ライン102は回路接地に対して放電される。
【0020】
幾つかの実施形態において、スイッチング回路132はサブバンク内のコンパレータ129の仮想接地(VGND)ノード130と回路接地との間に挿入される。スイッチング回路132の状態はサブバンク選択信号134により制御される。この実施形態では、サブバンク選択信号134がハイであると、スイッチング回路132は閉成されて導通状態となり、コンパレータ129は上述のような動作を行なう。
【0021】
しかしながら、サブバンク選択信号134がロウであると、スイッチング回路132は開成されて非導通状態となり、コンパレータ129はノード130において仮想接地(VGND)の接地電圧レベルになる。このレベルVGNDはスイッチング回路132により回路接地から分離されており、整合ライン102(電源電圧レベルにプリチャージされた)の電圧レベルから二つのトランジスタの導通時のソースドレイン間抵抗による電圧降下分だけ低い電圧レベルとなる。VGNDはCAMアクセスサイクルの時間フレーム内では、整合ライン102を放電させるには高すぎるので、対応するCAM入力100は効果的に非活性化される。
【0022】
CAMブロック122は付加的なアドレスビットを復号化して複数のサブバンク選択信号134を生成することによりサブバンクに小分け分割できる。各サブバンク選択信号134は対応するサブバンクのCAM入力100のスイッチング回路132に供給される。例えば、付加された2ビットのアドレスビットを復号化することにより64個の入力を持つCAMブロック122は4個のサブバンクに分割でき、4個のサブバンク選択信号134を生成し分配することにより、それぞれ16個の入力を持つサブバンクが得られる。与えられたアドレスによりこのうちの一つのサブバンクが動作状態になると、16個のキーフィールドが比較され、16個の整合ライン102の整合状態が調べられ、そのうちの1個が整合して放電されるか否かが決定される。これらの4個のサブバンクはCAMブロック122のCAMドライバ回路126を共通に用いる。
【0023】
導通路131に接続された一つのスイッチング回路132は、図3に示すように、サブバンク全体に対するVGNDノードの電圧を制御する。あるいは、動作速度、負荷特性などを向上させる要求のために、サブバンクの整合ライン102を分割して複数のスイッチング回路132に接続することができる。例えば、各整合ライン102あるいはこの整合ライン102内のコンパレータ129は夫々別々のスイッチング回路132に接続することもできる。サブバンクを選択的に活性化するために必要なスイッチング回路132の数にかかわりなく、CAMドライバ回路126を対応する数だけ形成することを省略できることにより、シリコン面積の節約と電力消費の削減とは非常に顕著なものとなる。
【0024】
図4はプロセッサ10の構成の一例を示す機能ブロック図である。プロセッサ10は制御ロジック14による命令実行パイプライン12内で命令を実行する。このパイプラインはパイプ状に形成された多くのレジスタとラッチ16、および一つまたは複数の演算ロジックユニット(ALU)18を含む。ゼネラルパーパスレジスタ(GPR)ファイル20はメモリヒエラルキーの上位レベルのレジスタを構成する。
【0025】
パイプラインは、CAM22とRAM23とを含むインストラクションキャッシュ(I−キャッシュ)21からの命令を取り込む。命令メモリアドレス動作と実行はインストラクション・サイド・トランスレーション・ルックアサイド・バッファ(ITLB)24によって制御される。データはCAM26とRAM27とを含むデータキャッシュ25からアクセスされる。データメモリのアドレス動作と実行はメインTLB29により制御される。各実施形態において、ITLB24はTLB29の一部のコピーを有する。或いは、ITLB24とTLB29とは一体に形成してもよい。
【0026】
プロセッサ10の種々の実施形態において、I−キャッシュ22とD−キャッシュ26とは一体に形成しても、別々に形成してもよい。このI−キャッシュ22とD−キャッシュ26のいずれもバンク構成のCAMRAM回路を用いることができ、ここで、CAMバンク122は整合ライン放電回路105の仮想接地130の電圧レベルを制御することにより分割することができる。この場合、I−キャッシュ22とD−キャッシュ26とは、分割対応数のCAMドライバ回路126の重複設置による面積の問題を伴わずに、改善されたパフォーマンスおよび低電力消費を提供することができる。
【0027】
I−キャッシュ22とD−キャッシュ26のいずれか一方または双方のミスによりメインメモリ(オフチップ)32へのアクセスがメモリインターフェース30の制御の下で行なわれる。プロセッサ10は入力/出力(I/O)インターフェース34を含み、種々の周辺装置へのアクセスを制御する。ここでプロセッサ10を種々変形して用いることは当業者にとって自明のことである。例えば、プロセッサ10はI−キャッシュ21とD−キャッシュ25のいずれかまたは双方の例として第二レベル(L2)キャッシュを含むことができる。更に、プロセッサ10内に図示記載された一つ又はそれ以上の機能ブロックを特定の実施形態では省略することもできる。
【0028】
CAMバンク122の分割方法が図5にフローチャートとして示されている。CAMバンク122のすべての放電回路105はこの放電回路105内のコンパレータ129によって参照される接地電圧レベルを回路接地電圧レベル(ブロック40)より上の仮想接地130に上昇させることによって非活性化される。これは、仮想接地ノード130と回路接地との間にスイッチング回路132を介挿させ、その回路132を非導通状態にすることを含む。仮想接地ノード130を回路接地より上に持ち上げることにより、キー112とキーフィールド110のビット間の比較の不整合の場合の対応する整合ライン102の放電が防止される。
【0029】
CAMバンク122内のCAM入力100の一部、即ち、サブバンク内の選択されたCAM入力100内の放電回路105のコンパレータ129の仮想接地ノード130を回路接地(ブロック42)に引き下げることにより選択的に活性化させることができる。これは、CAM入力100内のキービット112とキーフィールドビット110との非整合時に、スイッチング回路132を導通状態にし、仮想接地ノード132を回路接地にすること、関連する整合ライン102を回路接地に放電させる動作を含む。サブバンクはCAMバンク122を選択するためのアドレスビットに付加された付加アドレスビットを復号化することにより選択することができる。これにより、各CAM入力100内のキーフィールドビットの数を減少させることによるパフォーマンスをより向上させることができる。
【0030】
一実施形態において、CAMバンク122を分割するためのサブバンク選択信号は、RAMセルのソースバイアスを行なうことによってRAMバンク124内の漏れ電流を減少させるのに用いることができる。図6はSRAMセル50を示し、その仮想接地ノード(VGND)52は例えばトランジスタを含むスイッチング回路58により回路接地から分離絶縁される。或いは、RAMセル50は、CAMキーフィールドメモリセル110(図3)に関連して説明されたように、一対のクロスカップリングインバータを構成する通常の6トランジスタ構成のメモリセルでもよい。更に、VGNDノード52と回路接地との間にスイッチング回路58と並列にダイオード56が接続される。
【0031】
RAMセル50に関して読み出しまたは書き込みを行なうときは、VGNDノード52は、サブバンク選択信号134を分配してスイッチング回路54を導通状態に設定することにより回路接地に低下される。対応するCAM入力100が非選択(即ち非活性化された)のCAMサブバンク内にあるときは、サブバンク選択信号134は非選択状態であり、VGNDノード52は回路接地から分離される。この場合、ダイオード56はVGNDノード52が回路接地より高い所定のレベルに維持されるように動作し、例えば、200−300mVの範囲に維持される。これによりRAMセル50はその記憶データ値を保持する一方、RAMセル50内の漏れ電流が減少し、したがって、CAMRAM120内の電力消費も減少される。
【0032】
図6ではサブバンク内の導通路54に接続されたすべてのRAMセル50に対して単一のダイオード56と、VGNDノード52と回路接地との間に挿入されたスイッチング回路58とを示している。他の構成例として、RAMラインのサブセットをグループ分けしてそれぞれ別々のダイオード56とスイッチング回路58とに接続するようにしてもよい。例えば、各RAMライン又は各RAMセル50を別々のダイオード50とスイッチング回路58とに接続してもよい。これらのすべてのダイオード56とスイッチング回路58とはサブバンク選択信号134により制御される。
【0033】
対応するCAMサブバンクが選択され、サブバンク選択信号134が供給されると、スイッチング回路58が導通状態となり、VGNDノード52を回路接地に低下させる。RAMセル50はこのとき、その接地が回路接地に安定するまでに若干の時間が必要である。この時間はCAMアクセス期間、即ち、選択されたサブバンク内の各CAM入力100に対するキー112とキーフィールド110のビットの比較のため、一つを除いてすべての整合ライン102の放電のため、整合ライン102のスレショールドのため、衝突検出のため、および整合したCAM入力100と関連したRAM入力の指定のための時間内に行なわれる。RAMセル50がCAM入力100のアクセス時間より長い時間を安定化のために必要とする場合には、キャッシュ制御回路(例えばRAMドライバ回路125内にある)による待ちサイクルを挿入しても良い。この動作速度低下と消費電力減少とのトレードオフは携帯用の電子装置内に用いられるプロセッサにとって特に有効であり、限られたバッテリー電力の効果的な使用が最も有効に行なわれる。
【0034】
図3の実施形態において、CAMキーフィールドメモリセル110にソースバイアス法を用いることにより漏れ電流を減少させることができる。この実施形態においては、メモリセル110を接地接続する代わりに、VGNDノードがライン60によってダイオード62とスイッチング回路68とに接続され、回路接地に接続される。CAMメモリセル110は上述したように、RAMセル50と同様に動作する。スイッチング回路58を非導通状態に設定することにより、接地電圧が回路接地からダイオード56により上昇(例えば200−300mV)するために、CAMメモリセル100内の漏れ電流が減少される。ダイオード62とスイッチング回路64は図3では簡単のために単一のメモリセル110に接続されるように図示されているが、他の例として、単一のダイオード62とスイッチング回路64とを導通路60を介してCAMサブバンク内の複数またはすべてのメモリセル110に接続するようにしてもよい。
【0035】
スイッチング回路64の導通状態はサブバンク・プリペア制御信号68により制御される。スイッチング回路64が導通状態に設定されると、CAMメモリセル110はそのVGNDノードの電位が回路接地に安定するまでに若干の移行時間を必要とする。サブバンク・プリペア信号68はサブバンク選択信号134と同一であってもよい。この場合、メモリセル100の安定時間はCAMRAM120の動作速度を低下させる。
【0036】
一実施態様において、スイッチング回路68の導通状態を制御するサブバンク・プリペア信号68はサブバンク選択信号134とは異なるものであってもよい。たとえば、サブバンクのメモリセル110はアドレスを復号化する前に、即ち、サブバンクの選択を予測することにより(例えば、前回選択されたサブバンクのメモリセル110を常に準備することにより)、サブバンク選択信号を発生させる以前に、そのVGNDノードを回路接地に低下させることにより準備状態に設定することができる。
【0037】
一般に、サブバンクのCAMメモリセル110のソースバイアスを行なうことにより、RAMセル50のソースバイアスを行なうことよりも大きなパフォーマンスに対する不利益を受ける。これは、CAMメモリセル110についてVGNDノードを回路接地に低下させるのに必要な移行準備時間はCAMアクセス時間と重複しないからである。しかしながら、電力消費の削減とパフォーマンスとのトレードオフは携帯用の電子装置にこの発明を適用する場合に大きな利点を持ち、バッテリー電力の節約はこの電子装置の設計時の大きな目的である。
【0038】
この発明は特定の特徴、態様、実施形態に関して説明されているが、多くの修正、変形や他の実施形態がこの発明の範囲内において可能であり、したがって、すべての修正、変形及び実施形態がこの発明の範囲に含まれる。したがって、ここで説明した各実施形態は開示されたすべての態様内に含まれるものとして非限定的に解釈されるべきであり、添付された請求の範囲の意味と均等物の範囲内に含まれるものはすべてその範囲内に含まれるものとして意図されている。

【特許請求の範囲】
【請求項1】
駆動回路とCAMの入力数より少ない複数のCAM入力とを含むCAMバンクの分割方法であって、
各放電回路の仮想接地を回路接地以上に上昇させることによりバンク内の各CAM入力内の整合ラインに接続された放電回路を非活性化し、
選択された入力内の各放電回路の仮想接地を回路接地まで低下させることによりバンク内の入力数より少ない複数のCAM入力を選択的に活性化状態にする、
CAMバンクの分割方法。
【請求項2】
前記仮想接地は放電回路により整合ラインが放電されるのを防止するのに充分高い電圧レベルに上昇される、請求項1に記載の方法。
【請求項3】
前記選択された入力内の各放電回路の仮想接地を回路接地まで低下させることによりバンク内の入力数より少ない複数のCAM入力を選択的に活性化状態にするステップは、選択された入力内の各放電回路の仮想接地点と回路接地との間に挿入されたスイッチング回路の選択的駆動を含む、請求項1に記載の方法。
【請求項4】
前記スイッチング回路の選択的駆動はスイッチング回路に接続された制御信号の供給を有する、請求項3に記載の方法。
【請求項5】
更に、各RAMセルの仮想接地を回路接地以上に上昇させることにより、CAMバンクと関連するRAMバンク内の漏れ電流を減少させ、
RAMセルに関して読み出し、書き込みを行なう前に選択されたCAM入力に関連した各RAMセルの仮想接地を回路接地まで低下させる、請求項1に記載の方法。
【請求項6】
各RAMセルの仮想接地は回路接地より所定値だけ高く上昇される、請求項5に記載の方法。
【請求項7】
前記所定値は、各RAMセルの仮想接地点と回路接地との間に挿入されたダイオードの両端における電圧降下分に相当する、請求項6に記載の方法。
【請求項8】
更に、各メモリセルの仮想接地を回路接地以上に上昇させることにより、CAM入力内のメモリセル内の漏れ電流を減少させ、
メモリセルの読み出し、書き込みを行なう前にバンク内の入力数より少ない複数のCAM入力内の各メモリセルの仮想接地を回路接地まで選択的に低下させる、請求項1に記載の方法。
【請求項9】
各メモリセルの仮想接地を回路接地より所定値だけ高く上昇させる、請求項8に記載の方法。
【請求項10】
前記所定値は、各メモリセルの仮想接地点と回路接地との間に挿入されたダイオードの両端における電圧降下分に相当する、請求項9に記載の方法。
【請求項11】
CAM駆動回路と、
各々のCAM入力が複数の放電回路を有し、この放電回路は、
キーフィールドビットを記憶するメモリセルと、
CAM入力整合ラインに接続され、与えられたキービットとメモリセル内のキーフィールドビットとを比較し、更にキービットとキーフィールドビットとの比較が不成立のときに整合ラインを仮想接地点に放電する比較器とを有する、複数のCAM入力と、
夫々が一つまたはそれ以上の比較器の仮想接地点と回路接地との間に挿入され選択的に駆動される2個以上のスイッチング回路とを具備し、
各スイッチング回路は接続された比較器の仮想接地点を回路接地より上の電圧レベルに維持することにより一つまたはそれ以上の関連する整合ラインの放電を禁止するように開成状態になるとともに、前記仮想接地点を回路接地に低下させることによって整合ラインの放電が行なわれるように閉成状態となる、バンク構成のCAM。
【請求項12】
CAMバンクが、スイッチング回路の選択的な駆動により2個以上のサブバンクに機能的に分割され、CAM入力の1個のサブセットのみ有効となる、請求項11に記載のCAM。
【請求項13】
スイッチング回路はCAMに与えられたアドレスビットから復号化された制御信号により選択的に駆動される、請求項12に記載のCAM。
【請求項14】
一つのスイッチング回路はCAMサブバンクのすべての比較器の仮想接地を制御する、請求項12に記載のCAM。
【請求項15】
更に、バンク構成のRAMを有し、このRAMは、
RAM駆動回路と、
夫々が複数のRAMセルを含む複数のRAMラインと、
2個以上の独立して選択的に駆動されるスイッチング回路とを有し、
各スイッチング回路は1個以上のRAMセルの仮想接地点と回路接地との間に挿入され、回路接地より高い所定の電圧レベルに前記仮想接地点を維持することによりRAMセル内の漏れ電流を減少させるように開成状態になるとともに、仮想接地点を回路接地に低下させることによりRAMセルの読み出し、書き込みを行なうように閉成状態となる、請求項12に記載のCAM。
【請求項16】
スイッチング回路の選択的な駆動によってRAMバンクが2個以上のサブバンクに機能的に分割され、RAMラインのサブセットのみ読み出し、書き込みが行なえるようにした請求項15に記載のCAM。
【請求項17】
前記スイッチング回路は関連するCAM入力の制御信号によって制御される、請求項16に記載のCAM。
【請求項18】
1個のスイッチング回路は、RAMサブバンクのすべてのRAMセルの仮想接地を制御する、請求項17に記載のCAM。
【請求項19】
命令実行ユニットと、
メモリコントローラと、
バンク構成のCAMRAMを含むバンク構成のキャッシュメモリとを具備し、各CAMバンクは複数のCAM入力とCAM駆動回路とを有し、
少なくとも1個のCAMバンクは更に、バンク内の各CAM入力内のすべての整合ライン放電回路を非活性化することによりCAM駆動回路の応答無しに複数のサブバンクに機能的に分割され、CAMバンク内のすべてのCAM入力の数より少ない複数のCAM入力内の整合ライン放電回路を選択的に活性化する、プロセッサ。
【請求項20】
更に、2個以上の選択的に駆動されるスイッチング回路を有し、各スイッチング回路はサブバンク内の各整合ライン放電回路の仮想接地点と回路接地との間に挿入される、請求項19に記載のプロセッサ。
【請求項21】
前記バンク構成のCAMRAMは更に、漏れ電流を減少させるために、すべてのRAMの仮想接地点が回路接地より所定値だけ高く維持される少なくとも1個のRAMバンクを含み、このRAMバンクは、RAMセルの読み出し、書き込みの前に、サブバンク内のすべてのRAMセルの仮想接地点を選択的に回路接地まで低下させることにより複数のサブバンクに機能的に分割される、請求項19に記載のプロセッサ。
【請求項22】
更に、サブバンク内の各RAMの仮想接地点と回路接地との間に挿入される少なくとも1個の選択的に駆動されるスイッチング回路を具備する、請求項21に記載のプロセッサ。
【請求項23】
更に、バンク内の各RAMセルの仮想接地点と回路接地との間に挿入された少なくとも1個のダイオードを具備し、このダイオードはRAMセルの仮想接地点電圧が回路接地より高くなるように設定する、請求項21に記載のプロセッサ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−12287(P2013−12287A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−168459(P2012−168459)
【出願日】平成24年7月30日(2012.7.30)
【分割の表示】特願2008−538209(P2008−538209)の分割
【原出願日】平成18年10月30日(2006.10.30)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】