(57)【特許請求の範囲】
【請求項１】
マルチ−レベル階層的連想メモリ（ＣＡＭ）装置であって、
前評価期間中に前評価状態に戻されるように構成された、第１群の関連した低レベルマッチラインを含む複数の低レベルマッチライン、
前記第１群の関連した低レベルマッチラインに連結された高レベルマッチライン、ここにおいて、前記高レベルマッチラインは、評価期間中に前記第１群の関連した低レベルマッチラインのマッチラインの個々のマッチラインの評価状態を獲得するように、および前記前評価期間中は前評価状態に戻されるように構成される、および
前記第１群内の低レベルマッチラインの少なくとも１つが前記第１群内の低レベルマッチラインと関連するイネーブル情報に応答して前記前評価状態に戻されるのを防止するように構成されたマッチライン回復回路、ここにおいて、前記マッチライン回復回路はさらに、前記第１群内の低レベルマッチラインの少なくとも１つの他の低レベルマッチラインが前記イネーブル情報に応答して前記前評価状態に戻されるのを可能にするように構成される、
を含む装置。
【請求項２】
前記マッチライン回復回路は、マッチラインプリチャージングを防止することによって、前記イネーブル情報に反応して前記第１群内の低レベルマッチラインの少なくとも１つが前記前評価状態に戻されるのを防止するように構成される、請求項１記載の装置。
【請求項３】
前記マッチライン回復回路は、マッチラインプリディスチャージングを防止することによって、前記イネーブル情報に反応して前記第１群内の低レベルマッチラインの少なくとも１つが前記前評価状態に戻されるのを防止するように構成される、請求項１記載の装置。
【請求項４】
前記マッチライン回復回路は、１つまたはそれ以上の中間マッチラインが前記イネーブル情報に反応して前評価状態に戻されるのを防止するようにさらに構成される請求項１記載の装置。
【請求項５】
前記第１群内の低レベルマッチラインの１つまたはそれ以上を、前記イネーブル情報に応じて、前記高レベルマッチラインから切り離すように構成されたマッチライン切離し回路をさらに含む、請求項１記載の装置。
【請求項６】
前記マッチライン切離し回路は、前記第１群内の低レベルマッチラインの１つまたはそれ以上を、前記イネーブル情報に応じて、前記第１群内の低レベルマッチラインの個々のものが前記高レベルマッチラインの前記前評価状態に影響を及ぼすのを防止することによって、前記高レベルマッチラインから切り離すように構成される、請求項５記載の装置。
【請求項７】
前記マッチライン切離し回路は、前記第１群内の低レベルマッチラインの個々のものが前記高レベルマッチラインをディスチャージするのを防ぐことによって、前記第１群内の低レベルマッチラインの個々のものが前記高レベルマッチラインの前記前評価状態に影響を及ぼすのを防止するように構成される、請求項６記載の装置。
【請求項８】
前記マッチライン切離し回路は、１つまたはそれ以上の中間マッチラインを前記高レベルマッチラインから切り離すことによって、前記第１群内の低レベルマッチラインの１つまたはそれ以上を、前記イネーブル情報に応じて、前記高レベルマッチラインから切り離すように構成される、請求項５記載の装置。
【請求項９】
前記イネーブル情報は、前記低レベルマッチラインの個々のものに関連するサーチ結果が使用されるべきであるかどうかを示す１つまたはそれ以上のビットを含む、請求項５記載の装置。
【請求項１０】
前記複数の低レベルマッチラインはローカルマッチラインを含み、そして前記高レベルマッチラインはグローバルマッチラインを含む、請求項１記載の装置。
【請求項１１】
マイクロプロセッサに統合された請求項１記載の装置。
【請求項１２】
マルチ−レベル階層的連想メモリ（ＣＡＭ）装置であって、
前評価期間中に前評価状態に戻されるように構成された、第１群の関連した低レベルマッチラインを含む複数の低レベルマッチライン、
前記第１群の関連した低レベルマッチラインに連結された上位レベルマッチライン、ここにおいて、前記上位レベルマッチラインは、前記前評価期間中は前評価状態に戻されるように構成される、および
前記第１群内の低レベルマッチラインの少なくとも１つが前記第１群内の低レベルマッチラインと関連するイネーブル情報に応答して前記前評価状態に戻されるのを防止するように構成されたマッチライン連結回路、ここにおいて、前記マッチライン連結回路はさらに、前記第１群内の低レベルマッチラインの少なくとも１つの他の低レベルマッチラインが前記イネーブル情報に応答して前記前評価状態に戻されるのを可能にするように構成される、
を含み、前記マッチライン連結回路は、
前記第１群の関連した低レベルマッチラインに連結された低レベルマッチラインプリチャージ回路、
前記低レベルマッチラインプリチャージ回路に連結されたインバータ回路、
前記上位レベルマッチラインに連結された上位レベルマッチラインプリチャージ回路、
前記上位レベルマッチラインに連結された上位レベルマッチライン評価回路、
を含む、
装置。
【請求項１３】
マッチライン回復回路およびマッチライン切離し回路をさらに備える請求項１２に記載の装置。
【請求項１４】
前記マッチライン回復回路は、マッチラインプリチャージングを防止することによって、前記第１群内の低レベルマッチラインと関連するイネーブル情報に反応して前記第１群内の低レベルマッチラインの少なくとも１つが前記前評価状態に戻されるのを防止するように構成される、請求項１３記載の装置。
【請求項１５】
前記マッチライン回復回路は、マッチラインプリディスチャージングを防止することによって、前記第１群内の低レベルマッチラインと関連するイネーブル情報に反応して前記第１群内の低レベルマッチラインの少なくとも１つが前記前評価状態に戻されるのを防止するように構成される、請求項１３記載の装置。
【請求項１６】
前記マッチライン回復回路は、それぞれ、前記低レベルマッチラインプリチャージ回路および前記インバータ回路のソースノードと電圧源との間で連結された第１のトランジスタを含む、請求項１３に記載の装置。
【請求項１７】
前記マッチライン切離し回路は、前記上位レベルマッチライン評価回路のゲート入力に連結された第２のトランジスタを含み、前記第１のトランジスタのゲート入力と前記第２のトランジスタのゲート入力は各々イネーブル信号に連結される、請求項１６に記載の装置。
【請求項１８】
前記マッチライン切離し回路は、前記第１群内の低レベルマッチラインのうち１つまたはそれ以上を、前記第１群内の低レベルマッチラインと関連するイネーブル情報に応じて、前記上位レベルマッチラインから切り離すように構成される、請求項１３記載の装置。
【請求項１９】
前記マッチライン切離し回路は、前記第１群内の低レベルマッチラインの１つまたはそれ以上を、前記イネーブル情報に応じて、前記第１群内の低レベルマッチラインの個々のものが前記上位レベルマッチラインの前記前評価状態に影響を及ぼすのを防止することによって、前記上位レベルマッチラインから切り離すように構成される、請求項１８記載の装置。
【請求項２０】
前記マッチライン切離し回路は、前記第１群内の低レベルマッチラインの個々のものが前記上位レベルマッチラインをディスチャージするのを防ぐことによって、前記第１群内の低レベルマッチラインの個々のものが前記上位レベルマッチラインの前記前評価状態に影響を及ぼすのを防止するように構成される、請求項１９記載の装置。
【請求項２１】
マルチ−レベル階層的連想メモリ（ＣＡＭ）回路内に含まれた１つまたはそれ以上の連想メモリ（ＣＡＭ）マッチラインに関連するイネーブル情報を取得することと、
前記１つまたはそれ以上のＣＡＭマッチラインの少なくとも１つが前記イネーブル情報に応答して前評価状態に戻されることを防止することと、
前記少なくとも１つのＣＡＭマッチラインが前記イネーブル情報に応答して高レベルＣＡＭマッチラインの前評価状態に影響を及ぼすのを防止することと、ここにおいて、前記高レベルＣＡＭマッチラインは前記１つまたはそれ以上のＣＡＭマッチラインに対応する、および、
前記１つまたはそれ以上のＣＡＭマッチラインの少なくとも１つの他のＣＡＭマッチラインが前記イネーブル情報に応答して前記前評価状態に戻されるのを可能にすることと、
を含む方法。
【請求項２２】
前記少なくとも１つのＣＡＭマッチラインが前記前評価状態に戻されることを防止することは、前記少なくとも１つのＣＡＭマッチラインのマッチラインプリチャージングを防止することを含む、請求項２１記載の方法。
【請求項２３】
前記少なくとも１つのＣＡＭマッチラインが前記前評価状態に戻されることを防止することは、前記少なくとも１つのＣＡＭマッチラインのマッチラインプリディスチャージングを防止することを含む、請求項２１記載の方法。
【請求項２４】
前記少なくとも１つのＣＡＭマッチラインが前記前評価状態に戻されることを防止することは、前記少なくとも１つのＣＡＭマッチラインを前記前評価状態に戻すように構成された回路をディスエーブリングすることを含む、請求項２１記載の方法。
【請求項２５】
前記前評価状態に戻されることを防止された前記少なくとも１つのＣＡＭマッチラインは、ローカルＣＡＭマッチラインおよび中間ＣＡＭマッチラインのうちの１つを含む、請求項２１記載の方法。
【請求項２６】
前記少なくとも１つのＣＡＭマッチラインが前記高レベルＣＡＭマッチラインの前記前評価状態に影響を及ぼすのを防止することは、前記高レベルＣＡＭマッチラインから前記少なくとも１つのＣＡＭマッチラインを切り離すように構成された回路をイネーブリングすることを含む、請求項２１記載の方法。
【請求項２７】
前記高レベルＣＡＭマッチラインは、中間ＣＡＭマッチラインおよびグローバルＣＡＭマッチラインのうちの１つを含む、請求項２１記載の方法。
【請求項２８】
前記イネーブル情報は、前記１つまたはそれ以上のＣＡＭマッチラインに関連するサーチ結果が使用されるべきかどうかを示す１つまたはそれ以上のビットを含む、請求項２１記載の方法。
【請求項２９】
前記イネーブル情報を取得し、および前記１つまたはそれ以上のＣＡＭマッチラインの少なくとも１つが前評価状態に戻されることを防止することはプロセッサにおいて実行される、請求項２１に記載の方法。
【請求項３０】
前記ＣＡＭ回路は電子デバイスに統合される、請求項２９に記載の方法。
【請求項３１】
前記イネーブル情報は、ＣＡＭ回路エントリに基づいて決定される、請求項２１に記載の方法。
【請求項３２】
前記イネーブル情報は、前記ＣＡＭ回路エントリの有効性に基づいて決定される、請求項３１に記載の方法。
【請求項３３】
前記ＣＡＭ回路エントリの有効性は、前評価期間中に決定される、請求項３２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［発明の分野］
本発明は一般に連想メモリ（ＣＡＭ；Content Addressable Memory）に関し、そしてより詳しくはＣＡＭ性能に悪影響を与えること無しにＣＡＭ電力消費を減少させることに関する。
【背景技術】
【０００２】
［関連する背景］
ランダムアクセスメモリ（ＲＡＭ）がこのＲＡＭに供給されたアドレスに蓄積されたデータワードを戻すのと違って、連想メモリ（ＣＡＭ）はこのＣＡＭへのサーチワード入力にマッチするデータパターンについてその全体のメモリを調べる。もしこのデータパターンが見つかると、ＣＡＭはこのワードが見つけられた１つまたはそれ以上の蓄積アドレスのリストを戻す。いくつかのＣＡＭでは、データワードまたは他の関連データも戻される。したがって、ＣＡＭはしばしば連想配列（associative array）を使用される。
【０００３】
ＣＡＭは複数のエントリを備え、各エントリはデータを蓄積するように構成された多数のＣＡＭセルを有する。ＣＡＭセルは（バイナリデータを蓄積する）バイナリ、あるいは（バイナリデータまたは「出力には影響のない状態（don,t care state）」を蓄積する）ターナリ（ternary）であってもよい。各ＣＡＭセルはマッチライン(match line)に連結される。ＣＡＭサーチ動作の間中、サーチフィールドはＣＡＭに提供される。サーチフィールド入力に応じて、各マッチラインはそれぞれのＣＡＭセルがある部分のサーチフィールドにマッチするデータを含むかどうかを示す。サーチ動作が完了した後、マッチラインは次のサーチの間中ＣＡＭ性能を改善するために慣例的に前評価状態（pre-evaluation state）に戻される。例えば、マッチラインは前評価周期の間中慣例的に論理１値に高くプリチャージされる。
【０００４】
次のＣＡＭサーチ動作の間中、マッチングデータを含まないＣＡＭセルに関連するマッチラインはディスチャージされる。マッチングデータを蓄積するＣＡＭセルに連結されたこれらのマッチラインのみは高くチャージされたままである。そのように、１エントリに関連する１つのＣＡＭセルのみはミスマッチのデータパターン含んでいるとして識別されるようにこのエントリに関するミスマッチングデータを含む必要がある。これはミス(miss)と呼ばれる。反対に、もしも１エントリ内の各セルがマッチを生ずれば、このエントリは１マッチングパターンを含んでいるとして識別され、これはヒット(hit)と呼ばれる。
【０００５】
いくつかの従来のＣＡＭはマッチライン上の容量性負荷を減少させるための複数レベルの階層的なマッチラインを含み、それはＣＡＭ性能および電力消費に影響を及ぼす。そのようなマルチ−レベル階層的ＣＡＭ（multi-level hierarchical CAM）では、１群のＣＡＭセルを取り扱っているローカルマッチライン（local match line）は単一のグローバルマッチライン（global match line）に連結される。１つまたはそれ以上のローカルマッチラインによって示されたミスマッチは対応するグローバルマッチラインによって表される。そのように、もしもその対応するローカルマッチラインの１つがミスを示すならばグローバルマッチラインはミスを示す。反対に、もしもその対応するローカルマッチラインのすべてがヒットを示すならばグローバルマッチラインはヒットを示す。ＣＡＭサイズ次第で、マッチラインの１つまたはそれ以上の中間レベルは容量性負荷をさらに減少させるためにローカルマッチラインおよび対応するグローバルマッチラインの間に含まれてもよい。
【０００６】
特定のＣＡＭ構造にかかわらず、ＣＡＭサーチ結果を処理するいくつかのアプリケーションはサブセットのＣＡＭエントリについてのサーチ結果を必要とするだけかもしれない。例えば、いくつかのアプリケーションはこのエントリの他の部分に関連するサーチ結果を使用している一方で、特定のＣＡＭエントリのある部分についてのヒット／ミスサーチ結果を捨てるかまたは無視することができる。特定のＣＡＭセルについてのヒット／ミスサーチ結果を無視することに関する１つの従来のアプローチは、興味のないＣＡＭセルをそれらのそれぞれのマッチラインから分離することである。例えば、トランジスタ装置がＣＡＭセルの出力ノードとそれのそれぞれのマッチラインとの間に直列に並べられてもよい。トランジスタがスイッチオフされる時には、ＣＡＭセルはそれのマッチラインから切り離される。そのように、ＣＡＭセルの内容はＣＡＭセルのマッチラインの状態に影響を及ぼさない。すなわち、マッチラインは、それの対応するＣＡＭセルがマッチングデータを含むか否かには関係なく、それの前評価状態、例えば高くプリチャージされた状態にとどまる。しかしながら、たとえＣＡＭセルが無視されるであろうことに関連するサーチ結果だとしても、前評価期間中はこのＣＡＭセルのマッチラインをプリチャージすることに電力が使用される。さらに、ゲーチングトランジスタがスイッチオンされる時には、このトランジスタはＣＡＭセルの出力ノードをこのマッチラインに連結する。そのような構成はＣＡＭセルの出力ノードに追加のキャパシタンスを付加し、従ってマッチライン動作を遅らせ、そして追加の電力を消費する。
【０００７】
マルチ−レベル階層的ＣＡＭにおいて特定のサーチ結果を無視することに関するもう１つの従来のアプローチは興味のないローカルマッチラインと関連するグローバルマッチラインイネーブル回路をディスエーブル（disable）にすることである。例えば、プリチャージされたグローバルマッチラインがディスチャージされてもよいかどうかを制御するクロック信号はイネーブル信号によってゲートされる。もしクロック信号がディスエーブルにされれば、グローバルマッチラインはそれに連結されたローカルマッチラインの状態に関係なくそれのプリチャージされた状態のままである。結果として、ＣＡＭ評価期間中はイネーブルされるグローバルマッチラインのみがそれらの対応するローカルマッチラインの状態によって影響を及ぼされる。電力はなおグローバルマッチラインイネーブル回路がディスエーブルにされる時に対応するグローバルおよびローカルマッチラインをプリチャージして消費される。
【発明の概要】
【０００８】
［開示の概要］
この中で教えられた方法および装置によれば、マルチ−レベル階層的連想メモリ（ＣＡＭ）回路はＣＡＭ動作に悪影響を及ぼすこと無しに電力消費を減少させるためのマッチライン連結回路(match line coupling circuitry)を含む。マッチライン連結回路は前評価状態に興味のないＣＡＭマッチラインの回復（restoration）を防ぐことによって、例えば、マッチラインプリチャージング（match line pre-charging）を防ぐことによって電力消費を減少させる。したがって、ＣＡＭアクセスサイクルの前評価期間中は、興味のあるそれらのマッチラインのみがそれらの前評価状態に戻される。
【０００９】
マッチライン連結回路によって受信されたかさもなければ取得されたイネーブル情報はどちらのマッチラインに興味がないかを示す。１つの実施形態では、イネーブル情報はどちらのマッチラインに興味がないかを直接に示す。もう１つの実施形態では、イネーブル情報はどちらのマッチラインに興味がないかを、例えば、興味のあるマッチラインを識別することによって、間接に示す。にかかわらず、イネーブル情報はどちらの特定のＣＡＭマッチラインに興味があるか無いかを示すのにふさわしい任意の情報、例えば、関心／無関心インジケータ(care/don’t’ care indicator)、１つまたはそれ以上のマスキングビット(masking bit)、１つまたはそれ以上の有効／無効ビット(valid/invalid bit)等を具備してもよい。
【００１０】
あるマッチラインの回復を防ぎ、そしてそれによって電力を節約することのほかに、マッチライン連結回路はまた対応する高レベルマッチラインを興味がないとして識別されたマッチラインから切り離す。これは、特定の低レベルマッチラインが上記電力節約動作の一部としてそれらの前評価状態に戻されない時に予想できない動作を防ぐ。
【００１１】
マルチ−レベル階層的ＣＡＭ回路内の電力消費を減少させるための１つの実施形態によれば、マルチ−レベル階層的ＣＡＭ回路内に含まれた１つまたはそれ以上のＣＡＭマッチラインと関連するイネーブル情報が取得される。ＣＡＭマッチラインの個々のものはイネーブル情報に反応して前評価状態に戻されるのを防がれる。マルチ−レベル階層的ＣＡＭ回路の１実施形態によれば、ＣＡＭ回路は複数の低レベルマッチライン、複数の高レベルマッチラインおよびマッチライン回復回路（match line restoration circuitry）を具備する。低レベルマッチラインは、前評価期間中は前評価状態に戻されるように構成される。高レベルマッチラインは、評価期間中は１つまたはそれ以上の低レベルマッチラインのそれぞれのグループの評価状態を獲得するようにそして前評価期間中は前評価状態に戻されるように構成される。マッチライン回復回路は少なくとも１つの低レベルマッチラインが対応するイネーブル情報に反応して前評価状態に戻されるのを防ぐように構成され、そのようにここでマッチラインは無関心の（マスクされた）(don’t care (masked))または無効の内容に相当すると認められる。
【００１２】
マルチ−レベル階層的ＣＡＭ回路はキャッシュおよびバッファのようないろいろな種類のメモリ装置内に含まれるかまたはそれに結合されてもよい。トランスレーションルックアサイドバッファ（ＴＬＢ;Translation Look aside Buffer）の１つの実施形態によれば、ＴＬＢは複数のエントリおよび対応するマッチラインを有するマルチ−レベル階層的ＣＡＭ回路を具備する。マルチ−レベル階層的ＣＡＭ回路はこのエントリに関連するイネーブル情報を蓄積するように、そしてバーチャルメモリアドレスを対応する物理メモリアドレスに変換するように構成される。本ＴＬＢ環境内のイネーブル情報はＴＬＢエントリの有効性を示す１つまたはそれ以上のビットに対応する。マルチ−レベル階層的ＣＡＭ回路はマッチラインの個々のものがイネーブル情報に反応して前評価状態に戻されるのを防ぐように構成される。
【００１３】
もちろん、本発明は上記特徴および利点に限定されない。この分野の技術者は以下の詳細な説明を読んで、そして添付図面を見て、追加の特徴および利点を認めるであろう。
【図面の簡単な説明】
【００１４】
【図１】電力消費を減少させるマッチライン連結回路を有するマルチ−レベルの階層的な連想メモリ（ＣＡＭ）回路の１実施形態を示す部分ブロック図。
【図２】マルチ−レベル階層的ＣＡＭ回路内の電力消費を減少させるためのプログラム論理の１実施形態を示す論理フロー図。
【図３】マルチ−レベル階層的ＣＡＭ内に含まれたマッチライン連結回路の１つの実施形態を示すブロック図。
【図４】ＣＡＭマッチライン連結回路を含むマイクロプロセッサの１実施形態を示すブロック図。
【図５】マルチ−レベル階層的ＣＡＭ内に含まれたマッチライン連結回路のもう１つの実施形態を示すブロック図。
【発明を実施するための形態】
【００１５】
［詳細な説明］
図１は連想メモリ（ＣＡＭ）動作の間中電力消費を減少させるマルチ−レベル階層的ＣＡＭ回路１０の１実施形態を部分的に示す。ＣＡＭ回路１０はデータを蓄積するためのバイナリまたはターナリＣＡＭセルのような複数のメモリセル１２を有する。ＣＡＭセル１２はグループ１４内に配列される。グループ１４内の各ＣＡＭセル１２はローカルマッチライン（ＬＭＬ）に連結される。ＣＡＭ回路１０内に含まれた回路１６は関連のＬＭＬを高レベルマッチラインに連結し、例えば、図１ではＬＭＬ０乃至ＬＭＬｎはグローバルマッチライン（ＧＭＬ０）に連結される。１つの実施形態では、関連のＬＭＬはマッチライン連結回路１６によりＧＭＬに直接に連結される。この実施形態によれば、ＣＡＭ回路１０は２つの階層的なレベルのマッチライン（ローカルおよびグローバルマッチライン）を具備する。もう１つの実施形態では、関連のＬＭＬは中間マッチライン（ＩＭＬ；Intermediary Match Line）に連結される。関連のＩＭＬはその後対応するＧＭＬに直接または間接に連結される。この実施形態によれば、ＣＡＭ回路１０は２つ以上の階層的なレベルのマッチライン（複数ＬＭＬ、少なくとも１つのＩＭＬ、および複数ＧＭＬ）を具備する。
【００１６】
マッチラインレベルの数にかかわらず、マッチライン連結回路１６はマッチライン回復回路１８およびマッチライン切離し回路２０を具備する。説明を楽にするだけのために、マッチライン連結回路１６がＬＭＬをＧＭＬに連結することに関して次に記述される。しかしながら、この分野の技術者はこの中に記述された連結回路１６が任意の階層的な低レベルのマッチラインを高レベルのマッチラインに連結してもよいことをすぐに認めるであろう。
【００１７】
これを心に置いて、マッチライン回復回路１８は特定のＬＭＬがＣＡＭサーチ動作の後に前評価状態に戻されるべきかどうかを決定する。すなわち、すべてとは限らないＬＭＬは特定のＣＡＭサーチ動作の間中興味があるかもしれない。例えば、この内容の１つまたはそれ以上のＣＡＭエントリ（図示せず）あるいはＣＡＭエントリの部分は評価の間中無効としてマークされるかまたはマスクされてもよい。これらのエントリまたは部分的なエントリに相当するＬＭＬは興味がない。興味がないＬＭＬによって供給されたサーチ結果はＣＡＭサーチ動作の間中慣例的に無視されるかまたは捨てられる。例えば、各ＣＡＭエントリと関連する１つまたはそれ以上の有効あるいはマスキングビットは、どのＬＭＬは興味がないかを示すためのマッチライン回復回路１８に供給される。１つの実施形態では、イネーブル情報は、どのマッチラインは興味がないかを直接に示す。もう１つの実施形態では、イネーブル情報は、例えば、興味のあるマッチラインを識別することによって、どのマッチラインは興味がないかを間接に示す。それでも、マッチライン回復回路１８はＣＡＭサーチ動作の間中無視されるであろうマッチラインを識別するためにイネーブル情報を使用する。
【００１８】
もし特定のマッチライン回復回路１８がそれの対応するＬＭＬは興味がないことを決定すれば、それはこのＬＭＬを本質的にディスエーブルにして、これらのＬＭＬが前評価状態に戻されるのを防ぐ。１つの実施形態では、マッチライン回復回路１８はＬＭＬがプリチャージされるのを防ぐ。もう１つの実施形態では、マッチライン回復回路１８はＬＭＬがプリディスチャージ（pre-discharge）されるのを防ぐ。これらのＬＭＬに関連するサーチ結果は興味がないので、前評価状態へのそれらの回復がＣＡＭ回路１０の動作に悪影響を及ぼさずに電力消費を減少させるのを防ぐ。マッチライン回復回路１８によって使用されたイネーブル情報は、例えば、ＣＡＭ回路１０内の各エントリ内に含まれた１つまたはそれ以上の有効ビットとしてＣＡＭ回路１０内に蓄積されてもよく、あるいはＣＡＭ回路１０に供給されてもよい。
【００１９】
イネーブル情報はまたマッチライン切離し回路２０によっても使用される。マッチライン切離し回路２０は興味のないＬＭＬがそれらの対応するＧＭＬに影響を及ぼすのを防ぐためにイネーブル情報を使用する。興味のないＬＭＬをそれのＧＭＬから切り離すことはそのＧＭＬの状態に影響を及ぼさないであろうことを保証する。その代わりとして、このＧＭＬに連結されたイネーブルドＬＭＬだけが、例えば、それをディスチャージすることによって、このＧＭＬの状態に影響を及ぼすことができる。これは電力消費を減少させる一方で不安定なＣＡＭ回路１０の動作を防ぐ。
【００２０】
１つの実施形態では、マッチライン切離し回路２０はマッチライン回復回路１８によってディスエーブルにされた１群のＬＭＬが、それらが連結されるＧＭＬの状態に影響を及ぼすのを防ぐ。もしイネーブル情報が特定のＧＭＬと関連する一群のＬＭＬはＣＡＭサーチ動作の間中無視されるべきであることを示すならば、その時マッチライン切離し回路２０はこの群のＬＭＬをこのＧＭＬから切り離す。そのように、マッチライン切離し回路２０は、このＬＭＬは興味がない時には、個々の群のＬＭＬが対応するＧＭＬの状態に影響を及ぼすのを防ぐ。
【００２１】
下記はマッチライン回復および切離し回路１８，２０がＣＡＭサーチ動作の間中どのように機能するかを説明するための図１に示されたＣＡＭ回路１０に基づいた非限定の例である。ＣＡＭサーチ動作の前評価期間の間中、ＣＡＭ回路１０は、図２のステップ１００によって図示されたように、マッチラインイネーブル情報を取得する。１つの実施形態では、ＣＡＭ回路１０はこのエントリの有効性を示す対応する有効ビットを取得するためにＣＡＭ回路１０の各エントリ内の位置をアクセスする。本例では、イネーブル情報はＬＭＬ１を除いてすべてのＬＭＬは興味があることを示す。イネーブル情報に基づいて、ＬＭＬ１と関連するマッチライン回復回路１８は、図２のステップ１０２によって図示されたように、他のマッチライン回復回路１８がそれらの対応するＬＭＬの回復を可能にする一方でそれの前評価状態に戻されるのを防ぐ。さらに、ＬＭＬ１と関連するマッチライン切離し回路２０はＬＭＬ１が次の評価期間中ＧＭＬ０の状態に影響を及ぼすのを防ぐ。したがって、ＧＭＬ０の状態はＬＭＬ１を除いて各ＬＭＬによって影響を及ぼされるかもしれない。
【００２２】
図３はＣＡＭ１０内に含まれたマッチライン連結回路１６の１つの実施形態を示す。マッチライン連結回路１６はＬＭＬプリチャージ回路（ｐ−ＦＥＴ  Ｔ１）、インバータ（ｐ−ＦＥＴ  Ｔ２およびｎ−ＦＥＴ  Ｔ３）、ＧＭＬプリチャージ回路（ｐ−ＦＥＴ  Ｔ４）、およびＧＭＬ評価回路（ｎ−ＦＥＴ  Ｔ５およびＴ６）を含む。マッチライン連結回路１６はまたマッチライン回復および切離し回路１８，２０も含む。この実施形態によれば、マッチライン回復回路１８はＬＭＬプリチャージ回路およびインバータの電圧源（Ｖｄｄ）とソースノードとの間に連結されたｐ−ＦＥＴトランジスタ（Ｔ７）を具備する。マッチライン切離し回路２０はＧＭＬ評価回路の１つのゲート入力に連結されたｎ−ＦＥＴトランジスタ（Ｔ８）を具備する。マッチライン回復および切離し回路１８，２０のゲートはイネーブル信号（ＬＭＬ ＥＮＡＢＬＥ）によって制御される。
【００２３】
イネーブル信号は、ＬＭＬは興味があるかまたはないかを示す。イネーブル信号が論理１である時は、それはＬＭＬのプリチャージングをディスエーブルにさせ、そしてこのＬＭＬをそれのＧＭＬから切り離させる。詳しくは、もしイネーブル信号がこのＬＭＬと関連するサーチ結果に興味があることを示せば、マッチライン回復回路１８は活性化される（例えば、ｐ−ＦＥＴトランジスタＴ７がスイッチオンされる）。活性化された時には、マッチライン回復回路１８はそれらのそれぞれのソースノードを論理値１（Ｖｄｄ）にチャージすることによってＬＭＬプリチャージ回路およびインバータをイネーブルにする。これは前評価期間の間中アクティブな回復信号（ＲＥＳＴＯＲＥ）に応じてＬＭＬを論理値１にプリチャージするためにＬＭＬプリチャージ回路をイネーブルにする。いくつかの従来の回路技術と違って、マッチライン回復回路１８は活性化された時にＣＡＭ回路１０の性能に悪影響を与えない。詳しくは、マッチライン回復回路は、活性化された時にＬＭＬに連結されたＣＡＭセル（図示せず）の出力ノードに追加の容量を付加しない。マッチライン回復回路１８はＬＭＬをＣＡＭセルの出力ノードに接続するアクティブな信号パス内に配置されないので、追加の容量負荷は無いという結果になる。
【００２４】
ＬＭＬは興味がある時には、イネーブル信号もマッチライン切離し回路２０を不活性化させる（例えば、ｎ−ＦＥＴトランジスタＴ８がスイッチオフされる）。マッチライン切離し回路２０が不活性化される時には、ＧＭＬの状態はＬＭＬによって影響を及ぼされる。結果として、ＧＭＬ評価回路のｎ−ＦＥＴトランジスタＴ６がイネーブルにされたクロック信号（ＧＭＬ ＣＬＫ）に応じて活性化される時には、ＬＭＬの状態はＧＭＬ評価回路のｎ−ＦＥＴトランジスタＴ５がスイッチオンまたはオフのどちらをされるかを制御する。もしｎ−ＦＥＴトランジスタＴ５がスイッチオンされれば、ＧＭＬは地気にディスチャージする。反対に、ｎ−ＦＥＴトランジスタＴ５がスイッチオフされる時にはＬＭＬの状態に関係なく、ＧＭＬはＬＭＬによって影響を受けないままである。結果として、不活性化した時にはマッチライン切離し回路２０はＧＭＬ状態に影響を及ぼさない。その代わりとして、ＧＭＬの状態はイネーブルにされたＬＭＬのみのそれを反映する。
【００２５】
もしＬＭＬは興味がなければ、マッチライン回復回路１８は不活性化される（例えば、ｐ−ＦＥＴトランジスタＴ７がスイッチオフされる）。不活性化された時に、マッチライン回復回路１８はＬＭＬプリチャージ回路およびインバータのソースノードを電源から切り離す。ＬＭＬプリチャージ回路は電源がそれのソースノードからはずされる時にはＬＭＬをプリチャージすることはできない、したがって不必要な電力消費を減少させる。さらに、マッチライン回復回路１８が不活性化される時にはＬＭＬはディスエーブルにされる。
【００２６】
さらに、イネーブル信号は、ＬＭＬがディスエーブルにされる時にマッチライン切離し回路２０を活性化させる。マッチライン切離し回路２０はＧＭＬ評価回路のｎ−ＦＥＴトランジスタＴ５へのゲート入力を低論理値（ＶＳＳ）に決定する。ｎ−ＦＥＴトランジスタＴ５のゲート入力が低い時は、ＬＭＬの状態はＧＭＬのそれに影響を及ぼさず、したがって、ＬＭＬはそれのＧＭＬから切り離される。詳しくは、ｎ−ＦＥＴトランジスタＴ５はそれのゲート入力が低い時には十分な電流を処理することができない。そのように、以前の非評価期間の間中プリチャージされていたＧＭＬは、ＬＭＬの状態にかかわらずこの特定のＧＭＬ評価回路によってディスチャージされることはできない。活性化された時に、マッチライン切離し回路２０はまた、ＧＭＬ評価回路のｎ−ＦＥＴトランジスタＴ５のゲート入力を引き下げることによってＣＡＭ回路１０による予想できない動作も防ぐ。もしｎ−ＦＥＴトランジスタＴ５のゲート入力が引き下げられなければ、インバータの出力ノード（ｌｍｌ ｓｎｓ）はＧＭＬ状態に悪影響を及ぼすかもしれない。例えば、ＧＭＬのインバータの出力ノードは、その電源がそれのソースノードから戻された時に浮くかまたはさもなければ予想できない動作をするかもしれない。マッチライン切離し回路２０は、ＬＭＬが興味のない時にこのＬＭＬがＧＭＬの状態に影響を及ぼすのを防ぐことによってそのような時々起こる動作がこのＧＭＬに悪影響を及ぼすのを防ぐ。
【００２７】
マッチライン回復および切離し回路１８，２０はキャッシュおよびバッファのようないろいろな種類のメモリ装置内に含まれるかまたはそれと結合されてもよい。図４はマッチライン回復および切離し回路１８，２０の１つまたはそれ以上の事例を含むＣＡＭまたはＣＡＭのような回路を有するマイクロプロセッサ３０の１つの実施形態を示す。もっと詳細に、マイクロプロセッサ３０は命令ユニット３２、１つまたはそれ以上の実行ユニット３４、バスインターフェイスユニット３６、データキャッシュ３８、命令キャッシュ４０および高レベル（Ｌ２）キャッシュ４２を含む。命令ユニット３２は実行ユニット３４への命令フローの集中制御を提供する。実行ユニット３４は命令ユニット３２によって発送された命令を実行する。バスインターフェイスユニット３６はマイクロプロセッサ３０へのおよびからのデータ、命令、アドレス、および制御信号を転送するための機構を提供する。データおよび命令キャッシュ３８，４０は、それぞれ、データおよび命令を蓄積する。Ｌ２キャッシュ４２はデータおよび命令キャッシュ３８，４０とマイクロプロセッサ３０外部のメモリ（図示せず）との間に高速メモリバッファを供給する。
【００２８】
キャッシュ３８，４０および４２はキャッシュアクセス動作の間中アドレス変換を行うためのそれぞれのトランスレーションルックアサイドバッファ（ＴＬＢ）４４，４６および４８を有する。各ＴＬＢ４４，４６および４８は１つまたはそれ以上の実例のマッチライン回復および切離し回路１８，２０を有する。あるいは、統合されたＴＬＢ（図示せず）がキャッシュ３８，４０および４２のためのアドレス変換を行ってもよい。それでも、ＴＬＢ４４，４６および４８はＣＡＭベースであり、その中では興味のあるバーチャルアドレスがＴＬＢ４４，４６および４８に供給され、そしてＴＬＢ４４，４６および４８は応答として対応するヒットまたはミスの結果をもたらす。ヒットの場合には、物理アドレスがバーチャルアドレスサーチフィールドに対応して生成される。ミスの場合には、ページテーブル変換が起こる。
【００２９】
ＴＬＢ４４，４６および４８はバーチャルアドレスの物理アドレスへの変換用の情報を含むエントリ（図示せず）を有する。１つの実施形態では、各ＴＬＢエントリはバーチャルアドレスフィールド、対応する物理アドレスフィールドおよび有効ビットを具備する。もしバーチャルアドレスフィールドがＴＬＢ４４，４６および４８の１つの中のエントリに匹敵すれば、対応する物理アドレスフィールドが出力される。さもなければ、ページテーブルトランザクションが起こる。有効ビットは特定のＴＬＢエントリが有効か否かを決定する。もし無効ならば、エントリ内容はアドレス変換の間中無視されるか捨てられる。ページサイズビットのような他のイネーブルビットはバーチャルアドレスビットの対応する部分がアドレス変換に関与すべきかどうかを決定することができる。
【００３０】
図５はＴＬＢ４４，４６および４８用のマッチライン連結回路の１つの実施形態を図示する。この実施形態によれば、ＴＬＢ４４，４６および４８エントリから検索された有効ビット（ＶＡＬＩＤ）はマッチライン回復および切離し回路１８，２０の動作を制御する。特定のＴＬＢ４４，４６および４８エントリが有効である時には、それの有効ビットは対応するマッチライン回復回路１８をイネーブルにさせる。イネーブルにされた時には、マッチライン回復回路１８は、ＴＬＢサーチ動作の後にそれのＬＭＬを前評価状態に戻す。また、回復回路１８はイネーブルにされた時には対応するＧＭＬをプリチャージするための第２のｐ−ＦＥＴトランジスタ（Ｔ９）を含む。反対に、有効ビットがエントリは無効であることを示す時には、ＬＭＬはそれのＧＭＬから切り離される。
【００３１】
この実施形態によれば、マッチライン切離し回路２０のｎ−ＦＥＴ(Ｔ１０)がＧＭＬインバータ回路（ｐ−ＦＥＴ  Ｔ２およびｎ−ＦＥＴ  Ｔ３）への入力を低論理値（ＶＳＳ）に決定する時には、このＬＭＬはそれのＧＭＬから切り離される。マッチライン切離し回路２０がインバータ入力を低論理状態に決定する時には、ＬＭＬはそれのＧＭＬから効果的に切り離される。即ち、インバータはＬＭＬの状態にかかわりなく論理値１を出力するので、ＬＭＬはもはやＧＭＬの状態に影響を及ぼさない。インバータ入力を低論理状態に決定することによって、それのクロック入力信号（ＧＭＬ ＣＬＫ）がアクティブである時にＧＭＬはディスチャージする。ＧＭＬがディスチャージされる時は、それはミスマッチと理解される。したがって、連結回路１６のこの実施形態はＴＬＢ４４，４６および４８エントリが無効である時に誤ったヒットが処理されるのを防ぐ。あるいは、図３に図示された連結回路１６の実施形態は、無効なＬＭＬの回復を防ぎそして無効なＬＭＬをそれらの対応するＧＭＬから切り離すことのためにＴＬＢ４４，４６および４８内に含まれてもよい。
【００３２】
上記の変動および適用の範囲を心に置いて、本発明が上述の明細書によって限定されず、また添付図面によっても限定されないことは理解されねばならない。そうではなく、本発明は下記のクレームおよびそれらの等価物によってのみ限定される。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］マルチ−レベル階層的連想メモリ（ＣＡＭ）回路において、電力消費を減少させる方法であって、
該マルチ−レベル階層的ＣＡＭ回路内に含まれた１つまたはそれ以上のＣＡＭマッチラインに関連するイネーブル情報を取得し、および
該ＣＡＭマッチラインの個々のものが該イネーブル情報に応答して前評価状態に戻されることを防止する
ことを含む方法。
［Ｃ２］該前評価に戻されることを防止された該ＣＡＭマッチラインの該個々のものは、少なくとも１つのローカルＣＡＭマッチラインおよび中間ＣＡＭマッチラインを含む、Ｃ１記載の方法。
［Ｃ３］該ＣＡＭマッチラインの個々のものが該イネーブル情報に応答して前評価状態に戻されることを防止することは、マッチラインプリチャージングを防止することを含む、Ｃ１記載の方法。
［Ｃ４］該ＣＡＭマッチラインの個々のものが該イネーブル情報に応答して前評価状態に戻されることを防止することは、マッチラインプリディスチャージングを防止することを含む、Ｃ１記載の方法。
［Ｃ５］該ＣＡＭマッチラインの個々のものが該イネーブル情報に応答して前評価状態に戻されることを防止することは、該ＣＡＭマッチラインの該個々のものをそれらのそれぞれの前評価状態に戻すように構成された回路をディスエーブリングすることを含む、Ｃ１記載の方法。
［Ｃ６］該ＣＡＭマッチラインの個々のものが該イネーブル情報に応答して対応する高レベルＣＡＭマッチラインの前評価状態に影響を及ぼすのを防止することをさらに含む、Ｃ１記載の方法。
［Ｃ７］該ＣＡＭマッチラインの個々のものが該イネーブル情報に応答して対応する高レベルＣＡＭマッチラインの前評価状態に影響を及ぼすのを防止することは、それらの対応する高レベルＣＡＭマッチラインから該ＣＡＭマッチラインの個々のものを切り離すように構成された回路をイネーブリングすることを含む、Ｃ６記載の方法。
［Ｃ８］該高レベルＣＡＭマッチラインは、中間ＣＡＭマッチラインおよびグローバルＣＡＭマッチラインの少なくとも１つの含む、Ｃ６記載の方法。
［Ｃ９］該イネーブル情報は、該ＣＡＭマッチラインの個々のものに関連するサーチ結果が使用されるべきかどうかを示す１つまたはそれ以上のビットを含む、Ｃ６記載の方法。
［Ｃ１０］マルチ−レベル階層的連想メモリ（ＣＡＭ）回路であって、
前評価期間中に前評価状態に戻されるように構成された複数の低レベルマッチライン、 評価期間中に１つまたはそれ以上の低レベルマッチラインのそれぞれのグループの評価状態を獲得するように、および該前評価期間中は前評価状態に戻されるように構成された複数の高レベルマッチライン、および
少なくとも１つの該低レベルマッチラインが対応するイネーブル情報に応答して該前評価状態に戻されるのを防止するように構成されたマッチライン回復回路、
を含むマルチ−レベル階層的ＣＡＭ回路。
［Ｃ１１］該マッチライン回復回路は、マッチラインプリチャージングを防止することによって、イネーブル情報に反応して該低レベルマッチラインの少なくとも１つが該前評価状態に戻されるのを防止するように構成される、Ｃ１０記載のマルチ−レベル階層的ＣＡＭ回路。
［Ｃ１２］該マッチライン回復回路は、マッチラインプリディスチャージングを防止することによって、イネーブル情報に反応して該低レベルマッチラインの少なくとも１つが該前評価状態に戻されるのを防止するように構成される、Ｃ１０記載のマルチ−レベル階層的ＣＡＭ回路。
［Ｃ１３］該マッチライン回復回路は、１つまたはそれ以上の中間マッチラインが該イネーブル情報に反応して前評価状態に戻されるのを防止するようにさらに構成されるＣ１０記載のマルチ−レベル階層的ＣＡＭ回路。
［Ｃ１４］該マルチ−レベル階層的ＣＡＭ回路は、１つまたはそれ以上の低レベルマッチラインを、該イネーブル情報に応じて、それらの対応する高レベルマッチラインから切り離すように構成されたマッチライン切離し回路をさらに含む、Ｃ１０記載のマルチ−レベル階層的ＣＡＭ回路。
［Ｃ１５］該マッチライン切離し回路は、１つまたはそれ以上の低レベルマッチラインを、該イネーブル情報に応じて、該低レベルマッチラインの個々のものがそれらの対応する高レベルマッチラインの該前評価状態に影響を及ぼすのを防止することによって、それらの対応する高レベルマッチラインから切り離すように構成される、Ｃ１４記載のマルチ−レベル階層的ＣＡＭ回路。
［Ｃ１６］該マッチライン切離し回路は、該低レベルマッチラインの個々のものがそれらの対応する高レベルマッチラインをディスチャージするのを防ぐことによって、該低レベルマッチラインの個々のものがそれらの対応する高レベルマッチラインの該前評価状態に影響を及ぼすのを防止するように構成される、Ｃ１５記載のマルチ−レベル階層的ＣＡＭ回路。
［Ｃ１７］該マッチライン切離し回路は、１つまたはそれ以上の中間マッチラインを該対応する高レベルマッチラインから切り離すことによって、１つまたはそれ以上の該低レベルマッチラインを、該イネーブル情報に応じて、それらの対応する高レベルマッチラインから切り離すように構成される、Ｃ１４記載のマルチ−レベル階層的ＣＡＭ回路。
［Ｃ１８］該イネーブル情報は、該ＣＡＭマッチラインの個々のものに関連するサーチ結果が使用されるべきであるかどうかを示す１つまたはそれ以上のビットを含む、Ｃ１４記載のマルチ−レベル階層的ＣＡＭ回路。
［Ｃ１９］該複数の低レベルマッチラインはローカルマッチラインを含み、そして該複数の高レベルマッチラインはグローバルマッチラインを含む、Ｃ１０記載のマルチ−レベル階層的ＣＡＭ回路。
［Ｃ２０］Ｃ１０に記載の該マルチ−レベル階層的ＣＡＭ回路を含むマイクロプロセッサ。
［Ｃ２１］トランスレーションルックアサイドバッファ（ＴＬＢ）回路であって、
複数のエントリおよび対応するマッチラインを有するマルチ−レベルの階層的連想メモリ（ＣＡＭ）回路を含み、該マルチ−レベルの階層的ＣＡＭ回路は、該エントリに関連するイネーブル情報を蓄積するよう、バーチャルメモリアドレスを対応する物理メモリアドレスに変換するように、および該マッチラインの個々のものが該イネーブル情報に反応して前評価状態に戻されるのを防止するように構成されている、ＴＬＢ回路。
［Ｃ２２］該マルチ−レベル階層的ＣＡＭ回路は、該マッチラインを戻すように構成された該マルチ−レベル階層的ＣＡＭ回路内に含まれた回路をディスエーブリングすることによって該マッチラインの個々のものが該イネーブル情報に反応して前評価状態に戻されるのを防止するように構成される、Ｃ２１記載のＴＬＢ回路。
［Ｃ２３］該マルチ−レベル階層的ＣＡＭ回路は、該マッチラインの個々のものを、該イネーブル情報に応じて、対応する高レベルマッチラインから切り離すようにさらに構成される、Ｃ２１記載のＴＬＢ回路。
［Ｃ２４］該マルチ−レベル階層的ＣＡＭ回路は、該マッチラインの個々のものを、該イネーブル情報に応じて、該マッチラインの個々のものがそれらの対応する高レベルマッチラインの前評価状態に影響を及ぼすのを防止するように構成された該マルチ−レベル階層的ＣＡＭ回路内に含まれた回路をイネーブリングすることによって、それらの対応する高レベルマッチラインから切り離すように構成される、Ｃ２３記載のＴＬＢ回路。
［Ｃ２５］該マルチ−レベル階層的ＣＡＭ回路は、該イネーブル情報に応じて、該高レベルマッチラインの個々のものを対応する低レベルマッチラインの状態に関係なくディスチャージすることによって、該マッチラインの個々のものを対応する高レベルマッチラインから切り離すように構成される、Ｃ２３記載のＴＬＢ回路。
［Ｃ２６］Ｃ２１に記載の該ＴＬＢ回路を含むマイクロプロセッサ。
【図１】
0005507644.tif 000002
【図２】
0005507644.tif 000003
【図３】
0005507644.tif 000004
【図４】
0005507644.tif 000005
【図５】
0005507644.tif 000006