(57)【要約】【課題】小さな電力消費で高速に仮想アドレスから物理アドレスに変換できるＴＬＢを提供する。【解決手段】タグエントリ部８０８内には、ＡＳＩＤ保持部８１０、仮想アドレス保持部８１１、バリッドビット部８１２、ＡＳＩＤ比較判定部１０２、仮想アドレス比較判定部１０４とを備えている。ＡＳＩＤ保持部８１０の複数のＣＡＭセル８１３は、ＡＳＩＤマッチライン１０５によって並列に接続されてＡＳＩＤ比較判定部１０２に接続され、仮想アドレス保持部８１１の複数のＣＡＭセル８１３およびバリッドビット部８１２内のＣＡＭセル８１３は、仮想アドレスマッチライン１０６によって並列に接続されて、仮想アドレス比較判定部１０４に接続されている。そして、ＡＳＩＤ比較判定部１０２からは、仮想アドレス比較判定部１０４にＡＳＩＤ有効信号１０７が与えられる。【選択図】        図１
2004164395.tif 000002
【特許請求の範囲】
【請求項１】
仮想アドレスから物理アドレスへのアドレス変換を行うアドレス変換装置であって、
前記物理アドレスのデータを保持するデータエントリ部と、
前記データエントリ部のタグとして、アドレス空間識別子および仮想アドレスを記憶するタグエントリ部とを備え、
前記タグエントリ部は、
前記アドレス空間識別子を保持するアドレス空間識別子保持部と、
前記アドレス空間識別子保持部に保持されたアドレス空間識別子保持値と、新たに入力されるアドレス空間識別子入力値とを比較するアドレス空間識別子比較判定部と、
前記仮想アドレスを保持する仮想アドレス保持部と、
前記仮想アドレス保持部に保持された仮想アドレス保持値と、新たに入力される仮想アドレス入力値とを比較する仮想アドレス比較判定部とを備え、
前記仮想アドレス比較判定部は、
その出力ラインをチャージするためのチャージ回路および前記出力ラインへのチャージを禁止するチャージ禁止回路を有し、前記アドレス空間識別子保持値と前記アドレス空間識別子入力値とが一致する場合には、前記仮想アドレス保持値と前記仮想アドレス入力値との比較を行い、その結果に基づいて前記出力ラインの電位状態を制御して前記アドレス変換の実行、非実行を規定し、前記アドレス空間識別子保持値と前記アドレス空間識別子入力値とが不一致の場合には、前記チャージ禁止回路により前記出力ラインへのチャージを禁止するアドレス変換装置。
【請求項２】
前記アドレス空間識別子保持部および前記仮想アドレス保持部は連想メモリで構成され、
前記アドレス空間識別子保持部を構成する連想メモリセルは、アドレス空間識別子比較用マッチラインに接続されるとともに、前記アドレス空間識別子比較判定部に接続され、
前記仮想アドレス保持部を構成する連想メモリセルは、仮想アドレス比較用マッチラインに接続されるとともに、前記仮想アドレス比較判定部に接続され、
前記仮想アドレス比較判定部は、前記アドレス空間識別子比較判定部での比較結果信号を受け、前記アドレス空間識別子保持値と前記アドレス空間識別子入力値とが一致する場合には、前記仮想アドレス比較用マッチラインをフローティング状態に保ち、少なくとも前記仮想アドレス保持値と前記仮想アドレス入力値との比較を行う、請求項１記載のアドレス変換装置。
【請求項３】
前記タグエントリ部のデータが、有効か否かの情報を保持するバリッドビット部をさらに備え、
前記バリッドビット部は連想メモリで構成され、
前記仮想アドレス比較用マッチラインは、前記バリッドビット部を構成する連想メモリセルにも接続され、
前記仮想アドレス比較判定部は、
前記バリッドビット部に保持されたバリッドビット保持値と、新たに入力されるバリッドビット入力値との比較を併せて行う、請求項２記載のアドレス変換装置。
【請求項４】
仮想アドレスから物理アドレスへのアドレス変換を行うアドレス変換装置であって、
前記物理アドレスのデータを保持するデータエントリ部と、
前記データエントリ部のタグとして、アドレス空間識別子および仮想アドレスを記憶するタグエントリ部とを備え、
前記タグエントリ部は、
前記タグエントリ部のデータが、有効か否かの情報を保持するバリッドビット部と、
前記アドレス空間識別子を保持するアドレス空間識別子保持部と、
前記アドレス空間識別子保持部に保持されたアドレス空間識別子保持値および前記バリッドビット部に保持されたバリッドビット保持値と、新たに入力されるアドレス空間識別子入力値およびバリッドビット入力値とを比較するアドレス空間識別子比較判定部と、
前記仮想アドレスを保持する仮想アドレス保持部と、
前記仮想アドレス保持部に保持された仮想アドレス保持値と、新たに入力される仮想アドレス入力値とを比較する仮想アドレス比較判定部と、を備え、
前記仮想アドレス比較判定部は、
前記アドレス空間識別子保持値および前記バリッドビット保持値と、前記アドレス空間識別子入力値および前記バリッドビット入力値とがそれぞれ一致する場合には、前記仮想アドレス保持値と前記仮想アドレス入力値との比較を行い、その結果に基づいて前記アドレス変換の実行、非実行を規定し、前記アドレス空間識別子保持値および前記バリッドビット保持値と、前記アドレス空間識別子入力値および前記バリッドビット入力値とがそれぞれ不一致の場合には、その出力ラインに予め定めた所定の値を出力する、アドレス変換装置。
【請求項５】
前記アドレス空間識別子保持部、前記仮想アドレス保持部および前記バリッドビット部は連想メモリで構成され、
前記アドレス空間識別子保持部を構成する連想メモリセルおよび前記バリッドビット部を構成する連想メモリセルは、アドレス空間識別子比較用マッチラインによって並列に接続されるとともに、前記アドレス空間識別子比較判定部に接続され、
前記仮想アドレス保持部を構成する連想メモリセルは、仮想アドレス比較用マッチラインに接続されるとともに、前記仮想アドレス比較判定部に接続され、
前記仮想アドレス比較判定部は、前記アドレス空間識別子比較判定部での比較結果信号を受け、前記アドレス空間識別子保持値および前記バリッドビット保持値と、前記アドレス空間識別子入力値および前記バリッドビット入力値とが一致する場合には、前記仮想アドレス比較用マッチラインをフローティング状態に保ち、前記仮想アドレス保持値と前記仮想アドレス入力値との比較を行う、請求項４記載のアドレス変換装置。
【請求項６】
前記アドレス空間識別子比較判定部は、
ＭＯＳトランジスタと、
ラッチと、を備え、
前記ＭＯＳトランジスタは、
第１の主電極が電源に接続され、第２の主電極が前記アドレス空間識別子比較用マッチラインに接続され、制御電極に比較動作を制御する比較制御信号が与えられ、
前記ラッチは、
データ入力端子が前記アドレス空間識別子比較用マッチラインに接続され、制御入力端子に前記比較制御信号が与えられ、出力端子から前記比較結果信号が出力される、請求項２または請求項５記載のアドレス変換装置。
【請求項７】
前記仮想アドレス比較判定部は、
直列に接続された導電型の異なる第１および第２のＭＯＳトランジスタと、
インバータと、
ＯＲゲートと、を備え、
前記第１のＭＯＳトランジスタは、
第１の主電極が第１の電源に接続され、第２の主電極が前記仮想アドレス比較用マッチラインに接続され、前記仮想アドレス比較用マッチラインを前記出力ラインとしても使用し、
前記第２のＭＯＳトランジスタは、第１の主電極が前記仮想アドレス比較用マッチラインに接続され、第２の主電極が第２の電源に接続され、
前記インバータは、
その入力に前記比較結果信号が与えられ、その出力は前記第２のＭＯＳトランジスタの制御電極および前記ＯＲゲートの一方の入力に接続され、
前記ＯＲゲートは、
その他方の入力に、比較動作を制御する比較制御信号が与えられ、その出力が前記第１のＭＯＳトランジスタの制御電極に接続される、請求項２または請求項５記載のアドレス変換装置。
【請求項８】
前記アドレス空間識別子比較判定部は、
外部から与えられる外部信号を受け、前記比較結果信号および前記外部信号の一方を選択して、前記仮想アドレス比較判定部に与える機能をさらに有し、
前記アドレス変換装置は、
前記比較結果信号を外部に出力する出力経路をさらに有する、請求項２または請求項５記載のアドレス変換装置。
【請求項９】
前記アドレス空間識別子比較判定部は、
ＭＯＳトランジスタと、
ラッチと、
セレクタと、
ＯＲゲートと、を備え、
前記ＭＯＳトランジスタは、
第１の主電極が電源に接続され、第２の主電極が前記アドレス空間識別子比較用マッチラインに接続され、制御電極に比較動作を制御する比較制御信号が与えられ、
前記セレクタは、
選択動作の制御信号として選択制御信号が与えられ、入力信号として前記アドレス空間識別子比較用マッチラインの信号および前記外部信号が与えられ、その出力は前記ラッチのデータ入力端子に与えられ、
前記ＯＲゲートは、
その一方の入力に前記比較制御信号が与えられ、
その他方の入力に前記選択制御信号が与えられ、その出力が前記ラッチの制御入力端子に与えられ、
前記ラッチの出力端子から、前記比較結果信号または前記外部信号が出力される、請求項８記載のアドレス変換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は仮想アドレスから物理アドレスに変換を行うアドレス変換装置に関し、特に、仮想メモリシステムを扱う中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  ＰｒｏｃｅｓｓｉｎｇＵｎｉｔ）に付属して用いられるメモリ管理機構（ＭＭＵ：Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）内のアドレス変換用のトランスレーション・ルックアサイド・バッファ（以下ＴＬＢと呼称）に関する。
【０００２】
【従来の技術】
仮想メモリシステムを扱うＣＰＵは、命令およびデータをアクセスする際に論理メモリ空間上の仮想メモリアドレスを出力する。しかし、実際の命令およびデータは物理空間上の物理アドレスに保持されているため、ＭＭＵを用いて仮想アドレスから物理アドレスに変換を行う。この際、アドレス変換を高速に行うためにＭＭＵ内に備えたＴＬＢを用いる。
【０００３】
仮想メモリシステムを用いる半導体装置の従来技術としては、例えば、特許文献１に、連想メモリ（ＣＡＭ：Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）セルをタグ部として用いたアドレス変換緩衝回路の構成が示されている。すなわち、多重仮想記憶空間の個々の空間の識別を行うためのプロセス識別番号と、アクセスのための実効アドレスを、タグ部において比較する構成が示されている。
【０００４】
また、特許文献２には、仮想アドレスから物理アドレスへのアドレス変換に使用されるＴＬＢの高速化のためにマッチラインの寄生容量を低減するＣＡＭの構成例が示されている。
【０００５】
【特許文献１】特開平４−２６２４３６号公報（第１欄〜第２欄、図３、４）
【特許文献２】特開平７−２８２５８７号公報（第１３欄〜第１４欄、図４）
【０００６】
【発明が解決しようとする課題】
仮想アドレスから物理アドレスへのアドレス変換は高速で行うことが要求され、従来からマッチラインの寄生容量を低減するなどして、アドレス変換の高速化が図られてきたが、十分な高速化は達成していないのが現状である。
【０００７】
この発明は上記のような問題点を解消するためになされたもので、小さな電力消費で高速に仮想アドレスから物理アドレスに変換できるＴＬＢを提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係る請求項１記載のアドレス変換装置は、仮想アドレスから物理アドレスへのアドレス変換を行うアドレス変換装置であって、前記物理アドレスのデータを保持するデータエントリ部と、前記データエントリ部のタグとして、アドレス空間識別子および仮想アドレスを記憶するタグエントリ部とを備え、前記タグエントリ部は、前記アドレス空間識別子を保持するアドレス空間識別子保持部と、前記アドレス空間識別子保持部に保持されたアドレス空間識別子保持値と、新たに入力されるアドレス空間識別子入力値とを比較するアドレス空間識別子比較判定部と、前記仮想アドレスを保持する仮想アドレス保持部と、前記仮想アドレス保持部に保持された仮想アドレス保持値と、新たに入力される仮想アドレス入力値とを比較する仮想アドレス比較判定部とを備え、前記仮想アドレス比較判定部は、その出力ラインをチャージするためのチャージ回路および前記出力ラインへのチャージを禁止するチャージ禁止回路を有し、前記アドレス空間識別子保持値と前記アドレス空間識別子入力値とが一致する場合には、前記仮想アドレス保持値と前記仮想アドレス入力値との比較を行い、その結果に基づいて前記出力ラインの電位状態を制御して前記アドレス変換の実行、非実行を規定し、前記アドレス空間識別子保持値と前記アドレス空間識別子入力値とが不一致の場合には、前記チャージ禁止回路により前記出力ラインへのチャージを禁止する。
【０００９】
本発明に係る請求項４記載のアドレス変換装置は、仮想アドレスから物理アドレスへのアドレス変換を行うアドレス変換装置であって、前記物理アドレスのデータを保持するデータエントリ部と、前記データエントリ部のタグとして、アドレス空間識別子および仮想アドレスを記憶するタグエントリ部とを備え、前記タグエントリ部は、前記タグエントリ部のデータが、有効か否かの情報を保持するバリッドビット部と、前記アドレス空間識別子を保持するアドレス空間識別子保持部と、前記アドレス空間識別子保持部に保持されたアドレス空間識別子保持値および前記バリッドビット部に保持されたバリッドビット保持値と、新たに入力されるアドレス空間識別子入力値およびバリッドビット入力値とを比較するアドレス空間識別子比較判定部と、前記仮想アドレスを保持する仮想アドレス保持部と、前記仮想アドレス保持部に保持された仮想アドレス保持値と、新たに入力される仮想アドレス入力値とを比較する仮想アドレス比較判定部とを備え、前記仮想アドレス比較判定部は、前記アドレス空間識別子保持値および前記バリッドビット保持値と、前記アドレス空間識別子入力値および前記バリッドビット入力値とがそれぞれ一致する場合には、前記仮想アドレス保持値と前記仮想アドレス入力値との比較を行い、その結果に基づいて前記アドレス変換の実行、非実行を規定し、前記アドレス空間識別子保持値および前記バリッドビット保持値と、前記アドレス空間識別子入力値および前記バリッドビット入力値とがそれぞれ不一致の場合には、その出力ラインに予め定めた所定の値を出力する。
【００１０】
【発明の実施の形態】
＜Ａ．実施の形態１＞
＜Ａ−１．装置構成＞
＜Ａ−１−１．全体構成＞
まず、図１を用いて本発明に係る実施の形態１のトランスレーション・ルックアサイド・バッファ（ＴＬＢと呼称）１００の構成について説明する。
【００１１】
図１に示すように、ＴＬＢ１００は、動作を制御する制御部８０５、仮想アドレスを保持するタグ部８０６、タグ部８０６に保持された仮想アドレスに対応する物理アドレスを保持するデータ部８０７とを主たる構成として備えている。
【００１２】
制御部８０５には、外部にあるＣＰＵ（図示せず）から出力される仮想アドレスが、仮想アドレス入力経路８０１を通して与えられ、また、アクセスがどのアドレス空間に対応するかを示すアドレス空間識別子（ＡＳＩＤと呼称）を保持するＡＳＩＤレジスタ８０２から、ＡＳＩＤがＡＳＩＤ入力経路８０３を通して与えられる。なお、ＡＳＩＤレジスタ８０２からは、ＡＳＩＤレジスタ８０２の内容が変更されたことを制御部８０５に通知するＡＳＩＤレジスタ変更通知信号１０１が与えられる構成となっている。
【００１３】
そして、制御部８０５からは、外部に向けて物理アドレスが物理アドレス出力経路８０４を通して出力される構成となっている。
【００１４】
また、制御部８０５とタグ部８０６との間は、制御部８０５からタグ部８０６にＡＳＩＤを入力するＡＳＩＤ送信経路８１４、ＡＳＩＤ比較判定動作を制御するＡＳＩＤ比較制御信号２０３の送信経路１０３、制御部８０５からタグ部８０６に仮想アドレスを入力する仮想アドレス送信経路８１５、制御部８０５からタグ部８０６にバリッドビットデータを入力するバリッドビットデータ送信経路８１６、および制御部８０５からタグ部８０６に比較判定動作を制御する仮想アドレス比較制御信号１００２を入力する制御信号送信経路８１８によって接続されている。
【００１５】
また、制御部８０５とデータ部８０７との間は、データ部８０７から読み出された物理アドレスを制御部８０５に送る物理アドレス送信経路８２１によって接続されている。
【００１６】
＜Ａ−１−２．タグ部の構成＞
タグ部８０６は、組をなすＡＳＩＤおよび仮想アドレスを保持するタグエントリ部８０８を複数備えている。
【００１７】
そして、タグエントリ部８０８内には、ＡＳＩＤを保持するＡＳＩＤ保持部８１０、仮想アドレスを保持する仮想アドレス保持部８１１、タグエントリ部８０８に保持されているデータが有効か否かの情報を保持するバリッドビット部８１２、入力されたＡＳＩＤと、タグエントリ部８０８内のＡＳＩＤ保持部８１０での保持内容との比較判定を行うＡＳＩＤ比較判定部１０２、入力された仮想アドレスとタグエントリ部８０８内の仮想アドレス保持部８１１での保持内容および入力されたバリッドビットデータとバリッドビット部８１２での保持内容との比較判定を行う仮想アドレス比較判定部１０４とを備えている。
【００１８】
なお、ＡＳＩＤ比較判定部１０２および仮想アドレス比較判定部１０４は各タグエントリ部８０８ごとに１つずつ備えられている。
【００１９】
ここで、ＡＳＩＤ保持部８１０および仮想アドレス保持部８１１は、複数の連想メモリセル（ＣＡＭセルと呼称）８１３で構成され、バリッドビット部８１２は、１つのＣＡＭセルで構成されている。なお、バリッドビット部８１２は、例えば、データを全く有さないタグエントリ部８０８においては、バリッドビット部８１２のＣＡＭセル８１３にはデータ０を保持し、何らかのデータを有するタグエントリ部８０８においては、バリッドビット部８１２のＣＡＭセル８１３にはデータ１を保持するなど、比較的簡単な情報によって、タグエントリ部８０８に保持されているデータが有効か否かを明示するものである。
【００２０】
そして、タグエントリ部８０８内のＡＳＩＤ保持部８１０の複数のＣＡＭセル８１３は、ＡＳＩＤマッチライン１０５によって並列に接続されるとともに、ＡＳＩＤ比較判定部１０２に接続されている。なお。ＡＳＩＤマッチライン１０５は、ＡＳＩＤの比較動作に際して使用される。
【００２１】
また。タグエントリ部８０８内の仮想アドレス保持部８１１の複数のＣＡＭセル８１３およびバリッドビット部８１２内のＣＡＭセル８１３は、仮想アドレスマッチライン１０６によって並列に接続されるとともに、そのタグエントリ８０８に対応する仮想アドレス比較判定部１０４に接続されている。なお、仮想アドレスマッチライン１０６は、仮想アドレスおよびバリッドビットの比較動作に際して使用される。
【００２２】
また、ＡＳＩＤ比較判定部１０２からは、仮想アドレス比較判定部１０４にＡＳＩＤ有効信号１０７が与えられる構成となっている。
【００２３】
＜Ａ−１−３．データ部の構成＞
データ部８０７は、１つの物理アドレスのデータを保持するデータエントリ部８０９を複数備えており、データエントリ部８０９の個数は、タグ部８０６におけるタグエントリ部８０８と同数であり、１つのデータエントリ部８０９と１つのタグエントリ部８０８とで、対になって動作する。
【００２４】
すなわち、個々のデータエントリ部８０９に対して、タグとして機能するものが対をなすタグエントリ部８０８であり、タグ部８０６内の各タグエントリ部８０８における仮想アドレスマッチライン１０６の値は、比較結果通知経路８２０を介してデータ部８０７に送られ、タグエントリ部８０８と対をなすデータエントリ部８０９に与えられる。
【００２５】
＜Ａ−１−４．ＡＳＩＤ比較判定部の構成＞
図２にＡＳＩＤ比較判定部１０２の回路構成の一例を示す。図２に示すようにＡＳＩＤ比較判定部１０２は、Ｐチャネル型のＭＯＳトランジスタ２０１と、ラッチ２０２とを備えている。
【００２６】
ＭＯＳトランジスタ２０１のソースは電源ＰＳに、ドレインはＡＳＩＤマッチライン１０５に各々接続される。また、ＭＯＳトランジスタ２０１のゲートは、ＡＳＩＤ比較動作を制御するＡＳＩＤ比較制御信号２０３（比較制御信号）が与えられる。
【００２７】
また、ラッチ２０２の制御入力端子（Ｃ）には、ＡＳＩＤ比較制御信号２０３が与えられ、データ入力端子（Ｄ）は、ＡＳＩＤマッチライン１０５に接続される。
【００２８】
そして、ラッチ２０２の出力端子（Ｏ）からは、ＡＳＩＤ有効信号１０７が出力され、仮想アドレス比較判定部１０４に与えられる。
【００２９】
＜Ａ−１−５．仮想アドレス比較判定部の構成＞
図３に仮想アドレス比較判定部１０４の回路構成の一例を示す。図３に示すように、仮想アドレス比較判定部１０４は、Ｐチャネル型のＭＯＳトランジスタ３０１、Ｎチャネル型のＭＯＳトランジスタ３０２、インバータ３０３およびＯＲゲート３０４を備えている。
【００３０】
ＭＯＳトランジスタ３０１のソースは電源ＰＳに、ドレインは仮想アドレスマッチライン１０６に接続され、ＭＯＳトランジスタ３０２のソースはグランドＧＮＤに、ドレインは仮想アドレスマッチライン１０６に接続されている。
【００３１】
インバータ３０３の入力にはＡＳＩＤ有効信号１０７が与えられ、その出力はＭＯＳトランジスタ３０２のゲートおよびＯＲゲート３０４の一方の入力に接続される。
【００３２】
また、ＯＲゲート３０４の他方の入力には、比較動作を制御する仮想アドレス比較制御信号１００２（比較制御信号）が与えられ、その出力はＭＯＳトランジスタ３０１のゲートに接続され、インバータ３０３の出力はＮチャネルトランジスタ３０２のゲートに接続される。ここで、仮想アドレス比較制御信号１００２は、制御部８０５から制御信号送信経路８１８を介してタグ部８０６の各タグエントリ部８０８に対応する仮想アドレス比較判定部１０４に与えられる信号である。
【００３３】
＜Ａ−１−６．ＣＡＭセルの構成＞
図４にＣＡＭセル８１３の回路構成の一例を示す。図４に示すように、ＣＡＭセル８１３は、ＴＬＢ１００の動作状態に応じて、ＡＳＩＤ、仮想アドレスおよびバリッドビットデータの何れかを保持するメモリ回路９０１と、ＣＭＯＳトランスミッションゲート（以下ＴＧと呼称）９０３Ａおよび９０３Ｂと、Ｎチャネル型のＭＯＳトランジスタ９０５とを備えている。
【００３４】
メモリ回路９０１は、ワード線ＷＬにゲートが接続されたＮチャネル型のＭＯＳトランジスタ９０１１および９０１２と、逆並列に接続されたインバータ９０１３および９０１４を有している。
【００３５】
インバータ９０１３の入力およびインバータ回路９０１４の出力はＭＯＳトランジスタ９０１１のソースに接続され、ＭＯＳトランジスタ９０１１のドレインは、ビット線ＢＬ１に接続されている。また、インバータ９０１３の出力およびインバータ回路９０１４の入力はＭＯＳトランジスタ９０１２のソースに接続され、ＭＯＳトランジスタ９０１２のドレインは、ビット線ＢＬ２に接続されている。
【００３６】
そして、ＭＯＳトランジスタ９０１１のソースからは、メモリ回路９０１が保持する値の正論理値を示すメモリ正信号９０２Ａが出力され、また、ＭＯＳトランジスタ９０１２のソースからは、メモリ回路９０１が保持する値の負論理値を示すメモリ負信号９０２Ｂが出力される。
【００３７】
また、メモリ正信号９０２Ａは、ＴＧ９０３Ａを構成するＰチャネル型のＭＯＳトランジスタのゲートおよび、ＴＧ９０３Ｂを構成するＮチャネル型のＭＯＳトランジスタのゲートに与えられる構成となっている。
【００３８】
また、メモリ正信号９０２Ｂは、ＴＧ９０３Ａを構成するＮチャネル型のＭＯＳトランジスタのゲートおよび、ＴＧ９０３Ｂを構成するＰチャネル型のＭＯＳトランジスタのゲートに与えられる構成となっている。
【００３９】
そして、ＴＧ９０３Ａのソースには比較正信号９０４Ａが、ＴＧ９０３Ｂのソースには比較負信号９０４Ｂが与えられ、ＴＧ９０３ＡおよびＴＧ９０３ＢのドレインはＭＯＳトランジスタ９０５のゲートに接続されている。
【００４０】
ここで、比較正信号９０４Ａは、制御部８０５から入力されるＡＳＩＤもしくは仮想アドレスもしくはバリッドビットデータの正論理値を示す信号である。
【００４１】
また、比較負信号９０４Ｂは、制御部８０５から入力されるＡＳＩＤもしくは仮想アドレスもしくはバリッドビットデータの負論理値を示す信号である。
【００４２】
なお、ＭＯＳトランジスタ９０５のドレインはＡＳＩＤマッチライン１０５（または仮想アドレスマッチライン１０６）に接続され、ソースはグランドＧＮＤに接続される。
【００４３】
＜Ａ−２．装置動作＞
次にＴＬＢ１００の動作について、図１〜図３を参照しつつ説明する。
まず、ＴＬＢ１００がアドレス変換動作を行っていないときは、制御部８０５からＡＳＩＤ比較制御信号送信経路１０３を介してタグ部８０６の各タグエントリ部８０８のＡＳＩＤ比較判定部１０２に与えられるＡＳＩＤ比較制御信号がＬレベル（低電位レベル）になっている。
【００４４】
このため、ＡＳＩＤ比較判定部１０２（図２）のＭＯＳトランジスタ２０１がオン状態となり、ＡＳＩＤマッチライン１０５がＨレベル（高電位レベル）にチャージされている。
【００４５】
そして、ＡＳＩＤレジスタ８０２の内容が書き換えられた場合、ＡＳＩＤレジスタ変更通知信号１０１によりＡＳＩＤレジスタ８０２の内容が書き換えられたことが制御部８０５に通知される。
【００４６】
ＡＳＩＤレジスタ８０２の内容が書き換えられたことが制御部８０５に通知された場合、もしくはタグ部８０６の何れかのタグエントリ部８０８のＡＳＩＤ保持部８１０の保持内容が変更された場合、制御部８０５はＡＳＩＤ比較動作を開始する。
【００４７】
すなわち、ＡＳＩＤレジスタ８０２の内容が書き換えられた場合を例に採れば、制御部８０５は、複数のタグエントリ部８０８の全てに対して、書き換えられたＡＳＩＤレジスタ８０２の内容（ＡＳＩＤ入力値）と、ＡＳＩＤ保持部８１０の保持内容（ＡＳＩＤ保持値）との比較動作（ＡＳＩＤ比較動作）を実行する。
【００４８】
なお、ＡＳＩＤ保持部８１０の保持内容が変更される場合とは、タグエントリ部８０８内のデータを書き換えるような場合であり、ＡＳＩＤレジスタ８０２の書き換えとは異なる動作である。
【００４９】
ＡＳＩＤ比較動作を行う場合、ＡＳＩＤレジスタ８０２に保持されているＡＳＩＤがＡＳＩＤ入力経路８０３を介して制御部８０５に入力される。また、ＡＳＩＤ比較動作を行う場合、制御部８０５からＡＳＩＤ比較制御信号送信経路１０３を介してタグ部８０６の各タグエントリ部８０８のＡＳＩＤ比較判定部１０２に与えられるＡＳＩＤ比較制御信号がＨレベルになっている。
【００５０】
ＡＳＩＤ比較制御信号がＨレベルになると、ＡＳＩＤ比較判定部１０２のＰチャネルトランジスタ２０１がオフ状態になる。
【００５１】
次に、制御部８０５からＡＳＩＤ送信経路８１４を介してＡＳＩＤがタグ部８０６に与えられ、各タグエントリ部８０８のＡＳＩＤ保持部８１０の複数のＣＡＭセル８１３に与えられる。
【００５２】
なお、ＡＳＩＤ保持部８１０に与えられるＡＳＩＤは、各々の対応するＣＡＭセル８１３（図４）に、その正論理値が比較正信号９０４Ａとして、その負論理値が比較負信号９０４Ｂとして与えられる。
【００５３】
＜Ａ−２−１．ＣＡＭセル、タグ部の動作＞
ＣＡＭセル８１３では、メモリ回路９０１がデータ１を保持している場合はメモリ正信号９０２ＡがＨレベルに、メモリ負信号９０２ＢがＬレベルになっており、メモリ回路９０１がデータ０を保持している場合にはメモリ正信号９０２ＡがＬレベルに、メモリ負信号９０２ＢがＨレベルになっている。
【００５４】
そして、メモリ回路９０１が、データ１を保持している場合はＴＧ９０３Ａがオフ状態でＴＧ９０３Ｂがオン状態に、データ０を保持している場合はＴＧ９０３Ａがオン状態でＴＧ９０３Ｂがオフ状態になっている。
【００５５】
従って、メモリ回路９０１が、データ１を保持している場合には比較負信号９０４ＢがＴＧ９０３Ｂを介してＭＯＳトランジスタ９０５のゲートに与えられ、データ０を保持している場合には比較正信号９０４ＡがＴＧ９０３Ａを介してＭＯＳトランジスタ９０５のゲートに与えられる。
【００５６】
このため、メモリ回路９０１がデータ１を保持している場合に、比較値が１のとき、すなわち、比較正信号９０４ＡがＨレベルで比較負信号９０４ＢがＬレベルのときは、ＭＯＳトランジスタ９０５のゲートがＬレベルとなり、ＭＯＳトランジスタ９０５がオフ状態となる。
【００５７】
また、メモリ回路９０１がデータ０を保持している場合に、比較値が０のとき、すなわち比較正信号９０４ＡがＬレベルで比較負信号９０４ＢがＨレベルのときは、ＭＯＳトランジスタ９０５のゲートがＬレベルとなり、ＭＯＳトランジスタ９０５はオフ状態となる。
【００５８】
一方、メモリ回路９０１がデータ１を保持している場合に、比較値が０のとき、すなわち比較正信号９０４ＡがＬレベルで比較負信号９０４ＢがＨレベルのときは、ＭＯＳトランジスタ９０５のゲートがＨレベルとなり、ＭＯＳトランジスタ９０５がオン状態となる。
【００５９】
また、メモリ回路９０１がデータ０を保持している場合に、比較値が１のとき、すなわち比較正信号９０４ＡがＨレベルで比較負信号９０４ＢがＬレベルのときは、Ｎチャネルトランジスタ９０５のドレインがＨレベルとなりＭＯＳトランジスタ９０５はオン状態となる。
【００６０】
つまり、メモリ回路９０１の保持値と比較値が一致しているときは、ＭＯＳトランジスタ９０５がオフ状態となり、不一致の場合はＭＯＳトランジスタ９０５がオン状態となる。
【００６１】
この結果、ＡＳＩＤマッチライン１０５は、ＡＳＩＤ保持部８１０内の全てのＣＡＭセル８１３でメモリ回路９０１の保持値と比較値とが一致している場合は、各ＣＡＭセル８１３内のＭＯＳトランジスタ９０５がオフ状態となるのでＨレベルを維持する。一方、ＡＳＩＤ保持部８１０内の複数のＣＡＭセル８１３のうち、１つでもメモリ回路９０１の保持値と比較値とが不一致の場合は、不一致のＣＡＭセル８１３内のＭＯＳトランジスタ９０５がオン状態になっているので、ＨレベルからＬレベルにディスチャージされる。
【００６２】
例えば、ＡＳＩＤ保持部８１０では、保持しているＡＳＩＤと入力されるＡＳＩＤとが全て一致した場合には、ＡＳＩＤマッチライン１０５はＨレベルを維持し、保持しているＡＳＩＤと入力されるＡＳＩＤとが１つでも不一致の場合には、ＡＳＩＤマッチライン１０５はＬレベルにディスチャージされることになる。
【００６３】
同様に、仮想アドレス保持部８１１においては、保持している仮想アドレスと入力される仮想アドレスとが全て一致した場合には、仮想アドレスマッチライン１０６はＨレベルを維持し、保持している仮想アドレスと入力される仮想アドレスとが１つでも不一致の場合には、仮想アドレスマッチライン１０６はＬレベルにディスチャージされることになる。
【００６４】
＜Ａ−２−２．ＡＳＩＤ比較判定部、仮想アドレス比較判定部の動作＞
制御部８０５からＡＳＩＤ比較制御信号送信経路１０３を介してタグ部８０６に与えられるＡＳＩＤ比較制御信号がＨレベルの場合、各タグエントリ部８０８内のＡＳＩＤ比較判定部１０２に接続されているＡＳＩＤ比較制御信号２０３（図２）がＨレベルとなる。
【００６５】
ＡＳＩＤ比較判定部１０２内のラッチ２０２は、ＡＳＩＤマッチライン１０５の値を取り込み、ＡＳＩＤ比較動作が終了しＡＳＩＤ比較制御信号２０３がＬレベルになると、取り込んだＡＳＩＤマッチライン１０５の値を保持する。
【００６６】
ラッチ２０２の出力端子（Ｏ）からは、ＡＳＩＤ有効信号１０７が出力され、このＡＳＩＤ比較判定部１０２を有するタグエントリ部８０８に対応して設けられた仮想アドレス比較判定部１０４に入力される。
【００６７】
すなわち、ＡＳＩＤ比較動作の結果、入力されたＡＳＩＤと保持しているＡＳＩＤが一致するタグエントリ部８０８では、そのＡＳＩＤマッチライン１０５はＨレベルを維持し、ＨレベルのＡＳＩＤ有効信号１０７が、対応する仮想アドレス比較判定部１０４に入力される。
【００６８】
一方、入力されたＡＳＩＤと保持しているＡＳＩＤが不一致のタグエントリ部８０８では、そのＡＳＩＤマッチライン１０５はＬレベルにディスチャージされ、ＬレベルのＡＳＩＤ有効信号１０７が、対応する仮想アドレス比較判定部１０４に入力される。
【００６９】
仮想アドレス比較判定部１０４では、ＡＳＩＤ有効信号１０７がＬレベルの場合、インバータ３０３（図３）およびＯＲゲート３０４を介してＭＯＳトランジスタ３０１のゲートにはＨレベルの信号が与えられ、また、インバータ３０３を介して、ＭＯＳトランジスタ３０２のゲートにはＨレベルの信号が与えられる。
【００７０】
従って、ＭＯＳトランジスタ３０１はオフ状態に、ＭＯＳトランジスタ３０２はオン状態になり、仮想アドレスマッチライン１０６はＭＯＳトランジスタ３０２を介してディスチャージされてＬレベルになる。
【００７１】
また、ＡＳＩＤ有効信号１０７がＨレベルの場合、インバータ３０３を介してＭＯＳトランジスタ３０２のゲートにはＬレベルの信号が与えられ、また、ＯＲゲート３０４を介してＭＯＳトランジスタ３０１のゲートには仮想アドレス比較制御信号１００２と同レベルの信号が与えられる。
【００７２】
従って、ＭＯＳトランジスタ３０２はオフ状態になり、ＭＯＳトランジスタ３０１は、仮想アドレス比較制御信号１００２がＬレベルの場合はオン状態になり、仮想アドレス比較制御信号１００２がＨレベルの場合はオフ状態になる。
【００７３】
なお、ＴＬＢ１００がアドレス変換動作をしていないときは、仮想アドレス比較制御信号１００２がＬレベルになっている。
【００７４】
このため、ＡＳＩＤ有効信号１０７がＨレベルのタグエントリ部８０８に対応する仮想アドレス比較判定部１０４では、ＭＯＳトランジスタ３０１がオン状態となり、仮想アドレスマッチライン１０６がＨレベルにチャージされている。
【００７５】
一方、ＡＳＩＤ有効信号１０７がＬレベルのタグエントリ部８０８に対応する仮想アドレス比較判定部１０４では、ＭＯＳトランジスタ３０２がオン状態となり仮想アドレスマッチライン１０６はＬレベルにディスチャージされている。
【００７６】
なお、電源ＰＳ、ＭＯＳトランジスタ３０１およびそれらを接続するとともに、ＭＯＳトランジスタ３０１のドレインを仮想アドレスマッチライン１０６に接続する配線等で構成する回路は、機能的には出力ラインでもある仮想アドレスマッチライン１０６をチャージするためのチャージ回路であると言うことができ、また、ＯＲゲート３０４と、それらの入力ラインおよび出力ライン等で構成する回路は、機能的には出力ラインでもある仮想アドレスマッチライン１０６へのチャージを禁止するチャージ禁止回路であると言うことができる。
【００７７】
＜Ａ−２−３．仮想アドレスから物理アドレスへの変換＞
仮想アドレスから物理アドレスへの変換を行うのに先だって、仮想アドレス比較判定部１０４において仮想アドレスの比較動作を行う。
【００７８】
そのために、まず仮想アドレスが仮想アドレス入力経路８０１を介して制御部８０５に入力される。次に、制御部８０５から制御信号送信経路８１８を介して各仮想アドレス比較判定部１０４に与えられる仮想アドレス比較制御信号１００２がＨレベルとなり、ＭＯＳトランジスタ３０１（図３）がオフ状態になる。このとき、既にＭＯＳトランジスタ３０２はオフ状態になっているので、仮想アドレスマッチライン１０６はＨレベルを維持した状態でフローティング状態となる。
【００７９】
次に、仮想アドレスが制御部８０５から仮想アドレス送信経路８１５を介してタグ部８０６の各タグエントリ部８０８に入力され、各仮想アドレス保持部８１１の複数のＣＡＭセル８１３に与えられる。
【００８０】
また、バリッドビットデータが制御部８０５からバリッドビットデータ送信経路８１６を介してタグ部８０６に入力され、各タグエントリ部８０８のバリッドビット部８１２のＣＡＭセル８１３に与えられる。
【００８１】
なお、仮想アドレス保持部８１１およびバリッドビット部８１２に与えられる仮想アドレスおよびバリッドビットデータは、各々の対応するＣＡＭセル８１３に、その正論理値が比較正信号９０４Ａとして、その負論理値が比較負信号９０４Ｂとして与えられる。
【００８２】
そして、仮想アドレス保持部８１１およびバリッドビット部８１２内のＣＡＭセル８１３では、先に説明した動作で、保持値と比較値との比較が行われる。
【００８３】
すなわち、各タグエントリ部８０８の仮想アドレスマッチライン１０６は、そのタグエントリ部８０８の仮想アドレス保持部８１１およびバリッドビット部８１２に含まれる全てのＣＡＭセル８１３において、メモリ回路９０１の保持値と比較値が一致している場合はＨレベルを維持し、１つでも不一致の場合はＬレベルにディスチャージされる。
【００８４】
つまり、各タグエントリ部８０８ごとに保持している仮想アドレスおよびバリッドビットデータと、入力される仮想アドレスおよびバリッドビットデータが全て一致した場合は、仮想アドレスマッチライン１０６はＨレベルを維持し、１つでも不一致の場合は、仮想アドレスマッチライン１０６はＬレベルにディスチャージされる。そして、仮想アドレス比較判定部１０４での比較動作の結果、仮想アドレスマッチライン１０６がＨレベルを維持する場合、そのタグエントリ部８０８が、入力されたＡＳＩＤおよび仮想アドレスに対応する物理アドレスを有するデータエントリ部８０９のタグであるということになる。
【００８５】
仮想アドレスの比較動作が終わると、所定のタイミングで仮想アドレスマッチライン１０６の値（ここではＨレベル）が、比較結果通知経路８２０を介してデータ部８０７に与えられ、Ｈレベルが与えられたデータエントリ部８０９に保持された物理アドレスが物理アドレス送信経路８２１を介して制御部８０５に送られ、さらに物理アドレス出力経路８０４を介して出力され、仮想アドレスから物理アドレスへの変換が実行される。なお出力された物理アドレスは、外部のキャッシュメモリや周辺回路に与えられる。
【００８６】
なお、仮想アドレスの比較動作の結果、保持値と比較値とが一致しない場合は、仮想アドレスマッチライン１０６はＬレベルにディスチャージされ、当該タグエントリ部８０８は、入力されたＡＳＩＤおよび仮想アドレスに対応する物理アドレスを有するデータエントリ部８０９のタグではないということになる。また、仮想アドレスマッチライン１０６はＬレベルであるので、データ部８０７に与えられてもアドレス変換は実行されない。
【００８７】
なお、仮想アドレスマッチライン１０６は、仮想アドレス保持部８１１およびバリッドビット部８１２での保持値と比較値とが不一致の場合はＬレベルにディスチャージされるとして説明したが、一致する場合にＬレベルにディスチャージするように構成することも可能であり、本発明は、その場合にも適用可能である。
【００８８】
＜Ａ−３．効果＞
以上説明したように、ＴＬＢ１００においては、ＡＳＩＤ保持部８１０に入力されたＡＳＩＤと、保持されたＡＳＩＤとの比較結果を出力するＡＳＩＤマッチライン１０５を設けるとともに、仮想アドレス保持部８１１およびバリッドビット部８１２に入力された仮想アドレスおよびバリッドビットデータと、保持された仮想アドレスおよびバリッドビットデータとの比較結果を出力する仮想アドレスマッチライン１０６とを設け、ＡＳＩＤマッチライン１０５にはＡＳＩＤ比較判定部１０２を接続したので、ＡＳＩＤレジスタ８０２の内容が書き換えられた場合、もしくは何れかのタグエントリ部８０８のＡＳＩＤ保持部８１０の保持内容が変更された場合に、ＡＳＩＤについてのみ比較動作を行うことができる。
【００８９】
また、仮想アドレスから物理アドレスへの変換動作を行う際には、仮想アドレスおよびバリッドビットデータについてのみ比較動作を行うことになる。
【００９０】
この結果、仮想アドレスから物理アドレスへの変換動作を行う際には、仮想アドレス保持部８１１およびバリッドビット部８１２の配線容量およびディスチャージトランジスタ（各ＣＡＭセル８１３内のＭＯＳトランジスタ９０５）のドレイン容量に対する電荷のみをディスチャージすればよく、ＡＳＩＤ保持部８１０の配線容量およびディスチャージトランジスタのドレイン容量に対する電荷についてはディスチャージせずに済むので消費電力を減らすことができ、また比較速度も向上させることができる。
【００９１】
また、ＡＳＩＤ比較結果をＡＳＩＤ有効信号１０７として仮想アドレス比較判定部１０４に与えることで、ＡＳＩＤの比較結果が不一致の場合、仮想アドレスマッチライン１０６をＬレベルに固定し、仮想アドレスから物理アドレスへの変換動作を行う際にはＡＳＩＤの比較結果が一致したタグエントリ部８０８のみ仮想アドレスの比較対象にするように仮想アドレス比較判定部１０４を構成したので、ＡＳＩＤの比較結果が不一致のタグエントリ部８０８の仮想アドレスマッチライン１０６のディスチャージによる消費電力を削減することができる。
【００９２】
＜Ｂ．実施の形態２＞
＜Ｂ−１．装置構成＞
図５を用いて本発明に係る実施の形態２のＴＬＢ２００の構成について説明する。なお、図１に示したＴＬＢ１００と同一の構成については同一の符号を付し、重複する説明は省略する。
【００９３】
図５に示すように、ＴＬＢ２００は、各タグエントリ部８０８において、ＡＳＩＤアドレスマッチライン４０１によって、ＡＳＩＤ保持部８０８の複数のＣＡＭセル８１３と、バリッドビット部８１２のＣＡＭセル８１３とが並列に接続されるとともに、ＡＳＩＤ比較判定部１０２Ａにも接続されている。
【００９４】
また、仮想アドレス保持部８１１の複数のＣＡＭセル８１３と、当該仮想アドレス保持部８１１を含むタグエントリ部８０８に対応する仮想アドレス比較判定部１０４Ａとが、仮想アドレスマッチライン４０２によって接続されている。
【００９５】
ここで、ＡＳＩＤ比較判定部１０２Ａは、タグエントリ部８０８に入力されたＡＳＩＤおよびバリッドビットデータと、ＡＳＩＤ保持部８１０およびバリッドビット部８１２での保持内容との比較判定を行い、仮想アドレス比較判定部１０４Ａは、タグエントリ部８０８に入力された仮想アドレスと仮想アドレス保持部８１１の保持内容との比較判定を行う。
【００９６】
なお、ＡＳＩＤ比較判定部１０２Ａの構成は、図２を用いて説明したＡＳＩＤ比較判定部１０２と同様であるが、ＡＳＩＤアドレスマッチライン１０５がＡＳＩＤアドレスマッチライン４０１に代わることになる。
【００９７】
また、仮想アドレス比較判定部１０４Ａの構成は、図３を用いて説明した仮想アドレス比較判定部１０４と同様であるが、仮想アドレスマッチライン１０６が仮想アドレスマッチライン４０２に代わることになる。
【００９８】
＜Ｂ−２．装置動作＞
次にＴＬＢ２００の動作について、図５を参照しつつ説明する。なお、アドレス変換動作を行っていない場合の動作はＴＬＢ１００と同じであるので説明は省略する。
【００９９】
ＡＳＩＤレジスタ８０２の内容が書き換えられた場合、ＡＳＩＤレジスタ変更通知信号１０１によりＡＳＩＤレジスタ８０２の内容が書き換えられたことが制御部８０５に通知される。
【０１００】
ＡＳＩＤレジスタ８０２の内容が書き換えられたことが制御部８０５に通知された場合、もしくはタグ部８０６の何れかのタグエントリ部８０８のＡＳＩＤ保持部８１０の保持内容が変更された場合、制御部８０５はＡＳＩＤ比較動作を開始する。
【０１０１】
ＡＳＩＤ比較動作を行う場合、ＡＳＩＤレジスタ８０２に保持されているＡＳＩＤがＡＳＩＤ入力経路８０３を介して制御部８０５に入力される。また、ＡＳＩＤ比較動作を行う場合、制御部８０５からＡＳＩＤ比較制御信号送信経路１０３を介してタグ部８０６の各タグエントリ部８０８のＡＳＩＤ比較判定部１０２に与えられるＡＳＩＤ比較制御信号がＨレベルになっている。
【０１０２】
ＡＳＩＤ比較制御信号がＨレベルになると、ＡＳＩＤ比較判定部１０２のＰチャネルトランジスタ２０１がオフ状態になる。
【０１０３】
次に、制御部８０５からＡＳＩＤ送信経路８１４を介してＡＳＩＤがタグ部８０６に与えられ、各タグエントリ部８０８のＡＳＩＤ保持部８１０の複数のＣＡＭセル８１３に与えられる。
【０１０４】
また、バリッドビットデータが制御部８０５からバリッドビットデータ送信経路８１６を介してタグ部８０６に入力され、各タグエントリ部８０８のバリッドビット部８１２のＣＡＭセル８１３に与えられる。
【０１０５】
なお、ＡＳＩＤ保持部８１０およびバリッドビット部８１２に与えられるＡＳＩＤおよびバリッドビットデータは、各々の対応するＣＡＭセル８１３（図４）に、その正論理値が比較正信号９０４Ａとして、その負論理値が比較信号９０４Ｂとして与えられる。
【０１０６】
なお、ＡＳＩＤ保持部８１０およびバリッドビット部８１２内のＣＡＭセル８１３では先に説明した動作で、保持値と比較値との比較が行われる。
【０１０７】
すなわち、各タグエントリ部８０８のＡＳＩＤマッチライン４０１は、そのタグエントリ部８０８のＡＳＩＤ保持部８１０およびバリッドビット部８１２に含まれる全てのＣＡＭセル８１３において、メモリ回路９０１の保持値と比較値が一致している場合はＨレベルを維持し、ＣＡＭセル８１３うちの１つでもメモリ回路９０１の保持値と比較値が不一致の場合はＬレベルにディスチャージされる。
【０１０８】
つまり、各タグエントリ部８０８ごとに保持しているＡＳＩＤおよびバリッドビットデータと、入力されるＡＳＩＤおよびバリッドビットデータとが一致した場合は、ＡＳＩＤマッチライン４０１はＨレベルを維持し、不一致の場合は、ＡＳＩＤマッチライン４０１はＬレベルにディスチャージされる。
【０１０９】
なお、ＡＳＩＤ比較判定部１０２Ａの動作は、実施の形態１で説明したＡＳＩＤ比較判定部１０２と同様であり、重複する説明は省略するが、ＡＳＩＤ比較動作の結果、入力されたＡＳＩＤおよびバリッドビットデータと保持しているＡＳＩＤおよびバリッドビットデータとが一致するタグエントリ部８０８では、そのＡＳＩＤマッチライン４０１はＨレベルを維持し、ＨレベルのＡＳＩＤ有効信号１０７が、対応する仮想アドレス比較判定部１０４Ａに入力される。
【０１１０】
一方、入力されたＡＳＩＤおよびバリッドビットデータと保持しているＡＳＩＤおよびバリッドビットデータとが不一致のタグエントリ部８０８では、そのＡＳＩＤマッチライン４０１はＬレベルにディスチャージされ、ＬレベルのＡＳＩＤ有効信号１０７が、対応する仮想アドレス比較判定部１０４Ａに入力される。
【０１１１】
なお、アドレス変換動作をしていないときの仮想アドレス比較判定部１０４Ａの動作は、実施の形態１で説明した仮想アドレス比較判定部１０４Ａと同様であり、重複する説明は省略する。
【０１１２】
仮想アドレスから物理アドレスへの変換を行うのに先だって、仮想アドレス比較判定部１０４Ａにおいて仮想アドレスの比較動作を行う。そのために、まず仮想アドレスが仮想アドレス入力経路８０１を介して制御部８０５に入力される。次に、制御部８０５から制御信号送信経路８１８を介して各仮想アドレス比較判定部１０４に与えられる仮想アドレス比較制御信号１００２がＨレベルとなり、Ｐチャネルトランジスタ３０１（図３）がオフ状態になる。このとき、既にＭＯＳトランジスタ３０２はオフ状態になっているので、仮想アドレスマッチライン４０２はＨレベルを維持した状態でフローティング状態となる。
【０１１３】
次に、仮想アドレスが制御部８０５から仮想アドレス送信経路８１５を介してタグ部８０６の各タグエントリ部８０８に入力され、各仮想アドレス保持部８１１の複数のＣＡＭセル８１３に与えられる。
【０１１４】
なお、仮想アドレス保持部８１１に与えられる仮想アドレスは、各々の対応するＣＡＭセル８１３に、その正論理値が比較正信号９０４Ａとして、その負論理値が比較負信号９０４Ｂとして与えられる。
【０１１５】
そして、仮想アドレス保持部８１１内のＣＡＭセル８１３では、先に説明した動作で、保持値と比較値との比較が行われる。
【０１１６】
すなわち、各タグエントリ部８０８の仮想アドレスマッチライン４０２は、そのタグエントリ部８０８の仮想アドレス保持部８１１内の全てのＣＡＭセル８１３において、メモリ回路９０１の保持値と比較値が一致している場合はＨレベルを維持し、ＣＡＭセル８１３のうち、１つでもメモリ回路９０１の保持値と比較値が不一致の場合はＬレベルにディスチャージされる。
【０１１７】
仮想アドレスの比較動作が終わると、所定のタイミングで仮想アドレスマッチライン４０２の値（ここではＨレベル）が、比較結果通知経路８２０を介してデータ部８０７に与えられ、Ｈレベルが与えられたデータエントリ部８０９に保持された物理アドレスが物理アドレス送信経路８２１を介して制御部８０５に送られ、さらに物理アドレス出力経路８０４を介して出力され、仮想アドレスから物理アドレスへの変換が終了する。
【０１１８】
なお、仮想アドレスマッチライン４０２は、仮想アドレス保持部８１１での保持値と比較値とが不一致の場合はＬレベルにディスチャージされるとして説明したが、一致する場合にＬレベルにディスチャージするように構成することも可能であり、本発明は、その場合にも適用可能である。
【０１１９】
＜Ｂ−３．効果＞
以上説明したように、ＴＬＢ２００においては、ＡＳＩＤ保持部８１０およびバリッドビット部８１２に入力されたＡＳＩＤおよびバリッドビットデータと、保持されたＡＳＩＤおよびバリッドビットデータとの比較結果を出力するＡＳＩＤマッチライン４０１を設けるとともに、仮想アドレス保持部８１１に入力された仮想アドレスと、保持された仮想アドレスとの比較結果を出力する仮想アドレスマッチライン４０２とを設け、ＡＳＩＤマッチライン４０１にはＡＳＩＤ比較判定部１０２を接続したので、ＡＳＩＤレジスタ８０２の内容が書き換えられた場合、もしくは何れかのタグエントリ部８０８のＡＳＩＤ保持部８１０の保持内容もしくはバリッドビット部８１２の保持内容が変更された場合に、ＡＳＩＤおよびバリッドデータについてのみ比較動作を行うことができる。
【０１２０】
また、仮想アドレスから物理アドレスへの変換動作を行う際には仮想アドレスのみ比較動作を行うことができる。
【０１２１】
この結果、仮想アドレスから物理アドレスへの変化の動作を行う際には、仮想アドレス保持部８１１の配線容量およびディスチャージトランジスタ（各ＣＡＭセル８１３内のＭＯＳトランジスタ９０５）のドレイン容量に対する電荷のみをディスチャージすればよく、ＡＳＩＤ保持部８１０の配線容量およびディスチャージトランジスタのドレイン容量に対する電荷についてはディスチャージせずに済むので消費電力を減らすことができ、また比較速度も向上させることができる。
【０１２２】
なお、ＡＳＩＤレジスタ８０２が変更される頻度は、仮想アドレスから物理アドレスへの変換動作を行う頻度に比べて少なく、ＡＳＩＤおよびバリッドデータについて比較動作を行うとしても、消費電力の増加による影響は少ない。
【０１２３】
また、ＡＳＩＤ比較時にＡＳＩＤに加えてバリッドビットデータも比較するようにしたので、各タグエントリ部８０８の内、保持内容が有効でかつ保持しているＡＳＩＤがＡＳＩＤレジスタ８０２の内容と一致している場合のみＡＳＩＤ有効信号１０７をＨレベルに、それ以外の場合をＬレベルにできる。
【０１２４】
このＡＳＩＤ有効信号１０７を仮想アドレス比較判定部１０４Ａに与えることで、保持内容が無効、または保持しているＡＳＩＤがＡＳＩＤレジスタ８０２の内容と不一致の場合、仮想アドレスマッチライン４０２をＬレベルに固定し、仮想アドレスから物理アドレスへの変換動作を行う際には保持内容が有効でかつ、保持しているＡＳＩＤがＡＳＩＤレジスタ８０２の値と一致したタグエントリ部８０８のみ仮想アドレスの比較対象とするように、仮想アドレス比較判定部１０４を構成したので、保持内容が無効または保持しているＡＳＩＤの比較結果が不一致のタグエントリ部８０８の仮想アドレスマッチライン４０２のディスチャージによる消費電力を削減することができる。
【０１２５】
＜Ｃ．実施の形態３＞
＜Ｃ−１．装置構成＞
＜Ｃ−１−１．全体構成＞
図６を用いて本発明に係る実施の形態３のＴＬＢ３００の構成について説明する。なお、図１に示したＴＬＢ１００と同一の構成については同一の符号を付し、重複する説明は省略する。
【０１２６】
図５に示すように、ＴＬＢ３００は、ＴＬＢ１００におけるＡＳＩＤ比較判定部１０２に代えて、ＡＳＩＤ比較判定部５０１を有している。そして、ＡＳＩＤ比較判定部５０１には、テストデータ制御信号５０２（選択制御信号）およびテストデータ入力信号５０３（外部信号）が与えられる構成となっている。
【０１２７】
ここで、テストデータ制御信号５０２およびテストデータ入力信号５０３は、例えば、半導体チップ上に設けたテスト用回路や、チップ外部のテスタなどから与えられるＴＬＢの動作テストのための信号である。
【０１２８】
また、ＡＳＩＤ比較判定部５０１においては、ＡＳＩＤ比較判定部１０２と同様にＡＳＩＤ有効信号１０７が生成されるが、ＡＳＩＤ有効信号１０７は、仮想アドレス比較判定部１０４に与えられるだけでなく、外部にも出力される構成となっている。
【０１２９】
なお、ＡＳＩＤ有効信号１０７を外部に出力する経路および外部からテストデータ入力信号５０３を入力する経路を含めて、テストデータ入出力経路５０４と呼称する。
【０１３０】
＜Ｃ−１−２．ＡＳＩＤ比較判定部の構成＞
図７にＡＳＩＤ比較判定部５０１の回路構成の一例を示す。図７に示すようにＡＳＩＤ比較判定部５０１は、Ｐチャネル型のＭＯＳトランジスタ２０１と、ラッチ２０２と、セレクタ６０１と、ＯＲゲート６０２とを備えている。
【０１３１】
ＭＯＳトランジスタ２０１のソースは電源ＰＳに、ドレインはＡＳＩＤマッチライン１０５に各々接続される。また、ＭＯＳトランジスタ２０１のゲートには、ＡＳＩＤ比較動作を制御するＡＳＩＤ比較制御信号２０３が与えられる。
【０１３２】
セレクタ６０１には、選択動作の制御信号としてテストデータ制御信号５０２が入力され、入力信号として、ＡＳＩＤマッチライン１０５の信号およびテストデータ入力信号５０３が与えられ、その出力はラッチ２０２のデータ入力端子（Ｄ）に与えられる。
【０１３３】
また、ＯＲゲート６０２には、テストデータ制御信号５０２およびＡＳＩＤ比較制御信号２０３が与えられ、その出力はラッチ２０２の制御入力端子（Ｃ）に与えられる。
【０１３４】
そして、ラッチ２０２の出力端子（Ｏ）からは、ＡＳＩＤ有効信号１０７が出力され、仮想アドレス比較判定部１０４に与えられる。
【０１３５】
＜Ｃ−２．装置動作＞
次にＴＬＢ３００の動作について、図６および図７を参照しつつ説明する。なお、基本的な動作はＴＬＢ１００と同じであるので重複する説明は省略し、ＡＳＩＤ比較判定部５０１の動作を中心に説明する。
【０１３６】
セレクタ６０１は、テストデータ制御信号５０２としてＬレベルの信号が与えられる場合は、ＡＳＩＤマッチライン１０５が選択されるように構成されており、ＡＳＩＤマッチライン１０５の信号が、ラッチ２０２のデータ入力端子（Ｄ）に入力される。また、テストデータ制御信号５０２がＬレベルのときは、ＯＲゲート６０２の出力は、ＡＳＩＤ比較制御信号２０３と一致する。
【０１３７】
従って、テストデータ制御信号５０２としてＬレベルの信号が与えられる場合は、実質的に実施の形態１のＴＬＢ１００と同じ構成となり、ＴＬＢ１００と同じＡＳＩＤ比較動作および仮想アドレスから物理アドレスへの変換動作を行うことになる。
【０１３８】
一方、テストデータ制御信号５０２としてＨレベルの信号が与えられる場合は、テストデータ入力信号５０３が選択されるようにセレクタ６０１が構成されており、テストデータ入力信号５０３がラッチ２０２のデータ入力端子（Ｄ）に入力される。
【０１３９】
また、テストデータ制御信号５０２がＨレベルのときは、ラッチ２０２はデータ入力端子の値、すなわちテストデータ入力信号５０３の値を取り込み、ＡＳＩＤ有効信号１０７として出力する。
【０１４０】
ＡＳＩＤ有効信号１０７、すなわちテストデータ入力信号５０３が与えられた仮想アドレス比較判定部１０４では、テストデータ入力信号５０３のレベルに基づいて、仮想アドレスマッチライン１０６のチャージ、ディスチャージを任意に設定することができる。
【０１４１】
＜Ｃ−３．効果＞
以上説明したように、ＴＬＢ３００においては、ＡＳＩＤ比較判定部５０１のラッチ２０２の出力を、テストデータ制御信号５０２によりテストデータ入力信号５０３の値に強制的に変更できるので、ＡＳＩＤ比較動作を行わない場合で、もラッチ２０２の出力を変更でき、仮想アドレスから物理アドレスへの変換動作のテストを容易に行うことができる。
【０１４２】
また、ＡＳＩＤ有効信号１０７をテストデータ入出力経路５０４を介してＴＬＢ外部に出力するようにしたので、ＡＳＩＤ比較動作をＴＬＢ外部で直接に観測でき、引き続いて行う仮想アドレス比較動作および仮想アドレスから物理アドレスへの変換動作についてのテストを有効に行うことができる。
【０１４３】
＜Ｄ．実施の形態４＞
＜Ｄ−１．装置構成＞
＜Ｄ−１−１．全体構成＞
図８を用いて本発明に係る実施の形態４のＴＬＢ４００の構成について説明する。なお、図５に示したＴＬＢ２００および図６に示したＴＬＢ３００と同一の構成については同一の符号を付し、重複する説明は省略する。
【０１４４】
図８に示すように、ＴＬＢ４００は、ＴＬＢ２００におけるＡＳＩＤ比較判定部１０２Ａに代えて、ＡＳＩＤ比較判定部５０１Ａを有している。そして、ＡＳＩＤ比較判定部５０１Ａには、テストデータ制御信号５０２およびテストデータ入力信号５０３が与えられる構成となっている。
【０１４５】
なお、ＡＳＩＤ比較判定部５０１Ａの構成は図７を用いて説明したＡＳＩＤ比較判定部５０１Ａと基本的に同様であるので重複する説明は省略するが、セレクタ６０１の入力データとして、ＡＳＩＤマッチライン１０５の値の代わりに、ＡＳＩＤマッチライン４０１の値が与えられる。
【０１４６】
＜Ｄ−２．装置動作＞
次にＴＬＢ４００の動作について、図７および図８を参照しつつ説明する。なお、基本的な動作はＴＬＢ２００と同じであるので重複する説明は省略し、ＡＳＩＤ比較判定部５０１Ａの動作を中心に説明する。
【０１４７】
セレクタ６０１は、テストデータ制御信号５０２としてＬレベルの信号が与えられる場合は、ＡＳＩＤマッチライン１０５が選択されるように構成されており、ＡＳＩＤマッチライン４０１の信号が、ラッチ２０２のデータ入力端子（Ｄ）に入力される。また、テストデータ制御信号５０２がＬレベルのときは、ＯＲゲート６０２の出力は、ＡＳＩＤ比較制御信号２０３と一致する。
【０１４８】
従って、テストデータ制御信号５０２としてＬレベルの信号が与えられる場合は、実質的に実施の形態２のＴＬＢ２００と同じ構成となり、ＴＬＢ２００と同じＡＳＩＤおよびバリッドデータについての比較動作および仮想アドレスから物理アドレスへの変換動作を行うことになる。
【０１４９】
一方、テストデータ制御信号５０２としてＨレベルの信号が与えられる場合は、テストデータ入力信号５０３が選択されるようにセレクタ６０１が構成されており、テストデータ入力信号５０３がラッチ２０２のデータ入力端子（Ｄ）に入力される。
【０１５０】
また、テストデータ制御信号５０２がＨレベルのときは、ラッチ２０２はデータ入力端子の値、すなわちテストデータ入力信号５０３の値を取り込み、ＡＳＩＤ有効信号１０７として出力する。
【０１５１】
ＡＳＩＤ有効信号１０７、すなわちテストデータ入力信号５０３が与えられた仮想アドレス比較判定部１０４では、テストデータ入力信号５０３のレベルに基づいて、仮想アドレスマッチライン４０２のチャージ、ディスチャージを任意に設定することができる。
【０１５２】
＜Ｄ−３．効果＞
以上説明したように、ＴＬＢ４００においては、ＡＳＩＤ比較判定部５０１Ａのラッチ２０２の出力を、テストデータ制御信号５０２によりテストデータ入力信号５０３の値に強制的に変更できるので、ＡＳＩＤおよびバリッドデータの比較動作を行わない場合でもラッチ２０２の出力を変更でき、仮想アドレスから物理アドレスへの変換動作のテストを容易に行うことができる。
【０１５３】
また、ＡＳＩＤ有効信号１０７をテストデータ入出力経路５０４を介してＴＬＢ外部に出力するようにしたので、ＡＳＩＤおよびバリッドデータの比較動作をＴＬＢ外部で直接に観測でき、引き続いて行う仮想アドレス比較動作および仮想アドレスから物理アドレスへの変換動作についてのテストを有効に行うことができる。
【０１５４】
【発明の効果】
本発明に係る請求項１記載のアドレス変換装置によれば、仮想アドレス比較判定部は、その出力ラインをチャージするためのチャージ回路および前記出力ラインへのチャージを禁止するチャージ禁止回路を有し、前記アドレス空間識別子保持値と前記アドレス空間識別子入力値とが一致する場合には、前記仮想アドレス保持値と前記仮想アドレス入力値との比較を行い、その結果に基づいて前記出力ラインの電位状態を制御して前記アドレス変換の実行、非実行を規定するので、アドレス空間識別子の比較結果が不一致の場合、仮想アドレス比較判定部においては比較動作を行わずに済み、消費電力を削減することができる。また、仮想アドレスから物理アドレスへの変換動作を行う際には、アドレス空間識別子保持部およびアドレス空間識別子比較判定部については使用せずに済むので、消費電力を削減することができ、また寄生容量も低減できるので比較速度も向上させることができる。
【０１５５】
本発明に係る請求項４記載のアドレス変換装置によれば、仮想アドレス比較判定部は、アドレス空間識別子保持値およびバリッドビット保持値と、アドレス空間識別子入力値およびバリッドビット入力値とがそれぞれ一致する場合には、仮想アドレス保持値と仮想アドレス入力値との比較を行い、その結果に基づいてアドレス変換の実行、非実行を規定するので、アドレス空間識別子およびバリッドビットの比較結果が不一致の場合、仮想アドレス比較判定部においては比較動作を行わずに済み、消費電力を削減することができる。また、バリッドビットも比較するので、タグエントリ部のデータの有効性も判断対象となり、比較精度を高めることができる。また、仮想アドレスから物理アドレスへの変換動作を行う際には、アドレス空間識別子保持部およびアドレス空間識別子比較判定部については使用せずに済むので、消費電力を削減することができ、また寄生容量も低減できるので比較速度も向上させることができる。
【図面の簡単な説明】
【図１】本発明に係る実施の形態１のＴＬＢの構成を説明するブロック図である。
【図２】ＡＳＩＤ比較判定部の構成を示す図である。
【図３】仮想アドレス比較判定部の構成を示す図である。
【図４】ＣＡＭセルの構成を示す図である。
【図５】本発明に係る実施の形態２のＴＬＢの構成を説明するブロック図である。
【図６】本発明に係る実施の形態３のＴＬＢの構成を説明するブロック図である。
【図７】仮想アドレス比較判定部の構成を示す図である。
【図８】本発明に係る実施の形態４のＴＬＢの構成を説明するブロック図である。
【符号の説明】
１０２，１０２Ａ，５０１  ＡＳＩＤ比較判定部、１０４，１０４Ａ  仮想アドレス比較判定部、１０５，４０１  ＡＳＩＤマッチライン、１０６，４０２  仮想アドレスマッチライン、１０７  ＡＳＩＤ有効信号、２０２  ラッチ、２０３  ＡＳＩＤ比較制御信号、３０４，６０２  ＯＲゲート、５０２  テストデータ制御信号、５０３  テストデータ入力信号、６０１  セレクタ、８０８  タグエントリ部、８０９  データエントリ部、８１０  ＡＳＩＤ保持部、８１１  仮想アドレス保持部、８１２  バリッドビット部、８１３  ＣＡＭセル、１００２仮想アドレス比較制御信号。
【図１】
2004164395.tif 000003
【図２】
2004164395.tif 000004
【図３】
2004164395.tif 000005
【図４】
2004164395.tif 000006
【図５】
2004164395.tif 000007
【図６】
2004164395.tif 000008
【図７】
2004164395.tif 000009
【図８】
2004164395.tif 000010