キャッシュ管理の方法であって、キャッシュコントローラによって、キャッシュ制御動作のための要求を受信することと、前記キャッシュコントローラによって、新しいキャッシュラインが強制注入に関連付けられているか否かを判定することと、前記新しいキャッシュラインが強制注入に関連付けられているという判定に応答して、前記キャッシュコントローラによって、前記新しいキャッシュラインの前記キャッシュへの挿入を承認することと、前記新しいキャッシュラインが強制注入に関連付けられていないという判定に応答して、前記キャッシュコントローラによって、前記新しいキャッシュラインのアドレスと既定アドレス範囲との比較に基づいて、前記新しいキャッシュラインの前記挿入を承認するか否かを判定することと、を含む、方法。前記キャッシュが処理コアに関連付けられ、前記要求が隣接プロセッサコアから受信され、前記キャッシュ制御動作が前記新しいキャッシュラインをキャッシュに挿入することを含む、請求項1に記載の方法。前記新しいキャッシュラインのアドレスと既定アドレス範囲との比較に基づいて、前記新しいキャッシュラインの挿入を承認するか否かを判定することが、前記キャッシュコントローラによって、無効キャッシュラインが利用可能であるか否かを判定することと、前記無効キャッシュラインが利用可能であるという判定に応答して、前記キャッシュコントローラによって、前記新しいキャッシュラインの前記キャッシュへの前記挿入を承認することと、を含む、請求項1に記載の方法。前記新しいキャッシュラインのアドレスと既定アドレス範囲との比較に基づいて、前記新しいキャッシュラインの前記挿入を承認するか否かを判定することが、無効キャッシュラインが利用可能でないという判定に応答して、前記キャッシュコントローラによって、前記新しいキャッシュラインの前記アドレスが第1のクラスのアドレス範囲内にあるか否かを判定することと、前記新しいキャッシュラインの前記アドレスが前記第1のクラスのアドレス範囲内にあるという判定に応答して、前記キャッシュコントローラによって、前記新しいキャッシュラインの前記キャッシュへの前記挿入を承認することと、を更に含む、請求項3に記載の方法。前記新しいキャッシュラインのアドレスと既定アドレス範囲との比較に基づいて、前記新しいキャッシュラインの前記挿入を承認するか否かを判定することが、前記新しいキャッシュラインの前記アドレスが前記第1のクラスのアドレス範囲内にないという判定に応答して、前記キャッシュコントローラによって、少なくとも1つの可能な犠牲キャッシュラインが前記第1のクラスのアドレス範囲外にあるか否かを判定することと、前記少なくとも1つの可能な犠牲キャッシュラインが前記第1のクラスのアドレス範囲外にあるという判定に応答して、前記キャッシュコントローラによって、前記新しいキャッシュラインの前記挿入を承認することと、前記少なくとも1つの可能な犠牲キャッシュラインが前記第1のクラスのアドレス範囲外にないという判定に応答して、前記キャッシュコントローラによって、前記新しいキャッシュラインの前記キャッシュへの前記挿入を拒否することと、を更に含む、請求項4に記載の方法。前記新しいキャッシュラインの前記キャッシュへの前記挿入が、前記キャッシュコントローラによって、無効キャッシュラインが利用可能であるか否かを判定することと、無効キャッシュラインが利用可能であるという判定に応答して、前記キャッシュコントローラによって、前記無効キャッシュラインを犠牲キャッシュラインとして選択し、前記キャッシュ内で、前記キャッシュコントローラによって、前記犠牲キャッシュラインを前記新しいキャッシュラインによって置換することと、を含む、請求項1に記載の方法。前記新しいキャッシュラインの前記キャッシュへの前記挿入が、無効キャッシュラインが利用可能でないという判定に応答して、前記キャッシュコントローラによって、前記キャッシュが第2のクラスの犠牲キャッシュラインを含むか否かを判定し、前記第2のクラスの犠牲キャッシュラインが第2のクラスのアドレス範囲内にあるアドレスを有する、ことと、前記キャッシュが第2のクラスの犠牲キャッシュラインを含むという判定に応答して、前記キャッシュコントローラによって、前記第2のクラスの犠牲キャッシュラインを前記犠牲キャッシュラインとして選択し、前記キャッシュ内で、前記キャッシュコントローラによって、前記犠牲キャッシュラインを前記新しいキャッシュラインによって置換することと、前記キャッシュが第2のクラスの犠牲キャッシュラインを含まないという判定に応答して、前記キャッシュコントローラによって、第1のクラスの犠牲キャッシュラインを前記犠牲キャッシュラインとして選択し、前記キャッシュ内で、前記キャッシュコントローラによって、前記犠牲キャッシュラインを前記新しいキャッシュラインによって置換することと、を更に含む、請求項6に記載の方法。キャッシュ管理のための、キャッシュメモリを制御するキャッシュコントローラを含む装置であって、前記キャッシュコントローラが、前記キャッシュコントローラによって、キャッシュ制御動作のための要求を受信し、前記キャッシュコントローラによって、新しいキャッシュラインが強制注入に関連付けられているか否かを判定し、前記新しいキャッシュラインが強制注入に関連付けられているという判定に応答して、前記キャッシュコントローラによって、前記新しいキャッシュラインの前記キャッシュへの挿入を承認し、前記新しいキャッシュラインが強制注入に関連付けられていないという判定に応答して、前記キャッシュコントローラによって、前記新しいキャッシュラインのアドレスと既定アドレス範囲との比較に基づいて、前記新しいキャッシュラインの前記挿入を承認するか否かを判定する、ことによって機能するように構成されている、装置。コンピュータプログラムであって、キャッシュコントローラによって、キャッシュ制御動作のための要求を受信し、前記キャッシュコントローラによって、新しいキャッシュラインが強制注入に関連付けられているか否かを判定し、前記新しいキャッシュラインが強制注入に関連付けられているという判定に応答して、前記キャッシュコントローラによって、前記新しいキャッシュラインの前記キャッシュへの挿入を承認し、前記新しいキャッシュラインが強制注入に関連付けられていないという判定に応答して、前記キャッシュコントローラによって、前記新しいキャッシュラインのアドレスと既定アドレス範囲との比較に基づいて、前記新しいキャッシュラインの前記挿入を承認するか否かを判定する、ことをコンピュータに実行させる、コンピュータプログラム。キャッシュ管理のための方法、装置、およびコンピュータプログラムを開示する。実施形態は、キャッシュコントローラによって、新しいキャッシュラインをキャッシュに挿入する要求を受信することと、キャッシュコントローラによって、新しいキャッシュラインが強制注入に関連付けられているか否かを判定することと、新しいキャッシュラインが強制注入に関連付けられているという判定に応答して、キャッシュコントローラによって、新しいキャッシュラインのキャッシュへの挿入を承認することと、新しいキャッシュラインが強制注入に関連付けられていないという判定に応答して、キャッシュコントローラによって、新しいキャッシュラインのアドレスと既定アドレス範囲との比較に基づいて、新しいキャッシュラインの挿入を承認するか否かを判定することと、を含む。本発明の前述およびその他の目的、特徴、および利点は、添付図面に図示されたような、以下に述べる本発明の例示的な実施形態の更に詳細な説明から明らかとなろう。図面において、同様の参照番号は概して本発明の例示的な実施形態の同様の部分を表す。本発明の実施形態に従った、マルチプロセッシングコンピュータにおけるキャッシュ管理のための例示的な方法、装置、およびコンピュータプログラムについて、図1から始まる添付図面を参照して説明する。図1は、本発明の実施形態に従った、キャッシュ管理を実施するコンピュータ100の一例の機能ブロック図を示す。図1の例示的なコンピュータ100は、いくつかのコンピュータプロセッサ102を含む。各プロセッサ102は、コンピュータコア104を含み、これはメモリ動作のためにメモリ管理ユニットMMU106を介して共有キャッシュレベルおよびメインメモリ114に結合されている。図1の例において、第1のプロセッサセット193は第1の共有キャッシュレベル108に結合され、第2のプロセッサセット194は第2の共有キャッシュレベル109に結合されている。第1の共有キャッシュレベル108は、キャッシュディレクトリ112、キャッシュコントローラ110、およびL2キャッシュ181を含む。第2の共有キャッシュレベル109は、第1の共有キャッシュレベル108の以下のコンポーネントを含む。すなわち、キャッシュディレクトリ、キャッシュコントローラ、およびL2キャッシュである。第2のプロセッサセット194は、第2の共有キャッシュレベル109から第1の共有キャッシュレベル108内へのキャッシュラインの挿入を要求することができる。この場合、第2の共有キャッシュレベル109のキャッシュコントローラ図示せずは、この要求を第1の共有キャッシュレベル108のキャッシュコントローラ110に送信することができる。キャッシュコントローラ110は、挿入の要求を承認するかまたは拒否するかを決定することができる。図1の第1の共有キャッシュレベル108および第2の共有キャッシュレベル109は、バスマネージャ191によって制御されるバス166を介して要求およびデータを送信することができる。図1のプロセッサ102の各々はL1メモリを含む。L1は、比較的小さく高速のキャッシュであり、同一チップ上でプロセッサ自体の内部に作られている。MMU106は、アドレス変換論理、変換ルックアサイドバッファ、オンプロセッサキャッシュL1のための制御装置等を含む。メインメモリ114は、コンピュータ100上でデータ処理するためのプログラムデータおよびプログラム命令の主要なランダムアクセス記憶装置である。メインメモリ114の特徴は、メモリ待ち時間、すなわちメインメモリに対する読み取りまたは書き込みといったメモリアクセスに必要な時間である。メインメモリ114は、プロセッサ102間で共有される物理アドレス空間のシングルエクステントを実現する。キャッシュL1およびL2181は、メモリアクセス待ち時間を短縮するためにプロセッサ102によって用いられる専用のメモリセグメントである。各キャッシュは、メインメモリよりも小型かつ高速であり、頻繁に用いられるメインメモリ位置からのデータのコピーを記憶する。プロセッサが、メインメモリ内のある位置に対する読み出しまたは書き込みを必要とする場合、そのデータのコピーすなわちキャッシュラインがキャッシュ内に存在するか否かを最初にチェックする。存在する場合、プロセッサは直ちにキャッシュに対する読み取りまたは書き込みを行う。これは、メインメモリに対する読み取りまたは書き込みよりも著しく高速である。ほとんどのメモリアクセスがキャッシュされたメモリ位置である限り、メモリアクセスの平均待ち時間はメインメモリの待ち時間よりもキャッシュ待ち時間に近くなる。前述したように、メインメモリはあらゆるキャッシュよりも著しく低速であり、キャッシュミスはメモリアクセス待ち時間において大きな損害を引き起こす。キャッシュメモリは、キャッシュラインと称するデータブロックに構成されている。異なる設計の各キャッシュラインは、8から512バイト以上のサイズ範囲に及ぶことがある。典型的な1キャッシュラインのサイズは、1から16バイトの範囲であるCPU命令によって要求される通常のアクセスのサイズよりも大きい。現在の32ビットおよび64ビットアーキテクチャによって典型的に処理される最大のアドレスおよびデータは、長さ128ビットすなわち16バイトである。各キャッシュラインを特徴付けるのは、キャッシュラインの内容がメインメモリに記憶される開始アドレスの最上位ビットから成るタグである。図1の例では、プロセッサ102は、L1キャッシュおよびL2キャッシュ181によって表す2つのレベルを有するマルチレベルキャッシュを利用する。マルチレベルキャッシュは、キャッシュ待ち時間とヒットレートとの間のトレードオフに対処する。キャッシュが大型化するとヒットレートは向上するが待ち時間が長くなる。このトレードオフに対処するため、多くのコンピュータは多レベルのキャッシュを用いて、小さい高速キャッシュをもっと大きい低速キャッシュによって補強する。概して、マルチレベルキャッシュが動作する際は、最小のレベル1L1キャッシュを最初にチェックし、これがヒットすればプロセッサは高速で進行する。小さい方のキャッシュがミスした場合は次に大きいキャッシュL2をチェックする等とし、その後でメインメモリをチェックする。図1の例示的なコンピュータは2つのキャッシュレベルを実施するが、これは単に説明の便宜のためであって、限定ではない。多くのコンピュータは、3または4キャッシュレベルのような更に多いキャッシュレベルを実施する。いくつかのプロセッサでは3レベルのオンチップキャッシュを実施する。例えば、Alpha21164TMは96KBのオンダイL3キャッシュを有し、IBMPOWER4TMは256MBのL3キャッシュオフチップを有し、いくつかのプロセッサ間で共有する。キャッシュコントローラ110は、キャッシュ内のキャッシュラインに関する情報のレポジトリであるキャッシュディレクトリ112を含む。ディレクトリは、コンピュータ内の全キャッシュにおける各キャッシュラインごとに、キャッシュラインのアイデンティティすなわちキャッシュラインのタグ、キャッシュラインの状態すなわち変更済み、共有、無効等、および、低レベル共有キャッシュのキャッシュラインのコピーがもっと高いキャッシュレベルに記憶されているか否かを各プロセッサごとに特定するビットベクトルを記録する。MMU106およびキャッシュコントローラ110は、コンピュータノード上の全てのキャッシュ動作について、キャッシュディレクトリ112内の情報を調べて更新する。キャッシュコントローラ110は、L2キャッシュ181に直接接続されているがL1キャッシュには直接接続されておらず、L1キャッシュのキャッシュラインに関する情報をキャッシュディレクトリ112から取得する。キャッシュコントローラ110は、キャッシュメモリを管理する論理回路であり、プロセッサ102、キャッシュメモリL1、L2、およびメインメモリ114間のインタフェースを提供する。ここではキャッシュコントローラ110をプロセッサ102の外部に図示するが、最近のコンピュータ上のキャッシュコントローラはプロセッサまたはMMUに直接組み込まれていることが多い。実際、この例においてMMU106はL1キャッシュのためのキャッシュ制御論理を含む。図1の例において、キャッシュコントローラ110は、本発明に従ってキャッシュ管理を実施するように構成されている。図1のキャッシュコントローラ110は、新しいキャッシュラインをキャッシュ181に挿入するための要求を受信し、新しいキャッシュラインが強制注入に関連付けられているか否かを判定し、新しいキャッシュラインが強制注入に関連付けられているという判定に応答して、新しいキャッシュラインのキャッシュ181への挿入を承認し、新しいキャッシュラインが強制注入に関連付けられていないという判定に応答して、新しいキャッシュラインのアドレスと既定アドレス範囲との比較に基づいて新しいキャッシュラインの挿入を承認するか否かを判定するように構成されている。新しいキャッシュラインの挿入を承認するかまたは拒否するかの決定を、新しいキャッシュラインのアドレスと既定アドレス範囲との比較に基づいて行うことによって、キャッシュコントローラ110は、新しいキャッシュラインのアドレスの優先度に基づいて挿入決定を行うことができる。挿入決定プロセスに優先度の検討を組み込むことによって、キャッシュ利用の最適化におけるキャッシュコントローラ110の有効性を向上させることができる。更に説明すると、図2は、本発明の実施形態に従った、キャッシュ管理のための例示的な方法を示すフローチャートを図示する。図2の方法は、キャッシュコントローラ110が、新しいキャッシュライン222をキャッシュ181に挿入するための要求220を受信すること202を含む。新しいキャッシュライン222をキャッシュ181に挿入するための要求220を受信すること202は、バス166を介して第2のプロセッサセット194からプロセッサ102のいずれか1つからの要求220を受信することによって実施可能である。また、図2の方法は、キャッシュコントローラ110が、新しいキャッシュライン222が強制注入に関連付けられているか否かを判定すること204を含む。新しいキャッシュライン222が強制注入に関連付けられているか否かを判定すること204は、要求220を調べて、新しいキャッシュライン222が強制注入に関連付けられていることを要求220が示すか否かを判定することによって実施可能である。強制注入は、新しいキャッシュライン222に関連付けられたアドレス224とは無関係に、キャッシュコントローラ110が新しいキャッシュライン222を承認しなければならないことを示すものである。図2の方法は、新しいキャッシュライン222が強制注入に関連付けられているという判定に応答して、キャッシュコントローラ110が、新しいキャッシュライン222のキャッシュ181への挿入を承認すること206含む。新しいキャッシュライン222が強制注入に関連付けられているという判定に応答して新しいキャッシュライン222のキャッシュ181への挿入を承認すること206は、キャッシュコントローラ110から、第2のプロセッサセット194に関連付けられた第2の共有キャッシュレベル109内の別のキャッシュコントローラ図示せずに、要求220の承認を送信することによって実施可能である。また、図2の方法は、新しいキャッシュライン222が強制注入に関連付けられていないという判定に応答して、キャッシュコントローラ110が、新しいキャッシュライン222のアドレス224と既定アドレス範囲226との比較に基づいて新しいキャッシュライン222の挿入を承認するか否かを判定すること208を含む。新しいキャッシュライン222のアドレス204は、メインメモリ114の実メモリアドレスに基づくものとすることができる。新しいキャッシュライン222が強制注入に関連付けられていないという判定に応答して、新しいキャッシュライン222のアドレス224と既定アドレス範囲226との比較に基づいて新しいキャッシュライン222の挿入を承認するか否かを判定すること208は、1つ以上の既定アドレス範囲226を確立し、この既定アドレス範囲226をディレクトリ112、キャッシュライン、キャッシュコントローラ110等に記憶し、既定アドレス範囲226の最上位アドレスおよび最下位アドレスを識別し、新しいキャッシュライン222のアドレス224が最上位アドレスを超えるかまたは最下位アドレス未満であるかを判定することによって、実施可能である。どのアドレス範囲を所定アドレス範囲内とするべきかという判定は、ディレクトリルックアップまたは設計上の検討事項例えばキャッシュ181内のラッチサイズ対犠牲選択決定のための時間等のファクターに基づくものとすることができる。更に説明すると、図3は、本発明の実施形態に従ったキャッシュ管理のための更に別の例示的な方法を示すフローチャートを図示する。図3の方法は、図2の方法の以下の要素を含む。すなわち、キャッシュコントローラ110が、新しいキャッシュライン222をキャッシュ181に挿入するための要求220を受信すること202、キャッシュコントローラ110が、新しいキャッシュライン222が強制注入に関連付けられているか否かを判定すること204、新しいキャッシュライン222が強制注入に関連付けられているという判定に応答して、キャッシュコントローラ110が、新しいキャッシュライン222のキャッシュ181への挿入を承認すること206、および、新しいキャッシュライン222が強制注入に関連付けられていないという判定に応答して、キャッシュコントローラ110が、新しいキャッシュライン222のアドレス224と既定アドレス範囲226との比較に基づいて新しいキャッシュライン222の挿入を承認するか否かを判定すること208である。図2の方法と異なる図3の要素を図3に点線で示す。更に具体的には、それらの要素は、キャッシュコントローラ110が、無効キャッシュラインが利用可能であるか否かを判定すること302、無効キャッシュラインが利用可能でないという判定に応答して、キャッシュコントローラ110が、新しいキャッシュライン222のアドレス224が第1のクラスのアドレス範囲内にあるか否かを判定すること304、新しいキャッシュライン222のアドレス224が第1のクラスのアドレス範囲内にないという判定に応答して、キャッシュコントローラ110が、少なくとも1つの可能な犠牲キャッシュラインが第1のクラスのアドレス範囲外にあるか否かを判定すること306、少なくとも1つの可能な犠牲キャッシュラインが第1のクラスのアドレス範囲外にないという判定に応答して、キャッシュコントローラ110が、新しいキャッシュライン222のキャッシュ181への挿入を拒否すること330を含む。図3の方法において、キャッシュコントローラ110が、新しいキャッシュライン222のアドレス224と既定アドレス範囲226との比較に基づいて新しいキャッシュライン222の挿入を承認するか否かを判定すること208は、キャッシュコントローラ110によって、無効キャッシュラインが利用可能であるか否かを判定すること302を含む。無効キャッシュラインが利用可能であるか否かを判定すること302は、キャッシュ181内の特定のキャッシュラインが期限切れであるかまたは無効化されているか否かを判定し、あらゆる無効化キャッシュラインを識別することによって実施可能である。特定のキャッシュラインは、もはや用いられていないか、または古くなったかもしくは破損した場合に、期限切れであるまたは無効化されているとすることができる。図3の方法において、キャッシュコントローラ110が、新しいキャッシュライン222のアドレス224と既定アドレス範囲226との比較に基づいて新しいキャッシュライン222の挿入を承認するか否かを判定すること208は、無効キャッシュラインが利用可能であるという判定に応答して、キャッシュコントローラ110が新しいキャッシュライン222のキャッシュ181への挿入を承認すること206を含む。無効キャッシュラインが利用可能であるという判定に応答して新しいキャッシュライン222のキャッシュ181への挿入を承認すること206は、キャッシュコントローラ110から、第2のプロセッサセット194に関連付けられた第2の共有キャッシュレベル109内の別のキャッシュコントローラ図示せずに、要求220の承認を送信することによって、実施可能である。図3の方法において、キャッシュコントローラ110が、新しいキャッシュライン222のアドレス224と既定アドレス範囲226との比較に基づいて新しいキャッシュライン222の挿入を承認するか否かを判定すること208は、無効キャッシュラインが利用可能でないという判定に応答して、キャッシュコントローラ110が、新しいキャッシュライン222のアドレス224が第1のクラスのアドレス範囲内にあるか否かを判定すること304を含む。新しいキャッシュライン222のアドレス224が第1のクラスのアドレス範囲内にあるか否かの判定304は、第1のクラスのアドレス範囲に割り当てるアドレス範囲を示すユーザプログラマブルエントリを受信し、第1のクラスのアドレス範囲にアドレス範囲を割り当て、新しいキャッシュライン222のアドレス224と、第1のクラスのアドレス範囲を含む最上位アドレスおよび最下位アドレスとを比較することによって実施可能である。この場合、第1のクラスのアドレス範囲は、どのアドレス範囲で挿入を許可するかを示すように選択することができる。キャッシュラインを割り当てる特定のクラスは、特定のキャッシュラインのアドレスに加えて他の考察事項に基づくようにすることができる。例えば、特定のキャッシュラインをある共有キャッシュレベルから別の共有キャッシュレベルに移動させることに応じて、キャッシュラインのアドレスを変更することなく、特定のキャッシュラインを割り当てるクラスを変更することができる。図3の方法において、キャッシュコントローラ110が、新しいキャッシュライン222のアドレス224と既定アドレス範囲226との比較に基づいて新しいキャッシュライン222の挿入を承認するか否かを判定すること208は、新しいキャッシュライン222のアドレス224が第1のクラスのアドレス範囲内にあるという判定に応答して、キャッシュコントローラ110が、新しいキャッシュライン222のキャッシュ181への挿入を承認すること206を含む。新しいキャッシュライン222のアドレス224が第1のクラスのアドレス範囲内にあるという判定に応答して、新しいキャッシュライン222のキャッシュ181への挿入を承認すること206は、キャッシュコントローラ110から、第2のプロセッサセット194に関連付けられた第2の共有キャッシュレベル109内の別のキャッシュコントローラ図示せずに、要求220の承認を送信することによって、実施可能である。図3の方法において、キャッシュコントローラ110が、新しいキャッシュライン222のアドレス224と既定アドレス範囲226との比較に基づいて新しいキャッシュライン222の挿入を承認するか否かを判定すること208は、新しいキャッシュライン222のアドレス224が第1のクラスのアドレス範囲内にないという判定に応答して、キャッシュコントローラ110が、少なくとも1つの可能な犠牲キャッシュラインが第1のクラスのアドレス範囲外にあるか否かを判定すること306を含む。新しいキャッシュライン222のアドレス224が第1のクラスのアドレス範囲内にないという判定に応答して、少なくとも1つの可能な犠牲キャッシュラインが第1のクラスのアドレス範囲外にあるか否かを判定すること306は、第1のクラスのアドレス範囲に割り当てるアドレス範囲を示すユーザプログラマブルエントリを受信し、第1のクラスのアドレス範囲にアドレス範囲を割り当て、キャッシュ181内のキャッシュラインのアドレスと、第1のクラスのアドレス範囲を含む最上位アドレスおよび最上位アドレスとを比較し、どのキャッシュラインが第1のクラスのアドレス範囲外のアドレスを有するかを識別し、識別されたキャッシュラインを可能な犠牲キャッシュラインとして標示することによって実施可能である。この場合、犠牲キャッシュラインは、新しいキャッシュラインによって置換される可能性があるキャッシュラインである。図3の方法において、キャッシュコントローラ110が、新しいキャッシュライン222のアドレス224と既定アドレス範囲226との比較に基づいて新しいキャッシュライン222の挿入を承認するか否かを判定すること208は、少なくとも1つの可能な犠牲キャッシュラインが第1のクラスのアドレス範囲外にあるという判定に応答して、キャッシュコントローラ110が新しいキャッシュライン222の挿入を承認すること206を含む。少なくとも1つの可能な犠牲キャッシュラインが第1のクラスのアドレス範囲外にあるという判定に応答して、キャッシュコントローラ110が新しいキャッシュライン222の挿入を承認すること206は、キャッシュコントローラ110から、第2のプロセッサセット194に関連付けられた第2の共有キャッシュレベル109内の別のキャッシュコントローラ図示せずに、要求220の承認を送信することによって実施可能である。図3の方法において、キャッシュコントローラ110が、新しいキャッシュライン222のアドレス224と既定アドレス範囲226との比較に基づいて新しいキャッシュライン222の挿入を承認するか否かを判定すること208は、少なくとも1つの可能な犠牲キャッシュラインが第1のクラスのアドレス範囲外にないという判定に応答して、キャッシュコントローラ110が新しいキャッシュライン222のキャッシュ181への挿入を拒否すること330を含む。少なくとも1つの可能な犠牲キャッシュラインが第1のクラスのアドレス範囲外にないという判定に応答して、キャッシュコントローラ110が新しいキャッシュライン222のキャッシュ181への挿入を拒否すること330は、キャッシュコントローラ110から、第2のプロセッサセット194に関連付けられた第2の共有キャッシュレベル109内の別のキャッシュコントローラ図示せずに、要求220の拒否を送信することによって実施可能である。キャッシュコントローラ110が要求220を拒否した場合、新しいキャッシュライン222はキャッシュ181に挿入されない。この場合、キャッシュ181内のキャッシュラインは全て、新しいキャッシュライン222よりも高い優先度を有する。更に説明すると、図4は、本発明の実施形態に従ったキャッシュ管理のための更に別の例示的な方法を示すフローチャートを図示する。図4の方法は、図2の方法の以下の要素を含む。すなわち、新しいキャッシュライン222が強制注入に関連付けられているという判定に応答して、キャッシュコントローラ110が、新しいキャッシュライン222のキャッシュ181への挿入を承認すること206である。図2の方法と異なる図4の要素を図4に点線で示す。更に具体的には、それらの要素は、キャッシュコントローラ110が、無効キャッシュラインが利用可能であるか否かを判定すること402、無効キャッシュラインが利用可能であるという判定に応答して、キャッシュコントローラ110が、無効キャッシュラインを犠牲キャッシュライン350として選択すること404、無効キャッシュラインが利用可能であるという判定に応答して、キャッシュコントローラ110が、キャッシュ181内で、犠牲キャッシュライン350を新しいキャッシュライン222によって置換すること406、無効キャッシュラインが利用可能でないという判定に応答して、キャッシュコントローラ110が、キャッシュ181が第2のクラスの犠牲キャッシュラインを含むか否かを判定すること408、キャッシュが第2のクラスの犠牲キャッシュラインを含むという判定に応答して、キャッシュコントローラ110が、第2のクラスの犠牲キャッシュラインを犠牲キャッシュライン350として選択すること410、キャッシュが第2のクラスの犠牲キャッシュラインを含むという判定に応答して、キャッシュコントローラ110が、キャッシュ181内で、犠牲キャッシュライン350を新しいキャッシュライン222によって置換すること412、キャッシュが第2のクラスの犠牲キャッシュラインを含まないという判定に応答して、キャッシュコントローラ110が、第1のクラスの犠牲キャッシュラインを犠牲キャッシュライン350として選択すること414、キャッシュが第2のクラスの犠牲キャッシュラインを含まないという判定に応答して、キャッシュコントローラ110が、キャッシュ181内で、犠牲キャッシュライン350を新しいキャッシュライン222によって置換すること416を含む。図4の方法において、新しいキャッシュライン222をキャッシュ181に挿入することの承認206は、キャッシュコントローラ110によって、無効キャッシュラインが利用可能であるか否かを判定すること402を含む。無効キャッシュラインが利用可能であるか否かの判定402は、キャッシュ181内の特定のキャッシュラインが期限切れであるかまたは無効化されているか否かを判定し、あらゆる無効化キャッシュラインを識別することによって実施可能である。図4の方法において、新しいキャッシュライン222をキャッシュ181に挿入することの承認206は、無効キャッシュラインが利用可能であるという判定に応答して、キャッシュコントローラ110が、無効キャッシュラインを犠牲キャッシュライン350として選択すること404を含む。無効キャッシュラインが利用可能であるという判定に応答して、無効キャッシュラインを犠牲キャッシュライン350として選択すること404は、無効キャッシュラインの少なくとも1つを犠牲キャッシュラインとして識別し、犠牲キャッシュラインとしての無効キャッシュラインの識別をキャッシュコントローラ110に記憶することによって実施可能である。図4の方法において、新しいキャッシュライン222をキャッシュ181に挿入することの承認206は、無効キャッシュラインが利用可能であるという判定に応答して、キャッシュコントローラ110が、キャッシュ181内で、犠牲キャッシュライン350を新しいキャッシュライン222によって置換すること406を含む。無効キャッシュラインが利用可能であるという判定に応答して、キャッシュ181内で犠牲キャッシュライン350を新しいキャッシュライン222によって置換すること406は、犠牲キャッシュライン350がどのキャッシュ物理位置を占有しているかを判定し、犠牲キャッシュライン350が占有するキャッシュ物理地位に新しいキャッシュライン222を記憶するためのコマンドをキャッシュコントローラ110からキャッシュ181に送信することによって、実施可能である。図4の方法において、新しいキャッシュライン222をキャッシュ181に挿入することの承認206は、無効キャッシュラインが利用可能でないという判定に応答して、キャッシュコントローラ110が、キャッシュ181が第2のクラスの犠牲キャッシュラインを含むか否かを判定すること408を含む。無効キャッシュラインが利用可能でないという判定に応答して、キャッシュ181が第2のクラスの犠牲キャッシュラインを含むか否かを判定すること408は、どのアドレス範囲を第2のクラスのアドレス範囲に関連付けるかを示す入力をユーザから受信し、そのアドレス範囲を第2のクラスのアドレス範囲に関連付け、キャッシュ181内のキャッシュラインのいずれかが、第2のクラスのアドレス範囲に割り当てられたアドレス内のアドレスを含むか否かを判定することによって、実施可能である。この場合、第2のクラスの犠牲キャッシュラインは、第2のクラスのアドレス範囲内にあるアドレスを有する。第2のクラスのアドレス範囲は、第1のクラスのアドレス範囲に関連付けられたアドレス範囲よりも優先度の低いアドレス範囲とすることができる。この場合、図4の方法では、第1のクラスの犠牲の前に第2のクラスの犠牲を置換することが試みられる。図4の方法において、新しいキャッシュライン222をキャッシュ181に挿入することの承認206は、キャッシュが第2のクラスの犠牲キャッシュラインを含むという判定に応答して、キャッシュコントローラ110が、第2のクラスの犠牲キャッシュラインを犠牲キャッシュライン350として選択すること410を含む。キャッシュが第2のクラスの犠牲キャッシュラインを含むという判定に応答して、第2のクラスの犠牲キャッシュラインを犠牲キャッシュライン350として選択すること410は、第2のクラスの犠牲キャッシュラインの少なくとも1つを犠牲キャッシュラインとして識別し、犠牲キャッシュラインとしての選択した第2のクラスの犠牲キャッシュラインの識別をキャッシュコントローラ110に記憶することによって実施可能である。図4の方法において、新しいキャッシュライン222をキャッシュ181に挿入することの承認206は、キャッシュが第2のクラスの犠牲キャッシュラインを含むという判定に応答して、キャッシュコントローラ110が、キャッシュ181内で、犠牲キャッシュライン350を新しいキャッシュライン222によって置換すること412を含む。キャッシュ181が第2のクラスの犠牲キャッシュラインを含むという判定に応答して、キャッシュ181内で、犠牲キャッシュライン350を新しいキャッシュライン222によって置換すること412は、犠牲キャッシュライン350がどのキャッシュ物理位置を占有しているかを判定し、犠牲キャッシュライン350が占有するキャッシュ物理地位に新しいキャッシュライン222を記憶するためのコマンドをキャッシュコントローラ110からキャッシュ181に送信することによって、実施可能である。図4の方法において、新しいキャッシュライン222をキャッシュ181に挿入することの承認206は、キャッシュが第2のクラスの犠牲キャッシュラインを含まないという判定に応答して、キャッシュコントローラ110が、第1のクラスの犠牲キャッシュラインを犠牲キャッシュライン350として選択すること414を含む。キャッシュが第2のクラスの犠牲キャッシュラインを含まないという判定に応答して、第1のクラスの犠牲キャッシュラインを犠牲キャッシュライン350として選択すること414は、第1のクラスの犠牲キャッシュラインの少なくとも1つを犠牲キャッシュラインとして識別し、犠牲キャッシュラインとしての選択した第1のクラスの犠牲キャッシュラインの識別をキャッシュコントローラ110に記憶することによって実施可能である。図4の方法において、新しいキャッシュライン222をキャッシュ181に挿入することの承認206は、キャッシュが第2のクラスの犠牲キャッシュラインを含まないという判定に応答して、キャッシュコントローラ110が、キャッシュ181内で、犠牲キャッシュライン350を新しいキャッシュライン222によって置換すること416を含む。キャッシュが第2のクラスの犠牲キャッシュラインを含まないという判定に応答して、キャッシュ181内で、犠牲キャッシュライン350を新しいキャッシュライン222によって置換すること416は、犠牲キャッシュライン350がどのキャッシュ物理位置を占有しているかを判定し、犠牲キャッシュライン350が占有するキャッシュ物理地位に新しいキャッシュライン222を記憶するためのコマンドをキャッシュコントローラ110からキャッシュ181に送信することによって、実施可能である。本発明の例示的な実施形態について、主として、キャッシュ管理のための完全に機能できるコンピュータシステムの文脈において説明している。しかしながら、いずれかの適切なデータ処理システムと共に用いるためのコンピュータ読み取り可能記憶媒体上に配置されたコンピュータプログラムにおいて本発明を具現化することが可能であることは、当業者には認められよう。かかるコンピュータ読み取り可能記憶媒体は、磁気媒体、光媒体、または他の適切な媒体を含む機械読み取り可能情報のためのいずれかの記憶媒体とすることができる。かかる媒体の例には、ハードドライブまたはディスケットにおける磁気ディスク、光ドライブのコンパクトディスク、磁気テープ、および当業者に想起される他のものが含まれる。適切なプログラミング手段を有するいかなるコンピュータシステムでも、コンピュータプログラムにおいて具現化されたような本発明の方法のステップを実行可能であることは、当業者には速やかに認められよう。また、本明細書に記載された例示的な実施形態のいくつかは、コンピュータハードウェア上にインストールされて実行するソフトウェアに合わせたものであるが、ファームウェアとしてまたはハードウェアとして実施された代替的な実施形態が充分に本発明の範囲内であることは、当業者には認められよう。当業者には認められるであろうが、本発明の態様は、システム、方法、またはコンピュータプログラムとして具現化することができる。従って、本発明の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態ファームウェア、常駐ソフトウェア、マイクロコード等を含む、または、ソフトウェアおよびハードウェアの態様を組み合わせた実施形態という形態を取ることができ、それらは全て本明細書において、回路、モジュール、またはシステムと一般的に称することができる。更に、本発明の態様は、具現化されたコンピュータ読み取り可能プログラムコードを有する1つ以上のコンピュータ読み取り可能媒体において具現化されるコンピュータプログラムの形態を取ることも可能である。1つ以上のコンピュータ読み取り可能媒体のあらゆる組み合わせを利用することができる。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体とすることができる。コンピュータ読み取り可能記憶媒体は例えば、限定ではないが、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、デバイス、または前述のもののいずれかの適切な組み合わせとすることができる。コンピュータ読み取り可能記憶媒体の更に具体的な例非網羅的な列挙は、以下を含む。すなわち、1本以上のワイヤを含む電気的接続、携帯型コンピュータディスケット、ハードディスク、ランダムアクセスメモリRAM、読み取り専用メモリROM、消去可能プログラマブル読み取り専用メモリEPROMまたはフラッシュメモリ、光ファイバ、携帯型コンパクトディスク読み取り専用メモリCD-ROM、光記憶デバイス、磁気記憶デバイス、または前述のもののいずれかの適切な組み合わせである。この文書の文脈において、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを含有または記憶することが可能ないずれかのタンジブルな媒体とすることができる。コンピュータ読み取り可能信号媒体は、例えばベースバンドにおいてまたは搬送波の一部として、具現化されたコンピュータ読み取り可能プログラムコードを有する伝播データ信号を含むことができる。かかる伝播信号は様々な形態のいずれかを取ることができ、それらは限定ではないが、電磁、光、またはそれらのいずれかの適切な組み合わせを含む。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体でないが、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを伝達、伝播、または転送することが可能ないずれかのコンピュータ読み取り可能媒体とすることができる。コンピュータ読み取り可能媒体上で具現化されるプログラムコードは、限定ではないが、無線、有線、光ファイバケーブル、RF等、または前述のもののいずれかの適切な組み合わせを含むいずれかの適切な媒体を用いて伝送することができる。本発明の態様の動作を実行するためのコンピュータプログラムコードは、JavaR、SmalltalkR、C等のオブジェクト指向プログラミング言語、および、Cプログラミング言語または同様のプログラミング言語等の従来の手順プログラミング言語を含む1つ以上のプログラミング言語のいずれかの組み合わせにおいて記述することができる。プログラムコードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして、部分的にユーザのコンピュータ上でおよび部分的に遠隔コンピュータ上で、または全体的に遠隔コンピュータもしくはサーバ上で、実行することができる。後者の場合、遠隔コンピュータは、ローカルエリアネットワークLANまたはワイドエリアネットワークWANを含むいずれかのタイプのネットワークを介してユーザのコンピュータに接続することができ、または、接続は、例えばインターネットサービスプロバイダを用いてインターネットを介して外部コンピュータに対して行うことができる。本発明の実施形態に従った方法、装置システム、およびコンピュータプログラムのフローチャート図またはブロック図あるいはその両方を参照して、本発明の態様について記載している。フローチャート図またはブロック図あるいはその両方の各ブロックならびにフローチャート図またはブロック図あるいはその両方におけるブロックの組み合わせは、コンピュータプログラム命令によって実施可能であることは理解されよう。これらのコンピュータプログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されて機械を生成することができ、これによって、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施するための手段を生成するようになっている。また、これらのコンピュータプログラム命令はコンピュータ読み取り可能媒体に記憶することができ、これによって、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスに特定の方法で機能するように指示することができ、これにより、コンピュータ読み取り可能媒体に記憶された命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施する命令を含む製造品を生成するようになっている。また、コンピュータプログラム命令を、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードして、そのコンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させてコンピュータ実施プロセスを生成することができ、これによって、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施するためのプロセスを提供するようになっている。上述した図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態に従ったシステム、方法、およびコンピュータプログラムの可能な実施のアーキテクチャ、機能性、および動作を示す。この点で、フローチャートまたはブロック図における各ブロックは、規定された論理機能複数の機能を実施するための1つ以上の実行可能命令を含むコードのモジュール、セグメント、または一部を表すことができる。また、いくつかの代替的な実施において、ブロックに明記した機能は、図面に明記した順序どおりでなく発生する場合があることに留意すべきである。例えば、関与する機能性に応じて、連続して示した2つのブロックは実際には実質的に同時に実行されることがあり、またはブロックは時に逆の順序で実行される場合がある。また、ブロック図またはフローチャートあるいはその両方の各ブロック、およびブロック図またはフローチャートあるいはその両方におけるブロックの組み合わせは、規定された機能もしくは行為を実行する特殊目的ハードウェアベースのシステム、または特殊目的ハードウェアおよびコンピュータ命令の組み合わせによって実施可能であることに留意すべきである。キャッシュ制御動作のための要求は、新しいキャッシュラインをキャッシュに挿入することを含む。キャッシュ制御動作は、キャッシュに関わるいずれの数の動作も含むことができ、新しいキャッシュラインをキャッシュに挿入することには限定されないことは、当業者には認められよう。前述の記載から、本発明の真の精神から逸脱することなくその様々な実施形態において変形および変更を実行可能であることは理解されよう。本明細書における記載は例示の目的のためだけのものであり、限定の意味で解釈されるべきではない。本発明の範囲は、以下の特許請求の範囲の文言によってのみ限定される。