(57)【特許請求の範囲】
【請求項１】
複数の供給電圧レベルが供給されるコンピュータ（４）を制御するための制御装置であって、
前記コンピュータ（４）に対する、タスクに対応するロードデータ（Ｃｉ）と、前記タスクに対する期限データ（Ｎｉ）と、瞬間速度データ（ｗ）とを受け取るようにされているコントローラ（２）を備えており、
前記瞬間速度データ（ｗ）は、前記コンピュータ（４）によって、すでに処理された前記タスクの量の計算の瞬間速度を表しており、
前記コントローラ（２）は、受け取られた前記ロードデータ（Ｃｉ）、及び受け取られた前記期限データ（Ｎｉ）から導かれる時間から導出される、処理されるべき残りの計算量の関数としての基準速度（ｗ＿ｒｅｆ）を計算するように構成されており、前記基準速度（ｗ＿ｒｅｆ）は、前記時間内で、前記コンピュータ（４）が前記ロードデータ（Ｃｉ）から導かれる計算量を実行することを可能にし、
前記コントローラ（２）は、前記基準速度（ｗ＿ｒｅｆ）及び前記動作周波数（ｆ＿ｏｐ）の中の少なくとも１つのものを、受け取られた前記瞬間速度データ（ｗ）から計算し、前記基準速度（ｗ＿ｒｅｆ）から前記コンピュータに対する供給電圧レベル（Ｖ＿ｌｖｌ）及び動作周波数（ｆ＿ｏｐ）を計算するように構成される、制御装置。
【請求項２】
前記コントローラは、前記基準速度を計算するための基準速度計算ユニット（６）と、前記動作周波数及び前記制御電圧レベルを計算するための制御計算ユニットと、を有する請求項１に記載の制御装置。
【請求項３】
また、リミッタ（１０）を備え、
前記コンピュータ（１４）は、複数のコア（４）を備えており、
前記リミッタ（１０）は、最大のクリティカルタスクを有する前記複数のコアの内の一つに対する前記基準速度（ｗ＿ｒｅｆ）及び前記コンピュータ（１４）の他のコアのタスクを実行するための周波数比のバイトを決定する請求項２に記載の制御装置。
【請求項４】
前記リミッタ（１０）は、前記基準速度計算ユニット（６）と前記制御計算ユニット（８）との間に配置される請求項３に記載の制御装置。
【請求項５】
前記リミッタ（１０）は、前記制御計算ユニット（８）の後段に配置される請求項３に記載の制御装置。
【請求項６】
前記制御計算ユニット（８）は、前記瞬間速度データ（ｗ）から前記動作周波数（ｆ＿ｏｐ）を、１次のオーダ系で計算する請求項２〜５の何れか一項に記載の制御装置。
【請求項７】
前記基準速度計算ユニット（６）は、前記瞬間速度データ（ｗ）から前記基準速度（ｗ＿ｒｅｆ）を計算する請求項６に記載の制御装置。
【請求項８】
前記基準速度計算ユニット（６）によって、前記瞬間速度データ（ｗ）が前記制御計算ユニット（８）に送られる請求項７に記載の制御装置。
【請求項９】
前記制御計算ユニット（８）は、前記瞬間速度データ（ｗ）から前記動作周波数（ｆ＿ｏｐ）を、２次のオーダ系で計算する請求項２〜５の何れか一項に記載の制御装置。
【請求項１０】
前記コントローラ（２）は、前記コンピュータ（４）による前記タスクの処理の間、前記ロードデータ（Ｃｉ）、前記期限データ（Ｎｉ）及び前記瞬間速度データ（ｗ）を受け取るように構成される請求項１に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの電源の制御装置に関する。
【背景技術】
【０００２】
電子回路及び関連する部品の領域は、特に急激な成長を経験している分野である。
【０００３】
当初、集積回路は、大きく、程度の差はあるが、プリント基板上にまとめられたチップ又はプロセッサで構成されていた。
【０００４】
小型化の進歩は、様々な部分又はＩＰを含むマイクロプロセッサの寸法のチップへと発達することを可能にした。
【０００５】
これらの集積回路は、一般にシステムオンチップ又はＳｏＣと呼ばれる。
【０００６】
これらの集積回路は、非常に小さな寸法の中に極めて様々な機能のセットを含むことを可能にしているので、特に興味深い。
【０００７】
また、回路の全ての要素を１つのチップ上に配置することは、システムの消費を低減する。
【０００８】
チップの消費を低減するために、ロード（ｌｏａｄ，ｃｈａｒｇｅ）の実行の前に、動作電圧及び周波数を調整するための研究が発達した。しかし、この調整は動的ではなかった。即ち、電圧及び周波数は、所与のタスクの処理中には変わらない。このことは、特に、ロードが不完全に評価されるか、又は、ロードが変化する時には、適していない。
【０００９】
本発明は、この状況を改善することを目的とする。
【発明の概要】
【００１０】
そのために、本発明は、複数の電圧レベルが供給されるコンピュータを制御するための制御装置であって、上記コンピュータに対するロードデータと、期限データと、瞬間速度データとを受け取るようにされており、上記期限データから得られる時間で上記コンピュータが上記ロードデータから得られる計算量を実行することを可能にする基準速度を計算し、且つ、上記基準速度から上記コンピュータに対する制御電圧レベル及び動作周波数を計算するコントローラを備えている制御装置を提案する。
【００１１】
この装置では、上記基準速度及び上記動作周波数の中の少なくとも１つのものは、上記瞬間速度データ（ｗ）を用いて計算される。
【００１２】
この装置は、コンピュータのエネルギー消費を極限に最適化する一方、コンピュータを用いるオペレーティングシステムによって出される論理の要求に適合する電源コマンドを出すことができるので、特に有利である。
【００１３】
本発明の他の特徴及び長所は、非限定的な説明として提供される実施例及び図面から取り込まれて、下記の説明を読むことで現れるだろう。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明に係る電源の制御装置の一般的視点を示す。
【図２】図２は、図１の装置の動作ループの模式図である。
【図３】図３は、図１の装置の第１の他の実施形態を示す。
【図４】図４は、図１の装置の第２の他の実施形態を示す。
【図５】図５は、図１の装置の第３の他の実施形態を示す。
【図６】図６は、図１の装置の第４の他の実施形態を示す。
【図７】図７は、複数のコアを有するコンピュータの動作に適合した他の実施形態を示す。
【図８】図８は、図７の装置の他の実施形態を示す。
【００１５】
下記の図面及び説明は、本質的に、所定の性質の要素を含む。従って、それらは、本発明をより良く理解するのに役立つと共に、該当する場合に、その定義を提供する。
【００１６】
また、詳細な説明は、本発明の内容で用いられる所定の数式に対する形を提供する付録Ａによって拡大される。この付録は、分類の目的のために個別に示されており、参照を容易にする。それは、説明の不可欠な部分であり、本発明をより良く理解するのに役立つと共に、該当する場合に、その定義を与える。
【発明を実施するための形態】
【００１７】
本発明は、特にＣＭＯＳ回路に適用される。これらの回路では、３つの主要なエネルギー消費源が存在する。
回路の電子論理ゲートのスイッチング
短絡電流  及び
リーク電流
【００１８】
そして、所与の回路の瞬間電力は、これらの３つの電力の和として分かり、付録Ａの式（１０）によって示される。
【００１９】
この式は、回路の供給電圧Ｖの優勢な役割を示す。従って、消費を低減する１つの解決法は、電圧を下げることである。
【００２０】
しかし、これは、回路の論理ゲートの伝搬遅延を非常に増加する結果をもたらすので、回路によって実行されるタスクの速度を低減することにもなる。
【００２１】
このことは、全ての命令が次のクロックサイクルの前に実行されることを保証するために、所与の命令が回路によって処理されるのにかかり得る最大の時間であるクリティカルタイムの関数として、回路の周波数を低減することが必要であることを意味する。
【００２２】
以前の取り組みでは、エネルギーの節約を得るためのこのタイプの調整の自動的管理はなかった。
【００２３】
図１は、本発明に係る電源を制御する装置２を示す。装置２は、コンピュータ４の電源を制御する。
【００２４】
「コンピュータ」は、データを処理するか又は計算するための論理動作を実行し得る任意の電子システムを意味する。例えば、これは、プロセッサ、マイクロプロセッサ、ＳｏＣチップ、ＦＰＧＡタイプのプログラマブルチップ及びその他を制限することなく含む。
【００２５】
図１に示すように、電源を制御するための装置２は、一方でデータＣｉ及びＮｉを受け取り、他方でデータｗを受け取る。
【００２６】
データＣｉ及びＮｉそれぞれは、コンピュータ４に対するロードデータ（ｌｏａｄ  ｄａｔａ）及びロードデータに対する期限データ（ｄｅａｄｌｉｎｅ  ｄａｔａ）である。
【００２７】
データＣｉ及びＮｉは、上位論理層、例えばコンピュータ４を使用するオペレーティングシステムから、電源を制御するための装置２によって受け取られる。
【００２８】
電源を制御するための装置２によって受け取られるデータＮｉは、コンピュータ４の動作処理速度を表す。
【００２９】
動作処理速度は、電源を制御するための装置２によって、それが発した命令に関係するドリフトを回避するための反動情報（ｒｅｔｒｏａｃｔｉｏｎ  ｉｎｆｏｒｍａｔｉｏｎ）として用いられる。
【００３０】
コンピュータ４の電圧及び周波数は制御され得る。実際、コンピュータ４は、異なる電圧レベルにおいて動作し得る。それぞれの電圧レベルは可能な動作周波数の対応する範囲を有する。
【００３１】
この電圧レベルＶ＿ｌｖｌ及び動作周波数ｆ＿ｏｐは、電源を制御するための装置２の出力である。
【００３２】
（データｗがもたらされる）動作処理速度及び動作周波数ｆ＿ｏｐからもたらされるコンピュータ４によって消費される電力は、コンピュータ４の電源電圧Ｖ＿ｌｖｌ（又は電源レベル）と共に、式１０で示される。
【００３３】
コンピュータ４は、動作周波数ｆ＿ｏｐによって制御されるクロックサイクルによって動作する。電源を制御するための装置２は、同様に動作する。
【００３４】
電源を制御するための装置２は、期間Ｔｓによって動作する。それぞれの期間は、２つの連続した制御計算の間の継続時間に対応する。期間Ｔｓは、一般に、コンピュータ４の数個のクロックサイクルと近い。
【００３５】
実際、クロックサイクル毎にコンピュータ４の電源をチェックすることは全く効率的でないだろう。２つの期間の間では、制御装置２は、先行する期間に計算された電圧レベル及び動作周波数命令を出す。
【００３６】
電源を制御するための装置２の期間Ｔｓは、コンピュータ４の関数として選択された固定されたパラメータであり得る。
【００３７】
また、この期間は、動的であり得る。即ち、コンピュータ４の一サイクルの長さの倍数に設定され得る。ここで説明される例では、乗数は１０の値を有する。しかし、この値はより高い乗数に設定され得る。
【００３８】
そして、各計算期間において、電源を制御するための装置２は、データＣｉ，Ｎｉ及びｗを解析して、データｆ＿ｏｐ及びＶ＿ｌｖｌをコンピュータ４へ出力して返す。
【００３９】
ここで説明される例では、電源を制御するための装置２が電源制御データを送るが、電源それ自体ではないことに留意されたい。
【００４０】
電源を制御するための装置２から来る制御データに基づいてコンピュータ４に電力を供給することに関与する回路の部分は、ここでは説明されない。
【００４１】
図２は、電源を制御するための装置２の動作ループを示す。上述したように、電源を制御するための装置２は、計算期間で動作する。
【００４２】
従って、電源を制御するための装置２の動作ループは、用いられるデータＣｉ，Ｎｉ及びｗを受け取る動作２０でスタートする。
【００４３】
次に、動作３０において、電源を制御するための装置２は、基準速度ｗ＿ｒｅｆを計算する。
【００４４】
所与の期間で実行されなければならない所与の処理ロードに対するコンピュータ４のエネルギー消費を最小にするために、チェックされるべきコンピュータ４の最も重要な動作パラメータが電圧レベルであることを、本出願人によってなされた研究は明かにした。また、この研究は、計算ロードを期限までに終了しないリスクがあるので、電圧を下げ過ぎることは危険であることも明らかにした。
【００４５】
従って、電源を制御するための装置２は、コンピュータ４の電源を動的に制御することを実施して、下記の指示に応じる。
計算ロードを期限の前に終了する、及び、
その計算の間に使用される電圧を最大に最小化にする
【００４６】
そのために、電源を制御するための装置２は、各期間において、データＮｉによって指定された期限までにデータＣｉによって指定される計算ロードを終了するためにコンピュータ４が有すべき「平均」処理速度を計算することからスタートする。
【００４７】
次に、平均速度は、基準速度ｗ＿ｒｅｆを得る視点のエネルギー消費から最適化される。
【００４８】
ここで、平均速度はデルタと呼ばれる。デルタ速度を計算するために、式２０を適用する必要がある。
【００４９】
式２０によって示されるように、平均速度は、処理されるべき残っている計算の量、即ちデータＣｉから取り込まれるロードからすでに処理された計算の量（即ち電源を制御するための装置２の時間間隔によって乗算された受け取られた瞬間速度ｗの和）を減算し、データＮｉによって指定された期限の前に残っている時間Ｌｉによって除算される。
【００５０】
実際、式２０は、要するに、平均速度は、計算されるべきデータの量からすでに計算された量を減算し、その全体のものが残りの時間によって除算されるということである。
【００５１】
式３０及び式３２は、式２０を電源装置２の期間による動作の具体的なケースへの適用を示す。
【００５２】
この平均速度が一度計算されると、電源を制御するための装置２が基準速度ｗ＿ｒｅｆを決定するだろう。
【００５３】
基準速度の原理は、所与の電圧レベルに対して最大の周波数で動作させることが、出来るだけ早く電圧レベルを低減するために有利であることを理解することにある。
【００５４】
そして、平均速度デルタが一度計算されると、電源を制御するための装置２は、その速度が先行する期間において決定された電圧レベルの周波数範囲に対応するのかどうかを判断する。
【００５５】
対応する場合には、装置２は、その範囲が最低の電圧レベルに対応するのかどうかについて判断する。
【００５６】
もしそうだとしたら、ｗ＿ｒｅｆはデルタを受け取る。もしそうでなければ、ｗ＿ｒｅｆはその範囲の最大の周波数を受け取る。
【００５７】
速度デルタが、先行する期間において決定された電圧レベルの周波数範囲に対応しない場合には、電源を制御するための装置２は、平均速度デルタに対応する電圧レベルを決定する。
【００５８】
例えば、これは、平均速度デルタと最大レベルから減少する各電圧レベルの最大速度との連続した比較を通してなし得る。
【００５９】
この場合、適切な電圧レベルは、平均速度デルタが最大速度よりも直下であるが、次の電圧レベルの最大速度よりは大きいものである。
【００６０】
もちろん、平均速度デルタが対応する電圧レベルを決定するために用いられ得る多くの他の方法がある。
【００６１】
電圧レベルが一度決定されると、電源を制御するための装置２は、上述したのと同様に基準速度ｗ＿ｒｅｆの値を計算することに進む。
【００６２】
次に、動作４０において、電源を制御するための装置２は、基準速度ｗ＿ｒｅｆに対応する動作周波数ｆ＿ｏｐを計算して、それから対応する電圧レベルＶ＿ｌｖｌを推定する。
【００６３】
基準速度ｗ＿ｒｅｆから動作周波数ｆ＿ｏｐの計算は、データＣｉによって指定された計算ロードを実行する可能な高い電圧において、コンピュータ４が最短の時間で動作することを保証する。
【００６４】
図１の実施形態では、電源を制御するための装置２は、式４０及び式４２に従って、１次のオーダ系を用いて、データｗを使用して動作周波数ｆ＿ｏｐを計算する。
【００６５】
式４０は、基準速度ｗ＿ｒｅｆと、コンピュータ４によって受け取られた瞬間速度ｗとの間の「誤差」の計算を示し、式４２は、この誤差が次ぎの時間間隔の動作周波数ｆ＿ｏｐを計算するためにどのように用いられるのかを示す。
【００６６】
Ｔｓは、電源を制御するための装置２の期間を示し、Ｋはゲイン（ｇａｉｎ）を示す。
【００６７】
図３は、電源を制御するための装置２の他の実施形態を示す。
【００６８】
この実施形態では、基準速度ｗ＿ｒｅｆの計算が、動作周波数ｆ＿ｏｐ及び電圧レベルＶ＿ｌｖｌの計算とは分かれている。
【００６９】
そして、電源を制御するための装置２は、基準速度計算ユニット６及び制御計算ユニット８を備える。
【００７０】
図に現れているように、基準速度計算ユニット６は、データＣｉ，Ｎｉ及びｗを受け取って、基準速度ｗ＿ｒｅｆを返す。
【００７１】
一方、制御計算ユニット８は基準速度ｗ＿ｒｅｆ及びデータｗを受け取って、出力として動作周波数データｆ＿ｏｐ及び電圧レベルＶ＿ｌｖｌを返す。
【００７２】
ここで説明される例では、コンピュータ４は、Ｖｌｏ（最小）及びＶｈｉ（最高）とそれぞれ呼ばれる２つの電圧レベルで制御される。
【００７３】
ここで、速度ｗ＿ｒｅｆを決定する動作３０の部分は、平均速度デルタを電圧レベルＶｌｏに対する周波数の最大値と比較する。もしデルタが周波数の最大値よりも大きい場合、ｗ＿ｒｅｆはレベルＶｈｉの最大周波数の値を受け取り、それ以外は、ｗ＿ｒｅｆはデルタを受け取る。
【００７４】
基準速度計算ユニット６及び制御計算ユニット８の両方においてデータｗをループさせることは、基準速度ｗ＿ｒｅｆを決定するために基準速度計算ユニット６によって用いられるクロックサイクル数が非常に高い時に、より効果的になり得る。
【００７５】
従って、制御計算ユニット８は、最近のデータを用いて、最高のパフォーマンスを達成する動作周波数ｆ＿ｏｐ及び電圧レベルＶ＿ｌｖｌを定めることができる。
【００７６】
図４に示す電源の制御装置は、図３の装置の他の形態を表しており、データｗは、基準速度計算ユニット６のみによって受け取られて、制御計算ユニット８に送られる。
【００７７】
制御計算ユニット８は、図３の場合よりも少し前のデータｗを用いて動作し得るので、この実施形態は、潜在的により低い性能である。しかし、この実施形態は、製造及び使用がより容易であるという利点を有する。
【００７８】
図５に示される電源の制御装置は、図３の制御装置の更に単純な他の形態を示しており、瞬間速度データｗは、基準速度計算ユニット６に対してのみ送られており、ここでは、制御計算ユニット８は、基準速度データｗ＿ｒｅｆのみを受け取る。
【００７９】
その場合、動作周波数ｆ＿ｏｐが値ｗ＿ｒｅｆと共に設定されて、電圧レベルＶ＿ｌｖｌがその値から直接導かれるので、動作４０は、非常に単純化される。
【００８０】
この実施形態は、また少しより信頼性のあるエネルギー性能を提供する。しかし、それは、著しく単純な製造及び実施を許容する。
【００８１】
図６に示す実施形態は、制御計算ユニット８のみが瞬間速度データｗを受け取る他の形態である。
【００８２】
その場合、基準速度計算ユニット６は、前に計算していた基準速度データｗ＿ｒｅｆのみを受け取る。
【００８３】
いかなるドリフトも避けるために、制御計算ユニット８によって実行される動作４０における動作周波数ｆ＿ｏｐの計算は、２次のオーダ系の使用によって、より強固になる。
【００８４】
そのために、１次の誤差が、式５０を用いて計算され、この誤差は、式５２に従って基準速度計算ユニット６の期間に組み込まれる。
【００８５】
そして、動作周波数ｆ＿ｏｐが式５４を用いて決定される。ここで、τは一度ループするシステムの時定数を表し、Ｋはゲインである。
【００８６】
図７は、複数のコアを有するコンピュータ１４を制御するように構成された装置２を示す。これは、説明される実施形態では、コンピュータ１４内に、独立して指定され得るコンピュータ４と同様の４つの計算ユニットを有することを意味する。
【００８７】
コンピュータ１４は、他の実施形態では、必要なだけの多く、即ち、少なくとも２つ又は４つよりも多く、例えば、３２又はそれ以上のコアを有し得る。
【００８８】
これに関連して、より厳しい電源の問題が生じる。実際、コンピュータ１４のそれぞれのコアに、それに固有の電圧レベル／周波数の対を供給することは妥当ではない。
【００８９】
従って、コンピュータ１４内にあるコアと同じ数だけ単純に基本アーキテクチャを複製することを考えることはできない。
【００９０】
この問題を解決すべき第１のアプローチは、「コンセンサス（ｃｏｎｓｅｎｓｕｓ）」を構成する電圧レベル及び周波数を探すことである。しかし、これは、クリティカルタスク（ｃｒｉｔｉｃａｌ  ｔａｓｋ）が時間内に実行できないので、受け入れられない。
【００９１】
次に、第２のアプローチは、全てのコアを最大のクリティカルタスクの電圧及び周波数で動作させることである。しかし、これは、エネルギーゲインを破壊する傾向がある。
【００９２】
本出願人は、これら２つの解決法の妥協点を見つけた。
【００９３】
そのためには、リミッタ１０が装置２に導入される。リミッタ１０の機能は、全てのタスクの内で最大のクリティカルタスクの周波数と、そのコアが一つのコアの場合にそのタスクを実行するために使用する必要のある周波数との間の比を、それぞれのコアに対して計算することである。
【００９４】
それぞれのコンピュータ１４では、リミッタ１０によって決定された比は、１つのコアの場合に使用されるであろう速度と実質的に対応する速度において各コアがそのタスクを実行するように用いられる。
【００９５】
そのためには、コンピュータ１４は、コンピュータ１４のノード４からのクロックを一時停止する特定の電子機器を介して物質的なソリューションを組み込み得る。
【００９６】
そして、それぞれのコアは、１つのコアモードにおけるように、しかしより高くなり得る電圧レベル（これはクリティカルタスクに依存する）において動作する。
【００９７】
これらの電子機器（クロックゲーティング：ｃｌｏｃｋ−ｇａｔｉｎｇと呼ばれる）は、コンピュータ１４の異なるノード４に対するクロックフロントの透過又は非透過を許容して、例えばＡＮＤ論理ゲートを用いて行われる。
【００９８】
代わりに、電子機器は、ソフトウェアソリューションによって置き換えられ得る。そして、それぞれのコアの周波数を変調するよりもむしろ、それらは選択的に眠らされて、非常にたくさんのサイクルにわたって、それぞれのコアが、１つのコアの場合に使用するであろう速度と実質的に対応する速度において、そのタスクを実行する。
【００９９】
これは、「動作なし（Ｎｏ  Ｏｐ）」と呼ばれる命令をストリームラインに追加することによって行われる。即ち、関係するコアに何もしないことを要求する。
【０１００】
この他の形態は、ソフトウェアなので、よりアップグレードし易いという利点を有する。これは、マイクロプログラムを更新することがソフトウェアソリューションをアップグレードすることを可能にすることを意味する。
【０１０１】
しかし、それは、動作周波数を何分かの一かに制限するので不利である。２分の一（各動作に対して１つの動作なし（ｏｎｅ  Ｎｏ  Ｏｐ））、３分の一（各動作に対して２つの動作なし（ｏｎｅ  Ｎｏ  Ｏｐ））、４分の一（各動作に対して３つの動作なし（ｏｎｅ  Ｎｏ  Ｏｐ））。
【０１０２】
後者の解決法を洗練して任意の有理数を得る可能性があるが、アーキテクチャを単純化するという点では得るものが減少する。
【０１０３】
図７で説明された実施形態では、基準速度計算ユニット６及び制御計算ユニット８は、コアがあるのと同じ数だけ繰り返される。結果として、瞬間速度データは、バイト（ｂｙｔｅ）ｗ＿ｍであり、基準速度データｗ＿ｍ＿ｒｅｆもまたバイト（ｂｙｔｅ）である。
【０１０４】
出力として、制御計算ユニット８は、周波数のバイトｆ＿ｍ及び電圧レベルのバイトＶ＿ｍを放つ。
【０１０５】
リミッタ１０は、制御計算ユニット８の出力に配置される。従って、それは、周波数のバイトｆ＿ｍ及び電圧レベルのバイトＶ＿ｍを受け取る。
【０１０６】
まず、リミッタ１０は、全ての周波数のバイトｆ＿ｍを比較して、最大のものを選択する。この周波数は、コンピュータ１４に対する命令ｆ＿ｏｐとして送られて、対応するコアがクリティカルコアと呼ばれる。
【０１０７】
次に、リミッタ１０は、あらかじめ指定されたクリティカルコアに対応する電圧レベルのバイトＶ＿ｍを選択する。この電圧レベルは、コンピュータ１４に対する命令Ｖ＿ｌｖｌとして送られる。
【０１０８】
最後に、リミッタ１０は、それぞれの周波数のバイトｆ＿ｍと周波数ｆ＿ｏｐとの間の比を含むバイトｒａｔ＿ｍを計算する。また、図８に示すように、リミッタ１０は、基準速度計算ユニット６と制御計算ユニット８との間に配置されてもよい。
【０１０９】
ソフトウェアソリューションが選択されてコアの周波数を低減する場合、例えそれがエネルギー的にあまり良くなくても、タスクの完了を確保する比が適用されるべきである。
【０１１０】
そして、２よりも大きいが３よりも小さい比が見つけられたならば、１／２の比を選択する必要がある。
【０１１１】
更に、異なるブロックの周波数が良く同期されることが重要である。実際、仮想的な命令を加えることによってコアの周波数の低下が得られると、命令は何度も又は非常に遅く更新されてはいけない。
【０１１２】
本出願人は、本発明との関連で、１０００の近傍のオーダの大きさが有利であることを確認している。
【０１１３】
そして、コンピュータに送られるタスクを制御するシステムは、１ｋＨｚの近傍の周波数で動作するだろう。本発明の制御装置は、１ＭＨｚの近傍の周波数で動作するだろう。そして、コンピュータは、厳密にいえば、１ＧＨｚの近傍の周波数で動作するだろう。
【０１１４】
しかし、他のオーダの大きさが、例えば、１０、１００又は１０００より大きい数が、タスクを処理するために認められる期限の関数として使用され得る。
【０１１５】
上述したことを考慮すると、本発明は、計算を実行する電子システムのための電源制御の実現に関することが理解されるだろう。
【０１１６】
説明された実施形態では、この制御は、動的であり且つ１次又は２次のオーダ系を使用することにより適応できる。「１次又は２次のオーダ系」は、制御の計算を実行するシステムの関数が、最高次の単項式が１又は２次である多項式を有するシステムをいう。より高次の系も用いることができる。
【０１１７】
また、電源を制御するための装置２は、ここでは、コンピュータ４又は１４に対して外部のそれらとは別体の要素として説明されている。このことは、電源制御を計算するために用いられる計算がコンピュータ内で行われないことを意味する。
【０１１８】
しかし、所定のアプリケーションでは、電源を制御するための装置２は、コンピュータ内に組み込まれて、この計算の過剰を考慮して制御しながら、電源を制御するための計算の実行が、コンピュータ４又は１４によって行われ得る。
【０１１９】
更に、本出願人は、コンピュータが複数のレベルで電力が供給され得る電源を制御するための装置を説明した。具体的な一例が、２つの電圧レベルを有する電源に対して説明された。
【０１２０】
これらの実施形態では、平均速度デルタに対する適切な電圧レベルを決定するために、電圧レベルの上昇／降下ループが適切な周波数範囲を決定するべく説明された。
【０１２１】
電圧レベルあたりの周波数範囲の表を記憶し、その表から適合した電圧レベルを求めるべく表にアクセスすることのような他の方法が使用され得る。
【０１２２】
最後に、本出願人は、動作周波数が連続して計算される装置を説明した。とはいえ、上述したことを離散周波数における動作に適用することは可能であろう。
【０１２３】
そして、電圧レベルを計算するために説明されたことと同様に、連続した周波数の値の代わりに、周波数レベルを決定することが重要である。この場合、制御装置２は、１つの周波数及び電圧レベルの計算ブロックを含むのみに単純化され得る。即ち、ユニット６及び８が結合され得る。
【０１２４】
付録  Ａ
【数１】
0005519769.tif 000002
【図１】
0005519769.tif 000003
【図２】
0005519769.tif 000004
【図３】
0005519769.tif 000005
【図４】
0005519769.tif 000006
【図５】
0005519769.tif 000007
【図６】
0005519769.tif 000008
【図７】
0005519769.tif 000009
【図８】
0005519769.tif 000010