(57)【要約】【課題】電力を供給する電源装置に過電流が発生した場合に、その電力が供給される情報処理装置の消費電力を直ちに抑制するための技術を提供する。【解決手段】ＰＳＵ２のコンパレータ２３は、電流センサ２２の検出結果が過電流の発生を表していた場合、その旨を表すプレゼント通知をＳＰ１に送信する。ＳＰ１のＦＰＧＡ１２は、そのプレゼント通知の受信により、強制ロー・パワー・信号をオンさせる。ＣＰＵ３の強制省電力制御回路３２は、強制ロー・パワー・モード信号を直接、入力し、その信号のオンにより、ＣＰＵ３内で命令の発行を行う命令発行制御部を制御して、その命令発行制御部が命令を発行する頻度を直ちに低下させる。その制御は、ＤＶＦＳ制御回路３５によるＤＤＣ４、及びＰＬＬ回路がそれぞれ出力する電力の電圧、及びクロック周波数の低下が行われた後に解除される。【選択図】図１
2014048972.tif 000002
【特許請求の範囲】
【請求項１】
命令の発行を制御する命令発行部と、
前記命令発行部が発行した命令を実行する命令実行部と、
外部から消費電力に係わる電力指示を入力する指示入力部と、
前記指示入力部が入力した前記電力指示が前記消費電力を抑えることを要求していた場合に、前記命令発行部、及び前記命令実行部のうちの少なくとも一方を制御して、前記命令実行部による命令実行の実行頻度を低下させる実行頻度制御部と、
を有することを特徴とする処理装置。
【請求項２】
前記実行頻度制御部は、前記命令発行部から前記命令が発行される発行頻度を低下させることにより、前記命令実行の実行頻度を低下させる、
ことを特徴とする請求項１記載の処理装置。
【請求項３】
演算命令を処理する複数の演算回路をさらに備え、
前記実行頻度制御部は、前記複数の演算回路のうちの少なくとも１つを停止させると共に、前記命令発行部が前記演算命令を発行する発行頻度を低下させることにより、前記実行頻度を低下させる、
ことを特徴とする請求項１、または２記載の処理装置。
【請求項４】
前記命令発行部による前記命令の発行を可能にさせる制御信号を生成するカウンタ部をさらに備え、
前記命令頻度制御部は、前記カウンタ部が前記制御信号を生成する時間間隔を変更することにより、前記実行頻度を低下させる、
ことを特徴とする請求項１〜３の何れか１項に記載の処理装置。
【請求項５】
前記処理装置に印加される電源電圧、及び前記処理装置に用いられるクロックの周波数を制御する電圧周波数制御部、を備え、
前記実行頻度制御部は、前記消費電力を抑えることを要求する前記電力指示が前記指示入力部に入力された後、前記処理装置の消費電力を低下させる制御を前記電圧周波数制御部が開始した場合に、前記実行頻度を低下させる制御を終了する、
ことを特徴とする請求項１〜４の何れか１項に記載の処理装置。
【請求項６】
少なくとも１個の処理装置と、前記処理装置に電力を供給する複数台の電源装置と、前記複数台の電源装置の何れかに発生する過電流を検出する検出部と、を少なくとも備え、
前記処理装置は、
命令の発行を制御する命令発行部と、
前記命令発行部が発行した命令を実行する命令実行部と、
前記検出部による検出結果を用いて生成される、前記処理装置における消費電力に係わる電力指示を入力する指示入力部と、
前記指示入力部が入力した前記電力指示が前記消費電力を抑えることを要求していた場合に、前記命令発行部、及び前記命令実行部のうちの少なくとも一方を制御して、前記命令実行部による命令実行の実行頻度を低下させる実行頻度制御部と、
を有することを特徴とする情報処理装置。
【請求項７】
前記実行頻度を前記実行頻度制御部が低下させた後、前記実行頻度を低下させるための制御の終了指示を前記実行頻度制御部に行う終了指示部、を備え、
前記実行頻度制御部は、前記終了指示部による終了指示に従って、前記実行頻度を低下させるための制御を終了させる、
ことを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記終了指示部は、新たな電源装置による電力供給の開始、及び前記実行頻度制御部の制御によって前記過電流の状態が解消される時間の経過のうちの少なくとも一方により、前記終了指示を行う、
ことを特徴とする請求項７記載の情報処理装置。
【請求項９】
少なくとも１個の処理装置と、前記処理装置に電力を供給する複数台の電源装置と、前記複数台の電源装置の何れかに発生する過電流を検出する検出部と、を少なくとも備えた情報処理装置に適用される消費電力管理方法であって、
前記処理装置として、内部に供給されるクロックの周波数を変更させずに、命令を実行する実行頻度を切り換える実行頻度切換機能を搭載した処理装置を採用し、
前記検出部が前記過電流を検出した場合に、前記処理装置に搭載された実行頻度切換機能を用いて前記実行頻度を低下させることにより、前記処理装置の消費電力を低減させる、
ことを特徴とする消費電力管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ（Central Processing Unit）等の命令を実行する処理装置の消費電力を抑えるための技術に関する。
【背景技術】
【０００２】
命令を実行する処理装置は、ＣＰＵ、ＭＰＵ（Micro-Processing Unit）、或いはプロセッサ等と呼ばれる製品の形で広く普及し、様々な電子機器に搭載されている。特に高い処理能力が求められるサーバには、多数の処理装置が搭載される。
【０００３】
処理装置に印加される電圧は、商用電源の電圧と比較して非常に低い。そのため、処理装置を備えたサーバ等の情報処理装置には、電圧を変換する電源装置が１台以上、用意される。高い信頼性が要求される情報処理装置では、複数台の電源装置が用意される。これは、１台の電源装置が故障等により電力を供給できなくなっても運用を可能にするためである。
【０００４】
電源装置には、電源装置自身、或いは負荷が破損しないように、過電流が流れないようにする過電流保護機能が搭載されるのが普通である。この過電流保護機能は、過電流と見なす電流が流れた場合、出力される電流量を制限し、出力電圧を低下させる。
【０００５】
このような過電流保護機能が搭載された電源装置では、過電流が発生しないように選択する必要がある。しかし、電源装置は、定格が大きくなるほど調達コストは上昇し、そのサイズも大きくなる。また、電力の変換効率は、生成する電力量によって異なり、変換効率が最大となる電力量から電力量が小さくなるほど低下する傾向にある。それにより、採用される電源装置の定格は、調達コスト、サイズ及び変換効率を考慮して、情報処理装置の最大消費電力量を大幅に上回らないようにするのが普通である。これは、複数台の電源装置から電力を供給させる場合も同様である。情報処理装置全体のサイズをより小さくするうえでは、より小さいサイズの電源装置を採用するのが望ましい。
【０００６】
上記のようなことから、複数台の電源装置から電力を供給する場合、１台以上の電源装置からの電力供給の停止により、電力を供給している電源装置に過電流が流れる可能性がある。サーバ等の情報処理装置の多くは、必要に応じて電力を供給させる冗長用の電源装置を備えている。この冗長用の電源装置を備えた情報処理装置では、電源装置からの電力供給の停止により、冗長用の電源装置からの電力供給を開始させることができる。しかし、たとえ冗長用の電源装置からの電力供給を開始させたとしても、その電力供給の開始が遅れれば、電力を供給している電源装置に過電流が流れて出力電圧が低下する可能性がある。
【０００７】
現在、ＣＰＵ等の処理装置、半導体メモリ、等の電子部品は、低電圧化が進んでいる。この低電圧化に伴い、電子部品の電圧の変動に対する許容量は小さくなっている。サーバ等の情報処理装置には、そのような電子部品が多く用いられている。そのため、電源装置における出力電圧の低下は、電子部品の誤動作を発生させやすい。電子部品の誤動作はシステムダウンの原因となる。このようなことから、電源装置に過電流が流れないように、情報処理装置の消費電力を直ちに抑えられるようにすることも重要である。
【０００８】
現在、処理装置は、半導体技術の進歩に伴い、膨大な数のトランジスタが搭載されるようになり、消費電力も増大している。情報処理装置を構成する電子部品のなかでも処理装置の消費電力は非常に大きいのが普通である。このことから、情報処理装置の消費電力を効率的に抑えるには、処理装置の消費電力を抑えることが重要と云える。
【０００９】
近年、処理装置のなかには、省電力機能として、ＤＶＦＳ（Dynamic Voltage Frequency Scaling）機能が搭載されているものがある。このＤＶＦＳ機能は、処理装置に印加される電源電圧、及び／或いは、処理装置が用いるクロックの周波数を低下させることができる。電源電圧、及びクロック周波数の何れを低下させても、処理装置の消費電力はより抑えることができる。処理装置に印加される電源電圧は、通常、電源装置から供給される電力を変換して得られるものである。
【００１０】
しかし、電源電圧の低下、及びクロック周波数の低下には、或る程度の時間が必要である。例えばクロック周波数の変更にはＰＬＬ（Phase Locked Loop）回路の逓倍数を変更する必要がある。このＰＬＬ回路によるクロック周波数の変更は、数百μｓ程度の時間で行うことができる。電源装置の故障が発生した場合、電源電圧が徐々に低下するが、この時間は、最近の処理装置に誤動作を発生させるには十分な長さである。このことから、処理装置における消費電力の抑制は、直ちに行えるようにするのが重要と思われる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００９−６０７５８号公報
【特許文献２】特開平７−２８５６１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明の１側面は、電力を供給する電源装置に過電流が発生した場合に、その電力が供給される情報処理装置の消費電力を直ちに抑制するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明を適用した１システムでは、命令の発行を制御する命令発行部と、命令発行部が発行した命令を実行する命令実行部と、外部から消費電力に係わる電力指示を入力する指示入力部と、指示入力部が入力した電力指示が消費電力を抑えることを要求していた場合に、命令発行部、及び命令実行部のうちの少なくとも一方を制御して、命令実行部による命令実行の実行頻度を低下させる実行頻度制御部と、を有する。
【発明の効果】
【００１４】
本発明を適用した場合には、電力を供給する電源装置に過電流が発生した場合に、その電力が供給される情報処理装置の消費電力を直ちに抑制することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態による情報処理装置が備えた構成要素の構成例を説明する図である。
【図２】ＣＰＵの構成例を説明する図である。
【図３】命令発行制御部の構成例を説明する図である。
【図４】搭載情報の構成例を説明する図である。
【図５】２つのサイクリックカウンタに設定するカウント値によって実現される消費電力の低減量の例を説明する図である。
【図６】ＤＶＦＳ設定値の設定方法例を説明する図である。
【図７】少なくとも１台のＰＳＵに過電流が発生した場合の情報処理装置の動作の流れを表すフローチャートである。
【図８】電力供給が停止した後、その電力供給が再開された場合の情報処理装置の動作の流れを表すフローチャートである。
【図９】強制省電力制御回路における強制ロー・パワー・モードの設定解除を行わせるためにＦＰＧＡに搭載される仕組みの例を説明する図である。
【図１０】状況によって状態判定部から出力される強制ロー・パワー・モード信号を説明する図である。
【図１１】状態判定部の構成例を説明する図である。
【図１２】強制ロー・パワー・モード信号のオフによりＣＰＵに実行させる動作の流れを表すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態による情報処理装置が備えた構成要素の構成例を説明する図である。本実施形態による情報処理装置は、例えばサーバであり、図１に表すように、構成要素として、ＳＰ（Service Processer）１、２台のＰＳＵ（Power Supply Unit）２、１個以上のＣＰＵ３、ＤＤＣ（DC-DC Converter）４、及び記憶装置５を備えている。特には図示していないが、情報処理装置は他に構成要素として、ＰＣＩ（Peripheral Components Interconnect）カード等を備えている。このＰＣＩカードは例えばネットワークを介した通信用である。
【００１７】
上記ＣＰＵ２は、本実施形態による処理装置である。本実施形態による情報処理装置は、このＣＰＵ３を構成要素としたものである。その情報処理装置の構成は、図１に表すような構成に限定されない。例えば情報処理装置は、２台以上のＰＳＵ２により、複数台の情報処理装置に電力を供給する構成であっても良い。つまり情報処理装置は、２台以上のＰＳＵ２から直接、或いは間接的に1個以上のＣＰＵ３に電力を供給する構成であれば良い。
【００１８】
ＰＳＵ２は、交流電力を入力し、入力した交流電力の電圧を降圧させた直流電力を出力する電源装置である。図１に表すように、各ＰＳＵ２は、ＡＣ（Alternating Current）／ＤＣ（Direct Current）変換部２１、電流センサ２２、及びコンパレータ２３を備えている。
【００１９】
ＡＣ／ＤＣ変換部２１は、入力した交流電力を直流電力に変換する。電流センサ２２は、変換された直流電力の電流量を検出する。コンパレータ２３は、電流センサ２２による電流量の検出結果をＡＣ／ＤＣ変換部２１の定格に応じた値と比較することにより、そのＡＣ／ＤＣ変換部２１から供給されている電流が過電流か否かを判定する。このコンパレータ２３による判定結果はＳＰ１に出力される。以降、この判定結果は「プレゼント（present）通知」とも表記する。このプレゼント通知をＳＰ２０にリアルタイムで出力するのは、ＰＳＵ２０に過電流が流れることに直ちに対応するためである。
【００２０】
ＳＰ２０は、搭載された情報処理装置を管理するための管理装置であり、ＭＰＵ１１、ＦＰＧＡ（Field Programmable Gate Array）１２、メモリ１３、及びＲＯＭ（Read Only Memory）１４を備えている。特には図示していないが、ＳＰ２０は他に、ネットワークと通信を行うためのＰＣＩカードを備えている。
【００２１】
ＲＯＭ１４には、ＭＰＵ１１に実行させる制御ＦＷ（Firm Ware）１４０が格納されている。ＭＰＵ１１は、このＲＯＭ１４に格納された制御ＦＷ１４０をメモリ１３に読み出して実行することにより、情報処理装置の管理を行う。
ＦＰＧＡ１２は、ＰＳＵ２、及びＣＰＵ３との通信用にＳＰ１に搭載されている。このＦＰＧＡ１２には、ＣＰＵ３との通信に用いられる通信部１２１、プレゼント通知の値が書き込まれる過電流表示レジスタ（reg）１２２、及び搭載状態レジスタ（reg）１２３が実装されている。搭載状態レジスタ１２３は、情報処理装置が備えた構成要素を表す搭載情報が格納される。
【００２２】
図４は、搭載情報の構成例を説明する図である。この図４に表す搭載情報の構成例は、情報処理装置に搭載可能な構成要素毎に、その構成要素を表す要素情報、及びその構成要素の有無を表す存在情報を格納する場合のものである。図４中に表記の「あり」「なし」は、存在情報の内容を表している。「あり」は対応する構成要素が存在することを表し、「なし」は対応する構成要素が存在しないことを表している。図４中に表記の「ＣＰＵ＃０」「ＣＰＵ＃１」「ＤＩＭＭ＃１」等は、要素情報の内容を表している。
【００２３】
ＭＰＵ１１によって実行される制御ＦＷ１４０は、機能（サブプログラム）として、ＳＰ−ＯＳ通信制御機能１４１、構成認識機能１４２、構成通知機能１４３、過電流通知検出機能１４４、過電流異常解除通知機能１４５、及び割り込み処理機能１４６を備える。これらの機能１４１〜１４６は、ＣＰＵ３における消費電力の制御に係わるものである。通常の管理に係わる機能は省いている。
【００２４】
ＳＰ−ＯＳ通信制御機能１４１は、ＦＰＧＡ１２の通信部１２１を用いた通信を制御するための機能である。構成認識機能１４２は、情報処理装置の構成を認識するための機能であり、この構成認識機能１４２による構成要素の認識結果が搭載情報としてＦＰＧＡ１２の搭載状態レジスタ１２３に格納される。構成通知機能１４３は、搭載状態レジスタ１２３に格納された搭載情報をＣＰＵ３に通知するための機能である。搭載情報のＣＰＵ２への通知には、ＳＰ−ＯＳ通信制御機能１４１が用いられる。
【００２５】
過電流通知検出機能１４４は、過電流表示レジスタ１２２に格納されたプレゼント通知データを参照し、過電流の発生を検出するための機能である。
【００２６】
ＦＰＧＡ１２は、過電流が発生していないことを表す内容から過電流の発生を表す内容へのプレゼント通知の変化を検出し、例えば通信部１２１が出力する強制ロー・パワー・モード（low power mode）信号をオン（アクティブ）にさせる。強制ロー・パワー・モードは、ＣＰＵ３に消費電力を直ちに抑えさせるモードであり、強制ロー・パワー・モード信号のオンは、この強制ロー・パワー・モードが設定されたことを表している。ここでは、オンとされた強制ロー・パワー・モード信号の値は１、つまりその電圧レベルはＨ（High）と想定する。このような強制ロー・パワー・モード信号の出力は、図９に表す状態判定部９０１によって行われる。
【００２７】
過電流異常解除通知機能１４５は、過電流への対応の解除通知（過電流異常解除通知）をＣＰＵ３に送信させるための機能である。割り込み処理機能１４６は、ＭＰＵ１１に、過電流の発生への対応のための処理を割り込みにより行わせるための機能である。
【００２８】
ＣＰＵ３は、通信部３１、強制省電力制御回路３２、状態表示レジスタ３３、ＤＶＦＳ設定レジスタ３４、及びＤＶＦＳ制御回路３５を備える。より詳細な構成については、図２を参照して後述する。
【００２９】
通信部３１は、ＦＰＧＡ１２の通信部１２１との通信を可能にさせる。強制省電力制御回路３２、及びＤＶＦＳ制御回路３５は共に、ＣＰＵ３の消費電力を抑えることを可能にする。ＦＰＧＡ１２の通信部１２１が出力する強制ロー・パワー・モード信号は通信部３１を介さずに強制省電力制御回路３２に直接、入力される。
【００３０】
ＰＳＵ２から出力された電力は、ＤＤＣ４によって異なる電圧の電力に変換されてＣＰＵ３に供給される。ＤＶＦＳ制御回路３５は、ＤＤＣ４に設定するＶＩＤ（Voltage IDentifier）により、そのＤＤＣ４から供給される電力の電圧（電源電圧）を制御することができる。また、ＤＶＦＳ制御回路３５は、図２に表すＰＬＬ回路２１０の逓倍率の設定を通して、ＣＰＵ３の動作用のクロックの周波数を制御することができる。電源電圧、及びクロック周波数の何れを低下させても、ＣＰＵ３の消費電力はより抑えることができる。ＶＩＤ、及び逓倍率の設定は、ＤＶＦＳ設定レジスタ３４に格納されたデータを参照して行われる。ＤＶＦＳ設定レジスタ３４に格納すべきデータの決定、及び決定したデータの格納は、ＯＳ５０の実行によって実現される。
【００３１】
ＤＶＦＳ制御回路３５による電源電圧、及び／或いは、クロック周波数の低下には、或る程度の時間がかかる。そのため、過電流の発生を表すプレゼント通知によりＤＶＦＳ制御回路３５に直ちに電源電圧、及び／或いは、クロック周波数を低下させたとしても、ＰＳＵ２が供給する電力の電圧がＣＰＵ３等に誤動作を起こさせるレベルにまで下がる可能性がある。このことから、強制省電力制御回路３２は、より迅速にＣＰＵ３の消費電力を抑えるために設けられている。ＦＰＧＡ１２の通信部１２１が出力する強制ロー・パワー・モード信号が直接、強制省電力制御回路３２に入力させるのは、ＣＰＵ３の消費電力をより迅速に抑えられるようにするためである。
【００３２】
強制省電力制御回路３２は、強制ロー・パワー・モード信号がオンとなった場合、その旨を表すデータを状態表示レジスタ３３に格納する。この状態表示レジスタ３３に格納されたデータは、ＯＳ５０によって参照される。それにより、ＯＳ５０は、強制ロー・パワー・モードの設定を認識する。
【００３３】
このＯＳ５０は、機能（サブプログラム）として、ＤＶＦＳ設定値変更依頼受付機能５１、ＤＶＦＳ設定値決定機能５２、ＤＶＦＳ設定値設定機能５３、割り込み処理機能５４、構成通知受信機能５５、ＳＰ−ＯＳ通信制御機能５６、及び過電流異常解除受信機能５７を備える。これらの機能５１〜５７は、強制ロー・パワー・モードの設定に伴う制御に係わるものである。通常のＯＳに係わる機能は省いている。
【００３４】
ＤＶＦＳ設定値変更依頼受付機能５１は、上記状態表示レジスタ３３に格納されたデータを参照し、ＤＶＦＳを行う必要性を判断する。図１では、「ＤＶＦＳ設定変更依頼」がＳＰ２０からＯＳ５０に対して出力されることを表している。このＤＶＦＳ設定変更依頼は、従来、行われているものであり、このＤＶＦＳ設定変更依頼もＤＶＦＳ設定値変更依頼受付機能５１によって処理される。ＤＶＦＳ設定変更依頼は従来、行われているものであることから、ここでは詳細は省略する。
【００３５】
ＤＶＦＳ設定値決定機能５２は、設定すべきＶＩＤ、及び逓倍率を決定する機能であり、ＤＶＦＳ設定値決定機能５２によって起動される。ＤＶＦＳ設定値設定機能５３は、ＤＶＦＳ設定決定機能５２によって決定されたＶＩＤ、及び逓倍率を表すデータをＤＶＦＳ設定レジスタ３４に格納するための機能である。割り込み処理機能５４は、状態表示レジスタ３３に格納されたデータを参照し、ＣＰＵ３に、例えば上記ＤＶＦＳ設定値変更依頼受付機能５１を割り込みにより起動させるための機能である。
【００３６】
構成通知受信機能５５は、ＳＰ２０から通知される、搭載状態レジスタ１２３に格納された搭載情報を処理するための機能である。ＳＰ−ＯＳ通信制御機能５６は、ＳＰ２０との通信部３１を介した通信を制御するための機能である。過電流異常解除受信機能５７は、ＳＰ２０から通知される過電流への対応の解除を処理するための機能である。この過電流異常解除受信機能５７は、ＶＩＤ、及び逓倍率を通常の値に戻すために、上記ＤＶＦＳ設定値決定機能５２を起動させることができる。
【００３７】
図２は、ＣＰＵの構成例を説明する図である。ＣＰＵ３は、図２に表すように、インターフェースロジック２０１、２次キャッシュ２０２、命令用の１次キャッシュ２０３、データ用の１次キャッシュ２０４、命令発行制御部２０５、２つの命令処理部２０６（２０６−１、２０６−２）、コントロールロジック２０７、ＡＬＵ（Arithmetic and Logic Unit）群２０８、レジスタ群２０９、ＰＬＬ回路２１０、２つのサイクリック（Cyclic）カウンタ２１１（２１１−１、２１１−２）を更に備えている。レジスタ群２０９は、図２中「ALU Input registers and Output registers」と表記している。
【００３８】
インターフェースロジック２１１は、バスを介したデータの送受信を行う。図１に表す通信部３１は、このインターフェースロジック２１１に相当する。バスを介して受信したデータは２次キャッシュ２０２に格納される。
【００３９】
命令発行制御部２０５が、命令を読み込むため、その命令のアドレスを指定して読み込み処理を行う。すると、２次キャッシュ２０２に格納されたそのアドレスの命令は１次キャッシュ２０３を介して命令発行制御部２０５に出力される。データは、コントロールロジック２０７が、データを読み込むため、そのデータのアドレスを指定して読み込み処理を行う。２次キャッシュ２０２に格納されたデータは１次キャッシュ２０４を介してレジスタ群２０９のなかの何れかのレジスタに出力される。このレジスタ群２０９は、ＡＬＵ群２０８に供給すべきデータが格納される入力レジスタ群、及びＡＬＵ群２０８から出力されたデータが格納される出力レジスタ群をまとめたものである。
【００４０】
命令発行制御部２０５は、１次キャッシュ２０３に格納された命令を読み出し、読み出した命令を実行すべき命令として発行する。その命令発行制御部２０５は、例えば図３に表すように、命令種・命令依存判定部３０１、整数演算命令キュー３０２、浮動小数点演算命令キュー３０３、及び命令キュー３０４を備えている。
【００４１】
命令種・命令依存判定部３０１は、１次キャッシュ２０３からフェッチすべき命令のアドレス生成を行って命令をフェッチし、フェッチした命令の分岐先と分岐方向を予測し、発行すべき命令をその種類（命令種）に応じて、キュー３０２〜３０４の何れかに格納する。それにより、整数演算命令キュー３０２には整数演算命令のみ、浮動小数点演算命令キュー３０３には浮動小数点演算命令のみ、命令キュー３０４にはそれらとは異なる命令種の命令のみがそれぞれ格納される。ここでは、命令キュー３０４に格納される命令は、仮想アドレスを生成するための命令（以降「仮想アドレス加算命令」と表記）のみを想定する。この想定では、ＡＬＵ群２０８は、ＡＬＵとして、整数実行パイプライン、浮動小数点実行パイプライン、及び仮想アドレス加算器をそれぞれ１つ以上、備えていることになる。
【００４２】
２つのサイクリックカウンタ２１１は、ＰＬＬ回路２１０から出力されるクロックのカウントを行い、カウントした値が設定値（図２中「カウント値」と表記）に達すると、キャリー信号をオン（アクティブ）にさせ、カウントした値を初期値に戻すカウンタである。各キュー３０２〜３０４からの命令の読み出し、つまり命令の発行は、何れかのサイクリックカウンタ２１１から出力されるキャリー信号によって制御される。それにより、各サイクリックカウンタ２１１に設定するカウント値を通して、命令発行制御部２０５からの命令の発行頻度を制御できるようになっている。
【００４３】
２つの命令処理部２０６は、例えば対応付けられた命令種の命令が実行可能になるまで保持するためのバッファである。そのため、命令発行制御部２０５の各キュー３０２〜３０４から読み出された命令は、出力すべき命令処理部２０６に出力される。各命令処理部２０６に対応付ける命令種は特に限定されないが、ここでは便宜的に、整数演算命令、及び浮動小数点演算命令は命令処理部２０６−１に対応付けられ、仮想アドレス加算命令は命令処理部２０６−２に対応付けられていると想定する。また、整数演算命令キュー３０２、及び浮動小数点演算命令キュー３０３にはサイクリックカウンタ２１１−１の出力するキャリー信号が入力され、命令キュー３０４にはサイクリックカウンタ２１１−２の出力するキャリー信号が入力されると想定する。
【００４４】
各命令処理部２０６に保持された命令はコントロールロジック２０９によって読み出される。このコントロールロジック２０７は、実行（投入）可能になった命令を対応する命令処理部２０６から読み出し、ＡＬＵ群２０８の対応するＡＬＵに供給する。ＡＬＵ群２０８の命令の実行に必要なデータは、レジスタ群２０９から取得される。ＡＬＵ群２０８の命令の実行によって得られたデータは、レジスタ群２０９を介して、１次キャッシュ２０４に出力させることができる。
【００４５】
強制省電力制御回路３２によって状態表示レジスタ３３に書き込まれたデータは、ＡＬＵ群２０８を介してＯＳ５０が参照することになる。ＤＶＦＳ制御回路３５が参照するＤＶＦＳ設定レジスタ３４へのデータの格納も、ＡＬＵ群２０８を介して行われる。
【００４６】
強制省電力制御回路３２は、各サイクリックカウンタ２１１へのカウント値の設定を行う回路である。強制ロー・パワー・モード信号がオンされた場合、つまり強制ロー・パワー・モードが設定された場合、強制省電力制御回路３２は、２つのサイクリックカウンタ２１１のうちの少なくとも一方に、より大きいカウント値を設定する。それにより、命令発行制御部２０５による命令の発行頻度を低下させる。
【００４７】
この命令の発行頻度を低下させることにより、ＡＬＵ群２０８での命令の実行頻度が低下する。そのため、ＣＰＵ３におけるスイッチングが減少するだけでなく、動作していないＡＬＵへのクロックの供給を遮断するクロック・ゲーティング機構もより動作するようになる。２つのサイクリックカウンタ２１１へのカウント値の設定は極めて迅速に行うことができる。サイクリックカウンタ２１１へのカウント値の設定を変更させる契機となる強制ロー・パワー・モード信号は、ＦＰＧＡ１２から直接、強制省電力制御回路３２に入力される。このようなことから、２台のＰＳＵ２のうちの少なくとも１台に過電流が発生しても、ＣＰＵ３の消費電力を十分なレベルにまで小さくさせることができる。
【００４８】
情報処理装置では、全体の消費電力に占めるＣＰＵによる消費電力の割合が非常に高い。例えば１枚のＰＣＩカードの消費電力は２５Ｗほど、ハードディスク装置の消費電力が１５Ｗほどなのに対し、１個のＣＰＵの消費電力は２５０Ｗほどである。そのようなＣＰＵの消費電力を直ちに低下させることにより、電力を供給するＰＳＵ２の出力電圧が過電流保護機能により誤動作が発生するレベルまで低下することを回避できるようシステムを設計することができる。
【００４９】
電力を供給するＰＳＵ２の出力電圧が過電流保護機能により誤動作が発生するレベルまで低下することを回避できるので、電力の供給が停止したＰＳＵ２の代替とするＰＳＵを情報処理装置に予め搭載させなくとも、継続した運用が可能となる。このことから、搭載させるＰＳＵの数を少なくすることにより、情報処理装置の製造コストの低減、小型化等をより容易に実現できることとなる。
【００５０】
図５は、２つのサイクリックカウンタに設定するカウント値によって実現される消費電力の低減量の例を説明する図である。図５中に表記の「Cyclicカウンタ１」「Cyclicカウンタ２」はそれぞれサイクリックカウンタ２１１−１、２１１−２を表している。「１」「０」「１０」の各数値は、サイクリックカウンタ２１１に設定されるカウント値を表している。消費電力低減量は、ＣＰＵ３が２個、情報処理装置に搭載されている場合を想定し、その低減量をＷで表している。
【００５１】
各サイクリックカウンタ２１１に「１」をカウント値として設定するのは、何れのＰＳＵ２にも過電流が発生していない通常状態である。図５は、強制ロー・パワー・モードの設定により、サイクリックカウンタ２１１−１、２１１−２のカウント値をそれぞれ「１０」「０」に変更すると、消費電力を通常状態から１２０Ｗ低減できることを表している。
【００５２】
図５に表すような強制ロー・パワー・モード時のサイクリックカウンタ２１１−１、２１１−２のカウント値の変更は、２台のＰＳＵ２からの電力供給を想定したものである。強制ロー・パワー・モード時に各サイクリックカウンタ２１１に設定するカウント値は、電力供給に用いるＰＳＵ２の台数、情報処理装置の最大消費電力と各ＰＳＵ２の定格等を考慮して決定するのが望ましい。
【００５３】
カウント値として「０」が設定されたサイクリックカウンタ２１１−２は、キャリー信号をオンとさせない。そのため、命令発行制御部２０５から命令処理部２０６−２に命令は出力されない。サイクリックカウンタ２１１−２のカウント値を「０」に変更するのは、クロック・ゲーティング機構がより有効に働かせるためである。言い換えれば、必要な消費電力の低減量をより確実に確保できるようにするためである。サイクリックカウンタ２１１−２のカウント値を「０」に変更する場合、対応するＡＬＵへの電力供給を切断するようにしても良い。
【００５４】
ＡＬＵ群２０８が同じ種類のＡＬＵを複数、備えている場合、各サイクリックカウンタ２１１へのカウント値の変更は行うことなく、同じ種類のＡＬＵのなかで少なくとも１つを残して電力供給を遮断させても良い。そのようにＡＬＵへの電力供給を切断させても、消費電力の十分な低減を行うことができる。
【００５５】
命令発行制御部２０５からの命令の発行頻度を低下させた時点では、各命令処理部２０６に未実行の命令が残っているのが普通である。しかし、１命令の実行に要する時間は１ｎｓ以下である。ＰＳＵ２の過電流状態は、過電流となってから１００μｓが経過する前に解消させれば良い。このため、各命令処理部２０６に残っている未実行の命令数は１００μｓ経過前にすべて処理が完了するため、事実上、無視することができる。
【００５６】
図５に表す例は、上記のように、２台のＰＳＵ２からの電力供給を想定したものである。そのため、強制ロー・パワー・モード設定時に強制省電力制御回路３２が各サイクリックカウンタ２１１に設定するカウント値の組み合わせは１種類のみとなっている。しかしその組み合わせは複数、用意しても良い。つまり、電力供給に用いるＰＳＵ２の台数、各ＰＳＵ２の定格と情報処理装置の最大消費電力量、或いは情報処理装置の構成等に応じて、強制省電力制御回路３２に各サイクリックカウンタ２１１に設定させるカウント値の組み合わせを変更させるようにしても良い。
【００５７】
強制省電力制御回路３２は、強制ロー・パワー・モード信号がオンとなった場合、強制ロー・パワー・モードが設定されたことを表すデータを状態表示レジスタ３３に格納する。それにより、ＯＳ５０の制御によって、設定すべきＶＩＤ、及び逓倍率を表すデータがＤＶＦＳ設定レジスタ３４に格納される。それにより、ＤＶＦＳ制御回路３５は、ＤＤＣ４に設定したＶＩＤ、及びＰＬＬ回路２１０に設定した逓倍率のうちの少なくとも一方を変更する。設定すべきＶＩＤ、及び逓倍率を表すデータは以降「ＤＶＦＳ設定値」と呼ぶことにする。
【００５８】
図６は、ＤＶＦＳ設定値の設定方法例を説明する図である。この図６に表す設定方法例は、情報処理装置の構成に応じて、ＤＶＦＳ設定値を決定する場合のものである。
情報処理装置の構成としては、ＣＰＵ３の個数、ＤＩＭＭの枚数、及びＰＣＩカードの枚数のみを想定している。それにより、図６では、情報処理装置の構成毎に、ＤＶＦＳ設定値、逓倍率、電圧、及び消費電力低減量を表している。電圧は、ＤＶＦＳ設定値に応じたＶＩＤの設定によって基準となる電圧からの降下量を％で表している。逓倍率も、ＤＶＦＳ設定値に応じた逓倍率の設定によって基準となるクロック周波数からの低下量を％で表している。消費電力低減量は、通常状態時からの低減量をＷで表している。
【００５９】
ＤＶＦＳ制御回路３５は、強制ロー・パワー・モードが設定された場合、図６に表すように決定されるＤＶＦＳ設定値に従って、ＤＤＣ４、及びＰＬＬ回路２１０を制御する。その後、ＤＶＦＳ制御回路３５は、強制省電力制御回路３２に対し、強制ロー・パワー・モードの設定解除を指示する。
【００６０】
この解除指示は、ＤＤＣ４、及びＰＬＬ回路２１０の制御、つまりＶＩＤ、及び逓倍率の設定を行ってから、その設定による変更が完了する以降に行われる。そのため、各サイクリックカウンタ２１１のカウント値を通常状態時のカウント値に戻しても、消費電力の十分な低減を行うことができる。このことから、強制省電力制御回路３２は、ＤＶＦＳ制御回路３５からの解除指示により、強制ロー・パワー・モードの設定を解除し、各サイクリックカウンタ２１１に、通常状態時のカウント値を設定する。そのように強制省電力制御回路３２に強制ロー・パワー・モードの設定を解除させるのは、ＯＳ・制御ＦＷの処理を簡便にするためであり、ハードウェアではなく、ＯＳ・ＦＷにより強制ロー・パワー・モードの設定を解除させるよう構成してもよい。
【００６１】
図７は、少なくとも１台のＰＳＵに過電流が発生した場合の情報処理装置の動作の流れを表すフローチャートである。少なくとも１台のＰＳＵ２に過電流が発生する状況とは、たとえば、１台のＰＳＵ２からの電力供給が停止した状況である。次に、図７を参照して、少なくとも１台のＰＳＵに過電流が発生した場合の情報処理装置の動作について詳細に説明する。
【００６２】
ＰＳＵ２に発生した過電流は、電流センサ２２によって検出されることで、コンパレータ２３から過電流の発生を表すプレゼント通知が出力される（Ｓ１）。このプレゼント通知により、ＦＰＧＡ１２は、強制ロー・パワー・モード信号をオンさせ、そのプレゼント通知はＦＰＧＡ１２の過電流表示レジスタ１２２にデータとして格納される（Ｓ２）。この結果、過電流の発生はＳＰ１のＭＰＵ１１（ＭＰＵ１１の実行する制御ＦＷ１４０）、及びＣＰＵ３が実行するＯＳ５０に認識される。強制ロー・パワー・モード信号のオンにより、ＣＰＵ３の強制省電力制御回路３２は、図５に表すように各サイクリックカウンタ２１１へのカウント値の設定を行う。
【００６３】
過電流の発生、つまり強制ロー・パワー・モードの設定を認識したＯＳ５０は、事前にＳＰ１から受信した搭載情報（図４）を参照し、図６に表すようにＤＶＦＳ設定値を決定し、決定したＤＶＦＳ設定値をＤＶＦＳ設定レジスタ３４に格納させる（Ｓ３）。
【００６４】
そのＤＶＦＳ設定値のＤＶＦＳ設定レジスタ３４への格納により、ＤＶＦＳ制御回路３５は、ＤＤＣ４、及びＰＬＬ回路２１０を制御し、ＤＤＣ４から出力される電力の電圧、及びＰＬＬ回路２１０が出力するクロックの周波数をそれぞれ低下させる。それらを低下させた後、ＤＶＦＳ制御回路３５は、強制ロー・パワー・モードの設定解除を強制省電力制御回路３２に指示する。その指示により、強制省電力制御回路３２が各サイクリックカウンタ２１１に通常状態時のカウント値を設定する。そのカウント値の設定により、少なくとも１台のＰＳＵ２に過電流が発生することに伴う情報処理装置の動作が完了する。
【００６５】
図８は、電力供給が停止した後、その電力供給が再開された場合の情報処理装置の動作の流れを表すフローチャートである。
２台のＰＳＵ２により電力を供給させる場合、少なくとも１台のＰＳＵ２に過電流が発生する牽引となるのは、通常、１台のＰＳＵ２からの電力供給の停止である。１台のＰＳＵ２からの電力供給が停止しても、強制ロー・パワー・モードの設定によるＣＰＵ３の消費電力の低減により、電力を供給し続けているＰＳＵ２での過電流は解消される。このことから、本実施形態では、１台のＰＳＵ２からの電力供給が停止した後の電力供給の再開は、別のＰＳＵ２への交換により行われると想定している。別のＰＳＵ２への交換は、制御ＦＷ１４の構成認識機能１４２により認識される。次に図８を参照し、別のＰＳＵ２への交換が行われた場合の情報処理装置の動作について詳細に説明する。
【００６６】
電力供給を停止したＰＳＵ２を別のＰＳＵ２に保守員が交換すると、その交換により新たに搭載されたＰＳＵ２はＳＰ１のＭＰＵ１１によって認識される。その認識により、ＭＰＵ１１は、ＦＰＧＡ１２に過電流異常解除通知をＣＰＵ３に送信させる（Ｓ１１）。
【００６７】
ＣＰＵ３に送信された過電流異常解除通知は、ＯＳ５０によって処理される。ＯＳ５０は、過電流異常解除通知の受信により、通常状態時のＤＶＦＳ設定値を設定し、設定したＤＶＦＳ設定値をＤＶＦＳ設定レジスタ３４に格納する（Ｓ１２）。それにより、ＤＤＣ４から出力される電力の電圧、及びＰＬＬ回路２１０が出力するクロックの周波数は共に通常状態時に戻される。この結果、ＣＰＵ３の省電力状態が解除され、別のＰＳＵ２への交換に伴う情報処理装置の動作が完了する。
【００６８】
なお、本実施形態では、強制省電力制御回路３２における強制ロー・パワー・モードの設定解除をＤＶＦＳ制御回路３５に行わせているが、別の方法を用いてその解除を強制省電力制御回路３２に行わせるようにしても良い。以下、その変形例について、図９〜図１２を参照して具体的に説明する。
【００６９】
図９は、強制省電力制御回路における強制ロー・パワー・モードの設定解除を行わせるためにＦＰＧＡに搭載される仕組みの例を説明する図である。この例は、強制省電力制御回路３２に、強制ロー・パワー・モード信号のオンにより強制ロー・パワー・モードを設定させ、強制ロー・パワー・モード信号のオフにより強制ロー・パワー・モードの設定を解除させる場合のものである。
状態判定部９０１は、過電流の発生に伴うＰＳＵ２からのプレゼント通知の変化により、強制ロー・パワー・モード信号をオンにさせる。過電流表示レジスタ１２２には、この強制ロー・パワー・モード信号の値がプレゼント通知の内容を表す値として保持される。
【００７０】
タイマー９０２は、強制ロー・パワー・モード信号がオンとなってから所定時間の経過によりリセット信号を状態判定部９０１に出力、例えばリセット信号をオン（アクティブ）にする。状態判定部９０１は、そのリセット信号のオンにより、強制ロー・パワー・モード信号をオフにする。オンのリセット信号の値は１、つまりその電圧レベルはHighと想定する。
【００７１】
図１０は、状況によって状態判定部から出力される強制ロー・パワー・モード信号を説明する図である。図１０において、「Ｘ」はプレゼント通知、「Ｙ」はリセット信号、「Ｑ」は強制ロー・パワー・モード信号をそれぞれ表している。「１」はオン、「０」はオフ、をそれぞれ表している。「Ｑｎ」は直前の状態から変化しないことを表している。
【００７２】
図１１は、状態判定部の構成例を説明する図である。図１１に表すように、状態判定部９０１は、ＡＮＤゲート１１０１、及びＳＲフリップフロップ１１０２を用いて実現させることができる。ＡＮＤゲート１１０１は、プレゼント信号の否定とリセット信号の論理積を出力し、ＳＲフリップフロップ１１０２は、プレゼント通知をＳ入力端子に、ＡＮＤゲート１１０１の出力する論理積をＲ入力端子にそれぞれ入力する。出力端子Ｑから出力される信号が強制ロー・パワー・モード信号となる。
【００７３】
上記のようなＦＰＧＡ１２の仕組みでは、タイマー９０２に計時させる時間を一定以上の長さとすることにより、ＤＶＦＳ制御回路３５の制御によってＤＤＣ４及びＰＬＬ回路２１０が電圧、及びクロック周波数がそれぞれ低下するまでの時間を確保することができる。このため、強制省電力制御回路３２における強制ロー・パワー・モードの解除を適切に行わせることができる。
【００７４】
図９に表すような仕組みをＦＰＧＡ１２に搭載させた場合、たとえ１台のＰＳＵ２の故障によって電力供給が停止していたとしても、電力供給を続けているＰＳＵ２の過電流保護機能が働かないように、ＣＰＵ３の消費電力の間欠的な低減を行わせることができる。つまりＰＳＵ２の過電流の発生→ＣＰＵ３の消費電力の低減→ＰＳＵ２の過電流の解消→ＣＰＵ３の消費電力の低減の解除→ＰＳＵ２の過電流の発生、というサイクルでの運用が可能になる。そのような運用を行った場合、ＰＳＵ２の電力供給の停止による情報処理装置（ＣＰＵ３）の処理能力の低下をより抑えることができる。
【００７５】
また、システムの構成によってはハードウェアによる電力消費量と１台のＰＳＵ２による電力供給量が均衡しており、ソフトウェアの負荷によって短時間だけ、ハードウェアによる電力消費量が電力供給量を上回るような状態となっている可能性もある。このような場合、ソフトウェアの負荷上昇→ＰＳＵ２の過電流の発生→ＣＰＵ３の消費電力の低減→ＰＳＵ２の過電流の解消→負荷が必要なソフトウェア処理が終了→ＣＰＵ３の消費電力の低減の解除→そのまま動作継続、というサイクルでの運用が可能になる。そのような運用を行った場合、ＰＳＵ２の電力供給の停止による情報処理装置（ＣＰＵ３）の処理能力の低下を、ソフトウェア負荷が上昇している短期間だけに抑えることができる。
【００７６】
上記のようなサイクルで情報処理装置を運用させる場合、図８に表すフローチャートに沿った動作を情報処理装置に行わせる必要はない。代わりに、図１２に表すフローチャートのように、ＣＰＵ３を動作させれば良い。ここで図１２を参照して、ＣＰＵ３に行わせる動作について詳細に説明する。その図１２は、強制ロー・パワー・モード信号のオフによりＣＰＵに実行させる動作の流れを表すフローチャートである。
【００７７】
その強制ロー・パワー・モード信号のオフにより、強制省電力制御回路３２は、強制ロー・パワー・モードの設定を解除すると共に、その解除を行った旨を表すデータを状態表示レジスタ３３に書き込むことにより、その旨をＯＳ５０に通知する（Ｓ２１）。
その通知により、ＯＳ５０は、通常状態時のＤＶＦＳ設定値をＤＶＦＳ設定レジスタ３４に格納する（Ｓ２２）。それにより、ＤＶＦＳ制御回路３５は、ＤＤＣ４及びＰＬＬ回路２１０がそれぞれ出力する電圧、及びクロック周波数を通常状態に戻す。その結果、ＣＰＵ３の省電力状態が解除され、強制ロー・パワー・モード信号のオフに伴うＣＰＵ３の動作が完了する。
【００７８】
そのように省電力状態を解除しても、ソフトウェアによる負荷が低下しなければ、再度、ＰＳＵ２に過電流が発生する可能性が高い。このため、省電力の解除は、再度、強制ロー・パワー・モード信号がオンされるまでの短時間、行われることとなる。
【００７９】
本実施形態は、上記変形例以外の変形を行っても良い。例えば強制省電力制御回路３２に、強制ロー・パワー・モード信号のオンにより強制ロー・パワー・モードを設定した後、タイマー９０２が計時する所定時間の経過により、その設定を自動的に解除させても良い。
【符号の説明】
【００８０】
１    ＳＰ
１１    ＭＰＵ
１２    ＦＰＧＡ
１２１    通信部
１２２    過電流表示レジスタ
１２３    搭載状態レジスタ
２    ＰＳＵ
２１    ＡＣ／ＤＣ変換部
２２    電流センサ
２３    コンパレータ
３    ＣＰＵ
３１    通信部
３２    強制省電力制御回路
３３    状態表示レジスタ
３４    ＤＶＦＳ設定レジスタ
３５    ＤＶＦＳ制御回路
４    ＤＤＣ
５    記憶装置
２０５    命令発行制御部
２０６、２０６−１、２０６−２    命令処理部
２０７    コントロールロジック
２０８    ＡＬＵ群
２０９    レジスタ群
２１０    ＰＬＬ回路
２１１、２１１−１、２１１−２    サイクリックカウンタ
【図１】
2014048972.tif 000003
【図２】
2014048972.tif 000004
【図３】
2014048972.tif 000005
【図４】
2014048972.tif 000006
【図５】
2014048972.tif 000007
【図６】
2014048972.tif 000008
【図７】
2014048972.tif 000009
【図８】
2014048972.tif 000010
【図９】
2014048972.tif 000011
【図１０】
2014048972.tif 000012
【図１１】
2014048972.tif 000013
【図１２】
2014048972.tif 000014