(57)【要約】この発明は、デジタル信号プロセッサならびに並列的な論理演算ユニット内で機能する、それぞれ閉じた、互いに分離したプログラムフロー制御用およびデータフロー制御用モジュールを持つプロセッサでのプログラムフローおよび／またはデータフローの機能制御方法に関する。エネルギー消費に関連して、プロセッサのユニットを、時間遅延無く、その時点の信号処理要求に整合させるとともに、アルゴリズムにもとづき機能ユニットを停止させることにより、プロセッサにおける一層のエネルギー節約能力を開発する形で、プロセッサの機能方法を拡張させるとの、この発明の設定課題は、各機能ユニットを使用していない時間に対して、外部からプロセッサへのハードウェアによる信号入力またはプロセッサのプログラムフローからのソフトウェアによる状態出力により、その機能ユニットへのクロック供給を停止することによって解決される。
2005525648.tif 000002
【特許請求の範囲】
【請求項１】
デジタル信号プロセッサならびに並列的な論理演算ユニット内で機能する、それぞれ閉じた、互いに分離したプログラムフロー制御用およびデータフロー制御用モジュールを持つプロセッサでのプログラムフローおよび／またはデータフローの機能制御方法において、機能ユニットを使用しない時間に対して、外部からプロセッサ（１）へのハードウェアによる信号入力またはプロセッサ（１）のプログラムフローからのソフトウェアによる状態出力によって、その機能ユニットに対するクロック供給を停止することを特徴とする方法。
【請求項２】
「全面的な停止」状態では、プロセッサ（１）の外部端子またはレジスタへの信号印加によって、第一および／または第二ゲートクロックセル（３），（４）によりプロセッサ（１）の各クロック供給ゲートへの直接的なクロック供給を停止する形で、プロセッサが、全体的に停止されることと、
プロセッサ（１）が、割り込み処理ユニットを含むすべての機能ユニットならびにデータメモリとプログラムメモリにおいて信号処理を実行しない「全面的なＤＳＰ停止」状態を取り、その際この作動させたプロセッサ（１）の外部全面停止信号入力（１１）またはレジスタへの信号印加を止めることによってのみ、この「全面的なＤＳＰ停止」状態が再び解除されることとを特徴とする請求項１に記載の方法。
【請求項３】
プロセッサ（１）の「全面的な停止」状態が作動された場合、データメモリおよび／またはプログラムメモリを除いて、プロセッサ（１）が、全体的に停止されることを特徴とする請求項１または２に記載の方法。
【請求項４】
プログラム側から停止命令が生起された場合、その停止命令は、ＰＣＵ（６）によって検知されて、復号され、そして各ＤＰ（データパス）（１４）と同じく別の処理ユニット（９）のクロック供給ゲートである第一および／または第二ゲートクロックセル（３），（４）を用いて、クロック供給を停止し、そのことによって一定の機能ユニットにおける信号処理を実行しないようにする形で、「ソフトウェアによる停止」状態が作動され、その際別の機能ユニットおよび外部機器とのデータ交換用データメモリインタフェースが動作したままであることを特徴とする請求項１に記載の方法。
【請求項５】
新しいＶＬＩＷを構成するための命令処理の間に、特別な接続を介して、ＶＬＩＷユニット（２）からＰＣＵ（６）に、複数クロックに渡る命令構成時間が伝達され、そのことによってＰＣＵ（６）は、各ＤＰ（１４）の入力レジスタと出力レジスタならびに更にこのＶＬＩＷの構成に関与しないすべての機能ユニットに対するクロック供給を停止する「パイプライン停止」状態を作動する形で、機能ユニットでの信号処理を停止し、その際この状態は、いかなるソフトウェアコマンドによっても影響を受けないことを特徴とする請求項１に記載の方法。
【請求項６】
第一または第二スライス（１９），（２０）の各ＤＰ（１４）での命令形式のＳＩＭＤを用いた並列的な信号処理の間に、ＰＣＵ（６）が、ＳＳＭレジスタバンク（１３）からそれぞれ出力される「シングルスライス停止」状態を用いて、関連する各スライスの信号処理を個々に停止するとともに、ＰＣＵ（６）の命令を変換するＳＳＭレジスタバンク（１３）が、このＳＳＭレジスタバンク（１３）の割り当てられたビットを介して、各スライスを作動させる形で、これらのスライスを個々に制御することと、
各第一および第二ゲートクロックセル（３，４）を介して、ＤＰ（１４）のレジスタへのクロック供給が、開始および停止されることと、
このクロック供給の開始および停止は、実行する信号処理に応じて、ＳＳＭレジスタバンク（１３）のレジスタによって、入力レジスタおよび／またはアキュムレータ（８）ならびにパイプライン制御レジスタを持つ個々の各スライスの機能を一時的に停止し、その後再び作動させる形で行われることと、
この場合、プロセッサ（１）のレジスタファイルユニット（ＲＦＵ）（１８）とメモリアクセスレジスタは、常時動作したままであり、ＰＣＵ（６）は、常にＳＳＭレジスタバンク（１３）に書き込み可能であることとを特徴とする請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、デジタル信号プロセッサならびにそれぞれ閉じた、互いに分離されたプログラム制御用およびデータフロー制御用モジュールを持つプロセッサにおけるプログラムフローおよび／またはデータフローの機能制御方法に関する。高速デジタル信号プロセッサ（ＤＳＰ）、特に並列データ処理用の特徴的なデータパス構造を持つ、そのようなプロセッサでは、信号処理の間に、プロセッサの一定のモジュールにおいて、高いエネルギー消費が起こる。
【背景技術】
【０００２】
一方におけるプロセッサの信号処理速度に対する高い要求と、他方におけるプロセッサをコンパクトにして持ち運んで動作させる機器として使用し、その際バッテリー（充電池）駆動による長いスタンバイ時間と動作時間を実現するという要求は、まさに開発方向における矛盾を孕んでいる。
【０００３】
この矛盾を解決するために、従来技術では、基本的なエネルギー節約技術を用いる以外に、プロセッサ全体のエネルギー消費を低減するために、主にクロックレイトを信号処理タスクに整合させている（スピードステップ［登録商標］モード）。すなわち、プロセッサのスタンバイまたは低負荷時には、クロックレイトを段階的に元に戻している。信号処理に対する絶え間のない性能要求がある場合には、最大限に高いクロックレイトにまでの逆のシーケンスが執られる。
【０００４】
このエネルギー消費を低減するための措置は、要求された信号処理に対する効率的な整合が、常に時間的な遅れを伴ってのみ行われるという欠点を持つ。更に、一定の機能ユニット、特に高い電力消費を伴う機能ユニットに対する特別な整合は、それによっては達成されない。
【０００５】
すなわち、外部からの信号印加によって、リアルタイムなエネルギー低減を実行するような信号プロセッサは、従来技術では知られていない。
【０００６】
更に、周知のエネルギー節約方法では、アルゴリズムに関連して機能ユニットを停止させることは可能ではなく、その結果異なる機能ユニットにおいて、一定のアルゴリズムが進行している間に、エネルギー消費が集中するモジュールを一時的に停止させることによる一層のエネルギー節約効果を最大限に獲得することができないという欠点がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この発明の課題は、エネルギー消費に関連して、プロセッサのユニットを、短い時間遅延または時間遅延無しに、その時点における信号処理要求に整合させるとともに、プロセッサにおいて、アルゴリズムに関連して機能ユニットを停止させることによって、一層のエネルギー節約能力を開発する形で、プロセッサの動作方法を拡張することである。
【課題を解決するための手段】
【０００８】
この発明にもとづく設定課題の解決法は、機能ユニットを使用していない時間に対して、外部からプロセッサへのハードウェアによる信号入力によって、またはプロセッサのプログラムフローからのソフトウェアによる状態出力によって、機能ユニットに対するクロック供給を停止することによって達成している。
【０００９】
この発明による方法の有利な実施形態は、プロセッサの外部端子またはレジスタに信号を印加することによって、プロセッサを全体的に停止して、「全面的な停止(Global Halt) 」状態にすることである。
【００１０】
そうすることで、プロセッサの各機能ユニットのクロック供給ゲートへの直接的なクロック供給が、第一および／または第二ゲートクロックセル(Gated-Clock-Zelle) によって停止され、プロセッサは、割り込み処理ユニットを含むすべての機能ユニットならびにデータメモリ・プログラムメモリにおいて、信号処理が実行されない「全面的なＤＳＰ停止(Global-DSP-HALT) 」状態となる。
【００１１】
「全面的なＤＳＰ停止」状態は、作動させたプロセッサの外部端子またはレジスタへの信号印加を止めることによってのみ、再び解除される。
【００１２】
この解決法により、エネルギー消費をプロセッサ毎に実行される信号処理に遅延無く、直接的で、かつ正確に整合させることができる。そうしなければ、例えば、ＮＯＰ（ノーオペレーション）命令の実行により発生する待ち時間にプロセッサが消費したであろう損失電力を回避することによって、エネルギー効率が良くなる形で短時間に変化する信号処理要求に整合させて、大きなエネルギー節約効果を達成することも可能である。
【００１３】
この発明による方法の特に有利な実施形態は、プロセッサの「全面的な停止」状態を作動させた場合、データメモリおよび／またはプログラムメモリを除いて、プロセッサを全体的に停止することである。
【００１４】
この解決法は、プロセッサの「全面的な停止」状態の間にプログラムメモリを活性化しておくことによって、プログラムメモリをリロード可能とするとともに、ブート可能とすることを目的としている。
【００１５】
プロセッサの「全面的な停止」状態の間にデータメモリを活性化しておくことによって、例えば、試験目的のために、データメモリを読み出すことができる。
【００１６】
この方法の別の変化形態は、プログラムの側で停止命令が発生した場合、ＰＣＵ（プログラム制御ユニット）が、「ソフトウェアによる停止」状態を作動させることである。
【００１７】
これは、プログラムの進行中に、停止命令を検知したＰＣＵが、この停止命令を復号し、それによって次に各ＤＰ（データパス）と同じく別の処理ユニットのクロック供給ゲートである第一および／または第二ゲートクロックセルを用いて、クロック供給を停止することによって実現される。
【００１８】
そうすることによって、別の機能ユニットおよび外部機器とのデータ交換用データメモリインタフェースを動作させたままで、これらの一定の機能ユニットでの信号処理を実行させないようにしている。
【００１９】
この解決法は、エネルギー消費をプロセッサでの信号処理タスクに正確に整合させることを目的としている。この場合においても、エネルギー効率が良くなる形で短時間で変化する信号処理要求への整合が実現されている。
【００２０】
しかし、この整合は、ソフトウェアにもとづき、大量のエネルギーを必要とする一定の停止対象の機能ユニットを目標として適用することができる。例えば、信号処理の際に、大きな電力損失を起こさない、および／または高速通信のために、必ずしも大きな電力損失を起こさない、その他の機能ユニットを動作させたままとする。
【００２１】
この発明による設定課題の解決法の特別な実施形態は、新しいＶＬＩＷ（超長命令語）を構成するための命令処理（すなわち、この命令が「パイプライン内」にある）の間、その機能ユニットでの信号処理を停止することである。
【００２２】
この場合、ＶＬＩＷユニットからＰＣＵに、特別な接続を介して、複数クロックに渡る命令構成時間が伝達される。
【００２３】
こうすることによって、ＰＣＵは、「パイプライン停止」状態を作動させ、この状態では、各ＤＰの入力レジスタと出力レジスタおよび更にＶＬＩＷの構成に関与しないすべての機能ユニットに対するクロック供給が停止される。
【００２４】
この場合、この状態は、いかなるソフトウェアコマンドによっても影響を受けることはない。
【００２５】
この発明による設定課題の解決法の特別な変化形態は、プロセッサアーキテクチャがスライス構造を持つプロセッサに関する。
【００２６】
この場合、データパスをスライスに統合しており、その際第一スライスでは、第二スライスでの並列的に進行する信号処理プロセスと独立して、その時々に割り当てられたビット幅で、信号処理プロセスが実行される。
【００２７】
これらの並列的な信号処理プロセスは、各スライスに関連するＤＰにおいて、命令形式のＳＩＭＤにより実行される。これらのスライスにおける信号処理は、ＳＳＭ（シングルスライスモード）レジスタバンクからそれぞれ出力される「シングルスライス停止」状態を用いて、ＰＣＵによって個々に停止される。
【００２８】
これらのスライスは、ＰＣＵの命令を変換するＳＳＭレジスタバンクが、ＳＳＭレジスタバンクの割り当てられたビットにもとづき、各スライスを作動させる形で、個々に制御される。
【００２９】
ＤＰのレジスタへのクロック供給は、各ゲートクロックセルによって、開始／停止される。
【００３０】
これは、発生する信号処理に応じて、ＳＳＭレジスタが、入力レジスタおよび／またはアキュムレータならびにパイプライン制御レジスタを持つ個々の各スライスの機能を一時的に停止し、その後再び開始するという形で実行される。
【００３１】
この場合、プロセッサのレジスタファイルユニット（ＲＦＵ）およびメモリアクセスレジスタは、常時動作したままであり、ＰＣＵは、常にＳＳＭレジスタバンクに書き込み可能である。
【００３２】
この特別な解決法は、スライスでは、命令形式のＳＩＭＤに対応して、個々の演算を並列的に実行するが、演算の進捗とその結果は、ＳＳＭレジスタバンクの設定によって制御し、そうすることによって異なる時点における結果をアキュムレータまたは結果レジスタに提供することを目的としている。
【００３３】
従って、エネルギー節約のために、個々のスライスでの結果値の提供後では、もはや結果を生まない信号処理は、別のＳＩＭＤ命令によって更にスライスで並列的に処理されることとなるまで、停止することができる。
【発明を実施するための最良の形態】
【００３４】
以下において、実施例にもとづき、個々の停止状態に関して、この発明をより詳しく説明する。
【００３５】
「全面的な停止」状態によるエネルギー節約作用の場合には、ＲＦＵ１８からデータパス１４の各入力および別の処理ユニット９の入力に演算データを提供することから始まる。
【００３６】
所要の信号印加により外部信号を印加すると、この外部信号は、全面停止配線１５を介して、第一と第二ゲートクロックセル３；４に印加されることとなる。
【００３７】
この信号印加は、プロセッサ１の各データパスＤＰ４および別の処理ユニット９に対するクロック供給を中断させる。この全面停止信号の解除後には、直ぐに機能ユニットへのクロック供給が再開される。
【００３８】
「ソフトウェアによる停止」状態の場合、ＰＣＵ６は、入力された命令を解析して、停止命令であることを検知する。それによって、ＰＣＵは、それぞれ第一と第二ゲートクロックセル３；４と接続したプログラム停止配線１６を作動させる。
【００３９】
第一と第二ゲートクロックセル３；４を介した、プログラム停止配線１６への信号印加によって、一定の機能ユニットに対するクロック供給だけが開始・停止される。
【００４０】
このようにして、制御対象の各データパスＤＰ１４と別の機能ユニット９における信号処理をソフトウェアにより制御しており、その際ソフトウェア命令によって信号処理を開始・停止することができる一定の機能ユニットの選択をハードウェア構成で実現している。同時に、このソフトウェアによる制御に関わらず、プロセッサ１の別の機能ユニットおよび外部機器との信号処理用メモリインタフェースを動作させたままとすることが保証される。
【００４１】
「パイプライン停止」状態の出力による、機能ユニットにおける信号処理のエネルギー節約制御の場合、特別な接続を介して、ＶＬＩＷユニット２からＰＣＵ６に、信号処理停止時間が伝達される。
【００４２】
この時間の間に、ＶＬＩＷユニット２において、それぞれ一つの新しいＶＬＩＷが構成される。この構成時間内において、一つの新しい命令の出力が可能ということではない。それゆえ、この時間を、エネルギー節約のためにも利用することとし、プログラム停止配線１６を活性化することによって、このデータパスでの信号処理を停止しており、その際この配線を介して、各データパスＤＰ１４の第一および／または第二ゲートクロックセル３；４への信号印加を行っている。
【００４３】
このようにして、データパスＤＰ１４において、エネルギーを節約する形で、信号処理を停止している。
【００４４】
「信号スライス停止」状態の出力を、エネルギーを節約する形で作用させる場合には、ＳＩＭＤバス１２を介して、ＶＬＩＷユニット２からＳＩＭＤ命令を出力させることが前提となる。この個々のＳＩＭＤ命令は、第一または第二スライス１９；２０にそれぞれ関連するデータパス１４における多重データ処理を作動させる。これらのスライスでの結果は、異なる時点で、それぞれ関連するアキュムレータ８に提供される。
【００４５】
これによって、第一または第二スライス１９；２０のデータパス１４に割り当てられた、ＳＳＭレジスタバンク１３の各ビットが、セットされる。
【００４６】
これらのデータパス１４に結果が現れた場合に、それに関連する入力レジスタへのクロック供給とそのために信号処理をも停止する形で、このビットにおける信号印加は、第一または第二スライス１９；２０の各データパス１４に関連する第一および／または第二ゲートクロックセル３；４に供給されて、データパス１４での信号処理を個々に制御するものである。
【００４７】
例えば、それぞれ第一または第二スライス１９；２０で処理された結果が最終的にデータパス１４に提供された後に、ＳＩＭＤバス１２上に別のＳＩＭＤ命令が出力された場合、ＳＳＭレジスタバンク１３の割り当てられたビットは、リセットされて、スライスのすべてのデータパスは、その入力レジスタにおけるＲＦＵ１８から提供されたデータを読み出すことによって、次の信号処理を開始する。
【図面の簡単な説明】
【００４８】
【図１】この発明によるエネルギー管理に必要な関連する機能ユニットに関して部分的に実現したプロセッサのブロック図。
【符号の説明】
【００４９】
１    プロセッサ
２    ＶＬＩＷ（超長命令語）ユニット
３    第一ゲートクロックセル
４    第二ゲートクロックセル
５    ＡＧＵ（アドレス生成ユニット）
６    ＰＣＵ（プロセス制御ユニット）
７    クロック供給配線
８    アキュムレータ
９    （ゲートクロックセルを持つ）別の処理ユニット
１０    別の処理ユニットのレジスタ
１１    外部全面停止信号入力
１２    ＳＩＭＤ命令バス
１３    ＳＳＭ（シングルスライスモード）レジスタバンク
１４    データパス
１５    全面停止配線
１６    プログラム停止配線
１７    ＳＩＭＤデータパス制御配線
１８    ＲＦＵ（レジスタファイルユニット）
１９    第一スライス
２０    第二スライス
2005525648.tif 000003
【国際調査報告】
2005525648.tif 000004
2005525648.tif 000005
2005525648.tif 000006
2005525648.tif 000007
2005525648.tif 000008
2005525648.tif 000009