説明

連想メモリ内の電力消費を減少させるための方法と装置

【課題】マルチ−レベルの階層的連想メモリ(CAM)回路内の電力消費を性能に悪影響を与えること無しに低減する。
【解決手段】CAM回路は複数の低レベルマッチライン、複数の高レベルマッチラインおよびマッチライン回復回路を含む。低レベルマッチラインは前評価期間中は前評価状態に戻されるように構成される。高レベルマッチラインは評価期間中は1つまたはそれ以上の低レベルマッチラインのそれぞれのグループの評価状態を獲得するように、そして前評価期間中は前評価状態に戻される様に構成される。マッチライン回復回路は少なくとも1つの低レベルマッチラインが対応するイネーブル情報、例えば、マッチラインサーチ結果が使用されるべきかどうかを示す1つまたはそれ以上のビットに反応して前評価状態に戻されるのを防ぐように構成される。

【発明の詳細な説明】
【技術分野】
【0001】
[発明の分野]
本発明は一般に連想メモリ(CAM;Content Addressable Memory)に関し、そしてより詳しくはCAM性能に悪影響を与えること無しにCAM電力消費を減少させることに関する。
【背景技術】
【0002】
[関連する背景]
ランダムアクセスメモリ(RAM)がこのRAMに供給されたアドレスに蓄積されたデータワードを戻すのと違って、連想メモリ(CAM)はこのCAMへのサーチワード入力にマッチするデータパターンについてその全体のメモリを調べる。もしこのデータパターンが見つかると、CAMはこのワードが見つけられた1つまたはそれ以上の蓄積アドレスのリストを戻す。いくつかのCAMでは、データワードまたは他の関連データも戻される。したがって、CAMはしばしば連想配列(associative array)を使用される。
【0003】
CAMは複数のエントリを備え、各エントリはデータを蓄積するように構成された多数のCAMセルを有する。CAMセルは(バイナリデータを蓄積する)バイナリ、あるいは(バイナリデータまたは「出力には影響のない状態(don,t care state)」を蓄積する)ターナリ(ternary)であってもよい。各CAMセルはマッチライン(match line)に連結される。CAMサーチ動作の間中、サーチフィールドはCAMに提供される。サーチフィールド入力に応じて、各マッチラインはそれぞれのCAMセルがある部分のサーチフィールドにマッチするデータを含むかどうかを示す。サーチ動作が完了した後、マッチラインは次のサーチの間中CAM性能を改善するために慣例的に前評価状態(pre-evaluation state)に戻される。例えば、マッチラインは前評価周期の間中慣例的に論理1値に高くプリチャージされる。
【0004】
次のCAMサーチ動作の間中、マッチングデータを含まないCAMセルに関連するマッチラインはディスチャージされる。マッチングデータを蓄積するCAMセルに連結されたこれらのマッチラインのみは高くチャージされたままである。そのように、1エントリに関連する1つのCAMセルのみはミスマッチのデータパターン含んでいるとして識別されるようにこのエントリに関するミスマッチングデータを含む必要がある。これはミス(miss)と呼ばれる。反対に、もしも1エントリ内の各セルがマッチを生ずれば、このエントリは1マッチングパターンを含んでいるとして識別され、これはヒット(hit)と呼ばれる。
【0005】
いくつかの従来のCAMはマッチライン上の容量性負荷を減少させるための複数レベルの階層的なマッチラインを含み、それはCAM性能および電力消費に影響を及ぼす。そのようなマルチ−レベル階層的CAM(multi-level hierarchical CAM)では、1群のCAMセルを取り扱っているローカルマッチライン(local match line)は単一のグローバルマッチライン(global match line)に連結される。1つまたはそれ以上のローカルマッチラインによって示されたミスマッチは対応するグローバルマッチラインによって表される。そのように、もしもその対応するローカルマッチラインの1つがミスを示すならばグローバルマッチラインはミスを示す。反対に、もしもその対応するローカルマッチラインのすべてがヒットを示すならばグローバルマッチラインはヒットを示す。CAMサイズ次第で、マッチラインの1つまたはそれ以上の中間レベルは容量性負荷をさらに減少させるためにローカルマッチラインおよび対応するグローバルマッチラインの間に含まれてもよい。
【0006】
特定のCAM構造にかかわらず、CAMサーチ結果を処理するいくつかのアプリケーションはサブセットのCAMエントリについてのサーチ結果を必要とするだけかもしれない。例えば、いくつかのアプリケーションはこのエントリの他の部分に関連するサーチ結果を使用している一方で、特定のCAMエントリのある部分についてのヒット/ミスサーチ結果を捨てるかまたは無視することができる。特定のCAMセルについてのヒット/ミスサーチ結果を無視することに関する1つの従来のアプローチは、興味のないCAMセルをそれらのそれぞれのマッチラインから分離することである。例えば、トランジスタ装置がCAMセルの出力ノードとそれのそれぞれのマッチラインとの間に直列に並べられてもよい。トランジスタがスイッチオフされる時には、CAMセルはそれのマッチラインから切り離される。そのように、CAMセルの内容はCAMセルのマッチラインの状態に影響を及ぼさない。すなわち、マッチラインは、それの対応するCAMセルがマッチングデータを含むか否かには関係なく、それの前評価状態、例えば高くプリチャージされた状態にとどまる。しかしながら、たとえCAMセルが無視されるであろうことに関連するサーチ結果だとしても、前評価期間中はこのCAMセルのマッチラインをプリチャージすることに電力が使用される。さらに、ゲーチングトランジスタがスイッチオンされる時には、このトランジスタはCAMセルの出力ノードをこのマッチラインに連結する。そのような構成はCAMセルの出力ノードに追加のキャパシタンスを付加し、従ってマッチライン動作を遅らせ、そして追加の電力を消費する。
【0007】
マルチ−レベル階層的CAMにおいて特定のサーチ結果を無視することに関するもう1つの従来のアプローチは興味のないローカルマッチラインと関連するグローバルマッチラインイネーブル回路をディスエーブル(disable)にすることである。例えば、プリチャージされたグローバルマッチラインがディスチャージされてもよいかどうかを制御するクロック信号はイネーブル信号によってゲートされる。もしクロック信号がディスエーブルにされれば、グローバルマッチラインはそれに連結されたローカルマッチラインの状態に関係なくそれのプリチャージされた状態のままである。結果として、CAM評価期間中はイネーブルされるグローバルマッチラインのみがそれらの対応するローカルマッチラインの状態によって影響を及ぼされる。電力はなおグローバルマッチラインイネーブル回路がディスエーブルにされる時に対応するグローバルおよびローカルマッチラインをプリチャージして消費される。
【発明の概要】
【0008】
[開示の概要]
この中で教えられた方法および装置によれば、マルチ−レベル階層的連想メモリ(CAM)回路はCAM動作に悪影響を及ぼすこと無しに電力消費を減少させるためのマッチライン連結回路(match line coupling circuitry)を含む。マッチライン連結回路は前評価状態に興味のないCAMマッチラインの回復(restoration)を防ぐことによって、例えば、マッチラインプリチャージング(match line pre-charging)を防ぐことによって電力消費を減少させる。したがって、CAMアクセスサイクルの前評価期間中は、興味のあるそれらのマッチラインのみがそれらの前評価状態に戻される。
【0009】
マッチライン連結回路によって受信されたかさもなければ取得されたイネーブル情報はどちらのマッチラインに興味がないかを示す。1つの実施形態では、イネーブル情報はどちらのマッチラインに興味がないかを直接に示す。もう1つの実施形態では、イネーブル情報はどちらのマッチラインに興味がないかを、例えば、興味のあるマッチラインを識別することによって、間接に示す。にかかわらず、イネーブル情報はどちらの特定のCAMマッチラインに興味があるか無いかを示すのにふさわしい任意の情報、例えば、関心/無関心インジケータ(care/don’t’ care indicator)、1つまたはそれ以上のマスキングビット(masking bit)、1つまたはそれ以上の有効/無効ビット(valid/invalid bit)等を具備してもよい。
【0010】
あるマッチラインの回復を防ぎ、そしてそれによって電力を節約することのほかに、マッチライン連結回路はまた対応する高レベルマッチラインを興味がないとして識別されたマッチラインから切り離す。これは、特定の低レベルマッチラインが上記電力節約動作の一部としてそれらの前評価状態に戻されない時に予想できない動作を防ぐ。
【0011】
マルチ−レベル階層的CAM回路内の電力消費を減少させるための1つの実施形態によれば、マルチ−レベル階層的CAM回路内に含まれた1つまたはそれ以上のCAMマッチラインと関連するイネーブル情報が取得される。CAMマッチラインの個々のものはイネーブル情報に反応して前評価状態に戻されるのを防がれる。マルチ−レベル階層的CAM回路の1実施形態によれば、CAM回路は複数の低レベルマッチライン、複数の高レベルマッチラインおよびマッチライン回復回路(match line restoration circuitry)を具備する。低レベルマッチラインは、前評価期間中は前評価状態に戻されるように構成される。高レベルマッチラインは、評価期間中は1つまたはそれ以上の低レベルマッチラインのそれぞれのグループの評価状態を獲得するようにそして前評価期間中は前評価状態に戻されるように構成される。マッチライン回復回路は少なくとも1つの低レベルマッチラインが対応するイネーブル情報に反応して前評価状態に戻されるのを防ぐように構成され、そのようにここでマッチラインは無関心の(マスクされた)(don’t care (masked))または無効の内容に相当すると認められる。
【0012】
マルチ−レベル階層的CAM回路はキャッシュおよびバッファのようないろいろな種類のメモリ装置内に含まれるかまたはそれに結合されてもよい。トランスレーションルックアサイドバッファ(TLB;Translation Look aside Buffer)の1つの実施形態によれば、TLBは複数のエントリおよび対応するマッチラインを有するマルチ−レベル階層的CAM回路を具備する。マルチ−レベル階層的CAM回路はこのエントリに関連するイネーブル情報を蓄積するように、そしてバーチャルメモリアドレスを対応する物理メモリアドレスに変換するように構成される。本TLB環境内のイネーブル情報はTLBエントリの有効性を示す1つまたはそれ以上のビットに対応する。マルチ−レベル階層的CAM回路はマッチラインの個々のものがイネーブル情報に反応して前評価状態に戻されるのを防ぐように構成される。
【0013】
もちろん、本発明は上記特徴および利点に限定されない。この分野の技術者は以下の詳細な説明を読んで、そして添付図面を見て、追加の特徴および利点を認めるであろう。
【図面の簡単な説明】
【0014】
【図1】電力消費を減少させるマッチライン連結回路を有するマルチ−レベルの階層的な連想メモリ(CAM)回路の1実施形態を示す部分ブロック図。
【図2】マルチ−レベル階層的CAM回路内の電力消費を減少させるためのプログラム論理の1実施形態を示す論理フロー図。
【図3】マルチ−レベル階層的CAM内に含まれたマッチライン連結回路の1つの実施形態を示すブロック図。
【図4】CAMマッチライン連結回路を含むマイクロプロセッサの1実施形態を示すブロック図。
【図5】マルチ−レベル階層的CAM内に含まれたマッチライン連結回路のもう1つの実施形態を示すブロック図。
【発明を実施するための形態】
【0015】
[詳細な説明]
図1は連想メモリ(CAM)動作の間中電力消費を減少させるマルチ−レベル階層的CAM回路10の1実施形態を部分的に示す。CAM回路10はデータを蓄積するためのバイナリまたはターナリCAMセルのような複数のメモリセル12を有する。CAMセル12はグループ14内に配列される。グループ14内の各CAMセル12はローカルマッチライン(LML)に連結される。CAM回路10内に含まれた回路16は関連のLMLを高レベルマッチラインに連結し、例えば、図1ではLML0乃至LMLnはグローバルマッチライン(GML0)に連結される。1つの実施形態では、関連のLMLはマッチライン連結回路16によりGMLに直接に連結される。この実施形態によれば、CAM回路10は2つの階層的なレベルのマッチライン(ローカルおよびグローバルマッチライン)を具備する。もう1つの実施形態では、関連のLMLは中間マッチライン(IML;Intermediary Match Line)に連結される。関連のIMLはその後対応するGMLに直接または間接に連結される。この実施形態によれば、CAM回路10は2つ以上の階層的なレベルのマッチライン(複数LML、少なくとも1つのIML、および複数GML)を具備する。
【0016】
マッチラインレベルの数にかかわらず、マッチライン連結回路16はマッチライン回復回路18およびマッチライン切離し回路20を具備する。説明を楽にするだけのために、マッチライン連結回路16がLMLをGMLに連結することに関して次に記述される。しかしながら、この分野の技術者はこの中に記述された連結回路16が任意の階層的な低レベルのマッチラインを高レベルのマッチラインに連結してもよいことをすぐに認めるであろう。
【0017】
これを心に置いて、マッチライン回復回路18は特定のLMLがCAMサーチ動作の後に前評価状態に戻されるべきかどうかを決定する。すなわち、すべてとは限らないLMLは特定のCAMサーチ動作の間中興味があるかもしれない。例えば、この内容の1つまたはそれ以上のCAMエントリ(図示せず)あるいはCAMエントリの部分は評価の間中無効としてマークされるかまたはマスクされてもよい。これらのエントリまたは部分的なエントリに相当するLMLは興味がない。興味がないLMLによって供給されたサーチ結果はCAMサーチ動作の間中慣例的に無視されるかまたは捨てられる。例えば、各CAMエントリと関連する1つまたはそれ以上の有効あるいはマスキングビットは、どのLMLは興味がないかを示すためのマッチライン回復回路18に供給される。1つの実施形態では、イネーブル情報は、どのマッチラインは興味がないかを直接に示す。もう1つの実施形態では、イネーブル情報は、例えば、興味のあるマッチラインを識別することによって、どのマッチラインは興味がないかを間接に示す。それでも、マッチライン回復回路18はCAMサーチ動作の間中無視されるであろうマッチラインを識別するためにイネーブル情報を使用する。
【0018】
もし特定のマッチライン回復回路18がそれの対応するLMLは興味がないことを決定すれば、それはこのLMLを本質的にディスエーブルにして、これらのLMLが前評価状態に戻されるのを防ぐ。1つの実施形態では、マッチライン回復回路18はLMLがプリチャージされるのを防ぐ。もう1つの実施形態では、マッチライン回復回路18はLMLがプリディスチャージ(pre-discharge)されるのを防ぐ。これらのLMLに関連するサーチ結果は興味がないので、前評価状態へのそれらの回復がCAM回路10の動作に悪影響を及ぼさずに電力消費を減少させるのを防ぐ。マッチライン回復回路18によって使用されたイネーブル情報は、例えば、CAM回路10内の各エントリ内に含まれた1つまたはそれ以上の有効ビットとしてCAM回路10内に蓄積されてもよく、あるいはCAM回路10に供給されてもよい。
【0019】
イネーブル情報はまたマッチライン切離し回路20によっても使用される。マッチライン切離し回路20は興味のないLMLがそれらの対応するGMLに影響を及ぼすのを防ぐためにイネーブル情報を使用する。興味のないLMLをそれのGMLから切り離すことはそのGMLの状態に影響を及ぼさないであろうことを保証する。その代わりとして、このGMLに連結されたイネーブルドLMLだけが、例えば、それをディスチャージすることによって、このGMLの状態に影響を及ぼすことができる。これは電力消費を減少させる一方で不安定なCAM回路10の動作を防ぐ。
【0020】
1つの実施形態では、マッチライン切離し回路20はマッチライン回復回路18によってディスエーブルにされた1群のLMLが、それらが連結されるGMLの状態に影響を及ぼすのを防ぐ。もしイネーブル情報が特定のGMLと関連する一群のLMLはCAMサーチ動作の間中無視されるべきであることを示すならば、その時マッチライン切離し回路20はこの群のLMLをこのGMLから切り離す。そのように、マッチライン切離し回路20は、このLMLは興味がない時には、個々の群のLMLが対応するGMLの状態に影響を及ぼすのを防ぐ。
【0021】
下記はマッチライン回復および切離し回路18,20がCAMサーチ動作の間中どのように機能するかを説明するための図1に示されたCAM回路10に基づいた非限定の例である。CAMサーチ動作の前評価期間の間中、CAM回路10は、図2のステップ100によって図示されたように、マッチラインイネーブル情報を取得する。1つの実施形態では、CAM回路10はこのエントリの有効性を示す対応する有効ビットを取得するためにCAM回路10の各エントリ内の位置をアクセスする。本例では、イネーブル情報はLML1を除いてすべてのLMLは興味があることを示す。イネーブル情報に基づいて、LML1と関連するマッチライン回復回路18は、図2のステップ102によって図示されたように、他のマッチライン回復回路18がそれらの対応するLMLの回復を可能にする一方でそれの前評価状態に戻されるのを防ぐ。さらに、LML1と関連するマッチライン切離し回路20はLML1が次の評価期間中GML0の状態に影響を及ぼすのを防ぐ。したがって、GML0の状態はLML1を除いて各LMLによって影響を及ぼされるかもしれない。
【0022】
図3はCAM10内に含まれたマッチライン連結回路16の1つの実施形態を示す。マッチライン連結回路16はLMLプリチャージ回路(p−FET T1)、インバータ(p−FET T2およびn−FET T3)、GMLプリチャージ回路(p−FET T4)、およびGML評価回路(n−FET T5およびT6)を含む。マッチライン連結回路16はまたマッチライン回復および切離し回路18,20も含む。この実施形態によれば、マッチライン回復回路18はLMLプリチャージ回路およびインバータの電圧源(Vdd)とソースノードとの間に連結されたp−FETトランジスタ(T7)を具備する。マッチライン切離し回路20はGML評価回路の1つのゲート入力に連結されたn−FETトランジスタ(T8)を具備する。マッチライン回復および切離し回路18,20のゲートはイネーブル信号(LML ENABLE)によって制御される。
【0023】
イネーブル信号は、LMLは興味があるかまたはないかを示す。イネーブル信号が論理1である時は、それはLMLのプリチャージングをディスエーブルにさせ、そしてこのLMLをそれのGMLから切り離させる。詳しくは、もしイネーブル信号がこのLMLと関連するサーチ結果に興味があることを示せば、マッチライン回復回路18は活性化される(例えば、p−FETトランジスタT7がスイッチオンされる)。活性化された時には、マッチライン回復回路18はそれらのそれぞれのソースノードを論理値1(Vdd)にチャージすることによってLMLプリチャージ回路およびインバータをイネーブルにする。これは前評価期間の間中アクティブな回復信号(RESTORE)に応じてLMLを論理値1にプリチャージするためにLMLプリチャージ回路をイネーブルにする。いくつかの従来の回路技術と違って、マッチライン回復回路18は活性化された時にCAM回路10の性能に悪影響を与えない。詳しくは、マッチライン回復回路は、活性化された時にLMLに連結されたCAMセル(図示せず)の出力ノードに追加の容量を付加しない。マッチライン回復回路18はLMLをCAMセルの出力ノードに接続するアクティブな信号パス内に配置されないので、追加の容量負荷は無いという結果になる。
【0024】
LMLは興味がある時には、イネーブル信号もマッチライン切離し回路20を不活性化させる(例えば、n−FETトランジスタT8がスイッチオフされる)。マッチライン切離し回路20が不活性化される時には、GMLの状態はLMLによって影響を及ぼされる。結果として、GML評価回路のn−FETトランジスタT6がイネーブルにされたクロック信号(GML CLK)に応じて活性化される時には、LMLの状態はGML評価回路のn−FETトランジスタT5がスイッチオンまたはオフのどちらをされるかを制御する。もしn−FETトランジスタT5がスイッチオンされれば、GMLは地気にディスチャージする。反対に、n−FETトランジスタT5がスイッチオフされる時にはLMLの状態に関係なく、GMLはLMLによって影響を受けないままである。結果として、不活性化した時にはマッチライン切離し回路20はGML状態に影響を及ぼさない。その代わりとして、GMLの状態はイネーブルにされたLMLのみのそれを反映する。
【0025】
もしLMLは興味がなければ、マッチライン回復回路18は不活性化される(例えば、p−FETトランジスタT7がスイッチオフされる)。不活性化された時に、マッチライン回復回路18はLMLプリチャージ回路およびインバータのソースノードを電源から切り離す。LMLプリチャージ回路は電源がそれのソースノードからはずされる時にはLMLをプリチャージすることはできない、したがって不必要な電力消費を減少させる。さらに、マッチライン回復回路18が不活性化される時にはLMLはディスエーブルにされる。
【0026】
さらに、イネーブル信号は、LMLがディスエーブルにされる時にマッチライン切離し回路20を活性化させる。マッチライン切離し回路20はGML評価回路のn−FETトランジスタT5へのゲート入力を低論理値(VSS)に決定する。n−FETトランジスタT5のゲート入力が低い時は、LMLの状態はGMLのそれに影響を及ぼさず、したがって、LMLはそれのGMLから切り離される。詳しくは、n−FETトランジスタT5はそれのゲート入力が低い時には十分な電流を処理することができない。そのように、以前の非評価期間の間中プリチャージされていたGMLは、LMLの状態にかかわらずこの特定のGML評価回路によってディスチャージされることはできない。活性化された時に、マッチライン切離し回路20はまた、GML評価回路のn−FETトランジスタT5のゲート入力を引き下げることによってCAM回路10による予想できない動作も防ぐ。もしn−FETトランジスタT5のゲート入力が引き下げられなければ、インバータの出力ノード(lml sns)はGML状態に悪影響を及ぼすかもしれない。例えば、GMLのインバータの出力ノードは、その電源がそれのソースノードから戻された時に浮くかまたはさもなければ予想できない動作をするかもしれない。マッチライン切離し回路20は、LMLが興味のない時にこのLMLがGMLの状態に影響を及ぼすのを防ぐことによってそのような時々起こる動作がこのGMLに悪影響を及ぼすのを防ぐ。
【0027】
マッチライン回復および切離し回路18,20はキャッシュおよびバッファのようないろいろな種類のメモリ装置内に含まれるかまたはそれと結合されてもよい。図4はマッチライン回復および切離し回路18,20の1つまたはそれ以上の事例を含むCAMまたはCAMのような回路を有するマイクロプロセッサ30の1つの実施形態を示す。もっと詳細に、マイクロプロセッサ30は命令ユニット32、1つまたはそれ以上の実行ユニット34、バスインターフェイスユニット36、データキャッシュ38、命令キャッシュ40および高レベル(L2)キャッシュ42を含む。命令ユニット32は実行ユニット34への命令フローの集中制御を提供する。実行ユニット34は命令ユニット32によって発送された命令を実行する。バスインターフェイスユニット36はマイクロプロセッサ30へのおよびからのデータ、命令、アドレス、および制御信号を転送するための機構を提供する。データおよび命令キャッシュ38,40は、それぞれ、データおよび命令を蓄積する。L2キャッシュ42はデータおよび命令キャッシュ38,40とマイクロプロセッサ30外部のメモリ(図示せず)との間に高速メモリバッファを供給する。
【0028】
キャッシュ38,40および42はキャッシュアクセス動作の間中アドレス変換を行うためのそれぞれのトランスレーションルックアサイドバッファ(TLB)44,46および48を有する。各TLB44,46および48は1つまたはそれ以上の実例のマッチライン回復および切離し回路18,20を有する。あるいは、統合されたTLB(図示せず)がキャッシュ38,40および42のためのアドレス変換を行ってもよい。それでも、TLB44,46および48はCAMベースであり、その中では興味のあるバーチャルアドレスがTLB44,46および48に供給され、そしてTLB44,46および48は応答として対応するヒットまたはミスの結果をもたらす。ヒットの場合には、物理アドレスがバーチャルアドレスサーチフィールドに対応して生成される。ミスの場合には、ページテーブル変換が起こる。
【0029】
TLB44,46および48はバーチャルアドレスの物理アドレスへの変換用の情報を含むエントリ(図示せず)を有する。1つの実施形態では、各TLBエントリはバーチャルアドレスフィールド、対応する物理アドレスフィールドおよび有効ビッドを具備する。もしバーチャルアドレスフィールドがTLB44,46および48の1つの中のエントリに匹敵すれば、対応する物理アドレスフィールドが出力される。さもなければ、ページテーブルトランザクションが起こる。有効ビットは特定のTLBエントリが有効か否かを決定する。もし無効ならば、エントリ内容はアドレス変換の間中無視されるか捨てられる。ページサイズビットのような他のイネーブルビットはバーチャルアドレスビットの対応する部分がアドレス変換に関与すべきかどうかを決定することができる。
【0030】
図5はTLB44,46および48用のマッチライン連結回路の1つの実施形態を図示する。この実施形態によれば、TLB44,46および48エントリから検索された有効ビット(VALID)はマッチライン回復および切離し回路18,20の動作を制御する。特定のTLB44,46および48エントリが有効である時には、それの有効ビットは対応するマッチライン回復回路18をイネーブルにさせる。イネーブルにされた時には、マッチライン回復回路18は、TLBサーチ動作の後にそれのLMLを前評価状態に戻す。また、回復回路18はイネーブルにされた時には対応するGMLをプリチャージするための第2のp−FETトランジスタ(T9)を含む。反対に、有効ビットがエントリは無効であることを示す時には、LMLはそれのGMLから切り離される。
【0031】
この実施形態によれば、マッチライン切離し回路10のp−FET10がGMLインバータ回路(p−FET T2およびn−FET T3)への入力を低論理値(VSS)に決定する時には、このLMLはそれのGMLから切り離される。マッチライン切離し回路20がインバータ入力を低論理状態に決定する時には、LMLはそれのGMLから効果的に切り離される。即ち、インバータはLMLの状態にかかわりなく論理値1を出力するので、LMLはもはやGMLの状態に影響を及ぼさない。インバータ入力を低論理状態に決定することによって、それのクロック入力信号(GML CLK)がアクティブである時にGMLはディスチャージする。GMLがディスチャージされる時は、それはミスマッチと理解される。したがって、連結回路16のこの実施形態はTLB44,46および48エントリが無効である時に誤ったヒットが処理されるのを防ぐ。あるいは、図3に図示された連結回路16の実施形態は、無効なLMLの回復を防ぎそして無効なLMLをそれらの対応するGMLから切り離すことのためにTLB44,46および48内に含まれてもよい。
【0032】
上記の変動および適用の範囲を心に置いて、本発明が上述の明細書によって限定されず、また添付図面によっても限定されないことは理解されねばならない。そうではなく、本発明は下記のクレームおよびそれらの等価物によってのみ限定される。

【特許請求の範囲】
【請求項1】
マルチ−レベル階層的連想メモリ(CAM)回路において、電力消費を減少させる方法であって、
該マルチ−レベル階層的CAM回路内に含まれた1つまたはそれ以上のCAMマッチラインに関連するイネーブル情報を取得し、および
該CAMマッチラインの個々のものが該イネーブル情報に応答して前評価状態に戻されることを防止する
ことを含む方法。
【請求項2】
該前評価に戻されることを防止された該CAMマッチラインの該個々のものは、少なくとも1つのローカルCAMマッチラインおよび中間CAMマッチラインを含む、請求項1記載の方法。
【請求項3】
該CAMマッチラインの個々のものが該イネーブル情報に応答して前評価状態に戻されることを防止することは、マッチラインプリチャージングを防止することを含む、請求項1記載の方法。
【請求項4】
該CAMマッチラインの個々のものが該イネーブル情報に応答して前評価状態に戻されることを防止することは、マッチラインプリディスチャージングを防止することを含む、請求項1記載の方法。
【請求項5】
該CAMマッチラインの個々のものが該イネーブル情報に応答して前評価状態に戻されることを防止することは、該CAMマッチラインの該個々のものをそれらのそれぞれの前評価状態に戻すように構成された回路をディスエーブリングすることを含む、請求項1記載の方法。
【請求項6】
該CAMマッチラインの個々のものが該イネーブル情報に応答して対応する高レベルCAMマッチラインの前評価状態に影響を及ぼすのを防止することをさらに含む、請求項1記載の方法。
【請求項7】
該CAMマッチラインの個々のものが該イネーブル情報に応答して対応する高レベルCAMマッチラインの前評価状態に影響を及ぼすのを防止することは、それらの対応する高レベルCAMマッチラインから該CAMマッチラインの個々のものを切り離すように構成された回路をイネーブリングすることを含む、請求項6記載の方法。
【請求項8】
該高レベルCAMマッチラインは、中間CAMマッチラインおよびグローバルCAMマッチラインの少なくとも1つの含む、請求項6記載の方法。
【請求項9】
該イネーブル情報は、該CAMマッチラインの個々のものに関連するサーチ結果が使用されるべきかどうかを示す1つまたはそれ以上のビットを含む、請求項6記載の方法。
【請求項10】
マルチ−レベル階層的連想メモリ(CAM)回路であって、
前評価期間中に前評価状態に戻されるように構成された複数の低レベルマッチライン、 評価期間中に1つまたはそれ以上の低レベルマッチラインのそれぞれのグループの評価状態を獲得するように、および該前評価期間中は前評価状態に戻されるように構成された複数の高レベルマッチライン、および
少なくとも1つの該低レベルマッチラインが対応するイネーブル情報に応答して該前評価状態に戻されるのを防止するように構成されたマッチライン回復回路、
を含むマルチ−レベル階層的CAM回路。
【請求項11】
該マッチライン回復回路は、マッチラインプリチャージングを防止することによって、イネーブル情報に反応して該低レベルマッチラインの少なくとも1つが該前評価状態に戻されるのを防止するように構成される、請求項10記載のマルチ−レベル階層的CAM回路。
【請求項12】
該マッチライン回復回路は、マッチラインプリディスチャージングを防止することによって、イネーブル情報に反応して該低レベルマッチラインの少なくとも1つが該前評価状態に戻されるのを防止するように構成される、請求項10記載のマルチ−レベル階層的CAM回路。
【請求項13】
該マッチライン回復回路は、1つまたはそれ以上の中間マッチラインが該イネーブル情報に反応して前評価状態に戻されるのを防止するようにさらに構成される請求項10記載のマルチ−レベル階層的CAM回路。
【請求項14】
該マルチ−レベル階層的CAM回路は、1つまたはそれ以上の低レベルマッチラインを、該イネーブル情報に応じて、それらの対応する高レベルマッチラインから切り離すように構成されたマッチライン切離し回路をさらに含む、請求項10記載のマルチ−レベル階層的CAM回路。
【請求項15】
該マッチライン切離し回路は、1つまたはそれ以上の低レベルマッチラインを、該イネーブル情報に応じて、該低レベルマッチラインの個々のものがそれらの対応する高レベルマッチラインの該前評価状態に影響を及ぼすのを防止することによって、それらの対応する高レベルマッチラインから切り離すように構成される、請求項14記載のマルチ−レベル階層的CAM回路。
【請求項16】
該マッチライン切離し回路は、該低レベルマッチラインの個々のものがそれらの対応する高レベルマッチラインをディスチャージするのを防ぐことによって、該低レベルマッチラインの個々のものがそれらの対応する高レベルマッチラインの該前評価状態に影響を及ぼすのを防止するように構成される、請求項15記載のマルチ−レベル階層的CAM回路。
【請求項17】
該マッチライン切離し回路は、1つまたはそれ以上の中間マッチラインを該対応する高レベルマッチラインから切り離すことによって、1つまたはそれ以上の該低レベルマッチラインを、該イネーブル情報に応じて、それらの対応する高レベルマッチラインから切り離すように構成される、請求項14記載のマルチ−レベル階層的CAM回路。
【請求項18】
該イネーブル情報は、該CAMマッチラインの個々のものに関連するサーチ結果が使用されるべきであるかどうかを示す1つまたはそれ以上のビットを含む、請求項14記載のマルチ−レベル階層的CAM回路。
【請求項19】
該複数の低レベルマッチラインはローカルマッチラインを含み、そして該複数の高レベルマッチラインはグローバルマッチラインを含む、請求項10記載のマルチ−レベル階層的CAM回路。
【請求項20】
請求項10に記載の該マルチ−レベル階層的CAM回路を含むマイクロプロセッサ。
【請求項21】
トランスレーションルックアサイドバッファ(TLB)回路であって、
複数のエントリおよび対応するマッチラインを有するマルチ−レベルの階層的連想メモリ(CAM)回路を含み、該マルチ−レベルの階層的CAM回路は、該エントリに関連するイネーブル情報を蓄積するよう、バーチャルメモリアドレスを対応する物理メモリアドレスに変換するように、および該マッチラインの個々のものが該イネーブル情報に反応して前評価状態に戻されるのを防止するように構成されている、TLB回路。
【請求項22】
該マルチ−レベル階層的CAM回路は、該マッチラインを戻すように構成された該マルチ−レベル階層的CAM回路内に含まれた回路をディスエーブリングすることによって該マッチラインの個々のものが該イネーブル情報に反応して前評価状態に戻されるのを防止するように構成される、請求項21記載のTLB回路。
【請求項23】
該マルチ−レベル階層的CAM回路は、該マッチラインの個々のものを、該イネーブル情報に応じて、対応する高レベルマッチラインから切り離すようにさらに構成される、請求項21記載のTLB回路。
【請求項24】
該マルチ−レベル階層的CAM回路は、該マッチラインの個々のものを、該イネーブル情報に応じて、該マッチラインの個々のものがそれらの対応する高レベルマッチラインの前評価状態に影響を及ぼすのを防止するように構成された該マルチ−レベル階層的CAM回路内に含まれた回路をイネーブリングすることによって、それらの対応する高レベルマッチラインから切り離すように構成される、請求項23記載のTLB回路。
【請求項25】
該マルチ−レベル階層的CAM回路は、該イネーブル情報に応じて、該高レベルマッチラインの個々のものを対応する低レベルマッチラインの状態に関係なくディスチャージすることによって、該マッチラインの個々のものを対応する高レベルマッチラインから切り離すように構成される、請求項23記載のTLB回路。
【請求項26】
請求項21に記載の該TLB回路を含むマイクロプロセッサ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−58301(P2013−58301A)
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−227318(P2012−227318)
【出願日】平成24年10月12日(2012.10.12)
【分割の表示】特願2009−523904(P2009−523904)の分割
【原出願日】平成19年8月1日(2007.8.1)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED