説明

電力制御方法および電力制御装置

【課題】プロセッサ、コンピュータチップ等のシステムの電力又は電力消費を制御するための装置及び方法、並びにそのようなシステムを提供する。
【解決手段】命令を発行する間に消費された電力に関する電力情報を累積する電力累積手段120と、累積した電力情報を所定の閾値と比較する比較部250と、累積した電力情報が所定の閾値を超えると、システムの電力消費を減少させるために、さらなる命令の発行を阻止する制御部260とを備える。

【発明の詳細な説明】
【関連出願】
【0001】
本願は、2010年1月28日付出願の米国特許出願第12/695,648号の利益を主張する。この米国特許出願の全教示内容は、参照をもって本明細書に取り入れたものとする。
【技術分野】
【0002】
コンピュータチップの総消費電力は、ハードウェア設計だけでなく当該コンピュータチップで実行されるソフトウェアに依存する。また、一部のソフトウェアアプリケーションの消費電力は、他のソフトウェアアプリケーションの消費電力よりも大幅に(例えば、最大で5倍)大きい。電力損失とシステムの維持に伴うコストとは直接関係しているので、最悪の場合の電力損失は、システム設計において考慮すべき重要なファクタ(因子)である。最悪の場合の電力損失は、主に電源および冷却システムに対して悪影響を及ぼす。
【発明の概要】
【0003】
本発明の例示的な一実施形態は、コンピュータチップの電力を制御する方法およびこれに対応する装置に関する。この例示的な実施形態は、命令を発行することによって生じる電力を累積し、累積した電力を所定の閾値と比較し、前記累積した電力が前記所定の閾値を超えると、前記コンピュータチップの電力消費を減少させるために、さらなる命令の発行を阻止する。本明細書において「電力累積」とは、システムにおいて消費される電力(消費電力)または損失される電力(損失電力)についての推定値(電力に関する情報)を合計することを指す。
【0004】
本発明の他の実施形態は、1つ以上のイベントを処理する間にプロセッサによって消費される電力を推定し、電力消費を減少させるために、推定された電力に応じて、前記プロセッサのさらなる処理を阻止する、プロセッサの電力を制御する方法およびこれに対応する装置に関する。
【0005】
本発明のさらに他の実施形態は、1つ以上のタスクを実行する間あるユニットで消費される電力を累積することによって電力消費を制御する方法およびこれに対応する装置に関する。この例示的な実施形態は、累積した電力が所定の閾値を超えると、前記1つ以上のタスクのさらなる実行を阻止することにより、前記ユニットの電力消費を制御する。
【0006】
本発明のさらに他の実施形態は、コンピュータチップの温度を制御する方法およびこれに対応する装置に関する。この例示的な実施形態は、前記チップの目下(現在)の温度を監視し、前記チップの目下の温度が所定の閾値を超えると、当該チップの温度を減少させるために、さらなるイベントの処理を阻止する。
【0007】
前述の内容を踏まえて、以下の説明は、電力を制御するシステムに組み込むことが可能な例示的な実施形態および構成についての説明である。なお、「システム」とは、本発明の実施形態に関しては、システム、サブシステム、装置、方法またはこれらの任意の組合せのことを指す。
【0008】
前記システムは、発行される各命令に伴う電力を、既知の命令に伴う電力値についてのデータベースを用いて推定してもよい。前記システムは、当該命令の処理の間に経過するクロックサイクル数に対して消費される電力を求め、これから発行される各命令に伴う電力を推定してもよい。前記システムは、各タスクに伴う既知の電力値についてのデータベースに基づいて、消費電力を推定してもよい。
【0009】
前記システムは、当該プロセッサに流れ込む電流、および/または1つ以上のイベントのうちの各イベントによって当該プロセッサで構成される切替キャパシタンスに応じて、プロセッサによって消費される電力を推定してもよい。
【0010】
前記システムは、命令を発行することによって生じる電力を、所定の時間中、および/または1つ以上の命令サイクル中に累積してもよい。前記システムは、発行される各命令に伴う電力を推定し、これらに応じて、命令を発行することによって生じる電力を累積してもよい。さらなる命令の発行は、1つ以上の命令サイクルが経過するまで、目下(現在)のクロックサイクルが完了するまで、所定の数の命令サイクルが経過するまで、および/または所定の時間枠が経過するまで阻止されてもよい。
【0011】
前記システムは、電力の推定値を、所定の時間枠および所定のイベントサイクル数のうちの少なくとも一方の間に累積し、累積した電力が所定の閾値を超えると、プロセッサのさらなる処理を阻止してもよい。前記1つ以上のイベントには、イベントサイクルの間にプロセッサによって発行される命令、イベントサイクルの間に有効にされる条件付クロック、およびイベントサイクルの間にアクセスされるキャッシュのうちの少なくとも1つが含まれてもよい。本明細書において「イベントサイクル」とは、イベントが処理または実行される期間のことを指す。
【0012】
前記システムは、各タスクを実行する間に消費電力を推定して電力を累積してもよく、および/または所定の時間枠および所定のタスク数のうちの少なくとも一方の間に消費電力を推定して電力を累積してもよい。
【0013】
前記システムは、前記所定の閾値を、前記コンピュータチップの最大許容電力に応じて決定してもよい。
【0014】
前記システムは、プロセッサのキューパイプラインまたは発行パイプラインにスロットル信号をアサートすることにより、さらなる処理を阻止してもよい。
【0015】
前記システムは、さらに、さらなる命令の発行が阻止された後に消費される電力(消費電力)を求め、当該消費電力を、後続の命令サイクルの累積される電力に加算してもよい。前記システムは、プロセッサにおけるイベントのさらなる処理を、当該イベントの推定される電力と先のイベントにおいてさらなる処理が阻止された後に消費された電力とに応じて阻止してもよい。
【0016】
前記システムは、前記チップの接合温度を監視して、これにより当該チップの目下(現在)の温度を監視してもよい。
【0017】
前述の内容は、添付の図面に示された本発明にかかるシステムについての以下の詳細な説明から明らかになる。なお、異なる図をとおして、同一の符号は同一の構成又は構成要素を指すものとする。図面は必ずしも縮尺どおりではなく、本発明の実施形態を示すことに重点を置いている。
【図面の簡単な説明】
【0018】
【図1】電力を制御する本発明の例示的な一実施形態の概観図である。
【図2A】イベント監視手段を用いる例示的な一実施形態における各種処理のハイレベル流れ図である。
【図2B】電力推定手段を用いる例示的な一実施形態における各種処理のハイレベル流れ図である。
【図2C】オーバーシュート電力推定手段を用いる例示的な一実施形態における各種処理のハイレベル流れ図である。
【図3A】スロットル信号を印加することによってイベントのさらなる処理を阻止する例示的な一実施形態のハイレベル流れ図である。
【図3B】スロットル信号を印加することによってイベントのさらなる処理を阻止する例示的な一実施形態のハイレベル流れ図である。
【図3C】スロットル信号を印加することによってイベントのさらなる処理を阻止する例示的な一実施形態のハイレベル流れ図である。
【図4】電力推定手段のハイレベル流れ図である。
【図5】オーバーシュート電力推定手段を利用する電力累積手段のハイレベル流れ図である。
【図6】コンピュータチップの温度を監視する例示的な一実施形態のハイレベル流れ図である。
【発明を実施するための形態】
【0019】
図1は、電力を制御する例示的な一実施形態の概観図である。電力スロットリング(電力抑制)論理部110は、プロセッサで発生する各種イベント130(イベントA、イベントBなど)を監視し、消費される電力(消費電力)の量を推定し、必要に応じてスロットル信号140をアサートする(、つまり信号140を送信する)。前記イベントには、命令キャッシュ160、デコード/スロット部162、データキャッシュ/ローカルメモリ部164、コヒーレントメモリインターコネクト166、モジュール型乗算器168などの各種プロセッサモジュールにおける命令の発行または実行等のイベントが含まれる。
【0020】
電力スロットリング論理部110は、消費電力を推定するにあたって、サイクル毎に消費電力を推定してもよい。サイクル毎の電力は、プロセッサに流れ込む電流を測定することによって取得してもよい。他方で、一部の例示的な実施形態では、CMOSにおいて消費電力を下記の式とみなすことにより、電力を推定してもよい:
P=iv+vcf
ここで、Pは消費電力を表し、iはリーク電流(漏れ電流)であり、vは電圧であり、cはキャパシタンス(静電容量)であり、fはスイッチング周波数である。
【0021】
リーク電流iはほぼ一定の数値であるため、一般性を失わずに無視することができる。項vcfは、電力スロットリング論理部110によって推定される動的電力(変動する電力)を表す。電圧vも一定の数値であるとみなすことにより、電力スロットリング論理部110は、動的電力の代わりに切替キャパシタンス(スイッチドキャパシタンス)cfを推定(算出)してもよい。切替キャパシタンスcfは、所与の時間中にキャパシタンスが切り替わる回数(すなわち、キャパシタンスが0から1に遷移する回数)で、プロセッサにおける配線のキャパシタンスを乗算した数値を表す。
【0022】
電力スロットリング論理部110は、損失電力/消費電力を推定するにあたって、プロセッサにおける各種重要なイベント130を特定する。一部の実施形態では、損失電力/消費電力の推定値を、各イベントが生じさせる切替キャパシタンスの量を測定することによって得てもよい。この測定値は、スイッチレベルトランジスタレベルシミュレータ(switch level transistor level simulator)を用いて得てもよい。プロセッサにおける各配線のキャパシタンス、ならびに配線が切り替わるタイミングおよび頻度に関する情報は、電力スロットリング論理部110が把握しているため、少数のイベントを監視するだけで、総切替キャパシタンス(その結果、消費電力)を効率的に推定することができる。
【0023】
例示的な実施形態100では、プロセッサで発生した各種イベント130について推定された電力を累積する、推定電力累積モジュール120が用いられる。「電力累積」とは、推定された電力値の累積(すなわち、電力情報の累積)を指す。累積される消費電力量を、プログラム可能な期間(例えば、時間枠、サイクル数など)中に累積される消費電力量とし、これを所定の閾値以下に制限してもよい。例示的な実施形態では、前記プログラム可能な期間中、変動する電力消費の推定値を累積して、この累積した電力を前記所定の閾値と繰り返して比較する。前記累積した電力が前記所定の閾値を超えると、電力制御論理部110がスロットル信号140をアサートし、さらなる処理を阻止する。電力制御論理部110は、1つ以上の命令サイクル中、および/または1つ以上の命令サイクルが経過するまで、および/または目下(現在)の命令サイクルが完了するまで、および/または所定時間中、さらなる処理を阻止してもよい。本明細書において「命令サイクル」とは、命令が処理または実行される期間のことを指す。
【0024】
電力制御論理部110は、プロセッサのキュー/発行パイプラインステージ150にスロットル信号140をアサートして、さらなる命令の実行または発行を停止してもよい。一部の例示的な実施形態では、スロットル信号140がアサートされることによって動的電力の消費/損失が確実に完全停止するように、キュー/発行パイプラインステージ150以外のユニットに当該スロットル信号140をアサートしてもよい。例えば、図1に示すレジスタファイル191、パイプ0(シフト動作、ロード動作、ストア動作、および算術論理装置の動作に使用される)193、パイプ1(シフト動作、乗算動作、コピー動作、ブランチ動作、ジャンプ動作、および算術論理装置の動作に使用される)192、ジャンプ予測部194、ブランチ予測部195、トランスレーションルックアサイドバッファ(TLB)196、ライトバッファ197、ミスファイルエントリ部(miss file entry unit)198などのユニットがスロットル信号を受け取ることにより、当該ユニットによるイベントのさらなる処理を阻止してもよい。
【0025】
コアプロセッサパイプラインの様々な箇所で起こるイベントを監視してもよい。例えば、例示的な一実施形態では、パイプラインの様々なステージで起こる最大30個の異なるイベント(例えば、目下(現在)のプロセッササイクル中に発行される命令、あるサイクル中に有効にされる条件付クロック、またはあるサイクル中にアクセスされるキャッシュメモリなど)を監視することにより、プロセッサコアによって消費される電力を正確に推定してもよい。電力スロットリング論理部110は、プロセッサコアがチップの動的エネルギの大半を消費するので、プロセッサコアを監視してもよい。例示的な実施形態では、コアの電力を制御または制限することができる。一部の実施形態では、電力制御に関係するパラメータが、電力スロットルレジスタ(図示せず)を用いてプログラムされる。
【0026】
例示的な実施形態は、(必ずしもコンピュータチップまたはプロセッサでなくとも)電力を消費または損失するあらゆるユニットに対して用いることができ、電力が所定の閾値に達すると、さらなる電力の消費/損失を阻止する。例えば、例示的な実施形態を、通信、ネットワーキング、科学計算、グラフィックレンダリング等に使用される相補型金属酸化膜半導体(CMOS)に用いることにより、装置(デバイス)の性能の調節や、チップで消費される電力の制御を実行することができる。
【0027】
一部の実施形態において、電力スロットリング論理部110は、閉ループまたは開ループで動作してもよい。開ループでの動作の場合、電力スロットリング論理部110は、時間間隔(時間枠)と、命令の発行が可能な時間率(%)とを指定する。これにより、電力スロットリング論理部110は、前記時間間隔において経過時間が前記指定された命令の発行が可能な時間率(%)を超えるまで、イベント/命令の実行/発行を許可する。
【0028】
閉ループでの動作の場合、電力スロットリング論理部110に、最大許容電力が入力される。電力スロットリング論理部110は、ある時間間隔(時間枠)において、累積される電力が前記最大許容電力を超えるまで、命令の発行を許可する。前記最大許容電力に達すると、電力スロットリング論理部110は、スロットル信号140をアサートして、前記時間間隔が経過するまでさらなる命令の発行/実行を阻止する。
【0029】
電力スロットリング論理部110は、さらなる命令の発行/実行が阻止された後に消費電力(例えば、オーバーシュート電力など)を求めてもよい。このさらなる電力値は記憶され、後続の時間期間に累積される電力に加算されてもよい。
【0030】
電力スロットリング論理部110のソフトウェアインターフェースは、下記の数値を用いて動作し得る:
● 電力スロットリング最大値(MAXTHR):これは、許容される最大のスロットリング値を示す。この数値は、所定の数値の形式でコアまたは他のモジュールに供給されてもよく、あるいは、コアまたは他のモジュールによって決定されてもよい。
● 電力スロットリング最小値(MINTHR):これは、許容される最小のスロットリング値を示す。
● 現在の、コアによる電力消費についての推定値(POWER):この返却される電力値は、平均消費電力を示す。この平均消費電力は、指数関数的に重み付けされてもよい。
● 先の期間で使用されたスロットリング値(THROTT):スロットリングにより、CPUコアは一定時間中、強制的にアイドル状態になり、電力消費を減少させる。スロットリング値がゼロに設定されると、コアは大半の時間中アイドル状態になり、最低限の電力のみを消費する。前記スロットリング値は、コアが電力を減少させるためのアイドル状態に全くならないことを示す数値に設定されてもよい。前記スロットリング値を増加させると、強制的なアイドル時間が線形的に減少する。アイドル状態はサイクル期間の終わりの方で強制的に生じ、当該期間の始めの方では生じない。一般的に、ハードウェアは、性能を最大限に引き出すにあたって、一定の制約はあるものの、出来る限り大きいスロットル値を使用する。
● コアの電力リミッタ(電力制限)値(TARGET)が使用されてもよい。この数値は、コアの電力消費の概算的なリミッタを表す。このリミッタ電力(上限電力)は概算値であり、閉ループフィードバックシステムにおいて電力の概算に利用される。
【0031】
以下に、前記電力スロットリング論理部によって使用され得るアルゴリズム擬似コードの一例を示す:
【0032】
【数1】

【0033】
上記の擬似コードにおいて、「accumulated_power」は累積される電力情報の量を示し、「interval」は監視期間(例えば、時間間隔(時間枠)など)を示し、「estimated power」は目下の期間において推定される電力情報を示し、「overshoot」は推定されるオーバーシュート電力の量を示し、「THROTT」はスロットリング値を示す。
【0034】
一部の例示的な実施形態は、コンピュータチップの接合温度を(外部回路に支援されながら)監視するのに用いられるサーマルダイオードと、チップ上の個々のユニット/構成の電力使用を動的に制御する構成とを備える。これにより、この例示的な実施形態では、サーマルダイオードを用いてチップの温度を監視し、必要に応じてチップの電力消費を減少させて熱的過負荷を防ぐことができるため、厳しく熱出力を制限しながら最大の性能を達成することができる。
【0035】
前記ダイオードは、チップの接合温度を監視するように当該チップに設けられてもよい。一部の実施形態(例えば、CaviumOCTEON 63xx;Cavium Networks(米国カリフォルニア州マウンテンビュー市)社製)では、ダイオードが、THERMAL_D_N/THERMAL_D_Lチップピンに取り付けられることができる。ダイオードを制御および感知するための外部装置が使用されてもよい。この外部装置は、THERMALピンおよびOCTEONTWSIインターフェースに接続される。TWSIインターフェースに接続されることにより、ソフトウェアがアナログ温度センサチップであるTMP421を設定して計測温度を監視するための経路が構成される。TMP421は、1秒間あたり8回の頻度で温度をサンプリングできる。
【0036】
チップの電力消費は、電源電圧、周波数、温度(例えば、周囲温度、外気温度など)、チップのワークロード(処理量)等の複数の変数による関数である。電力を、ワークロードを変化させることによって減少させてもよい。これは、システム及びチップの複雑性の軽減につながる。ワークロードを変化させることで性能が低下する場合もあるが、例示的な実施形態では、性能を抑制することにより、過剰な電力消費/電力損失によって起こり得るチップの損傷を防止する。
【0037】
前記Cavium OCTEON 63xxの6個の中央処理装置(CPU)コアによって使用される動的電力は、当該OCTEON 63xxチップの総電力の約30ないし約50%である。この総電力には、静的漏れ及び動的コア(コアの数が変化すること)を含めた電源によってチップで消費される電力、プロセッサコアの電力、ならびに入力/出力(I/O)の電力が含まれる。この総電力および電力減少量は、動作状態によって異なり、また、チップ間の製造の違いによってチップ毎で異なる。
【0038】
一部の実施形態では、CPUコアの動的電力を推定および制御するにあたって、条件付クロック動作を用いてもよい。具体的に述べると、前記OCTEONのCPUコアは、積極的に、論理回路に対して条件付クロックを供給してもよい。CPUコアがアイドル状態であれば、ハードウェアがコアのクロックを停止してもよい。例えば、キャッシュミスのためにメモリにアクセスすることでコアが待機しており、他のタスクが実行されていない場合、コアのクロックを停止させてもよい。一般的に、CPUの処理量とコアの電力消費とは正比例する。
【0039】
CPUコアの動的電力を減少させる最も簡易な方法は、CPUコアを無効にする(使用不可にする)こと、つまりコアの使用を停止することである。CaviumOCTEONファミリーのチップにおけるCPUコアは、標準的なMIPS WAIT命令を実行中のアイドル状態であるときに、電力消費が最小限となる。WAIT命令により、ソフトウェアは、割込みが生じるまでCPUコアをストール(自動待機)することができる。前記OCTEONのハードウェアは、割込みを待っている間、CPUコアのほぼ全ての条件付クロックを停止させる。割込みが生じると、CPUコアは、待機後の命令(または割込みハンドラ)の実行を続ける。前記OCTEONのCPUコアは、WAIT実行中のアイドル状態よりもリセット状態である方が、電力消費が若干大きい。
【0040】
多くの場合、CPUコアの無効(使用不可)はソフトウェアにとって大部分が不可視化された動作(例えば、Linux(登録商標)におけるWAIT命令のアイドルループ使用)であるが、このような動作は、一般的にソフトウェアによって編成される必要がある。無効化されたコアを動作から強制的に外して、当該コアで実行されていたタスクを、別のコアで実行する必要が生じ得る。
【0041】
CPUコアを無効にする電力的な利点は、そのコアがもし無効にされていなかった場合に何をしていたかに依存する。コアが全力で冪剰余計算を実行していたなら、最大の節約が得られるであろう。CPUコアが、処理すべき命令を待つ間にストールされるように通常設定されている場合、当該コアの電力は既に小さいので、得られる節約も小さくなる。
【0042】
前記OCTEON 63xxのCPUコア内部における電力消費の大きいユニットは、ロード/ストアユニットおよびサイズの大きい乗算ユニットの2つである。前記冪剰余計算のアプリケーションは、これら両方のユニットを大いに利用する傾向にあるため、電力消費も大きくなる。CPUコア内部の他のユニットは、電力消費が小さい。電力消費の大きいユニットを全く使用しないか、またはそのようなユニットの使用頻度を少なくすることにより、コアのピーク電力消費を減少させることができる。これは、前記OCTEON63xxも含め、全てのOCTEONのコアに当てはまる。
【0043】
OCTEONのCPUコア内部の機能ユニットは、ソフトウェアまたはハードウェアによって無効にする(使用不可にする)ことができる。このようなアプリケーションのためのソフトウェアは、問題のあるユニットを使用する命令の発行を避けるために、ハードウェアによる当該ユニットへのクロックの供給を、条件付クロックによって防いでもよい。
【0044】
各CPUの設定条件レジスタ(CSR)フィールドを用いて、コアが消費してもよい最大の動的電力を指定してもよい。CSRは、制約されていない場合に、コアの電力消費が限度未満であれば、コアの挙動に影響を与えない。しかし、コアで実行されているソフトウェアによる消費電力がCSRの限度を超えると、CPUコアのハードウェアは、当該コアの電力消費が指定の限度未満に減少するまでストール命令を挿入することで対応する。一部の実施形態では、CSRは最大で256個の異なるスロットル値を提供し得る。これらの数値は、コアの動的電力の極めて小さい範囲から最大の範囲までを線形的にカバーするように設定されてもよい。
【0045】
コアにおける所与のCSR設定による的確な論理的効果および性能的効果は、当該コアで実行されるソフトウェアアプリケーションに依存する。コアが多大な電力を消費している(例えば、冪剰余計算等の電力消費の大きいアプリケーションが実行されている)際、CSR限度によっては、CPUコアの性能が大いに低下する可能性がある。ハードウェアによって、性能の低下を抑えながら、コアによって消費される最大電力を制限することができる。
【0046】
ソフトウェアにより、コア毎にCSR設定を変更することが可能である。遠隔装置により、これらのCSR設定を直接変更してもよい。このようなCSR変更は、任意の時点で行うことができる。前記OCTEON63xxチップの電力消費を制御するために、システムが、各コアのCSR設定を、任意でコア毎に個別に、動的に調節してもよい。
【0047】
一部の実施形態では、ソフトウェアにより、システムの温度を監視し、必要に応じて電力を減少させてもよい。例えば、前記OCTEON63xxのサーマルダイオードを、外部回路と共に使用してもよい。この外部回路は、前記OCTEON 63xxの温度(TWSI)インターフェースに直接取り付けられてもよい。この場合、ソフトウェアが、TWSI読出しを定期的に取得することにより、温度を定期的にサンプリングできる。
【0048】
前記OCTEON 63xxは、温度が閾値を超えない限り完全動作してもよく、温度が閾値を超えると、システムのソフトウェアが、当該OCTEONの電力を減少させる必要があると判断してもよい。前記OCTEON63xxのCPUコアの電力を、電力減少の対象としてもよい。前記ソフトウェアにより、前記OCTEON 63xxの電力を減少させることを判断し、かつ、当該OCTEON 63xxの一部または全部のCPUコアにおけるスロットリングCSRを調節することで、電力の減少を達成してもよい。残りのソフトウェアについては、性能の低下を検出するが、この性能低下検出がなければ電力の減少には気付かなくてもよい。温度監視用のソフトウェアが温度の減少を認識すると、当該ソフトウェアはコアのフル電力動作を復元することができる。
【0049】
温度監視用のソフトウェアの詳細な挙動は、システムの具体的な特徴に依存する。
【0050】
図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に供給されてもよい。また、この推定される電力は、既知のプロセッサイベントの推定される電力値についてのデータベースから得られてもよい。
【0051】
比較回路250が、累積した電力を所定の閾値と比較する。この所定の閾値は、ソフトウェアによって課されたもの、ハードウェアによって設定されたもの、またはユーザによって比較回路250に供給されたものであってもよい。この所定の閾値は、プロセッサの設計要件およびシステム要件に基づいて決定されてもよい。この所定の閾値は、チップヒューズによって設定されてもよい。比較回路250は、累積した電力を所定の閾値と比較し続ける。累積した電力が所定の閾値を超えると、スロットル信号140がプロセッサの発行/キューのパイプライン150にアサートされ、さらなる命令の発行または処理が阻止される。一部の実施形態では、スロットル信号140は、プロセッサの他の要素にアサートされてもよい。
【0052】
図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に伴う推定される電力を累積する。
【0053】
電力スロットリング論理部110は、消費電力を推定するにあたって、サイクル毎に消費される電力を推定してもよい。サイクル毎の推定は、プロセッサに流れ込む電流を測定することによって実行されてもよい。一部の例示的な実施形態では、電力を推定するにあたって、動的電力(変動する電力)と、プロセッサにおける配線のキャパシタンスを所与の時間中にキャパシタンスが切り替わる回数(すなわち、キャパシタンスが0から1に遷移する回数)で乗算したものとを推定することにより、チップで消費される電力を考慮してもよい。また、プロセッサにおける重要なイベント130を特定し、各イベントが構成する切替キャパシタンスの量をスイッチレベルトランジスタレベルシミュレータを用いて測定することにより、損失電力/消費電力を推定してもよい。
【0054】
例示的な実施形態201は、イベント230−1,…,230−nの推定される電力を累積する電力累積手段120を用いる。累積される消費電力は、プログラム可能な期間(例えば、時間枠、サイクル数など)中に累積される消費電力とし、これを所定の閾値以下に制限してもよい。
【0055】
比較回路250が、累積した電力を所定の閾値と比較する。累積した電力が所定の閾値を超えると、制御回路260がスロットル信号140をプロセッサの発行/キューのパイプライン150(または他のモジュール)に対してアサートし、さらなる命令の発行または処理が阻止される。
【0056】
制御回路260は、さらなる命令の発行または処理を阻止することにより、アプリケーションの性能を抑制し、電力の目標レベル(すなわち、所定の閾値で表されるレベル)を基本的に維持する。
【0057】
図2Cは、オーバーシュート電力推定手段を用いる例示的な一実施形態202における各種処理のハイレベル流れ図である。
【0058】
図2Aおよび図2Bに示す実施形態と同様に、この例示的な実施形態202は、プロセッサ220における電力消費および電力損失を制御する電力制御モジュール210を備える。電力制御モジュール210は、プロセッサで生じるイベント230−1,…,230−nの実行/発行が阻止された後に消費電力を推定するオーバーシュート電力推定手段244を含む。この消費電力は、電力制御モジュール210に記憶され(場合によっては、記憶モジュール(図示せず)に記憶され)、次の電力累積サイクルで、累積される電力に加算される。このようにして、次の電力制御サイクルでは、累積される電力と、記憶されたオーバーシュート電力との合計値が所定の閾値を超えると、制御回路260が電力スロットリング信号110をアサートし、プロセッサで生じるイベント230−1,…,230−nの発行または実行を阻止する。
【0059】
消費電力の推定は、チップに流れ込む電流を考慮するか、またはプロセッサにおける配線のキャパシタンスを所与の時間中にキャパシタンスが切り替わる回数(すなわち、キャパシタンスが0から1に遷移する回数)で乗算したものを考慮することにより行ってもよい。
【0060】
図3A〜図3Cは、スロットル信号を印加することによってイベントのさらなる処理を阻止する例示的な実施形態のハイレベル流れ図である。図3Aでは、1つの命令サイクル301の間、複数の命令を発行することによって消費電力が累積される(各命令は、256個の命令サイクルを含むものと仮定する)。累積した消費電力が閾値と比較される(図2A〜図2C)。累積した電力が閾値を超えると、スロットル信号140がアサートされる。図3Aに示す例示的な実施形態300では、スロットル信号140により、その命令サイクルにおける残りの命令の発行または実行が阻止される。例示的な実施形態300では、次の命令サイクルについての命令の発行/実行を再開する。
【0061】
図3Bに示す例示的な実施形態301では、スロットル信号140がアサートされると、所与の時間中310に命令の発行または実行が阻止される。例示的な実施形態301では、時間310が経過すると、次の命令サイクルについての命令の発行/実行を再開する。
【0062】
図3Cに示す実施形態302では、スロットル信号140がアサートされると、特定の数の命令320の間、命令の発行または実行が阻止される(この例では、命令200〜240の処理が阻止される)。例示的な実施形態302では、選択された数の命令の処理が阻止された後、命令の発行/実行を再開する。
【0063】
図4は、電力推定手段242のハイレベル流れ図400である。電力推定手段242は、プロセッサ410に流れ込む電流の測定値を用いて、消費電力/損失電力の推定値450を得てもよい。電力推定手段242は、1つ以上のイベントのうちの各イベントによってプロセッサで構成される切替キャパシタンス420の測定値に基づいて、電力の推定値450を得てもよい。電力推定手段242は、命令クロックサイクルカウンタ430に基づいて、電力の推定値450を求めてもよい。電力推定手段242は、既知のプロセッサイベントに伴う電力についてのデータベース440から電力の推定値450を求めてもよい。
【0064】
図5は、オーバーシュート電力推定手段244を利用する電力累積手段120のハイレベル流れ図500である。命令サイクル540の間、命令を発行することによって消費電力が累積される(各命令は、256個の命令を含むものと仮定する)。累積した消費電力が閾値と比較される。累積した電力が閾値を超えると、スロットル信号140がアサートされる。スロットル信号140がアサートされると、オーバーシュート電力推定手段244が、命令の実行/発行が阻止された後に消費電力を推定する。この消費されるオーバーシュート電力は記憶され、次の電力累積サイクルで、累積される電力に加算される。
【0065】
スロットル信号140が、命令サイクルにおける残りの命令の発行または実行を阻止する。例示的な実施形態500では、次の命令サイクルについての命令の発行/実行を再開する。電力累積手段120は、その命令サイクルの間消費電力を累積し、直前の命令サイクルからのオーバーシュート電力510をその命令サイクルの累積した電力に加算する。
【0066】
図6に、コンピュータチップ620の温度を減少させる本発明にかかる一実施形態600を示す。例示的な実施形態600は、チップ620の接合温度、チップ620のダイオードピン689、およびチップ620の二線式シリアルインターフェースピン(twsi)688を監視することによってコンピュータチップ620の温度を監視する温度センサ690を備えてもよい。コンピュータチップの温度は、イベントを処理する間にチップで損失される電力/消費される電力、周囲温度、およびチップの周りを流れる空気の量の関数としてもよい。例示的な実施形態600は、センサ690によって感知されたコンピュータチップ620の温度を追跡するソフトウェア温度制御モジュール610を備えてもよい。チップ620の温度が所定の閾値(例えば、予め設定された上限温度)を超えると、温度監視モジュール610が情報660を性能抑制モジュール640に通信し、性能抑制モジュール640がコンピュータチップ620におけるイベントの処理を阻止することによってチップ620の温度を低下させる。性能抑制モジュール640が信号670をチップのイベント発行・処理モジュール675にアサートし、イベント発行・処理モジュール675がさらなるイベントの処理される速度を減少させることによって性能を抑制してもよい。一部の実施形態では、処理を阻止するための信号670を、チップ620のキュー/発行のパイプライン(図示せず)におけるさらなる命令の処理を阻止することによって性能を抑制するのに用いてもよい。
【0067】
なお、流れ図もしくはブロック図で示した各種処理、およびそれ以外の本明細書に記載した各種処理は、ハードウェア、ファームウェアおよびソフトウェアのいずれの形態で実施されてもよい。ソフトウェアで実施される場合には、当該ソフトウェアは、本明細書の教示内容に合った任意のソフトウェア言語であれば、いずれのソフトウェア言語で記述されたものであってもよく、また、当該技術分野において既知であるかまたは将来開発され得る任意のコンピュータ読取り可能な媒体に記憶されたものであってもよい。典型的な命令の形態である当該ソフトウェアは、当該技術分野で把握されている様式でプロセッサによってコード化かつ実行され得る。
【0068】
以上のとおり、システムに基づいて本発明を具体的に図示し詳細に説明した。しかし、当業者であれば、添付の特許請求の範囲に包含される本発明の範囲を逸脱することなく形態および細部に対して様々な変更が可能であることを理解するであろう。
【符号の説明】
【0069】
120 電力累積手段
250 比較部
260 制御部

【特許請求の範囲】
【請求項1】
コンピュータチップの電力を制御する方法であって、
命令を発行する間に消費された電力に関する電力情報を累積する過程と、
前記累積した電力情報を所定の閾値と比較する過程と、
前記累積した電力情報が前記所定の閾値よりも大きい場合、前記コンピュータチップの電力消費を減少させるように、さらなる命令の発行を阻止する過程とを備えた、コンピュータチップ電力制御方法。
【請求項2】
請求項1に記載のコンピュータチップ電力制御方法において、さらに、
命令を発行する間に消費された電力に関する前記電力情報を、所定の時間中に累積する過程を備えた、コンピュータチップ電力制御方法。
【請求項3】
請求項1に記載のコンピュータチップ電力制御方法において、さらに、
命令を発行する間に消費された電力に関する前記電力情報を、発行される各命令に伴う電力を推定して累積する過程を備えた、コンピュータチップ電力制御方法。
【請求項4】
請求項3に記載のコンピュータチップ電力制御方法において、さらに、
前記発行される各命令に伴う電力を、既知の命令についての電力値についてのデータベースを用いて推定する過程を備えた、コンピュータチップ電力制御方法。
【請求項5】
請求項3に記載のコンピュータチップ電力制御方法において、さらに、
前記発行される各命令に伴う電力を、前記各命令の処理の間に経過するクロックサイクル数をそれぞれ求めて推定する過程を備えた、コンピュータチップ電力制御方法。
【請求項6】
請求項1に記載のコンピュータチップ電力制御方法において、さらに、
命令を発行する間に消費された電力に関する前記電力情報を、1つ以上の命令サイクル中に累積する過程を備えた、コンピュータチップ電力制御方法。
【請求項7】
請求項6に記載のコンピュータチップ電力制御方法において、さらに、
1つ以上の命令サイクルが経過するまで、さらなる命令の発行を阻止する過程を備えた、コンピュータチップ電力制御方法。
【請求項8】
請求項6に記載のコンピュータチップ電力制御方法において、さらに、
現在のスロットル期間が完了するまで、さらなる命令の発行を阻止する過程を備えた、コンピュータチップ電力制御方法。
【請求項9】
請求項6に記載のコンピュータチップ電力制御方法において、さらに、
所定の数の命令サイクルが経過するまで、さらなる命令の発行を阻止する過程を備えた、コンピュータチップ電力制御方法。
【請求項10】
請求項1に記載のコンピュータチップ電力制御方法において、さらに、
所定の時間が経過するまで、さらなる命令の発行を阻止する過程を備えた、コンピュータチップ電力制御方法。
【請求項11】
請求項1に記載のコンピュータチップ電力制御方法において、さらに、
前記所定の閾値を、前記コンピュータチップの最大許容電力との相関関係において決定する過程を備えた、コンピュータチップ電力制御方法。
【請求項12】
請求項1に記載のコンピュータチップ電力制御方法において、さらに、
前記所定の閾値を、1つ以上のチップヒューズとのとの相関関係において決定する過程を備えた、コンピュータチップ電力制御方法。
【請求項13】
請求項1に記載のコンピュータチップ電力制御方法において、さらに、
さらなる命令の発行が阻止された後に消費された電力を求める過程と、
当該消費された電力を、後続の命令サイクルの累積される電力に加算する過程とを備えた、コンピュータチップ電力制御方法。
【請求項14】
命令を発行する間に消費された電力に関する電力情報を累積する電力累積手段と、
前記累積した電力情報を所定の閾値と比較する比較部と、
前記累積した電力情報が前記所定の閾値よりも大きい場合、電力消費を減少させるように、さらなる命令の発行を阻止する制御部とを備えた、プロセッサ。
【請求項15】
請求項14に記載のプロセッサにおいて、前記電力累積手段が、命令を発行する間に消費された電力に関する前記電力情報を、所定の時間中に累積する、プロセッサ。
【請求項16】
請求項14に記載のプロセッサにおいて、前記電力累積手段が、命令を発行する間に消費された電力に関する前記消費電力情報を、発行される各命令に伴う電力を推定して累積する、プロセッサ。
【請求項17】
請求項16に記載のプロセッサにおいて、さらに、
前記発行される各命令に伴う電力を、既知の命令に伴う電力値についてのデータベースを用いて推定する電力推定手段を備えた、プロセッサ。
【請求項18】
請求項14に記載のプロセッサにおいて、さらに、
前記発行される各命令に伴う電力を、前記各命令の処理の間に経過するクロックサイクル数をそれぞれ求めて推定する電力推定手段を備えた、プロセッサ。
【請求項19】
請求項14に記載のプロセッサにおいて、前記電力累積手段が、命令を発行する間に消費された電力に関する前記電力情報を、1つ以上の命令サイクル中に累積する、プロセッサ。
【請求項20】
請求項19に記載のプロセッサにおいて、前記制御部が、1つ以上の命令サイクルが経過するまで、さらなる命令の発行を阻止する、プロセッサ。
【請求項21】
請求項19に記載のプロセッサにおいて、前記制御部が、現在のスロットル期間が完了するまで、さらなる命令の発行を阻止する、プロセッサ。
【請求項22】
請求項19に記載のプロセッサにおいて、前記制御部が、所定の数の命令サイクルが経過するまで、さらなる命令の発行を阻止する、プロセッサ。
【請求項23】
請求項14に記載のプロセッサにおいて、前記制御部が、所定の時間間隔が経過するまで、さらなる命令の発行を阻止する、プロセッサ。
【請求項24】
請求項14に記載のプロセッサにおいて、前記比較部が、前記所定の閾値を、前記コンピュータチップの最大許容電力との相関関係において決定する、プロセッサ。
【請求項25】
請求項14に記載のプロセッサにおいて、前記比較部が、前記所定の閾値を、1つ以上のチップヒューズとの相関関係において決定する、プロセッサ。
【請求項26】
請求項14に記載のプロセッサにおいて、さらに、
さらなる命令の発行が阻止された後に消費された電力を推定するオーバーシュート電力推定手段を備え、当該消費された電力が、後続の命令サイクルの累積される電力に加算される、プロセッサ。
【請求項27】
プロセッサの電力を制御する方法であって、
1つ以上のイベントを処理する間に前記プロセッサによって消費された電力を推定する過程と、
電力消費を減少させるために、推定された電力との相関関係において、前記プロセッサのさらなる処理を阻止する過程とを備えた、プロセッサ電力制御方法。
【請求項28】
請求項27に記載のプロセッサ電力制御方法において、さらに、
前記プロセッサによって消費された電力を、前記プロセッサに流れ込む電流との相関関係において推定する過程を備えた、プロセッサ電力制御方法。
【請求項29】
請求項27に記載のプロセッサ電力制御方法において、さらに、
前記プロセッサによって消費された電力を、前記1つ以上のイベントにおける各イベントによって前記プロセッサで構成される切替キャパシタンスとの相関関係において推定する過程を備えた、プロセッサ電力制御方法。
【請求項30】
請求項27に記載のプロセッサ電力制御方法において、さらに、
前記推定した電力を、所定時間および所定のイベントサイクル数のうちの少なくとも一方の間に累積する過程を備えた、プロセッサ電力制御方法。
【請求項31】
請求項30に記載のプロセッサ電力制御方法において、さらに、
前記累積した電力が所定の閾値よりも大きい場合、前記プロセッサのさらなる処理を阻止する過程を備えた、プロセッサ電力制御方法。
【請求項32】
請求項30に記載のプロセッサ電力制御方法において、前記1つ以上のイベントが、イベントサイクル中に前記プロセッサによって発行される命令、イベントサイクル中に有効にされる条件付クロック、およびイベントサイクル中にアクセスされるキャッシュのうちの少なくとも1つを備えた、プロセッサ電力制御方法。
【請求項33】
請求項27に記載のプロセッサ電力制御方法において、さらに、
前記プロセッサのキューまたは発行のパイプラインにスロットル信号を発行して、さらなる処理を阻止する過程を備えた、プロセッサ電力制御方法。
【請求項34】
請求項27に記載のプロセッサ電力制御方法において、さらに、
さらなる処理が阻止された後に消費された電力を推定する過程を備えた、プロセッサ電力制御方法。
【請求項35】
請求項34に記載のプロセッサ電力制御方法において、さらに、
前記プロセッサにおけるイベントのさらなる処理を、当該イベントの前記推定された電力と、先のイベントにおいてさらなる処理が阻止された後に消費された電力との相関関係において阻止する過程を備えた、プロセッサ電力制御方法。
【請求項36】
プロセッサであって、
1つ以上のイベントを処理する間に当該プロセッサによって消費された電力を推定する電力推定手段と、
電力消費を減少させるために、推定された電力との相関関係において、当該プロセッサのさらなる処理を阻止する電力制御部とを備えた、プロセッサ。
【請求項37】
請求項36に記載のプロセッサにおいて、前記電力推定手段が、当該プロセッサによって消費された前記電力を、当該プロセッサに流れ込む電流との相関関係において推定する、プロセッサ。
【請求項38】
請求項36に記載のプロセッサにおいて、前記電力推定手段が、当該プロセッサによって消費された前記電力を、前記1つ以上のイベントにおける各イベントによって当該プロセッサで構成される切替キャパシタンスとの相関関係において推定する、プロセッサ。
【請求項39】
請求項36に記載のプロセッサにおいて、さらに、
前記推定した電力を、所定の時間および所定のイベントサイクル数のうちの少なくとも一方の間に累積する電力累積手段を備えた、プロセッサ。
【請求項40】
請求項39に記載のプロセッサにおいて、前記電力制御部が、前記累積した電力が所定の閾値よりも大きい場合、当該プロセッサのさらなる処理を阻止する、プロセッサ。
【請求項41】
請求項39に記載のプロセッサにおいて、前記1つ以上のイベントが、イベントサイクル中に当該プロセッサによって発行される命令、イベントサイクル中に有効にされる条件付クロック、およびイベントサイクル中にアクセスされるキャッシュのうちの少なくとも1つを含む、プロセッサ。
【請求項42】
請求項36に記載のプロセッサにおいて、前記電力制御部が、当該プロセッサのキューまたは発行のパイプラインにスロットル信号を発行して、さらなる処理を阻止する、プロセッサ。
【請求項43】
請求項36に記載のプロセッサにおいて、さらに、
さらなる処理が阻止された後に消費された電力を推定するオーバーシュート電力推定手段を備えた、プロセッサ。
【請求項44】
請求項43に記載のプロセッサにおいて、前記電力制御部が、当該プロセッサにおけるイベントのさらなる処理を、当該イベントの推定された電力と、先のイベントにおいてさらなる処理が阻止された後に消費された電力との相関関係において阻止する、プロセッサ。
【請求項45】
電力消費を制御する方法であって、
1つ以上のタスクを実行する間に消費された電力であって、あるユニットで消費された電力に関する電力情報を累積する過程と、
前記累積した電力情報が所定の閾値よりも大きい場合、前記1つ以上のタスクのさらなる実行を阻止することによって、前記ユニットの電力消費を制御する過程とを備えた、電力消費制御方法。
【請求項46】
請求項45に記載の電力消費制御方法において、さらに、
各タスクを実行する間に消費された電力を推定して、前記電力情報を累積する過程を備えた、電力消費制御方法。
【請求項47】
請求項46に記載の電力消費制御方法において、さらに、
各タスクに伴う既知の電力値についてのデータベースに基づいて、前記消費された電力を推定する過程を備えた、電力消費制御方法。
【請求項48】
請求項45に記載の電力消費制御方法において、さらに、
所定時間および所定のタスク数のうちの少なくとも一方の間、前記ユニットの前記電力情報を累積する過程を備えた、電力消費制御方法。
【請求項49】
請求項45に記載の電力消費制御方法において、さらに、
前記ユニットの実行パイプラインにスロットル信号を発行して、前記1つ以上のタスクのさらなる実行を阻止する過程を備えた、電力消費制御方法。
【請求項50】
請求項45に記載の電力消費制御方法において、さらに、
前記1つ以上のタスクのさらなる実行が阻止された後に消費された電力に関する情報を累積する過程を備えた、電力消費制御方法。
【請求項51】
請求項50に記載の電力消費制御方法において、さらに、
前記累積した電力情報と、消費された電力の情報との合計が前記所定の閾値よりも大きい場合、前記1つ以上のタスクのさらなる実行を阻止する過程を備えた、電力消費制御方法。
【請求項52】
電力消費を制御する装置であって、
1つ以上のタスクを実行する間に消費された電力であって、あるユニットで消費された電力に関する電力情報を累積する電力累積手段と、
前記累積した電力情報が所定の閾値よりも大きい場合、前記1つ以上のタスクのさらなる実行を阻止することによって、前記ユニットの電力消費を制御する電力制御手段とを備えた、電力消費制御装置。
【請求項53】
請求項52に記載の電力消費制御装置において、前記電力累積手段が、各タスクを実行する間に消費された電力を推定して、前記電力情報を累積する、電力消費制御装置。
【請求項54】
請求項53に記載の電力消費制御装置において、前記電力累積手段が、各タスクに伴う既知の電力値についてのデータベースに基づいて、前記消費された電力を推定する電力推定手段を有する、電力消費制御装置。
【請求項55】
請求項52に記載の電力消費制御装置において、前記電力累積手段が、所定時間および所定のタスク数のうちの少なくとも一方の間、前記ユニットの前記電力情報を累積する、電力消費制御装置。
【請求項56】
請求項52に記載の電力消費制御装置において、前記電力制御手段が、前記ユニットの実行パイプラインにスロットル信号を発行して、前記1つ以上のタスクのさらなる実行を阻止する、電力消費制御装置。
【請求項57】
請求項52に記載の電力消費制御装置において、前記電力累積手段が、さらに、前記1つ以上のタスクのさらなる実行が阻止された後に消費された電力に関する電力情報を累積する、電力消費制御装置。
【請求項58】
請求項52に記載の電力消費制御装置において、前記電力制御手段が、前記累積した電力情報と、消費された電力の情報との合計が前記所定の閾値よりも大きい場合、前記1つ以上のタスクのさらなる実行を阻止する、電力消費制御装置。
【請求項59】
コンピュータチップの温度を制御する方法であって、
前記チップの温度を監視する過程と、
前記チップの温度が所定の閾値よりも大きい場合、当該温度を減少させるために、前記チップにおけるイベントの処理を阻止する過程とを備えた、コンピュータチップ温度制御方法。
【請求項60】
請求項59に記載のコンピュータチップ温度制御方法において、さらに、
前記チップの接合温度を監視して、当該チップの温度を監視する過程を備えた、コンピュータチップ温度制御方法。
【請求項61】
コンピュータチップの温度を制御する装置であって、
前記チップの温度を監視する温度監視モジュールと、
前記チップの温度が所定の閾値よりも大きい場合、当該温度を減少させるために、前記チップにおけるイベントの処理を阻止する性能抑制モジュールとを備えた、コンピュータチップ温度制御装置。
【請求項62】
請求項61に記載のコンピュータチップ温度制御装置において、前記温度監視モジュールが、前記チップの接合温度を監視して、当該チップの温度を監視する、コンピュータチップ温度制御装置。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2013−518346(P2013−518346A)
【公表日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2012−551212(P2012−551212)
【出願日】平成23年1月24日(2011.1.24)
【国際出願番号】PCT/US2011/022217
【国際公開番号】WO2011/094148
【国際公開日】平成23年8月4日(2011.8.4)
【出願人】(508002601)カビウム・インコーポレーテッド (1)
【Fターム(参考)】