(57)【要約】【課題】本発明は電圧のダイナミックスケーリング（ＤＶＳ）を利用する装置を処理することに関するが、特にそのような装置のための制御装置に限られない。本発明は特に、ソフトウェア無線機（ＳＤＲ）に適用でき、そのように限定されないが、他の再構成可能な電子システムに適用できる。【解決手段】少なくともいくつかが制御可能な供給電圧及び／又は周波数を持つ複数の処理リソースを有する処理装置のための制御装置を提供し、制御装置は少なくともいくつかがそれまでに動作が実行されなければならない所定のデッドラインを有する動作をリソース上でスケジューリングする手段と、前記デッドラインを有する前記動作のための電圧及び／又は周波数プロファイルを決定する手段と、スケジュール及びプロファイルに従って、リソースに動作を実行させる手段とを具備する制御装置を提供する。【選択図】図１
2005073231.tif 000002
【特許請求の範囲】
【請求項１】
少なくともいくつかは制御可能な供給電圧及び／又は周波数を持つ複数の処理リソースを有する処理装置のための制御装置において、
少なくとも幾つかはそれまでに動作が行わなければならないデッドラインを有する動作を前記リソース上でスケジューリングする手段と、
前記デッドラインを有する前記動作用電圧及び／又は周波数プロファイルを決定する手段と、
前記スケジュール及び前記プロファイルに従って、リソースに前記動作を実行させる手段とを具備する制御装置。
【請求項２】
前記プロファイルは、動作を実行する際に装置により消費される平均電力を最小にするよう構成されている請求項１記載の制御装置。
【請求項３】
前記プロファイルは、電圧−周波数プロファイルである請求項１又は２記載の制御装置。
【請求項４】
前記電圧−周波数プロファイルは、２以上の電圧又は周波数動作点を持つ請求項３記載の制御装置。
【請求項５】
前記電圧−周波数プロファイルは、動作の実行時間が経過するに従って増加する電圧又は周波数動作点を含む請求項２、３又は４記載の制御装置。
【請求項６】
動作の平均サイクルカウント以内に動作が完了されていない場合に、前記電圧−周波数プロファイルが、電圧又は周波数動作点を増加する請求項５記載の制御装置。
【請求項７】
前記決定する手段は、それぞれが所定の動作に対応する多数のレコードを有する動作制御データ構造を有し、各レコードは、対応する動作の最悪サイクルカウントを有する請求項１乃至６のいずれか１項記載の制御装置。
【請求項８】
各レコードは、動作の平均サイクルカウント及び平均サイクルカウントの標準偏差を有する請求項７記載の制御装置。
【請求項９】
各レコードは、電圧及び／又は周波数プロファイルを有する請求項７又は８記載の制御装置。
【請求項１０】
前記決定する手段は、動作の最悪サイクルカウント、動作の平均サイクルカウント、および平均回数の標準偏差に基づいて前記動作用電圧−周波数プロファイルを計算するよう構成された電圧−周波数プロファイル計算器を具備する請求項１乃９のいずれか１項記載の制御装置。
【請求項１１】
リソースの利用可能な電圧及び／又は周波数動作点に対応するために、計算器により決定される電圧−周波数プロファイルを量子化するよう構成された量子化手段を更に具備する請求項１０記載の制御装置。
【請求項１２】
前記スケジューリング手段は、リソースのための多数の制御メッセージを持つ処理タイムテーブルを有し、このメッセージは、動作に対応し、かつ電圧及び／又は周波数制御指令を含む請求項１乃至１１のいずれか１項記載の制御装置。
【請求項１３】
複数の処理リソースを有する処理装置であって、前記リソースの少なくともいくつかが制御可能な供給電圧及び／又は周波数を有し、請求項１乃至１２のいずれか１項記載の制御装置を具備する処理装置。
【請求項１４】
ワイヤレス端末又は基地局を具備する請求項１３記載の装置。
【請求項１５】
請求項１乃至１４のいずれか１項記載の設定可能デバイスを構成するためのコードを保持するコンピュータプログラム製品。
【請求項１６】
少なくともいくつかは制御可能な供給電圧及び／又は周波数を持つ複数の処理リソースを有する処理装置を制御する方法において、
少なくとも幾つかはそれまでに動作が行わなければならないデッドラインを有する動作を前記リソース上でスケジューリングする工程と、
前記デッドラインを有する前記動作用電圧及び／又は周波数プロファイルを決定する工程と、
前記スケジュール及び前記プロファイルに従って、リソースに前記動作を実行する工程とを含む方法。
【請求項１７】
前記プロファイルは、動作を実行する際に装置により消費される平均電力を最小にするよう構成されている請求項１６記載の方法。
【請求項１８】
前記プロファイルは、電圧−周波数プロファイルである請求項１６又は１７記載の方法。
【請求項１９】
前記電圧−周波数プロファイルは、２以上の電圧又は周波数動作点を持つ請求項１８記載の方法。
【請求項２０】
前記電圧−周波数プロファイルは、動作の実行時間が経過するに従って増加する電圧又は周波数動作点を含む請求項１７、１８又は１９記載の方法。
【請求項２１】
動作の平均サイクルカウント以内で動作が完了していない場合に、前記電圧−周波数プロファイルが、電圧又は周波数動作点を増加する請求項２０記載の方法。
【請求項２２】
前記決定する工程は、それぞれが予め定められた動作に対応する多数のレコードを有する動作制御データ構造を発生させることを含み、各記録は、対応する動作の最悪サイクルカウントを有する請求項１６乃至２１のいずれか１項記載の方法。
【請求項２３】
各レコードは、動作の平均サイクルカウント及び平均サイクルカウントの標準偏差を有する請求項２２記載の方法。
【請求項２４】
各レコードは、電圧及び／又は周波数プロファイルを有する請求項２２又は２３記載の方法。
【請求項２５】
前記決定する工程は、動作の最悪サイクルカウント、動作の平均サイクルカウント、および平均回数の標準偏差に基づいて前記動作用電圧−周波数プロファイルを計算することを含む請求項１６乃至２４のいずれか１項記載の方法。
【請求項２６】
リソースの利用可能な電圧及び／又は周波数動作地点に対応するために、計算器により決定される電圧−周波数プロファイルを量子化することを更に含む請求項２５記載の方法。
【請求項２７】
前記スケジューリングする工程は、リソースのための多数の制御メッセージを持つ処理タイムテーブルを発生させることを含み、このメッセージは動作に対応しており、電圧及び／又は周波数制御指令を含む請求項１６乃至請求項２６のいずれか１項記載の方法。
【請求項２８】
処理装置がワイヤレス端末又は基地局を具備する請求項１６乃至２７のいずれか１項記載の方法。
【請求項２９】
請求項１６乃至２８のいずれか１項記載の方法を実行するために、プロセッサにより読み出し可能なコードを保持するプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電圧のダイナミックスケーリング（ＤＶＳ）を利用する処理装置に関し、特にそのような装置のための制御装置に排他的に限定されない。本発明は、特にソフトウェア無線機（ＳＤＲ）に適用可能であるが、そのように限定されず、他の再構成可能な電子システムに適用されてもよい。
【背景技術】
【０００２】
基本的なダイナミックスケーリング電圧（ＤＶＳ）処理モジュールは、従来技術、例えばインテル社（登録商標）のスピードステップ（登録商標）技術に存在する。この技術はバッテリからの電力消費を低減するため、使用されていないときにプロセッサが“スリープ”モードに入ることができる多くのラップトップコンピュータに適用されている。近年、多数の異なる電圧及び周波数、すなわちクロック速度レートで動作可能な処理モジュールが出現してきた。プロセッサの電力消費は、電圧とクロック速度すなわち周波数との両方の関数であり、周知のように、電力消費の二次減少は、理論上はこれらのパラメータの両方を減少させることで達成できる。トランスメータ社（登録商標）はロングラン（登録商標）電力管理技術を提供している。この技術は、プロセッサが“オン”になっているが処理に使用されていないというアイドル状態にしておく時間をプロセッサが最小にすることを確実にするためにプロセッサの電圧およびクロック速度を調整する。
【０００３】
しかしながら、このような方法に伴う課題は、それらが厳しいデッドラインでタスクにあまり適合しないことである。例えばワイヤレス端末によって受信されたデータブロックが、設定された多数のミリ秒以内にビタビデコーダアルゴリズムによってデコードされることを確実にすることである。そのようなシステムでの特定の動作のための処理実行時間のデッドラインは、例えば、端末がワイヤレスセルラ又はローカルエリアネットワークにおいて基地局と相互動作できるように、標準プロトコルによって規定される。
【０００４】
ワイヤレス端末のようなデバイス又はシステムにおける多くのタスク又はオペレーションは、１つ以上の標準規格に従って動作し、幾つかの方法、例えばＡＳＩＣのような専門ハードウェア加速器を使用することによって、或いはソフトウェアに従って構成されているデジタル信号プロセッサを使用することによって実行できる。処理又はタスクのいくつかは、時間的にオーバーラップするか、或いは他のタスクから独立していることが多いので、平行して実行でき、処理リソースは処理電力の一部分をあるタスクに割り当て、別の一部分を別のタスクに割り当てることができる。これは複数のプロセッサを使用するか、或いは例えばマイクロプロセッサのようにリソースをタイムスライスすることによって達成できる。
【０００５】
多数のタスクのための処理時間をスケジューリングする、様々な方法が技術的に知られている。電力消費を低減するために、特定のタスクを処理する場合に処理リソースの電圧−周波数を低減させる概念を盛り込むようなスケジューリング技法を修正することは、フラヴィウス・グライアンの“確率的なデータ及びＤＶＳプロセッサを用いた低エネルギーのための厳しいハードリアルタイムスケジューリング”ＩＳＬＰＥＤ‘０１、２００１年８月２〜７日において概念用語を用いて説明されている。しかしながら、そのようなシステムの実際の具体化は単純ではない。
【発明の開示】
【課題を解決するための手段】
【０００６】
ある局面における一般的な条件では、本発明は、少なくともいくつかは制御可能な電圧及び／又は周波数動作パラメータを有している複数の処理リソースを持つ処理装置のための制御装置を提供する。制御装置は、装置が行うべき動作毎に多数の実行パラメータで成る動作データ構造を有するか、或いはこれにアクセスする。例えばワイヤレス端末又は基地局においては、これは所定のプロトコルに関して予め知られており、制御装置は新しいプロトコルを処理するために再構成可能でもよい。動作毎の実行パラメータは、電圧−周波数プロファイル、開始時間、最悪サイクルカウント、及び動作の以前の実行に関する実際の実行サイクルカウントの統計値を設けてもよい。これらの統計値は、動作が何回も実行されるので、平均実行サイクルカウントのようなパラメータのためのベースとなる履歴統計値を与えるため、好ましくは時間経過に従って更新される。電圧−周波数プロファイルの計算手段は、これらのパラメータに基づいて動作毎に記憶されている電圧−周波数プロファイルを与えるか、或いは定期的に更新する。電圧−周波数プロファイルは、例えば処理リソースに初期には低電圧−周波数で動作を実行させて、その後動作実行時間が所定限度（例えば、平均実行時間）を越える場合にのみ動作させることによって動作毎の電力消費を最小にし、厳格な実行時間のデッドライン内で動作を完了するために、処理リソースによって使用される電圧−周波数を増加するよう設けられる。
【０００７】
各動作は、毎回その最悪サイクルカウントまで行われるのではなく、それよりも平均実行サイクルカウント又は時間まで行われる傾向が強いので、動作を実行する処理リソースの電圧−周波数は、最初に、このレベルでも動作デッドライン前に動作が完了するであろう予想における基準よりも低く保つことができる。その後、動作が所定時間を過ぎ、おそらくデッドラインに近くで実行され続けていても、その後、デッドラインに間に合わせるために速やかに動作を終了させるために、電圧−周波数を充分に増加できる。最悪サイクルカウントでは、消費される電力は、動作が（短い時間でも）一定の高い電圧−周波数レベルで行われていたときに消費されたものと同じである。初期の低い電圧−周波数レベルの間、又は実質的にそのレベルの間に動作が行われている場合には、一定の高い電圧−周波数レベルを用いてこの動作が実行されていた場合よりも少ない電力消費となる。従って、移動無線通信又は計算端末のような携帯型装置のためのバッテリ寿命を向上するこの装置による消費電力は全体的に少なくなる。
【０００８】
特に一局面では、本発明は請求項１記載の制御装置を提供する。
【発明を実施するための最良の形態】
【０００９】
本発明の実施形態を、一例としただけであり、限定することを意図せずに以下の図面について説明する。
【００１０】
図１を参照すると、実施形態に従う処理装置の構成は、複数の処理リソースＲ1−Ｒn、制御装置１、制御プレーン２、データプレーン３、及びデータバス制御装置４を備えている。処理装置は、例えばＵＭＴＳやＧＳＭのような１つ以上のプロトコルに従って、基地局に対して信号を受信及び送信するためのワイヤレス通信端末において使用してもよい。この装置は特にソフトウェア無線機（ＳＤＲ）アプリケーションに適しており、便宜上及び説明の容易のために、本実施形態は移動ワイヤレス通信アプリケーションに関して説明されているが、それに限定されるものではない。
【００１１】
処理リソースＲは、例えばビタビデコーダのような特定のワイヤレス通信処理のためのＡＳＩＣでもよく、複数の使用による再構成可能なデジタル信号処理（ＤＳＰ）ブロック、又は同様に再構成可能な書換え可能ゲートアレイ（ＦＰＧＡ）でもよい。
【００１２】
データプレーン３は、メモリリソースに結合されたデータバスと、例えばアナログ−デジタル変換器、デジタル−アナログ変換器、チャネルデコーダ、イコライザ、及びボコーダなどの他のリソースに結合された入力／出力インターフェースとを備えた論理エンティティである。メモリはサンプル化信号シンボルのみならず、そのシンボルや、処理チェーン内の種々のステージに従った関連データを記憶して、デコードされたトラフィックデータを得るために使用される。
【００１３】
データバス制御装置４は、種々のリソースＲ、メモリ、及び他のデータ面コンポーネントの間のアクセスを制御し、例えばリソースが適切なデータを読み出して、その後リソースによる処理に従ってメモリにデータを書き込み直すことができる。
【００１４】
制御プレーン２は、リソースＲと制御装置１との間に制御バスを備えた別の倫理エンティティである。また、データと制御プレーンの両方は例えばクロスバー又はネットワークとして実施できる。
【００１５】
制御装置１は、データプレーン内のデータが処理のため正しいリソースＲに渡されたこと、および競合エンティティによるデータ転送の要求が適切に処理されることを確実にするために、データバス制御装置４を介してデータプレーン３の動作を制御する。データを転送するために使用される機構も、システムの構成に従って、異なるｖ−ｆで実行するように切り換え可能であってもよい。他のすべてのリソースと同様に、データプレーンも“データバス制御装置／アービタ（arbiter）”を介して制御装置により構成される。当業者ならばデータバス制御装置の動作を熟知している。
【００１６】
一般的条件では、制御装置は、データプレーン内のデータが、正しい順序で、可能ならば異なるリソースを使用して実行可能なタスク又はタスクのグループに動作を分けることにより並列に、種々のリソースＲにより適切に処理されることを確実にする。更に、制御装置１は、要求された処理が最小の電力消費で実行される方法で、各リソースＲの電圧−周波数（ｖ−ｆ）を制御する。処理タスクの多くは処理が完了しなければならない所定のデッドラインを持ち、故に制御装置１は、同時に電力消費を最小にしながら、この制約に従って装置内の処理を制御するよう構成される。これは、例えばワイヤレス通信端末のような厳しいデッドラインのある処理タスクを持つ携帯端末において有用である。
【００１７】
図２は制御装置１を模式的に示し、図３はリソース毎に制御装置により具体化される制御構造を示し、例えばＧＳＭやＵＭＴＳのような異なる時間ベースを用いる２組のリソースＲを含んでいる。制御装置１は、制御メッセージの適切なリソースＲへの転送を制御するディスパッチャ１０を備える。ディスパッチャ１０は、処理タイムテーブル１１に従って、いつ、どの制御メッセージが、どのリソースＲに送信されるかを決定する。処理タイムテーブル１１は、それぞれが関連リソース識別子を持つ、制御メッセージのリストと開始時間とを備えたデータ構造である。開始時間は通常、ＷＣＤＭＡの場合には１０ミリ秒の無線フレームのような予め定められた時間基準に関連する。ワイヤレス通信信号は、受信器が信号を適正に受信し処理するために自己同期するフレーム内で送信される。例えば内部クロック信号から得られたフレーム同期ソース１２がディスパッチャ１０に供給されて、処理動作が互いの間と同様に適切に同期することを確実にする。
【００１８】
各制御メッセージは、送信時間、宛先、命令、電圧−周波数設定、及び構成情報を含む。処理タイムテーブル１１における制御メッセージの性質及びタイミングは、ダイナミックスケジューラ１３によって決定される。スケジューラ１３は、シャドウ処理タイムテーブル１４に制御メッセージを書き込み又は更新し、このタイムテーブル１４はアクティブ処理タイムテーブル１１と同一の構造を持つ別のデータ構造である。アクティブ処理タイムテーブル１１には、一般的に、例えばフレームの終端／始端のようなある都合のよい時間で、シャドウ処理タイムテーブル１４のコンテンツがロードされる。シャドウタイムテーブルが使用されるのは、タイムテーブルに変更があるとき、テーブルに書き込むために限られた時間が掛かり、これが生じている間タイムテーブルは不完全なデータを持つことになり、故に欠陥のある命令がリソースに送信されることになるかもしれないからである。制御装置は、イベントが変化するにつれて、様々な動作のための制御メッセージを更新する。例えば、動作は予想よりも早く、リソースの１つの解放を早めに停止してもよく、それ故、制御装置は、新たに解放された処理リソースＲに対して、後にスケジューリングされた動作を再割り当ててもよい。
【００１９】
図４は、ある期間にわたって、かつ５つの処理リソースＲ１−Ｒ５に渡って割り当てられる動作O1−O10用スケジュールを示す。動作のいくつかは前回の動作からのデータを要求するので、その動作が完了してしまうまで開始できなく、これに対して他の動作は平行して実行可能である。多数の処理リソースに渡って動作をスケジューリングするためのスケジューラは技術的に知られている。一般的な従来のスケジューラは、その動作の最悪サイクルカウント、すなわち処理リソースが動作を完了するために最悪の状況で実行しなければならない処理サイクルの数に基づいて動作をスケジューリングする。このことから、動作の最大実行時間が何であるかを決定でき、そしてこれはこのとき他の要求される動作に接近して動作をスケジューリングするために使用される。しかしながら、動作はその最悪サイクルカウントを要求しないで、早く終了することが多い。ダイナミックスケジューラは、動作が早めに終了することがある事実を考慮してスケジュールをダイナミックに変更でき、おそらく後でスケジューリングされた動作を早く開始する。このようなダイナミックスケジューラも技術的に知られている。
【００２０】
制御装置１は、処理装置が行うことになっている動作ごとに制御ブロック、即ちレコード１６を含む動作制御ブロックデータ構造１５も有する。各動作のレコード１６は、その動作の最悪サイクルカウントを含む動作に関連づけられた多数のパラメータ、リソース識別子（Ｒ1−Ｒn）、電圧周波数（ｖ−ｆ）プロファイル、及び好ましくは処理装置の動作の前回の実行に対応する実行時間統計値から成る。これらは、統計値が計算される前に値のフィルタリングを行うために使用できる過去の実行時間（実行時間０、実行時間１…）を含む。
【００２１】
制御装置は、動作の最悪サイクルカウントを超えるｖ−ｆを決定する電圧周波数プロファイル計算器１７も備え、動作を実行するリソースＲのｖ−ｆ動作パラメータを制御するために使用される。量子化器１８はｖ−ｆプロファイル計算器１７の出力を、リソースＲに関連づけられた達成可能或いは実際のｖ−ｆ地点の１つに調整する。量子化器及びプロファイル計算は、単一ブロックにおいて、例えば２つの電圧設定だけが使用されているときに行える。このとき、動作に関連づけられた処理リソースＲのための量子化ｖ−ｆプロファイルは、動作の制御ブロック即ちレコード１６に書き込まれる。
【００２２】
動作毎のｖ−ｆプロファイルは、一般的にあるレベルで開始し、その後、必要ならば、図５に示すように動作の厳しいデッドラインが近づくに従ってこのレベルを増加する。これは、多くの場合に動作がその最悪サイクルカウントを要求しなく、故に早く終了するという事実を利用している。最初にｖ−ｆを低く維持することにより、この低ｖ−ｆのみを用いて動作の多数の実行が行われ、それ故にこの動作に関連づけられた平均電力消費が減少する。動作がその最悪サイクルカウント、又はこれに近いサイクルカウントを要求している場合には、動作がそのデッドラインまでに終了されることを確実にするためにｖ−ｆが増加される。
【００２３】
動作毎のｖ−ｆプロファイルは、その動作に関する履歴実行統計値により影響される。例えば、動作が平均実行時間、或いは低標準偏差を持つサイクルカウントを有する場合、即ち、大した変動がない場合には、初期ｖ−ｆレベルは、平均実行時間が厳しいデッドラインに近いこの低ｖ−ｆに達するように低く設定できる。その後、動作がサイクルカウントの平均数以上を要求するときに、動作がそれらの実行のための厳しいデッドラインより前に終了することを確実にするためにｖ−ｆレベルはかなり高くできる。高い標準偏差を持つ動作に対して、すなわち動作時間に多くの偏差があるとき、すべての実行状態のための厳しいデッドラインより前に動作が終了することを確実にするためにｖ−ｆレベルは、初期にはより高くなっている。図６は、３つの標準偏差値、平均実行サイクルカウント５００及び３０から１００００までの間で変化する標準偏差に対する繰り返し周期対繰り返し数を示す。最終的に、計算はサイクルカウントに基づくが、実行時間からサイクルカウントへ変換でき、同様に、ターボデコーダの反復数の平均値及び偏差のような、等価サイクルカウント統計値にマッピングできるより高レベルのメトリックによっても変換できる。
【００２４】
ダイナミックスケジューラ１３は、図２で示されるように処理タイムテーブル１１及び１４へ書き込む動作又はタスク毎に、適切な動作の制御ブロック１６からｖ−ｆプロファイルを検索するよう設けることができる。或いは、ダイナミックスケジューラ１３は、動作の最悪サイクル、平均カウント、デッドライン、及びこれらから派生する図３に示されるような電圧周波数プロファイルのようなパラメータを検索してもよい。
【００２５】
動作は図４を参照してすでに述べたようにスケジューリングされる。すなわち、動作実行時間は同じであるが、動作を行うリソースＲが動作の実行中にｖ−ｆプロファイルに従って動作するように付加的ｖ−ｆ制御が処理タイムテーブルに追加される。従って、動作の全体の実行時間は影響されないが、そのｖ−ｆレベルは決定されたｖ−ｆプロファイルに従って変化する。
【００２６】
各リソースＲは自己の供給電圧及びクロック周波数を持ち、制御装置はモジュール毎に電圧−周波数を設定する。各モジュールＲが別のクロックをオフに動作できるので、データプレーンへのインターフェースは非同期となり、更に、それは異なる動作電圧のバッファもしなければならない。
【００２７】
リソースＲは、通常、限定制御コードを持つ専門データ処理ブロックである。すなわち、リソースＲはデータを受信し、これを処理して、それからこれを送る。制御装置１は、いつ、どのように各リソースが動作するかを決定する。リソース間でのすべてのデータ転送はデータプレーンを介して行われる。すべての制御メッセージ及び測定報告は制御プレーンを介してなされる。データプレーンはリソースとしても考えられるので、その特性もデータバス制御装置を介して制御できる。例えば、そのｖ−ｆは特定のリソースＲと対話しているときに調整されてもよい。
【００２８】
各リソースは、制御装置１により動作を実行するよう指示されると、動作を実行する。制御プロセッサ内では、ディスパッチャが処理タイムテーブルを読み出し、リソースがデータを処理すると予想される直前に各リソースにメッセージを送信する。メッセージは構成情報と命令言語とを含む。この方法では、要求された機能を実現するため、リソースが静的にスケジューリングされてもよい。
【００２９】
リソースに送信できる命令の１つは、電圧−周波数命令である。この命令はそのリソースに対して供給電圧を設定し、動作周波数も設定する。リソースは、サイクルの実際の数をカウントするためのカウンタも備えている。この代わりに、リソースは、標準クロックをオフに動作するタイマを有していてもよい。これは動作が完了するのにどれだけの時間がかかるか、すなわち実際の実行時間を計測するために使用される。完了すると、リソースは実行時間と動作ハンドルとをメッセージ内で制御装置に送信する。電圧−周波数ランピング自体によるだけでなく、動作が完了するために、動作が異なる数のサイクルを取ることがあるためにサイクル動作時間は変化する。サイクルカウントの変化の理由には、要求される処理がボイスデコーダのようなデータに左右されること、リソースが別のリソースとデータバスを共有するので、第２のリソースがバスを使用している間ブロックされるおそれがあること、ターボデコーダの反復数がチャネル状態の変化の結果として変化しうるなどの外部状態の変化の結果、システムがリソースにより実現される処理をダイナミックに修正する可能性があることが含まれる。制御装置１は、電圧−周波数ランプが何であったかの知識を用いて実際の実行時間から実際のサイクルカウントを計算する。実行時間を測定する代わりに、リソース内のカウンタを使用して直接サイクルの数をカウントしてもよい。
【００３０】
制御装置１は、各動作の終了時に、各リソースによって送信された実行時間／回数を、それぞれの動作制御ブロックデータレコード１６に記憶する。動作制御ブロック１５は、最悪サイクルカウント及びフレーム期間に関する開始時間によって初期化される。すなわち最も速い動作が他の動作からのデータの利用可能性及び動作が行われるときの関連タイミングデッドラインにより開始できる。この動作の統計値が設計時に知られている場合には、平均サイクルカウント及び標準偏差もまた初期化時に設定されてもよい。この場合、実際の実行時間が要求されておらず、更に電圧−周波数プロファイルが関連タイミングデッドラインが変化するときにのみ計算する必要があることを示すフラグが設定される。制御装置１は、各動作制御ブロックの記録１６のための平均サイクルカウントや標準偏差のような統計値を更新するための統計値計算器１９を含む。
【００３１】
統計リソーススケジューリングが変化するか、或いは任意の動作のための電圧−周波数プロファイルが変化するとき、処理タイムテーブル１１及び１４内のメッセージは、電圧−周波数のための正しい値によって更新される。新しい電圧−周波数プロファイルを計算するための膨大な時間の費を避けるため、更新は、比較的まれな間隔、例えばフレームの終端で行うだけである。
【００３２】
動作の実行中に電圧−周波数を増やすことにより、動作がその平均サイクルカウント未満であるが、最悪サイクルカウントが生じれば、そのデッドラインに達していれば、電力消費は減少する。これは、理想的には、特に、それらが再構成可能に設計されている場合にワイヤレス無線機(ソフトウェア無線機)のようなハードリアルタイムアプリケーションに適する。
【００３３】
図７を参照すると、制御装置１の動作のフローチャートが示される。ダイナミックスケジューラ１３は、１組の要求された動作及びそのタイミング制約とを含む動作間のデータフローの定義を構成管理モジュールから受信する。例えばＳＤＲ端末では、この定義はＧＳＭ内でセルラ通話を受信することに対応する。ＧＳＭ信号の受信及び送信を達成するよう要求された動作は、その後スケジューラ１３にダウンロードされる。スケジューラ１３は、図４で図示されたように動作を分割し、これらを適切な時間に異なる処理リソースＲへ割り当てることによって、初期スケジュールを決定する。スケジューラ１３はその後、動作毎に適切な動作制御ブロック１６からｖ−ｆプロファイルデータを読み出し、適切な制御メッセージをシャドウ処理タイムテーブル１４に書き込む。（絶対時間の）適切な点で、このメッセージはアクティブな処理タイムテーブル１１にロードされ、ディスパッチャ１０によって適切なリソースＲに転送される。
【００３４】
リソースＲによる動作が完了すると、完了メッセージが制御装置１に送信される。このメッセージには、動作のための実行時間及び／又は実行サイクルカウントが含まれる。この情報は適切な制御ブロック１６に転送され、ここで動作に関して記憶されている統計情報に追加される。スケジューラ１３は動作終了時間も監視し、完了動作が早く終了した場合には、後の動作をダイナミックに再スケジューリングできる。
【００３５】
動作毎のｖ−ｆプロファイルは、動作ブロック１６に記憶されている統計実行時間データから計算され、リソースＲのための実際のｖ−ｆ地点に量子化され、その後、その動作のために動作ブロック１６に記憶される（又はダイナミックスケジューラへ直接送られる）。ｖ−ｆプロファイルは、統計データが上昇するにつれて定期的に更新される。
【００３６】
処理タイムテーブルは、好ましくは以下のように更新される。  
ａ．動作を要求するすべてのメッセージを発見
ｂ．この動作に関連づけられたすべての古い電圧−周波数命令をリストから除去
ｃ．新しい電圧−周波数設定を用いて、新しい電圧−周波数命令をリストに追加。
【００３７】
あるいは、いくつかのリソースは、電圧−周波数設定を内部的に自己修正できてもよい。よって、そのようなケースでは、リソースに送信される構成メッセージは、１組の電圧−周波数値とそれらの関連づけられた相関タイミングとを含む。従って、これらの値が変更されるときには、構成命令だけを修正する必要がある。
【００３８】
この方式のさらなる拡張のために、図３（システム１及び２）で示されるように、１以上の処理タイムテーブル１１（及び関連づけられたシャドウ１４）が使用される。各タイムテーブルは、異なる時間ベース及びフレーム同期から実行する。これは、ＧＳＭやＵＭＴＳのような２つのシステムが同一のプラットフォーム上で実施されているときに使用できる。このようなシステムでは、２つのフレーム同期時間が異なり、互いに位相を異にしており、多数のタイムテーブルを用いなく共通点が非常に高く、そのためタイムテーブルが非常に長くなる。これは、リソース上の各動作に対して更に拡張でき、或いは複数の動作を持つ各リソースは自己のタイムテーブル、ｖ−ｆプロファイル、計算器などを持つ。これによりタイムテーブルへのアクセスが簡明になる。２つのシステム（ＧＳＭ及びＵＭＴＳ）間のリソース（例えばデータバス）のオーバーラッピングは可能だが、異なる時間ベースのためにスケジューリングは難しくなる。すなわち、スケジューリングは、それを非常に大きくする公倍数を見つけなければならない。
【００３９】
代替構成では、動作を実行するために別の電圧プロファイル又は周波数プロファイルが計算されるように、電圧又は周波数のうちの１つのみが調整されてもよい。例えば、動作が特定時間で完了するように周波数が設定されてもよく、これが、スケジューラを簡単化し、リソース要求を減少するかもしれない。例えば出力データが動作の最後にグローバルメモリに書き込まれるだけであり、その後直ぐに別の動作によって読み出され、これによってＲＡＭを解放する。
【００４０】
当業者は、上述の装置及び方法が、例えばディスク、ＣＤ−又はＤＶＤ−ＲＯＭ、読み出し専用メモリ（ファームファイア）のようなプログラムされたメモリのようなキャリア媒体上で、或いは光学又は電気信号キャリアのようなデータキャリア上で、プロセッサ制御コードとして具体化されてもよいことを認識するだろう。多くのアプリケーションのために、本発明の実施形態は、ＤＳＰ（デジタル信号プロセッサ）、ＡＳＩＣ（特定用途向けＩＣ）、又はＦＰＧＡ（書き換え可能ゲートアレイ）上で実現される。従って、コードは、一般のプログラムコードすなわちマイクロコード、或いは例えばＡＳＩＣ又はＦＰＧＡをセットアップ又は制御するためのコードを含めてもよい。コードは、再プログラム可能な論理ゲートアレイのような再構成可能な装置をダイナミックに構成するためのコードも含めてもよい。同様に、コードは、ヴェリログ（登録商標）又はＶＨＤＬ（高速集積回路ハードウェア記述言語）のようなハードウェア記述言語のためのコードを含めてもよい。当業者が認識するように、互いに通信する複数の結合されたコンポーネント間でコードが分配されてもよい。場合によっては、実施形態は、アナログハードウェアを構成するために、書き換え可能（再プログラム可能）アナログアレイ又は同様なデバイス上で動くコードを使用して実現されてもよい。
【００４１】
当業者は、様々な実施形態及びその実施形態に関して記載された特定の特徴が、他の実施形態、又は一般的に上述の教示に従ってそれらの特に記載された特徴と自由に組み合わされてもよいことも認識するだろう。当業者は、添付の請求の範囲の範囲から逸脱することなく、記載された特定の例に対して様々な代替及び修正がなされてもよいことも認識することになる。
【図面の簡単な説明】
【００４２】
【図１】処理装置のためのアーキテクチャの概略図である。
【図２】図１の処理装置のための制御装置の概略図である。
【図３】図２の制御装置により制御される各リソースのための制御装置の制御構造を示す概略図である。
【図４】多数の平行処理手段上で実行される種々の動作のタイミングを示すスケジューリング概略図である。
【図５】動作のための電圧−周波数プロファイルを示す。
【図６】動作のための電圧−周波数プロファイルを示す。
【図７】図２の制御装置の動作のフローチャートを示す。
【図１】
2005073231.tif 000003
【図２】
2005073231.tif 000004
【図３】
2005073231.tif 000005
【図４】
2005073231.tif 000006
【図５】
2005073231.tif 000007
【図６】
2005073231.tif 000008
【図７】
2005073231.tif 000009
【外国語明細書】
2005073231000001.pdf