"コンピュータチップの電力を制御する方法であって、命令を発行する間に消費された電力に関する電力情報を累積する過程と、前記累積した電力情報を所定の閾値と比較する過程と、前記累積した電力情報が前記所定の閾値よりも大きい場合、前記コンピュータチップの電力消費を減少させるように、さらなる命令の発行を阻止する過程とを備えた、コンピュータチップ電力制御方法。請求項1に記載のコンピュータチップ電力制御方法において、さらに、命令を発行する間に消費された電力に関する前記電力情報を、所定の時間中に累積する過程を備えた、コンピュータチップ電力制御方法。請求項1に記載のコンピュータチップ電力制御方法において、さらに、命令を発行する間に消費された電力に関する前記電力情報を、発行される各命令に伴う電力を推定して累積する過程を備えた、コンピュータチップ電力制御方法。請求項3に記載のコンピュータチップ電力制御方法において、さらに、前記発行される各命令に伴う電力を、既知の命令についての電力値についてのデータベースを用いて推定する過程を備えた、コンピュータチップ電力制御方法。請求項3に記載のコンピュータチップ電力制御方法において、さらに、前記発行される各命令に伴う電力を、前記各命令の処理の間に経過するクロックサイクル数をそれぞれ求めて推定する過程を備えた、コンピュータチップ電力制御方法。請求項1に記載のコンピュータチップ電力制御方法において、さらに、命令を発行する間に消費された電力に関する前記電力情報を、1つ以上の命令サイクル中に累積する過程を備えた、コンピュータチップ電力制御方法。請求項6に記載のコンピュータチップ電力制御方法において、さらに、1つ以上の命令サイクルが経過するまで、さらなる命令の発行を阻止する過程を備えた、コンピュータチップ電力制御方法。請求項6に記載のコンピュータチップ電力制御方法において、さらに、現在のスロットル期間が完了するまで、さらなる命令の発行を阻止する過程を備えた、コンピュータチップ電力制御方法。請求項6に記載のコンピュータチップ電力制御方法において、さらに、所定の数の命令サイクルが経過するまで、さらなる命令の発行を阻止する過程を備えた、コンピュータチップ電力制御方法。請求項1に記載のコンピュータチップ電力制御方法において、さらに、所定の時間が経過するまで、さらなる命令の発行を阻止する過程を備えた、コンピュータチップ電力制御方法。請求項1に記載のコンピュータチップ電力制御方法において、さらに、前記所定の閾値を、前記コンピュータチップの最大許容電力との相関関係において決定する過程を備えた、コンピュータチップ電力制御方法。請求項1に記載のコンピュータチップ電力制御方法において、さらに、前記所定の閾値を、1つ以上のチップヒューズとのとの相関関係において決定する過程を備えた、コンピュータチップ電力制御方法。請求項1に記載のコンピュータチップ電力制御方法において、さらに、さらなる命令の発行が阻止された後に消費された電力を求める過程と、当該消費された電力を、後続の命令サイクルの累積される電力に加算する過程とを備えた、コンピュータチップ電力制御方法。命令を発行する間に消費された電力に関する電力情報を累積する電力累積手段と、前記累積した電力情報を所定の閾値と比較する比較部と、前記累積した電力情報が前記所定の閾値よりも大きい場合、電力消費を減少させるように、さらなる命令の発行を阻止する制御部とを備えた、プロセッサ。請求項14に記載のプロセッサにおいて、前記電力累積手段が、命令を発行する間に消費された電力に関する前記電力情報を、所定の時間中に累積する、プロセッサ。請求項14に記載のプロセッサにおいて、前記電力累積手段が、命令を発行する間に消費された電力に関する前記消費電力情報を、発行される各命令に伴う電力を推定して累積する、プロセッサ。請求項16に記載のプロセッサにおいて、さらに、前記発行される各命令に伴う電力を、既知の命令に伴う電力値についてのデータベースを用いて推定する電力推定手段を備えた、プロセッサ。請求項14に記載のプロセッサにおいて、さらに、前記発行される各命令に伴う電力を、前記各命令の処理の間に経過するクロックサイクル数をそれぞれ求めて推定する電力推定手段を備えた、プロセッサ。請求項14に記載のプロセッサにおいて、前記電力累積手段が、命令を発行する間に消費された電力に関する前記電力情報を、1つ以上の命令サイクル中に累積する、プロセッサ。請求項19に記載のプロセッサにおいて、前記制御部が、1つ以上の命令サイクルが経過するまで、さらなる命令の発行を阻止する、プロセッサ。請求項19に記載のプロセッサにおいて、前記制御部が、現在のスロットル期間が完了するまで、さらなる命令の発行を阻止する、プロセッサ。請求項19に記載のプロセッサにおいて、前記制御部が、所定の数の命令サイクルが経過するまで、さらなる命令の発行を阻止する、プロセッサ。請求項14に記載のプロセッサにおいて、前記制御部が、所定の時間間隔が経過するまで、さらなる命令の発行を阻止する、プロセッサ。請求項14に記載のプロセッサにおいて、前記比較部が、前記所定の閾値を、前記コンピュータチップの最大許容電力との相関関係において決定する、プロセッサ。請求項14に記載のプロセッサにおいて、前記比較部が、前記所定の閾値を、1つ以上のチップヒューズとの相関関係において決定する、プロセッサ。請求項14に記載のプロセッサにおいて、さらに、さらなる命令の発行が阻止された後に消費された電力を推定するオーバーシュート電力推定手段を備え、当該消費された電力が、後続の命令サイクルの累積される電力に加算される、プロセッサ。プロセッサの電力を制御する方法であって、1つ以上のイベントを処理する間に前記プロセッサによって消費された電力を推定する過程と、電力消費を減少させるために、推定された電力との相関関係において、前記プロセッサのさらなる処理を阻止する過程とを備えた、プロセッサ電力制御方法。請求項27に記載のプロセッサ電力制御方法において、さらに、前記プロセッサによって消費された電力を、前記プロセッサに流れ込む電流との相関関係において推定する過程を備えた、プロセッサ電力制御方法。請求項27に記載のプロセッサ電力制御方法において、さらに、前記プロセッサによって消費された電力を、前記1つ以上のイベントにおける各イベントによって前記プロセッサで構成される切替キャパシタンスとの相関関係において推定する過程を備えた、プロセッサ電力制御方法。請求項27に記載のプロセッサ電力制御方法において、さらに、前記推定した電力を、所定時間および所定のイベントサイクル数のうちの少なくとも一方の間に累積する過程を備えた、プロセッサ電力制御方法。請求項30に記載のプロセッサ電力制御方法において、さらに、前記累積した電力が所定の閾値よりも大きい場合、前記プロセッサのさらなる処理を阻止する過程を備えた、プロセッサ電力制御方法。請求項30に記載のプロセッサ電力制御方法において、前記1つ以上のイベントが、イベントサイクル中に前記プロセッサによって発行される命令、イベントサイクル中に有効にされる条件付クロック、およびイベントサイクル中にアクセスされるキャッシュのうちの少なくとも1つを備えた、プロセッサ電力制御方法。請求項27に記載のプロセッサ電力制御方法において、さらに、前記プロセッサのキューまたは発行のパイプラインにスロットル信号を発行して、さらなる処理を阻止する過程を備えた、プロセッサ電力制御方法。請求項27に記載のプロセッサ電力制御方法において、さらに、さらなる処理が阻止された後に消費された電力を推定する過程を備えた、プロセッサ電力制御方法。請求項34に記載のプロセッサ電力制御方法において、さらに、前記プロセッサにおけるイベントのさらなる処理を、当該イベントの前記推定された電力と、先のイベントにおいてさらなる処理が阻止された後に消費された電力との相関関係において阻止する過程を備えた、プロセッサ電力制御方法。プロセッサであって、1つ以上のイベントを処理する間に当該プロセッサによって消費された電力を推定する電力推定手段と、電力消費を減少させるために、推定された電力との相関関係において、当該プロセッサのさらなる処理を阻止する電力制御部とを備えた、プロセッサ。請求項36に記載のプロセッサにおいて、前記電力推定手段が、当該プロセッサによって消費された前記電力を、当該プロセッサに流れ込む電流との相関関係において推定する、プロセッサ。請求項36に記載のプロセッサにおいて、前記電力推定手段が、当該プロセッサによって消費された前記電力を、前記1つ以上のイベントにおける各イベントによって当該プロセッサで構成される切替キャパシタンスとの相関関係において推定する、プロセッサ。請求項36に記載のプロセッサにおいて、さらに、前記推定した電力を、所定の時間および所定のイベントサイクル数のうちの少なくとも一方の間に累積する電力累積手段を備えた、プロセッサ。請求項39に記載のプロセッサにおいて、前記電力制御部が、前記累積した電力が所定の閾値よりも大きい場合、当該プロセッサのさらなる処理を阻止する、プロセッサ。請求項39に記載のプロセッサにおいて、前記1つ以上のイベントが、イベントサイクル中に当該プロセッサによって発行される命令、イベントサイクル中に有効にされる条件付クロック、およびイベントサイクル中にアクセスされるキャッシュのうちの少なくとも1つを含む、プロセッサ。請求項36に記載のプロセッサにおいて、前記電力制御部が、当該プロセッサのキューまたは発行のパイプラインにスロットル信号を発行して、さらなる処理を阻止する、プロセッサ。請求項36に記載のプロセッサにおいて、さらに、さらなる処理が阻止された後に消費された電力を推定するオーバーシュート電力推定手段を備えた、プロセッサ。請求項43に記載のプロセッサにおいて、前記電力制御部が、当該プロセッサにおけるイベントのさらなる処理を、当該イベントの推定された電力と、先のイベントにおいてさらなる処理が阻止された後に消費された電力との相関関係において阻止する、プロセッサ。電力消費を制御する方法であって、1つ以上のタスクを実行する間に消費された電力であって、あるユニットで消費された電力に関する電力情報を累積する過程と、前記累積した電力情報が所定の閾値よりも大きい場合、前記1つ以上のタスクのさらなる実行を阻止することによって、前記ユニットの電力消費を制御する過程とを備えた、電力消費制御方法。請求項45に記載の電力消費制御方法において、さらに、各タスクを実行する間に消費された電力を推定して、前記電力情報を累積する過程を備えた、電力消費制御方法。請求項46に記載の電力消費制御方法において、さらに、各タスクに伴う既知の電力値についてのデータベースに基づいて、前記消費された電力を推定する過程を備えた、電力消費制御方法。請求項45に記載の電力消費制御方法において、さらに、所定時間および所定のタスク数のうちの少なくとも一方の間、前記ユニットの前記電力情報を累積する過程を備えた、電力消費制御方法。請求項45に記載の電力消費制御方法において、さらに、前記ユニットの実行パイプラインにスロットル信号を発行して、前記1つ以上のタスクのさらなる実行を阻止する過程を備えた、電力消費制御方法。請求項45に記載の電力消費制御方法において、さらに、前記1つ以上のタスクのさらなる実行が阻止された後に消費された電力に関する情報を累積する過程を備えた、電力消費制御方法。請求項50に記載の電力消費制御方法において、さらに、前記累積した電力情報と、消費された電力の情報との合計が前記所定の閾値よりも大きい場合、前記1つ以上のタスクのさらなる実行を阻止する過程を備えた、電力消費制御方法。電力消費を制御する装置であって、1つ以上のタスクを実行する間に消費された電力であって、あるユニットで消費された電力に関する電力情報を累積する電力累積手段と、前記累積した電力情報が所定の閾値よりも大きい場合、前記1つ以上のタスクのさらなる実行を阻止することによって、前記ユニットの電力消費を制御する電力制御手段とを備えた、電力消費制御装置。請求項52に記載の電力消費制御装置において、前記電力累積手段が、各タスクを実行する間に消費された電力を推定して、前記電力情報を累積する、電力消費制御装置。請求項53に記載の電力消費制御装置において、前記電力累積手段が、各タスクに伴う既知の電力値についてのデータベースに基づいて、前記消費された電力を推定する電力推定手段を有する、電力消費制御装置。請求項52に記載の電力消費制御装置において、前記電力累積手段が、所定時間および所定のタスク数のうちの少なくとも一方の間、前記ユニットの前記電力情報を累積する、電力消費制御装置。請求項52に記載の電力消費制御装置において、前記電力制御手段が、前記ユニットの実行パイプラインにスロットル信号を発行して、前記1つ以上のタスクのさらなる実行を阻止する、電力消費制御装置。請求項52に記載の電力消費制御装置において、前記電力累積手段が、さらに、前記1つ以上のタスクのさらなる実行が阻止された後に消費された電力に関する電力情報を累積する、電力消費制御装置。請求項52に記載の電力消費制御装置において、前記電力制御手段が、前記累積した電力情報と、消費された電力の情報との合計が前記所定の閾値よりも大きい場合、前記1つ以上のタスクのさらなる実行を阻止する、電力消費制御装置。コンピュータチップの温度を制御する方法であって、前記チップの温度を監視する過程と、前記チップの温度が所定の閾値よりも大きい場合、当該温度を減少させるために、前記チップにおけるイベントの処理を阻止する過程とを備えた、コンピュータチップ温度制御方法。請求項59に記載のコンピュータチップ温度制御方法において、さらに、前記チップの接合温度を監視して、当該チップの温度を監視する過程を備えた、コンピュータチップ温度制御方法。コンピュータチップの温度を制御する装置であって、前記チップの温度を監視する温度監視モジュールと、前記チップの温度が所定の閾値よりも大きい場合、当該温度を減少させるために、前記チップにおけるイベントの処理を阻止する性能抑制モジュールとを備えた、コンピュータチップ温度制御装置。請求項61に記載のコンピュータチップ温度制御装置において、前記温度監視モジュールが、前記チップの接合温度を監視して、当該チップの温度を監視する、コンピュータチップ温度制御装置。図1は、電力を制御する例示的な一実施形態の概観図である。電力スロットリング電力抑制論理部110は、プロセッサで発生する各種イベント130イベントA、イベントBなどを監視し、消費される電力消費電力の量を推定し、必要に応じてスロットル信号140をアサートする、つまり信号140を送信する。前記イベントには、命令キャッシュ160、デコード/スロット部162、データキャッシュ/ローカルメモリ部164、コヒーレントメモリインターコネクト166、モジュール型乗算器168などの各種プロセッサモジュールにおける命令の発行または実行等のイベントが含まれる。電力スロットリング論理部110は、消費電力を推定するにあたって、サイクル毎に消費電力を推定してもよい。サイクル毎の電力は、プロセッサに流れ込む電流を測定することによって取得してもよい。他方で、一部の例示的な実施形態では、CMOSにおいて消費電力を下記の式とみなすことにより、電力を推定してもよい:P=iLvv2cfここで、Pは消費電力を表し、iLはリーク電流漏れ電流であり、vは電圧であり、cはキャパシタンス静電容量であり、fはスイッチング周波数である。リーク電流iLはほぼ一定の数値であるため、一般性を失わずに無視することができる。項v2cfは、電力スロットリング論理部110によって推定される動的電力変動する電力を表す。電圧vも一定の数値であるとみなすことにより、電力スロットリング論理部110は、動的電力の代わりに切替キャパシタンススイッチドキャパシタンスcfを推定算出してもよい。切替キャパシタンスcfは、所与の時間中にキャパシタンスが切り替わる回数すなわち、キャパシタンスが0から1に遷移する回数で、プロセッサにおける配線のキャパシタンスを乗算した数値を表す。電力スロットリング論理部110は、損失電力/消費電力を推定するにあたって、プロセッサにおける各種重要なイベント130を特定する。一部の実施形態では、損失電力/消費電力の推定値を、各イベントが生じさせる切替キャパシタンスの量を測定することによって得てもよい。この測定値は、スイッチレベルトランジスタレベルシミュレータswitchleveltransistorlevelsimulatorを用いて得てもよい。プロセッサにおける各配線のキャパシタンス、ならびに配線が切り替わるタイミングおよび頻度に関する情報は、電力スロットリング論理部110が把握しているため、少数のイベントを監視するだけで、総切替キャパシタンスその結果、消費電力を効率的に推定することができる。例示的な実施形態100では、プロセッサで発生した各種イベント130について推定された電力を累積する、推定電力累積モジュール120が用いられる。電力累積とは、推定された電力値の累積すなわち、電力情報の累積を指す。累積される消費電力量を、プログラム可能な期間例えば、時間枠、サイクル数など中に累積される消費電力量とし、これを所定の閾値以下に制限してもよい。例示的な実施形態では、前記プログラム可能な期間中、変動する電力消費の推定値を累積して、この累積した電力を前記所定の閾値と繰り返して比較する。前記累積した電力が前記所定の閾値を超えると、電力制御論理部110がスロットル信号140をアサートし、さらなる処理を阻止する。電力制御論理部110は、1つ以上の命令サイクル中、および/または1つ以上の命令サイクルが経過するまで、および/または目下現在の命令サイクルが完了するまで、および/または所定時間中、さらなる処理を阻止してもよい。本明細書において命令サイクルとは、命令が処理または実行される期間のことを指す。電力制御論理部110は、プロセッサのキュー/発行パイプラインステージ150にスロットル信号140をアサートして、さらなる命令の実行または発行を停止してもよい。一部の例示的な実施形態では、スロットル信号140がアサートされることによって動的電力の消費/損失が確実に完全停止するように、キュー/発行パイプラインステージ150以外のユニットに当該スロットル信号140をアサートしてもよい。例えば、図1に示すレジスタファイル191、パイプ0シフト動作、ロード動作、ストア動作、および算術論理装置の動作に使用される193、パイプ1シフト動作、乗算動作、コピー動作、ブランチ動作、ジャンプ動作、および算術論理装置の動作に使用される192、ジャンプ予測部194、ブランチ予測部195、トランスレーションルックアサイドバッファTLB196、ライトバッファ197、ミスファイルエントリ部missfileentryunit198などのユニットがスロットル信号を受け取ることにより、当該ユニットによるイベントのさらなる処理を阻止してもよい。コアプロセッサパイプラインの様々な箇所で起こるイベントを監視してもよい。例えば、例示的な一実施形態では、パイプラインの様々なステージで起こる最大30個の異なるイベント例えば、目下現在のプロセッササイクル中に発行される命令、あるサイクル中に有効にされる条件付クロック、またはあるサイクル中にアクセスされるキャッシュメモリなどを監視することにより、プロセッサコアによって消費される電力を正確に推定してもよい。電力スロットリング論理部110は、プロセッサコアがチップの動的エネルギの大半を消費するので、プロセッサコアを監視してもよい。例示的な実施形態では、コアの電力を制御または制限することができる。一部の実施形態では、電力制御に関係するパラメータが、電力スロットルレジスタ図示せずを用いてプログラムされる。例示的な実施形態は、必ずしもコンピュータチップまたはプロセッサでなくとも電力を消費または損失するあらゆるユニットに対して用いることができ、電力が所定の閾値に達すると、さらなる電力の消費/損失を阻止する。例えば、例示的な実施形態を、通信、ネットワーキング、科学計算、グラフィックレンダリング等に使用される相補型金属酸化膜半導体CMOSに用いることにより、装置デバイスの性能の調節や、チップで消費される電力の制御を実行することができる。一部の実施形態において、電力スロットリング論理部110は、閉ループまたは開ループで動作してもよい。開ループでの動作の場合、電力スロットリング論理部110は、時間間隔時間枠と、命令の発行が可能な時間率とを指定する。これにより、電力スロットリング論理部110は、前記時間間隔において経過時間が前記指定された命令の発行が可能な時間率を超えるまで、イベント/命令の実行/発行を許可する。閉ループでの動作の場合、電力スロットリング論理部110に、最大許容電力が入力される。電力スロットリング論理部110は、ある時間間隔時間枠において、累積される電力が前記最大許容電力を超えるまで、命令の発行を許可する。前記最大許容電力に達すると、電力スロットリング論理部110は、スロットル信号140をアサートして、前記時間間隔が経過するまでさらなる命令の発行/実行を阻止する。電力スロットリング論理部110は、さらなる命令の発行/実行が阻止された後に消費電力例えば、オーバーシュート電力などを求めてもよい。このさらなる電力値は記憶され、後続の時間期間に累積される電力に加算されてもよい。電力スロットリング論理部110のソフトウェアインターフェースは、下記の数値を用いて動作し得る:●電力スロットリング最大値MAXTHR:これは、許容される最大のスロットリング値を示す。この数値は、所定の数値の形式でコアまたは他のモジュールに供給されてもよく、あるいは、コアまたは他のモジュールによって決定されてもよい。●電力スロットリング最小値MINTHR:これは、許容される最小のスロットリング値を示す。●現在の、コアによる電力消費についての推定値POWER:この返却される電力値は、平均消費電力を示す。この平均消費電力は、指数関数的に重み付けされてもよい。●先の期間で使用されたスロットリング値THROTT:スロットリングにより、CPUコアは一定時間中、強制的にアイドル状態になり、電力消費を減少させる。スロットリング値がゼロに設定されると、コアは大半の時間中アイドル状態になり、最低限の電力のみを消費する。前記スロットリング値は、コアが電力を減少させるためのアイドル状態に全くならないことを示す数値に設定されてもよい。前記スロットリング値を増加させると、強制的なアイドル時間が線形的に減少する。アイドル状態はサイクル期間の終わりの方で強制的に生じ、当該期間の始めの方では生じない。一般的に、ハードウェアは、性能を最大限に引き出すにあたって、一定の制約はあるものの、出来る限り大きいスロットル値を使用する。●コアの電力リミッタ電力制限値TARGETが使用されてもよい。この数値は、コアの電力消費の概算的なリミッタを表す。このリミッタ電力上限電力は概算値であり、閉ループフィードバックシステムにおいて電力の概算に利用される。以下に、前記電力スロットリング論理部によって使用され得るアルゴリズム擬似コードの一例を示す:上記の擬似コードにおいて、accumulatedpowerは累積される電力情報の量を示し、intervalは監視期間例えば、時間間隔時間枠などを示し、estimatedpowerは目下の期間において推定される電力情報を示し、overshootは推定されるオーバーシュート電力の量を示し、THROTTはスロットリング値を示す。一部の例示的な実施形態は、コンピュータチップの接合温度を外部回路に支援されながら監視するのに用いられるサーマルダイオードと、チップ上の個々のユニット/構成の電力使用を動的に制御する構成とを備える。これにより、この例示的な実施形態では、サーマルダイオードを用いてチップの温度を監視し、必要に応じてチップの電力消費を減少させて熱的過負荷を防ぐことができるため、厳しく熱出力を制限しながら最大の性能を達成することができる。前記ダイオードは、チップの接合温度を監視するように当該チップに設けられてもよい。一部の実施形態例えば、CaviumOCTEON63xx;CaviumNetworks米国カリフォルニア州マウンテンビュー市社製では、ダイオードが、THERMAL_D_N/THERMAL_D_Lチップピンに取り付けられることができる。ダイオードを制御および感知するための外部装置が使用されてもよい。この外部装置は、THERMALピンおよびOCTEONTWSIインターフェースに接続される。TWSIインターフェースに接続されることにより、ソフトウェアがアナログ温度センサチップであるTMP421を設定して計測温度を監視するための経路が構成される。TMP421は、1秒間あたり8回の頻度で温度をサンプリングできる。チップの電力消費は、電源電圧、周波数、温度例えば、周囲温度、外気温度など、チップのワークロード処理量等の複数の変数による関数である。電力を、ワークロードを変化させることによって減少させてもよい。これは、システム及びチップの複雑性の軽減につながる。ワークロードを変化させることで性能が低下する場合もあるが、例示的な実施形態では、性能を抑制することにより、過剰な電力消費/電力損失によって起こり得るチップの損傷を防止する。前記CaviumOCTEON63xxの6個の中央処理装置CPUコアによって使用される動的電力は、当該OCTEON63xxチップの総電力の約30ないし約50である。この総電力には、静的漏れ及び動的コアコアの数が変化することを含めた電源によってチップで消費される電力、プロセッサコアの電力、ならびに入力/出力I/Oの電力が含まれる。この総電力および電力減少量は、動作状態によって異なり、また、チップ間の製造の違いによってチップ毎で異なる。一部の実施形態では、CPUコアの動的電力を推定および制御するにあたって、条件付クロック動作を用いてもよい。具体的に述べると、前記OCTEONのCPUコアは、積極的に、論理回路に対して条件付クロックを供給してもよい。CPUコアがアイドル状態であれば、ハードウェアがコアのクロックを停止してもよい。例えば、キャッシュミスのためにメモリにアクセスすることでコアが待機しており、他のタスクが実行されていない場合、コアのクロックを停止させてもよい。一般的に、CPUの処理量とコアの電力消費とは正比例する。CPUコアの動的電力を減少させる最も簡易な方法は、CPUコアを無効にする使用不可にすること、つまりコアの使用を停止することである。CaviumOCTEONファミリーのチップにおけるCPUコアは、標準的なMIPSWAIT命令を実行中のアイドル状態であるときに、電力消費が最小限となる。WAIT命令により、ソフトウェアは、割込みが生じるまでCPUコアをストール自動待機することができる。前記OCTEONのハードウェアは、割込みを待っている間、CPUコアのほぼ全ての条件付クロックを停止させる。割込みが生じると、CPUコアは、待機後の命令または割込みハンドラの実行を続ける。前記OCTEONのCPUコアは、WAIT実行中のアイドル状態よりもリセット状態である方が、電力消費が若干大きい。多くの場合、CPUコアの無効使用不可はソフトウェアにとって大部分が不可視化された動作例えば、Linux登録商標におけるWAIT命令のアイドルループ使用であるが、このような動作は、一般的にソフトウェアによって編成される必要がある。無効化されたコアを動作から強制的に外して、当該コアで実行されていたタスクを、別のコアで実行する必要が生じ得る。CPUコアを無効にする電力的な利点は、そのコアがもし無効にされていなかった場合に何をしていたかに依存する。コアが全力で冪剰余計算を実行していたなら、最大の節約が得られるであろう。CPUコアが、処理すべき命令を待つ間にストールされるように通常設定されている場合、当該コアの電力は既に小さいので、得られる節約も小さくなる。前記OCTEON63xxのCPUコア内部における電力消費の大きいユニットは、ロード/ストアユニットおよびサイズの大きい乗算ユニットの2つである。前記冪剰余計算のアプリケーションは、これら両方のユニットを大いに利用する傾向にあるため、電力消費も大きくなる。CPUコア内部の他のユニットは、電力消費が小さい。電力消費の大きいユニットを全く使用しないか、またはそのようなユニットの使用頻度を少なくすることにより、コアのピーク電力消費を減少させることができる。これは、前記OCTEON63xxも含め、全てのOCTEONのコアに当てはまる。OCTEONのCPUコア内部の機能ユニットは、ソフトウェアまたはハードウェアによって無効にする使用不可にすることができる。このようなアプリケーションのためのソフトウェアは、問題のあるユニットを使用する命令の発行を避けるために、ハードウェアによる当該ユニットへのクロックの供給を、条件付クロックによって防いでもよい。各CPUの設定条件レジスタCSRフィールドを用いて、コアが消費してもよい最大の動的電力を指定してもよい。CSRは、制約されていない場合に、コアの電力消費が限度未満であれば、コアの挙動に影響を与えない。しかし、コアで実行されているソフトウェアによる消費電力がCSRの限度を超えると、CPUコアのハードウェアは、当該コアの電力消費が指定の限度未満に減少するまでストール命令を挿入することで対応する。一部の実施形態では、CSRは最大で256個の異なるスロットル値を提供し得る。これらの数値は、コアの動的電力の極めて小さい範囲から最大の範囲までを線形的にカバーするように設定されてもよい。コアにおける所与のCSR設定による的確な論理的効果および性能的効果は、当該コアで実行されるソフトウェアアプリケーションに依存する。コアが多大な電力を消費している例えば、冪剰余計算等の電力消費の大きいアプリケーションが実行されている際、CSR限度によっては、CPUコアの性能が大いに低下する可能性がある。ハードウェアによって、性能の低下を抑えながら、コアによって消費される最大電力を制限することができる。ソフトウェアにより、コア毎にCSR設定を変更することが可能である。遠隔装置により、これらのCSR設定を直接変更してもよい。このようなCSR変更は、任意の時点で行うことができる。前記OCTEON63xxチップの電力消費を制御するために、システムが、各コアのCSR設定を、任意でコア毎に個別に、動的に調節してもよい。一部の実施形態では、ソフトウェアにより、システムの温度を監視し、必要に応じて電力を減少させてもよい。例えば、前記OCTEON63xxのサーマルダイオードを、外部回路と共に使用してもよい。この外部回路は、前記OCTEON63xxの温度TWSIインターフェースに直接取り付けられてもよい。この場合、ソフトウェアが、TWSI読出しを定期的に取得することにより、温度を定期的にサンプリングできる。前記OCTEON63xxは、温度が閾値を超えない限り完全動作してもよく、温度が閾値を超えると、システムのソフトウェアが、当該OCTEONの電力を減少させる必要があると判断してもよい。前記OCTEON63xxのCPUコアの電力を、電力減少の対象としてもよい。前記ソフトウェアにより、前記OCTEON63xxの電力を減少させることを判断し、かつ、当該OCTEON63xxの一部または全部のCPUコアにおけるスロットリングCSRを調節することで、電力の減少を達成してもよい。残りのソフトウェアについては、性能の低下を検出するが、この性能低下検出がなければ電力の減少には気付かなくてもよい。温度監視用のソフトウェアが温度の減少を認識すると、当該ソフトウェアはコアのフル電力動作を復元することができる。温度監視用のソフトウェアの詳細な挙動は、システムの具体的な特徴に依存する。図2Aは、イベント監視手段240を用いる例示的な一実施形態における各種処理のハイレベル流れ図200である。この例示的な実施形態は、プロセッサ220における電力消費および電力損失を制御する電力制御モジュール210を備える。電力制御モジュール210は、プロセッサで生じる重要なイベント230-1,...,230-nを監視するイベント監視手段240を含む。イベント230-1,...,230-nは、レジスタ225およびキャッシュ227等のプロセッサモジュールで発行または実行される命令を含んでもよい。イベント監視手段240はこれらのイベント230-1,...,230-nを監視し、電力累積手段120が当該イベント230-1,...,230-nに伴う推定される電力を累積する。この推定される電力は、プロセッサに流れ込む電流を測定すること、および/または1つ以上のイベントのうちの各イベントで構成されるキャパシタンス情報を抽出したトランジスタレベルシミュレータを用いることも含め、当該技術分野で知られた各種手法を用いて得ることができる。あるいは、この推定される電力は、別のモジュールを用いて電力累積手段120に供給されてもよい。また、この推定される電力は、既知のプロセッサイベントの推定される電力値についてのデータベースから得られてもよい。比較回路250が、累積した電力を所定の閾値と比較する。この所定の閾値は、ソフトウェアによって課されたもの、ハードウェアによって設定されたもの、またはユーザによって比較回路250に供給されたものであってもよい。この所定の閾値は、プロセッサの設計要件およびシステム要件に基づいて決定されてもよい。この所定の閾値は、チップヒューズによって設定されてもよい。比較回路250は、累積した電力を所定の閾値と比較し続ける。累積した電力が所定の閾値を超えると、スロットル信号140がプロセッサの発行/キューのパイプライン150にアサートされ、さらなる命令の発行または処理が阻止される。一部の実施形態では、スロットル信号140は、プロセッサの他の要素にアサートされてもよい。図2Bは、電力推定手段242を用いる例示的な一実施形態における各種処理のハイレベル流れ図201である。図2Aに示した実施形態と同様に、この例示的な実施形態は、プロセッサ220における電力消費および電力損失を制御する電力制御モジュール210を備える。電力制御モジュール210は、プロセッサで生じるイベント230-1,...,230-nの実行/発行による消費電力/損失電力を推定する電力推定手段242を含む。イベント230-1,...,230-nは、レジスタ225およびキャッシュ227等のプロセッサモジュールで発行または実行される命令を含んでもよい。電力推定手段242はこれらのイベント230-1,...,230-nを監視し、電力累積手段120が当該イベント230-1,...,230-nに伴う推定される電力を累積する。電力スロットリング論理部110は、消費電力を推定するにあたって、サイクル毎に消費される電力を推定してもよい。サイクル毎の推定は、プロセッサに流れ込む電流を測定することによって実行されてもよい。一部の例示的な実施形態では、電力を推定するにあたって、動的電力変動する電力と、プロセッサにおける配線のキャパシタンスを所与の時間中にキャパシタンスが切り替わる回数すなわち、キャパシタンスが0から1に遷移する回数で乗算したものとを推定することにより、チップで消費される電力を考慮してもよい。また、プロセッサにおける重要なイベント130を特定し、各イベントが構成する切替キャパシタンスの量をスイッチレベルトランジスタレベルシミュレータを用いて測定することにより、損失電力/消費電力を推定してもよい。例示的な実施形態201は、イベント230-1,...,230-nの推定される電力を累積する電力累積手段120を用いる。累積される消費電力は、プログラム可能な期間例えば、時間枠、サイクル数など中に累積される消費電力とし、これを所定の閾値以下に制限してもよい。比較回路250が、累積した電力を所定の閾値と比較する。累積した電力が所定の閾値を超えると、制御回路260がスロットル信号140をプロセッサの発行/キューのパイプライン150または他のモジュールに対してアサートし、さらなる命令の発行または処理が阻止される。制御回路260は、さらなる命令の発行または処理を阻止することにより、アプリケーションの性能を抑制し、電力の目標レベルすなわち、所定の閾値で表されるレベルを基本的に維持する。図2Cは、オーバーシュート電力推定手段を用いる例示的な一実施形態202における各種処理のハイレベル流れ図である。図2Aおよび図2Bに示す実施形態と同様に、この例示的な実施形態202は、プロセッサ220における電力消費および電力損失を制御する電力制御モジュール210を備える。電力制御モジュール210は、プロセッサで生じるイベント230-1,...,230-nの実行/発行が阻止された後に消費電力を推定するオーバーシュート電力推定手段244を含む。この消費電力は、電力制御モジュール210に記憶され場合によっては、記憶モジュール図示せずに記憶され、次の電力累積サイクルで、累積される電力に加算される。このようにして、次の電力制御サイクルでは、累積される電力と、記憶されたオーバーシュート電力との合計値が所定の閾値を超えると、制御回路260が電力スロットリング信号110をアサートし、プロセッサで生じるイベント230-1,...,230-nの発行または実行を阻止する。消費電力の推定は、チップに流れ込む電流を考慮するか、またはプロセッサにおける配線のキャパシタンスを所与の時間中にキャパシタンスが切り替わる回数すなわち、キャパシタンスが0から1に遷移する回数で乗算したものを考慮することにより行ってもよい。図3A~図3Cは、スロットル信号を印加することによってイベントのさらなる処理を阻止する例示的な実施形態のハイレベル流れ図である。図3Aでは、1つの命令サイクル301の間、複数の命令を発行することによって消費電力が累積される各命令は、256個の命令サイクルを含むものと仮定する。累積した消費電力が閾値と比較される図2A~図2C。累積した電力が閾値を超えると、スロットル信号140がアサートされる。図3Aに示す例示的な実施形態300では、スロットル信号140により、その命令サイクルにおける残りの命令の発行または実行が阻止される。例示的な実施形態300では、次の命令サイクルについての命令の発行/実行を再開する。図3Bに示す例示的な実施形態301では、スロットル信号140がアサートされると、所与の時間中310に命令の発行または実行が阻止される。例示的な実施形態301では、時間310が経過すると、次の命令サイクルについての命令の発行/実行を再開する。図3Cに示す実施形態302では、スロットル信号140がアサートされると、特定の数の命令320の間、命令の発行または実行が阻止されるこの例では、命令200~240の処理が阻止される。例示的な実施形態302では、選択された数の命令の処理が阻止された後、命令の発行/実行を再開する。図4は、電力推定手段242のハイレベル流れ図400である。電力推定手段242は、プロセッサ410に流れ込む電流の測定値を用いて、消費電力/損失電力の推定値450を得てもよい。電力推定手段242は、1つ以上のイベントのうちの各イベントによってプロセッサで構成される切替キャパシタンス420の測定値に基づいて、電力の推定値450を得てもよい。電力推定手段242は、命令クロックサイクルカウンタ430に基づいて、電力の推定値450を求めてもよい。電力推定手段242は、既知のプロセッサイベントに伴う電力についてのデータベース440から電力の推定値450を求めてもよい。図5は、オーバーシュート電力推定手段244を利用する電力累積手段120のハイレベル流れ図500である。命令サイクル540の間、命令を発行することによって消費電力が累積される各命令は、256個の命令を含むものと仮定する。累積した消費電力が閾値と比較される。累積した電力が閾値を超えると、スロットル信号140がアサートされる。スロットル信号140がアサートされると、オーバーシュート電力推定手段244が、命令の実行/発行が阻止された後に消費電力を推定する。この消費されるオーバーシュート電力は記憶され、次の電力累積サイクルで、累積される電力に加算される。スロットル信号140が、命令サイクルにおける残りの命令の発行または実行を阻止する。例示的な実施形態500では、次の命令サイクルについての命令の発行/実行を再開する。電力累積手段120は、その命令サイクルの間消費電力を累積し、直前の命令サイクルからのオーバーシュート電力510をその命令サイクルの累積した電力に加算する。図6に、コンピュータチップ620の温度を減少させる本発明にかかる一実施形態600を示す。例示的な実施形態600は、チップ620の接合温度、チップ620のダイオードピン689、およびチップ620の二線式シリアルインターフェースピンtwsi688を監視することによってコンピュータチップ620の温度を監視する温度センサ690を備えてもよい。コンピュータチップの温度は、イベントを処理する間にチップで損失される電力/消費される電力、周囲温度、およびチップの周りを流れる空気の量の関数としてもよい。例示的な実施形態600は、センサ690によって感知されたコンピュータチップ620の温度を追跡するソフトウェア温度制御モジュール610を備えてもよい。チップ620の温度が所定の閾値例えば、予め設定された上限温度を超えると、温度監視モジュール610が情報660を性能抑制モジュール640に通信し、性能抑制モジュール640がコンピュータチップ620におけるイベントの処理を阻止することによってチップ620の温度を低下させる。性能抑制モジュール640が信号670をチップのイベント発行処理モジュール675にアサートし、イベント発行処理モジュール675がさらなるイベントの処理される速度を減少させることによって性能を抑制してもよい。一部の実施形態では、処理を阻止するための信号670を、チップ620のキュー/発行のパイプライン図示せずにおけるさらなる命令の処理を阻止することによって性能を抑制するのに用いてもよい。なお、流れ図もしくはブロック図で示した各種処理、およびそれ以外の本明細書に記載した各種処理は、ハードウェア、ファームウェアおよびソフトウェアのいずれの形態で実施されてもよい。ソフトウェアで実施される場合には、当該ソフトウェアは、本明細書の教示内容に合った任意のソフトウェア言語であれば、いずれのソフトウェア言語で記述されたものであってもよく、また、当該技術分野において既知であるかまたは将来開発され得る任意のコンピュータ読取り可能な媒体に記憶されたものであってもよい。典型的な命令の形態である当該ソフトウェアは、当該技術分野で把握されている様式でプロセッサによってコード化かつ実行され得る。以上のとおり、システムに基づいて本発明を具体的に図示し詳細に説明した。しかし、当業者であれば、添付の特許請求の範囲に包含される本発明の範囲を逸脱することなく形態および細部に対して様々な変更が可能であることを理解するであろう。"