プロセッサが動作点を第1の動作点から第2の動作点に変更したのに応えて、キャッシュメモリの1つ以上のウェイのパワーを選択的に変化させることと、前記キャッシュメモリの前記1つ以上のウェイのパワーを変化させた後、前記プロセッサ内で1つ以上の命令を処理することと、を含み、前記処理することは、パワーが変化された前記キャッシュメモリの1つ以上のウェイにアクセスすることを含む、方法。1つ以上のキャッシュウェイのパワーを変化させることは、前記1つ以上のキャッシュウェイからパワーを取り除くことを含む、請求項1に記載の方法。前記動作点を変更することは、前記プロセッサが動作する動作電圧およびクロック周波数を変更することを含む、請求項1に記載の方法。前記動作点を変更することは、高パフォーマンス動作モードから節電モードに変更することを含む、請求項1に記載の方法。前記動作点の変更に応えて、前記キャッシュメモリの複数の現在アクティブなウェイの半分からパワーを取り除くことをさらに含む、請求項1に記載の方法。前記プロセッサの前記動作点を前記第2の動作点から第3の動作点に変更することと、前記動作点の変更に応えて、キャッシュメモリの1つ以上の追加のウェイからパワーを選択的に取り除くことと、をさらに含む、請求項1に記載の方法。プロセッサの前記動作点を前記第3の動作点から前記第1の動作点または第2の動作点のうちの1つに変更することと、前記動作点が前記第1の動作点から前記第2の動作点に、または前記第2の動作点から前記第3の動作点に変更された際にパワーが取り除かれた、1つ以上のウェイにパワーを選択的に印加することと、をさらに含む、請求項6に記載の方法。前記プロセッサの前記動作点を前記第2の動作点から第3の動作点に変更することと、CIPS1秒間にコミットされる命令値を読み出すことと、閾値およびガードバンド値の合計を計算することと、前記CIPS値を前記閾値および前記合計と比較することと、前記CIPS値が前記閾値未満である場合に、前記第3の動作点への変更に応えて、キャッシュメモリの1つ以上の追加のウェイからパワーを選択的に取り除くことと、前記CIPS値が前記合計を超える場合に、前記キャッシュメモリのすべてのウェイにパワーを供給することと、をさらに含み、前記CIPS値が、前記閾値を超え、かつ前記合計未満である場合、前記キャッシュメモリの追加のウェイは、パワーをオンまたはオフにされない、請求項5に記載の方法。1つ以上の追加のプロセッサに、前記キャッシュメモリの1つ以上のウェイがパワーを遮断されたことを示す通知を送信することをさらに含む、請求項1に記載の方法。前記キャッシュメモリの1つ以上のウェイからパワーが選択的に取り除かれてから経過した時間量を判定することと、前記時間量を第1の時間閾値と比較することと、前記時間量が前記第1の時間閾値未満である場合に、前記キャッシュメモリの追加のウェイがパワーを遮断されることを防止することと、をさらに含む、請求項1に記載の方法。前記時間量を第2の時間閾値と比較することと、前記第2の時間量が前記第2の時間閾値未満である場合に、前記キャッシュメモリの追加のウェイがパワーを投入されることを防止することと、をさらに含む、請求項10に記載の方法。少なくとも1つの実行ユニットが動作点を第1の動作点から第2の動作点に変更するのに応えて、キャッシュメモリの前記複数のウェイの第1のサブセットのパワーを選択的に変化させるように構成される、パワー管理ユニットを備える、プロセッサであって、前記プロセッサの前記少なくとも1つの実行ユニットは、前記複数のウェイの前記第1のサブセットのパワーを選択的に変化させた後、パワーが変化された前記複数のウェイの第2のサブセットの1つ以上のウェイにアクセスするように構成される、プロセッサ。前記第1のサブセットのウェイのパワーを変化させることは、前記第1のサブセットのウェイからパワーを取り除くことを含む、請求項12に記載のプロセッサ。前記パワー管理ユニットは、前記プロセッサが動作する動作電圧およびクロック周波数を変更させることによって、前記プロセッサの前記動作点を変更するようにさらに構成される、請求項12に記載のプロセッサ。前記プロセッサは、高パフォーマンスモードおよび節電モードで動作するように構成され、前記動作点を変更することは、高パフォーマンス動作モードから節電モードに変更することを含む、請求項12に記載のプロセッサ。前記パワー管理ユニットは、前記動作点の変更に応えて、前記キャッシュメモリの複数のアクティブなウェイの半分のパワーを遮断するように構成される、請求項12に記載のプロセッサ。前記パワー管理ユニットは、前記プロセッサが前記動作点を前記第2の動作点から第3の動作点に変更するのに応えて、キャッシュメモリの1つ以上の追加のウェイからパワーを選択的に取り除くようにさらに構成される、請求項12に記載のプロセッサ。前記パワー管理ユニットは、前記プロセッサの前記動作点が前記第3の動作点から前記第1の動作点または第2の動作点のうちの1つに変更するのに応えて、パワーが以前に取り除かれた1つ以上のウェイに、パワーを選択的に印加するように構成される、請求項17に記載のプロセッサ。前記パワー管理ユニットは、1つ以上の追加のプロセッサに、前記キャッシュメモリの1つ以上のウェイがパワーを遮断されたことを示す通知を送信するようにさらに構成される、請求項12に記載のプロセッサ。第1の閾値および第2の閾値の合計を計算することと、作業負荷指標値を前記第1の閾値および前記第2の閾値と比較することと、プロセッサの作業負荷指標値が第1の閾値未満である場合に、キャッシュメモリの複数のウェイのサブセットからパワーを選択的に取り除くことと、前記作業負荷指標値が第2の閾値を超える場合に、前記キャッシュメモリの任意の以前にパワーが遮断されたウェイにパワーを投入することと、を含み、前記作業負荷指標値が、前記第1の閾値を超え、かつ前記第2の閾値未満である場合、前記キャッシュメモリのウェイへのパワーが変化される、方法。前記キャッシュメモリを含むプロセッサの前記作業負荷指標値を判定することをさらに含む、請求項20に記載の方法。前記第2の閾値は、前記第1の閾値およびガードバンド値の合計である、請求項20に記載の方法。前記作業負荷指標値は、CIPS1秒間にコミットされる命令値である、請求項20に記載の方法。前記キャッシュメモリの1つ以上のウェイからパワーが選択的に取り除かれてから経過した時間量を判定することと、前記時間量を第1の時間閾値と比較することと、前記時間量が前記第1の時間閾値未満である場合に、前記キャッシュメモリの追加のウェイがパワーを遮断されることを防止することと、をさらに含む、請求項20に記載の方法。前記第1のサブセットのウェイがパワーを遮断される場合に、1つ以上の追加のプロセッサに、第1の通知であって、前記第1のサブセットのウェイの前記パワーの遮断を示す、第1の通知を送信することと、前記キャッシュメモリの任意の以前にパワーが遮断されたウェイへのパワーの投入に応えて、前記1つ以上の追加のプロセッサに、第2の通知であって、前記キャッシュメモリの前記以前にパワーが遮断されたウェイがパワーを投入されたことを示す、第2の通知を送信することと、をさらに含む、請求項20に記載の方法。プロセッサのパフォーマンス状態を第1のパフォーマンス状態から第2のパフォーマンス状態に変更することであって、前記プロセッサのコアを第1の電圧および第1のクロック周波数で動作させることを含む、前記第1のパフォーマンス状態から、前記コアを前記第1の電圧未満の第2の電圧および前記第1のクロック周波数未満の第2のクロック周波数で動作させることを含む、前記第2のパフォーマンス状態に変更することと、前記パフォーマンス状態の変更に応えて、キャッシュメモリの1つ以上のウェイからパワーを選択的に取り除くことと、前記キャッシュメモリの前記1つ以上のウェイからパワーを取り除いた後、前記プロセッサの前記コア内で1つ以上の命令を処理することと、を含み、前記処理することは、前記コアが、パワーが取り除かれなかった前記キャッシュメモリの1つ以上のウェイにアクセスすることを含む、方法。前記プロセッサの前記パフォーマンス状態を前記第2のパフォーマンス状態から第3のパフォーマンス状態に変更することであって、前記コアを第3の電圧および第3のクロック周波数で動作させることを含み、前記第3の電圧は、前記第2の電圧未満であり、前記第3のクロック周波数は、前記第2のクロック周波数未満である、第3のパフォーマンス状態に変更することと、前記第2のパフォーマンス状態から前記第3のパフォーマンス状態への変更に応えて、前記キャッシュメモリの1つ以上の追加のウェイからパワーを選択的に取り除くことと、前記1つ以上の追加のウェイからパワーを取り除いた後、前記プロセッサの前記コア内で1つ以上の命令を処理することと、をさらに含み、前記処理することは、前記コアが、パワーが取り除かれなかった前記キャッシュメモリの1つ以上のウェイにアクセスすることを含む、請求項26に記載の方法。前記プロセッサの前記パフォーマンス状態を前記第3のパフォーマンス状態から前記第1のパフォーマンス状態または第2のパフォーマンス状態のうちの1つに変更することと、以前にパワーが遮断された前記キャッシュウェイの1つ以上に選択的にパワーを投入することと、をさらに含む、請求項27に記載の方法。前記キャッシュウェイの前記1つ以上からパワーが選択的に取り除かれてからの時間量を、第1の滞留要件および第2の滞留要件と比較することをさらに含み、前記方法は、前記時間量が前記第1の滞留要件未満である場合に、いずれの追加のキャッシュウェイもパワーを遮断されることを防止することと、前記時間量が前記第2の滞留要件未満である場合に、いずれの追加のキャッシュウェイもパワーを投入されることを防止することと、をさらに含む、請求項26に記載の方法。コンピュータシステム上で実行可能なプログラムによって動作されるデータ構造を備える、コンピュータ可読媒体であって、前記プログラムは、前記データ構造上で、前記データ構造によって記述される回路を含む集積回路を加工するプロセスの一部を実施するように動作し、前記データ構造内に記述される前記回路は、少なくとも1つの実行ユニットが動作点を第1の動作点から第2の動作点に変更するのに応えて、キャッシュメモリの複数のウェイの第1のサブセットのパワーを選択的に変化させるように構成される、パワー管理ユニットを含み、前記少なくとも1つの実行ユニットは、前記複数のウェイの前記第1のサブセットのパワーを選択的に変化させた後、パワーが変化された前記複数のウェイの第2のサブセットの1つ以上のウェイにアクセスするように構成される、コンピュータ可読媒体。前記データ構造は、以下の種類のデータ、HDL高級設計言語データ、RTLレジスタ転送レベルデータ、グラフィックデータシステムGDSIIデータ、のうちの1つ以上を備える、請求項25に記載のコンピュータ可読媒体。プロセッサ実施形態の概略:図1は、プロセッサ100の一実施形態のブロック図である。プロセッサ100は、システムメモリ200内に記憶されている命令を実行するように構成される。これらの命令の多くは、システムメモリ200内に記憶されているデータに作用する。システムメモリ200は、コンピュータシステム全体を通して物理的に分散されていてもよく、および/または1つ以上のプロセッサ100によってアクセスされてもよいことに留意する。図示される実施形態では、プロセッサ100は、レベル1L1命令キャッシュ106と、L1データキャッシュ128とを含んでもよい。プロセッサ100は、命令キャッシュ106に連結されるプリフェッチユニット108を含んでもよい。ディスパッチユニット104は、命令キャッシュ106から命令を受信し、動作をスケジューラ単数または複数118にディスパッチするように構成されてもよい。スケジューラ118の1つ以上は、ディスパッチユニット104からディスパッチされる動作を受信し、動作を1つ以上の実行ユニット単数または複数124に発行するように連結されてもよい。実行ユニット単数または複数124は、1つ以上の整数ユニットと、1つ以上の浮動小数点ユニットと、1つ以上の読み込み/記憶ユニットとを含んでもよい。実行ユニット単数または複数124によって生成される結果は、1つ以上の結果バス130複数の結果バスが可能であり、予想されるが、ここでは明確化のために、単一の結果バスが示されているに出力されてもよい。これらの結果は、続いて発行される命令のオペランド値として使用されてもよく、および/またはレジスタファイル116に記憶されてもよい。リタイアキュー102は、スケジューラ単数または複数118およびディスパッチユニット104に連結されてもよい。リタイアキュー102は、それぞれの発行された動作がいつリタイアされ得るかを判定するように構成されてもよい。一実施形態では、プロセッサ100は、x86アーキテクチャインテルアーキテクチャ-32、またはIA-32としても知られると互換性があるように設計されてもよい。別の実施形態では、プロセッサ100は、64ビットアーキテクチャと互換性があってもよい。他のアーキテクチャと互換性があるプロセッサ100の実施形態も同様に予想される。また、プロセッサ100は、多くの他の構成要素も含んでもよいことに留意する。例えば、プロセッサ100は、命令スレッドの実行における分岐を予測するように構成される、分岐予測ユニット図示せずを含んでもよい。また、プロセッサ100は、メモリ200に対する読み出しおよび書き込みを制御するように構成される、メモリコントローラも含んでもよい。命令キャッシュ106は、ディスパッチユニット104がフェッチするための命令を記憶してもよい。命令コードは、記憶するために、プリフェッチユニット108を通してシステムメモリ200からコードをプリフェッチすることによって、命令キャッシュ106に提供されてもよい。命令キャッシュ106は、様々な構成例えば、セットアソシアティブ、フルアソシアティブ、または直接マップで実現されてもよい。また、プロセッサ100は、レベル2L2キャッシュ140も含んでもよい。命令キャッシュ106が、命令を記憶するために使用されてもよく、データキャッシュ128が、データ例えば、オペランドを記憶するために使用されてもよい一方、L2キャッシュ140は、命令およびデータを記憶するために使用される、ユニファイドであってもよい。ここでは明確に示されていないが、また、いくつかの実施形態は、レベル3L3キャッシュも含んでもよい。一般的に、キャッシュレベルの数は、実施形態ごとに様々であってもよい。プリフェッチユニット108は、命令キャッシュ106内に記憶するために、システムメモリ200から命令コードをプリフェッチしてもよい。プリフェッチユニット108は、種々の具体的なコードプリフェッチ技法およびアルゴリズムを採用してもよい。ディスパッチユニット104は、実行ユニット単数または複数124が実行可能な動作、ならびにオペランドアドレス情報、即値データ、および/または置換データを出力してもよい。いくつかの実施形態では、ディスパッチユニット104は、特定の命令を実行ユニット単数または複数124内で実行可能な動作に復号するための復号回路図示せずを含んでもよい。単純な命令は、単一の動作に対応してもよい。いくつかの実施形態では、より複雑な命令は、複数の動作に対応してもよい。レジスタの更新を伴う動作が復号されると、レジスタファイル116内のレジスタ位置は、投機的レジスタ状態を記憶するために予約されてもよい代替の実施形態では、各レジスタの1つ以上の投機的レジスタ状態を記憶するために、リオーダバッファが使用されてもよく、レジスタファイル116は、各レジスタのコミットされたレジスタ状態を記憶してもよい。レジスタマップ134は、レジスタリネーミングを促進するために、ソースオペランドおよびデスティネーションオペランドの論理レジスタ名を物理レジスタ番号に変換してもよい。レジスタマップ134は、レジスタファイル116内のどのレジスタが現在割り振られているか、および割り振られていないかを追跡してもよい。図1のプロセッサ100は、アウトオブオーダ実行をサポートしてもよい。リタイアキュー102は、レジスタ読み出しおよび書き込み動作の元のプログラムシーケンスを追跡し、投機的命令実行および分岐予測ミス回復を可能にし、厳密な例外を促進してもよい。いくつかの実施形態では、また、リタイアキュー102は、投機的レジスタ状態のデータ値記憶例えば、リオーダバッファと同様のを提供することによって、レジスタリネーミングもサポートしてもよい。他の実施形態では、リタイアキュー102は、リオーダバッファと同様に機能し得るが、いかなるデータ値記憶も提供しなくてもよい。動作がリタイアされる際、リタイアキュー102は、投機的レジスタ状態を記憶するためにもはや必要ではないレジスタファイル116内のレジスタの割り振りを解除し、どのレジスタが現在開放されているかを示す信号をレジスタマップ134に提供してもよい。これらの状態をもたらした動作が有効化されるまで、レジスタファイル116内または、代替の実施形態では、リオーダバッファ内の投機的レジスタ状態を維持することによって、分岐予測が不正確である場合に、レジスタファイル116内の投機的に実行された動作の結果が、予測ミスされたパスと共に無効化されてもよい。一実施形態では、レジスタファイル116の所与のレジスタは、実行された命令のデータ結果を記憶するように構成されてもよく、また、実行される命令によって更新されてもよいし、1つ以上のフラグビットも記憶してもよい。フラグビットは、後続の命令の実行において重要であり得る様々な種類の情報例えば、加算または乗算演算の結果として、繰り上げまたはオーバーフロー状況が存在することを示すを伝達してもよい。アーキテクチャ上、フラグを記憶するフラグレジスタが定義されてもよい。したがって、所与のレジスタへの書き込みは、論理レジスタおよびフラグレジスタの両方を更新してもよい。すべての命令が、1つ以上のフラグを更新し得るわけではないことに留意されたい。レジスタマップ134は、動作のデスティネーションオペランドとして指定される特定の論理レジスタ例えば、設計されるレジスタまたはマイクロアーキテクチャ上指定されるレジスタに、物理レジスタを割り当ててもよい。ディスパッチユニット104は、レジスタファイル116が、所与の動作においてソースオペランドとして指定された論理レジスタに割り当てられた、以前に割り振られた物理レジスタを有すると判定してもよい。レジスタマップ134は、その論理レジスタに最も最近割り当てられた物理レジスタのタグを提供してもよい。このタグは、レジスタファイル116内のオペランドのデータ値にアクセスするため、または結果バス130上での結果転送を介してデータ値を受信するために使用されてもよい。オペランドがメモリ位置に対応する場合、オペランド値は、読み込み/記憶ユニット図示せずを通して、結果バス上で提供されてもよい結果転送および/またはレジスタファイル116内への記憶のために。オペランドデータ値は、スケジューラ単数または複数118のうちの1つによって動作が発行される際に、実行ユニット単数または複数124に提供されてもよい。代替の実施形態では、オペランド値は、動作がディスパッチされる際、対応するスケジューラ118に提供されてもよい動作が発行される際に、対応する実行ユニット124に提供される代わりにことに留意する。本明細書で使用される場合、スケジューラは、動作を実行する準備ができているときを検出し、準備ができている動作を1つ以上の実行ユニットに発行する、デバイスである。例えば、予約ステーションは、一種のスケジューラであってもよい。実行ユニット毎に独立した予約ステーションが提供されてもよく、または動作が発行される中央予約ステーションが提供されてもよい。他の実施形態では、リタイアメントまで動作を保有する、中央スケジューラが使用されてもよい。各スケジューラ118は、実行ユニット124への発行を待っている、いくつかの保留動作の動作情報例えば、動作、ならびにオペランド値、オペランドタグ、および/または即値データを保持することが可能であってもよい。いくつかの実施形態では、各スケジューラ118は、オペランド値記憶を提供しなくてもよい。代わりに、各スケジューラは、実行ユニット単数または複数124がオペランド値を読み出せるようになるレジスタファイル116または結果バス130からときを判定するために、発行される動作およびレジスタファイル116内の利用可能な結果を監視してもよい。いくつかの実施形態では、その中に示されているキャッシュの1つ以上は、特定のキャッシュウェイのパワーを選択的に遮断または投入することによって、動作中に、動的にサイズ変更されてもよい。プロセッサは、所与のキャッシュのウェイのうちのいくつかがパワーを遮断された後でさえ、アクティブ状態で動作し続けてもよい。残りのキャッシュウェイすなわち、パワーが依然として提供されているキャッシュウェイは、命令の実行中に、1つ以上の実行ユニット単数または複数124によってアクセスされてもよい。したがって、プロセッサ100が待機状態であるときのみキャッシュウェイのパワーを遮断する代わりに、プロセッサ100が依然としてアクティブ状態のままであることを可能にする一方で、いくつかのキャッシュウェイがパワーを遮断され得る。これは、その結果、プロセッサが活動を継続することを可能にする一方で、パワー消費を低減し得る。図2から開始して、ここで、プロセッサ100の様々な実施形態、および節電するためにキャッシュサイズを動的に制御するための方法がより詳細に記載される。図2は、プロセッサの別の実施形態のブロック図である。図1にも含まれる特定のユニットは、ここで同一に指定され、図2の実施形態において、同一または同様の機能を実施してもよい。示される実施形態では、プロセッサ100は、上述される様々なユニットに加えて、パワー管理ユニット150と、パフォーマンス状態/モードコントローラ135以後、状態コントローラ135と、メモリコントローラ145とを含む。示される実施形態では、また、クロック制御回路136および可変電圧調節器137も、これらのユニットがチップ上すなわち、プロセッサ100と同一のICダイ上に実装される実施形態が可能であり、予想されるが、プロセッサ100に連結されるように示されている。例えば、クロック制御および電圧調節/制御の機能は、状態コントローラ135に実装されてもよい。示される実施形態では、プロセッサ100は、所与の時間にどのウェイがパワーをオンにされるかを選択的に制御することによってサイズを動的に制御可能である、L2キャッシュ140に連結される、パワー管理ユニットを含む。L2キャッシュ140の選択されるウェイは、実行ユニット単数または複数124の作業負荷が減少する際に、パワーを遮断されてもよい。同様に、多数のキャッシュウェイがパワーを遮断される際、L2キャッシュ140の選択されるウェイは、実行ユニット単数または複数124の作業負荷が増加する場合に、パワーを投入されてもよい。L1キャッシュが同様に制御可能である実施形態が可能であり、予想され、実施例が、以下により詳細に記載される。L2キャッシュ140の特定のウェイがパワーを遮断されるか否かの判定において、パワー管理ユニット150によって、多数の様々な測定基準の1つ以上が使用されてもよい。プロセッサの動作点は、測定基準のうちの少なくとも1つによって定義されてもよく、測定基準の組み合わせによって定義されてもよい。図2の実施形態では、プロセッサ100は、それぞれが特定の動作電圧および特定の動作周波数によって定義され得る、様々なパフォーマンス状態P状態で動作するように構成される。プロセッサ100は、節電モード例えば、バッテリパワーで動作する際に節電が重要視されるおよびパフォーマンスモードパフォーマンスを最大限にすることが重要視されるで動作するようにさらに構成されてもよい。以下の表1は、様々なP状態および動作モードの組み合わせに対して行われ得る、様々なキャッシュサイズ決定アクションを図示する。表1は、上述されるプロセッサ100の実施形態、ならびにプロセッサの他の実施形態に適用されてもよい。さらに、上記の表1に示される特定のスキームが異なる、他のプロセッサ実施形態が可能であり、予想される。この特定の実現形態では、P0およびP1状態2つの最高動作電圧および2つの最高クロック周波数からなるで動作する際、プロセッサ100が節電モードで動作しているか、またはパフォーマンスモードで動作しているかに関わらず、L2キャッシュ140のすべてのウェイがオンにされてもよい。P2状態で動作している際、パフォーマンスモードで動作している場合は、すべてのキャッシュウェイがオンにされてもよく、一方、節電モードで動作している場合は、1/2の数のキャッシュウェイがオフにされてもよい。オンのままであるキャッシュウェイは、実行ユニット単数または複数124が、その中に記憶されているデータおよび/または命令を取り出すためにアクセス可能であってもよい。プロセッサ100がP3状態で動作している際、節電モードである場合は、1/4のキャッシュウェイのパワーがオンのままであってもよく、一方、パフォーマンスモードである場合は、1/2のキャッシュウェイがパワーをオンにされてもよい。P4およびP5状態では、パフォーマンスモードで動作している場合、1/4のキャッシュウェイがパワーをオンにされてもよい。節電モードで動作している際、P4状態である場合は、1/4のキャッシュウェイがパワーをオンにされてもよく、一方、P5状態である際は、キャッシュは完全にパワーを遮断されてもよい。上記の表1に示される情報は、パワー管理ユニット150内の記憶構造内に記憶されてもよい。状態コントローラ135は、P状態、パフォーマンスモード、両方に関する情報、および/または他の情報を含んでもよい、プロセッサ100の特定の動作点を示す情報を、パワー管理ユニット150に提供してもよい。また、パワー管理ユニット150も、リタイアされる、またはリタイアされた命令に関する情報をリタイアキュー102から受信するように連結されてもよい。パワー管理ユニット150は、もしあれば、どのキャッシュサイズ決定アクションが行われるかを判定するために、状態コントローラ135および/またはリタイアメントキュー102から受信される情報を使用してもよい。他の実施形態では、パワー管理ユニット150は、上述される他のユニットの機能を組み込んでもよく、そのため、動作点およびリタイアされた命令に関する情報を、外部ソースから受信するというよりはむしろ生成することが可能であってもよい。示される実施形態では、状態コントローラ135は、プロセッサ100の動作点を制御するために、制御アクションを実施するように構成される。他の場所の中でも特に、状態コントローラ135によってリタイアキュー102および/または実行ユニット単数または複数124から受信される情報が、プロセッサ100の作業負荷を判定するために使用されてもよい。例えば、状態コントローラ135は、所与の時間間隔の間にリタイアされる命令の数および/または種類を追跡してもよい。同様に、コントローラ135は、実行のために発行された命令の数および種類に関する情報を、実行ユニット単数または複数124から受信してもよい。ここには明確に示されていないが、また、状態コントローラ135は、実行されるようスケジュールされる命令についての情報を提供し得る、図1に示されるスケジューラ単数または複数118にも連結されてもよい。様々な実施形態では、状態コントローラ135は、他の処理ノード例えば、マルチコアプロセッサ内の他のプロセッサコア、および/またはマルチプロセッサコンピュータ内の他のプロセッサから、それらの特定の動作点に関する情報を受信してもよい。状態コントローラ135によって様々なソースから受信される情報は、作業負荷、利用可能なパワー、パワーおよび周波数制限等の要因に基づき、プロセッサの適切な動作点を判定するために使用されてもよい。プロセッサ100またはマルチコア実施形態の場合では、プロセッサ100のコア101の特定の動作点が判定されると、状態コントローラ135は、状態変更を達成する様々なアクションを実施してもよい。この特定の実施形態では、状態コントローラ135は、動作電圧および/またはクロック周波数を変更して、プロセッサ100の動作点を変更するよう上述されるように、他の実施形態では、これらの機能は、状態コントローラ135に組み込まれてもよいが、クロックコントローラ136および可変電圧調節器137に信号を提供してもよい。加えて、信号は、動作点のいずれかの変更に関する情報をパワー管理ユニット150に提供するために、状態コントローラ135から提供されてもよい。さらに、パワー管理ユニット150は、もしあれば、L2キャッシュ140の動的サイズ決定に関してどのアクションが行われたかの情報を、状態コントローラ135に提供してもよい。キャッシュのパワー管理:ここで、図3を参照すると、キャッシュメモリの実施形態に連結される、パワー管理ユニットの一実施形態を図示するブロック図が示されている。示される実施形態では、パワー管理ユニット150は、キャッシュ140に連結される。この特定の実施例では、キャッシュ140は、1セット当たりすなわち、グループ当たり2つのウェイを有する、16ウェイセットアソシアティブキャッシュである。しかしながら、ウェイの数、セットグループの数、またはグループ当たりのウェイの数がここに示されるものとは異なる、他の実施形態が可能であり、予想される。さらに、また、直接マップキャッシュまたはフルアソシアティブキャッシュも、本明細書に記載される様々な方法および装置実施形態での使用が可能であり、予想される。示される実施形態では、パワー管理ユニット150は、複数のPMOSp型金属酸化物半導体トランジスタ152のそれぞれに連結される。示される実施形態では、PMOSトランジスタ152は、大域パワーノードVDDを対応する局所電圧ノード154に連結するため、またはそれから切断するためのスイッチとしての機能を果たす。他の実施形態では、ここに示される単一のPMOSトランジスタ152の代わりに、パスゲート等のデバイス/回路が使用されてもよい。一般的に、大域電圧ノードを局所電圧ノードに連結するため、およびそれから切断するために、任意の好適なスイッチングデバイスが実装されてもよい。また、スイッチングデバイスが、局所接地ノードを大域接地ノードに連結するため、それから切断するために使用される実施形態が可能であり、予想されることにも留意する。大域電圧ノードを局所電圧ノードと連結し、それから切断する、スイッチングデバイスと併せて、またはその代替として、そのようなスイッチングデバイスが使用されてもよい。PMOSトランジスタ152のそれぞれは、そのそれぞれのゲート端子がローで駆動される際にオンにされてもよい。本実施形態では、パワー管理ユニット150は、実施形態に示される2つのウェイの各グループへのパワー遮断信号PwrDnセット0、PwrDnセット1等を駆動するように構成される。特定のグループのウェイがパワーを遮断される場合、パワー管理ユニット150によって、その対応するパワー遮断信号がハイに駆動されてもよい。対応するPMOSトランジスタ152は、そのゲート端子へのハイ信号に応えて、作動停止されてもよい。PMOSトランジスタ152が作動停止される際、大域パワーノードVDDからのパワーは、対応するグループのウェイに連結される局所パワーノードから切断される。したがって、示される実施形態では、パワー管理ユニット150は、他のグループから独立したグループのうちの任意の1つのパワーを選択的に遮断してもよい。動作点の変更に応えて、多数のグループ例えば、総数の1/2のパワーを遮断する際、パワー管理ユニット150は、隣接するグループのパワーを遮断してもよく、隣接しないグループのパワーを選択的に遮断してもよく、またはこれらの2つの任意選択の組み合わせを実施してもよい。図4は、パワー管理ユニットの一実施形態のブロック図である。示される実施形態では、パワー管理ユニット150は、様々なソースから情報を受信するように連結され、もしあれば、どのキャッシュサイズ変更アクションが行われるかを判定するように構成される、決定ユニット156を含む。加えて、決定ユニット156は、様々なユニットによって内部で使用されてもよい、ステータスの変更例えば、キャッシュサイズ変更アクションを示す信号を提供するように構成される。本実施形態では、外部ソースから情報を受信するように構成されるパワー管理ユニット150のユニットには、活動モニタ164、CIPS1秒間にコミットされる命令ユニット154、状態変更検出器152、および決定ユニット156が挙げられる。通知ユニット160およびスイッチングユニット158は、パワー管理ユニット150の外部ユニットに情報を提供するように構成される。加えて、パワー管理ユニット150は、滞留タイマ166と、ダウン比較器168と、アップ比較器170とを含む。示される実施形態では、状態変更検出器152は、状態コントローラ135から動作点の変更を示す信号を受信するように連結される。動作点情報は、P状態、モードすなわち、節電またはパフォーマンス、およびプロセッサ100の動作点に関する任意の他の関連情報を含んでもよい。状態変更検出器152は、動作点が変更されたことを示す信号単数または複数動作点変更を決定ユニット156に提供してもよく、ならびに、新しい動作点を識別する情報を提供する。決定ユニット156は、キャッシュサイズ変更アクションが必要であるか否かを、必要であれば、どの具体的なアクションを行うかと共に示すために、処理ノードコア101またはプロセッサ100全体であってもよいの状態に関する情報を使用してもよい。加えて、また、決定ユニット156は、マルチコアプロセッサ実施形態および/またはマルチプロセッサコンピュータシステム内の他の処理ノードの状態に関する情報も使用してもよい。そのようなシステムは、1つのノードが、より少ないパワーを消費する状態に入る際、作業負荷需要を満足するために、必要に応じて、別のノードがより多くのパワーを消費し得るように、処理ノードの間でパワーを再度割り振ってもよい。決定ユニット156が、選択されるウェイまたはセットのパワーを遮断することによって、またはパワーを投入することによって、キャッシュがサイズ変更されると判定する場合、1つ以上の信号キャッシュサイズ変更が、スイッチングユニット158に送信されてもよい。これらの信号の受信に応えて、スイッチングユニット158は、選択されるキャッシュウェイもしくはセットのパワーを投入するため、またはパワーを遮断するための1つ以上の信号PwrDn[N:0]を生成してもよい。対応する実施例として図3の実施形態を使用して、スイッチングユニット158は、PMOSトランジスタ152のゲート上で受信されてもよい、1つ以上のアクティブハイ信号をアサートし、それによってキャッシュウェイの対応するセットのパワーを遮断してもよい。選択されるキャッシュウェイまたはセットがパワーを投入される場合、スイッチングユニット158は、アクティブロー信号をアサート解除し、対応するPMOSトランジスタ152のゲート端子上にローをもたらし、したがって、それらの作動およびキャッシュウェイの対応するセットのパワーの投入をもたらしてもよい。ここで、本実施例は、1つの可能な実施形態でしかなく、そのような信号は、キャッシュウェイ/セットを大域電圧供給ノードおよび/または接地ノードに連結する、それから切断するために使用されるスイッチングデバイスに従って、アクティブハイまたはアクティブローであってもよいことが留意される。キャッシュがサイズ変更されると、決定ユニット156は、変更の通知キャッシュステータス変更を通知ユニット160に送信してもよい。今度は、通知ユニット160が、他の処理ノードに、変更の詳細例えば、パワーが遮断もしくは投入されたキャッシュウェイまたはセットの数、キャッシュの種類例えば、L1、L2、L3等等に関する情報を含む、それらに変更を知らせる情報ステータス変更通知を送信してもよい。別の実施形態では、以下により詳細に記載されるように、通知ユニット160は、プロセッサ100の様々なユニットの間でパワーを割り振るために使用されてもよい、キャッシュのサイズ変更に関する情報をコントローラに送信してもよい。キャッシュサイズ変更の通知を通知ユニット160に送信することに加えて、また、決定ユニット156は、同一の情報を滞留タイマ166にも提供してもよい。滞留タイマ166の場合では、情報は、信号のリセットとして使用される単一の信号に削減されてもよい。信号を受信すると、滞留信号が実行開始されてもよく、キャッシュサイズ変更からの現在の時間を提供してもよい。時間は、第1および第2の時間閾値と比較されてもよい。これらの閾値は、キャッシュサイズ変更アクションの最小滞留要件を示してもよい。一方の閾値は、サイズ拡大変更アクションの最小滞留すなわち、より多くのキャッシュウェイ/セットがパワーを投入されるときを確立してもよく、一方、もう一方の閾値は、サイズ縮小変更アクションの最小滞留すなわち、より多くのキャッシュウェイ/セットがパワーを遮断されるときを確立してもよい。アップ比較器170は、追加のウェイ/セットが、再度パワーを投入される前に、時間値を現在のキャッシュサイズの最小滞留を確立する閾値と比較してもよい。ダウン比較器168は、追加のウェイ/セットが、再度パワーを遮断される前に、時間値を現在のキャッシュサイズの最小滞留を確立する閾値と比較してもよい。場合によっては、時間閾値は、同一であってもよく、したがって、ここに示される2つの比較器の代わりに、単一の比較器が使用されてもよい。また、閾値がプログラム可能であり得る、および/またはプロセッサまたは処理ノードの具体的な動作点に基づいて変更し得る実施形態も可能であり、予想される。例えば、バッテリまたは節電モードで動作している際、サイズ拡大変更アクションの最小滞留は、パフォーマンスモードで動作している際より長くてもよい。同様に、キャッシュのサイズ縮小変更の最小滞留は、節電モードで、パフォーマンスモードより小さくてもよい。パフォーマンスモードで動作している際、最小滞留が、サイズ拡大変更アクションでより短く、サイズ縮小変更アクションでより長い、逆の場合が真であってもよい。示される実施形態では、決定ユニット156は、アップ比較器170から第1の信号UpResを受信し、ダウン比較器168から第2の信号DownResを受信するように連結される。これらの信号は、それらのそれぞれの比較器が、滞留時間166から受信される時間値がそれらのそれぞれの閾値を超えると判定する際にアサートされてもよい。決定ユニット156は、これらの信号のうちの一方または両方がアサートされない場合に、さらなるキャッシュサイズ変更アクションを禁止してもよい。例えば、そうでなければ追加のキャッシュウェイ/セットのパワーを投入することによるキャッシュのサイズ変更をもたらし得る動作点変更が実施される場合、アップ比較器170がUpRes信号をアサートするまで、サイズ変更アクションが禁止され、それによって、追加のウェイ/セットのパワーをオンにする前に、現在のキャッシュサイズの最小滞留が確立されたことを示してもよい。同様に、そうでなければ追加のウェイ/セットのパワーを遮断することによるキャッシュのサイズ変更をもたらし得る動作点変更が実施される場合、決定ユニット156は、ダウン比較器168が追加のサイズ縮小変更アクションの最小滞留が確立されたことを示すまで、キャッシュのサイズ縮小変更を禁止してもよい。アップ比較器170およびダウン比較器168によって判定される滞留要件を使用することによって、決定ユニット156は、キャッシュのスラッシング、すなわち、キャッシュの過度に頻繁なサイズ変更を防止してもよい。そのようなスラッシングは、過剰なパワー消費、パワー供給ノイズの増加をもたらし得、プロセッサ計算パフォーマンスを悪化させ得る。示される実施形態では、パワー管理ユニット150は、命令実行活動を監視するように構成される、活動モニタ164を含む。本実施形態では、活動モニタ164は、実行ユニット単数または複数124例えば、図2のから情報を受信するように連結される。実行ユニット単数または複数124から受信される情報を使用して、活動モニタは、所定の時間間隔にわたる、対応する処理ノード例えば、この場合ではコア101の平均活動を計算してもよい。活動モニタ164は、実行される命令についての情報、パイプラインのストールについての情報、または実行ユニット単数または複数の活動を示す任意の他の種類の情報を受信してもよい。そのような情報は、キャッシュがサイズ変更され得るか否かの判定において有用であり得る。例えば、活動モニタ164が、各時間間隔において、パイプラインストールに著しい時間量が費やされると判定する場合、キャッシュミスに関連する追加の待ち時間が、パフォーマンス全体への大きい影響を有する可能性がより小さいため、キャッシュをサイズ縮小変更することが可能であり得る。一方、活動モニタ164が、大きい数の命令が各間隔中に実行される比較的フルのパイプラインを示すと判定する場合、キャッシュミスによる高待ち時間および見込まれるパイプラインストールがパイプライン効率に悪影響を及ぼす可能性があるため、キャッシュをサイズ拡大変更することが望まれ得る。活動モニタ164によって生成される活動情報は、決定ユニット156平均ノード活動に提供されてもよく、キャッシュをサイズ変更することが必要であるか否かの判定において使用されてもよい。いくつかの実施形態では、またはいくつかの動作モードでは、この情報は、キャッシュサイズ変更動作の必要性を判定するために、決定ユニット156によって排他的に使用されてもよい。他の実施形態では、活動モニタ164から受信される情報は、決定ユニット156によって受信される他の情報と併せて使用されてもよい。また、パワー管理ユニット150は、結果がレジスタにコミットされる、1秒間の間隔の間に実行される命令の数を示す情報を受信し得る、CIPSユニット154も含む。上述されるように、CIPSは、1秒間にコミットされる命令であり、したがって、プロセッサの作業負荷を示す。示される実施形態では、CIPSユニット154は、リタイアメントキュー例えば、図1および図2のリタイアメントキュー102からリタイアされる命令に関する情報を受信するように連結される。CIPSユニット154は、所定の間隔内にリタイアされる命令の数を判定してもよく、CIPS値を外挿するために、この値を使用してもよい。したがって、CIPS値は、命令が実行され、実際にリタイアされる速度を示し得る例えば、分岐予測ミスにより、投機的に実行され、リタイアされない、いくつかの命令とは対照的に。CIPS値は、決定ユニット156がキャッシュサイズ変更を実施するか否かを判定するために使用可能である追加の情報を生成するために、他の値と併せて使用されてもよい。この特定の実施形態では、CIPSユニット154は、比較の基準として閾値および合計値の両方を使用して、閾値およびガードバンドまたはヒステリシス値の合計を計算してもよい。CIPSユニット154は、第1の信号CIPS>閾値ガードバンド、第2の信号CIPS<閾値をアサートしてもよく、または信号をアサートしなくてもよい。決定ユニット156は、第1および第2の信号を受信するように連結され、所与の間隔の間に、これらの信号のうちのいずれかがアサートされたか否かを判定してもよい。一実施形態では、以下の表2に基づくキャッシュサイズ変更アクションが行われてもよい。上記の表2には、決定ユニット156の一実施形態が、キャッシュサイズ変更アクションを実施するか否かの判定、ならびにどのアクションであるかの判定において、P状態およびCIPS値の両方を考慮し得る、実施例が示されている。この特定の実施形態では、各P状態は、そのP状態に特有の閾値と関連付けられる。しかしながら、すべてのP状態に対して単一の閾値が使用される実施形態、ならびに追加の閾値例えば、パフォーマンスモードで動作している際の所与の状態の第1の閾値、および節電モードで動作している際の所与の状態の第2の閾値が可能である実施形態が可能であり、予想される。本実施形態では、P状態0およびP状態1では、キャッシュサイズは、そのフルサイズのままである。処理ノードが、P状態2で動作している場合、さらなる状態変更のない、キャッシュサイズ変更動作を判定するために、判定されるCIPS値が使用されてもよい。CIPS値が合計すなわち、閾値2ガードバンドを超える場合、キャッシュは、その以前のサイズに関わらず、そのフルサイズにサイズ拡大変更されてもよい。この場合、CIPS値は、リタイアされる命令の高速、したがって、高作業負荷または数値計算限界作業負荷を示す。CIPS値が閾値閾値2未満である場合、キャッシュは、フルサイズキャッシュから1/2キャッシュにサイズ変更されてもよい。CIPS値が閾値は超えるが、合計値未満である場合、本実施例では、キャッシュはサイズ変更されない。P状態3およびP状態4のキャッシュサイズ変更アクションを判定するためのアルゴリズムは、本実施形態のP状態2と同様であり、主として、使用される閾値、および結果としてもたらされる、使用される合計値が異なる。CIPSユニット154によって利用されてもよい、アルゴリズムの追加の実施形態が、以下により詳細に記載される。キャッシュがサイズ変更されると、決定ユニット156は、変更の通知キャッシュステータス変更を通知ユニット160に送信してもよい。今度は、通知ユニット160が、他の処理ノードに、変更の詳細例えば、パワーが遮断もしくは投入されたキャッシュウェイまたはセットの数、キャッシュの種類例えば、L1、L2、L3等等に関する情報を含む、それらに変更を知らせる情報ステータス変更通知を送信してもよい。また、追加の要因には、特定のプログラムまたは命令のシーケンスが、プロセッサ限界またはメモリ限界であるか否かの判定も挙げられる。数値計算限界アプリケーションは、頻繁なキャッシュアクセスを要求し得、待ち時間耐性がない場合があり、したがって、最大キャッシュサイズで、より高いパフォーマンスを達成し得る。メモリ限界アプリケーションは、より長い実行ストールを伴う、頻繁なメモリアクセスキャッシュ内に記憶されている情報の高回転をもたらすを実施し得、したがって、キャッシュミスによるペナルティが予期されるため、より長い待ち時間耐性であり得る。したがって、メモリ限界アプリケーションでは、キャッシュサイズは、パフォーマンスに著しい影響を及ぼすことなく縮小され得る。そのような情報は、処理ノードが実装されているコンピュータシステム上で実行されているオペレーティングシステムを介して、決定ユニット156に提供されてもよい。したがって、パワー管理ユニット150の決定ユニット156は、多数の異なる要因に基づき、どのキャッシュサイズ変更動作が実施されるかを判定してもよい。これらの要因には、P状態、動作モード節電またはパフォーマンス、CIPS、平均活動、ならびに他の処理ノードおよびパワー割り振りに関する情報が挙げられる。決定ユニット156は、キャッシュサイズ変更情報を、これらの要因のうちの1つ、またはこれらの任意の組み合わせに基づくように構成可能であってもよい。ここで、図5を参照すると、プロセッサの異なる動作点のキャッシュメモリの動的制御を図示する、一連のブロック図が示されている。示される実施形態では、キャッシュ140は、セットまたはグループ当たり4つのウェイを有する、16ウェイセットアソシアティブキャッシュである。しかしながら、上述されるように、また、直接マップおよびフルアソシアティブキャッシュのように、異なる数のウェイ、グループ、またはグループ当たりのウェイを有する実施形態も可能であり、予想される。一般的に、本明細書の開示に係るキャッシュサイズ変更は、所与の実現形態に適した任意の特定の粒度で実施されてもよい。示される実施例aでは、キャッシュ140のすべてのウェイがオンである。このキャッシュサイズは、キャッシュ140が実装されるプロセッサのパフォーマンス需要が高い際に利用されてもよい。上述される様々な実施形態によると、他の実施例の中でも特に、P状態0で動作している際、パフォーマンスモードで動作している際、高CIPS値が検出される際、または高平均活動レベルが検出される際に、すべてのキャッシュウェイがオンであってもよい。示される実施例bでは、16のキャッシュウェイのうちの8のキャッシュウェイが、パワーを遮断されており、残りのキャッシュウェイは、依然としてパワーがオンであり、アクセス可能である。状態aから状態bへの遷移は、より低いパワーP状態へ例えば、P状態1からP状態2への遷移と併せて、特定のP状態である際例えば、P状態2で動作している際のパフォーマンスモードから節電モードへの遷移と併せて、より低いCIPSレベルが検出される際に併せて、またはより低い平均活動レベルが検出される際に併せて実施されてもよい。cでは、さらに別のキャッシュサイズ変更アクションが行われており、このとき、パワーがオンのウェイは8ウェイから4ウェイに半分に減少される。このキャッシュサイズ変更をトリガする事象は、上述されるものと同様であってもよい。本実施例では、16の総キャッシュウェイのうちの12のキャッシュウェイがパワーを遮断されるが、4つのウェイは、処理ノードの実行ユニットがデータおよび/または命令に依然としてアクセス可能であってもよい。dでは、すべてのキャッシュウェイがパワーを遮断されている。このキャッシュサイズ変更アクションは、最低次P状態例えば、上述される実施例のP状態5、スリープモード等に入るのに応えて実施されてもよい。図5に示されるaからdへのシーケンスは、逆に実施されてもよい。例えば、図5に示されるキャッシュ140の実施形態では、すべてのキャッシュウェイがパワーをオフにされるスリープモードを出る場合、少なくとも4つ以上のキャッシュウェイがパワーをオンにされてもよい。平均活動の増加、CIPS値の増加、より高いP状態へ例えば、P状態3からP状態2への遷移、または節電モードからパフォーマンスモードへの遷移は、キャッシュ140をサイズ拡大変更するために、キャッシュウェイのパワーをオンにすることをトリガし得るアクションである。さらに、図5に示されるシーケンス内の各ステップに遷移することは、必ずしも必要ではないことが留意される。例えば、一実施形態では、パフォーマンス需要の急増例えば、高CIPS値の検出によるが、cからaへの直接ジャンプをもたらしてもよい。キャッシュサイズ変更アクションをトリガする、上述される事象は、例示であり、他のトリガ事象に応えてキャッシュサイズ変更アクションが実施され得る実施形態が可能であり、予想されることが留意される。さらに、キャッシュサイズ変更アクションは、特定の事象から独立して行われてもよい。図4のパワー管理ユニット150の実施例を使用して、決定ユニット156は、P状態の変更、動作モードの変更、または他の種類の動作点変更の通知を受信してもよい。いくつかの実施形態では、これらの変更は、キャッシュ140がサイズ変更されるか否かの決定が要因であってもよいが、それら自体は、変更をトリガしない。図5の実施例では、キャッシュウェイは、すべてのウェイがパワーをオフにされる状態に入る際またはそれを出る際を除き、2の累乗でパワーを投入または遮断される。したがって、サイズ縮小アクションでは、パワーが遮断されるキャッシュウェイの数は、元の16ウェイから8ウェイに減少し、次いで4ウェイ、そして0ウェイに進む。同様に、キャッシュをサイズ拡大する際、アクションは、4ウェイをオンにし、次いで8ウェイ、次いで16ウェイにサイズ拡大することを含む。しかしながら、ここに記載される増分とは異なる増分でサイズ縮小およびサイズ拡大アクションが実施される実施形態が可能であり、予想されることが留意される。例えば、16ウェイキャッシュが2ウェイの増分でサイズ縮小またはサイズ拡大され得、8つの可能なキャッシュサイズを可能にする実施形態が可能であり、予想される。また、キャッシュがキャッシュサイズ増分当たり1ウェイずつサイズ縮小またはサイズ拡大され得る実施形態も可能であり、予想される。動的キャッシュ制御のための方法フロー:図6および図7は、キャッシュのサイズを動的に制御するための方法の2つの可能な実施形態を図示する。これらの実施形態は、例示であり、他の実施形態が可能であり、予想されることに留意されたい。また、上述されるパワー管理ユニット150の特定の実施形態に、多数の異なる方法が利用可能であり得、これらの方法は、場合によっては組み合わせ可能であり得ることも留意される。例えば、図6および図7を参照して記載される方法実施形態は、プロセッサ動作点の変更に応えて、キャッシュサイズ変更が実施されるか否かを判定するために、部分的に、または完全に組み合わせられてもよい。ここで、図6を参照すると、動的キャッシュ制御の方法の一実施形態のフロー図が図示されている。示される実施形態では、方法600は、第1の動作点で動作しているプロセッサブロック605で開始する。本実施例の目的のために、動作点は、特定のスキームの最高パフォーマンス動作点例えば、上記に提示される表1に係るP状態0と見なされてもよい。示される実施形態では、動作点の変更が実施されない場合ブロック610、いいえ、キャッシュサイズ決定アクションは実施されずブロック612、動作は、第1の動作点で継続する。しかしながら、動作点が変更する場合ブロック610、はい、キャッシュのサブセットのウェイは、パワーを遮断されてもよいブロック615。サブセットは、単一のウェイのみ、グループのウェイ、または複数のグループのウェイを含んでもよい。動作点変更の後、プロセッサ動作は、依然としてパワーが投入されている残りのウェイ内のキャッシュのアクセスを含んでもよい、命令の処理を継続してもよいブロック620。動作点が再度変更されていない場合ブロック625、いいえ、さらなるキャッシュサイズ変更アクションは行われずブロック627、命令の処理ならびにパワーが投入されたままである任意のキャッシュウェイからのデータおよび/または命令へのアクセスを含む動作は、最も最近の動作点で継続してもよいブロック620。別の動作点変更が実施されブロック625、はい、かつより低いパフォーマンスまたはより低いパワー状態への下方動作点変更である場合ブロック630、下方、キャッシュの追加のウェイがパワーを遮断されてもよいブロック640。命令の処理が継続されてもよく、これは、パワーが投入されたままである任意のキャッシュウェイのアクセスを含んでもよいブロック642。別の動作点変更が実施されブロック625、はい、かつより高いパフォーマンス状態またはより高いパワー消費が許可される状態への動作点変更である場合ブロック630、アップ、キャッシュは、以前にパワーが遮断されたキャッシュウェイに選択的にパワーを投入することによってサイズ拡大変更されてもよいブロック635。新しい動作点が最高パフォーマンス動作点である場合ブロック645、はい、すべてのキャッシュウェイがパワーをオンにされてもよいブロック650。新しい動作点が最高パフォーマンス動作点ではない場合ブロック645、いいえ、いくつかのキャッシュウェイはパワーを遮断されたままであり、一方、パワーが投入されているキャッシュウェイがデータおよび/または命令の取り出しのためにアクセスされ得る動作が実施されてもよい。したがって、図6の実施形態によると、方法600は、動作点が最大パフォーマンスのうちの1つから最小パワー消費のうちの1つに向かって進む際、キャッシュの漸進的サイズ縮小変更を実施してもよい。キャッシュサイズ変更動作の増分の数は、動作点の数例えば、P状態の数、キャッシュウェイまたはウェイのグループの数、キャッシュがパワーを遮断される増分のサイズおよび様式例えば、フルから1/2、1/4等等に依存してもよい。同様に、方法600は、プロセッサの動作点が最小パワー消費のうちの1つから最大パフォーマンスに進む際、キャッシュの漸進的サイズ拡大変更を実施してもよい。図7を参照して記載されるサイズ変更アクションのそれぞれについて、サイズ変更アクションが行われる前に、滞留要件が確立されなければならない場合があることが留意される。例えば、ブロック640で、前回のキャッシュサイズ変更アクションから十分な時間量が経過していない場合、追加のキャッシュウェイのパワーの遮断は、禁止または遅延されてもよい。いったん特定の時間量が経過すると、滞留要件は確立されたと見なされてもよく、その後、サイズ変更アクションが行われてもよい。キャッシュサイズ変更アクションに続いてキャッシュサイズの滞留要件を確立することは、過度に頻繁にキャッシュサイズ変更が実施されることを防止し得る。過度に頻繁なキャッシュサイズ変更は、より多くのパワーを消費し得、処理パフォーマンスを悪化させ、頻繁な間隔でキャッシュウェイのパワーをオンおよびオフすることによってもたらされる頻繁な過渡電流により、配電システムに望ましくないノイズをもたらす場合がある。したがって、これらの望ましくない影響は、滞留要件の使用によって防止され得る。滞留要件を確立し、施行するために、図4の滞留タイマ166等の滞留タイマが使用されてもよい。図7は、動的キャッシュ制御の方法の別の実施形態のフロー図である。この特定の実施形態では、方法700は、CIPS値に基づき、キャッシュサイズ変更アクションが行われるか否かを判定することを目的とする。以前に上述されたように、CIPS値は、リタイアされる命令に関する情報を受信し、特定の時間間隔の間にリタイアされるすなわち、命令実行の結果がレジスタにコミットされる命令の数を判定し、1秒間のこの値を外挿することによって判定されてもよい。本実施形態では、方法700は、新しい時間間隔の開始ブロック701で開始する。結果がレジスタにコミットされた、最も最近の前回の時間間隔内にリタイアされた命令の数を判定するために、集計が取られてもよい。この値から、CIPS値が判定されてもよいブロック705。CIPS値を判定することに加えて、閾値およびガードバンド値の合計が計算されてもよいブロック707。また、閾値がP状態に依存しない例えば、すべてのP状態に対して同一である実施形態も可能であり、予想されるが、一実施形態では、閾値は、プロセッサが動作している特定のP状態に依存してもよい。閾値は、所与の間隔について判定されるCIPS値の比較目的に使用される、特定のCIPS値であってもよい。ガードバンドは、特定の要因が考慮され得ること例えば、パイプラインのフラッシングを引き起こす分岐予測ミスを保証するように比較のための追加の余地を提供する、CIPS値であってもよい。いくつかの実施形態では、ガードバンドは、CIPS計算/判定に含まれ、したがって、別個のガードバンドを含む必要がなくてもよい。CIPS値および合計が判定された後、CIPS値は、閾値および合計の両方と比較されてもよいブロック710。CIPS値が閾値およびガードバンドの合計を超える場合ブロック715、はい、キャッシュは、既にパワーがオンにされていない場合は、すべてのキャッシュウェイのパワーをオンにするようにサイズ変更されてもよいブロック730。CIPS値が合計未満でありブロック715、いいえ、かつ閾値未満である場合ブロック720、はい、キャッシュウェイの総数のサブセットのパワーを選択的に遮断することによって、キャッシュサイズ変更が実施されてもよいブロック735。キャッシュサイズ変更アクションが行われた後、次の間隔が開始するまで、さらなるアクションが行われなくてもよいブロック701。CIPS値が合計値未満ではあるがブロック715、いいえ、閾値を超えるブロック720、いいえ場合、キャッシュサイズは、変更されないままであってもよいブロック725。次の間隔が開始するまで、さらなるキャッシュサイズ変更アクションが実施されなくてもよいブロック701。実施形態700の多くの変形が可能であり、予想される。例えば、CIPS値が合計値を超えるのに応えて、すべてのキャッシュウェイのパワーをオンにする代わりに、キャッシュウェイの選択されるサブセットがパワーをオンにされてもよい。これは、前回の間隔より多くのウェイがパワーをオンにされてもよいが、すべてではないがいくつかのキャッシュウェイがパワーをオンにされる状況をもたらしてもよい。さらに、上述されるように、方法700は、方法600の様々な実施形態またはキャッシュサイズ変更アクションを判定するための任意の他の好適な方法論と併せて使用されてもよい。CIPS値は、キャッシュ容量に依存し得るため、別の変形は、現在パワーが投入されているキャッシュウェイの数に基づき、異なるCIPS閾値を使用することを可能にしてもよい。したがって、そのような実施形態では、キャッシュウェイがパワーを遮断された場合、また、CIPS閾値もそれに応じて減少されてもよい。一般的に、各閾値が、パワーがオンまたはオフであるウェイの数に基づく特定のキャッシュ容量に対応する、多数の異なるCIPS閾値を使用することができる。マルチコアプロセッサ実施形態:図8は、マルチコアプロセッサの一実施形態のブロック図である。示される実施形態では、プロセッサ100は、2つのプロセッサコア101を含む。しかしながら、追加のコアを有する実施形態が可能であり、予想され、これらのコアは、相互と同一であってもよくすなわち、プロセッサ100が対称型マルチコアプロセッサである、またはコアのいくつかは、相互と異なってもよいすなわち、プロセッサ100が非対称型またはヘテロジニアスマルチコアプロセッサである。示される実施形態では、各コア101は、実行ユニット単数または複数124と、L1キャッシュ117と、パワー管理ユニット150とを含む。各コア101は、図1および図2を参照して上述されるプロセッサ実施形態に係る、追加のユニットを含んでもよい。さらに、L1キャッシュ117は、これらと同一の図面に従って、別個の命令およびデータキャッシュに分割されてもよい。コア101のそれぞれの中のパワー管理ユニット150は、本明細書に記載される様々な方法論を使用して、そのそれぞれのL1キャッシュ117のサイズ変更を実施するように構成されてもよい。コア101の各パワー管理ユニット150は、図4に示されるパワー管理ユニット150と同様に配設されてもよい。したがって、対応するL1キャッシュ117をサイズ変更するか否かの判定、ならびにサイズ変更が実施されると判定される場合に、これらのキャッシュをどのようにサイズ変更するかの判定において、多数の異なる要因が考慮されてもよい。各コア101内のパワー管理ユニット150に加えて、プロセッサ100は、L2キャッシュ140に対してサイズ変更アクションを実施するように構成される、別のパワー管理ユニット150を含む。L2キャッシュ140に対して実施されるサイズ変更アクションを判定するために使用される様々な方法論は、任意の上述されるものを含んでもよい。明確に示されていないが、また、プロセッサ100のいくつかの実施形態は、L3キャッシュも含んでもよい。そのような実施形態では、L3キャッシュの含有には、パワー管理ユニット150の別のインスタンスの含有を伴ってもよい。代替として、単一のパワー管理ユニット150が、L2キャッシュおよびL3キャッシュの両方を制御するために利用されてもよい。一般的に、特定のプロセッサ実施形態内に含まれるキャッシュの数は、制限されない。さらに、記載は、データおよび/または命令を記憶するキャッシュを対象としているが、また、本明細書に記載される動的キャッシュ制御は、アドレス変換情報を記憶するために使用されるトランスレーションルックアサイドバッファTLB等の他の種類のキャッシュメモリにも適用されてもよい。また、プロセッサ100は、パワー管理ユニット150のそれぞれに連結されるコントローラ170も含む。いくつかの実施形態では、コントローラ170は、そうでなければ図2に示される状態コントローラ135によって提供される機能を提供してもよい。ここでは明確に示されていないが、プロセッサ100は、プロセッサ100の他のユニットと同一のICダイ上に実装される、クロック制御回路および可変電圧調節器例えば、図2に示されるクロック制御回路136および可変電圧調節器137を含んでもよい。一実施形態では、ICダイに対して全体として設定される場合、電圧は、すべてのコア101のP状態に必要とされる最大電圧に設定されてもよい。別の実施形態は、コア101のいずれかに必要とされる最高パフォーマンスP状態に基づき、すべてのコアのP状態を設定する、ソフトウェアを伴ってもよい。一般的に、コントローラ170は、各コア101ならびに全体としてのプロセッサ100の動作電圧およびクロック周波数すなわち、P状態を設定するように構成されてもよい。場合によっては、コア101のP状態は、全体としてのプロセッサ100のP状態によって制約されてもよい。さらに、示される実施形態では、コントローラ170は、コア101のP状態を相互に対して個別に設定するように構成される。プロセッサコア101のうちの1つまたはすべての増加した作業負荷に応えて、コントローラ170は、需要を満足するために、それらのそれぞれのP状態を増加してもよく、および/または全体としてのプロセッサ100のP状態を増加してもよい。コントローラ170は、コア101および全体としてのプロセッサ100のP状態を制御し得るため、したがって、コントローラ170は、制御コア101の間でのパワー割り振りを制御してもよい。例えば、コア101のうちの第1のコアL1キャッシュがサイズ縮小変更される場合例えば、低CIPS値に応えて、コントローラ170は、節約されるパワーを第2のコア101に割り振ってもよく、また、より大きい作業負荷需要を満足するように、そのP状態を調整してもよい。場合によっては、コントローラ170は、キャッシュサイズ縮小変更による利用可能な過剰なパワーの結果として、過剰なパワーを1つ以上の追加のコアに割り振ってもよい。そのような状況では、また、コントローラ170は、コアのP状態も調整してもよい。そのコア101のP状態は、より大きい作業負荷需要を満足することを可能にする。場合によっては、コントローラ170は、コア101の1つ以上に過剰なパワーを割り振ることを可能にするために、L2キャッシュ140に連結されるパワー管理ユニット150に、サイズを縮小変更するよう命令してもよい。コントローラ170は、L1キャッシュおよびL2キャッシュのそれぞれのステータスに関する情報を、それらのそれぞれのパワー管理ユニット150内に実装される通知ユニット160から受信してもよい。また、コントローラ170は、1つ以上のコア101のP状態の更新等の様々なステータス変更を示す情報を、パワー管理ユニット150のそれぞれの決定ユニット156に送信してもよい。一般的に、コントローラ170は、コア101、L2キャッシュ140によるパワー使用量を追跡してもよく、また、プロセッサ100の他のユニット例えば、メモリコントローラのパワー使用量も追跡してもよく、追跡されるパワー使用量に基づき、パワー制御および割り振りアクションを実施してもよい。コア101、L2キャッシュ140、およびプロセッサ100の他のユニットのパワー使用量に関する情報に基づき、プロセッサ100に消費されたパワー1ワットあたりのそのパフォーマンスを最大化させるために、コントローラ170は、パワー割り振りアクションを実施してもよい。コンピュータシステム:ここで、図9を参照すると、コンピュータシステム300の実施形態が示されている。図9の実施形態では、コンピュータシステム300は、いくつかの処理ノード100A、100B、100C、および100Dを含む。処理ノード100A~100Dの1つ以上は、上述される図1、図2、または図8の実施形態のうちの1つ、またはこれらの実施形態のうちの1つの変形に係る、プロセッサであってもよい。したがって、処理ノード100A~100Dの1つ以上は、それぞれの処理ノード内に、上述される方法論の様々な実施形態に係る、1つ以上のキャッシュメモリの動的サイズ変更を実施するように構成される、1つ以上のパワー管理ユニット150を含んでもよい。各処理ノード100A~100Dは、それぞれの処理ノード100A~100D内に含まれるメモリコントローラ316A~316Dを介して、それぞれのメモリ314A~314Dに連結される。これらのメモリコントローラ316A~316Dの1つ以上は、上述されるメモリコントローラ18の実施形態に従って構成されてもよい。したがって、そのように構成される処理ユニットでは、パワー管理は、対応するメモリサブシステムによるパワー使用を最小にするように行われてもよい。処理ノード100A~100Dのそれぞれは、処理ノード100A~100D間で通信するために使用される、インターフェース論理を含む。例えば、処理ノード100Aは、処理ノード100Bと通信するためのインターフェース論理318Aと、処理ノード100Cと通信するためのインターフェース論理318Bと、さらに別の処理ノード図示せずと通信するための第3のインターフェース論理318Cとを含む。同様に、処理ノード100Bは、インターフェース論理318D、318E、および318Fを含み、処理ノード100Cは、インターフェース論理318G、318H、および318Iを含み、処理ノード100Dは、インターフェース論理318J、318K、および318Lを含む。処理ノード100Dは、インターフェース論理318Lを介して、複数の入力/出力デバイス例えば、デイジーチェーン構成のデバイス320A~320Bと通信するように連結される。他の処理ノードは、他のI/Oデバイスと同様に通信してもよい。処理ノード100A~100Dは、処理ノード間通信のためのパケットベースのリンクを実現する。本実施形態では、リンクは、一方向ラインのセットとして実現される例えば、ライン324Aは、処理ノード100Aから処理ノード100Bにパケットを伝送するために使用され、ライン324Bは、処理ノード100Bから処理ノード100Aにパケットを伝送するために使用される。他のセットのライン324C~324Hは、図4に図示されるように、他の処理ノード間でパケットを伝送するために使用される。一般的に、ライン324の各セットは、1つ以上のデータラインと、データラインに対応する1つ以上のクロックラインと、伝達されるパケットの種類を示す1つ以上の制御ラインとを含んでもよい。リンクは、処理ノード間の通信のためにキャッシュコヒーレント方式で動作してもよく、または処理ノードとI/Oデバイスまたは周辺機器相互接続PCIバスまたは業界標準アーキテクチャISAバス等の従来の構成のI/Oバスへのバスブリッジとの間の通信のために非コヒーレント方式で動作してもよい。また、処理ノードとI/Oデバイスとの間の通信がキャッシュコヒーレント方式で実施される実施形態も可能であり、予想される。さらに、リンクは、示されるようなI/Oデバイス間のデイジーチェーン構造を使用して、非コヒーレント方式で動作してもよい。1つの処理ノードから別の処理ノードに伝送されるパケットは、1つ以上の中間ノードを通過してもよいことが留意される。例えば、処理ノード100Aによって処理ノード100Dに伝送されるパケットは、図9に示されるように、処理ノード100Bまたは処理ノード100Cのいずれかを通過してもよい。任意の好適な経路指定アルゴリズムが使用されてもよい。コンピュータシステム300の他の実施形態は、図9に示される実施形態より多い、または少ない処理ノードを含んでもよい。一般的に、パケットは、ライン324上で1つ以上のビット時間としてノード間を伝送されてもよい。ビット時間は、対応するクロックライン上のクロック信号の立ち上がりまたは立ち下がりであってもよい。パケットは、トランザクションを開始するためのコマンドパケットと、キャッシュコヒーレンシを維持するためのプローブパケットと、プローブおよびコマンドに対する応答からの応答パケットとを含んでもよい。処理ノード100A~100Dは、メモリコントローラおよびインターフェース論理に加えて、1つ以上のプロセッサを含んでもよい。概して、処理ノードは、少なくとも1つのプロセッサを備え、任意選択で、所望によりメモリおよび他の論理と通信するためのメモリコントローラを含んでもよい。より具体的には、各処理ノード100A~100Dは、図1に示されるプロセッサ10の1つ以上のコピー例えば、図2~図3に示される様々な構造的詳細および動作的詳細を含むを備えてもよい。1つ以上のプロセッサは、処理ノード内に、もしくは処理ノードを形成する、チップ多重処理CMPまたはチップマルチスレッド化CMT集積回路を備えてもよく、あるいは処理ノードは、任意の他の所望の内部構造を有してもよい。メモリ314A~314Dは、任意の好適なメモリデバイスを備えてもよい。例えば、メモリ314A~314Dは、1つ以上のRAMバスDRAMRDRAM、シンクロナスDRAMSDRAM、DDRSDRAM、スタティックRAM等を備えてもよい。コンピュータシステム300のアドレス空間は、メモリ314A~314Dの間で分割される。各処理ノード100A~100Dは、どのアドレスがメモリ314A~314Dのどれにマップされているか、およびしたがって、特定のアドレスへのメモリ要求を処理ノード100A~100Dのどれに経路指定するべきかを判定するために使用される、メモリマップを含んでもよい。一実施形態では、コンピュータシステム300内のアドレスのコヒーレント点は、アドレスに対応するバイトを記憶するメモリに連結される、メモリコントローラ316A~316Dである。換言すれば、メモリコントローラ316A~316Dは、対応するメモリ314A~314Dへの各メモリアクセスが、確実にキャッシュコヒーレント方式で実施されるようにすることに関与する。メモリコントローラ316A~316Dは、メモリ314A~314Dとインターフェースをとるための制御回路を備えてもよい。加えて、メモリコントローラ316A~316Dは、メモリ要求を待ち行列に入れるための要求キューを含んでもよい。一般的に、インターフェース論理318A~318Lは、リンクからパケットを受信するため、およびリンク上を伝送されるパケットをバッファリングするための種々のバッファを備えてもよい。コンピュータシステム300は、パケットを伝送するための任意の好適なフロー制御機構を採用してもよい。例えば、一実施形態では、各インターフェース論理318は、そのインターフェース論理が接続される、リンクの反対側の受信器内の各種類のバッファのカウント数を記憶する。インターフェース論理は、受信インターフェース論理がパケットを記憶するための空きバッファを有するまで、パケットを伝送しない。パケットを前方へ経路指定することによって受信バッファが空く際、受信インターフェース論理は、バッファが空いたことを示すメッセージを送信インターフェース論理に伝送する。そのような機構は、クーポンベースシステムと称されてもよい。I/Oデバイス320A~320Bは、任意の好適なI/Oデバイスであってもよい。例えば、I/Oデバイス320A~320Bは、デバイスが連結され得る別のコンピュータシステム例えば、ネットワークインターフェースカードまたはモデムと通信するためのデバイスを含んでもよい。さらに、I/Oデバイス320A~320Bは、ビデオアクセラレータ、オーディオカード、ハードもしくはフロッピー登録商標ディスクドライブまたはドライブコントローラ、SCSI小型コンピュータシステム用周辺機器インターフェースアダプタおよび電話カード、サウンドカード、ならびにGPIBまたはフィールドバスインターフェースカード等の種々のデータ取得カードを含んでもよい。さらに、また、カードとして実装される任意のI/Oデバイスも、システム300の主回路基板上の回路として実装されてもよく、および/または処理ノード上で実行されるソフトウェアとして実装されてもよい。本明細書では、I/Oデバイスという用語、および周辺デバイスという用語は、同義語であることが意図されることが留意される。また、コンピュータシステム300は、処理ノード100A~100Dのそれぞれに連結されるコントローラ170も含む。コントローラ170は、プロセッサレベルというよりはむしろシステムレベルで、図8に示されるコントローラ170と同様の機能を実施してもよい。つまり、コントローラ170は、処理ノード100A~100Dのそれぞれによるパワー使用量を追跡してもよく、それに応じてそれらの動作点を変更してもよく、処理ノードのうちの1つからのパワーを他の処理ノードの1つ以上に再度割り振ってもよい。ここでは、処理ノード100A~100Dのそれぞれとは別個のコントローラ170が示されているが、処理ノードのうちの1つに実装されるコントローラ170が、システムレベルパワー追跡および割り振り機能を実施する実施形態が可能であることが留意される。上述されるプロセッサおよびシステムの様々な実施形態は、コンピュータシステムおよびそれらの対応するプロセッサを対象としていることが留意されるが、上述される方法および装置は、他の種類にも同様に適用され得ることが留意される。一般的に、キャッシュを含む任意の種類のプロセッサが、上述される動的キャッシュサイズ変更方法の実現形態に好適であり得る。さらに、また、サーバシステム、デスクトップシステム、および携帯型コンピュータを含む、プロセッサを含む任意の種類のシステムも、上記に開示される動的キャッシュサイズ変更方法に好適であり得る。加えて、他の種類のプラットフォームおよびそれらのそれぞれのプロセッサが、動的キャッシュサイズ変更に好適であり得る。そのようなプラットフォームには、スマートフォン、パーソナルデジタルアシスタント、組み込みコントローラ等が挙げられる。コンピュータ可読媒体:次に図10を参照すると、プロセッサ100を表すデータベースを含む、コンピュータアクセス可能記憶媒体800のブロック図が示されている。一般的に言えば、コンピュータアクセス可能記憶媒体には、命令および/またはデータをコンピュータに提供する、使用中にコンピュータがアクセス可能な任意の記憶媒体が挙げられる。例えば、コンピュータアクセス可能記憶媒体には、磁気または光学媒体、例えば、ディスク固定された、もしくは取り外し可能な、テープ、CD-ROM、またはDVD-ROM、CD-R、CD-RW、DVD-R、DVD-RW、あるいはブルーレイ等の記憶媒体が挙げられる。記憶媒体には、RAM例えば、シンクロナスダイナミックRAMSDRAM、ダブルデータレートDDR、DDR2、DDR3等SDRAM、低パワーDDRLPDDR2等SDRAM、RambusDRAMRDRAM、スタティックRAMSRAM等、ROM、フラッシュメモリ、ユニバーサルシリアルバスUSBインターフェース等の周辺インターフェースを介してアクセス可能である不揮発性メモリ例えば、フラッシュメモリ等の揮発性または不揮発性メモリ媒体がさらに挙げられる。記憶媒体には、微小電気機械システムMEMS、ならびにネットワークおよび/または無線リンク等の通信媒体を介してアクセス可能な記憶媒体が挙げられる。一般的に、コンピュータアクセス可能記憶媒体800上にあるプロセッサのデータベースは、システム10を備えるハードウェアを加工するためにプログラムが読み出し、直接または間接的に使用することができる、データベースであってもよい。例えば、データベースは、VerilogもしくはVHDL等の高級設計言語HDLでのハードウェア機能性の動作レベル記述またはレジスタ転送レベルRTL記述であってもよい。記述は、ゲートのリストを含むネットリストを生成するために、記述を合成し得る合成ツールによって、合成ライブラリから読み出されてもよい。ネットリストは、また、プロセッサ100を備えるハードウェアの機能性も表す、ゲートのセットを含む。次いで、ネットリストは、マスクに適用される幾何学的形状を記述するデータセットを生成するように、定置され、経路指定されてもよい。次いで、マスクは、プロセッサ100に対応する半導体回路単数または複数を生産するために、様々な半導体加工ステップで使用されてもよい。代替として、コンピュータアクセス可能記憶媒体800上のデータベースは、所望により、ネットリスト合成ライブラリを伴う、または伴わないまたはデータセットであってもよい。コンピュータアクセス可能記憶媒体800は、プロセッサ100の表現を保持するが、他の実施形態は、エージェントの任意のセット例えば、L2キャッシュ140、パワー管理ユニット150等、エージェントの部分、またはその部分を含む、プロセッサ100の任意の部分の表現を保持してもよい。本発明は、特定の実施形態を参照して記載されてきたが、実施形態は、例示であり、本発明の範囲は、それに限定されないことが理解される。記載される実施形態に対する任意の変形、修正、追加、および改善が可能である。これらの変形、修正、追加、および改善は、以下の特許請求の範囲内に詳述されるように、本発明の範囲内であり得る。