(57)【要約】本発明は、データ処理回路で入力データ・パターンを処理し、前記データ処理回路の処理活動に依存する処理遅延の後で出力データ・パターンを出力する方法およびデータ処理回路に関する。ここで、処理遅延は入力パターンに基づいて推定され、処理は推定された処理遅延に応じて制御される。処理の制御は、活動の監視に基づく電力制御でもよい。あるいはパイプライン構造におけるクロック制御でもよい。したがって、処理回路の現在の活動を導出し、回路の動作条件を要求に動的に適応させる効率的な解決策が提供される。
2006500813.tif 000002
【特許請求の範囲】
【請求項１】
入力データ・パターンを処理し、前記データ処理回路の処理活動に依存する処理遅延の後で出力データ・パターンを出力するデータ処理回路であって、
ａ）前記入力データ・パターンに基づいて前記処理遅延を推定する推定の手段と
ｂ）前記推定された処理遅延に応じて前記データ処理回路の前記処理を制御する制御手段を備えることを特徴とする回路。
【請求項２】
前記推定の手段は、前記推定された処理遅延を格納するルックアップ・テーブルを備えることを特徴とする請求項１に記載の回路。
【請求項３】
前記ルックアップ・テーブルは、前記入力データ・パターンによってアドレスされ、前記推定された処理遅延を出力することを特徴とする請求項２に記載の回路。
【請求項４】
前記推定の手段は、前記入力データ・パターンによってプログラムされたプログラム可能な遅延ラインを備えることを特徴とする前記請求項のいずれか一項に記載の回路。
【請求項５】
前記プログラム可能な遅延ラインは、前記推定された処理遅延が終了した後で出力信号を生成するように適合されることを特徴とする請求項４に記載の回路。
【請求項６】
前記推定の手段は、一連の入力データ・パターンに基づく前記処理遅延を推定するように適合されることを特徴とする前記請求項のいずれか一項に記載の回路。
【請求項７】
前記制御手段は、前記推定された遅延から前記処理の活動を導き、前記導かれた処理の活動に応じて前記データ処理回路への電力供給を制御するように調整されることを特徴とする前記請求項のいずれか一項に記載の回路。
【請求項８】
前記制御手段は、前記推定された処理遅延に応じて前記データ処理回路へのクロック供給を制御するように適合されることを特徴とする請求項１から６のいずれか一項に記載の回路。
【請求項９】
前記データ処理回路はパイプライン構造を備えており、前記制御手段は前記パイプライン構造のステージごとに前記クロック供給を選択的にゲート制御するように適合されることを特徴とする請求項８に記載の回路。
【請求項１０】
前記制御手段は、前のステージで有効な出力信号が生成され、後のステージで前記出力信号が格納された場合に、前記クロック供給のゲート制御を解除する（ｕｎｇａｔｅ）ように調整されることを特徴とする請求項９に記載の回路。
【請求項１１】
前記推定された処理遅延は、前記クロック信号のサイクル数として表されることを特徴とする前記請求項のいずれか一項に記載の回路。
【請求項１２】
入力データ・パターンの処理を制御する方法であって、前記処理の活動に依存する処理遅延の後で事前に指定した出力データ・パターンが生成され、
ａ）前記入力データ・パターンに基づいて前記処理遅延を推定するステップと
ｂ）前記推定された処理遅延に応じて前記処理の制御を実行するステップを備えることを特徴とする方法。
【請求項１３】
前記処理の制御は、活動の監視に基づく電力制御であることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記処理の制御は、同期パイプライン構造へのクロック供給の制御であることを特徴とする請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理回路で入力データ・パターンを処理し、前記データ処理回路の処理活動に依存する処理遅延の後で出力データ・パターンを出力する方法およびデータ処理回路に関する。
【背景技術】
【０００２】
集積システムが、ある範囲の応用分野に導入され、広範な制御機能を請け負っている。一般に、プロセス間の強力で動的な接続には固有の制御が必要である。個々のプロセスが安定している場合でも、接続したプロセスが安定しているとは限らない。したがって、パフォーマンス低下を最小限に抑えた、最適な電力供給を行う信頼できる動作を保証するために、システム・アーキテクチャと制御パフォーマンスとの関係を決定する必要がある。
【０００３】
現行の集積システムで電力の浪費を減らすために、非常に効率的な解決策は、こうしたシステムの現在の活動を何らかの形で推測（guess）または演繹（deduce）し、システムの動作条件（電力供給や周波数など）をその要求に動的に適応させることである。このように、システムに対して必要な電力だけを提供できる。つまり、活動レベルが高い場合は多くの電力を供給し、活動レベルが低い場合は少ない電力を供給することができる。
【０００４】
さらに、パイプライン・システムでは、個々の作業条件と個々の入力パターンについて、パイプライン処理構造の各ステージでその動作が正確に完了するために十分な時間がとれるように、クロック信号の周波数を選択する必要がある。しかし、一般的なパイプラインのステージでは、出力生成時に現在の入力パターンに依存する遅延を伴うことがよく知られている。このように、同期システムで採用する標準的なパイプライン戦略では、この挙動を考慮できない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、本発明の目的はデータ処理回路と処理制御方法を改良し、これらを使用して集積システムのさまざまな動作条件を現在のシステム活動に動的に適応することができるようにすることである。
【課題を解決するための手段】
【０００６】
この目的は、請求項１に記載するデータ処理回路と請求項１２に記載する処理制御の方法によって達成される。
【０００７】
したがって、入力データ・パターンに基づいて処理遅延が推定され、システム活動に関する情報が得られる。新しい入力パターンを受け取るたびに、特定の遅延の後で出力パターンが生成される。この遅延は、新しい入力パターンによって導入または誘導される処理の活動に依存する。したがって、遅延が最大になる入力パターンではモジュール内で最大の活動が発生する可能性が非常に高いと結論できる。これで、推定された活動を使用して、集積システムの電力供給、クロック周波数などの動作条件またはパラメータを最適化できる。
【０００８】
こうして、現在のシステム設計にも採用でき、さまざまな規模のシステムに合わせて拡大または縮小でき、さまざまなシステム・パラメータに関連するシステム・パフォーマンスを向上するシンプルな技術が提供される。
【０００９】
さらに、提示された推定を任意の標準設計の上に実装できるという事実により、標準ツールおよび標準設計との互換性を提供できる。
【００１０】
推定の手段は、推定された処理遅延を格納するルックアップ・テーブルを備えていてもよい。あるいは、推定の手段は入力データ・パターンによってプログラムされたプログラム可能な遅延ラインを備えていてもよい。最初のケースでは、ルックアップ・テーブルは推定された処理遅延を出力するために入力データ・パターンによってアドレスすることができる。後のケースでは、プログラム可能な遅延ラインは処理遅延の有効期限が切れると出力信号を生成するように適合させることができる。
【００１１】
推定の手段は、一連の入力データ・パターンに基づいて処理遅延を推定するように適合させることができる。したがって、活動とその展開を予測できる。
【００１２】
制御手段は、推定された遅延から処理の活動を導き、導かれた処理の活動に応じてデータ処理回路への電力供給を制御するように調整してもよい。したがって、電力供給をシステムの動作条件に動的に適応させることができる。
【００１３】
別の動作パラメータまたは動作条件の例として、制御手段は推定された処理遅延に応じてデータ処理回路へのクロック供給（ｃｌｏｃｋ  ｓｕｐｐｌｙ）を制御するように適合させることができる。それによって、パイプライン構造の各ステージの処理遅延に基づいて各ステージのクロック供給を選択的にゲート制御（ｇａｔｅｄ）してもよい。したがって、あらゆる動作条件とあらゆる入力パターンについて、パイプラインの各ステージでその動作を正しく完了するための十分な時間がとれる。特に、制御手段は、前のステージで有効な出力信号が生成され、後のステージでこの出力信号が格納された場合に、クロック供給のゲート制御を解除する（ｕｎ−ｇａｔｅ）ように調整してもよい。推定された処理遅延は、クロック信号のサイクル数で表現してもよい。
【００１４】
以下で、本発明について、好ましい実施形態に基づき、添付の図面を参照しながら、さらに詳細に説明する。
【発明を実施するための最良の形態】
【００１５】
ここで、第１の好ましい実施形態について、図１に示す処理スキームに基づいて説明する。
【００１６】
図１によると、入力データ・パターン「ｉ［ｉ−１］」が一般的な論理モジュール２０に提供されている。一般的な論理モジュール２０が入力データ・パターン「ｉ［ｉ−１］」を受け取るたびに、特定の遅延の後で新しい出力パターン「ｏ［ｉ−１］」が生成される。一般的な論理モジュール２０は、提供された入力データ・パターンに基づいて出力データ・パターンを生成するように調整された任意の種類のデータ処理デバイスまたは回路でよい。
【００１７】
第１の好ましい実施形態によると、一般的な論理モジュール２０の処理遅延は、一般的な論理モジュール２０に関して推定された処理遅延を格納するルックアップ・テーブル３０のようにプログラム可能なメモリ・デバイスを使用して入力データ・パターン「ｉ［ｉ−１］」に基づいて推定される。推定された処理遅延を格納するルックアップ・テーブル３０は、論理回路設計時に制御下にある一般的な論理モジュール２０のシミュレーションに基づいて容易に生成できる。したがって、対応する遅延の値「ａ［ｉ−１］」または遅延の値「ａ［ｉ−１］」に基づく対応する活動の値を出力するルックアップ・テーブル３０をアドレスできるように、入力データ・パターン「ｉ［ｉ−１］」はルックアップ・テーブル３０にも提供される。さらに、処理スキームはレジスタ１０のクロック入力に提供されるクロック信号「ｃｌｋ」に応じて新しい入力データ・パターン「ｉ［ｉ］」を格納するラッチまたはレジスタ１０を備えている。こうして、前の入力データ・パターン「ｉ［ｉ−１］」の処理遅延の間に新しい入力データ・パターン「ｉ［ｉ］」を格納できる。
【００１８】
前述の処理回路１００の変形または代替として、次の入力データ・パターンまたは新しい入力データ・パターン「ｉ［ｉ］」を使用し、遅延の値「ａ［ｉ−１］」を生成するためにルックアップ・テーブル３０をアドレスすることができる。この場合に、この遅延の値「ａ［ｉ−１］」は一般的な論理モジュール２０で次の入力パターン「ｉ［ｉ］」を処理するための遅延の予測に対応する。
【００１９】
別の変形として、ルックアップ・テーブル３０がプログラム可能な遅延ラインで置き換えてもよい。一般的な論理モジュール２０の処理遅延の推定された遅延の値に対応する事前に指定した遅延の後で信号を出力できるように、遅延ラインは現在の入力データ・パターンまたは次の入力データ・パターンに基づいてプログラムしてもよい。
【００２０】
したがって、処理回路１００は、遅延の値「ａ［ｉ−１］」を追加の出力として提供し、遅延の予測に基づいて活動の監視を行うように適合される。
【００２１】
図２は、前述の処理回路１００を使用したフィードバック制御ループの例を示している。図２によると、遅延の値「ａ［ｉ−１］」を評価するフィードバック・ループに電力制御装置（ｐｏｗｅｒ  ｃｏｎｔｒｏｌ  ｕｎｉｔ）３５が配置されており、処理回路１００に供給される制御出力「Ｃ［ｉ−１］」を生成し、さらに個々の処理装置、特に一般的な論理モジュール２０への電力供給を制御する。このように、遅延の予測に基づいて判断した一般的な論理モジュール２０の活動に基づいて、処理回路１００への電力供給または他の任意の動作条件を制御してもよい。
【００２２】
モニター処理の粒状性または解像度は、ルックアップ・テーブル３０に格納された値の解像度の変化に応じて変化する。さらに、遅延の値が一連の入力データ・パターン「ｉ［ｉ］」．．．「ｉ［ｉ＋ｎ］」に基づいて生成できることに留意されたい。ただし、レジスタ１０または遅延テーブル３０は、複数の連続する入力パターン「ｉ［ｉ］」．．．「ｉ［ｉ＋ｎ］」を評価するために、この一連のパターンを格納するように調整してもよい。こうした評価は、連続する入力データ・パターン「ｉ［ｉ］」．．．「ｉ［ｉ＋ｎ］」の論理的な処理または比較に基づいて実行できる。
【００２３】
以下で、パイプライン構造のクロック信号を動的に調整する例として、第２の好ましい実施形態について説明する。標準的なパイプラインの方法には、パイプラインの各ステージですべての処理要素（たとえばフリップフロップ）を制御するグローバル・クロックが採用されている。
【００２４】
図３に、入力信号「ｉ」が提供され、出力時にはステージの数に対応する事前に指定したクロック・サイクル数の後で出力信号「ｏ」が生成されるパイプラインの複数のステージＡ、Ｂ、およびＣを備える標準的なパイプライン・スキームを示す概略図である。クロック信号「ｃｌｋ」はパイプラインのステージＡ、Ｂ、およびＣに同時に並行して提供されるので、各ステージのクロックは同じタイミングである。したがって、パイプラインの各ステージでそれぞれの動作を完了するのに十分な時間がとれるようなクロック信号「ｃｌｋ」の周波数を選択する必要がある。
【００２５】
図４は、第２の好ましい実施形態によるパイプライン構造を示すブロック図である。提示されたパイプライン構造では、パイプラインの個々のステージに関する遅延の予測に基づいて、同期パイプライン回路のデータに依存する挙動を利用する。グローバル・クロック信号「ｃｌｋ」は、パイプラインのステージごとに現在の入力パターンに依存して選択的にゲート制御される。したがって、パイプラインのステージがその動作を正しく完了しない場合に、各ステージで有効な出力が作成され、次のステージで新しい結果が保存されるまで、パイプライン・クロック・ジェネレータ４０はグローバル・クロック信号「ｃｌｋ」のそれぞれの供給を抑制またはゲート制御するように適合される。
【００２６】
図５は、図４に示す提示されたパイプライン構造の個々のステージを示すさらに詳細なブロック図である。図５によると、パイプライン・クロック・ジェネレータ４０は、クロック・ゲート４１と対応するパイプラインのステージに対する特定の入力パターンについて推定された個々の遅延の値を格納する遅延テーブル４２を備えている。こうした遅延の値は、回路の設計段階で行ったシミュレーションまたは測定に基づいて得られる。さらに、パイプラインのステージは、このステージに提供されるグローバル・クロック「ｃｌｋ」に基づいてクロック・ゲート４１で生成されるローカル・クロック信号「ｌ＿ｃｌｋ」に応答し、入力データ・パターン「ｉ」に従って設定されるフリップフロップ回路を備えている。フリップフロップ回路５１の出力で、個々の処理遅延の後で適切な出力パターンｏを生成するように適合される論理モジュール５０に対して、設定された入力データ・パターンＩＤが提供される。入力データ・パターンＩＤは、ローカル・クロック「ｌ＿ｃｌｋ」とともにルックアップ・テーブル４２にも提供される。このような入力信号に基づいて、ルックアップ・テーブル４２は、現在の入力データＩＤに関して推定された論理ユニット５０の遅延の格納された値に対応する遅延の後で、準備完了信号「ｒ［ｉ］」を生成する。
【００２７】
生成されたローカル・クロック「ｌ＿ｃｌｋ」は前のステージへの取得信号（ｔａｋｅｎ  ｓｉｇｎａｌ）「ｔ［ｉ−１］」としての出力でもあり、前のステージの準備完了信号「ｒ［ｉ−１］」はクロック・ゲートに提供される。さらに、現在のステージのクロック・ゲート４１に、後のステージまたは次のステージの取得信号「ｔ［ｉ］」が提供される。論理モジュール５０がクロックに基づいて動作する場合は、図５の破線の矢印で示すように、ローカル・クロック信号「ｌ＿ｃｌｋ」が論理ユニット５０にも提供される。
【００２８】
グローバル・クロック「ｃｌｋ」は、現在の入力データ・パターンＩＤに依存し、パイプラインのステージごとに選択的にゲート制御される。遅延テーブル４２は、ゲート制御されたローカル・クロック「ｌ＿ｃｌｋ」と現在の入力データ・パターンＩＤを入力として受け取り、準備完了信号「ｒ［ｉ］」を生成する。この信号は、グローバル・クロック「ｃｌｋ」のサイクル数として表現される特定の遅延の後でアサートされ、そのステージで有効な出力が生成されたことを示す。遅延テーブルまたはルックアップ・テーブル４２に格納した推定された遅延は、現在の入力パターンに依存し、回路設計時にシミュレーションまたは測定に基づいて取得してもよい。さらに、ルックアップ・テーブル４２にプログラミング機能を提供し、推定された遅延を更新できる柔軟な設計を実現してもよい。準備完了信号「ｒ［ｉ］」は、ゲート制御されたローカル・クロック「ｌ＿ｃｌｋ」がローになった（ｇｏｅｓ  ｌｏｗ）ときにリリースされる。クロック・ゲート回路４１は、前のステージで有効な出力が生成され、つまり前のステージの準備完了信号「ｒ［ｉ−１］」がハイになり、さらに次のステージで新しい結果を格納した場合、つまり次のステージのローカル・クロックを示す取得信号「ｔ［ｉ］」がアクティブになった（パルスを示す）場合にグローバル・クロック「ｃｌｋ」のゲート制御を解除（un-gate）またはリリースする。
【００２９】
したがって、グローバル・クロック「ｃｌｋ」のゲート制御または抑制は、パイプラインのステージにその動作を正しく完了するために十分な時間があるかどうかを示す準備完了信号と取得信号に基づいている。したがって、各ステージは非同期のパイプラインのステージの挙動と同様である（ｍｉｍｉｃｓ）が、グローバル・クロック「ｃｌｋ」を参照クロックとして使用する。こうして、非同期システムのデータに依存する挙動と、同期システムの利点（たとえば、テスト容易性、容易な設計、予測可能性など）とを兼ね備えることができる。
【００３０】
オプションで、ルックアップ・テーブル４２は、図５の破線の矢印で示すように、グローバル・クロック「ｃｌｋ」を使用して準備完了信号を生成してもよい。さらに、クロック・ゲート回路４１では、さまざまな戦略またはタイミングを使用して取得信号を生成または検出してもよい。提示されたパイプライン・クロック・ジェネレータ構造は、パイプライン・スキームのテストおよびデバッグ・モードで無効化機能を提供するように拡張してもよい。
【００３１】
また、たとえばステージの入力と出力が同一のユニットに接続されるような特殊な環境では、取得信号はなくてもよい。
【００３２】
クロック・ゲート回路は、前のステージの準備完了信号「ｒ［ｉ−１］」と次のステージの取得信号「ｔ［ｉ］」に基づく適切なゲート制御機能を備える簡単な論理回路でもよい。
【００３３】
本発明は、前述の好ましい実施形態に限定されず、処理遅延が入力パターンに依存する任意のデータ処理回路に適用できることに留意されたい。したがって、好ましい実施形態は、添付の請求項の範囲内で変更できる。
【図面の簡単な説明】
【００３４】
【図１】第１の好ましい実施形態によるデータ処理スキームを示すブロック図である。
【図２】第１の好ましい実施形態によって提示された処理スキームを使用したフィードバック制御ループの例を示す図である。
【図３】標準のパイプライン・スキームを示すブロック図である。
【図４】第２の好ましい実施形態によるパイプライン・スキームを示すブロック図である。
【図５】第２の好ましい実施形態によって提示されたパイプライン・スキームの一般的なステージを示す詳細図である。
【図１】
2006500813.tif 000003
【図２】
2006500813.tif 000004
【図３】
2006500813.tif 000005
【図４】
2006500813.tif 000006
【図５】
2006500813.tif 000007
【国際調査報告】
2006500813.tif 000008
2006500813.tif 000009
2006500813.tif 000010