(57)【要約】【課題】  電力消費の大部分を占めるクロック信号を必要な期間のみアクティブにする。【解決手段】  複数の機能モジュールを含み、各機能モジュールが入力されたクロック信号に基づいてトランザクション処理を行う際に、各機能モジュールの処理レイテンシ情報に応じて、入力されたクロック信号の出力を停止させる。後段の各機能モジュールの処理レイテンシ情報に基づいて、クロック信号の出力期間を制御する。【選択図】      図６
2007207121.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能モジュールを含み、各機能モジュールが入力されたクロック信号に基づいてトランザクション処理を行うデータ処理装置であって、
各機能モジュールの処理レイテンシ情報に応じて前記入力されたクロック信号の出力を停止させる手段と、
後段の各機能モジュールの処理レイテンシ情報に基づいて前記クロック信号の出力期間を制御する制御手段と、
を有することを特徴とするデータ処理装置。
【請求項２】
前記停止させる手段は、各機能モジュールの処理レイテンシ情報に応じて、後段の機能モジュールに対するクロック信号の出力を停止させることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記制御手段は、前記クロック信号の出力期間を、後段の各機能モジュールの処理レイテンシを合計した期間だけ長くすることを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記複数の機能モジュールは、各機能モジュールが画像処理機能を有するモジュールであることを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
前記複数の機能モジュールは、各機能モジュールが再構成可能に構成されていることを特徴とする請求項１に記載のデータ処理装置。
【請求項６】
前記複数の機能モジュールは、各機能モジュールの間の接続を変更するバススイッチによって接続されることを特徴とする請求項１に記載のデータ処理装置。
【請求項７】
複数の機能モジュールを含み、各機能モジュールが入力されたクロック信号に基づいてトランザクション処理を行うデータ処理装置の制御方法であって、
各機能モジュールの処理レイテンシ情報に応じて前記入力されたクロック信号の出力を停止させる工程と、
後段の各機能モジュールの処理レイテンシ情報に基づいて前記クロック信号の出力期間を制御する制御工程と、
を有することを特徴とするデータ処理装置の制御方法。
【請求項８】
請求項７に記載のデータ処理装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号をゲートすることにより、半導体集積回路などの低消費電力化を実現する技術に関するものである。
【背景技術】
【０００２】
近年、大規模化するマイクロコンピュータを始めとするデータ処理装置や半導体集積回路などにおいては、低消費電力化が重要な課題である。低消費電力化を実現するためには、半導体内部でのクロックパスを短くしたり、クロック信号の供給を必要最低限の期間にのみ行うような技術がある。
【０００３】
この低消費電力化を図った例としては、例えばクロック信号を分周したり、図２に示すように、ＬＳＩ内部のモジュール単位でクロック信号を停止させる技術がある（例えば、特許文献１参照。）。
【０００４】
ところで、このような技術において、低消費電力状態への移行はソフトウェアに従ってＣＰＵが所定の制御レジスタへ設定することで行われるため、応用システムに即したり、柔軟性は高いものの、ソフトウェアの負荷が重くなるという欠点がある。
【０００５】
この問題を解決するために、図３に示すように複数のモジュール間でのデータ転送トランザクションにおいて、受信モジュールからのクロック要求信号に応じてクロック信号の供給を制御する技術が開示されている（例えば、特許文献２参照。）。具体的には、送信モジュールがトランザクションの開始、即ちデータ転送と同時にクロック信号を供給し、受信モジュールからのクロック要求信号が出力されている間はクロック信号の供給を行うものである。
【特許文献１】特開平８−２３４６４号公報
【特許文献２】特開２００２−１０８４８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来の技術では、画像処理データパスのような内部モジュールがシリアルに接続された構成において、最適な低消費電力化の実現が図れていない。図４、図５は従来の技術を画像処理データパスに適用した例を示す図である。
【０００７】
図４に示す例では、全ての内部モジュールにクロック信号の供給が必要となり、低消費電力化を効率的に行うことができない。また、図５に示す例では、データパス上の最終段のモジュールの処理が終了するまでクロック信号がモジュール間に供給されることになり、これもまた低消費電力化を効率的に行うことができない。
【０００８】
このように、図４、図５に示す例では、各モジュールが実際に処理を行うために必要なレイテンシを考慮していないため、低消費電力化を効率的に行うことができなかった。
【０００９】
本発明は、電力消費の大部分を占めるクロック信号を必要な期間のみアクティブにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、複数の機能モジュールを含み、各機能モジュールが入力されたクロック信号に基づいてトランザクション処理を行うデータ処理装置であって、各機能モジュールの処理レイテンシ情報に応じて前記入力されたクロック信号の出力を停止させる手段と、後段の各機能モジュールの処理レイテンシ情報に基づいて前記クロック信号の出力期間を制御する制御手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、電力消費の大部分を占めるクロック信号を必要な期間のみアクティブにすることにより、効果的な低消費電力化が可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００１３】
［第１の実施形態］
まず、図１、図６、図７を用いて、第１の実施形態におけるデータ処理回路の構成及び動作について説明する。
【００１４】
図１は、第１の実施形態におけるデータ処理回路の構成の一例を示すブロック図である。また、図６は、第１の実施形態におけるデータ処理回路のデータ転送トランザクションを示すタイミングチャートである。そして、図７は、第１の実施形態におけるデータ処理回路の動作を示すフローチャートである。
【００１５】
図１において、１０１は、例えばＰＬＬ（Phase-Locked Loop）などのクロック生成器である。１０２、１０３、１０４はそれぞれ画像処理モジュールであり、第１の実施形態では、処理内容として、例えば１０２はγ変換処理、１０３は色空間変換処理、１０４は二値化処理を行うモジュールとする。また、画像処理モジュール１０２、１０３、１０４は、それぞれ不図示のＣＰＵとＣＰＵバスを介して接続され、ＣＰＵから画像処理に必要なパラメータの設定が各画像処理モジュールのレジスタに対して行われる。
【００１６】
ここで、画像処理モジュール１０２はクロック生成器１０１と接続され、常時クロック信号が入力される。更に、画像処理モジュール１０２は画像処理モジュール１０３と接続され、画像処理モジュール１０３に対してデータとクロックを出力する。
【００１７】
また、画像処理モジュール１０３は、画像処理モジュール１０２と接続されると共に、画像処理モジュール１０４と接続され、画像処理モジュール１０４に対してデータとクロックを出力する。更に、画像処理モジュール１０３は内部に自身のデータ処理レイテンシ情報を格納した不図示のレジスタを備え、このレジスタは不図示のＣＰＵがアクセス可能に構成されている。
【００１８】
一方、画像処理モジュール１０４は、画像処理モジュール１０３と接続され、画像処理モジュール１０３からデータとクロックを入力する。また、画像処理モジュール１０４は不図示のモジュールと接続され、モジュールに対してデータとクロックを出力する。更に、画像処理モジュール１０４は内部に自身のデータ処理レイテンシ情報を格納した不図示のレジスタを備え、このレジスタは不図示のＣＰＵがアクセス可能に構成されている。
【００１９】
次に、図６に示すタイミングチャート、図７に示すフローチャートを用いて、本発明に係るデータ処理回路の特徴であるクロックゲーティングについて詳しく説明する。
【００２０】
まず、画像処理モジュール１０２から後段の画像処理モジュール１０３に対してデータを送信する際に、ＣＰＵがＣＰＵアクセスを行い、画像処理モジュール１０３、１０４の内部のレイテンシ情報をそれぞれ収集する（ステップＳ７０１）。次に、ＣＰＵは、画像処理モジュール１０２に対して画像処理モジュール１０３、１０４のレイテンシの合計を設定する。また、画像処理モジュール１０３に対して後段の画像処理モジュール１０４のレイテンシを設定する（ステップＳ７０２）。
【００２１】
その後、画像処理モジュール１０２は後段の画像処理モジュール１０３に対してデータとクロックの出力を開始し、データ転送が開始される（ステップＳ７０３）。但し、画像処理モジュール１０２は、図６に示すタイミングチャートのように、上述したレイテンシの合計に相当する時間、有効データよりも長くクロックを出力する。つまり、第１の実施形態では、画像処理モジュールに後段の画像処理モジュールのレイテンシ情報が設定され、設定されたレイテンシの合計に相当する時間だけ、長くクロックを出力するように制御する。
【００２２】
また、画像処理モジュール１０３は自身のレイテンシ情報から図６に示すマスク信号を生成し、その後、後段の画像処理モジュール１０４に対してデータとクロックを出力する。尚、画像処理モジュール１０３も、図６に示すタイミングチャートのように、上述したレイテンシの合計に相当する時間、有効データよりも長くクロックを出力する。
【００２３】
即ち、画像処理モジュール１０３は、入力されたクロックに対してゲーティング処理を施し、後段の画像処理モジュール１０４のレイテンシに相当する時間だけ、長くクロックを出力する。また、画像処理モジュール１０３は、前段の画像処理モジュール１０２からのデータに対して入力されたクロックに同期して処理を施し、後段の画像処理モジュール１０４にデータを出力する。
【００２４】
一方、画像処理モジュール１０４は自身のレイテンシ情報から図６に示すマスク信号を生成し、その後、後段のモジュールに対してデータとクロックを出力する。ここで、画像処理モジュール１０４も画像処理モジュール１０３と同様に、入力されたクロックに対してゲーティング処理を施し、後段のモジュールにクロックを出力する。また、前段の画像処理モジュール１０３からのデータに対して入力されたクロックに同期して処理を施し、後段のモジュールにデータを出力する。
【００２５】
以上、説明したように、クロックゲーティングを行うことにより、本発明の目的である、クロック信号を必要な期間のみアクティブにすることが可能となる。従って、電力消費において大部分を占めるクロック信号の制御を最適に行え、効果的な低消費電力化が可能となる。
【００２６】
尚、画像処理モジュールの機能は、上述した処理機能に限るものではない。また、第１の実施形態では、データパスが変化しないため、各モジュールの内部に後段のモジュールのレイテンシの合計を予め記憶しておいても良い。その場合、図７に示すフローチャートのステップＳ７０１、Ｓ７０２を省略することができる。
【００２７】
［第２の実施形態］
次に、図８及び図９を用いて、本発明に係る第２の実施形態におけるデータ処理回路の構成及び動作について説明する。この第２の実施形態では、モジュール間でデータパスが変化する場合のクロックゲーティングについて説明する。
【００２８】
図８は、第２の実施形態におけるデータ処理回路の構成の一例を示すブロック図である。また、図９は、第２の実施形態におけるデータ処理回路の動作を示すフローチャートである。
【００２９】
図８において、８０１は、例えばＰＬＬなどのクロック生成器である。８０２〜８０６はそれぞれ画像処理モジュールであり、処理内容として、例えば８０２はγ変換処理、８０３は色空間変換処理、８０４は二値化処理、８０５はマスキング処理、８０６はトリミング処理とする。８０７はバススイッチであり、画像処理モジュール８０２〜８０６とそれぞれ接続され、各モジュール間の接続を自由に切り替えられる機能を有している。また、画像処理モジュール８０２〜８０６とバススイッチ８０７は、不図示のＣＰＵとＣＰＵバスを介して接続され、ＣＰＵから必要なパラメータの設定が各画像処理モジュール及びバススイッチのレジスタに対して行われる。
【００３０】
次に、図９に示すフローチャートを用いて、本発明に係るデータ処理回路の特徴であるクロックゲーティング処理について詳しく説明する。
【００３１】
まず、画像処理モジュール８０２から後段の画像処理モジュールに対してデータを送信する際に、処理内容によって必要な画像処理モジュールと、その順序を決定する。具体的には、ＣＰＵがＣＰＵアクセスを行い、バススイッチ８０７に決定したデータパスを設定する。そして、データパスを設定後（ステップＳ９０１のＹＥＳ）、画像処理モジュール８０３〜８０６からレイテンシ情報をそれぞれ収集する（ステップＳ９０２）。
【００３２】
次に、ＣＰＵは、最終段となる画像処理モジュールを除く画像処理モジュールに対して後段の画像処理モジュールのレイテンシの合計を設定する（ステップＳ９０３）。その後、画像処理モジュール８０２はバススイッチ８０７にデータとクロックを出力し、データ転送が開始される（ステップＳ９０４）。
【００３３】
尚、各画像処理モジュールにおけるクロックゲーティング処理に関しては、第１の実施形態と同様であり、ここでの説明は省略する。
【００３４】
第２の実施形態によれば、モジュール間でデータパスが変化する場合も、クロック信号を必要な期間のみアクティブにすることが可能となる。従って、電力消費において大部分を占めるクロック信号の制御を最適に行え、効果的な低消費電力化が可能となる。
【００３５】
［第３の実施形態］
次に、図９及び図１０を用いて、本発明に係る第３の実施形態におけるデータ処理回路の構成及び動作について説明する。
【００３６】
図１０は、第３の実施形態におけるデータ処理回路の構成の一例を示すブロック図である。尚、第３の実施形態におけるデータ処理回路の動作は、図９に示すフローチャートを参照して説明する。
【００３７】
図１０において、１００１は、例えばＰＬＬなどのクロック生成器である。１００２〜１００４は再構成可能な（reconfigurable）論理回路で構成された画像処理モジュールである。ここで、再構成可能な論理回路は論理回路の回路構成を動的に再構成可能な回路である。また、処理内容として、例えば１００２〜１００４はそれぞれγ変換処理、色空間変換処理、二値化処理の３つの画像処理を、回路を再構成することで実現可能とし、必要な動作モードによってそれぞれの回路構成を動的に変更するものである。
【００３８】
次に、図９に示すフローチャートを用いて、本発明に係るデータ処理回路の特徴であるクロックゲーティング処理について詳しく説明する。
【００３９】
まず、画像処理モジュール１００２から後段の画像処理モジュールに対してデータを送信する際に、処理内容によって構成する画像処理を決定する。再構成可能な回路の再構成後（ステップＳ９０１のＹＥＳ）、ＣＰＵがＣＰＵアクセスを行い、画像処理モジュール１００３〜１００４のレイテンシ情報をそれぞれ収集する（ステップＳ９０２）。
【００４０】
次に、ＣＰＵは、各画像処理モジュールに対して後段となる画像処理モジュールのレイテンシの合計を設定する（ステップＳ９０３）。その後、画像処理モジュール１００２はデータとクロックを出力し、データ転送が開始される（ステップＳ９０４）。
【００４１】
尚、各画像処理モジュールにおけるクロックゲーティング処理に関しては、第１の実施形態と同様であり、ここでの説明は省略する。
【００４２】
第３の実施形態によれば、各モジュールが再構成可能な回路で構成されている場合にも、クロック信号を必要な期間のみアクティブにすることが可能となる。従って、電力消費において大部分を占めるクロック信号の制御を最適に行え、効果的な低消費電力化が可能となる。
【００４３】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００４４】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【００４５】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００４６】
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００４７】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合。
【００４８】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００４９】
【図１】第１の実施形態におけるデータ処理回路の構成の一例を示すブロック図である。
【図２】従来のＬＳＩ内部のモジュール単位でクロック信号を停止させる技術を説明するための図である。
【図３】従来の受信モジュールからのクロック要求信号に応じてクロック信号の供給を制御する技術を説明するための図である。
【図４】従来の技術を画像処理データパスに適用した例を示す図である。
【図５】従来の技術を画像処理データパスに適用した例を示す図である。
【図６】第１の実施形態におけるデータ処理回路のデータ転送トランザクションを示すタイミングチャートである。
【図７】第１の実施形態におけるデータ処理回路の動作を示すフローチャートである。
【図８】第２の実施形態におけるデータ処理回路の構成の一例を示すブロック図である。
【図９】第２の実施形態におけるデータ処理回路の動作を示すフローチャートである。
【図１０】第３の実施形態におけるデータ処理回路の構成の一例を示すブロック図である。
【符号の説明】
【００５０】
１０１  クロック生成器
１０２  機能モジュール（γ変換）
１０３  機能モジュール（色空間変換）
１０４  機能モジュール（二値化）
８０１  クロック生成器
８０２  機能モジュール（γ変換）
８０３  機能モジュール（色空間変換）
８０４  機能モジュール（二値化）
８０５  機能モジュール（マスキング）
８０６  機能モジュール（トリミング）
１００１  クロック生成器
１００２  機能モジュール（γ変換）
１００３  機能モジュール（色空間変換）
１００４  機能モジュール（二値化）
【図１】
2007207121.tif 000003
【図２】
2007207121.tif 000004
【図３】
2007207121.tif 000005
【図４】
2007207121.tif 000006
【図５】
2007207121.tif 000007
【図６】
2007207121.tif 000008
【図７】
2007207121.tif 000009
【図８】
2007207121.tif 000010
【図９】
2007207121.tif 000011
【図１０】
2007207121.tif 000012