(57)【要約】  【課題】  キャッシュメモリ回路におけるリフィルに伴う読み込み動作、及び、ライトバック又はライトスルーに伴う書き込み動作によるペナルティーを抑えてシステム性能を向上させた半導体集積回路を提供する。  【解決手段】  この半導体集積回路は、第１のバスラインに接続されたプロセッサ部１０と、第２のバスラインに接続され、プログラム及びデータを格納する主メモリ回路７０と、第１のバスラインに接続され、プロセッサ部において用いられるデータの一部が書き込まれると共に、書き込まれたデータヘのアクセスが優先的に行われる第１のキャッシュメモリ回路２０と、第１のバスラインに接続され、第１のキャッシュメモリ回路の記憶容量が不足した際に第１のキャシュメモリ回路にデータを上書きされることにより消去されるデータ及び第１のキャッシュメモリ回路から主メモリ回路に書き戻すデータが一時的に書き込まれると共に、書き込まれたデータへのアクセスが可能な第２のキャッシュメモリ回路３０とを具備する。【選択図】  図１
2006260378.tif 000002
【特許請求の範囲】
【請求項１】
第１のバスラインに接続され、プログラムを実行してデータを演算・加工するプロセッサ部と、
前記第１のバスラインとは異なる第２のバスラインに接続され、前記プロセッサ部において用いられるプログラム及びデータを格納する主メモリ回路と、
前記第１のバスラインに接続され、前記プロセッサ部において用いられるデータの一部が書き込まれると共に、書き込まれたデータヘのアクセスが優先的に行われる第１のキャッシュメモリ回路と、
前記第１のバスラインに接続され、前記第１のキャッシュメモリ回路よりも小さい記憶容量を有し、前記第１のキャッシュメモリ回路の記憶容量が不足した際に、前記第１のキャシュメモリ回路にデータを上書きされることにより消去されてしまうデータ及び前記第１のキャッシュメモリ回路から前記主メモリ回路に書き戻すデータが一時的に書き込まれると共に、書き込まれたデータへのアクセスが可能な第２のキャッシュメモリ回路と、
を具備する半導体集積回路。
【請求項２】
前記第１のキャッシュメモリ回路がＲＡＭで構成され、前記第２のキャッシュメモリ回路がフリップフロップで構成された、請求項１記載の半導体集積回路。
【請求項３】
前記第２のキャッシュメモリ回路が、前記第２のキャッシュメモリ回路に格納されているアドレスと前記プロセッサ部から入力される比較用アドレスとを比較して、両者が一致する場合に該アドレスに対応するデータへのアクセスが行われる、請求項１又は２記載の半導体集積回路。
【請求項４】
前記第２のキャッシュメモリ回路が、前記第２のキャッシュメモリ回路に格納されているデータの有効又は無効を表す情報を格納するための記憶領域を含む、請求項１〜３のいずれか１項記載の半導体集積回路。
【請求項５】
前記第２のキャッシュメモリ回路が、前記第２のキャッシュメモリ回路に格納されている複数種類のデータの前記主メモリ回路への書き戻し優先度を表す情報を格納するための記憶領域を含み、該情報に基づいて、複数種類のデータの書き戻し優先度を制御する、請求項１〜４のいずれか１項記載の半導体集積回路。
【請求項６】
前記第２のキャッシュメモリ回路が、前記第２のキャッシュメモリ回路に格納されているデータの前記主メモリ回路への書き戻しの必要の有無を表す情報を格納するための記憶領域を含み、該情報に基づいて、前記第１又は第２のバスラインに対するアクセス要求における優先度を設定する、請求項１〜５のいずれか１項記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に半導体集積回路に関し、特に、キャッシュメモリ回路を有する半導体集積回路に関する。
【背景技術】
【０００２】
従来から、コンピュータや携帯電話においては、プログラムを実行してデータの演算・加工を行う中央処理装置（以下、「ＣＰＵ」という）を含むプロセッサ部と、プログラムやデータを格納するための主メモリ回路とを有する半導体集積回路が用いられている。
【０００３】
一般的に、主メモリ回路の動作速度はＣＰＵの動作速度よりも遅いので、ＣＰＵを含むプロセッサ部と主メモリ回路の間に、主メモリ回路よりも記憶容量は小さいが高速動作が可能なキャッシュメモリ回路を設けることによって、システム性能の向上が図られている。
【０００４】
必要なデータの読み出しに際し、プロセッサ部は、まず、高速動作が可能なキャッシュメモリ回路にアクセスして、必要なデータがキャッシュメモリ回路内に格納されているか否かを確認する。必要なデータがキャッシュメモリ回路内に格納されている場合には、プロセッサ部は、主メモリ回路にアクセスすることなく、キャッシュメモリ回路にアクセスすることによりデータの読み出しを行う。この状態をヒットという。一方、必要なデータがキャッシュメモリ回路内に格納されていない場合には、プロセッサ部は、主メモリ回路にアクセスすることによりデータの読み出しを行う。この状態をミスヒットという。また、このとき次回のアクセスに備えてキャッシュメモリ回路内にデータを格納する動作をリフィルという。
【０００５】
必要なデータは高い確率でキャッシュメモリ回路内に存在するので、キャッシュメモリ回路を設けることにより、プロセッサ部と主メモリ回路との間で外部バスを介してアドレスやデータの受け渡しをするための時間を節約すると共に、プロセッサ部がデータの読み出しを行うために動作を停止している時間（待ち時間）を減少させて、システム性能の向上を図ることができる。
【０００６】
また、データの書き込みに際し、プロセッサ部がキャッシュメモリ回路と主メモリ回路との両方にデータを書き込む方式として、データの書き込みタイミングが異なる２つの方式（ライトバック方式及びライトスルー方式）のいずれかが用いられている。
【０００７】
ライトバック方式によれば、プロセッサ部が、まず、主メモリ回路よりも高速動作が可能なキャッシュメモリ回路にデータを書き込み、プログラムの実行処理等をしていない時間を利用して、キャッシュメモリ回路から主メモリ回路にデータを書き込む。一方、ライトスルー方式によれば、プロセッサ部が、キャッシュメモリ回路と主メモリ回路とに同時にデータを書き込む。
【０００８】
このように、キャッシュメモリ回路において、常にデータを更新すると共にヒット効率を上げることにより、システム性能の向上を図ることができる。しかしながら、キャッシュメモリ回路の記憶容量は主メモリ回路の記憶容量と比較してはるかに小さいので、ある程度の量のデータを格納するとキャッシュメモリ回路が飽和してしまう。キャッシュメモリ回路が飽和した場合に新たなデータを格納するためには、キャッシュメモリ回路に格納されているデータを上書きすることになる。このとき、上書きされたデータに再度アクセスする場合には再度リフィルを行う必要があり、また上書きされたデータが主メモリ内のデータに比べて更新されている場合には、主メモリに書き戻す必要がある。その際に、効率化のために、主メモリ回路に書き戻すデータを一時的に格納しておくためのライトバッファ回路を設ける必要がある。
【０００９】
しかしながら、ライトバッファ回路内のデータにはアクセスすることができず、また、ライトバッファ回路においてデータの整合性（コヒーレンシー）を保つ必要があるので、従来は、そのデータがライトバッファ回路から出力されるのを待ってアクセスを行っていた。そのため、新たなデータを書き込むためのシステムの負荷（以下、「オーバーヘッド」という）が大きく、ＣＰＵの待ち時間も長くなってしまい、システム性能の低下を招いていた。
【００１０】
また、一般的なキャッシュメモリ回路における問題として、ライトバック方式又はライトスルー方式によるデータの書き込みにおいては、コヒーレンシーを保つためにバス接続の優先度を高くする必要があるので、しばしばバストラフィックを増大させて、システム性能の低下を招いていた。また、同一エントリ内でウエイ数を超えて異なるアドレスのデータに頻繁にアクセスする場合には、キャッシュメモリ回路内のデータの書き換え動作を伴うので、システム全体の効率を落としていた。
【００１１】
関連する技術として、下記の特許文献１には、明示的なライン置き換え操作が可能なキャッシュメモリとその制御方法が開示されている。特許文献１によれば、プロセッサの命令セット中に命令置換え優先順位指定フィールド（ＩＲＬ）を設け、プロセッサのロード/ストア命令セット中にデータ置換え優先順位指定フィールド（ＤＲＬ）を設け、キャッシュメモリの各エントリ中に置換え優先順位情報（ＩＲＩ）を設け、キャッシュメモリにおける命令あるいはデータのライン置換え時に命令セット中の上記命令置換え優先順位指定フィールドあるいは上記データ置換え優先順位指定フィールドと該当エントリ中の上記置換え優先順位情報を比較していずれのラインの置換えを行うかを決定する機構を設けている。
【００１２】
また、下記の特許文献２には、主メモリ回路、キャッシュメモリ、ライトバッファのそれぞれの間でのデータの無矛盾化を維持しながら、システム性能を向上させるキャッシュの制御方法と装置が開示されている。特許文献２によれば、プロセッサからのリード/ライト要求あるいはバススヌープ（監視）中のデータのヒット判定にアドレスタグ器のデータだけではなく、ライトバッファのデータも調べることによって、ライトバッファのデータと主メモリ回路の無矛盾化を維持し、キャッシュ内あるいはライトバッファ内のデータをライトバッファを経由しないで、直接システムバスに送出することによってライトバッファのフラッシュを後回しにし、それによってシステム性能を向上させている。
【００１３】
しかしながら、特許文献１のキャッシュメモリは、ソフトウエイアでキャッシュメモリを制御するものであって、ライトバッファ回路を有する構成ではない。また、特許文献２は、データの無矛盾化を維持しながらキャッシュメモリ回路を制御することによってシステム性能を向上させるものであるが、ライトバッファ回路内のデータを書き換えたり読み出したりすることはできない。さらに、特許文献１及び特許文献２のいずれも、リフィルにより消去されてしまうデータを格納することによりシステム性能の向上を図ろうとするものではない。
【特許文献１】特開平６−５９９７７号公報（第１頁、図２）
【特許文献２】特開平７−４４４５９号公報（第１頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１４】
そこで、上記の点に鑑み、本発明は、キャッシュメモリ回路におけるリフィルに伴う読み込み動作、及び、ライトバック又はライトスルーに伴う書き込み動作によるペナルティーを抑えて、システム性能を向上させた半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、本発明に係る半導体集積回路は、第１のバスラインに接続され、プログラムを実行してデータを演算・加工するプロセッサ部と、第１のバスラインとは異なる第２のバスラインに接続され、プロセッサ部において用いられるプログラム及びデータを格納する主メモリ回路と、第１のバスラインに接続され、プロセッサ部において用いられるデータの一部が書き込まれると共に、書き込まれたデータヘのアクセスが優先的に行われる第１のキャッシュメモリ回路と、第１のバスラインに接続され、第１のキャッシュメモリ回路よりも小さい記憶容量を有し、第１のキャッシュメモリ回路の記憶容量が不足した際に、第１のキャシュメモリ回路にデータを上書きされることにより消去されてしまうデータ及び第１のキャッシュメモリ回路から主メモリ回路に書き戻すデータが一時的に書き込まれると共に、書き込まれたデータへのアクセスが可能な第２のキャッシュメモリ回路とを具備する。
【００１６】
ここで、第１のキャッシュメモリ回路がＲＡＭで構成され、第２のキャッシュメモリ回路がフリップフロップで構成されるようにしても良い。また、第２のキャッシュメモリ回路が、第２のキャッシュメモリ回路に格納されているアドレスとプロセッサ部から入力される比較用アドレスとを比較して、両者が一致する場合に該アドレスに対応するデータへのアクセスが行われるようにしても良い。
【００１７】
さらに、第２のキャッシュメモリ回路が、第２のキャッシュメモリ回路に格納されているデータの有効又は無効を表す情報を格納するための記憶領域を含むようにしても良いし、第２のキャッシュメモリ回路に格納されている複数種類のデータの主メモリ回路への書き戻し優先度を表す情報を格納するための記憶領域を含み、該情報に基づいて、複数種類のデータの書き戻し優先度を制御するようにしても良い。
【００１８】
また、第２のキャッシュメモリ回路が、第２のキャッシュメモリ回路に格納されているデータの主メモリ回路への書き戻しの必要の有無を表す情報を格納するための記憶領域を含み、該情報に基づいて、第１又は第２のバスラインに対するアクセス要求における優先度を設定するようにしても良い。
【発明の効果】
【００１９】
本発明によれば、第１のキャッシュメモリ回路と共に第１のバスラインに接続され、第１のキャッシュメモリ回路の記憶容量が不足した際に、第１のキャシュメモリ回路にデータを上書きされることにより消去されてしまうデータ及び第１のキャッシュメモリ回路から主メモリ回路に書き戻すデータが一時的に書き込まれると共に書き込まれたデータへのアクセスが可能な第２のキャッシュメモリ回路を設けることにより、ライトバッファとして用いられる第２のキャッシュメモリ回路内のデータを随時書き換えたり読み出したりすることが可能となるので、キャッシュメモリ回路におけるリフィルに伴う読み込み動作、及び、ライトバック又はライトスルーに伴う書き込み動作によるペナルティーを抑えて、システム性能を向上させることができる。
【発明を実施するための最良の形態】
【００２０】
以下に、本発明を実施するための最良の形態について、図面を参照しながら詳しく説明する。
図１は、本発明の一実施形態に係る半導体集積回路の構成を示すブロック図である。この半導体集積回路は、プログラムの実行やデータの書き込み・読み出しを行うプロセッサ部１０と、使用頻度の高いデータを格納するために中規模の記憶容量を有する記憶回路である１次キャッシュメモリ回路２０と、１次キャッシュメモリ回路２０を補助するために比較的小さい記憶容量を有する記憶回路である１．５次キャッシュメモリ回路３０と、１次キャッシュメモリ回路２０よりも比較的大きい記憶容量を有する記憶回路である２次キャッシュメモリ回路５０と、プログラムや大量のデータを格納するために大規模の記憶容量を有する記憶回路である主メモリ回路７０とを有している。
【００２１】
これらの記憶回路のいずれにおいても、データの書き込み及び読み出しが可能である。ここで、１次キャッシュメモリ回路２０は、例えばＲＡＭで構成されており、１．５次キャッシュメモリ回路３０は、例えばフリップフロップで構成されている。
【００２２】
さらに、この半導体集積回路は、システムバスを介するデータの入出力を制御するシステムバス制御回路４０と、外部バスを介するデータの入出力を制御する外部バス制御回路６０とを有している。プロセッサ部１０と、１次キャッシュメモリ回路２０と、１．５次キャッシュメモリ回路３０と、システムバス制御回路４０とは、プロセッサバスに接続されている。また、２次キャッシュメモリ回路５０と、外部バス制御回路６０とは、システムバスに接続されている。さらに、主メモリ回路７０は、外部バスに接続されている。
【００２３】
プロセッサ部１０は、プログラムを実行してデータの演算・加工を行うＣＰＵ１１と、プロセッサバスを介するデータの入出力を制御するプロセッサバス制御回路１２とを含んでいる。プロセッサ部１０は、プログラム及び該プログラムを実行するために必要なデータを主メモリ回路７０から読み出し、プログラムを実行することによりデータを演算・加工すると共に、演算・加工されたデータを記憶回路に書き込む。
【００２４】
一般的に記憶回路は、データの格納場所を指定するためのアドレスを伝送するアドレス線と、データを伝送するデータ線と、アドレスやデータの伝送のタイミングを制御する制御線とを含むバスラインに接続される。
【００２５】
例えば、キャッシュメモリ回路２０においては、記憶領域が、４ワードのデータを含むラインと呼ばれる単位領域に分けられており、アドレスの第４ビット以上が同一である４ライン又はウエイ（ウエイ０〜３）の集合をエントリと呼ぶ。例えば、１次キャッシュメモリ回路２０には、１２８個のエントリが含まれている。
【００２６】
例えば、キャッシュメモリ回路２０は、３２ビットのデータ［３１：０］を４ウエイ方式で格納する場合に、下位２ビットのアドレス［３：２］をウエイ識別のために割り当て、アドレス［１０：４］をエントリ識別に割り当てることにより、アドレス［３１：１１］に対応する２１ビットの比較用アドレスに対して、４つの３２ビットデータを格納している。
【００２７】
一方、キャッシュメモリ回路３０はウエイ若しくはエントリ又はその両方を持たず、例えば３２ビットのデータ［３１：０］に１対１で対応する３０ビットのアドレス［３１：２］を格納している。ここで、［ｍ：ｎ］は、ビット番号ｍ〜ｎのデータを意味する。なお、本実施形態においては、一般にならい、最下位ビットのビット番号を「０」とし、上位ビットに向かってビット番号をカウントする。
【００２８】
１次キャッシュメモリ回路２０は、プロセッサバスに接続され、プロセッサ部において用いられるデータの一部が書き込まれると共に、書き込まれたデータヘのアクセスが優先的に行われる。ライトバック方式によれば、プロセッサ部１０が、まず、主メモリ回路７０よりも高速動作が可能な１次キャッシュメモリ回路２０にデータを書き込み、プログラムの実行処理等をしていない時間を利用して、１次キャッシュメモリ回路２０から主メモリ回路７０にデータを書き込む。一方、ライトスルー方式によれば、プロセッサ部１０が、１次キャッシュメモリ回路２０と主メモリ回路７０とに、同時にデータを書き込む。
【００２９】
１次キャッシュメモリ回路２０は、アドレスに基づいてデータを管理し、プロセッサ部１０からアクセスがあった際に、該当データを検索して、１次キャッシュメモリ回路２０内に該当データが格納されているか否かを判定する。また、１次キャッシュメモリ回路２０は、該当データがヒット又はミスヒットしたことを表す信号を、プロセッサ部１０に伝送する。該当データがヒットした場合に、１次キャッシュメモリ回路２０は、該当データの書き込み又は読み出し動作を行う。
【００３０】
しかしながら、１次キャッシュメモリ回路２０の記憶容量は、２次キャッシュメモリ回路５０又は主メモリ回路７０の記憶容量と比較して小さいので、ある程度のデータを格納すると１次キャッシュメモリ回路２０が飽和してしまう。１次キャッシュメモリ回路２０が飽和して記憶容量が不足した場合に新たなデータを格納し、リフィルのオーバーヘッドを低減するためには、１次キャシュメモリ回路にデータを上書きされることにより消去されるデータ及び主メモリ回路７０に書き戻すデータを、一時的に他の記憶回路に格納しておく必要がある。
【００３１】
そのために、本実施形態においては、データの書き込み及び読み出しが可能な１．５次キャッシュメモリ回路３０が用いられる。これにより、１次キャッシュメモリ回路２０から消去後のデータ及び主メモリ回路７０に転送される途中のデータに対しても、プロセッサ部１０からアクセスすることが可能となる。ここで、１次キャッシュメモリ回路から消去されたデータを１．５次キャッシュメモリ回路３０がどのくらいの期間保持しているかは、主に１．５次キャッシュメモリ回路３０の記憶容量による。
【００３２】
図２は、図１に示す１．５次キャッシュメモリ回路３０におけるデータ検索動作を説明するための図である。１．５次キャッシュメモリ回路３０は、１次キャッシュメモリ回路２０と並列にプロセッサバスに接続されており、プロセッサ部１０からアクセスがあった際に、該当データを検索して、該当データが格納されているかを判定する。また、１．５次キャッシュメモリ回路３０は、該当データがヒット又はミスヒットしたことを表す信号を、１次キャッシュメモリ回路２０を介してプロセッサ部１０に伝送する。該当データがヒットした場合に、１．５次キャッシュメモリ回路３０は、該当データの書き込み又は読み出し動作を行う。
【００３３】
図２に示すように、１．５次キャッシュメモリ回路３０は、１組のデータセットとして、３０ビットのアドレスと、３２ビットのデータと、データの有効又は無効を表すＶ（バリッド）ビットと、主メモリ回路７０に対する書き戻し優先度を表すＰ（プライオリティー）ビットと、書き込みの必要の有無を表すＤ（ダーティー）ビットとを格納している。ここでは、４つのライン又はウエイが存在する場合を例として、４つのデータセット１〜４を示す。
【００３４】
あるデータの値を書き換えるために、プロセッサ部１０から１．５次キャッシュメモリ回路３０に、該当データを検索するための３２ビットのアドレスＡ［３１：０］と、３２ビットのライトデータＤ１［３１：０］とが伝送された場合について説明する。
【００３５】
１．５次キャッシュメモリ回路３０に含まれている比較器３１〜３４の内で、バイトオフセットとして用いられるアドレスＡ［１：０］によって指定されたデータセットに対応する比較器が、比較用アドレスとして用いられるアドレスＡ［３１：２］と、該当するデータセットに含まれている３０ビットのアドレスとを比較する。セレクタ３５は、この比較器からヒットの判定を受けた場合に、ヒットしたラインに対応するデータの記憶領域を選択して、そこにライトデータＤ１［３１：０］を書き込む。
【００３６】
一方、あるデータの値を読み出す際には、セレクタ３６が、この比較器からヒットの判定を受けた場合に、ヒットしたラインに対応するデータの記憶領域を選択して、そこに格納されている３２ビットのデータを読み出し、ヒットデータＤ２［３１：０］としてプロセッサバスに出力する。
【００３７】
このように、１．５次キャッシュメモリ回路３０は、プロセッサ部１０が要求するデータが格納されているか否かを判定し、ヒットした場合には、１次キャッシュメモリ回路２０と同様に、該当データの書き込み及び読み出しを行うことができる。即ち、１．５次キャッシュメモリ回路３０からデータが順次出力されるのを待つことなく、１．５次キャッシュメモリ回路３０内のデータの書き込み及び読み出しを随時行うことができる。これにより、書き込み時のオーバーヘッドを低減することができる。
【００３８】
また、１．５次キャッシュメモリ回路３０は、フリップフロップによって構成されるので、回路規模をあまり増大させることなく、１次キャッシュメモリ回路２０の補助的機能を実現できる。これにより、データのヒット効率を上げることができるので、プロセッサ部１０の動作速度の劣化を低減すると共に、システム性能の向上を図ることができる。
【００３９】
図２に示すように、１．５次キャッシュメモリ回路３０は、格納されているデータの有効又は無効を表すＶビットを格納するための記憶領域を含んでいる。また、１．５次キャッシュメモリ回路３０は、格納されている複数種類のデータセット間における主メモリ回路７０への書き戻し優先度を表すＰビットを格納するための記憶領域を含んでおり、Ｐビットの情報に基づいて複数種類のデータの書き戻し優先度を制御する。
【００４０】
さらに、１．５次キャッシュメモリ回路３０は、データのコヒーレンシーを保つために、主メモリ回路７０に書き戻す必要のあるデータであるか否かを表すＤビットを格納するための記憶領域と、Ｄビットの値に基づいて、プロセッサバス、システムバス、又は、外部バスに対するアクセス要求における優先度を設定する回路とを含んでいる。これにより、例えば、Ｄビットの値が小さいデータについては、バスラインに対するアクセス要求における優先度を下げることによって、主メモリ回路７０にデータを書き戻す際におけるオーバーヘッドを低減することができる。
【００４１】
図３は、１．５次キャッシュメモリのデータセット内のＤビットの値を検出することによりバスラインに対するアクセス要求における優先度を設定するための回路の構成を示す図である。それぞれのデータセットにおいて、書き戻し優先度が高い場合には、Ｄビットが「１」（ハイレベル）とされ、書き戻し優先度が低い場合には、Ｄビットが「０」（ローレベル）とされている。
【００４２】
この回路は、１つのエントリに含まれている４つのデータセット内のＤビットを選択するためのセレクタ３７と、クロック信号ＣＬＫ及びセレクタ３７を制御するための制御信号ＳＥＬを出力する制御回路３８と、制御回路３８からクロック信号ＣＬＫが入力されると共にセレクタ３７の出力信号がイネーブル信号として入力され、これらの信号に基づいてバスラインに対するアクセス要求における優先度を表すカウント値Ｃｏｕｎｔを生成するカウンタ３９とによって構成されている。
【００４３】
最初に、カウンタ３９がリセットされて、カウント値Ｃｏｕｎｔが「０」となっている。制御回路３８が、クロック信号ＣＬＫを生成すると共に、それに同期して、制御信号ＳＥＬを、「００」、「０１」、「１０」、「１１」と変化させる。セレクタ３７は、制御信号ＳＥＬに従って、データセット１〜４に含まれているＤビットを順次選択する。
【００４４】
カウンタ３９は、セレクタ３７から供給されるイネーブル信号が「１」（ハイレベル）であるときに、クロック信号ＣＬＫをカウントする。従って、データセット１〜４に含まれているＤビットが全て「０」（ローレベル）である場合には、カウント値Ｃｏｕｎｔが「０」となり、データセット１〜４に含まれているＤビットが全て「１」（ハイレベル）である場合には、カウント値Ｃｏｕｎｔが「４」となる。このように、カウント値Ｃｏｕｎｔが０〜４の間で変化するので、カウント値Ｃｏｕｎｔは、３ビットのデータとして表される。
【００４５】
このカウント値Ｃｏｕｎｔは、バスラインに対するアクセス要求における優先度を表している。カウント値Ｃｏｕｎｔに基づいて、図１に示すプロセッサバス制御回路１２がプロセッサバスを制御し、システムバス制御回路４０がシステムバスを制御し、外部バス制御回路６０が外部バスを制御する。このようにして、各エントリに含まれているデータセット内のＤビットの値を検出することにより、そのエントリに含まれているデータについてバスラインに対するアクセス要求における優先度を設定し、その優先度に従ってバスラインへのアクセスを制御することにより、バストラフィックの増大を抑えることができる。
【００４６】
以上説明したように、本実施形態によれば、１次キャッシュメモリ回路２０と並列に、１次キャッシュメモリ回路の消去データを格納すると共にライトバッファとして動作する１．５次キャッシュメモリ回路３０を配置して、１．５次キャッシュメモリ回路が格納しているデータに対して随時アクセスを可能とすることにより、リフィルに伴う読み込み動作、及び、ライトバック又はライトスルーにおける書き込み時のオーバーヘッドを低減し、それによりバストラフィックを改善して、ＣＰＵにおける処理効率の劣化を低減することができる。特に、従来は達成できなかったライトスルーにおける書き込み動作の高速化を実現したり、１次キャッシュの記憶容量を増加させることなくリフィル動作の低減を実現することができる。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施形態に係る半導体集積回路の構成を示すブロック図。
【図２】図１に示す１．５次キャッシュメモリ回路の動作を説明するための図。
【図３】Ｄビットの値を検出してアクセス優先度を設定する回路の構成を示す図。
【符号の説明】
【００４８】
１０  プロセッサ部、  １１  ＣＰＵ、  １２  プロセッサバス制御回路、  ２０  １次キャッシュメモリ回路、  ３０  １．５次キャッシュメモリ回路、  ３１〜３４  比較器、  ３５〜３７  セレクタ、  ３８  制御回路、  ３９  カウンタ、  ４０  システムバス制御回路、  ５０  ２次キャッシュメモリ回路、  ６０  外部バス制御回路、  ７０  主メモリ回路
【図１】
2006260378.tif 000003
【図２】
2006260378.tif 000004
【図３】
2006260378.tif 000005