(57)【要約】【課題】複数のタスクによって同時に利用することができない排他リソースを備える画像形成装置等において、クロック周波数を適切に制御すること。【解決手段】複数のタスクによって同時に利用することができない排他リソースを備える画像形成装置において、各タスクが使用するリソースと、前記排他リソースの使用状況に基づいて、並行して動作できるタスクを決定し、各タスクに応じた演算処理装置の使用率またはクロック周波数に基づいて、前記決定したタスクが必要とするクロック周波数の合計値を算出する管理部と、前記合計値に基づいて、演算処理装置に供給するクロック周波数を制御する制御部と、を備えることで上記課題を解決する。【選択図】図７
2016203542.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクによって同時に利用することができない排他リソースを備える画像形成装置において、
各タスクが使用するリソースと、前記排他リソースの使用状況に基づいて、並行して動作できるタスクを決定し、各タスクに応じた演算処理装置の使用率またはクロック周波数に基づいて、前記決定したタスクが必要とするクロック周波数の合計値を算出する管理部と、
前記合計値に基づいて、演算処理装置に供給するクロック周波数を制御する制御部と、
を備える画像形成装置。
【請求項２】
前記管理部は、前記タスクの種別に対応付けて、当該種別のタスクが使用するリソースと、当該種別のタスクに設定された前記演算処理装置の使用率またはクロック周波数とを管理する、
請求項１記載の画像形成装置。
【請求項３】
前記管理部は、
前記決定を行う際、前記排他リソースの使用状況を更新する、
請求項１又は２記載の画像形成装置。
【請求項４】
前記制御部は、
前記合計値が、前記演算処理装置に供給されている現在のクロック周波数の値よりも小さい場合、所定の期間が経過するまで、前記演算処理装置に供給するクロック周波数を変更しない、
請求項１乃至３のいずれか一項に記載の画像形成装置。
【請求項５】
前記制御部は、
前記合計値が第１の期間、連続して第１の閾値を超えた場合に、前記演算処理装置に供給するクロック周波数を第１のクロック周波数に変更し、前記合計値が前記第１の期間以上の長さである第２の期間、連続して前記第１の閾値よりも小さい第２の閾値を下回った場合に、前記演算処理装置に供給するクロック周波数を前記第１のクロック周波数よりも小さい第２のクロック周波数に変更する、
請求項１乃至３のいずれか一項に記載の画像形成装置。
【請求項６】
前記管理部は、
前記タスクが発生した際、及び前記タスクが終了した際に、前記決定を行う、
請求項１乃至５のいずれか一項に記載の画像形成装置。
【請求項７】
前記排他リソースは、
スキャナエンジンまたはプロッタエンジンである、
請求項１乃至６のいずれか一項に記載の画像形成装置。
【請求項８】
複数のタスクによって同時に利用することができない排他リソースを備える画像形成装置における制御方法であって、
各タスクが使用するリソースと、前記排他リソースの使用状況に基づいて、並行して動作できるタスクを決定し、各タスクに応じた演算処理装置の使用率またはクロック周波数に基づいて、前記決定したタスクが必要とするクロック周波数の合計値を算出するステップと、
前記合計値に基づいて、演算処理装置に供給するクロック周波数を制御するステップと、
を備える制御方法。
【請求項９】
複数のタスクによって同時に利用することができない排他リソースを備える画像形成装置に、以下の処理を行わせるプログラムであって、
各タスクが使用するリソースと、前記排他リソースの使用状況に基づいて、並行して動作できるタスクを決定し、各タスクに応じた演算処理装置の使用率またはクロック周波数に基づいて、前記決定したタスクが必要とするクロック周波数の合計値を算出する処理と、
前記合計値に基づいて、演算処理装置に供給するクロック周波数を制御する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）等の情報処理装置において、省エネ性能を高めるために、現在のＣＰＵ使用率に応じて、ＣＰＵのクロック周波数を動的に変更する技術が知られている。この技術は、動的なアンダークロックとも呼ばれている。
【０００３】
特許文献１には、ＰＣにおいて、アプリケーション毎に必要なＣＰＵ使用率を算出し、算出したＣＰＵ使用率の総和に基づいて、システムのクロック周波数を変更する技術が開示されている。各アプリケーションに必要なＣＰＵ使用率は、アプリケーション毎に設定されたクロック周波数と、ＰＣがとりえる最大のクロック周波数から算出される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来技術には、以下の問題がある。画像形成装置等の情報処理装置が、例えば、ネットワークを介して大量の印刷用のデータを受信している場合等、実際にはクロック周波数を増加させる必要性が低い場合であっても、アンダークロックを終了してクロック周波数を増加させてしまうことがある。ユーザが画像形成装置等から離れた場所にいるため、直ちに処理を完了させる必要がない場合であっても、現在のＣＰＵ使用率が高くなるとクロック周波数を増加させてしまうためである。
【０００５】
特許文献１記載の技術では、プロッタエンジンやスキャナエンジン等の排他リソースを備える画像形成装置の場合、クロック周波数が、実際に必要な値よりも大きな値に変更されてしまう場合がある。同じ排他リソースを使用する複数のタスクが競合した場合、実際には並列して動作できないにも関わらず、当該複数のタスクに対応するＣＰＵ使用率の総和に基づいて、ＣＰＵのクロック周波数を変更するためである。
【０００６】
そこで、複数のタスクによって同時に利用することができない排他リソースを備える画像形成装置において、クロック周波数を適切に制御することを目的とする。
【課題を解決するための手段】
【０００７】
複数のタスクが同時に利用できない排他リソースを備える画像形成装置において、各タスクが使用するリソースと、前記排他リソースの使用状況に基づいて、並行して動作できるタスクを決定し、各タスクに応じた演算処理装置の使用率またはクロック周波数に基づいて、前記決定したタスクが必要とするクロック周波数の合計値を算出する管理部と、前記合計値に基づいて、演算処理装置に供給するクロック周波数を制御する制御部と、を備える。
【発明の効果】
【０００８】
開示の技術によれば、複数のタスクによって同時に利用することができない排他リソースを備える画像形成装置において、クロック周波数を適切に制御することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る画像形成装置の全体構成図である。
【図２】本実施形態に係る画像形成装置のハードウェア構成の一例を示す図である。
【図３】本実施形態に係る画像形成装置の機能構成図である。
【図４】排他リソース管理情報の一例を示す図である。
【図５】タスク設定情報の一例を示す図である。
【図６】タスク管理情報の一例を示す図である。
【図７】画像形成装置のタスク発生時のシーケンス図である。
【図８】画像形成装置のタスク終了時のシーケンス図である。
【図９】現時点で並行して動作できる各タスクの決定、及びＣＰＵのクロック周波数の合計値を算出する処理のフローチャートである。
【発明を実施するための形態】
【００１０】
図１は、実施形態に係る画像形成装置１の全体構成図である。画像形成装置１は、例えば、複数の異なる種類の画像形成機能を有する複合機（ＭＦＰ）であり、操作部１０１、原稿読み取り部１０２、給紙部１０３、印刷部１０４は、排紙部１０５を備える。
【００１１】
操作部１０１は、ユーザに機器の状態を表示し、ユーザからの要求を受け取る。原稿読み取り部１０２は、印刷元となる原稿を読み取る。給紙部１０３は、印字する紙を供給する。印刷部１０４は、原稿読み取り部１０２で読み取った原稿を給紙部１０３から給紙した紙に印字する。排紙部１０５は、印刷部１０４で印字した紙を排出する。
【００１２】
図２は、本実施形態に係る画像形成装置１のハードウェア構成の一例を示す図である。
【００１３】
画像形成装置１は、それぞれバスＢで相互に接続されているスキャナ装置２１、プロッタ装置２２、ドライブ装置２３、ＨＤＤ（Hard disk drive）２４、メモリ装置２５、演算処理装置（Central Processing Unit；ＣＰＵ）２６、通信インターフェース（Ｉ／Ｆ）２７、操作Ｉ／Ｆ２８で構成される。
【００１４】
スキャナ装置２１は図示しないスキャナ、スキャナエンジン、エンジン制御部等を有し、原稿をスキャンして文書データを生成する。
【００１５】
プロッタ装置２２は図示しないプロッタ、プロッタエンジン、エンジン制御部等を有し、文書データを印刷する。
【００１６】
通信Ｉ／Ｆ２７は、モデム、ＬＡＮ（Local Area Network）カードなどで構成されており、ネットワークに接続するために用いられる。
【００１７】
操作Ｉ／Ｆ２８は、表示機能を有するタッチパネル等で実現され、画像形成装置１を操作するための操作画面が表示される。
【００１８】
後述する実施形態の制御方法がプログラムによって実現される場合、プログラムは例えば記録媒体３０の配布やネットワークからのダウンロードなどによって提供される。記録媒体３０は、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ（Read Only Memory）、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００１９】
また、実施形態のプログラムを記録した記録媒体３０がドライブ装置２３にセットされると、記録媒体３０からドライブ装置２３を介してＨＤＤ２４にインストールされる。プログラムをネットワークからダウンロードした場合は、通信Ｉ／Ｆ２７を介してＨＤＤ２４にインストールされる。
【００２０】
ＨＤＤ２４は、インストールされたプログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置２５は、コンピュータの起動時にＨＤＤ２４からプログラムを読み出して格納する。そして、演算処理装置２６はメモリ装置２５に格納されたプログラムに従って、後述するような各種処理を実現する。
【００２１】
図３は、実施形態に係る画像形成装置１の機能構成図である。画像形成装置１は、排他リソース管理部１１、アプリケーション実行部１２、タスク管理部１３、クロック周波数制御部１４を備える。これら各部は、画像形成装置１にインストールされた１以上のプログラムが、画像形成装置１の演算処理装置（ＣＰＵ）２６に実行させる処理により実現される。
【００２２】
排他リソース管理部１１は、図４に示す排他リソース管理情報１１１を格納する。
【００２３】
図４は、排他リソース管理情報１１１の一例を示す図である。上述のように、「排他リソース」とは、複数のタスクによって同時に利用することができないリソースである。排他リソース管理情報１１１は、排他リソース毎の使用状況、及び使用しているタスクＩＤを含む。図４に示す例では、スキャナエンジンとプロッタエンジンが排他リソースであり、それぞれの使用状況として、使用中か未使用かが設定される。また、タスクＩＤは、その排他リソースを使用しているタスクの識別情報である。排他リソース管理情報１１１で管理されていないリソース、例えば通信Ｉ／Ｆ２７は排他リソースではないことを示している。つまり、プロッタエンジンとスキャナエンジンを使用するタスクは並行して処理されないが、通信Ｉ／Ｆ２７を使用するタスクは並行して処理される。
【００２４】
アプリケーション実行部１２は、コピー、プリンタ、ファクシミリ（ＦＡＸ）等のアプリケーションを実行する。アプリケーション実行部１２は、アプリケーションのタスクが発生すると、タスク管理部１３に、当該タスクのタスクＩＤ及びタスク名を含む登録要求を送信する。また、アプリケーション実行部１２は、タスクが終了すると、タスク管理部１３に、当該タスクのタスクＩＤ及びタスク名を含む削除要求を送信する。
【００２５】
タスク管理部１３は、図５に示すタスク設定情報１３１と、図６に示すタスク管理情報１３２を管理する。
【００２６】
図５は、タスク設定情報１３１の一例を示す図である。タスク設定情報１３１は、プリンタ印刷、モノクロコピー、スキャナ配信等のタスク名（タスクの種別）毎に、タスクが使用するリソースと、ＣＰＵの使用率とを記憶する。ＣＰＵの使用率としては、例えば、１ＧＨｚのクロック周波数をＣＰＵに供給した場合に、当該タスクの処理が滞りなく実行されているとユーザに感じさせるために必要となる、当該タスクによるＣＰＵの使用率を設定する。タスク設定情報１３１に格納する情報は、工場出荷時等に予め設定しておいてもよい。
【００２７】
図６は、タスク管理情報１３２の一例を示す図である。タスク管理情報１３２は、タスクを処理する順にアプリケーション実行部１２から登録されたタスクＩＤとタスク名を含む。
【００２８】
タスク管理部１３は、アプリケーション実行部１２からタスクの登録要求を受信すると、図６のタスク管理情報１３２の最後に、当該タスクのタスクＩＤ及びタスク名を登録する。また、アプリケーション実行部１２からタスクの削除要求を受信すると、当該タスクをタスク管理情報１３２から削除し、後続のタスクの順番を１つ前にスライドさせる。
【００２９】
また、タスク管理部１３は、タスク設定情報１３１、タスク管理情報１３２、排他リソース管理情報１１１に基づき、現時点で並行して動作できる全てのタスクを決定する。タスク管理部１３は、タスク設定情報１３１に設定されている、各タスクに応じたＣＰＵの使用率に基づいて、前記決定した全てのタスクが必要とするクロック周波数の合計値を算出し、算出した合計値を、クロック周波数制御部１４に出力する。
【００３０】
クロック周波数制御部１４は、クロック周波数決定部１５から入力されたＣＰＵのクロック周波数の合計値に基づいて、ＣＰＵに供給するクロック周波数を制御する。例えば、ベースクロックやクロック倍率を変更して、ＣＰＵに供給するクロックの周波数を制御する。
【００３１】
図７は、画像形成装置１のタスク発生時の処理のシーケンス図である。
【００３２】
アプリケーション実行部１２は、アプリケーションのタスクが発生すると、タスク管理部１３に、当該タスクのタスクＩＤ及びタスク名を含む登録要求を送信する（ステップＳ１０１）。
【００３３】
タスク管理部１３は、アプリケーション実行部１２から登録を要求されたタスクを、図６のタスク管理情報１３２に登録する（ステップＳ１０２）。そして、排他リソース管理情報１１１を参照し（ステップＳ１０３）、排他リソース管理部１１から、排他リソース管理情報１１１を取得する（ステップＳ１０４）。
【００３４】
タスク管理部１３は、タスク設定情報１３１、タスク管理情報１３２、排他リソース管理情報１１１に基づき、現時点で並行して動作できる全てのタスクを決定する（ステップＳ１０５）。決定したタスクについて、タスク設定情報１３１において各タスクに設定されているＣＰＵ使用率を合計し、合計した値に基づいてＣＰＵのクロック周波数の合計値を算出する（ステップＳ１０６）。排他リソース管理部１１に、排他リソース管理情報１１１の更新を要求する（ステップＳ１０７）。
【００３５】
排他リソース管理部１１は、排他リソース管理情報１１１を更新する（ステップＳ１０８）。
【００３６】
タスク管理部１３は、算出したＣＰＵのクロック周波数の合計値をクロック周波数制御部１４に通知する（ステップＳ１０９）。
【００３７】
クロック周波数制御部１４は、通知された値に基づいて、ＣＰＵに供給するクロック周波数を制御する（ステップＳ１１０）。なお、上述したタスク管理部１３によるステップＳ１０７とステップＳ１０９の処理は、同時に行ってもよいし、逆の順で行ってもよい。
【００３８】
クロック周波数制御部１４は、図７のステップＳ１１０で、タスク管理部１３から通知された際、クロック周波数を変更するまでに、一定の時間的なマージンを設定してもよい。例えば、今回通知されたＣＰＵのクロック周波数の合計値が、現在ＣＰＵに供給しているクロック周波数の値よりも小さい場合には、予め設定された期間（所定の期間）が経過するまでは、ＣＰＵに供給するクロック周波数を変更しない構成としてもよい。それにより、例えば、複数のタスクが同一の排他リソースを使用するために、タスク管理部１３から通知された値が一時的に減少した後で元に戻るような場合に、クロック周波数の切り替えにかかる時間のロスをなくすことができる。一方、今回通知されたＣＰＵのクロック周波数の合計値が、現在ＣＰＵに供給しているクロック周波数の値を超えた場合は、即座にＣＰＵに供給するクロック周波数を変更する構成としてもよい。
【００３９】
クロック周波数制御部１４は、ＣＰＵのクロック周波数を変更する際に、次のようなモードを選択するようにしてもよい。例えば、タスク管理部１３から通知されたクロック周波数の合計値が予め設定された第１の期間（例えば３秒間）連続して、第１の閾値（例えば５００ＭＨｚ）を超えた場合に、通常モードとして、第１のクロック周波数（例えば８００ＭＨｚ）に変更する。また、通知されたクロック周波数の合計値が第１の期間以上の長さである第２の期間（例えば５秒間）連続して、第１の閾値よりも小さい第２の閾値（例えば３００ＭＨｚ）を下回った場合に、エコモードとして、第１のクロック周波数よりも小さい第２のクロック周波数（例えば４００ＭＨｚ）に変更する構成としてもよい。それにより、クロック周波数制御部１４によるＣＰＵのクロック周波数の切り替えにかかる時間のロスを減少させることができる。また、クロック周波数を増加させる際は、クロック周波数を減少させるとき以上に迅速にクロック周波数を切り替えるため、タスクの処理が滞りなく実行されているとユーザに感じさせることができる。
【００４０】
図８は、画像形成装置１のタスク抹消時の処理のシーケンス図である。
【００４１】
アプリケーション実行部１２は、アプリケーションのタスクが終了すると、タスク管理部１３へ当該タスクの抹消を要求する（ステップＳ２０１）。
【００４２】
タスク管理部１３は、受信したタスクＩＤに基づき、アプリケーション実行部１２から抹消を要求されたタスクを、図６のタスク管理情報１３２から削除する（ステップＳ２０２）。また、抹消を要求されたタスクのタスクＩＤを排他リソース管理部１１に通知する（ステップＳ２０３）。排他リソース管理部１１は、図４の排他リソース管理情報１１１の中で、使用しているタスクＩＤが、受信したタスクＩＤと一致する排他リソースの使用状況を「未使用」に変更する（ステップＳ２０４）。
【００４３】
次に、ステップＳ２０５〜Ｓ２１２で、タスク管理情報１３２に登録されているタスクについて、タスク設定情報１３１、タスク管理情報１３２、排他リソース管理情報１１１に基づき、現時点で並行して動作できる各タスクを決定し、ＣＰＵのクロック周波数を制御する。ステップＳ２０５〜Ｓ２１２は、図７に示すステップＳ１０３〜Ｓ１１０の処理と同様であるためその詳細な説明は省略する。
【００４４】
図９は、現時点で並行して動作できる各タスクの決定、及びＣＰＵのクロック周波数の合計値を算出する処理のフローチャートである。図９を参照して、タスク管理部１３による、図７のステップＳ１０５、Ｓ１０６における処理の詳細を説明する。
【００４５】
まず、タスク管理部１３は、図６のタスク管理情報１３２から、先頭のタスクのタスクＩＤ及びタスク名を取得する（ステップＳ３０１）。次に、取得したタスク名に基づいて、図５のタスク設定情報１３１から、当該タスクが使用するリソース、及び当該タスクに設定されているＣＰＵ使用率を取得する（ステップＳ３０２）。次に、排他リソース管理部１１から、図４の排他リソース管理情報１１１において、当該タスクが使用する各排他リソースの使用状況を取得する（ステップＳ３０３）。当該タスクが使用する排他リソースの使用状況が「未使用」であるか判断する（ステップＳ３０４）。図５のコピータスクのように、２以上の排他リソースを必要とする場合は、全ての排他リソースが「未使用」であるか判断する。
【００４６】
「未使用」でない場合（ステップＳ３０４でＮＯ）、その排他リソースを用いてこのタスクを処理できないため、ステップＳ３０７に進み、次のタスクが登録されているか判断する。一方、「未使用」であると判断すると（ステップＳ３０４でＹＥＳ）、この排他リソースの使用状況を「使用中」に更新するとともに、使用しているタスクＩＤとして、当該タスクのタスクＩＤを設定する（ステップＳ３０５）。そして、当該タスクを、現時点で並行して動作できるタスクとして記憶する（ステップＳ３０６）。
【００４７】
そして、図６のタスク管理情報１３２に、次のタスクが登録されているか判断する（ステップＳ３０７）。登録されていなければ（ステップＳ３０７でＮＯ）、並行して動作できる各タスクに設定されているＣＰＵ使用率を合計し、合計した値に基づいてＣＰＵのクロック周波数の合計値を算出し（ステップＳ３０８）、処理を終了する。次のタスクが登録されていれば（ステップＳ３０７でＹＥＳ）、図６のタスク管理情報１３２から、次のタスクを取得する（ステップＳ３０９）。そして、ステップＳ３０２の処理に戻る。
【００４８】
図４乃至図６の例では、まず、図６の先頭の「プリンタ印刷」タスクを取得し、当該タスクが使用する、「プロッタエンジン」、及び「通信Ｉ／Ｆ」のリソースのうち、「プロッタエンジン」の使用状況を「使用中」とする。そして、「プリンタ印刷」タスクを、現時点で並行して動作できるタスクとして記憶しておく。
【００４９】
次に、図６の次の順番の「モノクロコピー」タスクを取得する。当該タスクが使用する、「スキャナエンジン」、及び「プロッタエンジン」のリソースのうち、「プロッタエンジン」の使用状況が「使用中」であるため、「モノクロコピー」タスクは現時点で並行して動作できないと判断する。
【００５０】
次に、図６の次の順番の「スキャナ配信」タスクを取得する。当該タスクが使用する、「スキャナエンジン」及び「通信Ｉ／Ｆ」のリソースのうち、「スキャナエンジン」の使用状況は「未使用」となっているので、その使用状況を「使用中」とする。そして、「スキャナ配信」タスクを、現時点で並行して動作できるタスクとして記憶する。
【００５１】
次に、図６の次の順番の「ＦＡＸ受信」、「ＦＡＸ送信」タスクを順次取得し、同様の処理を行う。「プロッタエンジン」及び「スキャナエンジン」の使用状況が「使用中」であるため、「ＦＡＸ受信」、「ＦＡＸ送信」タスクは現時点で並行して動作できないと判断する。
【００５２】
そして、図５のタスク設定情報１３１において、現時点で並行して動作できる「プリンタ印刷」タスク及び「スキャナ配信」タスクのそれぞれのＣＰＵ使用率である１５％と２０％とを合計する。図５の例では、各タスクに設定されているＣＰＵ使用率は、ＣＰＵのクロック周波数を例えば１ＧＨｚとした場合の、各タスクの処理に必要となるＣＰＵ使用率として設定されている。そのため、１５％と２０％とを合計した値である３５％に、１ＧＨｚを乗算した値である３５０ＭＨｚを、現時点で並行して動作できる各タスクが必要とするＣＰＵのクロック周波数の合計値として算出する。
【００５３】
なお、ＣＰＵに余裕をもたせるために、各タスクに設定されているＣＰＵ使用率の合計値に、所定の値（例えば２５％）を加える構成としてもよい。その場合は、各タスクを並行して動作させるためのＣＰＵのクロック周波数の合計値は、１５％と２０％と２５％を合計した値である６０％に、１ＧＨｚを乗算して、６００ＭＨｚと算出する。
【００５４】
なお、図５のタスク設定情報１３１に登録されているＣＰＵ使用率に乗算するクロック周波数の値は、設定により変更できるようにしてもよい。それにより、ＣＰＵを、例えば２ＧＨｚで動作可能なものと交換した場合、ＣＰＵ使用率に乗算するクロック周波数の値を２ＧＨｚと設定することにより、図５のタスク設定情報１３１の情報を更新しなくとも、より高速に動作させることができる。
【００５５】
＜効果＞
実施形態の手法と構成によれば、複数のタスクが同一の排他リソースを用いるため並列動作できない場合に、クロック周波数を適切に制御することで、消費電力を低減することができる。例えば、プリンタアプリケーションとコピーアプリケーションが、それぞれタスクを登録しており、プロッタエンジンの使用が競合するため並行して動作できないとする。プロッタエンジンがプリンタアプリケーションのタスクに割り当てられている場合は、コピーアプリケーションのタスクは動作できないことを考慮し、プリンタアプリケーションのタスクによるＣＰＵの使用率だけを現在のＣＰＵの使用率とする。それにより、無駄にＣＰＵのクロック周波数を上げないように制御することが可能になる。
【００５６】
また、例えば一のタスクがネットワークを介して大量の印刷用のデータを受信している場合、現在のＣＰＵ使用率ではなく、当該一のタスクに対応付けて設定されているＣＰＵの使用率に基づいてＣＰＵのクロック周波数を制御する。そのため、不必要にクロック周波数を増加させないようにすることができる。
【００５７】
各タスクのタスク名、使用するリソース、ＣＰＵ使用率の情報を、タスク設定情報１３１に予め設定しておく代わりに、図７のステップＳ１０１で、アプリケーション実行部１２からタスク管理部１３に、これらの情報を通知する構成としてもよい。その場合、タスク管理部１３が、タスク管理情報に、タスクＩＤに対応付けて、タスク名、使用するリソース、ＣＰＵ使用率を記録してもよい。
【００５８】
上述した実施形態では、図５のタスク設定情報１３１に、ＣＰＵが所定のクロック周波数（例えば１ＧＨｚ）で動作する際に各タスクが必要とするＣＰＵ使用率を設定し、設定されているＣＰＵ使用率に基づいてＣＰＵのクロック周波数を算出する構成とした。しかし、ＣＰＵ使用率の代わりに、各タスクが必要とするクロック周波数を登録する構成としてもよい。その場合、設定されている各タスクが必要とするクロック周波数を合計したものを、ＣＰＵに供給するようにすればよい。
【００５９】
また、画像形成装置１は、複合機（ＭＦＰ）に限らず、コピー、ファクシミリ、プリンタ等の装置であってもよい。
【００６０】
以上に説明した画像形成装置１の各部の機能（排他リソース管理部１１、アプリケーション実行部１２、タスク管理部１３、クロック周波数制御部１４）は、演算処理装置（ＣＰＵまたはプロセッサ）２６が、例えばＨＤＤ２４、メモリ装置２５（ＲＯＭ、フラッシュメモリ等を含む）、記録媒体３０等に格納されたプログラムを実行することにより実現され得る。しかし、これに限らず、上記画像形成装置１の各部の機能のうちの少なくとも一部を、専用のハードウェア回路（例えば半導体集積回路等）で実現してもよい。例えば、クロック周波数制御部１４に、ＦＰＧＡ（Field Programmable Gate Array）や、ＡＳＩＣ（Application Specific Integrated Circuit）等の半導体集積回路を用いてもよい。あるいは、クロック周波数制御部１４の少なくとも一部を、発振器、可変周波数発生回路、または逓倍回路で構成してもよい。タスク管理部１３の少なくとも一部をアナログまたはデジタルの論気回路で実現してもよい。
【００６１】
なお、上述した実施形態におけるシステム構成は一例であり、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
【符号の説明】
【００６２】
１  画像形成装置
１１  排他リソース管理部
１１１  排他リソース管理情報
１２  アプリケーション実行部
１３  タスク管理部（「管理部」の一例）
１３１  タスク設定情報
１３２  タスク管理情報
１４  クロック周波数制御部（「制御部」の一例）
【先行技術文献】
【特許文献】
【００６３】
【特許文献１】特許第４５１７００６号
【図１】
2016203542.tif 000003
【図２】
2016203542.tif 000004
【図３】
2016203542.tif 000005
【図４】
2016203542.tif 000006
【図５】
2016203542.tif 000007
【図６】
2016203542.tif 000008
【図７】
2016203542.tif 000009
【図８】
2016203542.tif 000010
【図９】
2016203542.tif 000011