(57)【要約】【課題】　個々のプロセッサの要求性能、およびマルチプロセッサ・システムのシステムの電力・熱全体量により、個々のプロセッサの電圧および周波数を調整できるようにすること。【解決手段】　プロセッサ・ベースのシステム内の第１のプロセッサの第１の電圧レベルを調整することを含む方法を提供する。第１のプロセッサは、第１の性能レベルで動作する。また、プロセッサ・ベースのシステム内の第２のプロセッサの第２の電圧レベルを調整する。第２のプロセッサは、第２の性能レベルで動作する。第１の性能レベルは、前述の第２の性能レベルよりも高い。この方法は、電力・熱全体量を維持し、また、プロセッサ・ベースのコンピュータシステム内のブレードの電圧を調整することで、性能を最適化する。　【選択図】図１
2004078940.tif 000002
【特許請求の範囲】
【請求項１】
　マルチプロセッサ・コンピュータシステム内のプロセッサの電圧を管理する方法であって、
　第１のプロセッサを第１の電圧レベルで動作させるステップと、
　該第１のプロセッサは、第１の性能レベルを必要とし、前記第１の性能レベルに基づいて前記マルチプロセッサ・コンピュータシステムの熱・電力量の第１の部分を消費し、
　第２のプロセッサを第２の電圧レベルで動作させるステップと、
　該第２のプロセッサは、第２の性能レベルを必要とし、前記第２の性能レベルに基づいて前記マルチプロセッサ・コンピュータシステムの熱・電力量の第２の部分を消費し、
　前記マルチプロセッサ・コンピュータシステム内で、前記第１の電圧と前記第２の電圧の少なくとも１つを調整することにより、熱・電力全体量を維持し性能を最適化するステップと、を有する方法。
【請求項２】
　前記第１の電圧レベルと前記第２の電圧レベルは、前記マルチプロセッサ・コンピュータシステムの総電圧許容量の一部で大きさが異なり、前記総電圧許容量は、前記マルチプロセッサ・コンピュータシステムの熱・電力全体量の割当てによって決定される請求項１記載の方法。
【請求項３】
　前記方法は、前記第1のプロセッサの第1の周波数レベルを調整し前記第１のプロセッサが第１の性能レベルで処理できるようにするステップと、
　前記第２のプロセッサの第２の周波数レベルを調整し、前記第２のプロセッサが第２の性能レベルで処理できるようにするステップ、
　をさらに有する請求項１記載の方法。
【請求項４】
　マルチプロセッサ・コンピュータシステム内のプロセッサの電圧を管理するシステムであって、
　前記マルチプロセッサ・コンピュータ内の第１の性能レベルで処理する第１のプロセッサの第１の電圧レベルを調整する手段と、
　前記マルチプロセッサ・コンピュータ内の第２の性能レベルで処理する第２のプロセッサの第２の電圧レベルを調整する手段と、を備え、
　前記第１の性能レベルは前記第２の性能レベルよりも高く、前記マルチプロセッサ・コンピュータシステムの前記熱・電力全体量が維持されるシステム。
【請求項５】
　前記第１の電圧レベルと前記第２の電圧レベルは、前記マルチプロセッサ・コンピュータシステムの総電圧許容量の一部で大きさが異なり、前記総電圧許容量は、前記マルチプロセッサ・コンピュータシステムの熱・電力全体量の割当てによって決定される請求項４記載のシステム。
【請求項６】
　前記第１のプロセッサの第１の周波数レベルを調整し、前記第１のプロセッサが前記第１の性能レベルで処理できるようにする手段と、
　前記第２のプロセッサの第２の周波数レベルを調整し、前記第２のプロセッサが前記第２の性能レベルで処理できるようにする手段と、
をさらに備える請求項４記載のシステム。
【請求項７】
　マルチプロセッサ・コンピュータシステムは、PA−RISC、DEC　Alpha、MIPS、PowerPC、SPARC、IA−32、IA−64から成るグループから選択されたアーキテクチャに基づく請求項４記載のマルチプロセッサ・コンピュータシステム。
【請求項８】
　マルチプロセッサ・コンピュータシステム内のプロセッサの電圧を管理するシステムであって、
　（１）第１の性能レベルで働く第１のプロセッサの第１の電圧レベルと、第２の性能レベルで働く第２のプロセッサの第２の電圧レベルを調整する命令を含み、かつユーザにより定められる入力信号を受け取るユーザ・インターフェースと、（２）第１のプロセッサの第１の最適性能レベルと、第２のプロセッサの第２の最適性能レベルに基づいて、前記第１のプロセッサの第１の出力電圧と、前記第２のプロセッサの第２の出力電圧を計算し、前記第１のプロセッサの第１の電圧レベルと、前記第２のプロセッサの第２の電圧レベルを調整する命令を含む入力信号を発生させるシリアル・プレゼンス検出（ＳＰＤ）回路と、から成るグループから選択された入力装置と、
　Inter−ICバスと、
　前記Inter−ICバスから前記入力信号を受け取って、前記入力信号に入っている前記命令により決定された情報を含む制御信号を発生させる入出力拡張と、
　前記制御信号に入っている情報に基づいて、第１の出力電圧と第２の出力電圧を発生させて、前記第１の出力電圧を前記第１のプロセッサに、また前記第２の出力電圧を前記第２のプロセッサに供給するＤＣ−ＤＣコンバータと、を備え、
前記第１の性能レベルが、前記第２の性能レベルよりも高いシステム。
【請求項９】
　マルチプロセッサ・コンピュータ内のプロセッサの電圧を管理するシステムであって、
　第１の性能レベルで働く第１のプロセッサの第１の電圧レベルと、第２の性能レベルで働く第２のプロセッサの第２の電圧レベルを調整する命令を含み、かつユーザにより定められる入力信号を供給する手動設定装置と、
　前記制御信号に入っている情報に基づいて、第１の出力電圧と第２の出力電圧を発生させて、前記第１の出力電圧を前記第１のプロセッサに、また前記第２の出力電圧を前記第２のプロセッサに供給するＤＣ−ＤＣコンバータと、を備え、
前記第１の性能レベルが、前記第２の性能レベルよりも高いシステム。
【請求項１０】
　マルチプロセッサ・コンピュータシステム内のプロセッサの電圧を管理するシステムであって、
　第１の性能レベルで働く第１のプロセッサの第１の電圧レベルと、第２の性能レベルで働く第２のプロセッサの第２の電圧レベルを調整する命令を含み、かつユーザにより定められる入力信号を受け取るユーザ・インターフェースと、
　Inter−ICバスと、
　（１）前記Inter−ICバスから前記入力信号を受け取って、前記入力信号に入っている前記命令により決定された情報を含む制御信号を発生させるマイクロプロセッサと、（２）前記Inter−ICバスから前記入力信号を受け取って、前記入力信号に入っている前記命令により決定された情報を含む制御信号を発生させるマイクロコントローラと、（３）前記Inter−ICバスから前記入力信号を受け取って、前記入力信号に入っている前記命令により決定された情報を含む制御信号を発生させるＦＰＧＡ（field　programmable　gate　array）と、（４）前記Inter−ICバスから前記入力信号を受け取って、前記入力信号に入っている前記命令により決定された情報を含む制御信号を発生させるＰＬＤ（プログラム可能な論理素子）と、から成るグループから選択された信号発生器と、
　前記制御信号に入っている情報に基づいて、第１の出力電圧と第２の出力電圧を発生させて、前記第１の出力電圧を前記第１のプロセッサに、また前記第２の出力電圧を前記第２のプロセッサに供給するＤＣ−ＤＣコンバータと、を備え、
　前記第１の性能レベルが、前記第２の性能レベルよりも高いシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
　本願は、Andrew　H．BARR氏らによってなされた「要求性能に基づく、ブレード型アーキテクチャにおけるブレードの周波数管理のためのシステム、方法、装置」と称する米国特許出願第10／216,437号、Andrew　H．BARR氏らによってなされた「キャパシティ・オン・デマンドを可能にするコンピュータシステムの周波数管理のためのシステムおよび方法」と称する米国特許出願第10／216,438号、Ricardo　ESPINOZA−IBARRA氏らによってなされた「プロセッサ・レベルにて性能を最適化するシステム、方法、装置」と称する米国特許出願第10／216,283号、Ricardo　ESPINOZA−IBARRA氏らによってなされた「ブレード型システムにおいて、装着により周波数および性能を調整するシステムおよび方法」と称する米国特許出願第10／216,234号、Andrew　H．BARR氏らによってなされた「要求性能に基づく、ブレード型アーキテクチャにおけるブレードの電圧管理」と称する米国特許出願第10／216,284号、Ricardo　ESPINOZA−IBARRA氏らによってなされた「プロセッサまたはブレードの動作周波数を管理するシステムおよび方法」と称する米国特許出願第10／216,285号、Ricardo　ESPINOZA−IBARRA氏らによってなされた「ブレード型システム内のブレードの動作周波数を管理するシステムおよび方法」と称する米国特許出願第10／216,229号、Andrew　H．BARR氏らによってなされた「装着に基づく、ブレード型システム内のプロセッサの電圧管理」と称する米国特許出願第10／216,233号、Andrew　H．BARR氏らによってなされた「性能と電力消費を最適化するプロセッサの電圧管理のためのシステムおよび方法」と称する米国特許出願第10／216,232号、および、Andrew　H．BARR氏らによってなされた「メモリ・サブシステムの管理」と称する米国特許出願第10／216,435号に関係がある。以上の米国特許出願はすべて、２００２年８月１２に出願されたものである。
【背景技術】
【０００２】
　マルチプロセッサ・システムは、多くのタイプのプロセッサを含む。サーバーのプロセッサは、単一構造体の中に、いっしょに収納されることが多く、モジューラ・アーキテクチャを用いて高密度のシステムを作り出し、それにより、フレキシビリティ（柔軟性）およびスケーラビリティが保証される。したがって、このモジューラ・アーキテクチャにより、スペースの必要が減る。サーバー・プロセッサは、通常、ストレージ・タイプ、ネットワーキング・タイプ、および他のタイプのプロセッサといっしょに、複数のプロセッサをホストする（ｈｏｓｔ）共通のエンクロージャまたはシャーシ内にインストールされる。これらの複数のプロセッサは、ケーブル、電源、冷却ファンなどの共通リソースを共有する。
【０００３】
　マルチプロセッサ・システムでは、プロセッサで生じる熱と、シャーシ内の限られたスペースが一部だが主な要因で、厄介な技術問題が発生する。通常、マルチプロセッサ・システムは、基本的な電力・熱設計枠によって制限される。例えば、マルチプロセッサ・システムをホストするシャーシは、限られたワット数しか利用しないように設計されていることもある。すなわち、このシャーシは、それだけの電力しか消費できず、シャーシ内のプロセッサを冷却するのに利用できるエアフローの量が限られている。
【０００４】
　要求性能と、熱・電力所要量との間のかね合い（トレードオフ）を最適化するときに、技術課題が発生する。マルチプロセッサ・システムでは、それぞれ別々のシステムを表わす複数のプロセッサが、同一シャーシ内にある。このシャーシには、特定の電力・熱所要量の組が関連する。具体的に言えば、これらの所要量は、それぞれのプロセッサが消費できる電力量に制限を加える。公知の電力制限戦略には、ＣＰＵ機能ユニット、例えば、浮動小数点ユニットまたはオンダイ・キャッシュを停止するか、あるいは、ハードディスク・ドライブにおいて、速度と引き換えに、電力消費を削減する方策がある。
【０００５】
　この電力制限は、プロセッサが動作できる周波数に制約を加え、したがって、その性能を制限する。さらに、システム内のプロセッサは、通例、すべて同一周波数で動作するように設定されている。これは、個々のプロセッサが、最適な性能およびキャパシティで動作できる能力をさらに制限する。
【０００６】
　以前の解決策では、シャーシの電力・熱冷却全体量を満たすように、すべてのプロセッサを、その最高性能レベルよりも低い性能レベルで動作させる。この解決策に関連する欠点は、このような量の範囲内に入るように、それぞれのプロセッサの性能が落とされるかあるいは下げられることである。例えば、シャーシが冷却できる能力がＸに限定され、しかもプロセッサがＹ基ある場合には、それぞれのプロセッサは、このシャーシ内での消費電力に対して、ほぼＸ／Ｙしか寄与することができない。したがって、それぞれのプロセッサは、Ｘ／Ｙ電力レベルに対応した性能に限定される。
【０００７】
　他の解決策は、高価な制御回路を必要とする複数のうるさい、スペースを要するファンを追加することであった。このような冷却システムを使用する場合、マルチプロセッサ・システムのコストが上昇し、他の機構用のシャーシ内に残される、他の機構用のスペースが少なくなり、しかも、故障およびダウン時間が増加してしまう危険性が高まる。他の解決策には、他の使用機構の数を制限するだけでなく、このマルチプロセッサ・システム内のＩ／Ｏカードの数を制限する方策もあった。さらに他の解決策は、このマルチプロセッサ・システム内の他の機構のための電力量を削減することであった。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
　必要とされるものは、マルチプロセッサ・システムの性能を最適化する方法である。この方法は、マルチプロセッサ・システム内のプロセッサの周波数と共同し、これらのプロセッサの電圧を調整することにより、マルチプロセッサ・システムの熱・電力の利益を向上させるものである。
【課題を解決するための手段】
【０００９】
　本願に述べられる方法およびシステムは、個々のプロセッサの要求性能、およびマルチプロセッサ・システムのシステムの電力・熱全体量により、個々のプロセッサの電圧および周波数を調整できるようにする点で有利である。
【００１０】
　上記および他の利点は、例えば、プロセッサ・ベースのシステム内の第１のプロセッサの第１の電圧レベルを調整することを含む方法の中に見出される。第１のプロセッサは、第１の性能レベルで動作する。この方法はまた、プロセッサ・ベースのシステム内の第２のプロセッサの第２の電圧レベルを調整することも含む。第２のプロセッサは、第２の性能レベルで動作する。第１の性能レベルは、前述の第２の性能レベルよりも高い。この方法は、電力・熱全体量を維持し、また、プロセッサ・ベースのコンピュータシステム内のブレードの電圧を調整することで、性能を最適化する。
【００１１】
　上記および他の利点は、例えば、プロセッサ・ベースのシステム内の第１のプロセッサの第１の電圧レベルを調整する手段を含むシステムの中にも見出される。第１のプロセッサは、第１の性能レベルで動作する。このシステムはまた、前述のプロセッサ・ベースのシステム内の第２のプロセッサの第２の電圧レベルを調整する手段も含む。第２のプロセッサは、第２の性能レベルで動作する。第１の性能レベルは、前述の第２の性能レベルよりも高い。
【００１２】
　上記および他の利点は、さらに、例えば入力信号を受け取るユーザ・インターフェースを含むシステムの中にも見出される。この入力信号は、第１の性能レベルで働く第１のプロセッサの第１の電圧レベルと、第２の性能レベルで働く第２のプロセッサの第２の電圧レベルを調整する命令を含むものであって、ユーザにより定められる。このシステムはまた、Inter−IC（IC間）バスと、Inter−ICバスから入力信号を受け取って制御信号を発生させる入出力拡張も含む。この制御信号は、入力信号に入っている命令によって決定された情報を含む。このシステムは、さらに、ＤＣ−ＤＣコンバータも含む。ＤＣ−ＤＣコンバータは、この制御信号に入っている情報に基づいて、第１の出力電圧と第２の出力電圧を発生させて、第１の出力電圧を第１のプロセッサに、また第２の出力電圧を第２のプロセッサに供給する。第１の性能レベルは、第２の性能レベルよりも高い。
【００１３】
　上記および他の利点は、第１のプロセッサの第１の最適性能レベルと、第２のプロセッサの第２の最適性能レベルに基づいて、第１のプロセッサの第１の出力電圧と、第２のプロセッサの第２の出力電圧を計算するシリアル・プレゼンス検出（ＳＰＤ）回路を含むシステムの中にも見出される。このシリアル・プレゼンス検出（ＳＰＤ）回路は、第１のプロセッサの第１の電圧レベルと、第２のプロセッサの第２の電圧レベルを調整する命令を含む入力信号も発生させる。このシステムはまた、Inter−ICバスと、このInter−ICバスから入力信号を受け取って制御信号を発生させる入出力拡張も含む。この制御信号は、その入力信号に入っている命令により決定された情報を含む。このシステムは、さらに、ＤＣ−ＤＣコンバータも含む。ＤＣ−ＤＣコンバータは、この制御信号に入っている情報に基づいて、第１の出力電圧と第２の出力電圧を発生させて、第１の出力電圧を第１のプロセッサに、また第２の出力電圧を第２のプロセッサに供給する。第１の性能レベルは、第２の性能レベルよりも高い。
【００１４】
　上記および他の利点は、さらに、例えば入力信号を提供する手動設定装置を含むシステムの中に見出される。この入力信号は、第１の性能レベルで働く第１のプロセッサの第１の電圧レベルと、第２の性能レベルで働く第２のプロセッサの第２の電圧レベルを調整する命令を含むものであって、ユーザにより定められる。このシステムは、ＤＣ−ＤＣコンバータも含む。ＤＣ−ＤＣコンバータは、制御信号に入っている情報に基づいて、第１の出力電圧と第２の出力電圧を発生させて、第１の出力電圧を第１のプロセッサに、また第２の出力電圧を第２のプロセッサに供給するが、ただし、第１の性能レベルは、第２の性能レベルよりも高い。
【００１５】
　上記および他の利点は、例えば入力信号を受け取るユーザ・インターフェースを含むシステムの中にも見出される。この入力信号は、第１の性能レベルで働く第１のプロセッサの第１の電圧レベルと、第２の性能レベルで働く第２のプロセッサの第２の電圧レベルを調整する命令を含むものであって、ユーザにより定められる。このシステムはまた、Inter−ICバスと、Inter−ICバスから入力信号を受け取って制御信号を発生させるマイクロプロセッサも含む。この制御信号は、入力信号に入っている命令によって決定された情報を含む。このシステムは、さらに、ＤＣ−ＤＣコンバータも含む。ＤＣ−ＤＣコンバータは、この制御信号に入っている情報に基づいて、第１の出力電圧と第２の出力電圧を発生させて、第１の出力電圧を第１のプロセッサに、また第２の出力電圧を第２のプロセッサに供給する。第１の性能レベルは、第２の性能レベルよりも高い。
【００１６】
　上記および他の利点は、例えば、入力信号を受け取るユーザ・インターフェースを含むシステムの中にも見出される。この入力信号は、第１の性能レベルで働く第１のプロセッサの第１の電圧レベルと、第２の性能レベルで働く第２のプロセッサの第２の電圧レベルを調整する命令を含むものであって、ユーザにより定められる。このシステムはまた、Inter−ICバスと、Inter−ICバスから入力信号を受け取って制御信号を発生させるマイクロコントローラも含む。この制御信号は、その入力信号に入っている命令により決定された情報を含む。このシステムは、さらに、ＤＣ−ＤＣコンバータも含む。ＤＣ−ＤＣコンバータは、この制御信号に入っている情報に基づいて、第１の出力電圧と第２の出力電圧を発生させて、第１の出力電圧を第１のプロセッサに、また第２の出力電圧を第２のプロセッサに供給する。第１の性能レベルは、第２の性能レベルよりも高い。
【００１７】
　上記および他の利点は、さらに、例えば、入力信号を受け取るユーザ・インターフェースを含むシステムの中にも見出される。この入力信号は、第１の性能レベルで働く第１のプロセッサの第１の電圧レベルと、第２の性能レベルで働く第２のプロセッサの第２の電圧レベルを調整する命令を含むものであって、ユーザにより定められる。このシステムはまた、Inter−ICバスと、Inter−ICバスから入力信号を受け取って制御信号を発生させるＦＰＧＡ（field programmable gate array）も含む。この制御信号は、その入力信号に入っている命令により決定された情報を含む。このシステムは、さらに、ＤＣ−ＤＣコンバータも含む。ＤＣ−ＤＣコンバータは、この制御信号に入っている情報に基づいて、第１の出力電圧と第２の出力電圧を発生させて、第１の出力電圧を第１のプロセッサに、また第２の出力電圧を第２のプロセッサに供給する。第１の性能レベルは、第２の性能レベルよりも高い。
【００１８】
　上記および他の利点は、例えば、入力信号を受け取るユーザ・インターフェースを含むシステムの中にも見出される。この入力信号は、第１の性能レベルで働く第１のプロセッサの第１の電圧レベルと、第２の性能レベルで働く第２のプロセッサの第２の電圧レベルを調整する命令を含むものであって、ユーザにより定められる。このシステムはまた、Inter−ICバスと、Inter−ICバスから入力信号を受け取って制御信号を発生させるＰＬＤ（プログラム可能な論理素子）も含む。この制御信号は、その入力信号に入っている命令により決定された情報を含む。このシステムは、さらに、ＤＣ−ＤＣコンバータも含む。ＤＣ−ＤＣコンバータは、この制御信号に入っている情報に基づいて、第１の出力電圧と第２の出力電圧を発生させて、第１の出力電圧を第１のプロセッサに、また第２の出力電圧を第２のプロセッサに供給する。第１の性能レベルは、第２の性能レベルよりも高い。
【００１９】
　この詳細な説明は、同じ要素に同じ番号を付した以下の図面を参照する。
【発明を実施するための最良の形態】
【００２０】
　次に、プロセッサ・レベルでの性能最適化と共同する電圧調整のためのシステムおよび方法の好ましい実施形態を、同じ要素に同じ番号を付した以下の図を参照して詳しく説明する。図１は、マルチプロセッサ・システムの基本モジュラー・ビルディング・ブロックの一実施形態を描いたブロック図（全体が参照数字１００で示される）を示している。管理プロセッサ１１０は、このシャーシの機能を監視して、インストールされたあらゆるサーバーのコンソールとの単一インターフェースを提供する。図１に示されるように、サーバー・プロセッサ１２０は、管理プロセッサ１１０とやり取りしている。さらに、サーバー・プロセッサ１２０が、特定の機能を果たす他のプロセッサとやり取りしている。例えば、図１に見られるように、サーバー・プロセッサ１２０は、ファイバ・チャネル・プロセッサ１３０およびネットワーク・プロセッサ１４０とやり取りしている。マルチプロセッサ・システム１００内の様々なプロセッサは、サーバー・プロセッサ、ネットワーク・プロセッサ、ストレージ・プロセッサ、またはストレージ相互接続プロセッサなどである場合もあると理解されよう。一般に、同一タイプ（サーバー、ファイバ・チャネル、ネットワークなど）のプロセッサには、同一のハードウェア・コンポーネントやソフトウェア・コンポーネントが入っているが、ただし、異なるプロセッサが、同一タイプの他のプロセッサとは異なる電圧または周波数で動作していることもある。
【００２１】
　プロセッサは通常、設計上は汎用サーバーだが、シャーシ内の異なるプロセッサは、異なる性能レベルを要求する様々なアプリケーションをホストすることができる。例えば、このプロセッサがホストするアプリケーションには処理能力があまり必要ないので、ほとんどの時間では、特定のプロセッサがアイドル状態のままであるかもしれないが、一方、他のプロセッサは、大量の処理能力を必要とするアプリケーションをホストすることがある。
【００２２】
　プロセッサのプロセスの性能を上げたり、または下げたりするのに対応して、それぞれのプロセッサは、高くした周波数または低くした周波数で動作し、したがって、シャーシの熱・電力量を消費する量が多くなるか、または少なくなる。管理プロセッサ１１０はさらに高い性能レベルが必要なプロセスを実行するので、さらに高い周波数で動作する。したがって、シャーシの熱・電力量を消費する量が多くなる。さらに低い性能レベルが必要なバックグラウント・プロセスを実行するスレーブ・プロセッサ１２０は、さらに低い周波数で動作するので、シャーシの熱・電力量のうち、消費する量が少なくなる。いずれのシナリオにおいてもやはり、マルチプロセッサ・システム１００の熱・電力全体所要量は、全体プロセッサ性能を用いてさらに最適にすることで満たされる。
【００２３】
　上で論じられるように、プロセッサ１１０、１２０、１３０、１４０の電圧を個々に調整することのできるマルチプロセッサ・システム１００を作り出すことが望ましい。一実施形態では、特定のプロセッサの電圧および周波数を同時に調整する。当業者であれば、プロセッサで用いられる電圧を変更するために、プロセッサの電圧変更に関して本明細書に述べられた技法も利用できることが理解されよう。一般に、プロセッサの電圧を上げる（特定の範囲内で）と、プロセッサが動作できる周波数も高くなる。逆に、プロセッサの電圧を下げると、プロセッサが動作できる周波数が低くなる。したがって、プロセッサの周波数を低くするとより低い性能レベルですむので、その電圧もこの周波数とともに低下する。それにより、大幅な熱・電力軽減がもたらされる。プロセッサで消費される電力は、周波数、および電圧の二乗に比例するので、電圧を調整することにより、ただ周波数だけを調整することよりも、さらに大きく成果が上がる。
【００２４】
　多くのマルチプロセッサ・システム１００では、プロセッサまたはメモリが始動する電圧は、ＤＣ−ＤＣコンバータと呼ばれる電圧コンバータで発生させる。ＤＣ−ＤＣコンバータは、シャーシ内のすべてのサーバーを動作させるグローバル・システム電力（global　system　power）、例えば５ボルトを取り入れ、またそのグローバル・システム電力から、シャーシ内にホストされた個々のプロセッサ１１０、１２０、１３０、１４０向けに指定電圧要求値を発生させる。ＤＣ−ＤＣコンバータは、通常、回路中のセントラル・コントローラとして、ＡＳＩＣを用いて制御される。プロセッサ１１０、１２０、１３０、１４０への電圧調整は、ＤＣ−ＤＣコンバータ上の「トリム」ピンに、シリアルまたはパラレルのデジタル入力を供給すれば、達成できる。ＤＣ−ＤＣコンバータ回路中の所与のトリム・ピンにて、値をわずかに変化させれば、出力電圧を、わずかに上げたり、下げたりすることができる。例えば、２ボルトは、２．１ボルト、２．２ボルトなどに変えることができる。図２〜図５は、ＤＣ−ＤＣコンバータのトリム・ピンへの入力をどのように制御できるか、異なる手法を示している。通常の当業者であれば、本明細書に開示される原理は、PA−RISC、DEC　Alpha、MIPS、PowerPC、SPARC、IA−32、IA−64を含め、様々なプロセッサ・アーキテクチャに適用できることがすぐ理解されよう。
【００２５】
　図２は、入出力（Ｉ／Ｏ）拡張チップなどのInter−IC（Ｉ２Ｃ）装置を用いて、個々のプロセッサの動作電圧を管理する方法の一実施形態を描いたブロック図（全体が参照数字２００で示される）を示している。Ｉ２Ｃの方法２００では、Ｉ２Ｃバス２１０から制御信号を供給し、この制御信号をＩ／Ｏ拡張チップ２２０に供給し、「trim　in」信号２３０を発生させ、「voltage　in」信号２４０を供給し、「voltage　in」信号２４０を、ＤＣ−ＤＣコンバータ２５０のトリム・ピンに供給し、出力電圧２６０を発生させる。
【００２６】
　Ｉ２Ｃバス２１０、または他の制御バスを使用して、Ｉ／Ｏ拡張チップ２２０を制御する。当業者に知られているように、Ｉ２Ｃバス２１０は、集積回路間に通信リンクを提供する双方向の２線式シリアル・バスである。プロセッサ１１０、１２０、１３０、１４０がPA−RISCプロセッサである一実施形態では、制御信号は、ＧＳＰ（ガーディアン・サービス・プロセッサ）コンソールを用いて、手動で、Ｉ２Ｃバス２１０に供給される。ＧＳＰは管理コンソールであり、これにより、ユーザは、マルチプロセッサ・システム１００の様々なパラメータを制御することができる。例えば、その電圧を、特定のプロセッサ１１０、１２０、１３０、１４０、すなわち、マルチプロセッサ・システム１００内にホストされたプロセッサに供給する。ＧＳＰコンソールのユーザ・フレンドリなインターフェースを使用すれば、ユーザは、どんな低レベルの情報（例えば、ビット・セッティング）についても知る必要なく、マルチプロセッサ・システム１００内のプロセッサ１１０、１２０、１３０、１４０の電圧を手動で制御することができる。
【００２７】
　他の実施形態では、制御信号は、シリアル・プレゼンス検出（ＳＰＤ）機能を用いて、自動的にＩ２Ｃバス２１０に供給される。ＳＰＤは、マルチプロセッサ・システム１００の異なる部分に問い合せて、オプションとして装着された機構の装着ステータス（loading　status）を判定するシリアル・バスである。このようにオプションとして装着された機構には、例えば、プロセッサ１１０、１２０、１３０、１４０、または他の任意のボードがある。マルチプロセッサ・システム１００は、各プロセッサ１１０、１２０、１３０、１４０に適した電圧を自動的に検出することができる。この電圧では、マルチプロセッサ・システム１００の熱・電力限度内で、プロセッサ１１０、１２０、１３０、１４０の性能を最大になる。ＳＰＤは、Ｉ２Ｃバス２１０を利用して、マルチプロセッサ・システム１００内のすべてのプロセッサ１１０、１２０、１３０、１４０に問い合せて、マルチプロセッサ・システム１００のシャーシといっしょに、何基のプロセッサが装着されているのか判定し、プロセッサ１１０、１２０、１３０、１４０などの要求性能を判定する。次に、この情報を使用して、プロセッサ１１０、１２０、１３０、１４０に供給される電圧を自動的に調整する。
【００２８】
　Ｉ／Ｏ拡張チップ２２０は、Ｉ２Ｃバス２１０を用いて制御される安価なシリアル・パラレル・タイプのチップであり得る。Ｉ／Ｏ拡張チップ２２０は、Ｉ２Ｃコマンドを通じてＩ／Ｏ拡張チップ２２０に書き込むことで、特定の状態に強制される入出力（Ｉ／Ｏ）ポートを持っている。Ｉ／Ｏ拡張チップ２２０はＩ２Ｃベースのものであるから、Ｉ／Ｏ拡張チップ２２０は、前述の通り、ＧＳＰまたはＳＰＤなどのＩ２Ｃインターフェースをサポートする装置であれば、どんなものによっても制御できる。Ｉ／Ｏ拡張チップ２２０は、通常、複数のＩ／Ｏポートを持っている。それゆえ、１個のＩ／Ｏ拡張チップ２２０を使用すれば、複数のＤＣ−ＤＣコンバータ２５０を個々に制御することができる。Ｉ／Ｏ拡張チップ２２０は、「trim　in」信号２３０、すなわち、ＤＣ−ＤＣコンバータ２５０のトリム・ピンに入力されるＮビット長の制御信号を発生させる。「trim　in」信号２３０には、ユーザからの電圧調整に関する情報が入っている。「trim　in」信号２３０をＤＣ−ＤＣコンバータ２５０に供給して、適切な入力をＤＣ−ＤＣコンバータ２５０のトリム・ピンに供給することでプロセッサ１１０、１２０、１３０、１４０の電圧を制御する。「voltage　in」信号２４０も、ＤＣ−ＤＣコンバータ２５０に供給して、プロセッサ電圧を比較する基準電圧レベルを提供する。この基準電圧レベルは、マルチプロセッサ・システム１００のグローバル・システム電力、すなわち、マルチプロセッサ・システム１００内にホストされた任意の１つのプロセッサ１１０、１２０、１３０、１４０で利用できる最大電圧に相当する。次に、ＤＣ−ＤＣコンバータ２５０は、プロセッサ１１０、１２０、１３０、１４０に適した出力電圧２６０を発生させて、マルチプロセッサ・システム１００の熱・電力限度内で、プロセッサ１１０、１２０、１３０、１４０の性能を最適化する。ＤＣ−ＤＣコンバータ２５０上のトリム・ピンを用いて、様々なプロセッサ１１０、１２０、１３０、１４０に、出力電圧２６０を印加する。
【００２９】
　図３は、手動設定装置を用いて、個々のプロセッサの動作電圧を管理する方法の一実施形態を描いたブロック図（全体が参照数字３００で示される）を示している。手動設定装置の方法３００では、マルチプロセッサ・システム１００上の手動設定装置３１０をセットし、「trim　in」信号３２０を発生させ、「voltage　in」信号３３０を供給し、「voltage　in」信号３３０を、ＤＣ−ＤＣコンバータ３４０のトリム・ピンに供給し、出力電圧３５０を発生させる。
【００３０】
　通常の当業者であれば、所望の機能を果たすことのできる多くの共通手動設定装置、例えばディップ・スイッチ、ピン・ヘッダの上に設けられるジャンパ、回転設定スイッチ、はんだブリッジなどがあることが理解されよう。例えば、一実施形態では、ディップ・スイッチは、手動設定装置３１０として用いられることがある。当技術分野で知られているように、ディップ・スイッチは、回路基板、例えばプロセッサ１１０、１２０、１３０、１４０を含む回路基板に組み込まれた一連の極小スイッチである。
【００３１】
　手動設定装置３１０により、ユーザは、これらのプロセッサを設定することができる。この実施形態では、手動設定装置３１０により、ユーザは、特定のプロセッサ１１０、１２０、１３０、１４０で用いられている電圧を調整することができる。マルチプロセッサ・システム１００の物理的に容易に近寄れる部分に、例えば、マルチプロセッサ・システム１００の外側の部分に、手動設定装置３１０が付け加えられることもある。したがって、マルチプロセッサ・システム１００のリブートのときに、所定の要求性能に基づいて、ユーザまたは操作者に、プロセッサ１１０、１２０、１３０、１４０の電圧を手動でセットさせる。しかしながら、ユーザは、ＤＣ−ＤＣコンバータ４５０のトリム・ピンのコンフィギュレーション・ビットの適切なセッティングを知らなければならない。
【００３２】
　手動設定装置３１０は、「trim　in」信号３２０、すなわち、ＤＣ−ＤＣコンバータ３４０のトリム・ピンに入力されるＮビット長の制御信号を発生させる。「trim　in」信号３２０には、ユーザからの電圧調整に関する情報が入っている。「trim　in」信号３２０をＤＣ−ＤＣコンバータ３４０に供給して、適切な入力をＤＣ−ＤＣコンバータ３４０のトリム・ピンに供給することでプロセッサ１１０、１２０、１３０、１４０の電圧を制御する。「voltage　in」信号３３０も、ＤＣ−ＤＣコンバータ３４０に供給して、プロセッサ電圧を比較する基準電圧レベルを提供する。この基準電圧レベルは、マルチプロセッサ・システム１００のグローバル・システム電力、すなわち、マルチプロセッサ・システム１００内にホストされた任意の１つのプロセッサ１１０、１２０、１３０、１４０で利用できる最大電圧に相当する。次に、ＤＣ−ＤＣコンバータ３４０は、プロセッサ１１０、１２０、１３０、１４０に適した出力電圧３５０を発生させて、マルチプロセッサ・システム１００の熱・電力限度内で、プロセッサ１１０、１２０、１３０、１４０の性能を最適化する。ＤＣ−ＤＣコンバータ３４０のトリム・ピンを用いて、様々なプロセッサ１１０、１２０、１３０、１４０に、出力電圧３５０を印加する。
【００３３】
　図４は、マイクロプロセッサ／マイクロコントローラを用いて、個々のプロセッサの動作電圧を管理する方法の一実施形態を描いたブロック図（全体が参照数字４００で示される）を示している。マイクロプロセッサの方法４００では、Ｉ２Ｃバス４１０から制御信号を供給し、この制御信号をマイクロプロセッサ／マイクロコントローラ４２０に供給し、「trim　in」信号４３０を発生させ、「voltage　in」信号４４０を供給し、「voltage　in」信号４４０を、ＤＣ−ＤＣコンバータ４５０のトリム・ピンに供給し、出力電圧４６０を発生させる。
【００３４】
　Ｉ２Ｃバス４１０は、マイクロプロセッサ／マイクロコントローラ４２０を制御するために用いられる。当業者に知られているように、Ｉ２Ｃバス４１０は、集積回路間に通信リンクを提供する双方向の２線式シリアル・バスである。マイクロプロセッサ／マイクロコントローラ４２０は、Ｉ２Ｃバス４１０を用いて、ユーザと対話して、ユーザがプロセッサ１１０、１２０、１３０、１４０を作動させたいと思う電圧を、ユーザに入力させる。ユーザ入力は、さらに高いレベルのインターフェース装置、例えばコンソールを用いて達成できる。マイクロプロセッサ／マイクロコントローラ４２０は、ユーザに対し、ＤＣ−ＤＣコンバータ４５０のトリム・ピンのコンフィギュレーション・ビットの適切なセッティングを知るよう求めることなく、このユーザ入力を適切なコマンドに自動的に変換して、プロセッサ１１０、１２０、１３０、１４０の電圧を調整するようにプログラムできる。
【００３５】
　マイクロプロセッサ／マイクロコントローラ４２０は、「trim　in」信号４３０、すなわち、ＤＣ−ＤＣコンバータ４５０のトリム・ピンに入力されるＮビット長の制御信号を発生させる。「trim　in」信号４３０には、ユーザからの電圧調整に関する情報が入っている。「trim　in」信号４３０をＤＣ−ＤＣコンバータ４５０に供給して、適切な入力をＤＣ−ＤＣコンバータ４５０のトリム・ピンに供給することでプロセッサ１１０、１２０、１３０、１４０の電圧を制御する。「voltage　in」信号４４０も、ＤＣ−ＤＣコンバータ４５０に供給して、プロセッサ電圧を比較する基準電圧レベルを提供する。この基準電圧レベルは、マルチプロセッサ・システム１００のグローバル・システム電力、すなわち、マルチプロセッサ・システム１００内にホストされた任意の１つのプロセッサ１１０、１２０、１３０、１４０で利用できる最大電圧に相当する。次に、ＤＣ−ＤＣコンバータ４５０は、プロセッサ１１０、１２０、１３０、１４０に適した出力電圧４６０を発生させて、マルチプロセッサ・システム１００の熱・電力限度内で、プロセッサ１１０、１２０、１３０、１４０の性能を最適化する。ＤＣ−ＤＣコンバータ４５０のトリム・ピンを用いて、様々なプロセッサ１１０、１２０、１３０、１４０に、出力電圧４６０を印加する。
【００３６】
　図５は、ＦＰＧＡ（field−programmable　gate　array）またはＰＬＤ（プログラム可能な論理素子）を用いて、個々のプロセッサの動作電圧を管理する方法の一実施形態を描いたブロック図（全体が参照数字５００で示される）を示している。ＦＰＧＡ／ＰＬＤの方法５００では、Ｉ２Ｃバス５１０から制御信号を供給し、この制御信号をＦＰＧＡ／ＰＬＤ５２０に供給し、「trim　in」信号５３０を発生させ、「voltage　in」信号５４０を供給し、「voltage　in」信号５４０を、ＤＣ−ＤＣコンバータ５５０のトリム・ピンに供給し、出力電圧５６０を発生させる。
【００３７】
　Ｉ２Ｃバス５１０は、ＦＰＧＡ／ＰＬＤ５２０を制御するために用いられる。当業者に知られているように、Ｉ２Ｃバス５１０は、集積回路間に通信リンクを提供する双方向の２線式シリアル・バスである。ＦＰＧＡは、製造後、現場でプログラムできる特定のタイプのＰＬＤであるチップである。ＦＰＧＡ／ＰＬＤ５２０は、Ｉ２Ｃバス４１０を用いて、ユーザと対話して、ユーザがプロセッサ１１０、１２０、１３０、１４０を作動させたいと思う電圧を、ユーザに入力させる。ユーザ入力は、さらに高いレベルのインターフェース装置、例えばコンソールを用いて達成できる。図５を参照して述べられたマイクロコントローラ／マイクロプロセッサ４２０の利用と同様に、ＦＰＧＡ／ＰＬＤ５２０を用いれば、ユーザは、このような電圧調整を、さらに透過的なやり方で制御することができる。すなわち、ユーザは、ＤＣ−ＤＣコンバータ５５０のトリム・ピンのコンフィグレーション・ビットの適切なセッティングを知る必要はない。
【００３８】
　ＦＰＧＡ／ＰＬＤ５２０は、「trim　in」信号５３０、すなわち、ＤＣ−ＤＣコンバータ５５０のトリム・ピンに入力されるＮビット長の制御信号を発生させる。「trim　in」信号５３０には、ユーザからの電圧調整に関する情報が入っている。「trim　in」信号５３０をＤＣ−ＤＣコンバータ５５０に供給して、適切な入力をＤＣ−ＤＣコンバータ５５０のトリム・ピンに供給することでプロセッサ１１０、１２０、１３０、１４０の電圧を制御する。「voltage　in」信号５４０も、ＤＣ−ＤＣコンバータ５５０に供給して、プロセッサ電圧を比較する基準電圧レベルを提供する。この基準電圧レベルは、マルチプロセッサ・システム１００のグローバル・システム電力、すなわち、マルチプロセッサ・システム１００内にホストされた任意の１つのプロセッサ１１０、１２０、１３０、１４０で利用できる最大電圧に相当する。次に、ＤＣ−ＤＣコンバータ５５０は、プロセッサ１１０、１２０、１３０、１４０に適した出力電圧５６０を発生させて、マルチプロセッサ・システム１００の熱・電力限度内で、プロセッサ１１０、１２０、１３０、１４０の性能を最適化する。ＤＣ−ＤＣコンバータ５５０のトリム・ピンを用いて、様々なプロセッサ１１０、１２０、１３０、１４０に、出力電圧５６０を印加する。
【００３９】
　図６は、同一電圧で動作するマルチプロセッサ・システム１００のシャーシ内の一連のプロセッサを描いたブロック図（全体が参照数字６００で示される）を示している。個々のプロセッサの陰影は、個々のプロセッサが、それぞれ同じ電圧レベルで動作していることを示している。同一電圧でプロセッサを動作させることが、現行のマルチプロセッサ・システムでは代表的なものである。さらに、この陰影は、このシステム全体に割り当てられた最大電力未満にとどまるように、そのプロセッサの最高性能レベルよりも低いレベルで動作していることを示している。前に論じられたように、マルチプロセッサ・システムは、基本的な電力・熱包絡線によって制限される。これは、プロセッサ中で生じた熱や、シャーシでの限られた寸法による。シャーシが、所与の電力量を消費するときには、このシャーシは、通常、プロセッサを冷却するのに利用できるエアフローの量が制限される。その結果、このような電力制限は、プロセッサが動作できる電圧を制限し、したがって、その性能を制限する。したがって、これらのプロセッサは、実行する必要のあるプロセスに応じて、最適な性能およびキャパシティで動作できる能力が制限される。なぜなら、これらのプロセッサは、同一電圧、すなわち、それらの最高レベルよりも低い電圧で動作するように設定されているからである。
【００４０】
　図７は、異なる電圧で動作するマルチプロセッサ・シャーシ内の一連のプロセッサを描いたブロック図（全体が参照数字７００で示される）を示している。図７のシステムは、前に述べられた様々な方法の少なくとも１つを用いて、ユーザが、シャーシ内の様々なプロセッサの電圧レベルを手動で、または自動的に調整可能となっているシステムを表わしている。その結果、このシステム全体は、はるかに効率的なレベルで動作する。ここで、図７に見られるように、それぞれのプロセッサは、このシステム内で、その特定の機能に求められる所要の電圧レベルしか用いていない。ここで、個々のプロセッサに使える電圧レベルが様々であるために、平均電圧よりも高い電圧が必要なプロセッサは、さらに最適なレベルで動作することができる。同様に、さらに低い電力でよいプロセッサは、もう、他のプロセッサと同じ電圧レベルで動作する必要はない。その結果、さらに効率的なシステムが作り出される。
【００４１】
　マルチプロセッサ・コンピュータシステム内の個々のプロセッサの動作電圧を手動で管理する方法が、模範的な実施形態に関連して述べられてきたが、当業者であれば、以上の教示に照らして多くの変更が可能であり、また、本願が、そのどんな変形例もカバーするようにもくろまれていることが理解されよう。
【００４２】
　本明細書に開示される原理は、共通シャーシを共有するブレードまたはプロセッサから成るシステムに、あるいは、複数のシャーシにまたがるアーキテクチャ・システムに応用できるものと理解されよう。すなわち、このような原理は、物理パーティションまたは論理パーティションで分割されたシステムに応用できる。例えば、物理的に、システムは、それぞれ８基のプロセッサを有する３つのシャーシを含むことがある。論理的に、同一システムが、５人の異なるカスタマに対して、５つの異なるｗｅｂサーバーに区分されることもある。シャーシ内の電力制約は、通常、このシステムの物理パーティションに関係する。複数のシャーシ内に位置づけられるカスタマまたはアプリケーションに課せられる電力制約は、通常、論理パーティションに関係する。通常の当業者であれば、上述の技術革新は、物理的にも論理的にも区分されたアーキテクチャに適用できることがすぐ理解されよう。
【００４３】
　例えば、この開示されたシステムおよび方法は、Ｉ２Ｃバスから信号を受け取るのに用いられる特定のＩ２Ｃ装置を利用している。他のＩ２Ｃ装置も、同じように用いられることがある。したがって、この開示全体を通じて、図示され、参照されるＩ２Ｃ装置は、特記しない限り、所望の機能を果たすのに適した一切の装置／技術を表わすことになっている。同様に、様々な動作を行うプロセッサもいくつか開示されている。この特定のプロセッサは、本明細書に述べられるシステムおよび方法にとって重要ではない。したがって、本明細書に述べられるシステムおよび方法を、任意の特定の形態のプロセッサまたは特定のマルチプロセッサ・システムに限定することは、出願者の意図ではない。
【００４４】
　この開示全体を通じて、さらに他の例証があり、本明細書にはっきりと特定されてはいないが、それでも、クレーム記載の機能を果たすことのできる構造、材料、または動作の利用を、この開示の範囲から除外することは、出願者の意図ではない。
【図面の簡単な説明】
【００４５】
【図１】マルチプロセッサ・システムの基本モジュラー・ビルディング・ブロックの一実施形態を描いたブロック図。
【図２】入出力拡張チップを用いて、個々のプロセッサの動作電圧を管理する一手法を描いたブロック図。
【図３】手動設定装置を用いて、個々のプロセッサの動作電圧を管理する方法の一実施形態を描いたブロック図。
【図４】マイクロコントローラまたはマイクロプロセッサを用いて、個々のプロセッサの動作電圧を管理する方法の一実施形態を描いたブロック図。
【図５】ＦＰＧＡ（field−programmable　gate　array）またはＰＬＤ（プログラム可能な論理素子）を用いて、個々のプロセッサの動作電圧を管理する方法の一実施形態を描いたブロック図。
【図６】マルチプロセッサ・システムのシャーシ内の一連のプロセッサを描いたブロック図。
【図７】異なる電圧で動作するマルチプロセッサ・システムのシャーシ内の一連のプロセッサを描いたブロック図。
【符号の説明】
【００４６】
　１００　マルチプロセッサ・コンピュータシステム
　１２０　第１のプロセッサ
　１３０　第２のプロセッサ
　２１０、４１０、５１０　Inter−ICバス
　２２０　入出力拡張
　２３０、４３０、５３０　制御信号
　２５０、３４０、５５０　ＤＣ−ＤＣコンバータ
　２６０、５６０　第２出力電圧、第１出力電圧
　３１０　手動設定装置
　４２０　マイクロプロセッサ、マイクロコントローラ
　５２０　ＦＰＧＡ
【図１】
2004078940.tif 000003
【図２】
2004078940.tif 000004
【図３】
2004078940.tif 000005
【図４】
2004078940.tif 000006
【図５】
2004078940.tif 000007
【図６】
2004078940.tif 000008
【図７】
2004078940.tif 000009