(57)【要約】【課題】プロセッサが、異なる性能レベルで動作できるように、必要とされる性能レベルを示す信号に応答して、プロセッサ用クロック信号の周波数などを切り替える。【解決手段】異なる性能レベルでプロセッサが動作できるように、追加の回路（４，６）を制御するための制御信号を発生可能なプロセッサ（４６）を、データ処理システムが有している。この一つあるいはそれ以上の追加の回路は、現在の動作を示す現状動作信号を発生する。追加の回路の例は、現在発生させられているクロック信号、あるいは現在使用可能なクロック信号を示す現状動作信号を発生するクロック発生器４である。電圧制御器６が追加の回路になり得るが、これは、システムに電力信号を供給し、また、それが供給可能な現状最大電圧レベルを表わす現状動作信号を発生する。【選択図】図４
2010009631.tif 000002
【特許請求の範囲】
【請求項１】
データを処理する装置であって：
データ処理動作を行うように動作可能なプロセッサであって、前記プロセッサの所望のデータ処理性能レベルを表す性能制御信号を発生するように動作可能である前記プロセッサ、及び
前記性能制御信号に応答して動作し、前記プロセッサの前記所望のデータ処理性能レベルを維持するように動作する一つあるいはそれ以上の回路、を有し、
少なくとも前記性能制御信号の変化中には、前記一つあるいはそれ以上の回路は、前記一つあるいはそれ以上の回路の、現在の動作を表す現状動作信号を発生するように動作可能である、前記データを処理する装置。
【請求項２】
前記一つあるいはそれ以上の回路は、複数の異なる電圧レベルで、前記プロセッサのためのパワー信号を発生可能な電圧制御器を含み、前記現状動作信号は、前記電圧制御器によって維持される最大電力供給電圧を示すものである、請求項１に記載の装置。
【請求項３】
前記一つあるいはそれ以上の回路は、選択可能なクロック周波数でクロック信号を発生可能に動作するクロック発生器を有し、前記現状動作信号は、前記クロック発生器によって発生させられているクロック周波数を示す、請求項１に記載の装置。
【請求項４】
前記クロック発生器は、一つあるいはそれ以上の固定的に使用可能なクロック信号周波数と、一つあるいはそれ以上の選択的に使用可能なクロック信号周波数で、クロック信号を発生するように動作可能である、請求項３に記載の装置。
【請求項５】
固定的に使用可能なＰＬＬ回路が、前記一つあるいはそれ以上の固定的に使用可能なクロック信号周波数を発生可能であり、そして、選択的に動作可能なＰＬＬ回路が、前記選択的に動作可能なクロック信号周波数を発生するように動作可能な、請求項４に記載の装置。
【請求項６】
増加したクロック周波数信号を維持するのに充分な電圧レベルによって前記電力信号が発生していることを示す現状動作信号を、前記電圧制御器が発生したときには、所望のデータ処理性能レベルの増加に応答して、前記クロック発生器はクロック信号の周波数を増加させる、請求項２に記載の装置。
【請求項７】
第１の所望のデータ処理性能レベルから第２の所望のデータ処理性能レベルへの変化に対応する、性能制御信号の変化の間、前記一つあるいはそれ以上の追加の回路は、少なくとも一つの中間的なデータ処理性能レベルでのデータ処理を維持可能であり、前記プロセッサは、前記変化の間、前記少なくとも一つの中間的なデータ処理性能レベルにおいて暫定的に動作可能な、請求項１に記載の装置。
【請求項８】
前記一つあるいはそれ以上の追加の回路は、選択可能なクロック周波数のクロック信号を発生するように動作可能なクロック発生器を含む、請求項７に記載の装置。
【請求項９】
前記電力信号が前記中間的なクロック信号周波数を維持するのに充分な電圧レベルで発生させられたときには、所望のデータ処理性能レベルに応答して、前記クロック発生器はクロック信号周波数を、中間的なクロック信号周波数にまで増加させる、請求項８に記載の装置。
【請求項１０】
前記一つあるいはそれ以上の追加の回路が、前記性能制御信号とは別に最大データ処理性能レベルを維持するきっかけを与える、優先信号が動作する、請求項７に記載の装置。
【請求項１１】
データを処理する方法であって：
プロセッサによるデータ処理を行うステップであって、前記プロセッサは、前記プロセッサのデータ処理性能の、所望のレベルを表す性能制御信号を発生可能である前記データ処理ステップ；および
前記性能制御信号に応答して、前記プロセッサの前記所望のデータ処理性能レベルを維持するように一つあるいはそれ以上の追加の回路が動作するステップ；を有し、
少なくとも前記性能制御信号の変化への対応中には、前記一つあるいはそれ以上の回路は、前記一つあるいはそれ以上の回路の、現在の動作を表す現状動作信号を発生するように動作可能である、前記データを処理する方法。
【請求項１２】
前記一つあるいはそれ以上の追加の回路は、複数の異なる電圧レベルにおける前記プロセッサのための電力信号を発生可能な電圧制御器を含み、前記現状動作信号は、前記電圧制御器により維持され得る最大電力供給電圧を示すものである、請求項１１に記載の方法。
【請求項１３】
前記一つあるいはそれ以上の追加の回路は、選択可能なクロック周波数によりクロック信号を発生可能なクロック発生器を含み、前記現状動作信号は、前記クロック発生器により現在発生させられているクロック周波数を示している、請求項１１に記載の方法。
【請求項１４】
前記クロック発生器は、一つあるいはそれ以上の固定的に使用可能なクロック信号周波数と、一つあるいはそれ以上の選択的に使用可能な信号周波数、によってクロック信号を発生するように動作可能である、請求項１３に記載の方法。
【請求項１５】
固定的に動作可能なＰＬＬ回路が、前記一つあるいはそれ以上の固定的に使用可能なクロック信号周波数を発生可能であり、選択的に動作可能なＰＬＬ回路が、前記選択的に使用可能なクロック信号周波数を発生するように動作可能である、請求項１４に記載の方法。
【請求項１６】
増加するクロック信号周波数を維持するのに充分な電圧レベルをもった前記電力信号の発生を示す現状動作信号を、前記電圧制御器が発生したときには、所望のデータ処理性能レベルの増加に応答して、前記クロック発生器が、クロック信号周波数を増加させる、請求項１２に記載の方法。
【請求項１７】
第１の所望のデータ処理性能レベルから第２の所望のデータ処理性能レベルへの変化に対応する、性能制御信号の変化の間、前記追加の回路は、少なくとも一つの中間的なデータ処理性能レベルでのデータ処理を維持可能であり、前記プロセッサは、前記変化の間、前記少なくとも一つの中間的なデータ処理性能レベルにおいて暫定的に動作可能な、請求項１２に記載の方法。
【請求項１８】
前記一つあるいはそれ以上の追加の回路は、選択可能なクロック周波数でクロック信号を発生可能なクロック発生器を含む、請求項１７に記載の装置。
【請求項１９】
前記電力信号が前記中間的なクロック信号周波数を維持するのに充分な電圧レベルで発生させられたときには、所望のデータ処理性能レベルに応答して、前記クロック発生器がクロック信号周波数を、中間的なクロック信号周波数にまで増加させる、請求項１８に記載の方法。
【請求項２０】
前記追加の回路が、前記性能制御信号とは別に最大データ処理性能レベルを維持するトリガとなる優先信号が動作する、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムの分野に関し、特に、データ処理性能の制御、例えばデータ処理システムのエネルギー消費を減少させる制御に関する。
【背景技術】
【０００２】
データ処理システムの一つの重要な課題は、エネルギー消費である。低エネルギー消費のデータ処理システムでは、より長い電池寿命が可能であり、低温度と高信頼性で動作し、そして熱放散などの特別な技術的検討の必要性は少なくなる。データ処理装置のエネルギー消費の減少は、非常に望ましいことである。
【０００３】
データ処理装置のエネルギー消費減少という要求に反している要求は、極度に集中したタスクを扱うときの性能レベルも、同時に上昇させたいということである。このようなタスクでは、エネルギー消費がほとんど無い長時間のアイドリング時間後、極度に集中した処理動作が必要となる。
【０００４】
上記、二つの課題の解決のために、ある構成での高性能と他の構成での低消費エネルギーと、性能レベルを変えることが可能なデータ処理システムの製造が知られている。Ｔｒａｎｓｍｅｔａによって製造されたＬｏｎｇＲｕｎソフトウエアや、ＩｎｔｅｌによるＳｐｅｅｄＳｔｅｐシステムのような公知のシステムでは、プロセッサは、異なる構成間で切り替えられることが可能である。必要な性能目標を達成するため、高度の性能は、高い動作電圧であり、また比較的高いプロセッサクロック周波数である。反対に、低エネルギー消費の構成では、比較的低い動作電圧であり、かつ比較的低いプロセッサクロック周波数である。
【０００５】
上記のような性能及びエネルギーの制御と並ぶ、他の重要な特性として、ハードウエア及びソフトウエアの設計は、多くの異なる環境下でも利用可能であるべき、ということがある。もし、オペレーティング・ソフトウエアのようなコンピュータソフトウエアが異なるハードウエアのために書き換える必要があるとしたら、即ち、ハードウエアの設計が、異なるハードウエアに対して著しく変更されなければならないとしたら、それは大きな欠点である。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
解決しようとする課題は、プロセッサが、異なる性能レベルで動作できるように、必要とされる性能レベルを示す信号に応答して、プロセッサ用クロック信号の周波数などを切り替えることである。
【課題を解決するための手段】
【０００７】
本発明によるデータを処理する装置は、
データ処理動作を行うように動作可能なプロセッサであって、前記プロセッサの所望のデータ処理性能レベルを表す性能制御信号を発生するように動作可能である前記プロセッサ、及び
前記性能制御信号に応答して動作し、前記プロセッサの前記所望のデータ処理性能レベルを維持するように動作する一つあるいはそれ以上の回路、を有し、
少なくとも前記性能制御信号の変化中には、前記一つあるいはそれ以上の回路は、前記一つあるいはそれ以上の回路の、現在の動作を表す現状動作信号を発生するように動作可能である。
【０００８】
本件の技術では、性能レベルの変化により現状動作信号が発生され、変化への応答中に制御可能である。例として、現状動作信号やコンピュータの実行周期について測定される性能、あるいは性能モニターによって決定される消費エネルギー、に基づいて性能の中間レベルが、適用される。
【０００９】
現状動作信号の好適な例では、維持できる最大動作電圧を示す電圧制御器からの信号と、現在のクロック周波数を示すクロック発生器からの信号、を有する。
【００１０】
現状動作信号は、クロック発生器との関連で特に有用であるが、そのクロック発生器は、一つ以上の固定的に使用可能なクロック周波数と一つ以上の選択的に使用可能なクロック周波数を有しており、例えば所定時間内に発生した特定の周波数が多くの理由で変化し得るときには、実際の動作周波数を示している現状動作信号からの情報は、非常に有用なものである。
【００１１】
現状動作信号はまた、性能追従の間、動作の中間レベルを維持するために有効に用いられる、例えばプロセッサの動作クロック周波数を保持するのに充分な出力を、電圧制御器出力するようになっていれば、動作クロック周波数を変化させることができる。動作の中間性能レベルが使用可能であるという実用性に限らず、現状動作信号は、容易性を有している点で、非常に有効なものである。
【図面の簡単な説明】
【００１２】
【図１】図１は、性能制御器、クロック発生器及び電圧制御器を有するデータ処理システムの一部を図解的に示す；
【図２】図２は、必要な性能レベルを設定するにあたってのプログラムの動作を図解的に示すフロー図；
【図３】図３は、必要な性能レベルと制御信号値間のマッピングの一例を図解的に示す；
【図４】図４は、電圧制御器の制御を図解的に示すフロー図；
【図５】図５は、クロック発生器の制御を図解的に示すフロー図；
【図６】図６は、本技術を用いたデータ処理システムの別の例を図解的に示す図；
【図７】図７は、必要な性能レベルと制御信号値間のマッピングの、別の例を図解的に示す図；
【図８】図８は、保持モードレベルと処理モードレベルとの間の、電源電圧の変化を示す；
【図９】図９は、図８の技術を含んだ回路を図解的に示す；
【図１０】図１０は、変化電圧を用いた性能制御を図解的に示したフロー図；
【図１１】図１１は、図８の技術を用いた別のデータ処理システムを図解的に示す図；及び
【図１２】図１２は、８から図１１のような実施例中で使用される多くの制御信号を示す図。
【実施例】
【００１３】
図１は、性能制御器２、クロック発生器４及び電圧制御器６を含むデータ処理システムの一部分を示す。図１中の回路は、イギリス、ケンブリッジのＡＲＭ社が製造するプロセッサや、ＳｏＣ設計の一部の、他の回路要素を含む、高集積回路の一部分である。性能制御器２、クロック発生器４及び電圧制御器６以外の回路要素は、簡単のために図１からは除かれている。性能制御器２は、プロセッサ（図示しない）で動作する、オペレーティング・コンピュータ・プログラムのようなコンピュータ・プログラムにより発生する性能レベル要求信号を受信する。このデータ処理性能レベル要求は、メモリアドレス領域内にある、そのためのメモリ区域に書き込むことが可能であり、また、ＣＰ１５  ＡＲＭ  アーキテクチャや他の方法で記憶されている配置コプロセッサ中の制御レジスタのような、制御レジスタ中への書き込みが可能である。性能制御器２はまた、制御モニタを含むが、これは、実時間の経過、クロック信号、実行済ワーク、またそれ以外の性能モニタ要因を計測する一つ以上のカウンタで構成することが可能である。性能制御器２が必要な性能レベルの変化を表すデータ処理性能レベル要求を受信したとき、それは新しい目標クロックスピード要求をクロック発生器４に供給し、また新しい目標電圧要求を電圧制御器６に供給するために用いられる。プログラム命令がその必要なデータ処理性能レベルを、いったん適正な場所に書き込んだ後は、どのようにしてそれが有効になるかの制御はハードウエア（性能制御器２）で行なわれる。性能制御器２は、必要なデータ処理性能の要求を、クロック発生器４及び電圧制御器６への適切な制御信号値に割り付ける（性能制御器２は、マッピング回路を含んでいる）。データ処理性能要求信号は、グレイコードの信号や、単なる線形にコード化された信号で良い。マッピングは、サーモメータコード（ｔｈｅｒｍｏｍｅｔｅｒ  ｃｏｄｅｄ）の信号で良い、なぜならこれは非同期のクロック間のサンプリング時には、サンプリング誤差に対して強いからである。更に、これは、フェイル・セーフの性質を持ち、従ってサンプリング誤差は、許容範囲にある小さな値を発生する傾向にある。
【００１４】
電圧制御器６への制御信号は、電圧制御器６に、新らしい電圧出力レベルを適用するように指示する。維持されている電圧出力レベルは、電圧制御器６の中のプログラミング構成パラメータレジスタ８により、起動時や他の時点で形成可能である。電圧制御器６は、新たな電圧レベルへの上昇あるいは下降までに時間がかかる。いくつかの具体例では、それが新たな電圧レベルに変化するにしたがって、電圧制御器６はいくつかの中間レベルになり得るが、そのことは電圧制御器６はある中間性能レベルを、最終的な性能レベルに到達するまで保持できるということである（後述する他の具体例で、単一の動作周波数クロックと停止クロックが使用できる）。電圧制御器器６は、維持可能な現在の電圧レベルを示す現状動作信号を発生し、そしてそれらを性能制御器２に戻すが、そこではそれらの信号は、適切なクロック周波数使用のトリガとなる。
【００１５】
性能制御器２は更に、プログラム制御で決められた必要な性能レベルを、クロック発生器４を通過した制御信号に変換する。これらの制御信号は、目標のクロック周波数を決める。クロック発生器４には、いくつかのＰＬＬ回路１０、１２から多くのクロック信号が供給される。これらＰＬＬ回路のうちの一つである１０は、固定的に動作可能であり、そして維持可能な最大及び最小のクロック周波数と、いくつかの中間の周波数を供給する。他のＰＬＬ回路１２は、選択的に動作可能であり、そしてそれが発生する中間の周波数が不要な場合、電源は落とされる。
【００１６】
クロック発生器４は、電圧制御器６中の技術依存スラック検出器（ｔｅｃｈｎｏｌｏｇｙ  ｄｅｐｅｎｄｅｎｔ  ｓｌａｃｋ  ｄｅｔｅｃｔｏｒ）１４に送られる性能制御器クロック信号を発生する。この構成は電圧制御器６を更に制御するのに使用可能であるが、その制御は、発生中の電圧が減少オーバーシュートによって目標クロック周波数を維持するように、即ち発生した電圧のレベルが目標クロック周波数を維持するために小さいバッファで充分なように行われる。この出力電圧制御の精密なレベルは、プログラム指令により特定されたデータ処理性能レベルの変化に応答する、性能レベルの大きな変化に対しては、二次的なものと考えることができる。増加した性能レベルへの変化があったときには、電圧制御器６は、発生電圧を上昇させようとし、そして上昇した電圧を供給しているときには、その電圧は性能制御器２に戻され、性能制御器２はクロック発生器４の中のＣＰＵクロック発生器を制御して、新しい電圧で維持可能な新しいクロック周波数を有するプロセッサにＣＰＵクロック信号ｃｐｕｃｌｋを出力することができる、そしてこの新しいクロック周波数は、最終的に必要なクロック周波数の、途中の中間クロック周波数になり得る。クロック発生器４は、制御信号値で特定可能な粒状度をもったクロック信号を発生できず、従って、発生している実際のクロック周波数に対応する量子化周波数を戻す。その代わりに、クロック発生器４の実際の能力に基づいたこの量子化が、性能制御器による必要なデータ処理性能要求から制御信号へのマッピングの中で実行可能である。この後説明される別の具体例では、電圧制御器には二つの出力レベルがあり、高いレベルは処理モードでの使用のためのものであり、低いレベルはクロックが停止したときの保持モードでの使用のためのものである。
【００１７】
図２は、本件技術の一例に従って動作する、操作システムコンピュータプログラムにより実行可能な処理動作を図解的に示す。ステップ１６において、性能レベルを変化する必要性の決定が行われるまで、適切なスレッドが待機する。この必要性は、外部要因の変化、例えば使用者によるキーの押下、によって示され、また内部的には、前に説明したような性能モニタカウンタを用いる動作性能のモニタが、トリガとなる。このような、必要な性能レベル変化が検出されたときには、処理はステップ１８に進み、そこではソフトウエアが、その必要なデータ処理性能要求レベルを記憶することに特化したメモリマップ位置に、書き込みを行う。コンピュータプログラムコードの動作は、所定のレベルでの変化の要求を検出し、そして、この要求をメモリに書き込むことである。必要な性能の変化が実際に発生していること、またどのようにしてそれが発生しているか、ということをモニタするための制御のフィードバックは不要である。この書き込みを行うにあたってのコンピュータプログラムの動作と、その要求に応答して動作する潜在的なハードウエア構造との関係は、抽象的である。このことは、多様な環境においてほとんど変化しないコンピュータプログラムの使用を促進するが、それらの環境は、その中に備えられているといないにかかわらず性能を管理するための機構を、どんなものでも用いている。
【００１８】
図３は、６ビットの、必要なデータ処理性能要求信号（選択的にグレイコードになり得る）と、対応するサーモメータコード制御信号値の間の、マッピングの例を図解的に示す。この場合には、３３の可能性のある性能レベルがあるが、可能性のある制御信号値は、９だけである。従って、必要な性能レベルと制御信号値との間には量子化があり、この量子化は、制御信号値がマップされることが可能な性能レベルの範囲内での最大性能レベルに、制御信号値が対応するように配列される。必要性能信号と、それが特定しようとする性能レベルは単調に増加する。このようにして、必要な性能レベルは、システムの中で到達可能な最大性能レベルのパーセンテージを表す、二値の比になる。これは性能レベル要求を抽出するために便利で柔軟性のある方法であって、その性能レベル要求は、多様の異なるハードウエア環境において、幅広く異なる処理目的のために、プログラム指令によって制御され得るように抽出される。
【００１９】
図４は、クロックが動作している活性処理モードに対応する多数の電圧レベルのある具体例における、電圧制御器６の制御を図解的に示す。ステップ２０においては、新たな制御信号を電圧制御器は受信している。新たな制御信号が受信されたときには、供給されている電圧レベルの変化が初期化されるステップ２２に、処理は進む。この変化は増加でも減少でも良い。電圧制御器６は、出力を変化させることが可能な、有限なスルー・レート値を有する。ステップ２４では、発生している変化全体にわたり、次の保持可能な電圧レベルに到達することをモニタする。次の電圧値に到達したとき、ステップ２６では、電圧制御器６が保持できる新しい電圧レベルを示すための、新しい現状電圧出力信号が発生して、性能制御器２に戻される。これは、最終的な目標電圧レベルの途中の中間的な電圧レベルであってもよい、即ち、スルーの最後では、その電圧レベルは、最終的な目標電圧レベルである。性能制御器２は、クロック発生器及び性能モニタ回路を制御するために、性能制御器２に戻して供給された現状電圧出力信号に応答して動作可能である。ステップ２８では、最終電圧値に達したかどうかが決定される。もし最終電圧に到達していなければ、処理はステップ２４に進み、電圧出力の追従が最終目標に向かって続く。二種類の電圧のみを保持するシステムにおいては、システムは、中間的な電圧レベル無しに、最終的な電圧値になるのを待機する。
【００２０】
図４は、制御電圧が変化しないという前提であるのが理解されるであろう。実際には、最終的な目標電圧に到達する前に制御電圧は変化し得る。ＯＳ内のプログラム命令によって決定されるような、実行された割込みやパニックモード信号のような、性能レベルの暫定的な変化は必要でないかも知れない。このような状況の元で、図４のような制御は中断され、そして、新規に発生した電圧に基づく動作が開始するステップ２０に処理が戻る。ソフトウエアによる制御は少なくとも、ある特定の時点で要求される性能レベルを単に特定する部分的な開ループであって、実際にどのレベルの性能が供給されているのか、あるいはいつその性能レベルが供給されるのかをモニタすることを求めるものではない。
【００２１】
上記したように、パニック信号（優先信号あるいはハード的な優先信号）は、性能レベルのいかなるソフトウエア制御にも優先し、そして暫定的に性能レベルを最大値にまで増加させるために、性能制御器２に供給される。性能レベルのソフトウエア制御をバイパスすると、特定の高優先のハードウエア割込み信号への応答などにより、純粋なハードウエア制御環境の元での最大性能レベルへの切り替えが促進される。一つ以上のこのような「パニック」信号が供給され得るが、例えば「Ｌｏｗ−Ｂａｔｔｅｒｙ−Ｐａｎｉｃ」信号は、周知のレベルにまで性能を減少させることができる。
【００２２】
図５は、クロック発生器４の制御を図解的に示す。ステップ３０では、クロック発生器は新しい制御信号の受信を待機する。新しい制御信号が受信されたとき、処理はステップ３２へ進み、そこで最終的に求められる新しいクロック周波数を供給するために、別のＰＬＬ回路への電源投入が必要かどうかの決定が行われる。もしそのようなＰＬＬ回路が必要であるならば、処理はステップ３４に進み、そこで回路がスタートされる。または、処理は直接ステップ３６に進む。
【００２３】
ステップ３６ではクロック発生器は、要求された性能レベルに近い新しいクロック信号が有効かどうかを判断する。このことは、最終的な目標性能レベルの利用可能性を残している中間の性能レベルの使用を促進させる。そのような中間的な周波数が決定されたとき、処理はステップ３８に進む。ステップ３８では、電圧制御器６からフィードバックされた現状動作信号値が、新しいクロック信号値を保持することのできる電圧が発生させられたことを示しているのかどうか、を判断する。そのような信号が有効であるときには、処理はステップ４０に進み、そこで新しいクロック信号が適用され、プロセッサのコアに供給される信号ｃｐｕｃｌｋとしてＣＰＵクロック発生器により発生させられる。ステップ４２は新しい現状クロック値を性能制御器２に戻すように出力し、そこでは性能をモニタしているハードウエアによってその信号が動作し、コードを介して処理の進行を判断する。ステップ４４では、必要なデータ処理性能要求によって発生したプログラム命令で決定された最終クロック周波数に、その新しいクロック周波数が切り替えられているかどうかが判断される。もし最終的な目標クロック周波数に至っていなければ、処理はステップ３６に戻り、そうでなければ制御は終了する（ステップ３０に戻る）。
【００２４】
図４に関連して、図５もまた、プログラム命令によって特定された必要なデータ処理性能レベルは変化しないことを前提としている。もしこれが変化するのであれば、新しく割り付けられた制御信号値が発生し、図５に示された処理を中断し、そして新しい制御信号値の動作により、すぐに処理をステップ３０に戻す。
【００２５】
初期及び最終クロック周波数の切り替え中の、中間的なクロック周波数の適用により、回路を特定の状態にするために実行されるコードを介して最良の処理が可能になる。回路は、最終的な目標周波数が有効になるまでの間は、初期クロック周波数に留まって動作するのではなく、性能追従の間に、一連のクロック周波数に従って上下する。新しいクロック周波数の適用は、その周波数が現在の周波数よりも目標周波数に近いことを示す信号と、電圧制御器は新しい周波数での動作維持に充分な電圧の電力信号を発生可能であるとの信号を伴うクロック源からの周波数の有効性を示す信号、の論理ＡＮＤにより制御される、と考えられる。もう一つの方法として、二つだけの制御レベル（ＭＡＸ／ＩＤＬＥ）を有している他の具体例では、システムはスイッチ動作を行う前には最終的な電圧を待機する。
【００２６】
図６は、本件技術を用いたデータ処理システムを図解的に示す図である。図１に示されたものと同様の要素には同様の要素番号が付されている。図６には、プログラム命令を実行するプロセッサ４６を追加的に示すが、それは密結合メモリシステム４８あるいは他のメモリに接続され得る。異なる電圧領域は、図示されているように回路内の多くのインターフェースに設けられるレベルシフタを必要とする。
【００２７】
図７は、必要なデータ処理性能要求レベルとサーモメータコード化された制御信号値間の、マッピングの別の例を示す。このケースでは、３２ビットのサーモメータコード化された制御信号値が、より細かく分割された性能制御の可能性を作るために用いられる。これら３２ビットの制御信号値に応答する追加回路は、実際には、より荒く分割された制御を行うのみであり、また、制御信号値を内部的には効率よく量子化する。サーモメータコード化された制御信号値により、例えばマルチプロセッサシステム上の異なるプロセッサからのような、異なる信号源からの制御信号を結合するのに特に便利な方法が可能となり、その結果、全体の性能レベル、それはチップ幅基準のみで制御可能なのだが、は適切に選択される。最大制御信号値は、制御信号値の論理ＯＲにより決定され、最小制御信号値は、制御信号値の論理ＡＮＤによって決定され、そして、制御信号値のＸＯＲによって等価性が決定される。最大関数は、最大要求クロック周波数の決定には有効であり、最小関数は保持可能な最小電圧を示すのに有効であり、そして等価関数は、異なる要素間の要求の一致を決定するのに有効である。
【００２８】
図８は、別の性能制御技術を示す。この例では、処理回路への供給電圧が、保持モード電圧レベルＨＭと、処理モード電圧レベルＰＭとの間で変調されているように（この例ではパルス幅変調である）示される。保持モードでは、処理回路はクロックされておらず、実行中のコードによっては処理は進行しない。処理モードでは、処理回路は全クロック信号比でクロックされており、実行されているコードを介して処理が進行する。図８の最初の部分は処理回路が５０％の時間処理モードにあり、従って供給されたクロック周波数の半分のクロック周波数で有効に動作していると考えられる状況を示している。電源の構成は、この場合はサプライ・レール電圧であり（ボディ・バイアスその他の技術が適用可能だが）、保持モードでは処理回路のエネルギー消費は減少する。従って、処理回路は、図示されるように少ないエネルギーを消費する、なぜならば固定的に処理モードにあるのに比べて、より低いエネルギー消費の保持モードで、半分の時間動作するからである。
【００２９】
図８の中間部分では、異なる変調デューティー比である３３％が使用され、そして有効なクロック周波数は、その最大比率の１／３である。図８の最後の部分では、システムは処理モードの１００％の時間動作していて、従って、固定されたクロック周波数比全体にわたって有効に動作する。
【００３０】
図９は、プロセッサコア５２、密結合メモリシステム５４及びＤＳＰ回路５６から成り、全てはバス５８により接続されている。プロセッサコア５２は、上記図８の性能制御技術の対象となり、そして処理モード及び保持モードの間で切り替えられる。電圧及びクロック制御器６０は、ＯＳあるいは他のプロセッサコア５２上で実行しているコードにより発生したプロセッサコア５２からの目標性能レベル要求を受信し、これを使用して必要な性能レベルを達成させるため、固定クロック周波数での適切なデューティー比にパルス変調された信号ＰＷＭを発生させる。ＯＲゲート６２は、このＰＷＭ信号と、プロセッサコア５２によって発生させられたビジー信号と、割込み信号ｉｒｑとそして実時間クロック回路６４で発生させられた実時間クロック要求信号とでＯＲを取る。ビジー信号、割込み信号ｉｒｑ及び実時間クロック要求信号のいづれかが、ＰＷＭ信号を無効にし、ＰＷＭ信号がシステムを保持モードにしたときには、強制的にシステムを処理モードにする。
【００３１】
ＯＲゲート６２の出力はクロック発生器６６及び電圧発生器６８に供給される。ＯＲゲート６２が、処理モードの要求を示した場合、電圧制御器６８がプロセッサコア５２の電源構成を処理モードに切り替えてプロセッサ回路５２のクロックの安定的な維持を示す電圧制御器からのレディー信号をクロック発生器回路６６が受け取れば、クロック発生器はプロセッサコア５２に供給されるクロック信号ｃｌｋを発生する。プロセッサコア５２を処理モードから保持モードに切り替えるのが安全ではないとき、例えばバス５８を介して密結合回路５４またはＤＳＰ回路５６の追加の回路への保留データ転送があるときには、プロセッサコア５２は、ビジー信号を発生する。プロセッサコア５２は、密結合メモリ５４やＤＳＰ回路５６の追加の回路素子と共に高アクティブシグナリング（ａｃｔｉｖｅ  ｈｉｇｈ  ｓｉｇｎａｌｌｉｎｇ）を用いるが、それにより、プロセッサコア５２が保持モードに置かれるか、あるいは電源が落とされたときにはクランプ回路７０がそれらの回路を接地させるようにする。
【００３２】
図１０は、電圧及びクロック制御器により、性能制御がどのように行われるかのフローを図解的に示す。ステップ７２では、新しい必要な性能レベルが、プロセッサコア５２によって、電圧及びクロック制御器６０に示される。ステップ７４では、マッピングテーブルや、ハードのロジックなどを参照して、必要な性能レベルは、適切にパルス幅変調されたデューティー比に変換される。この例はパルス幅変調を用いるが、スクランブル連続ＰＷＭ理論や他の理論のような変調もまた可能であることが理解されるであろう。
【００３３】
図１１は、図８の技術を用いた別の回路を示す。この回路は少なくともいくつかのレベルシフト回路がクランプ回路に置き換えられ、そしてダイナミック電圧スケール領域ではなくスイッチ電力領域が用いられている点が異なる、図６の回路と同様のものである。
【００３４】
図１２は、電圧及びクロック制御器によって発生させられる、必要な性能レベルを指示するためのＰＷＭＤＶＳ信号を示す。ＩＥＣ  ＲＥＱ信号は、システムが保持モードへ移行するのと外れるのにつれて、スリープ及びウエイク動作を起動するために、インテリジェント・エネルギー制御器へ送出される一連の信号を示す。ＩＥＣ  ＰＡＮＩＣ信号は、ＰＷＭＤＶＳ信号を無効にするための、優先信号である。ＣＰＵＡＣＴＩＶＥ信号は、ＣＰＵへのクロックを停止させるのはまだ安全ではないことを示すビジー信号である。
【００３５】
ＶＤＤＲＥＱは、ＯＲゲート６２の出力である。ＶＤＤ  ＣＰＵは電圧発生器６８からの出力であり、スルーレート値が有限であることを示す。ＶＲＥＡＤＹは、クロックスイッチが行えることをクロック発生器に示す、電圧発生器からの信号である。処理モードへの切り替えは、追従が完了するまでは行われず、保持モードでの切り替えがすぐに発生する。
【００３６】
添付の図面を参照して、図解的な実施例は詳細に記載されたが、本件発明はこれらの正確な実施例に限定されるものでなく、また多くの変更や改善が、追加されているクレームの範囲と趣旨から離れることなく、当業者によって達成され得ることが可能であることが理解されるべきである。
【図１】
2010009631.tif 000003
【図２】
2010009631.tif 000004
【図３】
2010009631.tif 000005
【図４】
2010009631.tif 000006
【図５】
2010009631.tif 000007
【図６】
2010009631.tif 000008
【図７】
2010009631.tif 000009
【図８】
2010009631.tif 000010
【図９】
2010009631.tif 000011
【図１０】
2010009631.tif 000012
【図１１】
2010009631.tif 000013
【図１２】
2010009631.tif 000014