(57)【要約】  ＴＬＢのエントリ数分のウェイを持つセットアソシアティブキャッシュメモリ（２１）における各ウェイはＴＬＢによるアドレス変換単位であるページサイズに対応する記憶容量をデータ部（ＤＡＴ）に有し、アドレス部としてタグメモリ若しくはタグを持たない。ＴＬＢの各エントリ（ＥＴＹ０〜ＥＴＹ７）とキャッシュメモリの各ウェイ（ＷＡＹ０〜ＷＡＹ７）を１対１対応させ、ＴＬＢのアドレス変換対で規定される物理アドレスにマッピングされる領域のデータのみを対応するウェイにキャッシング可能とする。ＴＬＢの仮想ページアドレスの比較結果とＴＬＢの有効ビットとの論理積によって得られるＴＬＢヒット信号によってキャッシュデータアレイの動作を１ウェイのみ選択する。動作選択されたウェイのキャッシュ有効ビットをキャッシュヒット信号として利用する。【特許請求の範囲】
【請求項１】
アドレス変換バッファとセットアソシアティブ形態のキャッシュメモリとを有し、
前記アドレス変換バッファはアドレス変換対を格納するためのｎ個のエントリフィールドを有し、
前記キャッシュメモリは前記エントリフィールドに一対一対応されるｎ個のウェイを有し、前記各々のウェイはアドレス変換単位であるページサイズの記憶容量を有するデータフィールドを備え、
前記アドレス変換バッファはエントリフィールド毎の連想比較結果を対応するウェイに出力し、前記ウェイは入力した連想比較結果の連想ヒットに応答してメモリ動作を開始するデータプロセッサ。
【請求項２】
前記アドレス変換対は仮想ページアドレスとこれに対応する物理ページアドレスとを対とする情報を有し、
前記データフィールドが保有するデータの物理ページアドレスは、対応するエントリフィールドのアドレス変換対が保有する物理ページアドレスに等しい請求項１記載のデータプロセッサ。
【請求項３】
前記キャッシュメモリは前記データフィールドと対のアドレスタグフィールドを持つことを必要としない請求項２記載のデータプロセッサ。
【請求項４】
前記アドレス変換バッファは、入力した変換対象アドレスを前記エントリフィールドの仮想ページアドレスと比較し、比較結果が一致したエントリフィールドが有効であることを条件に、当該エントリフィールドに対応するウェイにウェイヒットを通知し、このウェイヒットの通知が連想比較結果の連想ヒットを示す請求項３記載のデータプロセッサ。
【請求項５】
前記アドレス変換バッファによる前記連想比較結果が全て連想ミスであるときアドレス変換バッファのエントリをリプレースする制御ユニットを有し、前記制御ユニットはアドレス変換バッファのエントリをリプレースするとき、リプレースされるエントリに対応するキャッシュメモリのウェイのデータフィールドを無効化する請求項１記載のデータプロセッサ。
【請求項６】
前記制御ユニットは更に、リプレースされるエントリに対応するキャッシュメモリのウェイのデータフィールドを無効化するとき、書き込みアクセスに対するキャッシュメモリのライトキャッシュミスに対してコピーバックされるべきデータフィールドのデータを下位側メモリに書き戻しする請求項５記載のデータプロセッサ。
【請求項７】
アドレス変換バッファとセットアソシアティブ形態のキャッシュメモリとを有し、
前記アドレス変換バッファはアドレス変換対を格納するためのｎ個のエントリフィールドを有し、
前記キャッシュメモリは前記エントリフィールドに一対一対応されるｎ個のウェイを有し、
前記各々のウェイは対応するエントリフィールドが保有する物理ページアドレスのデータの格納に割り当てられ、
前記ウェイは対応するエントリフィールドに関する連想比較結果が連想ヒットになるのを条件にメモリ動作を開始するデータプロセッサ。
【請求項８】
全てのエントリフィールドに関する前記連想比較結果が連想ミスであるときアドレス変換バッファのエントリをリプレースする制御ユニットを有し、前記制御ユニットはアドレス変換バッファのエントリをリプレースするとき、リプレースされるエントリに対応するキャッシュメモリのウェイのキャッシュデータを無効化する請求項７記載のデータプロセッサ。
【請求項９】
前記制御ユニットは更に、リプレースされるエントリに対応するキャッシュメモリのウェイのデータを無効化するとき、書き込みアクセスに対するキャッシュメモリのライトキャッシュミスに対してコピーバックされるべきデータを下位側メモリに書き戻しする請求項８記載のデータプロセッサ。
【請求項１０】
アドレス変換バッファとセットアソシアティブ形態のキャッシュメモリとを有し、
前記アドレス変換バッファはアドレス変換対を格納するためのｎ個のエントリフィールドと、アドレス変換の変換ヒットになるエントリフィールドを予測する予測回路とを有し、
前記キャッシュメモリは前記エントリフィールドに一対一対応されるｎ個のウェイを有し、
前記各々のウェイは対応するエントリフィールドが保有する物理ページアドレスに配置されているデータの格納に割り当てられ、
前記ウェイは対応するエントリフィールドがアドレス変換ヒットの予測領域であるのを条件にメモリ動作を開始し、前記キャッシュメモリは前記アドレス変換ヒットの予測が実際のアドレス変換結果と一致するのを条件にキャッシュヒットを生成するデータプロセッサ。
【請求項１１】
アドレス変換バッファと複数のウェイを持つセットアソシアティブ形態のキャッシュメモリとを有し、
前記アドレス変換バッファは仮想ページアドレス情報と物理ページアドレス情報とを保有するアドレス変換対を有し、
前記キャッシュメモリのタグをアドレス変換バッファのアドレス変換対が保有する物理ページアドレス情報と共通化し、前記アドレス変換バッファのヒット信号に応じて対応するキャッシュのウェイの動作を選択するデータプロセッサ。
【請求項１２】
アドレス変換バッファと複数のウェイを持つセットアソシアティブ形態のキャッシュメモリとを有し、
前記アドレス変換バッファは仮想ページアドレス情報と物理ページアドレス情報とを保有するアドレス変換対を有し、
前記アドレス変換バッファの変換対が保有する物理ページアドレス情報によって指定される物理アドレス空間のデータをキャッシュメモリの対応するウェイに格納し、前記アドレス変換バッファのウェイのヒット信号に応じて、対応するウェイの動作を選択するデータプロセッサ。
【請求項１３】
アドレス変換バッファと複数のウェイを持つセットアソシアティブ形態のキャッシュメモリとを有し、
前記アドレス変換バッファは、仮想ページアドレス情報と物理ページアドレス情報とを保有するアドレス変換対と、アドレス変換バッファの変換ヒットを予測する予測回路とを有し、
前記キャッシュメモリのタグをアドレス変換バッファのアドレス変換対が保有する物理ページアドレス情報と共通化し、前記予測回路による予測に応じて対応するキャッシュのウェイの動作を選択し、前記予測が実際のアドレス変換結果に一致することを条件にキャッシュヒットを生成するデータプロセッサ。
【請求項１４】
アドレス変換バッファと複数のウェイを持つセットアソシアティブ形態のキャッシュメモリとを有し、
前記アドレス変換バッファは、仮想ページアドレス情報と物理ページアドレス情報を保有するアドレス変換対と、アドレス変換バッファの変換ヒットを予測する予測回路とを有し、
前記アドレス変換バッファの変換対が保有する物理ページアドレス情報によって指定される物理アドレス空間のデータをキャッシュメモリの対応するウェイに格納し、前記予測回路による予測に応じて対応するキャッシュのウェイの動作を選択し、前記予測が実際のアドレス変換結果に一致することを条件にキャッシュヒットを生成するデータプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はキャッシュメモリとアドレス変換バッファとを有するデータプロセッサに関する。
【背景技術】
【０００２】
キャッシュメモリにおいて、一定の大きさのブロックを単位として、外部メモリのデータをキャッシュメモリ内のデータに対応づけるマッピング方式として、ダイレクトマッピング方式、セットアソシアティブ方式、フルアソシアティブ方式がある。ここで、ブロックの大きさをＢバイト、キャッシュメモリ内のブロック数をｃとすると、外部メモリのアドレスａのバイトが含まれるブロックの番号ｍをａ／Ｂの整数部とする。ダイレクトマッピング方式では、番号ｍの外部メモリのブロックはキャッシュメモリ内において式ｍ  ｍｏｄ  ｃで得られる番号のブロックに一意的にマッピングされる。ダイレクトマッピングでは、キャッシュメモリ内の同一ブロックに割り当てられる複数のブロックが同時に使用されると衝突が発生してキャッシュヒット率が低下する。要するに、別アドレスでも同一ブロック（キャッシュライン）がインデックスされる場合が多い、ということである。これに対してフルアソシアティブ方式では、外部メモリのどのブロックもキャッシュメモリのどのブロックに対してもマッピング可能とする方式である。しかしながら、フルアソシアティブ方式では、キャッシュメモリの全ブロックを各アクセス毎に連想検索しなければならず、実用的なキャッシュ容量では、実現困難である。このため、実用的には、両者の中間のセットアソシアティブ方式が一般的に用いられる。セットアソシアティブ方式は、ｎ（ｎ＝２、４又は８程）個のキャッシュメモリ内ブロックをまとめた単位をセットと定義し、このセットに対してはダイレクトマッピングを適用し、セット内のブロック（ウェイ）に対しては、フルアソシアティブマッピングを適用することによって、両者の長所を生かす構成であり、ｎの値によりｎウェイセットアソシアティブ方式と称される。【０００３】
４ウェイセットアソシアティブ方式では、まず仮想アドレスのインデックスビットでインデックスされる４つの各ウェイのキャッシュラインからタグと有効ビットとデータを読み出す。実用的なキャッシュ方式である物理アドレスタグ方式のキャッシュでは、仮想アドレスをアドレス変換バッファ（ＴＬＢ）により変換した物理アドレスと各ウェイのタグとを比較する。タグが一致してかつ有効ビットが１であるウェイがキャッシュヒットとなる。キャッシュヒットしたウェイのデータアレイからのデータを選択することでＣＰＵの要求したデータを供給することができる。全てのウェイがヒットしない場合がキャッシュミスであり、この場合は下位階層のキャッシュメモリ又は外部メモリへアクセスして有効なデータを取得する必要がある。尚、フルアソシアティブ、セットアソシアティブ、ダイレクトマッピングの考え方はキャッシュとは独立にＴＬＢの構成にも採用できる。【０００４】
本発明完成後の先行技術調査にて特許文献１が得られた。特許文献１にはＴＬＢとキャッシュメモリを備えたマイクロプロセッサにおいてＴＬＢヒット判断とキャッシュヒット判断とを効率的に行う発明に関する記載がある。すなわち、ＴＬＢとキャッシュメモリとを兼ねるＴＬＢ／キャッシュを配置し、仮想アドレスから物理アドレスへの変換の際に、仮想アドレスによりＴＬＢ／キャッシュをインデックスしてタグを読み出し、読出したタグと仮想アドレスの上位側ビットを比較し、その比較結果信号と有効フラグＣＶによりキャッシュヒット信号を生成する。この技術は、１回の比較動作でキャッシュヒットの判断とＴＬＢヒットの判断をまとめて行うことを特徴としており、ダイレクトマップを一例として示している。セットアソシアティブ形態とする場合には、当然複数のウェイは並列動作され、ウェイ毎にキャッシュヒットの判断とＴＬＢヒットの判断がまとめて行われる。特に、１キャッシュラインのデータはアドレス変換単位であるページサイズに等しくされる場合もあり、インデックスによるキャッシュラインの読出し及び書き込み単位は３２バイトなどの通常サイズに比べて1キロバイトや４キロバイトのように数十倍以上にも及ぶことになる。【０００５】
【特許文献１】特開２００３−１９６１５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明者はセットアソシアティブキャッシュメモリによる電力消費を検討した。例えば４ウェイセットアソシアティブキャッシュメモリの場合、メモリアクセスが発生する毎に、４ウェイ分のタグを読み出してキャッシュヒット判定を行う必要がある。４ウェイ分のデータの同時にあらかじめ読み出しておき、前記キャッシュヒット判定信号でヒットしたウェイのデータを選択する。このため、タグメモリ４ウェイ分とデータメモリ４ウェイ分の全てに対して読み出し動作を行う必要があり消費電力が大きいということが本発明者によって見出された。【０００７】
データプロセッサの低消費電力化に対する要求は、プロセスの微細化による動作周波数の向上や論理規模の増加により益々高まってきており、電池駆動のシステムや安価なパッケージを必要とするデータプロセッサでは特に大きな課題である。【０００８】
こうした背景から本発明者は、動作時の消費電力が大きいキャッシュメモリの無駄な読み出しを省くことについて検討した。キャッシュヒット率の観点から２〜８ウェイを持つセットアソシアティブキャッシュメモリが主流である。セットアソシアティブキャッシュメモリでは全てのウェイのタグアレイとデータアレイを読み出す必要があるが、実際に使われるのは一つのウェイから読み出したデータのみである。また、外部メモリの連続した領域がキャッシングされることが自然であるためタグには同一の物理ページアドレス（物理ページアドレス番号）が数多く登録される傾向があり、その物理アドレスはＴＬＢの物理ページ番号と同一である。そこで本発明者は、ＴＬＢの物理ページ番号とキャッシュのタグを兼ねるようにして、セットアソシアティブキャッシュメモリにおけるデータアレイをＴＬＢのヒット信号に従って１ウェイのみ起動するという着眼点を得た。特許文献1による着眼点はＴＬＢヒット判断とキャッシュヒット判断とを効率的に行うために、ＴＬＢの物理ページ番号とキャッシュのタグを兼ねるというものである。【０００９】
本発明の目的は、セットアソシアティブキャッシュメモリとアドレス変換バッファを有するデータプロセッサにおいて前記セットアソシアティブキャッシュメモリによる電力消費を低減することにある。【００１０】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。すなわち、ＴＬＢのエントリ数分のウェイを持つセットアソシアティブキャッシュメモリにおける各ウェイはＴＬＢによるアドレス変換単位であるページサイズに対応する記憶容量をデータ部に有し、アドレス部としてタグメモリ若しくはタグを持たない。ＴＬＢの各エントリとキャッシュメモリの各ウェイを１対１対応させ、ＴＬＢのアドレス変換対で規定される物理アドレスにマッピングされる領域のデータのみを対応するウェイにキャッシング可能とする。ＴＬＢの仮想ページアドレスの比較結果とＴＬＢの有効ビットとの論理積によって得られるＴＬＢヒット信号によってキャッシュデータアレイの動作を１ウェイのみ選択する。動作選択されたウェイのキャッシュ有効ビットをキャッシュヒット信号として利用する。以下に本発明を複数項目に分けて更に説明する。【００１２】
〔１〕データプロセッサは、アドレス変換バッファとセットアソシアティブ形態のキャッシュメモリとを有し、前記アドレス変換バッファはアドレス変換対を格納するためのｎ個のエントリフィールドを有し、前記キャッシュメモリは前記エントリフィールドに一対一対応されるｎ個のウェイを有し、前記各々のウェイはアドレス変換単位であるページサイズの記憶容量を有するデータフィールドを備える。前記アドレス変換バッファはエントリフィールド毎の連想比較結果を対応するウェイに出力し、前記ウェイは入力した連想比較結果の連想ヒットに応答してメモリ動作を開始する。上記した手段によれば、ＴＬＢの連想ヒットに応答して対応する一つのウェイのみ起動するから、セットアソシアティブキャッシュメモリにおいて全てのウェイのタグアレイとデータアレイを並列に読み出し動作させることを回避することができ、低消費電力に資することができる。【００１３】
本発明の具体的な形態として、前記アドレス変換対は仮想ページアドレスとこれに対応する物理ページアドレスとを対とする情報を有し、前記データフィールドが保有するデータの物理ページアドレスは、対応するエントリフィールドのアドレス変換対が保有する物理ページアドレスに等しい。前記キャッシュメモリは前記データフィールドと対のアドレスタグフィールドを持つことを必要としない。【００１４】
前記アドレス変換バッファは、入力した変換対象アドレスを前記エントリフィールドの仮想ページアドレスと比較し、比較結果が一致したエントリフィールドが有効であることを条件に、当該エントリフィールドに対応するウェイにウェイヒットを通知し、このウェイヒットの通知が連想比較結果の連想ヒットを示す。【００１５】
前記アドレス変換バッファによる前記連想比較結果が全て連想ミスであるときアドレス変換バッファのエントリをリプレースする制御ユニット（２，２４）を有し、前記制御ユニットはアドレス変換バッファのエントリをリプレースするとき、リプレースされるエントリに対応するキャッシュメモリのウェイのデータフィールドを無効化する。前記制御ユニットは更に、リプレースされるエントリに対応するキャッシュメモリのウェイのデータフィールドを無効化するとき、コピーバックされるべきデータフィールドのデータを有している場合には下位側メモリに書き戻しする。【００１６】
〔２〕本発明の別の観点によるデータプロセッサは、アドレス変換バッファとセットアソシアティブ形態のキャッシュメモリとを有し、前記アドレス変換バッファはアドレス変換対を格納するためのｎ個のエントリフィールドを有し、前記キャッシュメモリは前記エントリフィールドに一対一対応されるｎ個のウェイを有し、前記各々のウェイは対応するエントリフィールドが保有する物理ページアドレスのデータの格納に割り当てられる。前記ウェイは対応するエントリフィールドに関する連想比較結果が連想ヒットになるのを条件にメモリ動作を開始する。したがって、セットアソシアティブキャッシュメモリにおいて全てのウェイのタグアレイとデータアレイを並列に読み出し動作させることを回避することができ、低消費電力に資することができる。【００１７】
本発明の具体的な形態として、全てのエントリフィールドに関する前記連想比較結果が連想ミスであるときアドレス変換バッファのエントリをリプレースする制御ユニットを有し、前記制御ユニットはアドレス変換バッファのエントリをリプレースするとき、リプレースされるエントリに対応するキャッシュメモリのウェイのキャッシュデータを無効化する。前記制御ユニットは更に、リプレースされるエントリに対応するキャッシュメモリのウェイのデータを無効化するとき、コピーバックされるべきデータを有している場合には下位側メモリに書き戻しする。【００１８】
〔３〕本発明の更に別の観点によるデータプロセッサは、アドレス変換バッファとセットアソシアティブ形態のキャッシュメモリとを有し、前記アドレス変換バッファはアドレス変換対を格納するためのｎ個のエントリフィールドと、アドレス変換の変換ヒットになるエントリフィールドを予測する予測回路とを有し、前記キャッシュメモリは前記エントリフィールドに一対一対応されるｎ個のウェイを有し、前記各々のウェイは対応するエントリフィールドが保有する物理ページアドレスに配置されているデータの格納に割り当てられる。前記ウェイは対応するエントリフィールドがアドレス変換ヒットの予測領域であるのを条件にメモリ動作を開始し、前記キャッシュメモリは前記アドレス変換ヒットの予測が実際のアドレス変換結果と一致するのを条件にキャッシュヒットを生成する。
ＴＬＢの連想ヒットに応答して対応する一つのウェイを起動する制御形態は、一つのウェイの動作を起動するタイミングがＴＬＢの連想検索結果が出た後であり、ＴＬＢの連想検索に並行してキャッシュメモリのインデックスを行う制御形態に比べて、キャッシュメモリのインデックス動作までに要する時間が長くなる。予測回路による予測結果にしたがってキャッシュメモリのインデックス動作を予め開始することによってその動作開始の遅れを小さくすることができる。予め開始したキャッシュ動作のキャッシュヒットは前記アドレス変換ヒットの予測が実際のアドレス変換結果と一致するのを条件とするから、誤った予測によるキャッシュ動作が有効にされることはない。【００１９】
〔４〕本発明の更に別の観点によるデータプロセッサは、アドレス変換バッファと複数のウェイを持つセットアソシアティブ形態のキャッシュメモリとを有し、前記アドレス変換バッファは仮想ページアドレス情報と物理ページアドレス情報とを保有するアドレス変換対を有し、前記キャッシュメモリのタグをアドレス変換バッファのアドレス変換対が保有する物理ページアドレス情報と共通化し、前記アドレス変換バッファのヒット信号に応じて対応するキャッシュのウェイの動作を選択する。【００２０】
本発明の更に別の観点によるデータプロセッサは、アドレス変換バッファと複数のウェイを持つセットアソシアティブ形態のキャッシュメモリとを有し、前記アドレス変換バッファは仮想ページアドレス情報と物理ページアドレス情報とを保有するアドレス変換対を有し、前記アドレス変換バッファの変換対が保有する物理ページアドレス情報によって指定される物理アドレス空間のデータをキャッシュメモリの対応するウェイに格納し、前記アドレス変換バッファのウェイのヒット信号に応じて、対応するウェイの動作を選択する。【００２１】
予測回路を用いる本発明の更に別の観点によるデータプロセッサは、アドレス変換バッファと複数のウェイを持つセットアソシアティブ形態のキャッシュメモリとを有し、前記アドレス変換バッファは、仮想ページアドレス情報と物理ページアドレス情報とを保有するアドレス変換対と、アドレス変換バッファの変換ヒットを予測する予測回路とを有し、前記キャッシュメモリのタグをアドレス変換バッファのアドレス変換対が保有する物理ページアドレス情報と共通化し、前記予測回路による予測に応じて対応するキャッシュのウェイの動作を選択し、前記予測が実際のアドレス変換結果に一致することを条件にキャッシュヒットを生成する。【００２２】
予測回路を用いる本発明の更に別の観点によるデータプロセッサは、アドレス変換バッファと複数のウェイを持つセットアソシアティブ形態のキャッシュメモリとを有し、前記アドレス変換バッファは、仮想ページアドレス情報と物理ページアドレス情報を保有するアドレス変換対と、アドレス変換バッファの変換ヒットを予測する予測回路とを有し、前記アドレス変換バッファの変換対が保有する物理ページアドレス情報によって指定される物理アドレス空間のデータをキャッシュメモリの対応するウェイに格納し、前記予測回路による予測に応じて対応するキャッシュのウェイの動作を選択し、前記予測が実際のアドレス変換結果に一致することを条件にキャッシュヒットを生成する。
【発明の効果】
【００２３】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。【００２４】
すなわち、セットアソシアティブキャッシュメモリにおけるデータアレイをＴＬＢの変換ヒット信号に従って１個のウェイのみ動作を選択するから、セットアソシアティブキャッシュメモリとアドレス変換バッファを有するデータプロセッサにおいて前記セットアソシアティブキャッシュメモリによる電力消費を低減することができる。
【図面の簡単な説明】
【００２５】
【図１】ＩＴＬＢ及びＩＣＡＣＨＥの詳細な一例を示すブロック図である。
【図２】本発明の一例に係るデータプロセッサのブロック図である。
【図３】図１に代表されるようにアドレス変換バッファとキャッシュメモリが密結合でリンクされて動作される構成におけるメインメモリのデータとキャッシュメモリのデータとの関係を例示するアドレスマップである。
【図４】ＩＴＬＢ及びＩＣＡＣＨＥの動作フローを示すフローチャートである。
【図５】ＴＬＢ書き換え制御フローを示すフローチャートである。
【図６】キャッシュ書き換え制御フローを示すフローチャートである。
【図７】アドレス変換ヒットの予測結果を用いるＩＣＡＣＨとＩＴＬＢの詳細な一例を示すブロック図である。
【図８】全てのウェイを並列的にインデックスする形態のキャッシュメモリを比較例として示すブロック図である。
【図９】図８のキャッシュメモリのデータとメインメモリのデータとの関係を例示するアドレスマップである。
【符号の説明】
【００２６】
１  データプロセッサ
２  ＣＰＵ
３  アドレス変換バッファ及びキャッシュユニット
４  内部バス
５  バスコントローラ
６  メインメモリ
２０  命令アドレス変換バッファ
２１  命令キャッシュメモリ
２２  データアドレス変換バッファ
２３  データキャッシュメモリ
２４  制御回路
２５  命令フェッチ信号
２６  仮想命令アドレス
２７  仮想アドレス変換ヒット信号
２８  命令
３０  データフェッチ信号
３１  データアドレス
３２  仮想アドレス変換ヒット信号
３３  データ
ＥＴＹ０〜ＥＴＹ７  エントリ
ＶＰＮ  仮想ページアドレス（エントリフィールド）
ＰＰＮ  物理ページアドレス（エントリフィールド）
Ｖ  有効ビット（エントリフィールド）
５０[７：０]   エントリ変換ヒット信号
２７[７：０]   仮想アドレス変換ヒット信号
６５  キャッシュヒット信号
７０  予測回路
７１  予測一致確認回路
７２[７：０]  仮想アドレス変換ヒット予測信号
７３[７：０]   予測信号
【発明を実施するための最良の形態】
【００２７】
《データプロセッサ》
図２には本発明の一例に係るデータプロセッサが示される。同図に示されるデータプロセッサ（ＭＰＵ）１は、特に制限されないが、公知の半導体集積回路製造技術によって単結晶シリコンのような１個の半導体基板（半導体チップ）に形成される。このデータプロセッサ１は、データ処理ユニットとして、例えば、中央処理装置（ＣＰＵ）２を有し、中央処理装置２はアドレス変換バッファ及びキャッシュユニット（ＴＬＢ・ＣＡＣＨ）３を介して内部バス（ＩＢＵＳ）４に接続される。特に制限されないが、前記内部バス４にはスプリット・トランザクション・バスのバスプロトコルが採用される。内部バス４には外部バス制御若しくは外部メモリインタフェース制御を行うバスコントローラ（ＢＳＣ）５が接続される。図においてバスコントローラ５にはシンクロナスＤＲＡＭなどによって構成されるメインメモリ（ＭＭＲＹ）６が接続される。また、バスコントローラに接続される外部回路はメモリに限定されず、その他ＬＳＩ（例えばＬＣＤＣ、周辺回路）が接続されるように構成されいていても良い。更に前記内部バス４にはバスブリッジ回路（ＢＢＲＧ）７を介して周辺バス（ＰＢＵＳ）８が接続される。周辺バス８には割り込みコントローラ（ＩＮＴＣ）１０、クロックパルスジェネレータ（ＣＰＧ）１１などの周辺回路が接続される。周辺バス８と内部バス４にはダイレクト・メモリ・アクセス・コントローラ（ＤＭＡＣ）１２が接続され、モジュール間のデータ転送制御を行う。【００２８】
前記ＣＰＵ２は、特に制限されないが、汎用レジスタや算術論理演算器などを備えて演算を行う演算部と、プログラムカウンタや命令デコーダ等を備えて命令のフェッチや解読並びに命令実行手順を制御したり演算制御を行う命令制御部とを有する。【００２９】
前記アドレス変換バッファ及びキャッシュユニット３は、命令アドレス変換バッファ（ＩＴＬＢ）２０、命令キャッシュメモリ（ＩＣＡＣＨＥ）２１、データアドレス変換バッファ（ＤＴＬＢ）２２、データキャッシュメモリ（ＤＣＡＣＨＥ）２３、及び制御回路２４を有する。ＩＴＬＢ２０は仮想命令アドレスとこれに対応される物理命令アドレスとの対の情報を変換対として有する。ＤＴＬＢ２１は仮想データアドレスとこれに対応される物理データアドレスとの対の情報を変換対として有する。それら変換対はメインメモリ６上のページ管理情報の一部のコピーとされる。ＩＣＡＣＨＥ２１はメインメモリ上のプログラム領域が保有するプログラムの一部の命令のコピーを有する。ＤＣＡＣＨＥ２３はメインメモリ上のワーク領域が保有するデータの一部のコピーを有する。【００３０】
ＣＰＵ２は命令フェッチを行うとき、ＩＴＬＢ２０及びＩＣＡＣＨＥ２１に、命令フェッチ信号２５をアサートし、且つ仮想命令アドレス２６を出力する。ＩＴＬＢ２０は仮想アドレスに対する変換ヒットのとき仮想アドレス変換ヒット信号２７をＩＣＡＣＨＥ２１に出力する。ＩＣＡＣＨＥ２１は仮想命令アドレスに応ずる命令２８をＣＰＵ２に出力する。ＣＰＵ２はデータフェッチを行うとき、ＤＴＬＢ２２及びＤＣＡＣＨＥ２３に、データフェッチ信号３０をアサートし、且つ仮想データアドレス３１を出力する。ＤＴＬＢ２２は仮想アドレスに対する変換ヒットのとき仮想アドレス変換ヒット信号３２をＤＣＡＣＨＥ２３に出力する。リードアクセスの場合にはＤＣＡＣＨＥ２３は仮想データアドレスに応ずるデータ３３をＣＰＵ２に出力し、ライトアクセスの場合にはＤＣＡＣＨＥ２３は仮想データアドレスに応ずるキャッシュラインにＣＰＵ２からのデータ３３を書き込む。制御回路２４は、ＩＴＬＢ２０及びＤＴＬＢ２２における変換ミスの発生に応答してＣＰＵ２にＴＬＢ例外処理要求を通知する制御などを行う。また、制御回路２４は、ＩＣＡＣＨＥ２１及びＤＣＡＣＨＥ２３におけるキャッシュミスの発生に応答するキャッシュエントリのリプレース制御などを行う。【００３１】
前記アドレス変換及びキャッシュユニット３は、内部バス４との間で、物理命令アドレス４０の出力、命令４１の入力、データアドレス４２の出力、データ４３の入出力など行う。【００３２】
《アドレス変換バッファ及びキャッシュユニット》
図1にはＩＴＬＢ及びＩＣＡＣＨＥの詳細な一例が示される。ここではＩＴＬＢ２０は例えば８エントリのフルアソシアティブ構成、ＩＣＡＣＨ２１は例えば８ウェイセットアソシアティブ構成とする。【００３３】
ＩＴＬＢ２０には２個のエントリＥＴＹ０、ＥＴＹ７が代表的に示される。８エントリのフルアソシアティブ構成においてエントリをウェイと称することも可能であるが、ここではキャッシュメモリのウェイと区別するためにエントリと称する。各々のエントリには仮想ページアドレス（ＶＰＮ）、エントリの有効ビット（Ｖ）、物理ページアドレス（ＰＰＮ）を保有するためのエントリフィールドを有する。ＶＰＮとＰＰＮは変換対を構成する。この例ではＩＴＬＢ２０によるアドレス変換単位であるページサイズは４キロバイトとされ、仮想アドレス空間を３２ビットアドレス空間とする。ＶＰＮ及びＰＰＮのビット幅は第１３ビット目から第３２ビット目までの２０ビット（[３１：１２]）とされる。各エントリにおいてＣＭＰは比較手段、ＡＮＤは論理積ゲートを機能的に示している。フルアソシアティブ構成のメモリにはビット単位で比較機能を有するメモリセルを採用することができ、この場合には比較機能及び論理積機能はビット単位でメモリセルに担わせてよい。【００３４】
ＣＰＵ２が仮想命令アドレス２６を発行すると、そのうちの仮想ページアドレス[３１：１２]が比較手段ＣＭＰによりＶＰＮ（[３１：１２]）と比較され、これが一致してかつ有効ビットＴＶが１（有効レベル）である場合にエントリＥＴＹ０におけるエントリ変換ヒット信号５０[０]がヒットを意味する論理値１となる。各エントリからのエントリ変換ヒット信号５０[７：０]が同時に２つ以上論理値１になるＴＬＢマルチヒット状態は通常は生じないようになっている。ＴＬＢマルチヒット状態が発生された場合にはその状態を検出し、マルチヒット例外処理要求をＣＰＵ２に通知することで対処するようになっている。論理和回路（ＯＲ）５１は８本の信号５０[７：０]の論理和を採って変換ヒット信号５３を生成する。制御回路２４は変換ヒット信号５０を入力し、ＴＬＢミスが通知されたときＣＰＵ２にＴＬＢミス例外要求を発生する。また、エントリのＰＰＮはエントリ変換ヒット信号５０[７：０]によってセレクタ５２で一つが選択され物理ページアドレスとして出力される。この物理ページアドレスは、必要に応じて図２の４０で示される物理アドレス４０を構成する物理ページアドレスとして内部バス４に出力される。前記エントリ変換ヒット信号５０[７：０]はアンドゲート５４で命令フェッチ信号２５と論理積が採られ、仮想アドレス変換ヒット信号２７[７：０]として命令キャッシュメモリ２１に供給される。【００３５】
命令キャッシュメモリ２１は８個のウェイＷＡＹ０〜ＷＡＹ７を有する。ウェイＷＡＹ０〜ＷＡＹ７の全て又は任意の一つを指称するときは単にウェイＷＡＹとも記す。各々のウェイＷＡＹ０〜ＷＡＹ７はデータフィールドＤＡＴと有効ビットフィールドＶを有し、各々のウェイＷＡＹのデータフィールドのキャッシュ容量はページサイズと一致しており４キロバイトである。データフィールドＤＡＴのキャッシュラインサイズは３２バイトの例で示しており、仮想アドレスの下位側 [１１：５]が命令キャッシュメモリ２１へのインデックスアドレス６０として与えられる。仮想アドレスの下位アドレス[４：０]はライン内オフセットアドレス６１とされ、１ライン内３２バイトの中でのデータ位置の選択に用いられる。その選択にはセレクタ６３を用いる。８個のウェイＷＡＹ０〜ＷＡＹ７の動作は仮想アドレス変換ヒット信号２７[７：０]によって個別に指示される。すなわち、各々のウェイＷＡＹ０〜ＷＡＹ７は対応する仮想アドレス変換ヒット信号２７[７：０]が変換ヒットであるときメモリ動作が選択される。メモリ動作が選択されたウェイＷＡＹは、インデックスアドレスによるアドレシングなどが可能にされ、メモリセルの選択、選択されたメモリセルから記憶情報を読み出し、或いは選択されたメモリセルに情報を記憶することが可能にされる。したがって、命令アクセス要求がある場合でも、対応する仮想アドレス変換ヒット信号２７[７：０]がヒットしない限りウェイＷＡＹはは起動しない。仮想アドレス変換ヒット信号２７[７：０]は仮想ページ単位の変換ヒット信号であるから、仮想アドレス変換ヒット信号２７[７：０]は１つしか論理値１（変換ヒット値）にならず、動作されるウェイは一つに限られる。要するに、ＴＬＢによるアドレス変換ヒットに係る仮想ページに対応する一つのウェイＷＡＹだけが動作される。全てのウェイが並列動作されない。これにより、無駄な電力消費を抑制することができる。【００３６】
起動されたウェイＷＡＹでは、データフィールドＤＡＴと有効ビットフィールドＶからインデックスアドレス６０に対応するキャッシュラインが選択され、データと有効ビットが読み出される。読み出されたデータはオフセットアドレス６１によりセレクタ６３で選択される。セレクタ６３から出力されたデータと前記ウェイから読み出された有効ビットは仮想アドレス変換ヒット信号２７[７：０]によって選択動作を行うセレクタ６４で選択されて出力される。セレクタ６４で選択された有効ビットは制御回路２４に供給される。制御回路２４は有効ビットをキャッシュヒット信号６５とみなし、キャッシュヒットであれば（有効ビットが有効を示す論理値であれば）、前記セレクタ６４で選択されたデータをキャッシュデータ２８としてＣＰＵ２に供給される。キャッシュミスであれば、バスコントローラ５を介してメインメモリ６をアクセスして、対応する命令をそのキャッシュラインに取り込む制御を行うと共に、取り込んだ命令をＣＰＵ２に供給する。【００３７】
図１では命令系のＩＴＬＢ及びＩＣＡＣＨＥについて説明したが、データ系のＤＴＬＢ及びＤＣＡＣＨＥＴＬＢについても同様に構成することができる。データの場合は書き込みアクセスも発生するが、ウェイの選択以外は従来のキャッシュメモリと特別異なる操作を行う必要はない。また、命令とデータを区別しない統合ＴＬＢ、統合キャッシュメモリの構成を採用する場合も同様である。詳細は後述するがＴＬＢミスと関係してキャッシュメモリの操作が必要になる。【００３８】
図３には図１に代表されるようにアドレス変換バッファとキャッシュメモリが密結合でリンクされて動作される構成におけるメインメモリのデータとキャッシュメモリのデータとの関係を例示する。ここでは、説明を簡単にするために、ＰＰＮを２ビット、ページサイズを３ビットエリアとする。キャッシュメモリのウェイはキャッシュラインを８ライン有している。インデックスアドレスＡｉｄｘは３ビットである。図において、ウェイＷＡＹ０に対応するＴＬＢのＰＰＮはページ番号００、ウェイＷＡＹ１に対応するＴＬＢのＰＰＮはページ番号１０としている。この場合、キャッシュメモリのウェイＷＡＹ０にはメインメモリのメモリアドレス０００００〜００１１１までの範囲ＲＮＧ０が格納可能であり、ウェイＷＡＹ１にはメインメモリのメモリアドレス１００００〜１０１１１までの範囲ＲＡＧ１が格納可能である。このように、ある時点において、ＴＬＢに格納されているアドレス変換対象となるメモリ領域のみが対応するキャッシュメモリのウェイに格納可能となる。この関係ゆえに、ＴＬＢにおけるエントリ毎の仮想アドレス変換ヒット信号でキャッシュメモリのウェイ毎にメモリ動作の起動を決めることができる。なお、キャッシュメモリへのデータの登録はラインサイズ単位で行い、そのサイズ毎に有効ビットを保有しており、有効なデータがキャッシュに登録されている場合に有効ビットを論理値１としてそのデータが有効であることを示す。【００３９】
図４にはＩＴＬＢ及びＩＣＡＣＨＥの動作フローが例示される。ＣＰＵ２から発行される命令仮想アドレスの上位[３１：１２]を命令ＴＬＢの各エントリのＶＰＮと比較し、その比較結果と各エントリの有効ビットとの論理積を採り、各エントリの仮想アドレス変換ヒット信号２７[７：０]を生成する（Ｓ１）。仮想アドレス変換ヒット信号２７[７：０]のうち論理値１が幾つあるかを判定する（Ｓ２）。２個以上であればＴＬＢマルチヒット状態がＣＰＵ２に通知される（Ｓ３）。一つだけが論理値１であれば、ヒットに係るウェイのメモリ動作が選択され、当該ウェイからインデックスされたデータと有効ビットを読み出す（Ｓ４）。読出した有効ビットの論理値が１かを判定し（Ｓ５）、有効（論理値１）であれば読出しデータがＣＰＵに供給される（Ｓ６）。有効でなければ、キャッシュ書き換え制御により、キャッシュミスに対するキャッシュラインのフィル動作などが行われる（Ｓ７）。ステップＳ２の判定で全てが論理値０のときは、ＴＬＢミスであり、ＴＬＢのエントリの追加若しくはリプレースのためのＴＬＢミス例外処理要求がＣＰＵ２に発行され、ＴＬＢ書き換え制御が行われる（Ｓ８）。このとき、制御部２４は、書き換えたＴＬＢのエントリに対応されるキャッシュメモリのウェイの有効ビットを全て無効のレベルに書き換える（Ｓ９）。その後、ＴＬＢの各エントリの仮想ページアドレスＶＰＮに対する比較動作（Ｓ１）からやり直す。【００４０】
特に図示はしないが、書き込みアクセスに対応することが必要なデータキャッシュメモリの場合、前記制御回路２４は、リプレースされるエントリに対応するキャッシュメモリのウェイのデータフィールドを無効化するとき（Ｓ９）、コピーバックされるべきデータフィールドのデータを有している場合にはメインメモリに書き戻しする。【００４１】
図５にはＴＬＢ書き換え制御フローが例示される。書き換え制御フローはデータプロセッサに下位階層のＴＬＢが存在するか否かで異なる（Ｓ１１）。下位階層のＴＬＢが存在する場合、下位階層のＴＬＢを検索する（Ｓ１２）。検索した下位階層のＴＬＢが、上記ＴＬＢミスに係る仮想ページアドレスに対して変換ヒット（ＴＬＢヒット）であるかを判定する（Ｓ１３）。ＴＬＢヒットの場合には当該下位階層ＴＬＢの変換対のＶＰＮとＰＰＮをミスに係るＴＬＢのエントリとして登録する（Ｓ１４）。ステップＳ１３において下位階層のＴＬＢがミスであるとき（下位階層のＴＬＢが存在するがそこでもＴＬＢミスとなった場合）、ＴＬＢミスをＣＰＵに通知しソフトウェア制御にてメインメモリに管理されているページ管理情報をミスに係る上位及び下位双方のＴＬＢ(ＶＰＮ, ＰＰＮ)に登録し、有効にする（Ｓ１５）。下位階層のＴＬＢが存在しない場合、ＴＬＢミス例外をＣＰＵに通知しソフトウェア制御にてメモインメモリ６に管理されているページ管理情報をミスに係るＴＬＢ(ＶＰＮ, ＰＰＮ)に登録し、有効にする。【００４２】
図６にはキャッシュ書き換え制御フローが例示される。ＴＬＢにはヒットしたが対応するキャッシュのウェイの有効ビットが論理値０（無効レベル）であった場合、キャッシュミスとなる。このとき図４にステップＳ７で説明したようにキャッシュ書き換え制御を行う。キャッシュの書き換えはキャッシュミスした１ラインのみの更新である。【００４３】
まず、データプロセッサに下位階層のキャッシュメモリが存在するか否かで制御が異なる（Ｓ２１）。下位階層のキャッシュメモリが存在する場合、下位階層のキャッシュメモリを検索する（Ｓ２２）。下位階層のキャッシュメモリがキャッシュヒットの場合にはヒットに係るキャッシュデータを上位階層のキャッシュメモリに登録し、有効ビットを論理値１とする（Ｓ２４）。下位階層のキャッシュが存在するがそこでもキャッシュミスとなった場合には、キャッシュミスをバスコントローラ５に通知し、メインメモリ６をアクセスさせる。これによってメインメモリ６から取得したデータを上位及び下位双方のキャッシュメモリに登録し、有効ビットを論理値１とする（Ｓ２５）。このとき、下位階層のキャッシュメモリに対してデータ登録を行なわない選択も可能である。下位階層のキャッシュメモリが存在しない場合、キャッシュミスをバスコントローラ５に通知し、メインメモリ６をアクセスさせ、メインメモリ６から得たデータをキャッシュメモリに登録し、有効ビットを論理値１として、キャッシュ書き換え制御を終了する（Ｓ２６）。【００４４】
キャッシュメモリを書き換えた後、正しいデータをＣＰＵ２へ供給することができる。このとき、ＴＬＢの各エントリのＶＰＮ比較動作（Ｓ１）からやり直すことも可能であるし、仮想アドレス変換ヒット信号２７[７：０]を保持しておき対応するキャッシュウェイからの読み出し動作から再開しても良い。或いは、キャッシュメモリへのデータ登録と同時にＣＰＵ２が要求しているデータをキャッシュメモリへ登録するのと並行してＣＰＵ２へも供給する制御を行うことも可能である。【００４５】
図８には全てのウェイを並列的にインデックスする形態のキャッシュメモリを比較例として示す。図８においてＩＣＡＣＨＥはアドレスタグフィールドＴＡＧを有する。図８において信号２５にて命令アクセス要求があると、ＩＴＬＢのアドレス変換動作に並行して、ＩＣＡＣＨＥは全てのウェイＷＡＹ０〜ＷＡＹ７の動作が選択されてインデックス動作が開始される。インデックスされたキャッシュラインのタグはＩＴＬＢから供給される物理ページアドレスと比較され、一致したウェイのキャッシュデータがキャッシュヒットに係るデータとされる。図９には図８のキャッシュメモリのデータとメインメモリのデータとの関係を例示する。ここでも図３と同様に、説明を簡単にするため、ＰＰＮを２ビット、ページサイズを３ビットエリアとする。キャッシュメモリのウェイはキャッシュラインを８ライン有している。インデックスアドレスＡｉｄｘは３ビットである。【００４６】
以上説明したように、データプロセッサ１において仮想アドレス変換ヒット信号２７[７：０]に代表されるようにＴＬＢのエントリ毎に生成されるアドレス変換ヒット信号に応答して対応するキャッシュウェイのメモリ動作が開始され、全てのキャッシュウェイが並列的にインデックス動作を開始することはない。ＩＣＡＣＨ，ＤＣＡＣＨはキャッシュにタグメモリが不要であるから、タグメモリ自体をアクセスするための電力も全く必要ない。したがって、従来技術のセットアソシアティブ構成のキャッシュメモリに対して低消費電力を実現することができる。この効果を見積もるにあたり、キャッシュメモリのタグフィールドとデータフィールドのビット幅を考慮して、１個のキャッシュウェイにおいてタグフィールドとデータフィールドの電力消費の割合を１：２と仮定すると、従来技術のセットアソシアティブキャッシュメモリとＩＣＡＣＨに代表されるＴＬＢと密結合されたウェイの選択動作型キャッシュメモリとの消費電力の比は１２：２程度になり、キャッシュメモリの消費電力を約８３%程度低減可能であると見積ることができる。【００４７】
《アドレス変換ヒットの予測結果を用いるキャッシュユニット》
図７にはアドレス変換ヒットの予測結果を用いるＩＣＡＣＨとＩＴＬＢの詳細な一例が示される。ここではＩＴＬＢ２０は例えば８エントリのフルアソシアティブ構成、ＩＣＡＣＨ２１は例えば８ウェイセットアソシアティブ構成とし、図１の場合と同様とする。図１の構成に対し、予測回路７０と予測一致確認回路７１とを追加し、仮想アドレス変換ヒット予測信号７２[７：０]にしたがってウェイＷＡＹの動作を選択し、前記アドレス変換ヒットの予測が実際のアドレス変換結果と一致するのを条件にキャッシュヒット６５を生成するようにした点が相違される。予測回路７０は一つ前のアドレス変換結果を保持し、これを予測信号７３[７：０]として出力する。予測信号７３[７：０]はアンドゲート５４によって命令フェッチ信号２５と論理積が採られ、論理積信号が仮想アドレス変換ヒット予測信号７２[７：０]とされる。ＩＣＡＣＨ２１のウェイＷＡＹ０〜ＷＡＹ７は対応する仮想アドレス変換ヒット予測信号７２[７：０]の論理値１によってメモリ動作が開始される。要するに、ＩＣＡＣＨ２１のウェイＷＡＹ０〜ＷＡＹ７に対する起動制御に関しては、仮想アドレス変換ヒット予測信号７２[７：０]は図１における仮想アドレス変換ヒット信号２７[７：０]の機能を持つ。予測一致確認回路７１は実際の各エントリＥＴＹ０〜ＥＴＹ７におけるアドレス変換結果であるエントリ変換ヒット信号５０[７：０]を受け取る。予測一致確認回路７１は予測回路７０が保持している予測信号７３[７：０]の値と、新たに受け取ったエントリ変換ヒット信号５０[７：０]との一致を判定し、その判定結果信号７５を出力すると共に、予測回路７０に新たな予測結果としてそのエントリ変換ヒット信号５０[７：０]の値を保持させ、次のキャッシュ動作に利用可能とする。予測の正否を示す判定結果信号７５はセレクタ７７で選択された有効ビットとアンドゲート７６で論理積が採られる。その論理積信号がキャッシュヒット信号６５とみなされる。【００４８】
図１と比べると、対応するキャッシュのウェイを信号２７[７：０]で起動する代わりに、予測信号７３[７：０]と命令アクセス信号２５との論理積信号を用いて命令キャッシュのウェイＷＡＹを起動する。したがって、ＩＴＬＢ２０での変換ヒット信号５０[７：０]の確定を待たずにキャッシュメモリ２１を起動することができるため高速動作が可能となる。この場合でもＩＴＬＢ２０側のＶＰＮ比較は行い、実際のアドレス変換ヒット信号５０[７：０]が確定した時点で予測が正しかったかどうかを確認する。予測一致確認結果は次の予測に反映するため予測回路７０に供給される。予測が正しかった場合、ＩＣＡＣＨ２１から出力されるデータとキャッシュヒット信号は正しいものであり、図１の場合と同様に用いれらる。予測が誤っていた場合には、今度は正しい予測信号７３[７：０]を既に得ているため、予測回路７０の出力を用いても予測を誤ることはない。正しい予測ヒット信号を予測回路７０に保持しておけば、対応するキャッシュメモリ２１のウェイＷＡＹの読み出しから再開することができる。もちろんＩＴＬＢ２０の各エントリＥＴＹのＶＰＮ比較からやり直す制御も可能である。この応用例では、キャッシュメモリの有効データを高速に得ることができる特徴に加えて、起動されるキャッシュメモリのウェイＷＡＹが１個である点は先に説明した例と変わりないため、上記同様に低消費電力の効果も得ることができる。【００４９】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。【００５０】
例えば上記の例では仮想メモリから物理メモリへのマッピング方式として、固定長のアドレス変換を用いる方式（ページング方式）を一例としている。ページサイズは４キロバイトに限定されず適宜変更可能である。データプロセッサはＣＰＵの他に浮動小数点演算ユニットや積和演算ユニットなどのデータ処理ユニットを備えてもよい。更にその他の回路モジュールを有してよい。データプロセッサはシングルチップに限定されず、マルチチップで構成されるものであってもよいし、中央処理装置を複数備えるマルチＣＰＵ構成であってもよい。
【産業上の利用可能性】
【００５１】
本発明はアドレス変換バッファとキャッシュメモリを備えたマイクロコンピュータやマイクロプロセッサなどに広く適用することができる。
【図１】
2006038258.tif 000002
【図２】
2006038258.tif 000003
【図３】
2006038258.tif 000004
【図４】
2006038258.tif 000005
【図５】
2006038258.tif 000006
【図６】
2006038258.tif 000007
【図７】
2006038258.tif 000008
【図８】
2006038258.tif 000009
【図９】
2006038258.tif 000010
【国際調査報告】
2006038258.tif 000011
2006038258.tif 000012
2006038258.tif 000013
2006038258.tif 000014