(57)【要約】【課題】処理装置を制御するためのコントローラ、詳しくは動的電圧を使用するコントローラを提供する。【解決手段】コンピュータ装置は、マスタモジュール、及び要求機能のスレーブモジュールによる実行についてスレーブモジュールにマスタモジュールが機能要求を送ることが可能であるスレーブモジュールを含む。マスタモジュールは、マスタ処理モジュールのためのＤＶＳ制御スキームを開始するように動作可能である動的電圧制御（ＤＶＳ）手段、及びスレーブ処理モジュールにＤＶＳ制御スキームを構築するように動作可能であるＤＶＳリンク手段を含む。【選択図】  図１
2009070389.tif 000002
【特許請求の範囲】
【請求項１】
マスタモジュール及びスレーブモジュールを備え、
前記マスタモジュールは、前記スレーブモジュールによる要求機能の実行のための前記スレーブモジュールに機能要求を送るように動作可能であり、
マスタ処理モジュールのためのＤＶＳ制御方法を開始するように動作可能である動的電圧制御（ＤＶＳ）手段と、
前記スレーブ処理モジュールに前記ＤＶＳ制御方法を関係付けるように動作可能であるＤＶＳリンク手段と、を有するコンピュータ処理装置。
【請求項２】
前記リンク手段は、前記スレーブモジュールに前記マスタモジュールからの機能要求と共にＤＶＳ制御メッセージを送るように動作可能である請求項１に従う装置。
【請求項３】
前記ＤＶＳ手段は、前記マスタ処理モジュールのためのクロック周波数を定義するクロック周波数情報を決定するように動作可能であり、
前記リンク手段は、前記ＤＶＳ制御メッセージにおける前記スレーブモジュールに前記機能要求と共に前記クロック周波数情報を転送するように動作可能である請求項２に従う装置。
【請求項４】
前記ＤＶＳ手段は、前記マスタモジュールのための動作周波数を動的に算出するように動作可能であり、
前記リンク手段は、前記スレーブモジュールに前記動作周波数を指示するＤＶＳ制御メッセージを機能要求と共に送るように動作可能である請求項１に従う装置。
【請求項５】
前記マスタモジュールは、前記マスタモジュールによって使用されるＤＶＳ制御方法を定義する情報を一般的速度要求の中に割り当てるように動作可能であるＤＶＳ制御情報割り当て手段を更に備え、
前記リンク手段は、機能要求によって一般的速度要求を送るように動作可能であり、
前記スレーブモジュールは、前記スレーブモジュールを前記一般的速度要求に従って動作させるように動作可能である一般的速度情報受信手段を含む請求項１に従う装置。
【請求項６】
前記一般的速度情報受信手段は、複数の利用可能な動作周波数のうちの一つに前記一般的速度情報要求を割り当てるように動作可能であることを特徴とする請求項５に従う装置。
【請求項７】
前記一般的速度情報受信手段は、複数の利用可能な電源電圧のうちの一つに前記一般的速度情報要求を割り当てるように動作可能であることを特徴とする請求項５に従う装置。
【請求項８】
前記一般的速度情報受信手段は、複数の利用可能な動作速度のうちの一つに前記一般的速度情報要求を割り当てるように動作可能である請求項５に従う装置。
【請求項９】
前記一般的速度情報受信手段は、前記一般的速度情報要求によって送られる、機能要求のための優先度に前記一般的速度情報要求を割り当てるように動作可能である請求項５に従う装置。
【請求項１０】
マスタ処理モジュールのためのＤＶＳ制御方法を開始することと、
前記スレーブ処理モジュールに前記ＤＶＳ制御方法を関係付けることと、
ＤＶＳ制御方法に関するスレーブモジュールに従うＤＶＳ制御要求を機能要求と関連付けることと、
前記ＤＶＳ制御要求に従って要求された機能の前記スレーブモジュールによる実行のために、前記スレーブモジュールに前記機能要求と前記マスタモジュールからの前記ＤＶＳ制御要求を送ることと、
を備える、マスタモジュール及びスレーブモジュールを有するコンピュータ処理装置の制御方法。
【請求項１１】
前記マスタモジュールのためのクロック周波数を定義するクロック周波数情報を決定することと、
前記ＤＶＳ制御要求における前記スレーブモジュールに前記機能要求と並行して前記クロック周波数情報を転送することと、
を含む請求項１０に従う方法。
【請求項１２】
マスタモジュールのための動作周波数を動的に算出することと、
前記スレーブモジュールに前記動作周波数を指示するＤＶＳ制御要求を機能要求の側に送信することと、
を含む請求項１０に従う方法。
【請求項１３】
前記マスタモジュールによって使用されるＤＶＳ制御方法を定義する情報を一般的速度要求の中に割り当てることと、
前記機能要求によって前記一般的速度要求を送ることと、
前記一般的速度要求に従って前記スレーブモジュールが動作するように前記スレーブモジュールにおいて前記一般的速度要求を受信することと、
を含む請求項１０に従う方法。
【請求項１４】
前記スレーブモジュールにおいて複数の利用可能な動作周波数のうちの一つに前記一般的速度情報要求を割り当てること、を含む請求項１３に従う方法。
【請求項１５】
前記スレーブモジュールにおいて複数の利用可能な電源電圧のうちの一つに前記一般的速度情報要求を割り当てること、を含む請求項１３に従う方法。
【請求項１６】
前記スレーブモジュールにおいて複数の利用可能な動作速度のうちの一つに前記一般的速度情報要求を割り当てること、を含む請求項１３に従う方法。
【請求項１７】
前記スレーブモジュールにおいて前記一般的速度情報要求によって送られた機能要求のための優先度に前記一般的速度情報要求を割り当てること、を含む請求項１３に従う方法。
【請求項１８】
コンピュータにロードされたとき前記コンピュータに請求項１０に従う方法を行わせるコンピュータ実行可能な命令を含むコンピュータプログラム製品。
【請求項１９】
請求項１８に従うコンピュータプログラム製品を格納するコンピュータ読取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理装置を制御するためのコントローラ、詳しくは動的電圧制御を使用するコントローラに関する。詳細には、これに限定されるものではないが、ＣＭＯＳに基づいた集積回路の制御に関係する。
【背景技術】
【０００２】
ＣＭＯＳ技術の最大動作周波数が一般に電源電圧と共に増加することは周知である。これを利用して、ＣＭＯＳデバイスの電力消費は、特定の動作要求のために許される最も低いクロック周波数でデバイスを動作させ、かつこれから生じる電源電圧を制限する機会をとることにより抑制され得る。これを利用するために、総称して動的電圧制御（ＤＶＳ）として知られる様々な手法が当該技術において進められている。
【０００３】
英国特許出願ＧＢ２４０３８２３は、リソースが動作を実行し続ける間の一組のリソース上の電圧の動的制御を実装する方法を述べている。この技術は、特にソフトウェア無線に適用が可能である。そこに開示されたＤＶＳスキームは、処理リソースによる動作の実行中に電源電圧及びクロック周波数を上げる。動作の実行中に電圧−周波数を増加させることにより、動作が最悪の場合の命令実行サイクル計算よりも少数のサイクルを用いれば、リソースはより小さな電力を用いることになる。
【０００４】
英国特許出願ＧＢ２４１０３４４は、システムオンチップ（ＳｏＣ）環境上のハードリアルタイム異種混合システム内に再構成可能なアプリケーションへのイントラ動作ＤＶＳスキームの実装について述べている。
【０００５】
ＤＶＳはＡＲＭ、インテル及びトランスメタのような会社によって使用されている。これはＡＲＭによる以下の２つの刊行物、及びトランスメタによる３番目の刊行物によって示される。
【０００６】
S.M. Martin, et al, ”Combined Dynamic Voltage Scaling and Adaptive Body Biasing for Low Power Microprocessors Under Dynamic Workloads”, http://www.arm.com/pdfs/dvsabb-ICCAD2002.pdf;
P. Morris, P. Watson, “Automated Low-Power Implementation Methodology” ARM Developers Conference- Information Quarterly, Vol. 4, No. 3, 2005; 及び
M. Fleischmann, “LongrunTM Power Management”, www.transmeta.com/pdfs/paper_mfleischmann_17jan01.pdf , 2001.
これらの装置設計者によって用いられるスキームは、共通クロックによる単一プロセッサ設計に基づいている。
【０００７】
上に示した論文においてＡＲＭ、インテル及びトランスメタによって実装されるＤＶＳスキームは、一つの電圧−周波数領域にのみ適合する。すなわち、ＤＶＳ管理主体による判定の結果、一つの領域だけが電圧及び周波数について修正される。
【０００８】
多くの論文は、ＤＶＳとグローバル非同期・ローカル同期（ＧＡＬＳ）アーキテクチャとの組み合わせについて論じている。
【０００９】
例えば、”Dynamic speed/voltage scaling for GALS processors” , (S. Chan, A. Eswaran, http://www.ece.cmu.edu/〜schen1/ece743 )は、後の段階がタスクを終えるのにより長くかかる場合に、プロセッサにおいてあるステージが通常よりもゆっくり動作することを保証するためには、ＤＶＳをどのように用いることが可能であるかを議論している。低電圧においてよりゆっくり動作することによって、全体の電力消費は低減される。
【００１０】
”Power Efficiency of Voltage Scaling in Multiple Clock, Multiple Voltage Cores” (A. Iyer, D. Marculescu, Conference on Computer-Aided Design (ICCAD), Nov. 2002及び ”Power-Performance Evaluation of Globally Asynchronous, Locally Synchronous Processors” (A. Iyer and D. Marculescu, International Symposium on Computer Architecture (ISCA), May 2002)は、ＤＶＳと組み合わせられたときのＧＡＬＳの利点を論じている。
【００１１】
”Request-Driven GALS Technique for Datapath Architectures” (M. Krstic, E. Grass, Proc. of the 3rd ACiD-WG Workshop, Heraklion, Jan. 27-28, 2003, Greece, session 2 (2003))は、それに供給するＦＩＦＯの状態をモニタすることにより、第２モジュールのクロック周波数をどのように動的に修正することが可能であるかを述べている。すなわち、ＦＩＦＯが空の場合、クロックは停止される。この文献は、Brandenburgischen Technischen Universitat, CottbusにおけるKrsticによる論文に基づいている。
【００１２】
米国特許出願２００６／１６１７９７は、ＧＡＬＳアーキテクチャで用いられる非同期ラッパーについて述べている。これは処理リソースの内部同期クロックを設定するために、外部信号をどのように用いるかについて記述している。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明の目的は、処理装置を制御するための動的電圧制御を使用するコントローラを提供することにある。
【課題を解決するための手段】
【００１４】
大まかに言えば、本発明の一態様はGB2410344において採用されたアプローチの改良を提供する。その特許出願においては、適応ＤＶＳスキームを用いるが、モジュール上のタスクの実行時間を直接修正する、制御可能なクロックに依存するアプローチが開示されている。タスクを完了するために取られたサイクル数が第２のモジュールの関数である場合、ＤＶＳスキームの利点は減じられる。通常、タスクが機能を実行するために第２のモジュールを必要とする場合、第１のモジュール上のタスクのサイクルカウントは第２のモジュールに依存するかもしれない。別の処理リソースに転送されるべきと考えられる関数のいくつかの例は、次の通りである：
・ハードウェアアクセラレータ（ターボ復号器）
・メモリ転送（ＤＭＡ）
・スレーブプロセッサ
本発明の一つの態様は、マスタによってサポートされたＤＶＳスキームが処理装置全体に対して最も大きな利点を持つことができるような方法で、スレーブモジュールのための処理時間がマスタにリンクされるメカニズムを提供する。
【００１５】
本発明のこの態様においては、マスタがサブモジュールに関数を要求する場合は常に、マスタＤＶＳマネージャによって算出されたクロック周波数に関する情報がサブモジュールに引き継がれる（または、再利用される）。
【００１６】
本発明の別の態様は、マスタ処理モジュール及び少なくとも一つのサブモジュールを備え、動的電圧制御手段はマスタモジュールに関連付けられ、マスタモジュールのための動作周波数を動的に計算するように動作可能であり、サブモジュールはマスタモジュールによってアクセスされるとき前記動作周波数で動作可能である、コンピュータ装置を提供する。
【００１７】
そのような場合においては、サブモジュールがマスタモジュールの動作周波数を「引き継ぐ」と言うことができる。
【００１８】
本発明の実施形態において、一般的速度要求にマスタクロック周波数を割り当て動作可能なマッピング手段が提供されてもよい。次いで、この一般的速度要求はそれが独自に解釈可能な期間にサブモジュールに送信されることが可能である。これはサブモジュールがローカル処理能力または条件を考慮して、受信された一般的速度要求を解釈することで、マスタモジュールによって望まれる結果を達成することを可能にする。例えば、サブモジュールはその処理形態に従って速度要求を解釈してもよい。
【００１９】
本発明のさらなる態様は、複数の処理モジュールを備え、当該モジュールの少なくとも一つは、動的電圧制御手段を含み、かつさらなるモジュールに当該さらなる処理モジュールによる処理のために、処理速度要求メッセージを伴って使用される機能要求メッセージを送るように動作可能である、コンピュータ処理装置を提供する。
【００２０】
当該さらなる態様において、さらなるモジュールはそのクロック周波数及び／又は動作電圧の制御により速度メッセージの受信に敏感であってもよい。
【００２１】
本発明のさらなる態様は、複数のモジュールを備え、少なくとも一つのモジュールは、動的電圧制御手段を含み、かつ機能要求に関連した速度要求をそれに与えることにより、別のモジュールと相互に作用するように動作可能である、コンピュータ処理装置を提供する。速度要求の受信に敏感であるため、それを受信するモジュールは関連する機能要求の実行を管理する少なくとも一つの処理パラメータの制御による速度要求を解釈するように動作可能である。処理パラメータは、機能要求の実行のための期待時間でもよい。
【００２２】
本発明のさらなる態様は、複数のモジュールを備え、少なくとも一つのモジュールは動的電圧制御手段を含み、かつそれが関数の実行を前記他のモジュールに要求する場合に、それにクロック信号を与えることにより、別のモジュールと相互に作用するように動作可能である、コンピュータ処理装置を提供する。クロック信号に加えて、モジュールは関数の実行を前記他のモジュールに要求する場合に前記他のモジュールに電源電圧を与えるように動作可能であってもよい。
【００２３】
本発明のさらなる態様は、マスタモジュール及びスレーブモジュールを備え、前記マスタモジュールは、前記スレーブモジュールによる要求機能の実行のための前記スレーブモジュールに機能要求を送るように動作可能であり、マスタ処理モジュールのためのＤＶＳ制御方法を開始するように動作可能である動的電圧（ＤＶＳ）手段と、前記スレーブ処理モジュールに前記ＤＶＳ制御方法を関係付けるように動作可能であるＤＶＳリンク手段と、を有するコンピュータ処理装置を提供する。
【００２４】
本発明のさらなる態様は、マスタ処理モジュールのためのＤＶＳ制御方法を開始することと、前記スレーブ処理モジュールに前記ＤＶＳ制御方法を関係付けることと、ＤＶＳ制御方法に関するスレーブモジュールに従うＤＶＳ制御要求を機能要求と関連付けることと、前記ＤＶＳ制御要求に従って要求された機能の前記スレーブモジュールによる実行のために、前記スレーブモジュールに前記機能要求と前記マスタモジュールからの前記ＤＶＳ制御要求を送ることと、を備える、マスタモジュール及びスレーブモジュールを有するコンピュータ処理装置の制御方法を提供する。
【００２５】
本発明の態様は、例として、例えば携帯電話のために、あるいはゲーム機器、基地局またはアクセスポイントにおけるビデオコーデックの実行のために、「システムオンチップ」（ＳｏＣ）コンテキストに実装することが可能である。すなわち、本発明の態様は管理及び場合によっては電力消費を最小限にする要求のあるマルチプロセッサアーキテクチャが準備される状況に適用可能である。
【００２６】
本発明の態様は、ＤＳＰまたはＦＰＧＡのような広範な一般のコンピュータハードウェアによる実行のためのソフトウエアコンポーネントを用いて実装することが可能である。そのようなソフトウエアコンポーネントは、物理的な記憶媒体、または信号によって供給することができるかもしれない。
【発明を実施するための最良の形態】
【００２７】
本発明のさらに可能な態様、特徴及び利点は、添付の図面を参照しての具体的な実施形態の下記説明から明白になる。
【００２８】
図１は、コンピュータ処理装置１０が示された本発明の第１の実施形態を示している。しかし、図示された例は代表例であり、より多数の処理素子を含むより複雑な装置が提供され得ることは、読者によって十分に理解されよう。この場合、マスタプロセッサ１００及びスレーブプロセッサ２００は、各々が２つの処理要素１００，２００の間のメッセージ伝送のためのバス２０にアクセスするように動作可能である。従来の方法において、スレーブ２００に、マスタ１００よりもよく適合している機能を実行させるために、マスタはスレーブに機能要求２２を送ることが可能である。行われるべき特定のタスクに適合せず、多くの要素に依存するかもしれないスレーブ２００に何故マスタが要求をするかの理由は、十分に理解されるであろう。
【００２９】
これに加えて、また本発明の当該具体的な実施形態に従い、速度要求２４はスレーブ２００のもとにマスタ１００によって関数要求２２と共に送られる。
【００３０】
マスタ処理ユニット１００は、図２にさらに詳細に示される。マスタ処理ユニット１００は、“グローバル非同期・ローカル同期”（ＧＡＬＳ）アーキテクチャに準拠し、要求された周波数に基づいてクロック及び関連する電源電圧を与えるＤＶＳ制御ユニット１１２の管理の下で、同期領域において動作可能である処理要素１１０を備える。周波数は、非同期及び同期アーキテクチャの間のインタフェースであるラッパーユニット１２０において決定される。ラッパーユニット１２０は、ＤＶＳマネージャ１３０によってプログラムされる周波数レジスタ１２２を含む。
【００３１】
レジスタ１２２は、ＤＶＳ制御ユニット１１２による使用のための周波数の出力に加えて、その周波数を機能ブロック１４０へ渡す。このブロックは、マスタプロセッサユニット１００においてクロック速度のためのレジスタ周波数値を一般的速度要求に変換する。次いで、前述したようにこの一般的速度要求は信号２４として出力される。この信号２４は、処理要素１１０による機能要求信号２２の出力と共に出力される。マスタモジュールが異なるクロック領域からサービスの要求をする場合、機能要求信号２２が出力される。データブロックをチャネルデコードする場合のような、メモリ転送要求またはハードウェアアクセラレータ動作が、一例として挙げられる。
【００３２】
同様に、速度要求は機能要求２２を受信するスレーブモジュール２００によって使用されるために送られる。この速度要求２４は、スレーブモジュール２００によって実行メカニズムを決定するために用いられる。
【００３３】
速度要求の効果は、スレーブ処理ユニット２００が動作を完了するのを待機する時間をマスタ処理ユニット１００が変更することである。マスタ処理ユニット１００は、現在タスクを実行している周波数電圧設定に基づいて速度要求の値を選択する。すなわち、マスタ処理ユニット１００が比較的高いマスタクロック周波数（ＤＶＳ制御ユニット１１２によって管理されるように）において動作していれば、その速度要求は相応して高い。反対に、マスタ処理ユニット１００が現在比較的低速で実行をしていれば、速度要求は結果として低レベルに調節される。
【００３４】
速度要求は、その形式及び構造に従ったスレーブ処理ユニット２００による解釈のために一般的な値をとることができる。
【００３５】
図３は、本発明の第１の具体的な実施形態のスレーブ処理ユニット２００のさらに詳細な構造を示している。スレーブ処理ユニット２００は本来同期で、従って電源電圧及びクロックを供給するＤＶＳ制御ユニット２１２によって管理される処理要素２１０を含む。ＤＶＳ制御ユニット２１２は、周波数信号を生成するレジスタ２２２を含むラッパーユニット２２０から抽出される周波数量によって管理される。レジスタ２２２は、速度要求信号２４の受信において、機能ブロック２４０に基づいて周波数信号を生成する。従って、処理要素２１０によって受信された機能要求２２については、速度要求２４によって管理されたＤＶＳ条件に従って処理することが可能である。
【００３６】
機能ブロック２４０は、アーキテクチャ仕様であり、スレーブユニット２００の能力に応じて設計されている。ブロック２４０は、速度要求をスレーブ処理ユニット２００に適合した形式に変換する。
【００３７】
これは、スレーブ処理ユニット２００がそれ自身の能力に従う速度要求を解釈することを可能にする。種々の形式のモジュールが速度要求を異なって解釈してもよいことは読者によって認識されるだろう。さらに、処理ユニットはまたそれぞれ要求された速度に適合する動作電圧または周波数を修正する能力を持っていてもよい。これはスレーブ処理ユニットにおいて、電力消費をさらに節約する余裕を持たせる。
【００３８】
以下のテーブルは、マスタユニット１００のＤＶＳ制御ユニット１１２によるマスタクロック周波数出力と、一般的速度要求値と、共用バス２０上の優先順位との対応を示している。
【表１】
2009070389.tif 000003
【００３９】
図４は、スレーブユニット３００の第２の具体的な実施形態の概略図を示す。やはり、スレーブユニット３００はバス上で受信された機能要求２２に答えるように動作可能である処理要素３１０を含む。処理要素は、電源電圧ＶＣＣ及びクロックによる処理能力で管理される。しかしながら、この場合クロックはクロック発生器３１３によって生成され、また電源電圧は電源ユニット３１４によって生成される。
【００４０】
ラッパーユニット３２０も、また第１の実施形態のラッパーユニット２２０から変更される。ここで、ラッパーユニットは受信速度要求２４を処理要素３１０のための構成命令と解釈するように動作可能である機能ブロック３４０を含む。従って、第２の実施形態におけるようなスレーブユニット上での直接のＤＶＳ制御はない。しかしながら、スレーブユニットはマスタユニット１００のＤＶＳ制御を採用しないが、代わりに、タスクが効果的な方法で完了するのを可能にするために、マスタユニット速度要求２４を解釈し、処理要素３１０の構成に関してローカルな条件を提供する。
【００４１】
例えば、処理要素３１０がマルチスレッドのプロセッサである場合、プロセッサは関数要求に関連したスレッドに異なるタイムスロットを割り当てることが可能である。これはスレーブにおけるＤＶＳなしで、優先度の高いタスクについてはより速く完了し、優先度の低いタスクについてはよりゆっくりと完了することを可能にする。
【００４２】
図５には、スレーブユニット４００の第３の実施形態が示されている。この例は、共有の通信ファブリックを含む処理装置１０において特に関連する。この例のスレーブユニット４００は、速度要求を通信ファブリックコントローラ４１０のための制御信号へと解釈する機能ブロック４４０を含むラッパー４２０を備えている。通信ファブリックコントローラ４１０は、共有の通信ファブリックへのアクセスを管理する。よって、それはダイレクトメモリアクセス（ＤＭＡ）コントローラである。制御信号は、通信ファブリックコントローラ４１０に対し、速度要求２４によって表わされる要求された速度に適合する動作電圧及び周波数を変更させるように動作可能である。これはスレーブモジュールにおいて電力消費をさらに節約することを可能とする。
【００４３】
Ｋｒｓｔｉｃによる論文において、スレーブモジュールのクロック速度はサブモジュールの内への転送データに用いられるＦＩＦＯの状態によって決定されるが、これはデータが与えられない場合、関連する処理ロジックを駆動するために用いられるクロックが遮断されることを意味する。上で特定されたアプローチは、マスタモジュールによって使用されるスレーブモジュールの動作モード及び／又はクロック周波数のより細かくより正確な制御を可能にする。
【００４４】
ＫｒｓｔｉｃのＦＩＦＯ技術は、それと関係する高いレイテンシーを持っている。本発明の具体的な実施形態に基づく上記の明示的に記載された技術は、データが与えられたときＦＩＦＯバッファによって生じる遅延を回避するために、スレーブモジュールが動作すべき速度について述べている。
【００４５】
クロック周波数と電圧の静的な設定のみを可能とする簡単なＧＡＬＳ／ＤＶＳスキームは、分散される（即ち平均及び最大値を持つ）実際の処理の複雑さのために、可能な省電力を利用しない。サブモジュールがクロック情報を引き継ぐのを許容することによって、通信ネットワークは省電力の機会のこの態様を利用することができる。
【００４６】
このアプローチは、ＣＭＯＳに基づいた何らかの複雑な電子システムの電力消費を低減するために用いることが可能である。通常、複数の処理要素を持つ大きなＳｏＣにおいてそれを用いることができるかもしれない。しかしながら、またセル（ＣＥＬＬ）のようなマルチプロセッサ設計にそれを適用することができるかもしれない。次いで、これらの電子システムをワイヤレス電話または基地局またはゲーム機におけるベースバンド処理のような高度なアプリケーションに用いることができるかもしれない。
【００４７】
本発明の実施形態は、アプリケーションが可変の複雑さを持ち、プラットフォームの作業負荷を追跡するために動作電圧及びクロック周波数を要求するとき、パフォーマンス利益を与える。
【００４８】
実際的な例として、図６はＤＶＳ管理コントローラと同様にモデムの信号処理ステージを個別のタスクとして実行するデジタル信号プロセッサ（ＤＳＰ）５００と、ターボ復号器を実装するためのハードウェアアクセラレータ６００とを含む無線モデムシステム５０を示している。両モジュール５００及び６００は、自身のクロック発生器及び電圧発生器（それぞれＤＶＳコントローラ５１２，６１２）、及び処理要素（それぞれ５１０，６１０）を有する。ラッパー５２０は、実行依頼に情報を関連させ、またシステム５０における別の処理実体からの受信された情報を開けるために、ＤＳＰ内に備えられる。同様に、ラッパー６２０は、ＤＳＰ５００からの受信された実行依頼に関連した情報を開け、またＤＳＰ５００へ戻すべく互いに情報のアイテムを関連させるために、ターボ復号器６００内に備えられる。
【００４９】
すなわち、これは図１及び２に関して上に記載された本発明の第１の実施形態の実際的な例である。ＤＳＰ５００の処理要素５１０において定義されたＤＶＳ管理タスク５３０は、ＤＶＳマネージャの関数を提供する。ＤＳＰにおけるＤＶＳマネージャは、デッドラインが達成され、かつ電力消費が最小化されることを保証する特定のときに、ＤＳＰのためのクロック周波数を決定する。
【００５０】
無線モデムタスク５５０も、無線モデムシステム５０のモデム能力に関連して上述した信号処理機能を提供するために、ＤＳＰ処理要素５１０において定義される。無線モデムタスク５５０は、また、ターボ復号器６００に実行を要求する場合、機能要求を持った速度要求を含む。この速度要求は現在ＤＶＳマネージャ５３０によって設定されている速度に基づいている。制御ビット及びパラメータがそれらに関連するレジスタに書き込まれているように、速度要求はターボ復号器のＤＶＳコントローラ６１２内のレジスタに同時に書き込まれている。このようにターボ復号器は、自身のハードウェア能力に相応するだけでなく、ＤＳＰ５００から管理されるような全体システム要件を反映しているＤＶＳプロファイルを設定することが可能である。
【図面の簡単な説明】
【００５１】
【図１】図１は、本発明の第１の具体的な実施形態で用いるコンピュータ処理装置の概略図である。
【図２】図２は、図１に示されたコンピュータ処理装置のマスタプロセッサの概略図である。
【図３】図３は、図１に示されたコンピュータ処理装置のスレーブプロセッサの概略図である。
【図４】図４は、図３に示されたスレーブプロセッサの代わりに図１に示されたコンピュータ処理装置に内蔵される本発明の第２の実施形態に従うスレーブプロセッサの概略図である。
【図５】図５は、図３に示されたスレーブプロセッサの代わりに図１に示されたコンピュータ処理装置に内蔵される本発明の第３の実施形態に従うスレーブプロセッサの概略図である。
【図６】図６は、図１に示された第１の具体的な実施形態のコンピュータ処理装置に従って実装される無線モデムの概略図である。
【図１】
2009070389.tif 000004
【図２】
2009070389.tif 000005
【図３】
2009070389.tif 000006
【図４】
2009070389.tif 000007
【図５】
2009070389.tif 000008
【図６】
2009070389.tif 000009
【外国語明細書】
2009070389000001.pdf