(57)【要約】データベクトルのストリームを処理するためのＳＩＭＤプロセッサアーキテクチャ（２）が提供される。このアーキテクチャは、夫々のベクトルでデータ成分を処理するよう各々構成された複数のプロセッサ（ＰＥ（０），．．．ＰＥ（Ｎ））を有し、その動作を第１の周波数を有する局部クロック信号により制御されるプロセッサ配列（４）；ＳＩＭＤプロセッサアーキテクチャ（２）の動作を制御し、且つプロセッサ配列（４）の動作を前記データベクトルのストリームと同期させる同期信号を発生させるよう構成され、その動作を第２の周波数を有する局部クロック信号により制御される制御プロセッサ（１６）；及び制御プロセッサ（１６）により発生した同期信号に応答して局部クロック信号の周波数を調整し、それによりＳＩＭＤプロセッサアーキテクチャ（２）の電力消費を最小限とする電力管理手段（３０）を有する。
2008503822.tif 000002
【特許請求の範囲】
【請求項１】
データベクトルのストリームを処理するためのＳＩＭＤプロセッサアーキテクチャであって：
夫々のベクトルでデータ成分を処理するよう各々構成された複数のプロセッサを有し、その動作を第１の周波数を有する局部クロック信号により制御されるプロセッサ配列；
当該ＳＩＭＤプロセッサアーキテクチャの動作を制御し、且つ前記プロセッサ配列の動作を前記データベクトルのストリームと同期させる同期信号を発生させるよう構成され、その動作を第２の周波数を有する局部クロック信号により制御される制御プロセッサ；及び
該制御プロセッサにより発生した前記同期信号に応答して前記局部クロック信号の周波数を調整し、それにより当該ＳＩＭＤプロセッサアーキテクチャの電力消費を最小限とする電力管理手段；
を有するＳＩＭＤプロセッサアーキテクチャ。
【請求項２】
前記プロセッサ配列及び前記制御プロセッサにより必要とされる電圧は、それらの夫々の局部クロック信号の周波数に依存する、ことを特徴とする請求項1記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項３】
前記電力管理手段は、前記局部クロック信号の前記第１及び第２の周波数を別々に調整するよう構成される、ことを特徴とする請求項１または２記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項４】
複数の電子部品を更に有し、
該複数の電子部品の少なくとも１つは、該少なくとも１つの部品の動作が、それが集められた前記プロセッサ配列又は前記制御プロセッサの夫々の局部クロック周波数により制御されるように、前記プロセッサ配列又は前記制御プロセッサとともに集められる、ことを特徴とする請求項１乃至３のうちいずれか一項記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項５】
前記複数の電子部品のうちの１つは、作業ベクトルメモリであり、
該作業ベクトルメモリは、前記プロセッサ配列とともに集められる、ことを特徴とする請求項４記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項６】
前記複数の電子部品のうちの1つは、プログラムメモリであり、
該プログラムメモリは、前記制御プロセッサとともに集められる、ことを特徴とする請求項４又は５記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項７】
前記複数の電子部品のうちの少なくとも１つの他の電子部品は、第３の周波数を有するクロック信号により制御される、ことを特徴とする請求項４乃至６のうちいずれか一項記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項８】
前記第３の周波数は、当該ＳＩＭＤプロセッサアーキテクチャが接続されている環境でのクロック信号の周波数に等しい、ことを特徴とする請求項７記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項９】
前記少なくとも１つの他の電子部品は、前記データベクトルを前記環境から受信する入力プリプロセッサ、又は前記出力データベクトルを前記環境へ供給する出力ポストプロセッサである、ことを特徴とする請求項８記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項１０】
前記第３の周波数は、前記制御プロセッサにより発生した前記同期信号に応答して調整される、ことを特徴とする請求項７記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項１１】
前記少なくとも１つの他の電子部品は、更なる少なくとも１つの他の電子部品とともに集められる、ことを特徴とする請求項１０記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項１２】
データベクトルが当該ＳＩＭＤプロセッサアーキテクチャに到着するレートは、時間とともに変化する、ことを特徴とする請求項１乃至１１のうちいずれか一項記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項１３】
前記クロック信号の周波数は、前記プロセッサ配列が遊休状態である時間を低減するよう調整される、ことを特徴とする請求項１２記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項１４】
前記電力管理手段は、前記同期信号から、前記プロセッサ配列が夫々の処理周期の間に遊休状態である時間の平均長を計算するよう構成される、ことを特徴とする請求項１３記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項１５】
前記電力管理手段は、更に、前記同期信号から、データベクトルが前記環境から受信されているレートの変化を検出するよう構成される、ことを特徴とする請求項１４記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項１６】
前記電力管理手段は、更に、前記プロセッサ配列が夫々の処理周期の間に遊休状態である時間の計算された平均長、及び／又はデータベクトルが前記環境から受信されているレートにおける検出された変化を用いて、前記クロック信号の周波数の値を計算するよう構成される、ことを特徴とする請求項１５記載のＳＩＭＤプロセッサアーキテクチャ。
【請求項１７】
データベクトルのストリームを処理するために適しており、且つ
夫々のデータベクトルでデータ成分を処理するよう各々構成された複数のプロセッサを有し、その動作を第１の周波数を有する局部クロック信号により制御されるプロセッサ配列；及び
当該ＳＩＭＤプロセッサアーキテクチャの動作を制御し、且つ前記プロセッサ配列の動作を前記データベクトルのストリームと同期させる同期信号を発生させるよう構成され、その動作を第２の周波数を有する局部クロック信号により制御される制御プロセッサ；
を有するＳＩＭＤプロセッサアーキテクチャの電力消費を最小限とする方法であって：
前記制御プロセッサにより発生した前記同期信号に応答して前記局部クロック信号の周波数を調整するステップを有する方法。
【請求項１８】
前記プロセッサ配列が夫々の処理周期の間に遊休状態である時間の平均長を前記同期信号から計算するステップを更に有する、請求項１７記載の方法。
【請求項１９】
前記ＳＩＭＤプロセッサアーキテクチャが接続された環境からデータベクトルが受信されているレートの変化を前記同期信号から検出するステップを更に有する、請求項１７又は１８記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子回路の分野、具体的には、電子回路において電力消費を管理する方法及び装置に関する。
【背景技術】
【０００２】
携帯型のバッテリー駆動式電子装置におけるエネルギー効率システム設計は、エネルギー消費が携帯用システムのバッテリー寿命に影響し、更には、このことが消費市場における如何なる製品の成功にとっても重大な性能測定基準であるのでますます重要となってきている。従って、電力管理は、システムの構造基盤の不可欠な部分となりつつある。
【０００３】
動的電力管理（ＤＰＭ）は、エネルギー又は電力の効率計算のためのシステムの動的設定又は再設定を可能にする設計手順である。Ｌ．Ｂｅｎｉｎｉ、Ａ．Ｂｏｇｌｉｏｌｏ及びＧ．ｄｅ  Ｍｉｃｈｅｌｉによる２０００年６月のＶＬＳＩシステムに関するＩＥＥＥ報告書、Ｖｏｌ．８、Ｎｏ．３に掲載された「システムレベルの動的電力管理のための設計技術の調査（Ａ  Ｓｕｒｖｅｙ  ｏｆ  Ｄｅｓｉｇｎ  Ｔｅｃｈｎｉｑｕｅｓ  ｆｏｒ  Ｓｙｓｔｅｍ−Ｌｅｖｅｌ  Ｄｙｎａｍｉｃ  Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ）」では、幾つかのＤＰＭ技術について論じられている。これらの技術は、システムのスイッチングオフ又は‘減速（ｓｌｏｗｉｎｇ  ｄｏｗｎ）’といった遊休部分と、エネルギー効率の動的取引システム性能とを含む。ＤＰＭ技術は、可変な仕事量へと個々のシステム構成要素の性能を調整することによりシステム電力を最適化して、制御する方法を提供する。
【０００４】
動的に変化する仕事量を伴うシステムでは、即ち、常に最高又は最大の性能を実現させる必要のないシステムでは、電圧及びクロック周波数は、システムの電力消費を最適化するよう制御可能である。これは、動的な電圧及び周波数の調整（ＤＶＦＳ）として知られる。
【０００５】
多数の技術が、主に性能要求に依存して電圧及び周波数を調整するこのようなシステムに関する文献において提案されてきた。例えば、Ｄ．Ｓｏｎ、Ｃ．Ｙｕ及びＨ．Ｋｉｍによる「ＭＰＥＧ復号化における動的電圧調整（Ｄｙｎａｍｉｃ  Ｖｏｌｔａｇｅ  Ｓｃａｌｉｎｇ  ｏｎ  ＭＰＥＧ  Ｄｅｃｏｄｉｎｇ）」では、電圧及び周波数がアプリケーションの復号化性能に依存して調整されるところの、アプリケーションに基づく技術が提案される。
【非特許文献１】「システムレベルの動的電力管理のための設計技術の調査（Ａ  Ｓｕｒｖｅｙ  ｏｆ  Ｄｅｓｉｇｎ  Ｔｅｃｈｎｉｑｕｅｓ  ｆｏｒ  Ｓｙｓｔｅｍ−Ｌｅｖｅｌ  Ｄｙｎａｍｉｃ  Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ）」、ＶＬＳＩシステムに関するＩＥＥＥ報告書、Ｖｏｌ．８、Ｎｏ．３、２０００年６月、Ｌ．Ｂｅｎｉｎｉ、Ａ．Ｂｏｇｌｉｏｌｏ及びＧ．ｄｅ  Ｍｉｃｈｅｌｉ
【非特許文献２】「ＭＰＥＧ復号化における動的電圧調整（Ｄｙｎａｍｉｃ  Ｖｏｌｔａｇｅ  Ｓｃａｌｉｎｇ  ｏｎ  ＭＰＥＧ  Ｄｅｃｏｄｉｎｇ）」、Ｄ．Ｓｏｎ、Ｃ．Ｙｕ及びＨ．Ｋｉｍ
【発明の開示】
【発明が解決しようとする課題】
【０００６】
システムが、例えば画像データのストリームのような、高度な並列処理を伴うデータストリームを処理するために使用される場合に、単一命令／複数データ（ＳＩＭＤ）プロセッサが使用されうる。ＳＩＭＤプロセッサは、より低い動作周波数及びメモリローカライゼーションを可能にするようデータストリームでの並列処理を利用し、同じデータストリームで動作する単一命令／単一データプロセッサと比較してより低い電力損失をもたらす。
【０００７】
ＳＩＭＤプロセッサは、単一命令／単一データプロセッサよりも電力損失が少ないが、更なる電力節約が望ましい。
【０００８】
従って、本発明は、更なる電力消費の低減が可能な単一命令／複数データ（ＳＩＭＤ）プロセッサのための電力管理技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様に従って、データベクトルのストリームを処理するためのＳＩＭＤプロセッサアーキテクチャであって、夫々のベクトルでデータ成分を処理するよう各々構成された複数のプロセッサを有し、その動作を第１の周波数を有する局部クロック信号により制御されるプロセッサ配列と、当該ＳＩＭＤプロセッサアーキテクチャの動作を制御し、且つ前記プロセッサ配列の動作を前記データベクトルのストリームと同期させる同期信号を発生させるよう構成され、その動作を第２の周波数を有する局部クロック信号により制御される制御プロセッサと、該制御プロセッサにより発生した前記同期信号に応答して前記局部クロック信号の周波数を調整し、それにより当該ＳＩＭＤプロセッサアーキテクチャの電力消費を最小限とする電力管理手段とを有するＳＩＭＤプロセッサアーキテクチャが提供される。
【００１０】
本発明の第２の態様に従って、データベクトルのストリームを処理するために適しており、且つ、夫々のデータベクトルでデータ成分を処理するよう各々構成された複数のプロセッサを有し、その動作を第１の周波数を有する局部クロック信号により制御されるプロセッサ配列と、当該ＳＩＭＤプロセッサアーキテクチャの動作を制御し、且つ前記プロセッサ配列の動作を前記データベクトルのストリームと同期させる同期信号を発生させるよう構成され、その動作を第２の周波数を有する局部クロック信号により制御される制御プロセッサとを有するＳＩＭＤプロセッサアーキテクチャの電力消費を最小限とする方法であって、前記制御プロセッサにより発生した前記同期信号に応答して前記局部クロック信号の周波数を調整するステップを有する方法が提供される。
【発明を実施するための最良の形態】
【００１１】
本発明のより良い理解のために、且つどのように本発明が実行されるかを更に明らかとするよう、以下、一例として添付の図面を参照する。
【００１２】
上述されたように、ＳＩＭＤプロセッサの一使用は、（例えばビデオストリームを処理する際に）ベクトルに基づく信号処理アプリケーションにある。ＳＩＭＤプロセッサアーキテクチャは、低レベルの画素処理に関して効率的であることが知られる。ＳＩＭＤプロセッサは、クロック開閉に起因して、且つ並列処理の特有の長所から、良好な電力損失を有するが、相当な電力節約が、更に、プロセッサアーキテクチャでの電圧及び周波数のインテリジェント制御により達成される。
【００１３】
図１は、本発明に従うＳＩＭＤプロセッサアーキテクチャを示す。プロセッサアーキテクチャ２は、Ｎ＋１個の処理要素（ＰＥ）を有する線形プロセッサ配列４を有する。プロセッサアーキテクチャ２に入力されるデータストリームは、データを集めて、適切なベクトル形式に前処理し、これを入力ベクトルバッファ８に読み込む入力プリプロセッサ６を通る。バッファ８に格納されたベクトルは、並列にプロセッサ配列４へ読み出される。
【００１４】
ベクトルがプロセッサ配列４により処理されると、ベクトルは作業ベクトルメモリ１０へ送られる。処理アルゴリズムにより要求される場合に、作業ベクトルメモリ１０は、更なる処理のために配列４にベクトルデータを戻しうる。
【００１５】
ベクトルが配列４により十分に処理されると、ベクトルは、並列に、出力ベクトルバッファ１２に読み込まれる。出力ポストプロセッサ１４は、処理されたベクトルデータを読み込んで、アーキテクチャ２からの送出のために適切なデータストリームにベクトルデータを処理する。
【００１６】
通常、ＳＩＭＤプロセッサでの計算は、ベクトル(ライン)レベルでパイプライン化される。即ち、入力プリプロセッサ６が‘次’のベクトルのデータ要素を集めて、前処理する間に、線形プロセッサ配列４は‘現在’のベクトルに作用する。その間にも、出力ポストプロセッサ１４は、送出のために‘前’のベクトルのデータ要素を処理する。
【００１７】
包括的制御プロセッサ１６は、プロセッサアーキテクチャ２内のブロック間の同期を制御するよう設けられている。入力プリプロセッサ６は、新しいベクトルの到着に関して包括的制御プロセッサ１６に通知するよう要求され、包括的制御プロセッサ１６は、ベクトルの処理の完了に関して出力ポストプロセッサ１４に通知する。
【００１８】
図２は、典型的な信号処理タスクのタイミングを示すタイミング図である。入力ベクトルの到着（ｉｎ＿ｒｅａｄｙ／ｎｅｗ＿ｖｅｃｔｏｒ）は、アルゴリズム実行の開始を示す。処理の完了（ｏｕｔ＿ｒｅａｄｙ）は、出力ストリーミングを再開するよう出力ポストプロセッサ１４に命じる。待機信号は、線形プロセッサ配列４が遊休状態である期間を示す。
【００１９】
従来のＳＩＭＤプロセッサと同様に、包括的制御プロセッサ１６は、プログラムメモリ１８からの命令又はプログラムのフェッチと、線形プロセッサ配列４への命令の復号化及び発送とに関与する。包括的制御プロセッサ１６は、線形プロセッサ配列４でのタスクの処理を同期させる働きをする同期ブロック（ＳＹＮＣ）２０を有する。
【００２０】
説明を簡単にするために、包括的制御プロセッサ１６と、入力プリプロセッサ６、線形プロセッサ配列４及び出力ポストプロセッサ１４との間の接続は省略されていることが知られる。
【００２１】
本発明に従って、電力節約は、プロセッサアーキテクチャ２の構成要素をクラスタにまとめて、プロセッサアーキテクチャ内で発生した同期信号に応答して別々に夫々のクラスタの電圧及びクロック周波数を制御することにより達成される。
【００２２】
４つのクラスタが図１には示されている。明らかなように、プロセッサアーキテクチャ２は４よりも多い又は少ないクラスタに集められても良く、アーキテクチャ２の異なる構成要素は夫々のクラスタに含まれても良い。
【００２３】
第１のクラスタ２２は、入力プリプロセッサ６及び入力ベクトルバッファ８を有する。このクラスタがプロセッサアーキテクチャ２の外側の環境へ接続される場合に、その環境は、クラスタのクロック周波数、ひいては電圧に影響する。
【００２４】
第２のクラスタ２４は、出力ポストプロセッサ１４及び出力ベクトルバッファ１２を有する。先と同じく、このクラスタがプロセッサアーキテクチャ２の外側の環境へ接続される場合に、その環境は、そのクロック周波数、ひいては電圧に影響する。
【００２５】
第３のクラスタ２６は、線形プロセッサ配列４及び作業ベクトルメモリ１０を有し、第４のクラスタ２８は、包括的制御プロセッサ１６及びプログラムメモリ１８を有する。
【００２６】
代替的に、線形プロセッサ配列４、作業ベクトルメモリ１０、包括的制御プロセッサ１６及びプログラムメモリ１８は、別々のクラスタに置かれても良い。
【００２７】
ＳＩＭＤプロセッサ本体（線形プロセッサ配列４）が目下プロセッサアーキテクチャ２の外側の環境から分離されているので、線形プロセッサ配列４は、電力管理を容易にするよう制御されうる。特に、第３及び第４のクラスタ２６、２８の構成要素は、電力最適実行を達成するために、環境とは異なるクロック周波数で動作可能であり、更に、互いに異なるクロック周波数で動作可能である。
【００２８】
電力管理回路（ＰＭＧＴ）３０は、制御可能なクラスタ（即ち、表されている例では第３及び第４のクラスタ２６、２８）の夫々に対して適切なクロック周波数を決定して、それらの夫々のクロック周波数及び電圧を然るべく調整するために、包括的制御プロセッサ１６に設けられている。
【００２９】
本発明の好ましい実施例に従って、ＳＩＭＤプロセッサアーキテクチャに電力管理方式を実施するために必要とされる更なるハードウェアを減らすよう、包括的制御プロセッサ１６に内在するタスク同期は、電力管理回路３０により必要とされる情報を発生させるために使用される。
【００３０】
同期回路２０は、ベクトル移動に関するアプリケーションコードのダイナミクスが確認されることを可能にすることにより４つのクラスタ２２、２４、２６及び２８の独立動作を容易にし、それによって、動的な電圧及び周波数の調整（ＤＶＦＳ）の評価指標が導出されることを可能にする。
【００３１】
本発明に従う動的な電圧及び周波数の調整（ＤＶＦＳ）方式は、基本的には、プロセッサアーキテクチャ２の性能に影響を及ぼすことなく、電力損失を低減しながら、時間に亘るアプリケーション負荷の分布を可能にする。
【００３２】
例えば、本発明に従うＤＶＦＳ方式は、図２に示される処理周期における遊休時間を低減することができる。
【００３３】
図３は、本発明に従うプロセッサ電力管理回路３０の機能図を示す。
【００３４】
電力管理ブロック３０は、処理周期の遊休部分の平均長を計算する計算ブロック３２と、ベクトルがプロセッサアーキテクチャ２へ供給されるレートの変化を検出する検出ブロック３４と、特定のクラスタに対する新しい電圧及び周波数の設定を計算する第２の計算ブロック３６とを有する。
【００３５】
第１の計算ブロック３２は、（図２に示される）待機信号ｗｔと、プロセッサアーキテクチャ２への新しいベクトルの入力を示す信号ｒｓｔとを受信する。次に、ブロック３２は、Ｎ個のベクトル期間に亘って遊休部分の平均長を計算する。数学的に、これは、以下：
【００３６】
【数１】
2008503822.tif 000003
のように表すことができる。ブロック３２の出力、即ち、Ｎ個のベクトル期間に亘る遊休部分の平均長ｔａｖｉｄｌｅは、第２の計算ブロック３６へ供給される。
【００３７】
検出ブロック３４は、また、プロセッサアーキテクチャ２への新しいベクトルの入力を示す信号ｎｅｗ＿ｖｅｃｔｏｒを受信して、ベクトルレートが増大又は減少したかどうかを判断する。検出ブロック３４の出力は、ベクトルレートの増大又は減少の量を示す信号ｒａｔｅ＿ｃｈａｎｇｅであり、これは、第２の計算ブロック３６へ供給される。
【００３８】
第２の計算ブロック３６は、第１の計算ブロック３２の出力と、検出ブロック３４の出力と、プロセッサアーキテクチャ２により実行されるタスクの変化を示す信号ｔａｓｋ＿ｃｈａｎｇｅと、クラスタのデフォルト設定ＤＳとを受信する。
【００３９】
この表される例で、電圧は、クロック周波数の関数として考えられる。明らかなように、実際のシステムでは、電圧を決定する他の要素があっても良い。
【００４０】
ここで、クラスタのデフォルト設定は、クロック周波数がその最大値：
ｆ０＝ｆｍａｘ；Ｖ０＝ｇ（ｆ０）＝ｇ（ｆｍａｘ）
にある場合である。なお、ｇ（）は関数である。
【００４１】
次に、第２の計算ブロック３６は、以下：
ｆｉ＝ｈ（ｔａｖｉｄｌｅ，ｔｖｅｃｔｏｒｐｅｒｉｏｄ）；Ｖｉ＝ｇ（ｆｉ）
で示されるように、ｔａｖｉｄｌｅから、及びベクトル期間の長さｔｖｅｃｔｏｒｐｅｒｉｏｄから新しい動作条件を計算する。なお、ｈ（）は関数である。
【００４２】
新しい動作周波数及び電圧は、ブロック３６により出力される。
【００４３】
ｔａｓｋ＿ｃｈａｎｇｅ信号が、プロセッサアーキテクチャ２により実行されるタスクに変化があることを示す場合に、第２の計算ブロック３６は、動作条件をデフォルト値：
ｆｉ＝ｆｍａｘ；Ｖｉ＝ｇ（ｆｍａｘ）
へ再設定すべきである。
【００４４】
検出ブロック３４の出力が、ベクトルがシステムにより処理されるレートが変化したことを示す場合には、クラスタのクロック周波数は：
ｆｉ＝ｆｉ−１＋Δ；Ｖｉ＝ｇ（ｆｉ）  ベクトルレートが増大した場合
ｆｉ＝ｆｉ−１−Δ；Ｖｉ＝ｇ（ｆｉ）  ベクトルレートが減少した場合
のように、然るべく調整されるべきである。なお、Δは、ベクトルレートの変化の大きさを示す。
【００４５】
図４は、ベクトルレート変化検出ブロック３４の機能図を示す。ブロック３４は、連続したｉｎ＿ｒｅａｄｙ／ｎｅｗ＿ｖｅｃｔｏｒイベントの間の間隔であって、Ｂで表される間隔を測定するユニット３８と、遅延ユニット４０と、Ａで表される、前のベクトル間隔を記憶するラッチ４２と、ベクトルレートに変化があったかどうかを判断するようＡ及びＢを比較するユニット４４とを有する。
【００４６】
Ｂ＜Ａである場合に、ベクトルレートは増大しており、ｒａｔｅ＿ｃｈａｎｇｅ信号のフラグＣはこのことを示す。Ｂ＞Ａである場合に、ベクトルレートは減少しており、ｒａｔｅ＿ｃｈａｎｇｅ信号のフラグＤはこのことを示す。
【００４７】
タスク変化は、連続したｉｎ＿ｒｅａｄｙ／ｎｅｗ＿ｖｅｃｏｒと待機ベクトルイベントとの間の周期カウントが直接的にアルゴリズムの複雑性に関連するので、ベクトルごとのアルゴリズムの完了の時を監視することにより自動的に検出可能である。前の平均値と周期カウントを比較することにより、タスク変化が生じたかどうかが分かる。
【００４８】
図５は、タスク変化検出ブロックの機能図を示す。ブロックは、タスクを完了するために要した周期の数又は時間を測定するユニット４６を有する。タスクを完了するために要した周期の数又は時間は、ｗａｉｔ＿ｖｅｃｔｏｒ及び次のｎｅｗ＿ｖｅｃｔｏｒを受信する間の周期の数又は時間に等しい。この時間はＦで表される。ブロックは、Ｅで表される前のタスク時間を記憶するラッチ４８を更に有する。ユニット５０は、ＥとＦとの間の（Ｇで表される）差の大きさを閾値Ｔと比較する。ＥとＦとの間の差の大きさが閾値Ｔを超える場合には、即ち、タスクの１つが他のタスクよりも完了するために十分に長い時間を要する場合には、タスク変化は生じたと判断されて、信号Ｇ（ｔａｓｋ＿ｃｈａｎｇｅ）がこのことを示す。
【００４９】
上記例外（即ち、タスク及びベクトルレートの変化）は、通常、例えば、半遊休モードの間により低いデータレートで簡単なタスクを実行するカメラが、関心ある対象が視野に入ると、より高いデータレートでの複雑なタスクへと切り替わる場合のように、アプリケーションがイベントに応答する場合に起こる。タスクの複雑性は、対象の種類及び数により変化しうる。
【００５０】
ここで提案される電力管理技術は、例えば、携帯型の映像、音声又は画像の処理プラットフォームのような、電力が重要となる用途で使用される。携帯型装置における同様のＳＩＭＤプロセッサは、例えば、フロントエンドのセンサデータ処理及び表示に関連する処理のようなテレビ電話機能、又は例えばグラフィック処理のようなゲーム機能を提供することができる。
【００５１】
テレビ電話機能及びゲーム機能のために実行される実際のアルゴリズムは、環境条件及び選択された機能に依存して動的に変化しうる。プロセッサの動作条件（即ち、電圧及びクロック周波数）をアプリケーション要求に整合するよう適合させることにより、更に効率的なバッテリー利用が達成可能となる。
【００５２】
図６は、本発明に従う、クラスタの夫々で電圧及び周波数を調整するための回路のブロック図である。
【００５３】
回路は、基準クロック信号［ｆｒ］と、周波数設定Ｎ，Ｍと、供給電圧Ｖｓとを受ける周波数合成器５２を有する。周波数設定Ｎ，Ｍを用いて、周波数合成器５２は、基準クロック信号［ｆｒ］からクラスタのクロック信号［ｆｃ］を発生させる。
【００５４】
回路は、また、供給電圧Ｖｓ及び電圧設定ＶＳＥＴを受ける電圧レギュレータ５４を有する。（ＤＣ／ＤＣ変換器である）電圧レギュレータ５４は、許容範囲で電圧を発生させ、その下限は許容範囲の雑音余裕により設定され、その上限は選択されたＩＣプロセスにより設定される。電圧レギュレータ５４の出力は、クラスタの電圧Ｖｃである。
【００５５】
図７は、本発明に従うプロセッサアーキテクチャでの使用のための制御可能な周波数合成器の一実施を示す。この制御可能な周波数合成器は、従来の位相／周波数ロックループ（ＰＬＬ／ＦＬＬ）に基づく。合成器は、第１及び第２の周波数分割器５６及び５８と、位相／周波数検出器６０と、低域通過フィルタ６２と、電圧制御発振器（ＶＣＯ）６４とを有する。
【００５６】
第１の周波数分割器５６は、周波数設定Ｍによりクロック基準信号［ｆｒ］を分割し、その出力を位相／周波数検出器６０へ供給する。第２の周波数分割器５８は、周波数設定Ｎによりクラスタクロック信号［ｆｃ］を分割し、その出力を位相／周波数検出器６０へ供給する。
【００５７】
位相／周波数検出器６０、低域通過フィルタ６２及び電圧制御発振器６４は、例えば従来の位相ロックループと同様に、共に接続されている。電圧制御発振器６４の出力は、クラスタクロック信号［ｆｃ］である。
【００５８】
原理上は、クラスタクロック信号［ｆｃ］を発生させるこのアプローチは、低域通過フィルタ６２及び電圧制御発振器６４がアナログ回路を用いて実現される場合に、良好な周波数分解能を提供することができる。しかし、外部の構成要素及びＰＬＬダイナミクスの必要性により、それは魅力的なアプローチには見えない。
【００５９】
図８は、本発明に従うプロセッサアーキテクチャでの使用のための周波数合成器の代わりの実施を示す。この合成器は、開ループ周波数合成（ＯＬＦＳ）技術を用いる。この技術は、図７で示された周波数合成器に関連する欠点の多くを解決する。
【００６０】
この合成器は、周期カウンタ６８及びパルス発生器７０へ接続されたリング発振器６６を有する。周期カウンタ６８は、クロック基準信号［ｆｒ］と、リング発振器６６により発生した周波数［ｆｏ］とを受信して、周期信号Ｐを発生させる。パルス発生器７０は、［ｆｏ］、Ｐ並びに周波数設定Ｍ及びＮを受信して、所望のクラスタ周波数［ｆｃ］の２倍の周波数で信号を発生させる。デューティーサイクル補正器７２は、パルス発生器７０により生成された信号を補正して、クラスタ周波数［ｆｃ］を供給する。
【００６１】
この周波数合成器は、プロセッサアーキテクチャ２の動作に関して以下の過程を用いる。第１に、動的電力管理のための周波数適合は高い分解能を有する必要がない。タスクが時間内に完了されることを可能にするクロック信号を得るよう処理エンジンが制御されれば十分である。最下位のＭＨｚ／ｋＨｚ範囲へと最適化することにより実現される電力の更なる節約は必要とされない。第２に、処理エンジンは既知の最大性能により設計されるので、リング発振器の周波数はこの最大に設定可能であり、電力管理の間に必要とされるのは、より低い周波数クラスタクロックを発生させる周波数分割器のみで良い。
【００６２】
周期カウンタ６８は、基準クロック信号［ｆｒ］と、クラスタクロック信号［ｆｃ］との間の関係を作ることに寄与する。ＳＩＭＤアーキテクチャでは、基準クロック信号［ｆｒ］は、外部環境へ連結される入出力信号でありうる。
【００６３】
従って、従来のプロセッサアーキテクチャと比較して電力消費を低減することが可能な単一命令／多数データ（ＳＩＭＤ）プロセッサアーキテクチャのための電力管理技術が提供される。
【００６４】
留意すべきは、上記実施例は、本発明を限定するものではなく説明するものであって、且つ、当業者には添付の特許請求の範囲により定義される本発明の適用範囲を損なわない範囲で多数の代わりの実施例を設計することが可能である点である。特許請求の範囲で、括弧内の如何なる参照符号も、特許請求の範囲を限定するよう解釈されるべきではない。語「有する」及びそれと同様の語は、全体としていずれかの請求項又は明細書で挙げられている以外の要素又はステップの存在を除外しているわけではない。要素の単数参照は、このような要素の複数参照を除外しているわけではなく、逆もまた同様である。本発明は、幾つかの個別要素を有するハードウェアを用いて、且つ適切にプログラムされたコンピュータを用いて実施されても良い。幾つかの手段を列挙する請求項において、それらの手段の幾つかは、ハードウェアの同一の物品により具体化されても良い。ある手段が複数の従属請求項に挙げられているという単なる事実は、それらの手段の組み合わせが有利に用いられないということを示しているわけではない。
【図面の簡単な説明】
【００６５】
【図１】本発明に従うＳＩＭＤプロセッサアーキテクチャのブロック図である。
【図２】作動状態処理期間と遊休状態処理期間との間の関係を表すタイミング図である。
【図３】本発明に従うプロセッサ電力管理ブロックの機能図である。
【図４】ベクトルレート変化検出ブロックの機能図である。
【図５】タスク変化検出ブロックの機能図である。
【図６】本発明に従う、クラスタの夫々で電圧及び周波数を調整するための回路のブロック図である。
【図７】本発明に従うプロセッサアーキテクチャでの使用のための周波数合成器の一実施を示す。
【図８】本発明に従うプロセッサアーキテクチャでの使用のための周波数合成器の代わりの実施を示す。
【図１】
2008503822.tif 000004
【図２】
2008503822.tif 000005
【図３】
2008503822.tif 000006
【図４】
2008503822.tif 000007
【図５】
2008503822.tif 000008
【図６】
2008503822.tif 000009
【図７】
2008503822.tif 000010
【図８】
2008503822.tif 000011
【国際調査報告】
2008503822.tif 000012
2008503822.tif 000013