IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 学校法人幾徳学園の特許一覧

特許7496607電力推定装置、演算装置および電源制御システム
<>
  • 特許-電力推定装置、演算装置および電源制御システム 図1
  • 特許-電力推定装置、演算装置および電源制御システム 図2
  • 特許-電力推定装置、演算装置および電源制御システム 図3
  • 特許-電力推定装置、演算装置および電源制御システム 図4
  • 特許-電力推定装置、演算装置および電源制御システム 図5
  • 特許-電力推定装置、演算装置および電源制御システム 図6
  • 特許-電力推定装置、演算装置および電源制御システム 図7
  • 特許-電力推定装置、演算装置および電源制御システム 図8
  • 特許-電力推定装置、演算装置および電源制御システム 図9
  • 特許-電力推定装置、演算装置および電源制御システム 図10
  • 特許-電力推定装置、演算装置および電源制御システム 図11
  • 特許-電力推定装置、演算装置および電源制御システム 図12
  • 特許-電力推定装置、演算装置および電源制御システム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-30
(45)【発行日】2024-06-07
(54)【発明の名称】電力推定装置、演算装置および電源制御システム
(51)【国際特許分類】
   G06F 1/3206 20190101AFI20240531BHJP
   G06F 1/3296 20190101ALI20240531BHJP
   G06F 1/324 20190101ALI20240531BHJP
【FI】
G06F1/3206
G06F1/3296
G06F1/324
【請求項の数】 9
(21)【出願番号】P 2020138683
(22)【出願日】2020-08-19
(65)【公開番号】P2022034806
(43)【公開日】2022-03-04
【審査請求日】2023-07-11
(73)【特許権者】
【識別番号】391022614
【氏名又は名称】学校法人幾徳学園
(74)【代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】河口 進一
【審査官】豊田 真弓
(56)【参考文献】
【文献】特開2012-080756(JP,A)
【文献】特開平11-127536(JP,A)
【文献】特開2020-022254(JP,A)
【文献】特開2016-146158(JP,A)
【文献】特開2015-014833(JP,A)
【文献】国際公開第2008/018197(WO,A1)
【文献】特開2018-129953(JP,A)
【文献】特開昭63-196869(JP,A)
【文献】国際公開第2019/077717(WO,A1)
【文献】特開2015-027235(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/3206
G06F 1/3296
G06F 1/324
(57)【特許請求の範囲】
【請求項1】
演算装置が消費する電力を推定する装置であって、
前記演算装置が備える性能計測回路から出力された出力情報と、過去の出力情報に関係する遅延情報とに重み付けする重み付け手段と、
重み付けされた前記出力情報に重み付けされた前記遅延情報を加算する加算手段と、
前記加算手段の加算結果を保持し、前記性能計測回路から次に出力情報が出力された場合に該加算結果を次の遅延情報として出力する保持手段と、
前記加算手段の加算結果にパラメータを適用して、前記演算装置が消費する電力の推定情報を出力する推定手段と
を含み、
前記推定手段は、前記加算手段の加算結果に第1のパラメータを乗算するパラメータ乗算手段と、前記パラメータ乗算手段の乗算結果に第2のパラメータを加算するパラメータ加算手段とを含む、電力推定装置。
【請求項2】
前記重み付け手段と、前記加算手段と、前記保持手段と、前記パラメータ乗算手段と、前記パラメータ加算手段とから構成される演算処理部を複数備え、
前記推定手段は、複数の前記演算処理部から出力された情報を合計して前記推定情報として出力する合計手段を含み、
前記各演算処理部は、前記演算装置が備える各性能計測回路と接続され、前記各性能計測回路から出力された各出力情報を取得する、請求項に記載の電力推定装置。
【請求項3】
前記推定手段から出力された前記推定情報を記憶する記憶手段と、
前記推定手段から次に出力された推定情報から前記記憶手段に記憶された推定情報を減算する減算手段と
を含む、請求項1または2に記載の電力推定装置。
【請求項4】
前記重み付け手段は、前記出力情報に対して0と1との間の値を取る定数αを重みとして乗算し、前記遅延情報に対して1-αを重みとして乗算する、請求項1~のいずれか1項に記載の電力推定装置。
【請求項5】
前記重み付け手段は、
前記出力情報を構成するビットを右へシフトさせる第1のシフト手段と、
前記遅延情報を構成するビットを右へシフトさせる第2のシフト手段と、
1から前記第2のシフト手段のシフト結果を減算する減算手段と
を含む、請求項1~のいずれか1項に記載の電力推定装置。
【請求項6】
請求項1~のいずれか1項に記載の電力推定装置と、前記電力推定装置から出力された演算装置が消費する電力の推定情報に基づき、前記演算装置に電力を供給する電源装置を制御する電源制御装置とを含む、電源制御システム。
【請求項7】
前記電源制御装置は、前記電源装置が前記演算装置に供給する電力の電圧と、参照電圧との差分と、前記推定情報とに基づき、前記電源装置が備える前記演算装置に電力を供給する回路の数を決定し、決定した数の前記回路に入力するパルス幅変調(PWM)情報を生成する、請求項に記載の電源制御システム。
【請求項8】
前記電源装置が前記演算装置に供給する電源の電圧を変換する変換装置と、変換された前記電圧と参照電圧との差分に基づき、前記電源制御装置に入力する制御情報を生成する生成装置とを含む、請求項またはに記載の電源制御システム。
【請求項9】
請求項1~のいずれか1項に記載の電力推定装置と、前記電力推定装置から出力された電力の推定情報に基づき、前記電力が最小となるように演算を制御する演算制御装置とを含む、演算装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演算装置が消費する電力を推定する電力推定装置、演算装置および電源制御システムに関する。
【背景技術】
【0002】
PC(Personal Computer)等の一般的な計算機に実装される演算装置(プロセッサ)は、演算時間に比較して待ち時間が長く、低負荷となる時間が多くを占める。ここで、図1を参照して、プロセッサの電源効率について説明する。ある程度の負荷率までは一定以上の効率であるが、その負荷率より低い低負荷領域に入ると、破線で囲んだ部分に示すように急激に効率が低下する。図1中、負荷率は、ある期間における平均電力と最大電力の比である。また、効率は、投入した電力に対するプロセッサに供給するために変換した電力の割合である。したがって、実運用では、低負荷となる時間を多く占めるため、全体的に低効率で、電力損失が大きくなっている。
【0003】
プロセッサの電源効率を向上させるため、電源を並列に動作させるマルチフェーズ電源を用い、負荷に応じて効率が最大となるようにフェーズ数を制御する方法が知られている(例えば、特許文献1、2参照)。この方法では、プロセッサの電力負荷を監視するために、プロセッサに電力を供給する電力供給路上に電流センサを挿入し、プロセッサに供給される電流を計測している。
【0004】
しかしながら、電力供給路上に電流センサを挿入すると、電流センサで電力損失が発生するという問題がある。プロセッサの電力負荷は、頻繁に変動するため、変動に応じて適切なタイミングでフェーズ数を変更しなければならない。電源制御をデジタル制御で実現する場合、AD(アナログ-デジタル)変換器で出力をデジタル信号に変換する必要があるため、負荷変動に対する応答遅延が生じるという問題もある。
【0005】
これらの問題に鑑み、電流センサを用いることなく、プロセッサがもつ性能カウンタから出力される性能カウンタ情報に基づき、プロセッサの電力負荷を推定し、推定した電力負荷に応じて電源効率改善に最も適するタイミングでフェーズ数を変更させる方法が提案されている(例えば、特許文献3参照)。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2002-44941号公報
【文献】特開2009-5467号公報
【文献】特開2016-146158号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記の特許文献3に記載の方法では、性能カウンタから出力されるデジタル信号の移動加算平均から電力負荷を推定しており、移動加算平均を求めるための大容量のメモリと高性能なプロセッサとが必要で、ハードウェアが大規模化するという問題があった。
【課題を解決するための手段】
【0008】
本発明は、上記課題に鑑み、演算装置が消費する電力を推定する装置であって、
演算装置が備える性能計測回路から出力された出力情報と、過去の出力情報に関係する遅延情報とに重み付けする重み付け手段と、
重み付けされた出力情報に重み付けされた遅延情報を加算する加算手段と、
加算手段の加算結果を保持し、性能計測回路から次に出力情報が出力された場合に該加算結果を次の遅延情報として出力する保持手段と、
加算手段の加算結果にパラメータを適用して、演算装置が消費する電力の推定情報を出力する推定手段と
を含む、電力推定装置が提供される。
【発明の効果】
【0009】
本発明によれば、小規模なハードウェアでプロセッサが消費する電力の推定が可能となる。
【図面の簡単な説明】
【0010】
図1】電源効率曲線を示した図。
図2】マルチフェーズDC-DCコンバータの構成例を示した図。
図3】プロセッサ電源のフェーズ数制御について説明する図。
図4】フェーズ数制御による効率改善について説明する図。
図5】従来の電源制御システムの構成を示した図。
図6】電源制御システムの第1の構成例を示した図。
図7】電源制御システムに適用される電力推定装置の第1の構成例を示した図。
図8】乗算器の代替構成例を示した図。
図9】電力推定装置を用いた電源制御について説明する図。
図10】電源制御の流れを示したフローチャート。
図11】電源制御システムの第2の構成例を示した図。
図12】電源制御システムに適用される電力推定装置の第2の構成例を示した図。
図13】電源制御システムの適用例を示した図。
【発明を実施するための形態】
【0011】
本発明の電源制御システムは、プロセッサに供給する電源を制御するシステムである。PCやサーバ等の一般的な計算機は、プロセッサ、メインメモリ、HDD(Hard Disk Drive)、マザーボード、冷却装置、電源ユニット等を含む。プロセッサは、種々のプログラムを実行し、データの転送、演算、加工、制御等を実行する。メインメモリは、プロセッサがデータの加工等を行うためにプログラムやデータを一時的に保持する。HDDは、プログラムやデータを記憶する。マザーボードは、プロセッサやメインメモリ等の電子部品を搭載したプリント基板である。冷却装置は、プロセッサ等の電子部品を冷却する。電源ユニットは、交流電源を計算機で使用する直流電源に変換する。
【0012】
計算機が備えるこれらの構成要素の中で、プロセッサが最も消費電力が多いと評価される事例がある。現在では、計算機に限らず、テレビ、複合機、デジタルカメラ、空調機等にも、プロセッサが搭載され、種々の制御を行っている。このため、プロセッサの消費電力を抑制するための様々な取り組みが行われている。
【0013】
その1つとして、マルチフェーズ電源を用い、フェーズ数を制御する方法が知られている。図2は、マルチフェーズDC-DCコンバータの構成例を示した図である。計算機は、コンセントやバッテリから電源供給を受けて動作する。プロセッサは、コンセントから供給され、直流電源に変換された電源やバッテリから供給される電源の電圧より低い電圧で動作することから、投入される電源の電圧を動作電圧に変換する必要がある。マルチフェーズDC-DCコンバータ10は、プロセッサ電源として使用され、プロセッサの動作電圧に変換する装置である。
【0014】
図2に示す例では、4つのフェーズを有している。フェーズは、電源を変換する1つの回路を示す。各フェーズは、電源供給路11上の第1のスイッチ12と、電源供給路11と基準電位点(アース)13との間に設けられる第2のスイッチ14と、コイル15とを含む。第1のスイッチ12および第2のスイッチ14は、例えば電界効果トランジスタ(FET)により実現される。FETは、ゲート(G)、ドレイン(D)、ソース(S)の3つの端子を有し、ゲートにかかる電圧によりソース-ドレイン間の電流を制御する回路である。マルチフェーズDC-DCコンバータ10の第1のスイッチ12および第2のスイッチ14は、電源制御回路16のパルス幅変調(PWM)制御によりオンとオフを繰り返し切り替え、出力する電力を制御する。
【0015】
電源制御回路16は、PWM制御を行うため、基準となる参照電圧と、実際にプロセッサ17に供給する電圧との差分が入力される。電源制御回路16は、参照電圧との差分が小さくなるように、PWM信号の周波数やパルス幅を調整する。
【0016】
プロセッサ17は、プログラムの実行、データの読み出しや書き込み等の様々な処理を行う。これらの処理は、必ずしも決まった時間に実行されない。このため、プロセッサ17へ供給する電力は、負荷に応じて変動できることが望ましい。そこで、マルチフェーズDC-DCコンバータ10とプロセッサ17との間には、バッファとして機能するコンデンサ18が設けられている。
【0017】
プロセッサは、プログラムの起動等により負荷が大きく変動する場合、PWM信号の調整のみでは負荷に応じて効率を制御することができない。そこで、マルチフェーズDC-DCコンバータ10のフェーズ数を制御して、広範囲の電力負荷での電源効率を改善する。
【0018】
電源制御回路16は、フェーズ数を制御するにあたって、現在どの程度の負荷であるかを判断するための負荷情報が必要となる。負荷は、プロセッサへ供給する電力に依存することから、プロセッサへ供給する電流量を負荷情報とすることができる。このため、マルチフェーズDC-DCコンバータ10とプロセッサ17との間に、電流を検出する電流検出器19が設けられ、電流検出器19から出力される電流量を負荷情報として取得する。
【0019】
図3は、プロセッサ電源のフェーズ数制御について説明する図である。図2に示す電源制御回路16が、電流検出器19から取得した負荷情報からプロセッサの負荷を判断し、低負荷の場合は稼働するフェーズ数を減らす。各フェーズの第1のスイッチ12および第2のスイッチ14に使用されるFETは、ソース-ドレイン間に生じるオン抵抗等を有し、オン抵抗等により電力が熱に変換され、電力損失が生じる。低負荷の場合は、ソース-ドレイン間を流れる電流が少なく、ほぼ一定の抵抗となり、電力損失もほぼ一定である。したがって、フェーズ数を減らすことで、各フェーズで固定的に発生する電力損失を減少させ、プロセッサ電源全体での電力損失を抑制することができる。
【0020】
高負荷の場合は、稼働するフェーズ数を増やし、電流を分散させる。高負荷の場合、熱に変換される量が増加し、電力損失も負荷に応じて増加する。電気抵抗による熱の散逸の割合は、ジュールの第1法則により電流の二乗と電気抵抗に比例する。このため、フェーズ数を増やし、電流を分散させ、各フェーズに流れる電流を減少させることで、供給電流の二乗に比例する電力損失を小さくし、プロセッサ電源全体での電力損失を抑制することができる。
【0021】
電源制御回路16は、負荷に応じて効率が最大となるように、フェーズ数を1~4に遷移させる。負荷が大きく低下した場合は、フェーズ数を、例えば4→2や2→1へ遷移させる。負荷が大きく増加した場合は、フェーズ数を、例えば1→2や2→4へ遷移させる。なお、フェーズ数の遷移は、上記の4→2や1→2に限らず、4→3、3→1、1→3、3→4等であってもよい。
【0022】
図4は、フェーズ数制御による効率改善について説明する図である。負荷率と効率との関係は、フェーズ数により異なる。図4に示すグラフでは、フェーズ数が少なくなるほど、効率が急激に低下し始める点の負荷率が小さくなっている。これは、同じ負荷でも、低負荷ではフェーズ数が少ないほうが、効率が高いことを示している。このため、低負荷ではフェーズ数を減らすことで、効率を改善することができる。
【0023】
このようにして電流検出器19により電流を計測してプロセッサ17の電力負荷をモニタし、負荷に応じたフェーズ数制御を行うことができる。
【0024】
しかしながら、電源供給路11上に電流検出器19を挿入すると、電流検出器19から出力される電流がアナログ信号として出力されるため、デジタル制御を行う場合、ADコンバータ等の追加の回路が必要となる。また、電流検出器19は、抵抗を含み、抵抗は、電力を熱に変換されることから、電力を損失する。さらに、ADコンバータでデジタル信号に変換する場合、変換に時間を要するため、負荷変動に遅延なく追従することは困難であり、応答遅延が生じる。
【0025】
ところで、プロセッサは、処理負荷を監視するため、性能計測回路を備える。処理負荷は、プロセッサの内部でどのような種類の処理がどの程度の頻度で実行されているかという動作率αにより決まる。プロセッサの消費電力PCPU(W)は、次の式1で示されるように動作率αの関数として定義され、動作率αにより変動する。
【0026】
【数1】
【0027】
上記式1中、fは動作周波数(Hz)、Cは負荷容量(VA)、Vはコア電圧(V)、Ileakはリーク電流(A)をそれぞれ示す。
【0028】
したがって、処理負荷と消費電力は連動しており、性能計測回路から出力される処理負荷の変動情報を取得することで、消費電力の変動を検出することができる。このため、電流検出器19により電力負荷を計算するために必要な電流を検出しなくても、性能計測回路からの情報により遅延を生じることなく電源制御が可能となる。
【0029】
図5は、性能計測回路からの情報を用いて電源制御を行う従来の構成を示した図である。電源回路20は、図2に示したマルチフェーズDC-DCコンバータ10である。プロセッサ21は、性能計測回路22を備える。電源制御システムは、消費電力推定回路23と、差分検出回路24と、参照電圧25と、位相調整回路26と、加算回路27と、PWM回路28とを含む。
【0030】
電源回路20から出力される電源は、フィードバック制御を行うことで、プロセッサ21に必要とされる電圧になるように制御される。フィードバック制御は、差分検出回路24と、参照電圧25と、位相調整回路26とにより行われる。電源回路20から出力される電源は、AD変換器によりデジタル信号に変換されて差分検出回路24へ供給される。
【0031】
参照電圧25は、プロセッサ21に供給すべき電圧の目標値を与える。差分検出回路24は、電源回路20から出力され、デジタル信号に変換された出力電圧と、参照電圧との差分の電圧を差分電圧として出力する。位相調整回路26は、差分電圧の位相を調整する。そして、位相調整回路26は、位相調整した差分信号に基づき、PWMのDuty比を計算して出力する。PWMのDuty比は、周期的にオンとオフを繰り返すPWM信号の1周期におけるオンの期間の割合である。
【0032】
フィードバック制御のみの場合、PWM回路28は、加算回路27を介してDuty比を受け取り、Duty比に基づき、PWM信号を生成し、電源回路20へ出力する。電源回路20では、第1のスイッチ12および第2のスイッチ14として使用されるFETのゲートを駆動するドライバにPWM信号を入力する。ドライバは、PWM信号に基づき、FETのゲート電圧をオン/オフさせ、参照電圧になるように出力電圧を調整する。
【0033】
フィードバック制御は、プロセッサに供給する電圧を所定の電圧になるように制御することができる。しかしながら、デジタル制御においては、出力電圧をデジタル制御器に帰還する際のAD変換に要する遅延が要因となり、プロセッサの処理負荷の変動に起因する消費電力の変動への負荷変動応答性能を改善することができない。さらに、プロセッサへの供給電圧が増加または減少したことを検出して、電源制御のスイッチング周期毎の操作量の決定処理を行うため、負荷変動への追従性を向上させることが困難である。
【0034】
そこで、スイッチング周期(マイクロ秒オーダ)より短い時間間隔(ナノ秒オーダ)でプロセッサの消費電力の推定を行い、プロセッサへの供給電圧が増加または減少する前に電源出力を制御するフィードフォワード制御を、消費電力推定回路23により実現する。
【0035】
性能計測回路22は、性能カウンタとして、アプリケーションのチューニング、ソフトウェアやハードウェアのデバッキング、ソフトウェアの性能測定、ボトルネック解析等を目的として実装されている。性能計測回路22は、カウンタを有し、プロセッサ21において処理や命令が実行されたときにカウンタを更新する。性能計測回路22は、カウンタの更新を計測対象のイベントが発生したものとし、外部信号の値を変化させ、外部に情報として出力する。
【0036】
性能計測回路22は、発生するイベントの種類に応じて設けられる。したがって、複数種類のイベントが発生する場合、複数の性能計測回路22が設けられる。イベントの種類は、例えばL2キャッシュメモリアクセス数(キャッシュヒット)、L2キャッシュメモリアクセス数(キャッシュミス)、データ転送サイクル数、ブランチ命令発行数(分岐予測ヒット/ミス)、発行命令数等である。ここでは、プロセッサが複数の性能計測回路22をもち、各性能計測回路22が1つずつカウンタをもつものとして説明するが、プロセッサが1つの性能計測回路22をもち、1つの性能計測回路22が複数のカウンタをもつ構成であってもよい。
【0037】
消費電力推定回路23は、性能計測回路22から出力された情報(性能カウンタ更新信号)を取得する。消費電力推定回路23は、取得した情報を加工して性能カウンタ情報を作成し、性能カウンタ情報を変数とする消費電力推定モデルを定義し、一定時間後にプロセッサにおいて消費される電力を推定する。消費電力推定回路23は、任意の時間における性能カウンタ更新信号の平均値を計算し、計算された平均値を次の式2に示す消費電力推定式に入力してプロセッサの消費電力を算出する。
【0038】
【数2】
【0039】
上記式2中、P(ただし、Pの頂部に^が付く)は、時刻kステップにおける消費電力の推定値(W)、CNTi,k-j(ただし、CNTの頂部に-が付く)は、性能カウンタiの時刻k-jステップにおける性能カウンタ更新信号の平均値である。また、ai,jは、性能カウンタiのjステップ過去の性能カウンタ情報に対する係数、bは、一定値、qは、過去の性能カウンタ情報の線形結合により時刻kにおける消費電力を推定する際の、過去を遡るステップ数の最大値を示す。時刻kステップは、時間tで区画される区間で、消費電力を推定する時間粒度に対応する。CNTi,k-jは、性能カウンタ情報である。
【0040】
上記式2におけるCNTi,k-j(ただし、CNTの頂部に-が付く)は、次の式3により算出される。なお、式3中、PMi,ksは、プロセッサに内蔵される性能カウンタiの、時刻kステップ内でのインデックスsにおける変化を示すプロセッサからの出力であり、0または1のいずれかの値を取る。
【0041】
【数3】
【0042】
消費電力推定回路23は、算出した消費電力に対応するPWMのDuty比を、Duty比の算出式を用いて計算する。Duty比の算出式は、下記式4に示すような式で表される。
【0043】
【数4】
【0044】
上記式4中、DFF(m)は、制御サイクルmに関するフィードフォワード制御によるPWMのDuty比、P、Pm-1(ただし、Pの頂部に^が付く)は、時刻tステップ、時刻tm-1ステップにおけるプロセッサ21の消費電力の推定値、Kffは、調整係数を示す。消費電力推定回路23は、計算したDuty比を加算回路27へ出力する。
【0045】
加算回路27は、位相調整回路26から出力されたフィードバック制御によるPWMのDuty比と、消費電力推定回路23から出力されたフィードフォワード制御によるPWMのDuty比とを加算し、得られた合算Duty比をPWM回路28へ出力する。PWM回路28での処理は、上記で既に説明したので、ここでは説明を省略する。
【0046】
図5に示した従来の電源制御システムでは、性能カウンタ更新信号の平均値を用いて消費電力を算出するため、計算に必要なデータをメモリに保存し、保存したデータの全てにつき加算演算を行う必要がある。このため、大容量のメモリが必要で、演算能力が高い高性能のプロセッシングユニットが必要となる。これではハードウェアの規模が大きくなり、プロセッサと電源制御システムとを備える計算機が高価になる。
【0047】
そこで、電源制御システムを小規模なハードウェアで実現するため、図6に示すような構成とする。図6は、本発明の電源制御システムの第1の構成例を示した図である。電源制御システムは、電力推定回路と、電源制御器30とを含む。電力推定回路としては、電力推定IIR(Infinite Impulse Response)デジタルフィルタ31が用いられる。
【0048】
プロセッサ21は、性能計測回路22を備える。プロセッサ21において電力消費に関わる演算が行われると、性能計測回路22はイベントを検出し、カウンタを更新し、カウンタ更新情報を示すデジタル信号を出力する。
【0049】
電力推定IIRデジタルフィルタ31は、性能計測回路22から出力されたデジタル信号を取得し、所定の処理を行い、負荷電力推定値を出力する。
【0050】
電源制御器30は、電力推定IIRデジタルフィルタ31から出力された負荷電力推定値に基づき、電源回路20を制御するための電源制御信号を生成する。電源制御器30は、従来のシステムのPWM回路28と同様の回路であるが、負荷電力推定値に基づき、Duty比を算出する機能を有する。
【0051】
電源回路20は、電源制御器30から出力された電源制御信号に基づき、入力された電圧をプロセッサ21へ供給できる電圧の電力へ変換する。
【0052】
図7は、電力推定IIRデジタルフィルタ31の第1の構成例を示した図である。電力推定IIRデジタルフィルタ31は、イベントの種類に応じた性能カウンタ更新信号が入力される1以上の演算処理部32と、1以上の演算処理部32から出力される信号を加算する加算器33とを含む。各演算処理部32には、イベントの種類、すなわち性能計測項目(0~N、Nは1以上の整数)に対応する時刻tにおける性能カウンタ更新信号が入力される。図7に示す例では、各性能計測項目に対応する性能カウンタ更新信号をevent0[t]~eventN[t]で示している。
【0053】
性能カウンタ更新信号は、性能カウンタが更新され、性能カウンタの値が1増加するときに論理レベルが1となり、計測対象のイベントが発生したことを示す信号である。性能カウンタ更新信号は、イベント発生の有無に応じて、0、1のいずれかの値を取る。
【0054】
演算処理部32は、乗算器40~42と、加算器43、44と、遅延素子45とを含む。加算器43は、加算手段として機能し、乗算器40、41は、重み付け手段として機能し、乗算器42および加算器44は、加算器33を含め、電力を推定する推定手段として機能する。
【0055】
乗算器40は、入力された性能カウンタ更新信号に対し、予め調整された定数値α(0<α<1)を重みとして乗算し、演算結果を出力する。乗算器41は、遅延情報としての遅延信号に対し、予め調整された定数値β(0<β<1)を重みとして乗算し、演算結果を出力する。βは、例えば1-αとされる。
【0056】
なお、αで示される重みは、2-kの値となるように決定してもよい。この場合、図8に示すように、データを右にシフトさせるシフト回路46、47、減算器48を用いて、重み付けを行うことができる。シフト回路46、47は、データを構成するビットをkビットだけ単純に右にシフトさせる。具体的には、「00001011」というデータにおいて、右に1ビットシフトさせる場合、左に「0」を追加し、右端の1つのビット「1」を削除して「00000101」となる。これは値が1/2になることを示している。
【0057】
βで示される重みは、シフト回路47で得られる2-kの値を、1から減算した値である。このため、減算器48を用いて、1-2-kの値を計算できるようにしている。これにより、計算コストの高い乗算器40、41を用いることなく、計算コストの低いシフト回路と減算器のみで乗算を実現することができる。
【0058】
再び図7を参照して、加算器43は、乗算器40から出力された演算結果に、乗算器41から出力された演算結果を加算する。加算器43は、演算結果を乗算器42と遅延素子45との両方へ出力する。乗算器42は、パラメータ定数Pを乗算し、演算結果を出力する。加算器44は、乗算器42から出力された演算結果に、パラメータ定数Qを加算する。加算器33は、各演算処理部32から出力された演算結果を加算し、各時刻における電力の推定値PW[t](ただし、PWの頂部に^が付く)を出力する。
【0059】
遅延素子45は、加算器43から出力された演算結果を保持し、性能計測回路22から次に性能カウンタ更新信号が出力された場合に保持した演算結果を次の遅延情報として出力する。すなわち、遅延素子45は、1つ前に入力された値を遅延信号Z-1として出力する。
【0060】
加算器43の演算結果は、最新の結果に0と1との間の値を取る重みを掛けたものに、1つ前の結果に0と1との間の値を取る重みを掛けたものを加算するため、古い結果ほど重みが小さく、最新の結果ほど重みが大きい指数移動平均を計算した結果と同様のものになる。
【0061】
このような演算処理部32により性能計測項目ごとに各時刻における指数移動平均を計算し、計算した指数移動平均に基づき、消費電力の推定値を計算し、各推定値の合計を求めることで、プロセッサ21の各時刻における消費電力を、大容量のメモリや高性能のプロセッシングユニットを用いることなく推定することができる。
【0062】
本システムでは、遅延素子45が1つ前の値を保持するのみであるため、従来のような計算に必要な複数のデータを保持する必要はなく、大容量のメモリが不要となる。また、本システムでは、得られた平均値に対し、パラメータを乗算および加算するのみで消費電力の推定値を出力するため、従来のような消費電力推定式に平均値を導入して複雑な計算を行う必要はなく、高性能のプロセッシングユニットも不要となる。このため、小規模なハードウェアで消費電力を推定することができ、安価で提供することが可能となる。
【0063】
図9および図10を参照して、電源制御システムを利用した電源制御について説明する。電源制御システムは、電源制御システムを搭載した計算機が動作を開始したことに応答して、ステップ100から制御を開始する。プロセッサ21は、図9に示すように、電源回路20を備え、電源回路20は、投入される電圧Vinをプロセッサ21が必要とする電圧Vcoreに変換してプロセッサ21に供給する。
【0064】
プロセッサ21が消費電力に関わる演算を行うと、性能計測回路22は、イベントの発生を検出し、内部にもつ性能カウンタを更新し、性能カウンタを更新したことを示す性能カウンタ更新信号を出力する。プロセッサ21は、1以上の性能計測回路22を備え、各性能計測回路22は、それぞれが異なるイベントの発生を検出する。
【0065】
図10のステップ101では、電力推定IIRデジタルフィルタ31が、性能計測回路22から出力された性能カウンタ更新信号を取得する。電力推定IIRデジタルフィルタ31内の各演算処理部32は、イベントの種類に応じて設けられている各性能計測回路22と接続されている。時刻tにおいて2つのイベントが発生した場合、各イベントに対応する各演算処理部32が、各イベントを検出した各性能計測回路22から各性能カウンタ更新信号を取得する。
【0066】
ステップ102では、演算処理部32が性能カウンタ更新信号を取得したことに応答して、遅延素子45が遅延信号を出力する。ステップ103では、乗算器40が、取得した性能カウンタ更新信号の値に重み付けを行い、乗算器41が、出力された遅延信号の値に重み付けを行う。ステップ104では、加算器43が、重み付けした性能カウンタ更新信号の値に、重み付けした遅延信号の値を加算する。ステップ105では、遅延素子45が、加算器43の演算結果を、次の遅延信号として出力するために保持する。
【0067】
ステップ106では、乗算器42が、加算器43の演算結果にパラメータPを乗算し、加算器44が、パラメータQを加算して、消費電力を算出する。なお、性能カウンタが更新されず、性能カウンタ更新信号の入力を受け付けない演算処理部32は、消費電力が発生しないので、消費電力を算出しない。また、ステップ105とステップ106は、この順に限られるものではなく、同時に実施してもよい。ステップ107では、加算器33が、各演算処理部32から出力された各イベントの種類につき計算した消費電力を合計し、その時刻におけるプロセッサの消費電力を算出し、算出した消費電力を負荷電力推定値として電源制御器30に出力する。
【0068】
ステップ108では、電源制御器30は、電力推定IIRデジタルフィルタ31から出力された負荷電力推定値と、電源回路20から出力され、図示しないADコンバータによりデジタル信号に変換された電圧と参照電圧との差分とに基づき、フェーズ数を決定し、Duty比を計算し、PWM信号を生成する。負荷電力推定値からDuty比を計算する場合、上記式4を用い、t、tm-1ステップではなく、時刻t、t-1としてDuty比を計算する。電源制御器30は、変換された電圧と参照電圧との差分からもDuty比を計算し、負荷電力推定値から計算したDuty比と合算し、合算Duty比からPWM信号を生成する。
【0069】
電源制御器30は、電源回路20に決定した数のフェーズのドライバ29にPWM信号を出力する。ステップ109では、計算機の動作が停止したかどうかを確認し、停止した場合は、ステップ101へ戻り、停止していない場合はステップ110へ進み、電源制御を終了する。
【0070】
計算機の動作が停止したかどうかは、計算機の電源が切断されたかどうか、計算機が待機状態に入ったか否かにより判断することができる。
【0071】
電源制御器30は、電源回路20が最も高効率となるようにフェーズ数を制御し、PWM信号SH0~SH3、SL0~SL3の動作周波数を制御する。具体的には、図3に示した効率と負荷率との関係を用い、負荷電力推定値から負荷率を計算し、計算した負荷率のときに最も高い効率となるフェーズ数を、稼働させるフェーズ数として決定することができる。
【0072】
図11は、電源制御システムの第2の構成例を示した図である。図9に示した第1の構成例は、電源回路20から出力された電圧を、参照電圧に一致するように制御する比例制御を行う構成の一例である。図11には、プロセッサ21に供給する電源の電圧をデジタル信号に変換するAD変換器50が示されている。
【0073】
比例制御は、電源回路20から出力された電圧と参照電圧との差(偏差)が小さくなると、偏差に基づき決定される制御量が小さくなりすぎ、目標値からずれた値で安定してしまう。このずれ量は、オフセットと呼ばれる。また、比例制御は、制御量が急激に変化する場合の反応性が低く、制御量の急激な変化に対応することができない。
【0074】
電源回路20の出力電圧は、比例制御によるフィードバック制御により補正されるが、補正値が適用されるまで、参照電圧との比較を行い、電源制御器30を通過する必要があるため、位相ずれが発生する。
【0075】
そこで、第2の構成例では、PID・位相補償回路51を備える。また、第2の構成例では、電力推定IIRデジタルフィルタ31に代えて、電力変動推定IIRデジタルフィルタ52を使用する。それ以外の構成については既に説明したので、ここでは説明を省略する。
【0076】
PID・位相補償回路51は、PID制御として、比例制御、積分制御、微分制御を行う。微分制御は、電源回路20から出力される電圧が急激に変化した場合に、その変化の大きさに比例して入力値を変化させる制御を行う。積分制御は、偏差の積分に比例して入力値を変化させる制御を行う。微分制御および積分制御を追加したPID制御を行うことで、オフセットをなくし、制御量の急激な変化に対応することが可能となる。
【0077】
PID・位相補償回路51は、位相ずれにより目標値に収束しなくなることを防ぐため、位相ずれを補正する。具体的には、位相遅れが180°に達すると、発振を起こし、目標値に収束しなくなるため、位相を、例えば+180°進ませる補正を行う。なお、+180°は一例であるので、これに限られるものではない。電源制御システムは、PID・位相補償回路51を備えることで、プロセッサ21に供給する電圧Vcoreを安定させることができる。
【0078】
電力変動推定IIRデジタルフィルタ52は、性能計測回路22から出力された性能カウンタ更新信号に基づき、電力変動情報として電力変動推定値を出力する。
【0079】
電源制御器30は、上記のフィードバック制御により得られたPWM制御信号に対して、電力変動推定IIRデジタルフィルタ52から得られた電力変動推定値に基づく制御を加え、PWM信号を生成する。
【0080】
PWM信号のDuty比は、負荷電力推定値と1つ前の負荷電力推定値との差分(電力変動推定値)を用いて計算される。電力変動推定IIRデジタルフィルタ52は、電力変動推定値を出力するので、差分を計算する必要がなくなり、簡単にPWM信号のDuty比を計算することができる。
【0081】
プロセッサ21内のデータ処理により消費電力に変動が生じた場合、プロセッサ21への電力伝送路上にバッファとしてのコンデンサが設けられているため、プロセッサ21に供給する電圧Vcoreが変動するまでに一定の時間を要する。さらに、電圧Vcoreの変動をデジタル制御器へ入力するためのAD変換に要する時間も加わる。これでは、データ処理が発生する前の状態からデータ処理が発生した後の状態に遷移するまでの高速な追従制御(過渡応答制御)を行うことができない。
【0082】
しかしながら、プロセッサ21の性能計測回路22から得られる性能カウンタ更新信号は、データ処理の実行の情報として瞬時に得られる。このため、性能カウンタ更新信号は、電圧Vcoreが実際に変動する前の過渡状態における情報として用いることができ、この情報を用いることで、高速な過渡応答制御を実現することが可能となる。
【0083】
図12は、電力推定IIRデジタルフィルタ31の第2の構成例を示した図である。図12に示す電力推定IIRデジタルフィルタ31は、図9に示した構成と同様、1以上の演算処理部32と、1以上の演算処理部32から出力される信号を加算する加算器33とを含む。演算処理部32は、乗算器40~42と、加算器43、44と、遅延素子45とを含む。
【0084】
電力推定IIRデジタルフィルタ31は、電力変動推定IIRデジタルフィルタとして機能させるため、さらに、加算器33から出力された負荷電力推定値を記憶する記憶手段としての保持レジスタ34と、減算器35とを備える。上記の演算処理部32等については既に説明したので、ここでは保持レジスタ34と減算器35についてのみ説明する。
【0085】
保持レジスタ34は、PWM信号を発生するタイミングを合わせるために使用される周期的な信号であるPWMクロックの入力を受けて、PWMクロックに合わせて保持した1つ前の負荷電力推定値を出力する。ここでは、電源制御器30がPWM信号を生成する際に参照するPWMクロックに同期して負荷電力推定値を出力しているが、適切なタイミングで負荷電力推定値を出力できればPWMクロックに同期しなくてもよい。
【0086】
減算器35は、加算器33から出力された負荷電力推定値から、保持レジスタ34から出力された1つ前の負荷電力推定値を減算する。これにより、電力変動推定IIRデジタルフィルタは、電力負荷推定値ではなく、電力変動推定値を出力する。このため、電力負荷推定値の差分を計算することなく、PWM信号の生成に必要とされるDuty比を計算することができる。
【0087】
これまで、プロセッサ21に供給する電源を制御する電源制御システムについて説明してきたが、電源を制御する対象のプロセッサ21は、特定のプロセッサに限定されるものではなく、演算機能を有するプロセッシングユニットであればいかなるユニットであってもよい。プロセッサ21としては、例えばマイクロプロセッサ、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、FPGA(Field-Programmable Gate Array)、DSP(Digital Signal Processor)等を挙げることができる。
【0088】
また、電力推定装置として用いられる電力推定IIRデジタルフィルタ31や電力変動推定IIRデジタルフィルタ52は、プロセッサ21の外部に限らず、図13に示すように、プロセッサ21の内部に実装されていてもよい。プロセッサ21の内部に実装することで、プロセッサ21の内部の演算での消費電力が最小となるための制御に対し、瞬時に負荷電力推定値や電力変動推定値を入力することができる。
【0089】
プロセッサ21は、演算処理を行う演算器60と、プロセッシング制御回路61と、性能計測回路22と、電力推定IIRデジタルフィルタ31とを含む。演算器60において電力消費に関わるイベントが発生すると、性能計測回路22がイベントを検出し、性能カウンタを更新し、性能カウンタ更新信号を出力する。
【0090】
電力推定IIRデジタルフィルタ31は、性能カウンタ更新信号を取得し、負荷電力推定値を出力する。プロセッシング制御回路61は、プロセッサ21の消費電力を最も削減できる演算を演算器60に対して指示する。すると、再び演算器60においてイベントが発生し、性能計測回路22がイベントを検出し、性能カウンタを更新する。
【0091】
プロセッサ21の消費電力は、上記式1で示されるように、動作電圧(コア電圧)や動作周波数等に依存する。このため、プロセッシング制御回路61は、例えば消費電力が最小となるコア電圧や動作周波数等を求め、求めたコア電圧や動作周波数等で演算を行うように指示することができる。
【0092】
このようにしてプロセッサ21内に電力推定IIRデジタルフィルタ31を実装することで、電力損失を伴う電流検出器を内蔵することなく消費電力をモニタすることができる。
【0093】
図13に示した例では、ハードウェアであるプロセッシング制御回路61を用いているが、プロセッサ21上で稼働するオペレーティングシステム(OS)やその他のソフトウェアにより消費電力を最も削減できる演算を指示してもよい。
【0094】
これまで本発明の電力推定装置、演算装置および電源制御システムについて上述した実施形態をもって詳細に説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態や、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0095】
10…マルチフェーズDC-DCコンバータ
11…電源供給路
12…第1のスイッチ
13…アース
14…第2のスイッチ
15…コイル
16…電源制御回路
17…プロセッサ
18…コンデンサ
19…電流検出器
20…電源回路
21…プロセッサ
22…性能計測回路
23…消費電力推定回路
24…差分検出回路
25…参照電圧
26…位相調整回路
27…加算回路
28…PWM回路
29…ドライバ
30…電源制御器
31…電力推定IIRデジタルフィルタ
32…演算処理部
33、43、44…加算器
34…保持レジスタ
35…減算器
40~42…乗算器
45…遅延素子
46、47…シフト回路
48…減算器
50…AD変換器
51…PID・位相補償回路
52…電力変動推定IIRデジタルフィルタ
60…演算器
61…プロセッシング制御回路
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13