(57)【特許請求の範囲】
【請求項１】
メモリにアクセスしてメモリアクセス要求を満足させる方法であって、
変換索引バッファにおいてメモリアクセス要求のための仮想アドレスを受信するステップと、
前記仮想アドレスと前記変換索引バッファの一つのエントリの第１のビットグループを比較するステップと、
前記仮想アドレスと前記第１のビットグループについて合致があるか否かを示す第１のローカルマッチ信号を生成するステップと、
前記仮想アドレスと前記変換索引バッファの前記一つのエントリの第２のビットグループを比較するステップと、
前記仮想アドレスと前記第２のビットグループについて合致があるか否かを示す第２のローカルマッチ信号を生成するステップと、
前記変換索引バッファの前記一つのエントリについて、少なくとも前記第１および第２のローカルマッチ信号に基づいて、前記仮想アドレスとの合致があるか否かを示すグローバルマッチ信号を生成するステップと、
前記グローバルマッチ信号が前記一つのエントリについて合致があることを示す場合、前記エントリによって示されたメモリの物理アドレスにアクセスするステップと、
複数のグローバルマッチ信号のうち少なくとも１つがその対応するエントリについて合致が無いことを示すことに基づいて、前記複数のグローバルマッチ信号の評価をトリガするステップと、
を含む、メモリアクセス方法。
【請求項２】
（ａ）メモリアクセス要求のための仮想アドレスを、該メモリアクセス要求を満足させることができるメモリの適切な物理アドレスに変換する変換索引バッファであって、該変換索引バッファの一つのエントリの第１および第２のビットグループと受け取った仮想アドレスの対応するビットとを比較する手段を含み、この比較手段が、
（ａ１）前記変換索引バッファの前記一つのエントリの前記第１および第２のビットグループが前記受け取った仮想アドレスの対応するビットと合致するか否かをそれぞれ示す第１および第２のローカルマッチ信号を第１および第２のローカルマッチライン上に生成する手段と、
（ａ２）前記エントリが前記受けとった仮想アドレスと合致するか否かを示すグローバルマッチ信号を前記変換索引バッファの前記エントリ用のグローバルマッチライン上に生成する手段と、を含む、変換索引バッファと、
（ｂ）前記グローバルマッチ信号が前記エントリについて合致がないことを示すとき、隣接するグローバルマッチラインに関連する別のグローバルマッチ信号の評価をトリガする手段と、
を備える集積回路。
【請求項３】
命令を実行する少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサによりアクセス可能であり、アクセス要求命令を満足させるメモリと、
メモリアクセス要求のための仮想アドレスを受け取り、該仮想アドレスを前記メモリアクセス要求を満足させることができる前記メモリの適当な物理アドレスに変換する変換索引バッファと、を備えるシステムであって、
前記変換索引バッファは、
複数のエントリを備え、
前記複数のエントリの各エントリは少なくとも第１のビット回路グループと第２のビット回路グループからなり、
前記第１のビット回路グループの各ビット回路は、前記第１のビット回路グループに対応する各ビットが、受信した仮想アドレスの各対応するビットに合致するか否かを第１のローカルマッチライン上に示すように、第１のローカルマッチラインに連結され、
前記第２のビット回路グループの各ビット回路は、前記第２のビット回路グループに対応する各ビットが、前記受信した仮想アドレスの対応するビットに合致するか否かを第２のローカルマッチライン上に示すように、第２のローカルマッチラインに連結され、
前記第１のローカルマッチラインと前記第２のローカルマッチラインは、それぞれのエントリが前記受信した仮想アドレスに合致するか否かをグローバルマッチライン上に示すように、選択的にグローバルマッチラインをプルダウンし、
前記グローバルマッチラインは、該グローバルマッチラインに関連するエントリと、別のグローバルマッチラインに関連する少なくとも１つの他のエントリの評価をトリガするように動作可能な論理要素に連結されている、
システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータシステムのメモリアクセス一般に関連し、具体的にはセルフタイム式評価を実施する変換索引バッファ（ＴＬＢ；translation look-aside buffer）を提供する方法およびシステムに関連する。このＴＬＢは、メモリアクセス要求に対する仮想アドレスがＴＬＢ内で見つけられたかどうかのセルフタイム式評価を実施する。これにより、メモリアクセス要求に応じるためのメモリアクセスに含まれるレイテンシが低減される。
【０００２】
【従来の技術】
コンピュータシステムは、メモリの多重レベル階層（multi-level hierarchy）を用いる。このメモリの多重レベル階層は、階層の最高層で相対的に速くて高価な限られた容量のメモリを有し、最低層で比較的遅い処理で安価な大容量のメモリを有する。この階層は、キャッシュと呼ばれる比較的小さな速いメモリを含み、このキャッシュは、プロセッサ内部に物理的に組み込まれるか、またはスピードのためにプロセッサの近くに物理的に取り付けられる。コンピュータシステムは、個別の命令キャッシュ（Ｉキャッシュ）およびデータ・キャッシュ（Ｄキャッシュ）を用いる。さらに、コンピュータシステムは、多重レベルのキャッシュを使用することができる。キャッシュの使用は、一般にコンピュータ・プログラムに対し、命令レベルで透過的（transparent）であり、このため、命令セットの変更または既存のプログラムに対する修正の必要なしにコンピュータ・アーキテクチャに追加されることができる。
【０００３】
プロセッサのために実施されるキャッシュ構造は、一般に変換索引バッファ（ＴＬＢ；translation look-aside buffer）を含み、これは、一般に大きな内容参照可能メモリ（ＣＡＭ；content adjustable memory）構造である。一般にプロセッサにより実行されている命令がメモリアクセスを要求する場合（例えばメモリアドレスからのリードまたはメモリアドレスへのライト）、キャッシュのＴＬＢは、その様なメモリアクセスのために仮想アドレス（virtual address）を受信し、その仮想アドレスを物理アドレスに変換する。すなわち、ＴＬＢは、受信した仮想アドレスをアクセスされるべきキャッシュメモリ（例えばＲＡＭ）の物理アドレスに変換してメモリアクセス要求に応じる。より具体的には、ＴＬＢは一般に複数のアドレスのエントリを含み、ＴＬＢが仮想アドレスを受信した場合、そのエントリと仮想アドレスとを比較してキャッシュのために合致があるかどうかを判断する。ＴＬＢがそのエントリのうちの１つについて合致があると判断し、かつ要求されたアドレスがキャッシュに含まれていることを示せば、ワード線がつけられ（例えばロー（low）の電圧からハイ(high)の電圧に遷移する）、キャッシュメモリ（例えばＲＡＭメモリ）において適当な物理アドレスがアクセスされる。すなわち、ＴＬＢ内部で受信された仮想アドレスについて合致がある場合、ＴＬＢが適当な物理アドレスを出力し、ワード線がつけられ、メモリアクセス要求に応じるためにキャッシュ・データ配列（例えばＲＡＭメモリ）においてその物理アドレスがアクセスされる。
【０００４】
したがって、キャッシュのＴＬＢは必然的にメモリアクセス要求のためのクリティカル・パス（critical path;命令を完了するために必要な経路）である。ＴＬＢは、全てのマイクロプロセッサの根底をなす部分であり、ＴＬＢから物理アドレスが得られないかぎりメモリアクセス要求に対するキャッシュのアクセスは始まらない。したがって、ＴＬＢを可能な限り速く実行することが重要である。すなわち、ＴＬＢは、命令に応じるスピードに必然的に影響するので、キャッシュをアクセスするのに必要な命令に直ちに（すなわち速く）応じるような方法で実施されることが望ましい。しかしながら、先行技術のＴＬＢの実施は、ＴＬＢ内部で受信した仮想アドレスについて合致が存在するかどうかという評価において、好ましくない長い時間をもたらしている。結果として、先行技術のＴＬＢの実施は、ＴＬＢ内部に合致がある場合にワード線をつけてキャッシュメモリの適当な物理アドレスにアクセスする前に、好ましくない長い時間をかける。したがって、先行技術の実施は、メモリアクセス要求に応じるのに好ましくない長い時間を必要とする。
【０００５】
図１は先行技術のＴＬＢ  ＣＡＭ１０例を示す。図１に示すように、ＴＬＢ  ＣＡＭ１０は回路１２を含み、この回路はＴＬＢ  ＣＡＭ１０の１ビットに対する回路である。その様なＴＬＢ  ＣＡＭ１０の回路は、本分野で既知のものであるので、ここでは詳細に説明しない。図１の典型的なＴＬＢ  ＣＡＭ１０では、ＴＬＢ  ＣＡＭは１２８個のエントリを含み、それぞれのエントリは５２ビットを有する。したがって、回路１２を５１回複製して５２ビットのエントリが提供され、その５２ビットのエントリを１２７回複製して１２８個のエントリのＴＬＢが提供される。その様なＴＬＢ  ＣＡＭは、１２８個のエントリ列と５２個の行を有する配列として一般に実施されるので、ここでは、ＴＬＢのエントリを列として参照する。様々な実施において、ＴＬＢ  ＣＡＭ１０が任意の数のエントリ（列）を持つことができ、それぞれのエントリが任意の数のビット（行）を持つことができることは理解されるべきである。その様なＴＬＢ  ＣＡＭ１０は、メモリアクセス要求のために５２ビットの仮想アドレスを受信し、仮想アドレスをＴＬＢのエントリと比較して、ＴＬＢ  ＣＡＭにおいて受信した仮想アドレスについて合致があるかどうかを判断する。さらに、図１に示すように、ＴＬＢ  ＣＡＭ１０はエントリの各ビット１２を通るマッチ線（MATCH line）を有する。ＴＬＢ  ＣＡＭ１０は、１２８個の各エントリごとに別々のマッチ線を有し、各マッチ線は、マッチ線に対応するエントリと受信した仮想アドレスとが合致したかどうかを示す。
【０００６】
一般に、エントリの各ビットは電界効果トランジスタ（ＦＥＴ）を持ち、これはエントリの各ビットが受信仮想アドレスの対応するビットに合致するかどうかを示すのに使用される。例えば、図１のビット回路１２は、そのエントリのマッチ線に接続されたＮチャネルＦＥＴ２６（ＮＦＥＴ）を含む。ＮＦＥＴ２６は、このエントリのビット１２が受信仮想アドレスの対応するビットに合致しなかった場合にＮＦＥＴ２６がこのエントリのマッチ線をローにするように実施される。すなわち、マッチ線は、はじめにハイの電圧レベルにあり、エントリの全ビットが受信仮想アドレスに合致すれば、マッチ線は、ハイの電圧レベルにとどまって対応するエントリが仮想アドレスに合致する（すなわち対応するエントリに仮想アドレスが「ヒット（hit；命中）」する）ことを示す。しかしながら、１つまたは複数のビットが受信仮想アドレスに合致しなかった場合、その合致しなかったビットはマッチ線をローにし、その結果、対応するエントリにおける仮想アドレスについてヒットされない。ＴＬＢ  ＣＡＭ１０の全ビットがその様なＮＦＥＴ２６を有するので、ＴＬＢ  ＣＡＭ１０を実施するのに必要な面積とコストを低減するために非常に小さなＮＦＥＴ２６が一般に利用される。したがって、ＴＬＢのビットの各ＮＦＥＴ２６は、一般に比較的遅い速度でマッチ線を放電する。すなわち、各ＮＦＥＴ２６は、一般にマッチ線を放電するのに比較的長い時間を必要とする小さなＮＦＥＴである。この長い時間の原因は、マッチ線に接続された他のセルによってマッチ線上に寄生容量が与えられるからである。しかしながら、エントリの全ビットが仮想アドレスに合致せず、その結果、多くのＮＦＥＴ２６がマッチ線のプルダウン（pull down；ローにする）に参加する場合、そのエントリは、１、２ビットだけが仮想アドレスについて合致しなかったエントリと比較して、より速くマッチ線を放電することができる。
【０００７】
メモリ要求に直ちに応じるために各エントリのマッチ線の値を可能な限り速く判断してキャッシュメモリのアクセスを可能にすることが好ましいことを認識すべきである。したがって、ＴＬＢのためのマッチ線の値を可能な限り速く評価して、メモリアクセス要求に応じるのに必要な時間を低減することが好ましい。しかしながら、キャッシュメモリにおける物理アドレスの誤ったアクセスを回避するために、マッチ線の早まったアクセス（すなわち合致しなかったためにエントリがマッチ線をローにプルダウンし、それが完了する前のマッチ線へのアクセス）を防ぐよう注意しなければならない。例えば、ＴＬＢの第１のエントリにおいて仮想アドレスについて合致があり、かつＴＬＢの第２のエントリが仮想アドレスに合致しなかった場合を想定する。もし第２のエントリのマッチ線が放電するのに充分な機会が与えられる前に評価されたならば、ワード線は、第２のエントリにより出力された物理アドレスの誤ったアクセスを生じるようつけられる。
【０００８】
先行技術の実施の１つは、（仮想アドレスに合致しない各エントリのマッチ線のために充分な時間を与えて放電されるよう）クロック周期の１位相を割り当ててＴＬＢにおける各エントリが受信仮想アドレスに合致するかどうかを判断し、クロック周期の後の位相を割り当ててワード線をつけてキャッシュメモリにおける適当な物理アドレス（すなわちＴＬＢの合致するエントリの物理アドレス）にアクセスする。この実施は、充分長い時間をかけてＴＬＢにおける各エントリが受信仮想アドレスに合致するかどうかを判断することによって、早まったマッチ線の評価により生ずる誤ったメモリアクセスを回避する。
【０００９】
しかしながら、その様な先行技術の実施は、メモリ要求に応じるためにキャッシュメモリがアクセスされる前に、好ましくない長い時間を必要とする。例えば、ＴＬＢの合致がメモリアクセス要求のために非常に早く完了しても、この実施では、キャッシュメモリのアクセスは（例えばワード線をつけることによって）より速く始まらない。したがって、この実施は、ＴＬＢのエントリと受信仮想アドレスとの合致のために確保されている時間の一部が未使用であるかもしれない無駄な時間を生じる。すなわち、その回路はＴＬＢのマッチ線を評価してキャッシュメモリの適当な物理アドレスにアクセスする前に発生する特定のクロック・エッジを待つ必要があるので、メモリアクセス要求に応じることができるスピードは遅れる。したがって、先行技術のＴＬＢの実施は、メモリアクセス要求についてのクリティカル・パスにおいて好ましくない長い時間を必要とする。この実施は、ＴＬＢにおいて合致を判断する時間を効率的に使用しないので、効率的にかつ直ちにメモリアクセス要求に応じない。より具体的には、この先行技術の設計は、ＴＬＢのためにセルフタイミングの実施を利用しないで、予め定めたタイミングのシーケンスを利用する。このため、この先行技術の設計は、ＴＬＢのためにセルフタイミングを利用しないので、効率的にすばやくメモリアクセス要求に応じる高速なＴＬＢ（すなわち受信仮想アドレスについて合致があるかどうかをすばやく判断するＴＬＢ）を可能にしない。
【００１０】
先行技術の第２の実施は、より効率的にメモリアクセス要求に応じるための試みで「ダミー」列と「ダミー」行を利用する。図２Ａはこの第２の実施例を示す。ここに示すように、ＴＬＢ  ＣＡＭ１０は、５２ビット（すなわち行）をそれぞれ有する１２８個のエントリ（すなわち列）を含む。さらに、ＴＬＢ  ＣＡＭ１０は、ダミー列（列１３として示す）とダミー行（行１１として示す）を含む。ダミー列１３の１つのビットは、ダミー列１３用のマッチ線に接続され、ダミー列１３の残りのビットは、そのマッチ線に接続されるが有効ではない（例えばグラウンドに接続される）。例えば、ビット１７として示すダミー列１３およびダミー行１１の共通のビットは、ダミー列１３のためのマッチ線に接続され、ダミー列１３とダミー行１１の残りのビットは、マッチ線に接続されるが有効ではない。その結果、１個のＮＦＥＴ２６がダミー列１３のマッチ線をプルダウンし、それによって、ＴＬＢ  ＣＡＭの実際のエントリのマッチ線の評価を実行するときの基準が提供される。すなわち、ビット１７のＮＦＥＴ２６は、ダミー列１３のマッチ線をプルダウンするように実施される。マッチ線をローの電圧レベルにするのに最も遅い時間を与えるのが、エントリについて１個のビットが合致しない場合であるので、ダミー列のマッチ線をローにする１個のＮＦＥＴ２６を有するダミー列１３は、時間の基準を提供し、この基準は、ＴＬＢのマッチ線の評価をトリガするのに使用することができる。したがって、ＴＬＢの全エントリのマッチ線は、ダミー列のマッチ線がローにプルダウンされる時間によって適当な値に設定される。より具体的には、ＴＬＢの合致していない全てのエントリは、ダミー列のマッチ線がローにプルダウンされる時間までに放電を完了しているはずである。したがって、この先行技術の実施は、予め定めた時間のシーケンスに従って実行されるのとは異なり、ダミー列１３を利用してＴＬＢのマッチ線の評価をトリガするための基準時間を提供する。このため、ＴＬＢのマッチ線の評価は、ＴＬＢ内部の仮想アドレスの合致についての最悪の場合（すなわちエントリの１ビットだけが仮想アドレスに合致しない場合）に基づいて常にトリガされる。
【００１１】
さらに、図２Ａの先行技術の実施形態の動作を説明するために例示的波形を図２Ｂに示す。クロック１０２（例えばプロセッサのクロック）がハイになるとき、仮想アドレス１０４が発せられ（例えばＴＬＢ  ＣＡＭ１０に受信される）。仮想アドレス１０４が発せられたとき、ダミー列１３のダミーマッチ線１１０は、１つのビット１７のＮＦＥＴを通じてローにされる。ダミーマッチ線１１０がローになった後の任意の時点で、（図２Ｂの線１０６に示すように）ＴＬＢのマッチ線を評価するためにセルフタイム経路がトリガされる（ハイになる）。より詳細には、ダミーマッチ線１１０がローに落ちていることを検出するために、図２Ａの検出回路２０が使用される。検出回路２０がダミーマッチ線１１０をローの電圧レベルで検出したとき、検出回路２０は評価信号１０６を生成する（例えば評価信号１０６をハイの電圧レベルに遷移させる）。評価信号１０６がハイになったとき、ワード線１０８がトリガされる。一旦、ワード線１０８がハイに遷移すると、ＴＬＢ  ＲＡＭ１５の適当な物理アドレスがアクセスされてメモリアクセス要求に応じる。
【００１２】
この先行技術の実施は、ダミー列１３が可能性のある最悪の場合（すなわちエントリの１ビットだけが仮想アドレスに合致しなかった場合）に基づいてＴＬＢのマッチ線を評価する基準時間を提供するので、評価信号１０６のためにセルフタイム経路をトリガするのに好ましくない長い時間を必要とする。すなわち、この先行技術の実施は、ＴＬＢのマッチ線を評価して仮想アドレスについて合致を検出する前に、好ましくない長い時間を必要とする。さらに、実際のＴＬＢのエントリの動作を厳密にモデル化するダミー列１３を実施することは困難である。プロセス、電圧、および温度（ＰＶＴ；process, voltage, temperature）の影響は、ＴＬＢ回路内部で様々である。これは、実際のＴＬＢのエントリをダミー列１３でモデル化することを困難にする。より具体的には、ダミー列の実施は、ダミー列から比較的遠くに離れたエントリを一般にモデル化しようとする。そのため、距離にわたって存在するＰＶＴの影響によるスキュー（skew；ズレ）のせいで、その様なモデル化が困難になる。例えば、ある実施では、ダミー列はおよそ１０００μｍ離れているエントリに依存してモデル化される。したがって、ＴＬＢ回路内部で遭遇するさまざまなプロセスの問題のせいで、ＴＬＢ  ＣＡＭ１０における通常の列と行を厳格にモデル化するダミー行１１とダミー列１３を実施することは非常に困難である。
【００１３】
ＰＶＴの影響、およびＴＬＢ  ＣＡＭ１０の通常の列と行にダミーの列１３と行１１を厳格にモデル化することの困難さのせいで、ＴＬＢのマッチ線の早まった評価による誤ったメモリアクセスが起きないことを確実にするためにクリティカル・パスに余裕が与えられなければならない。このため、一般にセルフタイム経路に付加的な遅延量が追加され、ＴＬＢ  ＣＡＭ１０の実際のエントリのマッチ線を遅らせうる他の何らかの影響が考慮される。例えば、一般的に遅延はセルフタイム経路１０６がトリガされる前で、かつダミーマッチ線１１０がローの電圧で検出された後で実施される。したがって、ＴＬＢ  ＣＡＭ１０の合致の判断に必要な好ましくない長い時間のせいで、メモリアクセス要求のクリティカル・パスに好ましくない長い時間が必要になる。さらに、図２Ａのダミー列とダミー行の実施例は、ＴＬＢ  ＣＡＭ構造１０のために実施される付加的な行列のせいで、付加的な表面積と付加的なコストがかかる。
【００１４】
ＴＬＢのスピードをさらに改善するために、評価をトリガするのにＴＬＢ内部の隣のマッチ線を利用する「バディ」セルフタイム式ＴＬＢ（”buddy”self-timed TLB）を実施する様々な試みがなされてきた。その様な「バディ」セルフタイム式ＴＬＢは、それぞれ隣のマッチ線に基づいてマッチ線の評価がトリガされるという点で好ましい。しかしながら、「バディ」セルフタイム式ＴＬＢの実施における従来技術の試みはうまくいかなかった。従来技術のセルフタイム式ＴＬＢ回路における一般的な問題は、ＴＬＢのエントリに仮想アドレスを合致させるのに失敗したビットの数が不均衡なときの誤ったメモリアクセスを回避することである。ＴＬＢのセルフタイム式回路のこの問題を説明するために、図３は従来技術の典型的なバディ・セルフタイムの実施例を示す。図３に第１のマッチ線（マッチ線Ａ）を示す。このマッチ線Ａは、ＴＬＢの第１の５２ビットのエントリについて合致があるかどうかを示すために使用される。したがって、マッチ線Ａは、それに接続された５２個のＮＦＥＴ（対応するエントリの各ビットに１つ）を有する。第２のマッチ線（マッチ線Ｂ）も示され、これは、ＴＬＢの第２の５２ビットのエントリについて合致があるかどうかを示すために使用される。したがって、マッチ線Ｂは、それに接続された５２個のＮＦＥＴを有する。マッチ線Ａおよびマッチ線Ｂは、ＮＡＮＤゲート３０２に入力される。これは、ＴＬＢのマッチ線の評価をトリガする信号を出力する。もちろん、ＴＬＢは、それぞれ別々のマッチ線を持つ多くのエントリ（例えば１２８個のエントリ）を有する。その様なマッチ線の全てが隣のマッチ線と共にＮＡＮＤゲート回路（例えばＮＡＮＤゲート３０２など）に入力されてマッチ線についての評価信号が判断される。しかしながら、図３では、この先行技術の実施の説明を簡単にするためにＴＬＢの２つのエントリしか示されていない。
【００１５】
動作中、仮想アドレスがＴＬＢにより受信されたとき、マッチ線Ａおよびマッチ線Ｂは、はじめにハイの電圧値をそれぞれ有する。マッチ線Ａとマッチ線Ｂの両方がハイの電圧値を有している間、ＮＡＮＤゲート３０２により出力される評価信号はローの電圧値である。しかしながら、マッチ線Ａかマッチ線Ｂのどちらかがローの電圧値になったとき、ＮＡＮＤゲート３０２は評価信号にハイの電圧値を出力してＴＬＢのマッチ線が評価準備されたことを示し、ワード線がつけられてキャッシュの適当な物理アドレスがアクセスされる。例えば、ＴＬＢが仮想アドレスを受信するときに、５２ビット全てが第１のエントリの仮想アドレスに合致せず、その結果、５２個のＮＦＥＴがマッチ線Ａをプルダウンすることを想定する。さらに、第２のエントリの１ビットだけが仮想アドレスに合致せず、その結果、１個のＮＦＥＴがマッチ線Ｂをプルダウンすること想定する。マッチ線Ｂが１個のＮＦＥＴだけで放電されるのに対して、マッチ線Ａが５２個のＮＦＥＴで放電されるので、マッチ線Ｂ上に存在する寄生容量のせいで、マッチ線Ａはマッチ線Ｂと比較してより速く放電される。マッチ線Ａが放電されるとき、ＮＡＮＤゲート３０２は、早めに評価信号にトリガをかける。すなわち、マッチ線ＡがＮＡＮＤゲート３０２に評価信号をトリガさせるとき、マッチ線Ｂはローの電圧値に放電されていない可能性がある。したがって、評価信号がハイになるときにマッチ線Ｂが放電をまだ完了していないので、ワード線がＴＬＢの第２のエントリのメモリアドレスにアクセスするよう誤ってつけられる。このため、先行技術のセルフタイム式回路での一般的問題は、受信仮想アドレスに合致するビットの数が不均衡なエントリに関するＴＬＢのマッチ線の放電に必要な時間における固有のスキューである。結果として、効果的なバディ・セルフタイム式ＴＬＢは、先行技術では開発されなかった。
【００１６】
【発明が解決しようとする課題】
上記の点から、先行技術のＴＬＢの実施はいくつかの理由で問題がある。第１に、先行技術のＴＬＢの実施は、キャッシュメモリにアクセスしてメモリアクセス要求に応じる前に、好ましくない長い時間を必要とする。それにより、キャッシュにおける好ましくない大きなレイテンシ（待ち時間）が必要になる。さらに、バディ・セルフタイム式回路の利用によってＴＬＢに必要な時間を低減しようとする場合、先行技術の実施は、受信仮想アドレスに合致するビットの数が様々なＴＬＢエントリ間で不均衡なときに誤ったメモリアドレスがアクセスされる。一般的に、その様な誤ったメモリアドレスのアクセスを回避するために、ダミー列とダミー行の実施が先行技術のＴＬＢのために利用される。しかしながら、その様なダミー列とダミー行の実施形態は、評価信号（これはワード線をトリガする）がＴＬＢ内部での最悪の場合の合致のシナリオ（１ビットだけが受信仮想アドレスに合致しない）における基準時間に基づくので、キャッシュメモリにアクセスしてメモリアクセス要求に応じる前に好ましくない長い時間をもたらす。さらに、ダミー列とダミー行の実施は、実施のために付加的な列と行を必要とするので、好ましくない大きな表面積を必要とし、この結果、ＴＬＢを実施するコストを増加させる結果となる。その上、ダミー列とダミー行の実施は、ダミー行が物理的に比較的遠くに離れているエントリをモデル化して使用されるという点で問題があり、これは、ＰＶＴの影響のせいでスキューを増大させる。
【００１７】
【課題を解決するための手段】
上記の点から、キャッシュメモリにアクセスしてメモリアクセス要求に応じる前の仮想アドレスに関するＴＬＢの合致評価のために、好ましくない長い時間を必要としないＴＬＢの実施に対する要望がある。さらに、合致があるかどうかを迅速に評価するだけでなく、誤ったメモリアドレスのアクセスも回避するＴＬＢの実施に対する要望が存在する。さらに、好ましくない大きな表面積を使わないＴＬＢの実施に対する要望が存在する。したがって、ＴＬＢに合致があるかの評価をトリガするためにダミー行およびダミー列を利用しないＴＬＢに対する要望が存在する。ＴＬＢのエントリが仮想アドレスと比較された後すぐにＴＬＢの合致評価をトリガし、メモリアクセス要求に応じるためのメモリアクセスにおけるレイテンシを最小化し、かつ誤ったメモリアドレスのアクセスを回避するセルフタイム式ＴＬＢに対する要望が存在する。
【００１８】
このような目的、機能、技術的利点は、ＴＬＢ内部で受信された仮想アドレスについて合致があるかどうかの評価をトリガするために２段階の合致方式を利用するセルフタイム式ＴＬＢを提供するシステムおよび方法によって達せられる。ここでは、合致方式の第１の段階をローカルマッチと呼び、合致方式の第２の段階をグロ―バルマッチと呼ぶ。好ましい実施形態では、ＴＬＢのエントリはビットのグループからなり、グループのそれぞれは別々のローカルマッチ線に接続される。好ましい実施形態では、ローカルマッチ線は、はじめにハイの電圧レベルに設定される。グループ内の任意のビットが仮想アドレスの対応するビットに合致しなければ、その任意のビットがローカルマッチ線をローの電圧レベルにプルダウンする。さらに、好ましい実施形態では、エントリの各ローカルマッチ線はグロ―バルマッチ線に接続される。グロ―バルマッチ線は、はじめにハイの電圧レベルに設定される。ローカルマッチ線のいずれかが受信仮想アドレスに合致していないことを示していれば（例えばローの電圧レベルを有するローカルマッチ線によって）、そのローカルマッチ線は、グロ―バルマッチ線をローの電圧レベルにプルダウンする。したがって、評価されるときにグロ―バルマッチ線がハイの電圧レベルを有していれば、グロ―バルマッチ線は、関連するＴＬＢのエントリが受信仮想アドレスに合致することを示す。しかしながら、評価されるときにグロ―バルマッチ線がローの電圧レベルを有していれば、グロ―バルマッチ線は、グロ―バルマッチ線に関連するＴＬＢのエントリが受信仮想アドレスに合致していないことを示す。
【００１９】
例えば、最も好ましい実施形態では、５２ビットのＴＬＢのエントリは４個のビット・グループ（各グループは１３個のビットを有する）を含む。例えば、ビット〔１：１３〕が第１のグループを形成し、ビット〔１４：２６〕が第２のグループを形成し、ビット〔２７：３９〕が第３のグループを形成し、ビット〔４０：５２〕が第４のグループを形成する。グループのそれぞれはローカルマッチ線に接続される。例えば、第１のグループの各ビットがローカルマッチ線Ａに接続され、第２のグループの各ビットがローカルマッチ線Ｂに接続され、第３のグループの各ビットがローカルマッチ線Ｃに接続され、第４のグループの各ビットがローカルマッチ線Ｄに接続される。最も好ましい実施形態では、ローカルマッチ線は、はじめにハイの電圧レベルに設定される。仮想アドレスがＴＬＢで受信されたとき、各グループの各ビットは受信仮想アドレスの対応するビットと比較される。もしグループのうちの１つまたは複数のビットが仮想アドレスの対応するビットに合致しなければ、その合致しなかったビットは、その各自のローカルマッチ線をローの電圧レベルにプルダウンする。もしそうでなければ、ビット・グループのためのローカルマッチ線はハイの電圧にとどまる。
【００２０】
さらに、最も好ましい実施形態では、各ローカルマッチ線は、ＴＬＢのエントリのグロ―バルマッチ線に接続されたＦＥＴを制御する。したがって、最も好ましい実施形態では、４個のＦＥＴがエントリのグロ―バルマッチ線に接続される（すなわち各ローカルマッチ線に対して１個のＦＥＴ）。もし１つまたは複数のローカルマッチ線がローの電圧レベルであり、それらの各自のグループのビットが受信仮想アドレスの対応するビットに合致しなかったことを示していれば、そのローカルマッチ線は、そのＦＥＴをオンにしてグロ―バルマッチ線をローの電圧レベルにプルダウンする。もしそうでなければ、ＴＬＢのエントリのグロ―バルマッチ線はハイの電圧レベルにとどまる。
【００２１】
好ましい実施形態では、１つのグロ―バルマッチ線が隣りのグロ―バルマッチ線の評価をトリガして、任意のエントリについて合致があるかどうかを判断する。より具体的には、好ましい実施形態では、２つのグロ―バルマッチ線がＮＡＮＤゲートに入力され、そのＮＡＮＤゲートの出力が２つのグロ―バルマッチ線の評価をトリガするために利用される。好ましい実施形態では、ＴＬＢにおけるただ１つのエントリだけが受信仮想アドレスに合致することができる。このため、多くても２つのグロ―バルマッチ線のうちの１つだけはハイの電圧レベルにとどまり、受信仮想アドレスについて合致を示す。したがって、２つのグロ―バルマッチ線のうちの少なくとも１つがローに遷移するとき、ＮＡＮＤゲートの出力は、グロ―バルマッチ線のペアの評価をトリガするためにハイに遷移する。
【００２２】
ローの電圧レベルに遷移する２つのグロ―バルマッチ線の間にわずかなタイミング・スキューが存在するが、その様なタイミング・スキューは好ましい実施形態では非常に小さい。好ましい実施形態は、１つの方法としてエントリのビット・グループに関連するローカルマッチ線を実施することによって、その様なタイミング・スキューを最小化する。ＴＬＢのエントリを複数のビット・グループとして実施することによって、任意のグループにおける合致していないビットの数の大きな不均衡が回避される。例えば、最も好ましい実施形態では、各ビット・グループは、エントリのうちの１３ビットを含む。したがって、最も好ましい実施形態において最大の不均衡が生ずる場合は、あるグループにおいて１３個のビットが合致せず、かつ別のグループにおいて１個のビットだけが合致しない場合である。先行技術の実施では、もっと大きな不均衡の結果となっていたことが思い起こされる（あるエントリについて５２個のビットが合致せず、かつ別のエントリについて１個のビットだけが合致しない場合など）。このように、好ましい実施形態のローカルマッチ線は、合致しないビットの数の大きな不均衡を削減するのでＴＬＢ回路内部のタイミング・スキューを低減させる。
【００２３】
さらに、好ましい実施形態では、比較的少ない数のＦＥＴが各エントリのグロ―バルマッチ線をプルダウンするように実施されるので、タイミング・スキューは低減される。例えば、最も好ましい実施形態では、４個のＮＦＥＴがグロ―バルマッチ線に接続され、関連するエントリが受信仮想アドレスに合致しない場合にグロ―バルマッチ線をプルダウンする。したがって、エントリのペアのためにグロ―バルマッチ線をプルダウンするＮＦＥＴの数は、あまり不均衡にならない。例えば、最も好ましい実施形態では、最も不均衡な結果となる場合は、あるエントリのために４個のＮＦＥＴがグロ―バルマッチ線をプルダウンし、かつ別のエントリのために１個のＮＦＥＴだけがグロ―バルマッチ線をプルダウンする場合である。さらに、好ましい実施形態では、グロ―バルマッチ線のＦＥＴは、エントリのマッチ線をプルダウンするために先行技術の実施において利用されるＦＥＴと比較して大きい。好ましい実施形態におけるグロ―バルマッチ線のＦＥＴが大きいので、グロ―バルマッチ線は、１個のＦＥＴだけでより速くプルダウンされることができ、それにより、グロ―バルマッチ線上に複数のプルダウンＦＥＴを有することによって現れるゲイン（またはスキュー）を低減させることができる。上記を考慮すると、ＴＬＢの２つのエントリについての合致の判断における時間のスキューは最小化される。したがって、好ましい実施形態は、ＴＬＢのグロ―バルマッチ線の「バディ」セルフタイム式評価を利用してキャッシュメモリのアクセスにおけるレイテンシを最小化する。
【００２４】
本発明の１つの側面の技術的利点は、メモリアクセス要求に応じるためのメモリアクセスにおけるレイテンシを低減するＴＬＢの実施が提供されることである。本発明の１つの側面のさらなる技術的利点は、ＴＬＢのエントリにおける受信仮想アドレスに対する合致の「バディ」セルフタイム式評価を利用するＴＬＢの実施が提供されることである。結果として、本発明の１つの側面の技術的利点は、仮想アドレスのためにＴＬＢにおいて合致があるかどうかを判断するために必要な時間を最小化するＴＬＢの実施が提供されることである。それにより、メモリアクセス要求に応じるためのキャッシュメモリ・アクセスにおけるレイテンシが最小化される。例えば、好ましい実施形態は、ＴＬＢのために「バディ」セルフタイム式評価を提供する。このマッチ線の評価は、そのマッチ線の比較的近くにある別のマッチ線によってトリガされる。本発明の１つの側面のさらなる技術的利点は、ＴＬＢにおいて合致があるかどうかを可能な限り速く評価するだけでなく、誤ったメモリアドレスのアクセスも回避するＴＬＢの実施が提供されることにある。本発明の１つの側面の技術的利点は、好ましくない大きな表面積を使用しないＴＬＢの実施が提供されることにもある。例えば、ＴＬＢにおける合致の評価をトリガするために、ダミー行とダミー列を必要としないＴＬＢの実施が提供される。
【００２５】
後述する発明の詳細な説明をより理解させるために、この発明の機能および技術的利点を概説してきた。この発明のさらなる機能および利点は、これ以降で詳細に説明される。この発明と同じ目的を果たす他の構造を修正または設計するための基礎として、記載された概念および特定の実施形態を容易に利用することができることは本分野の当業者に明らかである。その様な同等の構成物が請求の範囲に述べた精神および範囲から逸脱しないことが本分野における当業者によって認識されるべきである。
【００２６】
【発明の実施の形態】
本発明の好ましい実施形態は、高速で効率的なＴＬＢを提供するためにＴＬＢのための「バディ」セルフタイム式回路を使用する。好ましい実施形態のＴＬＢのバディ・セルフタイム式回路は、ＴＬＢにおけるただ１つのエントリだけが受信仮想アドレスに合致するという事実に基づいている。変則的な動作の間（例えばパージ（PURGE）動作の間など）、ＴＬＢの複数のエントリが合致することができる。しかしながら、その場合、複数の合致が検出されたかどうかは気にしない（実際には、その様な動作の間に複数の合致を検出することが望まれる）。したがって、好ましい実施形態では、通常動作の間に、ＴＬＢにおけるただ１つのエントリだけが受信仮想アドレスに合致する。
【００２７】
好ましい実施形態は、ＴＬＢのために２段階の合致検出方式を利用する。第１の段階（ここでは、「ローカルマッチ」として参照する）は、ＮＭＯＳの静的な比較（NMOS static compare）として行われる。その様なローカルマッチは、好ましい実施形態における遅延パルスクロックによって評価される。したがって、好ましい実施形態では、回路のローカルマッチの部分で非セルフタイミングが存在する。このため、ローカルマッチ線が非常にゆっくり進展する場合、その部分の周波数を減らさなければならない。以下でさらに詳細に説明するように、好ましい実施形態では、ＴＬＢのエントリは複数のビット・グループを有し、それぞれのグループはそれに関連するローカルマッチ線を有する。例えば、最も好ましい実施形態では、ＴＬＢは、それぞれ５２ビットのエントリを含み、各エントリはそれぞれ１３ビットの４つのグループを含む（例えばグループＡ、Ｂ、Ｃ、Ｄ）。さらに、４つのグループのそれぞれは、それに関連するローカルマッチ線（例えばローカルマッチ線Ａ、Ｂ、Ｃ、Ｄ）を有する。仮想アドレスがＴＬＢで受信されたとき、エントリの各ビット・グループは、合致があるかどうかを判断するために仮想アドレスの対応するビットと比較される。好ましい実施形態では、ローカルマッチ線のそれぞれは、はじめにハイの電圧に設定されており、エントリの全ビットについて合致がある場合にハイの電圧にとどまる。しかしながら、グループのビットが仮想アドレスの対応するビットに合致しなかった場合、その様なビットは、そのグループのためのローカルマッチ線をローにする。例えば、グループの各ビットは、ローカルマッチ線に接続されたＮＦＥＴを含み、グループ内のビットが仮想アドレスの対応するビットに合致しなかった場合、そのビットのＮＦＥＴは、そのグループのローカルマッチ線をローの電圧値にプルダウンする。このように、好ましい実施形態では、複数のローカルマッチ線が各エントリに対して実施され、エントリの一部が受信仮想アドレスに合致するかどうかを示す。
【００２８】
第２の段階（ここでは「グロ―バルマッチ」として参照する）は、取り消しゲート型構造（cancellation gate type structure）を利用する。好ましい実施形態では、ＴＬＢの各エントリは、それに関連するグロ―バルマッチ線を有する。エントリの複数のローカルマッチ線を利用して、その様なエントリについてグロ―バルマッチ線が制御される。例えば、好ましい実施形態では、ＴＬＢのグロ―バルマッチ線のそれぞれは、最初にハイの電圧値に設定され、それに関するＴＬＢのエントリについて合致がある場合、ハイの電圧値にとどまる。エントリの各ローカルマッチ線は、そのエントリのグロ―バルマッチ線に接続されたＮＦＥＴに入力される。それに関連するグループのビットが仮想アドレスの対応するビットに合致しなかったことをローカルマッチ線が示している場合、その様なローカルマッチ線が入力されているＮＦＥＴは、グロ―バルマッチ線をプルダウンする。例えば、最も好ましい実施形態では、エントリは４つのローカルマッチ線を含む。これは、そのエントリの１つのグロ―バルマッチ線を制御するのに利用される。したがって、エントリの４つのローカルマッチ線のそれぞれは、そのエントリのグロ―バルマッチ線に接続されたＮＦＥＴを制御することができる。このように、４個のＮＦＥＴは、エントリについてグロ―バルマッチ線に接続され、異なるローカルマッチ線がＮＦＥＴのそれぞれを制御する。それに関連するグループのビットが仮想アドレスの対応するビットに合致しなかったことをローカルマッチ線が示している場合、その様なローカルマッチ線は、そのＮＦＥＴをオンにしてエントリについてグロ―バルマッチ線をプルダウンする。これにより、そのエントリについて合致がないことが示される。
【００２９】
好ましい実施形態では、ＴＬＢにわたるエントリのペアは、隣のエントリが合致していないことに基づいて自分自身のセルフタイミング評価信号を生成する。すなわち、好ましい実施形態では、１つのバディ・セルフタイム式回路はＴＬＢのエントリのペア毎に実施される。したがって、ペアのうちの１つのエントリのグロ―バルマッチ線が受信仮想アドレスに合致しなかったことを示しているとき、そのペアのためのセルフタイミング評価信号が生成される。好ましい実施形態では、ペアのエントリの両方が受信仮想アドレスに合致したかどうかを同時に（並列に）判断する。したがって、あるエントリがその判断をほぼ完了したとき（あるエントリが受信仮想アドレスに合致しなかったと判断したとき）、その判断がそのペアの第２のエントリについて完了される。例えば、ＴＬＢにおけるただ１つのエントリだけが受信仮想アドレスに合致するので、ペアのうちの１つのエントリについて合致がないことが検出されたとき、他方のエントリの検出は、ほぼ完了される。したがって、ペアのうちの１つのエントリが合致しないことがほぼ検出されると、そのペアのための評価信号がトリガされる。
【００３０】
好ましい実施形態では、ＴＬＢ回路において考慮されなければならないタイミングにおける何らかのわずかな固有のスキューが存在する。しかしながら、好ましい実施形態では、その様なスキューは、先行技術の実施形態ほど大きくない。その様なスキューは、エントリが複数のビット・グループに分けられているので、ローカルマッチ線ではそれ程大きくない。例えば、最も好ましい実施形態では、エントリにおける各ビット・グループ（各ローカルマッチのグループ）は、エントリのうちの１３ビットを含む。したがって、起こりうる最も不均衡な結果は、あるグループにおいて１３個のビットが合致せず、かつ他方のグループにおいて１個のビットだけが合致しない場合である。しかしながら、先行技術の実施形態では、もっと不均衡な結果が生じることがある（例えばあるエントリに対してエントリのうちの５２個のビットが合致せず、かつ別のエントリに対して１個のビットだけが合致しない場合など）。したがって、好ましい実施形態のローカルマッチは、合致していないビットの数の大きな不均衡を削減するので、ＴＬＢ内部のタイミング・スキューを低減させる。
【００３１】
さらに、好ましい実施形態では、比較的少ない数のＦＥＴが各エントリのグロ―バルマッチ線上でプルダウンするよう実施されるので、タイミング・スキューは低減される。例えば、最も好ましい実施形態では、４個のＮＦＥＴがグロ―バルマッチ線に接続されて、関連するエントリが受信仮想アドレスに合致しない場合にグロ―バルマッチ線をプルダウンする。したがって、エントリのペアのためのグロ―バルマッチ線をプルダウンするＮＦＥＴの数は、あまり不均衡になることがない。例えば、最も好ましい実施形態では、最も不均衡な結果は、あるエントリについて４個のＮＦＥＴがグロ―バルマッチ線をプルダウンし、かつ別のエントリについて１個のＮＦＥＴがグロ―バルマッチ線をプルダウンする場合である。さらに、好ましい実施形態では、グロ―バルマッチ線のＦＥＴは、先行技術の実施形態でエントリのマッチ線をプルダウンするのに利用されたＦＥＴよりずっと大きい。好ましい実施形態では、グロ―バルマッチ線のＦＥＴが大きいので、グロ―バルマッチ線は、単一のＦＥＴだけでより速くプルダウンされることができる。それにより、グロ―バルマッチ線上に複数のプルダウンＦＥＴを有することによって現れるゲインを低減させることができる。上記の点から、ＴＬＢの２つのエントリについて合致を判断する時間のスキューは最小化される。
【００３２】
図４は、好ましい実施形態のローカルマッチ線に対する静的な擬似ＮＭＯＳ比較回路（static pseudo NMOS compare circuitry）の例示的な概要を示す。図４は好ましい実施形態の簡単な概要を提供し、図７は好ましい実施形態のより詳細な図を提供する。図４に示すように、ＴＬＢの５２ビット・エントリは、複数のビット・グループを含み、それぞれのグループはローカルマッチ線に関連付けられている。例えば、図４に示す例示的な実施例では、ＴＬＢのエントリは４個のビット・グループに分けられる。すなわち、ＴＬＢのエントリは、第１のビット・グループ（ビット〔１：１３〕）、第２のビット・グループ（ビット〔１４：２６〕）、第３のビット・グループ（ビット〔２７：３９〕）、第４のビット・グループ（ビット〔４０：５２〕）を含む。ローカルマッチ線は、エントリの４個のビット・グループのそれぞれに関連付けられる。より具体的には、ローカルマッチ線Ａがビット〔１：１３〕に関連付けられ、ローカルマッチ線Ｂがビット[１４：２６]に関連付けられ、ローカルマッチ線Ｃがビット[２７：３９]に関連付けられ、ローカルマッチ線Ｄがビット[４０：５２]に関連付けられる。この例示的な実施例で提供されている本発明が５２ビットのエントリを有するＴＬＢだけに制限されないことは理解されるべきである。ＴＬＢは任意のサイズのエントリを含むことができる。さらに、本発明は４個のビット・グループを有するエントリに制限されない。ＴＬＢのエントリは、任意のビット数をそれぞれ有する任意の数のビット・グループを含むことができる。このように、図４の例示的な実施例は、ＴＬＢのために多くの他の実施が可能であることを意図されており、その様な他の実施の全てが本発明に含まれることを意図されている。
【００３３】
仮想アドレスがＴＬＢで受信されたとき、図４のエントリの各グループは、合致があるかどうかを判断するために受信仮想アドレスの対応するビットと比較される。エントリのビット[１：１３]は、ローカルマッチ線Ａに接続されているＮＦＥＴ（ＮＦＥＴ２０１からＮＦＥＴ２１３に示す）をそれぞれ含む。これらのＮＦＥＴは、ビット・グループ〔１：１３〕のいずれかが受信仮想アドレスの対応するビットに合致しない場合にローカルマッチ線Ａをローの電圧値にプルダウンする。また、エントリのビット[１４：２６]は、ローカルマッチ線Ｂに接続されているＮＦＥＴ（ＮＦＥＴ２１４からＮＦＥＴ２２６に示す）をそれぞれ含む。これらのＮＦＥＴは、ビット・グループ〔１４：２６〕のいずれかが受信仮想アドレスの対応するビットに合致しない場合にローカルマッチ線Ｂをローの電圧値にプルダウンする。同様に、エントリのビット[２７：３９]は、ローカルマッチ線Ｃに接続されているＮＦＥＴ（ＮＦＥＴ２２７からＮＦＥＴ２３９に示す）をそれぞれ含む。これらのＮＦＥＴは、ビット・グループ〔２７：３９〕のいずれかが受信仮想アドレスの対応するビットに合致しない場合にローカルマッチ線Ｃをローの電圧値にプルダウンする。さらに、エントリのビット[４０：５２]は、ローカルマッチ線Ｄに接続されているＮＦＥＴ（ＮＦＥＴ２４０からＮＦＥＴ２５２に示す）をそれぞれ含む。これらのＮＦＥＴは、ビット・グループ〔４０：５２〕のいずれかが受信仮想アドレスの対応するビットに合致しない場合にローカルマッチ線Ｄをローの電圧値にプルダウンする。
【００３４】
ローカルマッチ線Ａ、Ｂ、Ｃ、Ｄは、それぞれＮＦＥＴ４０２、４０４、４０６、４０８をそれぞれ制御する。ＮＦＥＴ４０２から４０８のそれぞれは、このエントリのグロ―バルマッチ線に接続される。好ましい実施形態では、ローカルマッチ線Ａ、Ｂ、Ｃ、Ｄは、ＴＬＢが仮想アドレスを受信するときにはじめにハイの電圧値に設定されている。それらの関連するグループのビット全てが受信仮想アドレスの対応するビットに合致すれば、ローカルマッチ線Ａ、Ｂ、Ｃ、Ｄはハイにとどまる。しかしながら、関連するグループのビットが受信仮想アドレスの対応するビットに合致しなければ、関連するマッチ線Ａ、Ｂ、Ｃ、Ｄはローの電圧値にプルダウンされる。ローカルマッチ線Ａ、Ｂ、Ｃ、Ｄがハイの電圧値であれば、そのマッチ線が入力されているＮＦＥＴ（例えばＮＦＥＴ４０２、４０４、４０６、４０８のそれぞれ）はオフにされる。好ましい実施形態では、エントリのグロ―バルマッチ線は、はじめにハイの電圧値に設定されている。したがって、ＮＦＥＴ４０２、４０４、４０６、４０８が全てオフにされれば、グロ―バルマッチ線は、ハイの電圧値にとどまり、このエントリについて合致があることを示す。しかしながら、ローカルマッチ線Ａ、Ｂ、Ｃ、Ｄのうちの１つまたは複数がローの電圧値であれば、その様な１つまたは複数のマッチ線が入力されているＮＦＥＴ（例えば４０２、４０４、４０６、４０８のそれぞれ）がオンにされて、エントリのグロ―バルマッチ線をローの電圧値にプルダウンする。それにより、エントリについて合致がないことが示される。
【００３５】
例えば、仮想アドレスがＴＬＢで受信された場合、エントリのビット〔１：１３〕は、それらが合致するかどうかを判断するために受信仮想アドレスの対応するビット〔１：１３〕と比較される。各ビットが合致すれば、ローカルマッチ線Ａはハイの電圧値にとどまる。ローカルマッチ線Ａは、インバータ４２２に入力され、そのインバータの出力がＮＦＥＴ４０２を制御する。ローカルマッチ線Ａがハイの電圧値であれば、インバータ４２２はローの電圧値を出力し、それによりＮＦＥＴ４０２がオフにされる。ビット〔１：１３〕の１つまたは複数が受信仮想アドレスの対応するビットに合致しなければ、ＦＥＴ２０１から２１３の該当するＦＥＴはローカルマッチ線Ａをローの電圧値にプルダウンする。ローカルマッチ線Ａがローのとき、インバータ４２２はハイの電圧値を出力し、それによりＮＦＥＴ４０２がオンにされる。ＮＦＥＴ４０２がオンにされた場合、そのＮＦＥＴ４０２はこのエントリのグロ―バルマッチ線をローの電圧値にプルダウンし、それにより、このエントリについて合致がないことが示される。したがって、好ましい実施形態では、ローカルマッチ線Ａがハイの場合にＮＦＥＴ４０３がグロ―バルマッチ線をローにプルダウンせず、ローカルマッチ線Ａがローの場合にＮＦＥＴ４０２がグロ―バルマッチ線をローにプルダウンする。
【００３６】
同様の方法でエントリの他のビット・グループは機能する。例えば、エントリのビット[１４：２６]は、それらが合致したかどうかを判断するために受信仮想アドレスの対応するビット[１４：２６]と比較される。各ビットが合致すれば、ローカルマッチ線Ｂはハイの電圧値にとどまる。ローカルマッチ線Ｂは、インバータ４２４に入力され、そのインバータの出力がＮＦＥＴ４０４を制御する。ローカルマッチ線Ｂがハイの電圧値であれば、インバータ４２４はローの電圧値を出力し、それによりＮＦＥＴ４０４がオフにされる。ビット〔１４：２６〕の１つまたは複数が受信仮想アドレスの対応するビットに合致しなければ、ＦＥＴ２１４から２２６の該当するＦＥＴはローカルマッチ線Ｂをローの電圧値にプルダウンする。ローカルマッチ線Ｂがローのとき、インバータ４２４はハイの電圧値を出力し、それによりＮＦＥＴ４０４がオンにされる。ＮＦＥＴ４０４がオンにされた場合、そのＮＦＥＴ４０４はこのエントリのグロ―バルマッチ線をローの電圧値にプルダウンし、それにより、このエントリに対して合致がないことが示される。したがって、好ましい実施形態では、ローカルマッチ線Ｂがハイの場合にＮＦＥＴ４０４がグロ―バルマッチ線をローにプルダウンせず、ローカルマッチ線Ｂがローの場合にＮＦＥＴ４０４がグロ―バルマッチ線をローにプルダウンする。
【００３７】
同様に、エントリのビット[２７：３９]は、それらが合致したかどうかを判断するために受信仮想アドレスの対応するビット[２７：３９]と比較される。各ビットが合致すれば、ローカルマッチ線Ｃはハイの電圧値にとどまる。ローカルマッチ線Ｃは、インバータ４２６に入力され、そのインバータの出力がＮＦＥＴ４０６を制御する。ローカルマッチ線Ｃがハイの電圧値であれば、インバータ４２６はローの電圧値を出力し、それによりＮＦＥＴ４０６がオフにされる。ビット〔２７：３９〕の１つまたは複数が受信仮想アドレスの対応するビットに合致しなければ、ＦＥＴ２２７から２３９の該当するＦＥＴはローカルマッチ線Ｃをローの電圧値にプルダウンする。ローカルマッチ線Ｃがローのとき、インバータ４２６はハイの電圧値を出力し、それによりＮＦＥＴ４０６がオンにされる。ＮＦＥＴ４０６がオンにされた場合、そのＮＦＥＴ４０６はこのエントリのグロ―バルマッチ線をローの電圧値にプルダウンし、それにより、このエントリに対して合致がないことが示される。したがって、好ましい実施形態では、ローカルマッチ線Ｃがハイの場合にＮＦＥＴ４０６がグロ―バルマッチ線をローにプルダウンせず、ローカルマッチ線Ｃがローの場合にＮＦＥＴ４０６がグロ―バルマッチ線をローにプルダウンする。
【００３８】
さらに、エントリのビット[４０：５２]は、それらが合致したかどうかを判断するために受信仮想アドレスの対応するビット[４０：５２]と比較される。各ビットが合致すれば、ローカルマッチ線Ｄはハイの電圧値にとどまる。ローカルマッチ線Ｄは、インバータ４２８に入力され、そのインバータの出力がＮＦＥＴ４０８を制御する。ローカルマッチ線Ｄがハイの電圧値であれば、インバータ４２８はローの電圧値を出力し、それによりＮＦＥＴ４０８がオフにされる。ビット〔４０：５２〕の１つまたは複数が受信仮想アドレスの対応するビットに合致しなければ、ＦＥＴ２４０から２５２の該当するＦＥＴはローカルマッチ線Ｄをローの電圧値にプルダウンする。ローカルマッチ線Ｄがローのとき、インバータ４２８はハイの電圧値を出力し、それによりＮＦＥＴ４０８がオンにされる。ＮＦＥＴ４０８がオンにされた場合、そのＮＦＥＴ４０８はこのエントリのグロ―バルマッチ線をローの電圧値にプルダウンし、それにより、このエントリに対して合致がないことが示される。したがって、好ましい実施形態では、ローカルマッチ線Ｄがハイの場合にＮＦＥＴ４０８がグロ―バルマッチ線をローにプルダウンせず、ローカルマッチ線Ｄがローの場合にＮＦＥＴ４０８がグロ―バルマッチ線をローにプルダウンする。
【００３９】
図４に示す好ましい実施形態の例示的な例では、ローカルマッチ線Ａ、Ｂ、Ｃ、Ｄのうちの１つまたは複数のいずれかは、受信仮想アドレスの対応するビットに合致していない関連するグループにおけるビットによって、ローの電圧値にプルダウンされる。その結果、ＮＦＥＴ４０２、４０４、４０６、４０８は、オンにされてそのエントリのグロ―バルマッチ線をローにプルダウンする。先に述べたように、好ましい実施形態では、比較的少ない数のＦＥＴが各グロ―バルマッチ線のために実施されており、２つのグロ―バルマッチ線を放電するＦＥＴの数がさほど不均衡ではないので、グロ―バルマッチ線を放電するタイミング・スキューは最小化される。例えば、図４に示す実施例において、最も大きな不均衡な結果は、１個のＦＥＴが第１のグロ―バルマッチ線を放電し、かつ４個のＦＥＴが第２のグロ―バルマッチ線を放電する場合である。もちろん、他の実施例において４個以上のＦＥＴがグロ―バルマッチ線のために実施されてもよい。例えば、エントリについて誤ったヒットの検出を生じさせるタイミング・スキューを受けることなしに、１２個（またはそれ以上）のＦＥＴが１つのグロ―バルマッチ線のために実施されてもよい。他の実施形態（例えば、エントリが４個未満のビット・グループにわけられた場合）において、４個未満のＦＥＴが１つのグロ―バルマッチ線のために実施されてよいことも理解すべきである。さらに、好ましい実施形態では、ＮＦＥＴ４０２、４０４、４０６、４０８は、先行技術の実施形態でマッチ線を放電するために典型的に利用されるＮＦＥＴと比較して大きい。例えば、最も好ましい実施形態では、ＦＥＴ４０２、４０４、４０６、４０８のそれぞれは、２０μｍのＦＥＴで実施される。
【００４０】
図５を参照して好ましい実施形態をさらに説明する。図５では、図４のエントリにより出力されたグロ―バルマッチ線がグロ―バルマッチ線Ａで示される。例えば、グロ―バルマッチ線Ａは、それに接続された４個のＦＥＴ（すなわちＮＦＥＴ４０２、４０４、４０６、４０８）を含む。グロ―バルマッチ線Ａは、ＴＬＢの別のエントリのグロ―バルマッチ線とペアにされ、これもそれに接続された４個のＦＥＴ（すなわち、ＮＦＥＴ４６２、４６４、４６６、４６８）を有する。好ましくは、グロ―バルマッチ線ＡおよびＢは、互いに比較的近くにあるエントリのグロ―バルマッチ線である。最も好ましくは、グロ―バルマッチ線ＡおよびＢは、隣り合うエントリのグロ―バルマッチ線である。ペアにされたグロ―バルマッチ線（マッチ線Ａおよびマッチ線Ｂ）は、ＮＡＮＤゲート４４４に入力され、このゲートがマッチ評価信号４４６を出力する。この後でより詳細に述べるように、マッチ評価信号４４６は、グロ―バルマッチ線ＡおよびＢの関連するＴＬＢエントリに対して合致があるかを評価する適当な時を示し、エントリのうちの１つに合致があるときにワード線がつけられる。グロ―バルマッチ線ＡおよびＢが両方ともハイであるとき、ＮＡＮＤゲート４４４は、マッチ評価信号４４６についてローの電圧値を出力する。しかしながら、グロ―バルマッチ線ＡおよびＢの両方または１つがローに遷移する場合（関連するエントリについて合致されなかったことを示している）、ＮＡＮＤゲート４４４は、マッチ評価信号４４６のためにハイの値を出力し、それによりマッチ線ＡおよびＢの評価を実行することが可能であることが示される。好ましい実施形態では、両方のエントリは同時に（例えば並列に）仮想アドレスと比較される。したがって、マッチ線ＡおよびＢは、タイミングにおけるスキュー量を最小化して、ほぼ同時に評価のために読み取られるべきである。さらに、ＴＬＢにおいて１個のエントリだけが受信仮想アドレスに合致することができるので、グロ―バルマッチ線ＡおよびＢのうちの少なくとも１つは、合致していないことを示すために放電されなければならない。したがって、グロ―バルマッチ線ＡおよびＢのうちの一方がローに遷移する時間で、他方のマッチ線は、（他方のマッチ線も受信仮想アドレスに合致しない場合）放電されるべきである。このように、マッチ評価信号４４６を利用して、ＮＡＮＤゲート４４４によりマッチ評価信号がハイになる時間でグロ―バルマッチ線ＡおよびＢの評価がトリガされる。
【００４１】
図５はＴＬＢのエントリの１つのペアのための実施例を図示しているが、ＴＬＢに多くのエントリのペアが存在することは理解されるべきである。この点を説明するために、図６は、ＴＬＢにおけるエントリの２つのペアのために実施されるグロ―バルマッチ線回路を示す。図５と同様に、図６は、ＴＬＢのエントリにそれぞれ関連するグロ―バルマッチ線Ａおよびグロ―バルマッチ線Ｂを含む。グロ―バルマッチ線Ａおよびグロ―バルマッチ線Ｂは、最も好ましくは隣り合うマッチ線であり、ＮＡＮＤゲート４４４（これは図６でより詳細に示されている）に入力される。ＮＡＮＤゲート４４４は、グロ―バルマッチ線のペアのためにマッチ評価信号を出力する。それに加えて、グロ―バルマッチ線Ｃおよびグロ―バルマッチ線Ｄは、ＴＬＢの異なるエントリに関連づけられ、これらも好ましくは隣り合うエントリである。その様なグロ―バルマッチ線ＣおよびＤは、ＮＡＮＤゲート５４４に入力され、このゲートがグロ―バルマッチ線のペアのためにマッチ評価信号５４６を出力する。先に述べたように、最も好ましいペアのマッチ線は隣り合う線（例えば線ＡとＢ）である。しかしながら、さまざまな実施形態では、その様にペアにされるマッチ線は隣り合わないかもしれない。しかしながら、そのようなペアのマッチ線は、互いに比較的近くにあることが好ましい。
【００４２】
図７は、好ましい実施形態においてローカルマッチ線を検出するのに使用される例示的な擬似静的ＣＡＭ構造比較器（pseudo-static CAM structure comparative）を示す。好ましい実施形態では、その様な静的なＣＡＭ構造は、エントリのビット・グループ（例えばエントリのビット〔１：１３〕）を受信仮想アドレスの対応するビットと比較するために含まれている。その様な静的なＣＡＭ構造は、本分野で既知の一般的なデバイスである。図４のローカルマッチ線ＡおよびＢに対応するローカルマッチ線ＡおよびＢが示されている。様々な他のローカルマッチ線（例えば図４のローカルマッチ線ＣおよびＤ）が図７に示す態様で実施されることは理解されるべきである。図４と同様に、ローカルマッチ線Ａはそれに接続されたＮＦＥＴ（２０１から２１３）を有する。これらのＮＦＥＴは、対応するエントリのビット〔１：１３〕の１つまたは複数のいずれかが任意のビットに対して合致しない場合にローカルマッチ線Ａを放電させることができる。ローカルマッチ線Ａはインバータ４２２に入力され、このインバータはローカルマッチ線Ａの反転信号（ローカルＮ＿マッチＡとして示す）を出力する。ローカルＮ＿マッチＡはＮＦＥＴ４０２に入力される。同様に、ローカルマッチ線Ｂは、それに接続された１３個のＮＦＥＴ（２１４から２２６）を有する。これらのＮＦＥＴは、対応するエントリのビット〔１４：２６〕の１つまたは複数のいずれかが任意のビットに対して合致しない場合にローカルマッチ線Ｂを放電させることができる。ローカルマッチ線Ｂはインバータ４２４に入力され、このインバータはローカルマッチ線Ｂの反転信号（ローカルＮ＿マッチＢとして示す）を出力する。ローカルＮ＿マッチＢはＮＦＥＴ４０４に入力される。
【００４３】
図４に示すように、ＮＦＥＴ４０２および４０４は、マッチ線ＡおよびＢのいずれか（または両方）が受信仮想アドレスに合致しない場合にグロ―バルマッチ線を放電するために使用される。図７でより詳細に示すように、好ましい実施形態では、遅延パルスクロック信号（ＤＰＣＫ；delayed pulse clock signal）は、ローカルマッチを検出するために使用される。図７に示すように、ＤＰＣＫ信号は、ローカルマッチ線ＡおよびＢのために、それぞれＮＦＥＴ６２２および６２４を制御するよう入力される。同様に、好ましい実施形態ではクロック信号（ＣＫ；clock signal）もＰＦＥＴ６２６を制御するよう入力される。さらに、好ましい実施形態では、クロス接続されたインバータ（cross-coupled inverter）６３０と６３２が含まれ、出力値「Ｚ」を保持するためのラッチを提供し、それに接続されたローカルマッチ線のいずれかが合致していない信号を発した場合にグロ―バルマッチ線を放電するようＮＦＥＴ６２８が制御される。
【００４４】
図７の好ましい実施形態の動作を図８の例示的な波形で示す。図８は、図７のＣＫ、ＤＰＣＫ、ローカルマッチ線Ａ、ローカルマッチ線Ｂ、ＮＯＨ、Ｚ、およびグロ―バルマッチ線信号のための例示的な波形を示す。時間帯Ｔ０でＣＫはハイに遷移し、その後の任意の時間でＤＰＣＫはハイをパルスする。ＤＰＣＫを発する前で、かつＣＫが発せられた後の遅延量は、ローカルマッチ線の対応するビットについて合致がない場合、それに対応するＮＦＥＴ（例えばＮＦＥＴ２０１〜２１３および２１４〜２２６）がローカルマッチ線ＡおよびＢを放電することを可能にするような、充分長い設定時間である。先に述べたように、好ましい実施形態では、その様な遅延は比較的短い期間であり、これは、ローカルマッチ線がそれに接続された１つまたは複数のＮＦＥＴによって比較的速く放電されるからである。時間帯Ｔ０に示すように、ローカルマッチ線ＡおよびＢは、ＤＰＣＫパルス信号が発せられる前にローの電圧値に放電される（それらの対応するビットについて合致がないことを示す）。実際、好ましい実施形態では、ローカルマッチ線ＡおよびＢは、ＣＫ信号がハイに遷移する前までに放電する静的な信号である。ローカルマッチ線ＡおよびＢが時間帯Ｔ０でローの電圧値に放電されるので（合致していないことを示す）、インバータ４２２および４２４によって出力されるローカルＮ＿マッチＡおよびローカルＮ＿マッチＢの信号は、ハイの電圧レベルである（すなわち論理１）。したがって、ＤＰＣＫパルスが発せられるとき、ＮＦＥＴ４０２および６２２並びにＮＦＥＴ４０４および６２４がオンにされ、それによりＮＯＨをローの電圧レベルに放電する。これは、クロス接続されたインバータ６３０と６２２においてラッチされる。その結果、信号Ｚ（インバータ６３２の出力）は、（ＮＦＥＴ６２８をオンにする）ハイの電圧レベルになり、それによりグロ―バルマッチ線がローの電圧レベルに放電される。このように、ローカルマッチ線ＡおよびＢで合致がないことを起因として、グロ―バルマッチ信号が放電され、エントリについて合致がないことが示される。
【００４５】
時間帯Ｔ１で再びＣＫがハイに遷移し、その後の任意の時間でＤＰＣＫがハイをパルスする。再びＤＰＣＫを発する前で、かつＣＫが発せられた後の遅延量は、ローカルマッチ線の対応するビットについて合致がない場合、それに対応するＮＦＥＴ（例えばＮＦＥＴ２０１〜２１３および２１４〜２２６）がローカルマッチ線ＡおよびＢを放電することを可能にするような、充分長い設定時間である。時間帯Ｔ１に示すように、ローカルマッチ線ＡおよびＢは、ハイの電圧値にとどまる（それらの対応するビットについて合致があることを示している）。ローカルマッチ線ＡおよびＢは、時間帯Ｔ１の間、ハイの電圧レベルにとどまるので（合致を示しているので）、インバータ４２２および４２４により出力されるローカルＮ＿マッチＡおよびローカルＮ＿マッチＢの信号は、ローの電圧レベルになる（すなわち論理０）。したがって、ＤＰＣＫパルスが発せられるとき、ＮＦＥＴ４０２および４０４はオフのままであり、ＮＯＨ信号がハイの電圧レベルにとどまる。これは、クロス接続されたインバータ６３０と６３２においてラッチされる。その結果、信号Ｚ（インバータ６３２の出力）はローの電圧レベルになり、これは、ＮＦＥＴ６２８をオンにしない。その結果、グロ―バルマッチ線がハイの電圧レベルにとどまることできる（エントリについて合致を示す）。このように、ローカルマッチ線ＡおよびＢのビットが受信仮想アドレスに合致するので、グロ―バルマッチ信号が放電されず、その結果、エントリについて合致が示される。したがって、エントリのローカルマッチ線（図４のローカルマッチ線Ａ、Ｂ、Ｃ、Ｄ）の全てが合致を示していれば、グロ―バルマッチ線は、それに接続されたどのマッチ線によっても放電されない。
【００４６】
時間帯Ｔ２で再びＣＫがハイに遷移し、その後の任意の時間でＤＰＣＫがハイをパルスする。再びＤＰＣＫを発する前で、かつＣＫが発せられた後の遅延量は、ローカルマッチ線の対応するビットについて合致がない場合、それに対応するＮＦＥＴ（例えばＮＦＥＴ２０１〜２１３および２１４〜２２６）がローカルマッチ線ＡおよびＢを放電することを可能にするような、充分長い設定時間である。時間帯Ｔ２に示すように、ローカルマッチ線Ｂはハイの電圧値にとどまり（その対応するビットについて合致を示す）、ローカルマッチ線Ａはローの電圧値に遷移する（その対応するビットについて合致がないことを示す）。時間帯Ｔ２の間にローカルマッチ線Ｂがハイの電圧レベルにとどまるので、インバータ４２４により出力されるローカルＮ＿マッチＢ信号は、ローの電圧レベルである（すなわち論理０）。したがって、ＤＰＣＫ信号が発せられるとき、ＮＦＥＴ４０４はＮＯＨ信号を放電するためにオンにならない。しかしながら、時間帯Ｔ２の間にローカルマッチ線Ａがローの電圧レベルに放電されるので（合致していないことを示す）、インバータ４２２によって出力されるローカルＮ＿マッチＡ信号は、ハイの電圧レベルである（すなわち論理１）。したがって、ＤＰＣＫパルスが発せられるとき、ＮＦＥＴ４０２がオンにされ、それにより、ＮＯＨ信号がローの電圧レベルに放電し、これは、クロス接続されたインバータ６３０と６３２においてラッチされる。その結果、信号Ｚ（インバータ６３２の出力）はハイの電圧レベルであり、これがＮＦＥＴ６２８をオンにし、それによりグロ―バルマッチ線がローの電圧レベルに放電される（エントリについて合致がないことを示す）。このように、ローカルマッチ線の対応するビットが受信仮想アドレスに合致しない場合、グロ―バルマッチ線に接続されたローカルマッチ線のいずれかがグロ―バルマッチ線を放電することができる。
【００４７】
好ましい実施形態では、グロ―バルマッチ線のペアのための評価信号（例えば図５の信号４４６）は、グロ―バルマッチ線検出回路に入力される。図９は、例示的なグロ―バルマッチ線検出回路の好ましい実施形態を示す。図９では、好ましい実施形態におけるグロ―バルマッチ線のペア（すなわちグロ―バルマッチ線ＡおよびＢ）が入力されるＮＡＮＤゲート４４４が再び図示されている。このゲートがペアのためのマッチ評価信号４４６を出力する。図９は、好ましい実施形態におけるグロ―バルマッチ線Ａの実施例をより詳細に図示する。図示するように、グロ―バルマッチ線Ａが図４のグロ―バルマッチ線に対応し、ローカルマッチ線Ａ、Ｂ、Ｃ、ＤがＮＦＥＴ４０２、４０４、４０６、４０８をそれぞれ介してグロ―バルマッチ線Ａに接続される。ＰＲＥＣＫ信号（遅延されたクロック信号）は、ＰＦＥＴ７１４およびＮＦＥＴ７０２を制御するのに提供される。より具体的には、ＰＲＥＣＫがローのとき、ＰＲＥＴ７１４がオンにされ、グロ―バルマッチ線Ａがハイの電圧レベルに保持される。ＰＲＥＣＫがハイに遷移するとき、ＰＦＥＴ７１４は、オフにされ、それに接続されたローカルマッチ線のうちの１つまたは複数について合致がないことが検出された場合にグロ―バルマッチ線Ａを放電する。それに加えて、ＰＲＥＣＫは、ハイに遷移するときにＮＦＥＴ７０２をオンにする。グロ―バルマッチ線のペアに関するマッチ評価信号４４６は、ＮＦＥＴ７０４を制御するよう入力される。さらに、グロ―バルマッチ線Ａは、ＰＦＥＴ７０８およびＮＦＥＴ７０６を制御するよう入力され、これが、ＮＦＥＴ７０２および７０４と関連して動作し、ＮＲＷＯＲＤ  Ａ信号の値を制御する。ＮＲＷＯＲＤ  Ａ信号は、クロス接続されたインバータ７１０と７１２によりラッチされ、インバータ７１２の出力は、ＲＷＯＲＤ  Ａに信号を提供する。これは、グロ―バルマッチ線Ａに対応するＴＬＢエントリにより指定されたアドレスのアクセス（例えばリード動作）をトリガするのに使用される。
【００４８】
図９の好ましい実施形態の動作を図１０の例示的な波形によって示す。図１０は、図９のＣＫ、ＰＲＥＣＫ、グロ―バルマッチ線Ａ、グロ―バルマッチ線Ｂ、マッチ評価、およびＲＷＯＲＤ  Ａ線の信号のための例示的な波形を示す。時間帯Ｔ０でＣＫがハイに遷移し、その後の任意の時間でＰＲＥＣＫがハイに遷移する。時間帯Ｔ０に示すように、ＰＲＥＣＫがハイに遷移した後で、グロ―バルマッチ線ＡおよびＢはローの電圧値に放電される（その対応するローカルマッチ線について合致がないことを示す）。より具体的には、ＰＲＥＣＫがハイに遷移してＰＦＥＴ７１４をオフにし、かつＮＦＥＴ７０２をオンにする。ＮＦＥＴ４０２、４０４、４０６、４０８のうちの１つまたは複数は、それらの各ローカルマッチ線によって合致がないことが示されているので、グロ―バルマッチ線Ａをローの電圧に放電する。グロ―バルマッチ線ＡおよびＢの両方が最初にハイにあるので、ＮＡＮＤゲート４４４により出力されるマッチ評価信号４４６は、はじめにローの電圧値である。したがって、ＮＦＥＴ７０２は、はじめにオフにされる。グロ―バルマッチ線Ａの信号がＮＦＥＴ４０２、４０４、４０６、および／または４０８によってローにプルダウンされるとき、マッチ評価信号４４６がハイに遷移し、それによりＮＦＥＴ７０４がオンにされる。それに加えて、グロ―バルマッチ線Ａがローの電圧値であるので、ＮＦＥＴ７０６はオンにされない。したがって、ＮＲＷＯＲＤ  Ａの信号は、ハイの電圧値にプルアップされ、これは、クロス接続されたインバータ７１０および７１２においてラッチされる。このため、インバータ７１２により出力されるＲＷＯＲＤ  Ａ信号は、ローの電圧値であり、メモリアクセス（例えばリード動作）がグロ―バルマッチ線ＡのＴＬＢエントリのアドレスのためにトリガされないことが示される。図１０に示すように、時間帯Ｔ０では、グロ―バルマッチ線Ｂについても合致はない（これは、前述したようにグロ―バルマッチ線Ａに対するものと同様にして起きる）。
【００４９】
時間帯Ｔ１でＣＫが再びハイに遷移し、その後の任意の時間でＰＲＥＣＫがハイに遷移する。Ｔ１の時間帯に示すように、ＰＲＥＣＫがハイに遷移した後でグロ―バルマッチ線Ｂがローの電圧値に放電され（その対応するローカルマッチ線が合致していないことを示す）、グロ―バルマッチ線Ａがハイの電圧値にとどまる（その対応するローカルマッチ線について合致を示す）。グロ―バルマッチ線Ａでは、ＰＲＥＣＫがハイに遷移するとき、ＰＦＥＴ７１４がオフにされ、ＮＦＥＴ７０２がオンにされる。各ローカルマッチ線の全てが合致を示しているので、全ＮＦＥＴ（４０２、４０４、４０６、４０８）がグロ―バルマッチ線をローの電圧値に放電しない。グロ―バルマッチ線ＡおよびＢが最初にハイであるので、ＮＡＮＤゲート４４４により出力されるマッチ評価信号４４６は、はじめにローの電圧値である。したがって、ＮＦＥＴ７０２は、はじめにオフにされる。グロ―バルマッチ線Ｂの信号が、それに接続されたＮＦＥＴによってローにプルダウンされるとき（関連するローカルマッチ線のうちの１つまたは複数について合致がないことを示す）、マッチ評価信号４４６はハイに遷移し、それによりＮＦＥＴ７０４をオンにする。それに加えて、グロ―バルマッチ線Ａがハイの電圧値であるので、ＮＦＥＴ７０６がオンにされる。したがって、ＮＦＥＴ７０６、７０４、７０２は、ＮＲＷＯＲＤ  Ａ信号をローの電圧値に放電するよう動作する。これは、クロス接続されたインバータ７１０と７１２においてラッチされる。このため、インバータ７１２によって出力されるＲＷＯＲＤ  Ａ信号は、ハイの電圧値であり、グロ―バルマッチ線ＡのＴＬＢエントリのアドレスに対するメモリアクセス（リード動作）をトリガする。したがって、グロ―バルマッチ線Ａに関連付けられたエントリについて合致が迅速に検出され、対応するアドレスのアクセスがすぐにトリガされることが可能になる。
【００５０】
時間帯Ｔ２でＣＫが再びハイに遷移し、その後の任意の時間でＰＲＥＣＫがハイに遷移する。時間帯Ｔ２に示すように、ＰＲＥＣＫがハイに遷移した後でグロ―バルマッチ線ＡおよびＢは、ローの電圧値に放電される（それらの対応するローカルマッチ線について合致がないことを示す）。より具体的には、ＰＲＥＣＫがハイに遷移して、ＰＦＥＴ７１４をオフにし、かつＮＦＥＴ７０２をオンにする。それらの各ローカルマッチ線が合致していないことを示しているので、ＮＦＥＴ４０２、４０４、４０６、４０８は、グロ―バルマッチ線Ａをローの電圧値に放電する。グロ―バルマッチ線ＡおよびＢは最初にハイであるので、ＮＡＮＤゲート４４４により出力されるマッチ評価信号４４６は、はじめはローの電圧値である。したがって、ＮＦＥＴ７０２は、はじめにオフにされる。グロ―バルマッチ線Ａの信号がＮＦＥＴ４０２、４０４、４０６、および／または４０８によってローにされるとき、マッチ評価信号４４６がハイに遷移し、それによりＮＦＥＴ７０４がオンにされる。それに加えて、グロ―バルマッチ線Ａがローの電圧値であるので、ＮＦＥＴ７０６がオンにされない。したがって、ＮＲＷＯＲＤＡの信号は、ハイの電圧値にプルアップされ、これは、クロス接続されたインバータ７１０と７１２においてラッチされる。このため、インバータ７１２によって出力されたＲＷＯＲＤ  Ａ信号はローの電圧値であり、グロ―バルマッチ線ＡのＴＬＢエントリのアドレスに対するメモリアクセス（リード動作）がトリガされない。図１０に示すように、時間帯Ｔ２ではグロ―バルマッチ線Ｂについても合致がない（これは、前述したようにグロ―バルマッチ線Ａに対するものと同様にして起きる）。
【００５１】
最も好ましい実施形態では、ＴＬＢ回路はマイクロプロセッサ・チップ（集積回路）上のキャッシュに対して実施される。しかしながら、好ましい実施形態のＴＬＢ回路がＴＬＢを利用する任意の種類のチップ（集積回路）上で実施されてもよいことは理解されるべきである。さらに、好ましい実施形態がプロセッサを有するあらゆる種類のコンピュータシステム内で実施されてよいことも理解されるべきである。その様なコンピュータシステムには、パーソナル・コンピュータ（ＰＣ）、ラップトップ・コンピュータ、および携帯情報端末（例えばパームトップＰＣ）などが含まれる。
【００５２】
本発明とその利点を詳細に述べたけれども、様々な変形、置換、および代替が、請求の範囲およびその精神から離れることなく実施可能なことは理解されるべきである。さらに、本発明の応用例の範囲が本明細書の実施例に記載した特定の実施形態の範囲に制限されないことが意図される。この発明と同じ目的を果たす他の構造を修正または設計するための基礎として、記載された概念および特定の実施形態を容易に利用することができることは本分野の当業者に明らかである。したがって、請求の範囲は、そのようなものが含まれることを意図している。
【００５３】
この発明は例として次の実施形態も含む。
（１）メモリアクセス要求に応じるためのメモリアクセス方法であって、
ＴＬＢにおいてメモリアクセス要求のための仮想アドレスを受信し、
前記仮想アドレスと前記ＴＬＢのエントリの少なくとも第１のビット・グループとを比較し、
前記少なくとも第１のビット・グループについて前記仮想アドレスとの合致があるかどうかを示す少なくとも第１のローカルマッチ信号を生成し、
前記ＴＬＢのエントリについて、前記少なくとも第１のローカルマッチ信号によって示されるように合致があるかどうかを示すグローバルマッチ信号を生成し、
前記グローバルマッチ信号が前記エントリについて合致があることを示している場合、該エントリによって示される物理アドレスをアクセスするメモリアクセス方法。
【００５４】
（２）各エントリについて合致がないことを示す複数のグローバルマッチ信号のうちの少なくとも１つに基づいて、該複数のグローバルマッチ信号の評価信号４４６をトリガするステップを含む（１）に記載の方法。
【００５５】
（３）前記複数のグローバルマッチ信号がグローバルマッチ信号４４６のペアである（２）に記載の方法。
【００５６】
（４）前記複数のグローバルマッチ線の信号４４６が互いに近くにある（２）に記載の方法。
【００５７】
（５）前記複数のグローバルマッチ線の信号４４６、５４４が隣り合う信号である（４）に記載の方法。
【００５８】
（６）前記トリガするステップは、
前記複数のグローバルマッチ信号をＮＡＮＤゲート４４４に入力し、
前記ＮＡＮＤゲートの出力に基づいて前記複数のグローバルマッチ信号の評価をトリガすることを含む（２）に記載の方法。
【００５９】
（７）前記比較ステップは、前記仮想アドレスと前記エントリの複数のビットのグループとを比較することを含む（１）に記載の方法。
【００６０】
（８）前記複数のビットのグループが前記エントリの一部である（７）に記載の方法。
【００６１】
（９）前記エントリが５２ビットのエントリであり、前記複数のグループが該エントリの少なくとも４つのビット・グループを含む（８）に記載の方法。
【００６２】
（１０）前記少なくとも第１のローカルマッチ信号２０１を生成するステップが、前記エントリの異なるビット・グループごとに、複数のローカルマッチ線信号（２０１、２１３、２１４、２２６）を生成することを含む（１）に記載の方法。
【図面の簡単な説明】
【図１】先行技術のＴＬＢの実施例。
【図２】図２Ａはダミー列とダミー行を利用する別の先行技術のＴＬＢの実施例を示し、図２Ｂは図２Ａの波形を示す。
【図３】先行技術の典型的なバディ・セルフタイム式実施例。
【図４】好ましい実施形態のローカルマッチ用比較回路の概略図。
【図５】好ましい実施形態のグローバルマッチ回路の実施例。
【図６】好ましい実施形態におけるＴＬＢの２つのエントリのペアのためのグローバルマッチ回路の実施例。
【図７】好ましい実施形態においてローカルマッチを検出するのに使用される例示的な擬似静的ＣＡＭ構造比較回路。
【図８】図７の好ましい実施形態の動作を図示する例示的な波形。
【図９】好ましい実施形態の例示的なグローバルマッチ線検出回路。
【図１０】図９の好ましい実施形態の動作を図示する例示的な波形。
【符号の説明】
２０１      ＮＦＥＴ
２１３      ＮＦＥＴ
４２２      インバータ
４４６      マッチ評価信号
４４４      ＮＡＮＤゲート
【図１】
0003792520.tif 000002
【図２】
0003792520.tif 000003
【図３】
0003792520.tif 000004
【図４】
0003792520.tif 000005
【図５】
0003792520.tif 000006
【図６】
0003792520.tif 000007
【図７】
0003792520.tif 000008
【図８】
0003792520.tif 000009
【図９】
0003792520.tif 000010
【図１０】
0003792520.tif 000011