(57)【要約】【課題】複数の処理単位への割当キャッシュメモリ量の再設定をせずとも、同時に動作する処理単位の増減に対応できるようにする。【解決手段】大量のデータを保持するメインメモリ１２と、メインメモリ１２より高速にアクセス可能なキャッシュメモリ１３と、メインメモリ１２とキャッシュメモリ１３との間でデータの入れ替えを制御するメモリ入れ替え制御装置１５と、キャッシュメモリ１３を処理単位毎に分割割り当て可能なメモリ制御装置１４とからなる計算機システム１０において、メモリ入れ替え制御装置１５は、処理単位毎の優先度情報を保持し、この優先度情報を考慮した入れ替えアルゴリズムを用いてキャッシュメモリ１３のライン入れ替えを行い、キャッシュメモリ１３を分割して割り当てる際に処理単位間で部分的に記憶領域を共有させた後は、割当キャッシュメモリ量を自動的に変化させる。【選択図】図１
2009181484.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理単位と、
前記複数の処理単位が使用するデータを保持するためのメインメモリと、
前記メインメモリより高速にアクセス可能なキャッシュメモリと、
前記キャッシュメモリの記憶領域を分割して前記複数の処理単位に割り当て、かつ前記複数の処理単位のうち任意の処理単位が動作を終了する際には、前記キャッシュメモリの全記憶領域のうち当該動作を終了する処理単位が使用していた記憶領域を他の処理単位が使用できるように開放するメモリ制御装置と、
前記複数の処理単位間の優先度情報を保持し、当該優先度情報を考慮した前記キャッシュメモリの入れ替えアルゴリズムを用いて、前記メインメモリと前記キャッシュメモリとの間でデータの入れ替えを制御するメモリ入れ替え制御装置とを備えた計算機システムであって、
前記複数の処理単位は、当該計算機システムを搭載する機器の基本機能を実現するための基本処理単位を含み、
前記メモリ制御装置は、前記キャッシュメモリの一部記憶領域を前記基本処理単位に専有させ、かつ前記キャッシュメモリの他の記憶領域のうち少なくとも一部を前記基本処理単位よりも前記基本処理単位以外の処理単位に優先的に使用させるように前記キャッシュメモリの割り当てを事前に決定することを特徴とする計算機システム。
【請求項２】
請求項１記載の計算機システムにおいて、
前記メモリ入れ替え制御装置は、前記基本処理単位を指定するための処理単位指定レジスタを有することを特徴とする計算機システム。
【請求項３】
請求項１記載の計算機システムにおいて、
前記メモリ入れ替え制御装置は、前記基本処理単位からの要求に従って前記メインメモリから前記キャッシュメモリの記憶領域へデータを転送する際に、当該記憶領域が入れ替え対象になりやすいことを意味するウィークフラグを当該記憶領域に付与した後、当該ウィークフラグが付与された記憶領域を優先的に選択するキャッシュメモリの入れ替えアルゴリズムを用いることを特徴とする計算機システム。
【請求項４】
請求項１記載の計算機システムにおいて、
前記メモリ入れ替え制御装置は、前記複数の処理単位のうちの任意の処理単位からの要求に従って前記メインメモリから前記キャッシュメモリの記憶領域へデータを転送する際に、当該要求元の処理単位を特定する番号を当該記憶領域に付与した後、前記基本処理単位の番号と一致する番号が付与された記憶領域を優先的に選択するキャッシュメモリの入れ替えアルゴリズムを用いることを特徴とする計算機システム。
【請求項５】
請求項１記載の計算機システムにおいて、
前記メモリ制御装置は、前記キャッシュメモリの記憶領域を他の処理単位に開放する際に、当該記憶領域のデータを前記メインメモリへライトバックし、かつ当該記憶領域の有効ビットを無効にすることを特徴とする計算機システム。
【請求項６】
請求項５記載の計算機システムにおいて、
前記メモリ制御装置は、当該動作を終了する処理単位が使用したメモリ空間内にて、前記キャッシュメモリの記憶領域を他の処理単位に開放することを特徴とする計算機システム。
【請求項７】
請求項３記載の計算機システムにおいて、
前記メモリ制御装置は、前記キャッシュメモリの記憶領域を前記基本処理単位に開放する際に、当該記憶領域に前記ウィークフラグを付与することを特徴とする計算機システム。
【請求項８】
請求項７記載の計算機システムにおいて、
前記メモリ制御装置は、当該動作を終了する処理単位が使用したメモリ空間内にて、前記キャッシュメモリの記憶領域を前記基本処理単位に開放することを特徴とする計算機システム。
【請求項９】
請求項１記載の計算機システムにおいて、
前記基本処理単位は、携帯電話端末の音声通話機能を実現するための処理単位であることを特徴とする計算機システム。
【請求項１０】
請求項１記載の計算機システムにおいて、
前記基本処理単位は、携帯電話端末の音楽再生機能を実現するための処理単位であることを特徴とする計算機システム。
【請求項１１】
複数の処理単位と、当該複数の処理単位が使用するデータを保持するためのメインメモリと、当該メインメモリより高速にアクセス可能なキャッシュメモリとを有する計算機システムの制御方法であって、
前記複数の処理単位は、当該計算機システムを搭載する機器の基本機能を実現するための基本処理単位を含み、
前記キャッシュメモリの一部記憶領域を前記基本処理単位に専有させ、かつ前記キャッシュメモリの他の記憶領域のうち少なくとも一部を前記基本処理単位よりも前記基本処理単位以外の処理単位に優先的に使用させるように、前記キャッシュメモリの記憶領域を分割して前記複数の処理単位に事前に割り当てるステップと、
前記複数の処理単位間の優先度情報を考慮した前記キャッシュメモリの入れ替えアルゴリズムを用いて、前記メインメモリと前記キャッシュメモリとの間でデータの入れ替えを制御するステップと、
前記複数の処理単位のうち任意の処理単位が動作を終了する際に、前記キャッシュメモリの全記憶領域のうち当該動作を終了する処理単位が使用していた記憶領域を他の処理単位が使用できるように開放するステップとを備えたことを特徴とする計算機システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュメモリの使用効率を向上させる計算機システムとその制御方法に関するものである。
【背景技術】
【０００２】
従来の計算機システムにおいて、処理する機能が年々増加する中、処理間の干渉を極力抑制するために、処理性能に影響するキャッシュメモリについて、各処理単位でキャッシュメモリの記憶領域を分割する機構が提案されている（例えば、特許文献１、２参照）。
【０００３】
更に、分割後のキャッシュメモリの使用効率が低下してしまう課題に対する取り組みとして、処理を実行開始するタイミングで、都度キャッシュメモリの割当量を処理の優先度情報に従って再配分する制御を行う技術も提案されている（例えば、特許文献３参照）。
【特許文献１】特開平９−１４６８４２号公報
【特許文献２】特開２００７−４１９０４号公報
【特許文献３】特開２００５−３３９２９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の計算機システムにおいては、同時に動作する処理単位が増減すると全ての処理単位に対して割当キャッシュメモリ量を再設定する必要があり、またその再設定量を計算する手段が必要である。結果、システムが複雑化し、かつ処理単位間での干渉が発生するという課題があった。
【０００５】
本発明の目的は、割当キャッシュメモリ量の再設定をせずとも、同時に動作する処理単位の増減に対応できるようにすることにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は、複数の処理単位と、当該複数の処理単位が使用するデータを保持するためのメインメモリと、当該メインメモリより高速にアクセス可能なキャッシュメモリと、当該キャッシュメモリの記憶領域を分割して前記複数の処理単位に割り当て、かつ前記複数の処理単位のうち任意の処理単位が動作を終了する際には、前記キャッシュメモリの全記憶領域のうち当該動作を終了する処理単位が使用していた記憶領域を他の処理単位が使用できるように開放するメモリ制御装置と、前記複数の処理単位間の優先度情報を保持し、当該優先度情報を考慮した前記キャッシュメモリの入れ替え（リプレースメント）アルゴリズムを用いて、前記メインメモリと前記キャッシュメモリとの間でデータの入れ替えを制御するメモリ入れ替え制御装置とを備えた計算機システムの構成を採用し、かつ前記複数の処理単位は、当該計算機システムを搭載する機器の基本機能を実現するための基本処理単位を含み、前記メモリ制御装置は、前記キャッシュメモリの一部記憶領域を前記基本処理単位に専有させ、かつ前記キャッシュメモリの他の記憶領域のうち少なくとも一部を前記基本処理単位よりも前記基本処理単位以外の処理単位に優先的に使用させるように前記キャッシュメモリの割り当てを事前に決定することとしたものである。
【発明の効果】
【０００７】
本発明の計算機システムによれば、各処理単位に対するキャッシュメモリの割当量を、再設定することなく自動的に変化させることができる。したがって、同時に動作する処理単位が増減しても、全ての処理単位に対して割当キャッシュメモリ量を再設定する必要がなくなり、再設定量を計算する手段も不要となり、システムの複雑化や処理単位間での干渉を発生させることなくキャッシュメモリ割当量を変化させることができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明に係る計算機システムの実施形態について、図面を参照して説明する。
【０００９】
図１は、本発明に係る計算機システムの構成例を示している。図１の計算機システム１０は、第１処理単位（処理単位Ａ）１１ａと、第２処理単位（処理単位Ｂ）１１ｂと、第３処理単位（処理単位Ｃ）１１ｃと、メインメモリ１２と、キャッシュメモリ１３と、メモリ制御装置１４と、メモリ入れ替え制御装置１５とを備えている。
【００１０】
第１、第２及び第３処理単位１１ａ，１１ｂ，１１ｃはそれぞれ、プロセッサ等のハードウェア（専用回路）、又は、スレッド、プログラム等のソフトウェアである。通例、ソフトウェアはＲＯＭ等の記憶媒体に記憶されている。ただし、本実施形態では説明簡略化のため、第１、第２及び第３処理単位１１ａ，１１ｂ，１１ｃの全てがプロセッサであるものとする。
【００１１】
第３処理単位１１ｃは、当該計算機システム１０を搭載する機器の基本機能を実現するための基本処理単位であるものとする。当該計算機システム１０が例えば携帯電話端末に搭載される場合には、第３処理単位１１ｃが音声通話機能又は音楽再生機能を、第２処理単位１１ｂがカメラ撮影機能を、第１処理単位１１ａがＴＶ視聴機能をそれぞれ司る。音声通話機能は、一般に言う携帯電話端末間における音声による通話の機能を意味する。音楽再生機能は、一般に言う携帯型音楽プレーヤの機能であり、ＭＰＥＧ２−ＡＡＣ、ＭＰ３、ＡＴＲＡＣ３等のオーディオコーデックフォーマットで圧縮された音楽ファイルを再生する機能を意味する。カメラ撮影機能は、デジタルスチルカメラ等で行われているような写真撮影機能を意味する。ＴＶ視聴機能は、一般に言うアナログＴＶ視聴機能、ワンセグデジタルＴＶ視聴機能、フルセグデジタルＴＶ視聴機能などを意味する。
【００１２】
メインメモリ１２は、第１、第２及び第３処理単位１１ａ，１１ｂ，１１ｃが使用するデータを保持するためのメモリである。キャッシュメモリ１３は、当該メインメモリ１２より高速にアクセス可能なメモリである。
【００１３】
メモリ制御装置１４は、キャッシュメモリ１３の記憶領域を分割して第１、第２及び第３処理単位１１ａ，１１ｂ，１１ｃに割り当て、かつ第１、第２及び第３処理単位１１ａ，１１ｂ，１１ｃのうち任意の処理単位が動作を終了する際には、キャッシュメモリ１３の全記憶領域のうち当該動作を終了する処理単位が使用していた記憶領域を他の処理単位が使用できるように開放する機能、すなわち開放機能２１を有する。
【００１４】
メモリ入れ替え制御装置１５は、第１、第２及び第３処理単位１１ａ，１１ｂ，１１ｃの間の優先度情報を保持し、当該優先度情報を考慮したキャッシュメモリ１３の入れ替えアルゴリズムを用いて、メインメモリ１２とキャッシュメモリ１３との間でデータの入れ替えを制御する。メモリ入れ替え制御装置１５が有する処理単位指定レジスタ２２は、第１、第２及び第３処理単位１１ａ，１１ｂ，１１ｃのうちのいずれが基本処理単位であるかを指定するためのレジスタであって、上記携帯電話端末の例では音声通話機能又は音楽再生機能を司る第３処理単位１１ｃを表示する処理単位番号（例えば０ｘｃ：“０ｘ”は１６進数表記であることを示す。以下同様とする。）が処理単位指定レジスタ２２に設定される。
【００１５】
図２は、図１中のキャッシュメモリ１３の内部構造の例を示している。図２のキャッシュメモリ１３は、例えば８個のキャッシュメモリライン（ライン１〜８）からなる記憶領域を備える。個々のキャッシュメモリラインは、当該キャッシュメモリ１３をキャッシングする際の１単位であって、キャッシングするデータ（ＤＡＴＡ）と、当該キャッシュメモリラインが優先的に入れ替え対象となることを示すウィークフラグ（ＷＦ）と、一般的なＬＲＵ（Least Recently Used）アルゴリズムに基づく入れ替えの優先度情報であるメモリ入れ替え判定情報（ＬＲＵ）と、メインメモリ１２でのアドレスを特定するためのタグ（ＴＡＧ）と、当該キャッシュメモリラインが保持しているデータが有効かどうかを示す有効ビット（Ｖ）とを有する。
【００１６】
図２中のＵａ，Ｕｂ，Ｕｃは、第１、第２及び第３処理単位１１ａ，１１ｂ，１１ｃの各々へのキャッシュメモリライン割当量を示している。メモリ制御装置１４は、例えば、第１処理単位１１ａにライン１及び２を、第２処理単位１１ｂにライン３〜６を、第３処理単位１１ｃにライン１〜８をそれぞれ割り当てる。ライン７及び８を第３処理単位１１ｃに専有させ、ライン１及び２を第３処理単位１１ｃよりも第１処理単位１１ａに優先的に使用させ、かつライン３〜６を第３処理単位１１ｃよりも第２処理単位１１ｂに優先的に使用させるように、メモリ制御装置１４がキャッシュメモリ１３の割り当てを事前に決定するのである。
【００１７】
一方、メモリ入れ替え制御装置１５は、例えば基本処理単位である第３処理単位１１ｃからの要求に従ってメインメモリ１２からキャッシュメモリ１３のあるラインへデータを転送する際に、当該ラインが入れ替え対象になりやすいことを意味する“１”のウィークフラグ（ＷＦ）を当該ラインに付与した後、上記ＬＲＵアルゴリズムに加えて、当該“１”のウィークフラグ（ＷＦ）が付与されたラインを優先的に選択するキャッシュメモリ１３の入れ替えアルゴリズムを用いる。
【００１８】
図３は、図２のキャッシュメモリ１３における入れ替え優先度を説明するための概念図である。図３の上にある条件のキャッシュメモリラインほど入れ替え対象になりやすく、下にある条件のキャッシュメモリラインほど入れ替え対象になりにくいものである。具体的に説明すると、有効ビット（Ｖ）が無効“０”を示すラインは、有効ビット（Ｖ）が有効“１”を示すラインよりも入れ替え対象に選ばれやすい。また、ウィークフラグ（ＷＦ）が“１”であるラインは、ウィークフラグ（ＷＦ）が“０”であるラインよりも入れ替え対象に選ばれやすい。有効ビット（Ｖ）及びウィークフラグ（ＷＦ）が同一であるラインどうしの間では、周知のＬＲＵに基づくメモリ入れ替え判定が行われる。図３では、入れ替え優先度の高いものから順に“古”、“中”、“新”と表現している。なお、メモリ入れ替え判定情報ＬＲＵに代えて、ランダム方式やその他の優先度決定アルゴリズムの情報を採用してもかまわない。
【００１９】
図４は、図１中の第１、第２及び第３処理単位１１ａ，１１ｂ，１１ｃの動作シーケンス例を示している。ここでは、第３処理単位（処理単位Ｃ）１１ｃが起動し、続いて第１及び第２処理単位（処理単位Ａ及びＢ）１１ａ，１１ｂが起動した後、第１処理単位（処理単位Ａ）１１ａが終了するものとする。つまり、図４中の時刻Ｔ１では第３処理単位１１ｃのみが、時刻Ｔ２では第１、第２及び第３処理単位１１ａ，１１ｂ，１１ｃの全てが、時刻Ｔ３では第２及び第３処理単位１１ｂ，１１ｃがそれぞれ動作中である。
【００２０】
図５、図６及び図７は、各々図４中の時刻Ｔ１、Ｔ２及びＴ３における図２のキャッシュメモリ１３の内部状態を示している。
【００２１】
図５によれば、第３処理単位１１ｃが一定時間動作した後、全てのキャッシュメモリラインにウィークフラグ（ＷＦ）が立っている状態になる。この状態で、例えば第３処理単位１１ｃの要求によるキャッシュメモリラインの入れ替えが発生した場合には、図３の優先順位に従って入れ替え第１候補としてライン２及び８が選定される。このうちいずれかが選択され（同レベルの優先度の候補が複数存在した場合の動作については実装依存であり、本願発明の特徴ではないので詳細には説明しない。）、メモリ入れ替え制御装置１５にて入れ替えが実行される。この際、第３処理単位１１ｃは処理単位指定レジスタ２２により指定された処理単位であり、ウィークフラグ（ＷＦ）に“１”を立てる基本処理単位にあたるので、入れ替え終了後もメモリ入れ替え制御装置１５は該当ラインのウィークフラグ（ＷＦ）に“１”を立てる。
【００２２】
図６によれば、第１、第２及び第３処理単位１１ａ，１１ｂ，１１ｃが一定時間動作した後、第３処理単位１１ｃのみに割り当てられているライン７及び８のウィークフラグ（ＷＦ）に“１”が立つ。ライン１及び２は第１処理単位１１ａのデータを保持しておりウィークフラグ（ＷＦ）は“０”となる。同様にライン３〜６は第２処理単位１１ｂのデータを保持しておりウィークフラグ（ＷＦ）は“０”となる。この状態で、例えば第３処理単位１１ｃの要求によるキャッシュメモリラインの入れ替えが発生した場合には、図３の優先順位に従って入れ替え第１候補としてライン８が選定される。そして、このライン８に対して、メモリ入れ替え制御装置１５にて入れ替えが実行される。この際、第３処理単位１１ｃは処理単位指定レジスタ２２により指定された処理単位であり、ウィークフラグ（ＷＦ）に“１”を立てる基本処理単位にあたるので、入れ替え終了後もメモリ入れ替え制御装置１５は当該ライン８のウィークフラグ（ＷＦ）に“１”を立てる。
【００２３】
図７によれば、第１処理単位１１ａの動作終了に応答して、メモリ制御装置１４の持つ開放機能２１により、ライン１及び２のウィークフラグ（ＷＦ）に“１”が立てられる。ここでは、第１処理単位１１ａへの割当キャッシュメモリラインの全てに“１”のウィークフラグ（ＷＦ）を付与する方法で開放機能２１を実現するものとした。その結果、第１処理単位１１ａに割り当たっていたライン１及び２を、他の処理単位（このケースでは第３処理単位１１ｃ）が使用できるようになる。この状態で、例えば第３処理単位１１ｃの要求によるキャッシュメモリラインの入れ替えが発生した場合には、図３の優先順位に従って入れ替え第１候補としてライン２が選定される。そして、このライン２に対して、メモリ入れ替え制御装置１５にて入れ替えが実行される。この際、第３処理単位１１ｃは処理単位指定レジスタ２２により指定された処理単位であり、ウィークフラグ（ＷＦ）に“１”を立てる基本処理単位にあたるので、入れ替え終了後もメモリ入れ替え制御装置１５は当該ライン２のウィークフラグ（ＷＦ）に“１”を立てる。
【００２４】
以上のとおり、図１の計算機システム１０によれば、同時に動作する処理単位が増減しても、全ての処理単位に対して割当キャッシュメモリ量を再設定する必要がなくなり、再設定量を計算する手段も不要となり、システムの複雑化や処理単位間での干渉を発生させることなくキャッシュメモリ割当量を変化させることができる。また、基本処理単位である第３処理単位１１ｃに常にライン７及び８を確保しているので、どのような処理単位が同時に動作しようとも当該基本処理単位に最低限の処理性能を確保することができる。
【００２５】
携帯電話端末の例に即して説明すれば、図５に示すように第１及び第２処理単位１１ａ，１１ｂが動作していないとき、音声通話機能又は音楽再生機能を司る第３処理単位１１ｃは、全てのキャッシュメモリライン（ライン１〜８）を使用することができる。つまり、第３処理単位１１ｃが音声通話機能又は音楽再生機能に使用できるキャッシュメモリ１３の容量が増加し、キャッシュミス率も低下し、所望の処理を効率的に実行することができる。第３処理単位１１ｃが単独で動作している場合は、処理効率が上がり、かつメインメモリ１２へのアクセス頻度も低下するのである。これら効果によって、計算機システム１０の全体にて活性化する（動作する）ハードウエアが平均的に低減し、消費電力が下げられる効果が期待できる。
【００２６】
なお、図１の計算機システム１０によれば、処理単位指定レジスタ２２の値を変更することで、キャッシュメモリ１３の自動的な割当量変化を第１処理単位１１ａ又は第２処理単位１１ｂに対して実現することも可能である。
【００２７】
図８、図９、図１０及び図１１は、各々図１中のメモリ制御装置１４が持つ開放機能２１の実現例を示すフローチャート図である。
【００２８】
図８によれば、キャッシュメモリ１３の割当部分について１ライン毎に、当該ラインのデータをメインメモリ１２へライトバックし、かつ当該ラインの有効ビット（Ｖ）を無効“０”にすることにより、割当キャッシュメモリライン全部の開放機能２１を実現する。これにより、任意の処理単位が使用していたキャッシュメモリラインを、データのコヒーレンシを保持しつつ、他の処理単位が使用できるように開放することができる。
【００２９】
図９によれば、動作を終了する処理単位が使用したメモリ空間内に限定して図８と同様の手法を適用することにより、開放機能２１を実現する。これにより、任意の処理単位が使用していたキャッシュメモリラインを、データのコヒーレンシを保持しつつ、かつ共有メモリなどで他の処理単位の割当キャッシュメモリライン上に乗っていた場合でも、他の処理単位が使用できるように開放することができる。
【００３０】
図１０によれば、キャッシュメモリ１３の割当部分について１ライン毎に、当該ラインに“１”のウィークフラグ（ＷＦ）を付与することにより、割当キャッシュメモリライン全部の開放機能２１を実現する。これにより、任意の処理単位が使用していたキャッシュメモリラインを、データのコヒーレンシを保持しつつ、かつライトバックによるメモリバスへの局所的負荷を発生させることなく、他の処理単位が使用できるように開放することができる。
【００３１】
図１１によれば、動作を終了する処理単位が使用したメモリ空間内に限定して図１０と同様の手法を適用することにより、開放機能２１を実現する。これにより、任意の処理単位が使用していたキャッシュメモリラインを、データのコヒーレンシを保持しつつ、かつライトバックによるメモリバスへの局所的負荷を発生させることなく、かつ共有メモリなどで他の処理単位の割当キャッシュメモリライン上に乗っていた場合でも、他の処理単位が使用できるように開放することができる。
【００３２】
図１２は、図１中のキャッシュメモリ１３の内部構造の他の例を示している。８個のキャッシュメモリラインの各々は、図２の場合のウィークフラグ（ＷＦ）に代えて処理単位番号（ＰＮ）を有する。
【００３３】
図１３は、図１２のキャッシュメモリ１３における入れ替え優先度を説明するための概念図である。この場合のメモリ入れ替え制御装置１５は、第１、第２及び第３処理単位１１ａ，１１ｂ，１１ｃのうちの任意の処理単位からの要求に従ってメインメモリ１２からキャッシュメモリ１３のラインへデータを転送する際に、当該要求元の処理単位を特定する処理単位番号（ＰＮ）を当該ラインに付与した後、上記ＬＲＵアルゴリズムに加えて、処理単位指定レジスタ２２により指定された基本処理単位の番号（例えば、第３処理単位１１ｃを表示する“０ｘｃ”）と一致する処理単位番号（ＰＮ）が付与されたラインを優先的に選択するキャッシュメモリ１３の入れ替えアルゴリズムを用いる。
【００３４】
図１４、図１５及び図１６は、各々図４中の時刻Ｔ１、Ｔ２及びＴ３における図１２のキャッシュメモリ１３の内部状態を示している。ここでは、第１処理単位１１ａが番号“０ｘａ”により、第２処理単位１１ｂが番号“０ｘｂ”により、第３処理単位１１ｃが番号“０ｘｃ”によりそれぞれ識別され、かつ第３処理単位１１ｃが基本処理単位であるものとする。したがって、処理単位指定レジスタ２２には“０ｘｃ”が設定されている。
【００３５】
図１４によれば、第３処理単位１１ｃが一定時間動作した後、全てのキャッシュメモリラインの処理単位番号（ＰＮ）に“０ｘｃ”が設定された状態になる。この状態で、例えば第３処理単位１１ｃの要求によるキャッシュメモリラインの入れ替えが発生した場合には、図１３の優先順位に従って入れ替え第１候補としてライン２及び８が選定される。このうちいずれかが選択され（同レベルの優先度の候補が複数存在した場合の動作については実装依存であり、本願発明の特徴ではないので詳細には説明しない。）、メモリ入れ替え制御装置１５にて入れ替えが実行される。この際、該当キャッシュメモリラインの処理単位番号（ＰＮ）に第３処理単位１１ｃの番号である“０ｘｃ”が設定される。
【００３６】
図１５によれば、第１、第２及び第３処理単位１１ａ，１１ｂ，１１ｃが一定時間動作した後、第３処理単位１１ｃのみに割り当てられているライン７及び８の処理単位番号（ＰＮ）に“０ｘｃ”が設定されている。ライン１及び２は第１処理単位１１ａのデータを保持しており処理単位番号（ＰＮ）は“０ｘａ”となる。同様にライン３〜６は第２処理単位１１ｂのデータを保持しており処理単位番号（ＰＮ）は“０ｘｂ”となる。この状態で、例えば第３処理単位１１ｃの要求によるキャッシュメモリラインの入れ替えが発生した場合には、図１３の優先順位に従って入れ替え第１候補としてライン８が選定される。そして、このライン８に対して、メモリ入れ替え制御装置１５にて入れ替えが実行される。この際、当該ライン８の処理単位番号（ＰＮ）に第３処理単位１１ｃの番号である“０ｘｃ”が設定される。
【００３７】
図１６によれば、第１処理単位１１ａの動作終了に応答して、メモリ制御装置１４の持つ開放機能２１により、ライン１及び２の処理単位番号（ＰＮ）に“０ｘｃ”が設定される。ここでは、第１処理単位１１ａへの割当キャッシュメモリラインの全てに、処理単位指定レジスタ２２にて指定されている“０ｘｃ”と同じ番号を処理単位番号（ＰＮ）として付与する方法で開放機能２１を実現するものとした。その結果、第１処理単位１１ａに割り当たっていたライン１及び２を、他の処理単位（このケースでは第３処理単位１１ｃ）が使用できるようになる。この状態で、例えば第３処理単位１１ｃの要求によるキャッシュメモリラインの入れ替えが発生した場合には、図１３の優先順位に従って入れ替え第１候補としてライン２が選定される。そして、このライン２に対して、メモリ入れ替え制御装置１５にて入れ替えが実行される。この際、当該ライン２の処理単位番号（ＰＮ）に第３処理単位１１ｃの番号である“０ｘｃ”が設定される。
【００３８】
以上のとおり、キャッシュメモリ１３に図１２の構成を採用する場合でも、図２の構成を採用する場合と同様の動作を実現することができる。しかも、図１２の場合の方が処理単位指定レジスタ２２の設定変更が計算機システム１０の動作に迅速に反映される。
【００３９】
なお、本発明は上記実施形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。例えば、図２又は図１２のいずれの構成を採用する場合でも、複数のキャッシュメモリラインを束ねたものを単位としてキャッシュメモリ１３を分割することが可能である。
【産業上の利用可能性】
【００４０】
以上のように、本発明に係る計算機システムは、同時に動作する処理単位が増減しても、全ての処理単位に対して割当キャッシュメモリ量を再設定する必要がなくなり、再設定量を計算する手段も不要となり、システムの複雑化や処理単位間での干渉を発生させることなくキャッシュメモリ割当量を変化させることができるという効果を有し、計算機システムや、当該計算機システムを搭載した携帯電話端末や、それに類するマルチメディアセット機器等として有用である。
【図面の簡単な説明】
【００４１】
【図１】本発明に係る計算機システムの構成例を示すブロック図である。
【図２】図１中のキャッシュメモリの内部構造の例を示す概念図である。
【図３】図２のキャッシュメモリにおける入れ替え優先度を説明するための概念図である。
【図４】図１中の３つの処理単位の動作シーケンス例を示すタイムチャート図である。
【図５】図４中の時刻Ｔ１における図２のキャッシュメモリの内部状態を示す概念図である。
【図６】図４中の時刻Ｔ２における図２のキャッシュメモリの内部状態を示す概念図である。
【図７】図４中の時刻Ｔ３における図２のキャッシュメモリの内部状態を示す概念図である。
【図８】図１中のメモリ制御装置が持つ開放機能の実現例を示すフローチャート図である。
【図９】図１中のメモリ制御装置が持つ開放機能の他の実現例を示すフローチャート図である。
【図１０】図１中のメモリ制御装置が持つ開放機能の更に他の実現例を示すフローチャート図である。
【図１１】図１中のメモリ制御装置が持つ開放機能の更に他の実現例を示すフローチャート図である。
【図１２】図１中のキャッシュメモリの内部構造の他の例を示す概念図である。
【図１３】図１２のキャッシュメモリにおける入れ替え優先度を説明するための概念図である。
【図１４】図４中の時刻Ｔ１における図１２のキャッシュメモリの内部状態を示す概念図である。
【図１５】図４中の時刻Ｔ２における図１２のキャッシュメモリの内部状態を示す概念図である。
【図１６】図４中の時刻Ｔ３における図１２のキャッシュメモリの内部状態を示す概念図である。
【符号の説明】
【００４２】
１０  計算機システム
１１ａ  第１処理単位（処理単位Ａ）
１１ｂ  第２処理単位（処理単位Ｂ）
１１ｃ  第３処理単位（処理単位Ｃ）
１２  メインメモリ
１３  キャッシュメモリ
１４  メモリ制御装置
１５  メモリ入れ替え制御装置
２１  開放機能
２２  処理単位指定レジスタ
ＤＡＴＡ  データ
ＬＲＵ  メモリ入れ替え判定情報
ＰＮ  処理単位番号
ＴＡＧ  タグ
Ｔ１，Ｔ２，Ｔ３  時刻
Ｕａ，Ｕｂ，Ｕｃ  各処理単位へのキャッシュメモリライン割当量
Ｖ    有効ビット
ＷＦ  ウィークフラグ
【図１】
2009181484.tif 000003
【図２】
2009181484.tif 000004
【図３】
2009181484.tif 000005
【図４】
2009181484.tif 000006
【図５】
2009181484.tif 000007
【図６】
2009181484.tif 000008
【図７】
2009181484.tif 000009
【図８】
2009181484.tif 000010
【図９】
2009181484.tif 000011
【図１０】
2009181484.tif 000012
【図１１】
2009181484.tif 000013
【図１２】
2009181484.tif 000014
【図１３】
2009181484.tif 000015
【図１４】
2009181484.tif 000016
【図１５】
2009181484.tif 000017
【図１６】
2009181484.tif 000018