(57)【要約】      （修正有）【課題】複数のマルチコアＣＰＵのいずれかのマルチコアＣＰＵにおけるいずれかのコアの負荷が予め設定された閾値に達したとき、実行中ジョブの完了が近い場合であっても他方のマルチコアＣＰＵのコアへ強制的に移行せず消費電力効率が悪くならない画像形成装置、タスク制御方法及び制御プログラムを提供する。【解決手段】負荷監視手部１１２により監視される負荷に基づいて、タスクを第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させると判定された場合であっても、タスクによって実行中のジョブの残量を確認するジョブ残量確認部１１４の確認結果に応じて、タスクの移行有無を制御する。【選択図】図６
2017147529.tif 000002
【特許請求の範囲】
【請求項１】
複数のコアを有する第１のマルチコアＣＰＵと、
前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、
オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷を監視する負荷監視手段と、
前記負荷監視手段により監視される負荷に基づいて、タスクを前記第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させるかどうか、またはタスクを前記第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させるかどうか、を判定するタスク移行判定手段と、
前記タスク移行判定手段によりタスクを移行させることが判定された場合に、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵとの間でタスクを移行させる制御を行うタスク移行制御手段と、
前記タスク移行判定手段によりタスクを移行させることが判定された場合に、該タスクによって実行中のジョブの残量を確認するジョブ残量確認手段と、
を備え、
前記タスク移行制御手段は、前記タスク移行判定手段によりタスクを移行させると判定された場合であっても、前記ジョブ残量確認手段の確認結果に応じて、タスクの移行有無を制御することを特徴とする画像形成装置。
【請求項２】
前記ジョブ残量確認手段は、タスクの移行完了までに実行中のジョブを完了可能かどうかを判定し、
前記タスク移行制御手段は、前記ジョブ残量確認手段によりタスクの移行完了までに実行中のジョブを完了可能と判定された場合は、タスクの移行を行わないように制御する請求項１に記載の画像形成装置。
【請求項３】
実行中のジョブの処理が最終ページの処理であるかどうかを判定する最終ページ判定手段を備え、
前記ジョブ残量確認手段は、前記最終ページ判定手段により実行中のジョブの処理が最終ページの処理であると判定された場合には、最終ページにおける未処理データの処理に要する時間を取得し、取得された最終ページにおける未処理データの処理に要する時間とタスクの移行完了までの時間とを比較することにより、実行中のジョブをタスクの移行完了までに完了可能かどうかを判定する請求項２に記載の画像処理装置。
【請求項４】
前記ジョブ残量確認手段は、実行中のジョブの残量をバンド単位で把握し、最終ページの未処理データの処理に要する時間は、最終ページの未処理バンドの処理に要する時間である請求項３に記載の画像形成装置。
【請求項５】
画像データを用紙に印刷する印刷エンジンを備え、
前記ジョブ残量確認手段は、未処理バンドの処理に要する時間を、前記印刷エンジンのプロセススピードに基づいて取得する請求項４に記載の画像形成装置。
【請求項６】
前記ジョブ残量確認手段は、処理済みバンドの処理時間に基づいて、未処理バンドの処理に要する時間を取得する請求項４に記載の画像形成装置。
【請求項７】
複数のコアを有する第１のマルチコアＣＰＵと、
前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、
を備えた画像形成装置が、
オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷を監視する負荷監視ステップと、
前記負荷監視ステップにより監視される負荷に基づいて、タスクを前記第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させるかどうか、またはタスクを前記第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させるかどうか、を判定するタスク移行判定ステップと、
前記タスク移行判定ステップによりタスクを移行させることが判定された場合に、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵとの間でタスクを移行させる制御を行うタスク移行制御ステップと、
前記タスク移行判定ステップによりタスクを移行させることが判定された場合に、該タスクによって実行中のジョブの残量を確認するジョブ残量確認ステップと、
を実施し、
前記タスク移行制御ステップでは、前記タスク移行判定ステップによりタスクを移行させると判定された場合であっても、前記ジョブ残量確認ステップの確認結果に応じて、タスクの移行有無を制御することを特徴とする画像形成装置におけるタスク制御方法。
【請求項８】
前記ジョブ残量確認ステップでは、タスクの移行完了までに実行中のジョブを完了可能かどうかを判定し、
前記タスク移行制御ステップでは、前記ジョブ残量確認ステップによりタスクの移行完了までに実行中のジョブを完了可能と判定された場合は、タスクの移行を行わないように制御する請求項７に記載のタスク制御方法。
【請求項９】
前記画像形成装置は、実行中のジョブの処理が最終ページの処理であるかどうかを判定する最終ページ判定手段ステップを実行し、
前記ジョブ残量確認ステップでは、前記最終ページ判定ステップにより実行中のジョブの処理が最終ページの処理であると判定された場合には、最終ページにおける未処理データの処理に要する時間を取得し、取得された最終ページにおける未処理データの処理に要する時間とタスクの移行完了までの時間とを比較することにより、実行中のジョブをタスクの移行完了までに完了可能かどうかを判定する請求項８に記載のタスク制御方法。
【請求項１０】
前記ジョブ残量確認ステップでは、実行中のジョブの残量をバンド単位で把握し、最終ページの未処理データの処理に要する時間は、最終ページの未処理バンドの処理に要する時間である請求項９に記載のタスク制御方法。
【請求項１１】
前記画像形成装置は、画像データを用紙に印刷する印刷エンジンを備え、
前記ジョブ残量確認ステップでは、未処理バンドの処理に要する時間を、前記印刷エンジンのプロセススピードに基づいて取得する請求項１０に記載のタスク制御方法。
【請求項１２】
前記ジョブ残量確認ステップでは、処理済みバンドの処理時間に基づいて、未処理バンドの処理に要する時間を取得する請求項１０に記載のタスク制御方法。
【請求項１３】
複数のコアを有する第１のマルチコアＣＰＵと、
前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、
を備えた画像形成装置のＣＰＵに、
オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷を監視する負荷監視ステップと、
前記負荷監視ステップにより監視される負荷に基づいて、タスクを前記第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させるかどうか、またはタスクを前記第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させるかどうか、を判定するタスク移行判定ステップと、
前記タスク移行判定ステップによりタスクを移行させることが判定された場合に、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵとの間でタスクを移行させる制御を行うタスク移行制御ステップと、
前記タスク移行判定ステップによりタスクを移行させることが判定された場合に、該タスクによって実行中のジョブの残量を確認するジョブ残量確認ステップと、
を実行させ、
前記タスク移行制御ステップでは、前記タスク移行判定ステップによりタスクを移行させると判定された場合であっても、前記ジョブ残量確認ステップの確認結果に応じて、タスクの移行有無を制御する処理を実行させるためのタスク制御プログラム。
【請求項１４】
前記ジョブ残量確認ステップでは、タスクの移行完了までに実行中のジョブを完了可能かどうかを判定し、
前記タスク移行制御ステップでは、前記ジョブ残量確認ステップによりタスクの移行完了までに実行中のジョブを完了可能と判定された場合は、タスクの移行を行わないように制御する処理を前記コンピュータに実行させる請求項１３に記載のタスク制御プログラム。
【請求項１５】
実行中のジョブの処理が最終ページの処理であるかどうかを判定する最終ページ判定手段ステップを前記コンピュータにさらに実行させ、
前記ジョブ残量確認ステップでは、前記最終ページ判定ステップにより実行中のジョブの処理が最終ページの処理であると判定された場合には、最終ページにおける未処理データの処理に要する時間を取得し、取得された最終ページにおける未処理データの処理に要する時間とタスクの移行完了までの時間とを比較することにより、実行中のジョブをタスクの移行完了までに完了可能かどうかを判定する処理を前記コンピュータに実行させる請求項１４に記載のタスク制御プログラム。
【請求項１６】
前記ジョブ残量確認ステップでは、実行中のジョブの残量をバンド単位で把握し、最終ページの未処理データの処理に要する時間は、最終ページの未処理バンドの処理に要する時間である請求項１５に記載のタスク制御プログラム。
【請求項１７】
前記画像形成装置は、画像データを用紙に印刷する印刷エンジンを備え、
前記ジョブ残量確認ステップでは、未処理バンドの処理に要する時間を、前記印刷エンジンのプロセススピードに基づいて取得する請求項１６に記載のタスク制御プログラム。
【請求項１８】
前記ジョブ残量確認ステップでは、処理済みバンドの処理時間に基づいて、未処理バンドの処理に要する時間を取得する請求項１６に記載のタスク制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、コピー機能、プリンタ機能、ファクシミリ機能、スキャン機能等の複数の機能を有する多機能デジタル複合機であるＭＦＰ（Multi Function Peripheral）等の画像形成装置、同装置におけるタスク制御方法及びタスク制御プログラムに関する。
【背景技術】
【０００２】
ＡＲＭ社が開発した「big.LITTLE」と称される省電力技術は、基本構成として、複数のコアを有し、消費電力が大きいが処理性能は高い第１のマルチコアＣＰＵと、この第１のマルチコアＣＰＵの各コアと対になった複数のコアを有し、第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵとが、SoC（System-on-a-Chip）と称されるように一つの半導体チップに実装されてなる。
【０００３】
このような省電力技術を実施する動作モデルの一つとしてＣＰＵマイグレーションモデルがあり、この動作モデルを前述したＭＦＰ等の画像形成装置に応用することが考えられている。ここで、ＣＰＵマイグレーションモデルとは、オペレーティングシステムに基づいて、第１のマルチコアＣＰＵと第２のマルチコアＣＰＵのうちのいずれかのＣＰＵ、例えば第２のマルチコアＣＰＵにおけるいずれかのコアにおいて、該コアの負荷が予め設定された閾値まで上昇したときに、第１のマルチコアＣＰＵの対応するコアにタスクを移行させる動作を行うものである。
【０００４】
この場合、タスク移行先の動作していないコアの電源はオフになっているため、タスクの移行時には移行先のコアの電源をオンにすることが必要となり、オンにするための時間が必要となる。加えて、移行判断、キャッシュの移行等に要する時間も必要となることから、タスクの移行開始から移行完了までにはある程度の準備処理の時間が必要となる。
【０００５】
しかし、ＣＰＵマイグレーションモデルが適用された従来のＭＦＰ等では、第２のマルチコアＣＰＵのあるコアでタスクを実行していた場合に、負荷が閾値まで上昇すると、オペレーティングシステムが自動的に第１のマルチコアＣＰＵの対応するコアにタスクを移行してしまっていた。このため次のような問題があった。
【０００６】
即ち、マイグレーションの実行によりタスクの移行が完了した直後に、該タスクによる実行中のジョブが完了してしまうような場合は、結果としてタスク移行に伴う消費電力のみが増えてしまうといった状況が発生していた。
【０００７】
また、タスク移行が完了するまでにジョブが完了してしまった場合等には、タスク移行の準備処理が完全に無駄になってしまい、やはり消費電力効率が良くないという問題もあった。
【０００８】
具体的には、あるジョブの処理が終盤（例えば最終頁）に差し掛かっている状況においても、オペレーティングシステムが第２のマルチコアＣＰＵにおけるコアの負荷を監視し、閾値に達したと判断すれば第１のマルチコアＣＰＵの対応するコアへのタスクの移行処理を行うが、実行後ほどなくして処理が完了することになるため、移行先のコアの負荷が低下し、結果として再度元のコアへの移行処理が実行されてしまい、その分消費電力が増えてしまう。
【０００９】
具体例を挙げて説明すると、タスクの移行処理には、上述のように、移行判断、移行先のコアの電源オン、キャッシュの移行等に５０〜１００ｍｓ程度が必要である。ここで、ＭＦＰの印刷エンジンのプロセス速度を６０枚／分とすると、１ページの処理時間の限度は１０００ｍｓとなる。各ページをバンド単位で把握し仮に１ページを４０バンドとすると、各バンドの処理時間は２５ｍｓとなる。従って、タスクの移行開始時点で、最終ページの３９バンド目あたりを処理中の場合は、移行処理が全て無駄になってしまう。
【００１０】
なお、特許文献１には、マルチタスクで処理を行なう処理装置上でリアルタイム処理を実行する場合において、リアルタイム性と、タスク移行のオーバーヘッド時間の削減とを両立するスケジューリング方法が開示されている。具体的には、タスクの実行順序を決定するスケジューラと呼ばれるタスクを設け、スケジューラは、各タスクからの要求をその終了デッドライン順に並べて表を作成し、その順でタスクを実行すると仮定した場合の全タスクの終了予想時刻と、直前に実行したタスクと連続性の高いタスクを次に実行すると仮定した場合の終了予想時刻を求め、後者の終了予想時刻の方が早く、且つ各タスクのデッドラインを守ることができる場合に、連続性の高いタスクに先に実行許可を与える、というものである。
【００１１】
特許文献２には、ＣＰＵ負荷測定管理手段が、自ＣＰＵの負荷が規定された上限値以上になった場合は、自ＣＰＵ内のＣＰＵ専有率の高いタスクを停止させ、他ＣＰＵ負荷タスク起動通知受信手段からの他ＣＰＵ負荷に基づいて、ＣＰＵ負荷が規定された下限値以下の他ＣＰＵを検索し、タスク起動通知送信手段を介して当該他ＣＰＵに対しそのタスクの起動指令を出力するＣＰＵ負荷調整装置が開示されている。
【００１２】
特許文献３には、マルチコアシステムの負荷分散方法として、プログラム実行中に一定間隔で、負荷分散の管理手段が起動され、負荷情報収集手段がハードウェアの各コアから負荷情報を取得し、取得した負荷情報を利用して、負荷分散判定手段は、システムにおける負荷の偏りを判定し、負荷の状態が判定基準を超える場合、負荷分散が必要であると判断して、移動対象選択手段で移動対象スレッドとその移動先を選択し、移動対象スレッドとその移動先はスレッド移動手段に通知され、実際のスレッド移動が行われる技術が開示されている。
【００１３】
特許文献４には、複数のタスク処理部の負荷を平準化し、マルチコアプロセッサの演算能力を効率的に活用して処理を行うことを可能とするネットワークスイッチ装置等を提供する技術が開示されている。具体的には、ネットワークスイッチ装置は、入力されたパケットに対して出力先のネットワークに応じた処理を行う複数のタスク処理部と、入力されたパケットを処理するタスクを実行するタスク処理部を決定してそこに当該タスクを割り当てるタスク割当部と、各タスク処理部のＣＰＵ使用率を取得し、このＣＰＵ使用率に応じて一のタスク処理部に割り当てられたタスクを他のタスク処理部に移動させるタスク移動部とを備える、というものである。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開平８−５５０３６号公報
【特許文献２】特開平９−３２２４０５号公報
【特許文献３】特開２００８−１９１９４９号公報
【特許文献４】特開２０１４−１１０５３８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかし、上記特許文献１〜４に記載の技術は、実行中のジョブの処理状況を考慮してタスクの移行制御を行うどうかを決定する技術ではなく、マイグレーションの実行によりタスクの移行が完了した直後に、実行中のジョブが完了してしまうような場合に、タスク移行に伴う消費電力のみが増えてしまうという問題や、タスク移行が完了するまでにジョブが完了してしまった場合に、タスク移行の準備処理が完全に無駄になってしまい、消費電力効率が良くないという問題に対して、解決策を提供しうるものではなかった。
【００１６】
この発明は、このような技術的背景に鑑みてなされたものであって、第１のマルチコアＣＰＵと第２のマルチコアＣＰＵのうちのいずれかのマルチコアＣＰＵにおけるいずれかのコアの負荷が予め設定された閾値に達したときに、実行中のジョブの完了が近い場合であっても他方のマルチコアＣＰＵの対応するコアへ強制的に移行されることにより、結果的に消費電力効率が悪くなるという問題を解決できる画像形成装置、同装置におけるタスク制御方法及びタスク制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題は、以下の手段によって解決される。
（１）複数のコアを有する第１のマルチコアＣＰＵと、前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷を監視する負荷監視手段と、前記負荷監視手段により監視される負荷に基づいて、タスクを前記第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させるかどうか、またはタスクを前記第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させるかどうか、を判定するタスク移行判定手段と、前記タスク移行判定手段によりタスクを移行させることが判定された場合に、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵとの間でタスクを移行させる制御を行うタスク移行制御手段と、前記タスク移行判定手段によりタスクを移行させることが判定された場合に、該タスクによって実行中のジョブの残量を確認するジョブ残量確認手段と、を備え、前記タスク移行制御手段は、前記タスク移行判定手段によりタスクを移行させると判定された場合であっても、前記ジョブ残量確認手段の確認結果に応じて、タスクの移行有無を制御することを特徴とする画像形成装置。
（２）前記ジョブ残量確認手段は、タスクの移行完了までに実行中のジョブを完了可能かどうかを判定し、前記タスク移行制御手段は、前記ジョブ残量確認手段によりタスクの移行完了までに実行中のジョブを完了可能と判定された場合は、タスクの移行を行わないように制御する前項１に記載の画像形成装置。
（３）実行中のジョブの処理が最終ページの処理であるかどうかを判定する最終ページ判定手段を備え、前記ジョブ残量確認手段は、前記最終ページ判定手段により実行中のジョブの処理が最終ページの処理であると判定された場合には、最終ページにおける未処理データの処理に要する時間を取得し、取得された最終ページにおける未処理データの処理に要する時間とタスクの移行完了までの時間とを比較することにより、実行中のジョブをタスクの移行完了までに完了可能かどうかを判定する前項２に記載の画像処理装置。
（４）前記ジョブ残量確認手段は、実行中のジョブの残量をバンド単位で把握し、最終ページの未処理データの処理に要する時間は、最終ページの未処理バンドの処理に要する時間である前項３に記載の画像形成装置。
（５）画像データを用紙に印刷する印刷エンジンを備え、前記ジョブ残量確認手段は、未処理バンドの処理に要する時間を、前記印刷エンジンのプロセススピードに基づいて取得する前項４に記載の画像形成装置。
（６）前記ジョブ残量確認手段は、処理済みバンドの処理時間に基づいて、未処理バンドの処理に要する時間を取得する前項４に記載の画像形成装置。
（７）複数のコアを有する第１のマルチコアＣＰＵと、前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、を備えた画像形成装置が、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷を監視する負荷監視ステップと、前記負荷監視ステップにより監視される負荷に基づいて、タスクを前記第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させるかどうか、またはタスクを前記第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させるかどうか、を判定するタスク移行判定ステップと、前記タスク移行判定ステップによりタスクを移行させることが判定された場合に、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵとの間でタスクを移行させる制御を行うタスク移行制御ステップと、前記タスク移行判定ステップによりタスクを移行させることが判定された場合に、該タスクによって実行中のジョブの残量を確認するジョブ残量確認ステップと、を実施し、前記タスク移行制御ステップでは、前記タスク移行判定ステップによりタスクを移行させると判定された場合であっても、前記ジョブ残量確認ステップの確認結果に応じて、タスクの移行有無を制御することを特徴とする画像形成装置におけるタスク制御方法。
（８）前記ジョブ残量確認ステップでは、タスクの移行完了までに実行中のジョブを完了可能かどうかを判定し、前記タスク移行制御ステップでは、前記ジョブ残量確認ステップによりタスクの移行完了までに実行中のジョブを完了可能と判定された場合は、タスクの移行を行わないように制御する前項７に記載のタスク制御方法。
（９）前記画像形成装置は、実行中のジョブの処理が最終ページの処理であるかどうかを判定する最終ページ判定手段ステップを実行し、前記ジョブ残量確認ステップでは、前記最終ページ判定ステップにより実行中のジョブの処理が最終ページの処理であると判定された場合には、最終ページにおける未処理データの処理に要する時間を取得し、取得された最終ページにおける未処理データの処理に要する時間とタスクの移行完了までの時間とを比較することにより、実行中のジョブをタスクの移行完了までに完了可能かどうかを判定する前項８に記載のタスク制御方法。
（１０）前記ジョブ残量確認ステップでは、実行中のジョブの残量をバンド単位で把握し、最終ページの未処理データの処理に要する時間は、最終ページの未処理バンドの処理に要する時間である前項９に記載のタスク制御方法。
（１１）前記画像形成装置は、画像データを用紙に印刷する印刷エンジンを備え、前記ジョブ残量確認ステップでは、未処理バンドの処理に要する時間を、前記印刷エンジンのプロセススピードに基づいて取得する前項１０に記載のタスク制御方法。
（１２）前記ジョブ残量確認ステップでは、処理済みバンドの処理時間に基づいて、未処理バンドの処理に要する時間を取得する前項１０に記載のタスク制御方法。
（１３）複数のコアを有する第１のマルチコアＣＰＵと、前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、を備えた画像形成装置のＣＰＵに、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷を監視する負荷監視ステップと、前記負荷監視ステップにより監視される負荷に基づいて、タスクを前記第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させるかどうか、またはタスクを前記第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させるかどうか、を判定するタスク移行判定ステップと、前記タスク移行判定ステップによりタスクを移行させることが判定された場合に、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵとの間でタスクを移行させる制御を行うタスク移行制御ステップと、前記タスク移行判定ステップによりタスクを移行させることが判定された場合に、該タスクによって実行中のジョブの残量を確認するジョブ残量確認ステップと、を実行させ、前記タスク移行制御ステップでは、前記タスク移行判定ステップによりタスクを移行させると判定された場合であっても、前記ジョブ残量確認ステップの確認結果に応じて、タスクの移行有無を制御する処理を実行させるためのタスク制御プログラム。
（１４）前記ジョブ残量確認ステップでは、タスクの移行完了までに実行中のジョブを完了可能かどうかを判定し、前記タスク移行制御ステップでは、前記ジョブ残量確認ステップによりタスクの移行完了までに実行中のジョブを完了可能と判定された場合は、タスクの移行を行わないように制御する処理を前記コンピュータに実行させる前項１３に記載のタスク制御プログラム。
（１５）実行中のジョブの処理が最終ページの処理であるかどうかを判定する最終ページ判定手段ステップを前記コンピュータにさらに実行させ、前記ジョブ残量確認ステップでは、前記最終ページ判定ステップにより実行中のジョブの処理が最終ページの処理であると判定された場合には、最終ページにおける未処理データの処理に要する時間を取得し、取得された最終ページにおける未処理データの処理に要する時間とタスクの移行完了までの時間とを比較することにより、実行中のジョブをタスクの移行完了までに完了可能かどうかを判定する処理を前記コンピュータに実行させる前項１４に記載のタスク制御プログラム。
（１６）前記ジョブ残量確認ステップでは、実行中のジョブの残量をバンド単位で把握し、最終ページの未処理データの処理に要する時間は、最終ページの未処理バンドの処理に要する時間である前項１５に記載のタスク制御プログラム。
（１７）前記画像形成装置は、画像データを用紙に印刷する印刷エンジンを備え、前記ジョブ残量確認ステップでは、未処理バンドの処理に要する時間を、前記印刷エンジンのプロセススピードに基づいて取得する前項１６に記載のタスク制御プログラム。
（１８）前記ジョブ残量確認ステップでは、処理済みバンドの処理時間に基づいて、未処理バンドの処理に要する時間を取得する前項１６に記載のタスク制御プログラム。
【発明の効果】
【００１８】
前項（１）及び（７）に記載の発明によれば、第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷に基づいて、タスクを第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させること、または第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させることが判定された場合に、該タスクによって実行中のジョブの残量が確認され、確認結果に応じてタスクの移行有無が制御される。
【００１９】
従って、ジョブの残量が確認された結果、タスク移行完了までに実行中のジョブが完了してしまう場合や、タスク移行完了直後にジョブが完了してしまう場合等には、タスクの負荷が閾値に達してタスクを移行させると判定された場合であっても、タスクの移行が行われないように制御することが可能となるから、タスクの移行に伴って発生する無駄な電力消費を抑制することができ、消費電力効率を向上することができる。
【００２０】
前項（２）及び（８）に記載の発明によれば、タスクの移行完了までに実行中のジョブを完了可能かどうかが判定され、完了可能と判定された場合はタスクの移行が行われないから、タスクの移行に伴って発生する無駄な電力消費を確実に抑制することができる。
【００２１】
前項（３）及び（９）に記載の発明によれば、実行中のジョブの処理が最終ページの処理である場合には、最終ページにおける未処理データの処理に要する時間とタスクの移行完了までの時間とを比較することにより、実行中のジョブをタスクの移行完了までに完了可能かどうかが判定されるから、実行中のジョブをタスクの移行完了までに完了可能かどうかを確実に判定することができる。
【００２２】
前項（４）及び（１０）に記載の発明によれば、最終ページの未処理データの処理に要する時間は、最終ページの未処理バンドの処理に要する時間となる。
【００２３】
前項（５）及び（１１）に記載の発明によれば、画像データを用紙に印刷する印刷エンジンを備えている場合は、未処理バンドの処理に要する時間が印刷エンジンのプロセススピードに基づいて取得されるから、未処理バンドの処理に要する時間を容易に取得することができる。
【００２４】
前項（６）及び（１２）に記載の発明によれば、処理済みバンドの処理時間に基づいて、未処理バンドの処理に要する時間が取得される。
【００２５】
前項（１３）に記載の発明によれば、第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷に基づいて、タスクを第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させること、または第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させることを判定した場合に、該タスクによって実行中のジョブの残量を確認し、確認結果に応じてタスクの移行有無を制御する処理を、画像形成装置のコンピュータに実行させることができる。
【００２６】
前項（１４）に記載の発明によれば、タスクの移行完了までに実行中のジョブを完了可能かどうかを判定し、完了可能と判定した場合はタスクの移行を行わない制御を、画像形成装置のコンピュータに実行させることができる。
【００２７】
前項（１５）に記載の発明によれば、実行中のジョブの処理が最終ページの処理かどうかを判定し、最終ページの処理である場合には、最終ページにおける未処理データの処理に要する時間とタスクの移行完了までの時間とを比較することにより、実行中のジョブをタスクの移行完了までに完了可能かどうかを判定する処理を、画像形成装置のコンピュータに実行させることができる。
【００２８】
前項（１６）に記載の発明によれば、最終ページの未処理データの処理に要する時間を、最終ページの未処理バンドの処理に要する時間として取得する処理を、画像形成装置のコンピュータに実行させることができる。
【００２９】
前項（１７）に記載の発明によれば、画像形成装置が画像データを用紙に印刷する印刷エンジンを備えている場合は、未処理バンドの処理に要する時間を印刷エンジンのプロセススピードに基づいて取得する処理を、画像形成装置のコンピュータに実行させることができる。
【００３０】
前項（１８）に記載の発明によれば、処理済みバンドの処理時間に基づいて、未処理バンドの処理に要する時間を取得する処理を、画像形成装置のコンピュータに実行させることができる。
【図面の簡単な説明】
【００３１】
【図１】この発明の一実施形態に係る画像形成装置１の構成を示すブロック図である。
【図２】ＣＰＵの構成と基本動作を説明するための図である。
【図３】従来のタスク移行制御の問題点を説明するための図である。
【図４】本実施形態によるタスク移行制御の効果を説明するための図である。
【図５】（Ａ）（Ｂ）は、ＰＣプリントジョブの残量の処理時間が、タスクの移行完了までの時間内に収まるかどうかの具体例を説明するための図である。
【図６】ＣＰＵの機能ブロック図である。
【図７】ジョブ実行中のタスクの移行制御処理を示すフローチャートである。
【図８】図７におけるステップＳ０２の現在実行中のジョブはタスクの移行完了前に終わるかどうかの判定処理を示すフローチャートである。
【発明を実施するための形態】
【００３２】
以下、この発明の実施形態を図面に基づいて説明する。
【００３３】
図１はこの発明の一実施形態に係る画像形成装置１の構成を示すブロック図である。この実施形態では、各画像形成装置１として、前述した多機能デジタル複合機であるＭＦＰが用いられている。以下、画像形成装置をＭＦＰともいう。
【００３４】
ＭＦＰ１は、ＲＯＭ１２、ＲＡＭ１３、スキャナ部１４、記憶部１５、プリンタ部１６、操作パネル１７、ネットワークインターフェース（ネットワークＩ／Ｆ）１８、ＵＳＢインターフェース（ＵＳＢＩ／Ｆ）１９及び画像処理ＡＳＩＣ２０等を備え、これらはバス２を介してＣＰＵ１１に接続されている。
【００３５】
前記ＣＰＵ１１は、ＭＦＰ１の全体を統括制御し、コピー機能、プリンタ機能、スキャン機能、ファクシミリ機能等の基本機能を使用可能に制御する。ＣＰＵ１１は、ＯＳ（オペーレーティングシステム）を実行することにより機能的に構成される移行判定制御部１１１及び負荷監視部１１２と、アプリケーション（ＭＦＰアプリ）を実行することにより機能的に構成される最終ページ判定部１１３及びジョブ残量確認部１１４を備えている。これらについては後述する。
【００３６】
ＲＯＭ１２はＣＰＵ１１の動作プログラム等を格納するメモリである。
【００３７】
ＲＡＭ１３は、ＣＰＵ１１が動作プログラムに基づいて動作する際の作業領域を提供するメモリである。
【００３８】
スキャナ部１４は、原稿台（図示せず）に置かれた原稿の画像を読み取り、画像データを出力する読み取り手段である。
【００３９】
記憶部１５は、例えばハードディスクドライブ（ＨＤＤ）などの不揮発性の記憶デバイスにより構成されており、ＯＳ、ＭＦＰアプリ、スキャナ部１４でスキャンされた原稿の画像データ等が記憶されている。
【００４０】
プリンタ部１６は、印刷エンジンを構成するものであり、スキャナ部１４でスキャンされた原稿の画像データや外部からのプリントデータ等を、指示されたモードに従って印刷する。
【００４１】
操作パネル１７は、各種入力操作等のために使用されるものであり、メッセージや操作画面等を表示するタッチパネル式液晶等からなる表示部１７１と、テンキー、スタートキー、ストップキー等を備えた操作部１７２を備えている。
【００４２】
ネットワークＩ／Ｆ１８は、ネットワーク上の他の画像形成装置や、その他の外部機器例えばユーザー端末等との間での通信を制御することにより、データの送受信を行うものである。
【００４３】
ＵＳＢＩ／Ｆ１９は、ＵＳＢメモリ（図示せず）を接続するための接続部であり、画像処理ＡＳＩＣ（Application Specific Integrated Circuit）２０は画像処理を行う回路である。
【００４４】
ＣＰＵ１１は、図２に示すように、第１のマルチコアＣＰＵ（ｂｉｇクラスタともいう）１１４と第２のマルチコアＣＰＵ（ＬＩＴＴＬＥクラスタともいう）１１５が、SoCと称されるように一つの半導体チップに実装されてなる。第１のマルチコアＣＰＵ１１４は消費電力は大きいが処理能力が高いＣＰＵであり、第２のマルチコアＣＰＵ１１５は消費電力は第１のＣＰＵ１１４よりも相対的に小さいが処理能力が相対的に低いＣＰＵである。
【００４５】
また、第１のマルチコアＣＰＵ１１４は４個のコア（ｂｉｇコアともいう）１１４ａ〜１１４ｄを備えており、第２のマルチコアＣＰＵ１１５は、第１のマルチコアＣＰＵ１１４の各コア１１４ａ〜１１４ｄと対になった４個のコア（ＬＩＴＴＬＥコアともいう）１１５ａ〜１１５ｄを備えている。
【００４６】
また、この実施形態では、各マルチコアＣＰＵ１１４、１１５の対になった２つのコアは、一方のみが動作するＣＰＵマイグレーションモデルが適用される。従って、図２（Ａ）に示すように、例えば第２のマルチコアＣＰＵ１１５のコア１１５ａ〜１１５ｄが動作するときは、第１のマルチコアＣＰＵ１１４の対応するコア１１４ａ〜１１４ｄはオフとなっている。
【００４７】
従って、ＣＰＵマイグレーションモデルでは、ＯＳから見えるコアは４個である。また、各タスクの割り当てはまず、処理性能は低いが消費電力の小さい第２のマルチコアＣＰＵ１１５のコア１１５ａ〜１１５ｄに対して行われ、第１のマルチコアＣＰＵ１１４の各コア１１４ａ〜１１４ｄはオフとなっている。
【００４８】
この実施形態では、ＭＦＰ１の動作時にはＯＳにより、図２（Ａ）に示すように、第２のマルチコアＣＰＵ１１５のコア１１５ａにスキャン制御とＲＩＰ処理２（ＲＩＰ２と記す）の各タスクが割り当てられ、コア１１５ｂにプリント制御のタスクが割り当てられる。また、コア１１５ｃは操作パネル１７の制御に関わるパネル制御のタスクが割り当てられ、コア１１５ｄに画像変換制御とＲＩＰ処理１（ＲＩＰ１と記す）のタスクが割り当てられるようになっている。
【００４９】
なお、ＲＩＰ処理は、外部のパーソナルコンピュータからプリントジョブ（ＰＣプリントジョブ）が投入された場合、ジョブに含まれる印刷対象のデータをビットマップデータへ展開する処理である。この実施形態では、ＲＩＰ１及びＲＩＰ２は、コアフリー構成ではなく、それぞれが独立に処理を行い、所定の処理単位の完了を待ち合わせて、次の処理単位へ移るような独立したタスクである。
【００５０】
ＰＣプリントジョブが投入され該ジョブが開始されると、図２（Ｂ）にハッチングを付して示すように、第２のマルチコアＣＰＵ１１５のコア１１５ｂに割り当てられているプリント制御のタスクと、コア１１５ａに割り当てられているＲＩＰ処理２及びコア１１５ｄに割り当てられているＲＩＰ処理１の各タスクが動作する。
【００５１】
ＰＣプリントジョブの実行中に、コピージョブが追加投入されると、図２（Ｃ）に示すように、第２のマルチコアＣＰＵ１１５のコア１１５ａに割り当てられているスキャン制御のタスクも動作する。
【００５２】
ここで、ＰＣプリントジョブのみであれば第２のマルチコアＣＰＵ１１５側で処理を行えていたが、コピージョブに伴う処理を実施することによりコア１１５ａの負荷が増加したとする。負荷が設定された閾値に達すると、第１のマルチコアＣＰＵ１１４側への移行判断がなされ、第１のマルチコアＣＰＵ１１４側の対となるコア１１４ａの電源がオンにされ、その後図２（Ｄ）に示すように、第２のマルチコアＣＰＵ１１５のコア１１５ａにおけるスキャン制御及びＲＩＰ２の各タスクの、第１のマルチコアＣＰＵ１１４のコア１１４ａへの移行処理が実施される。
【００５３】
この時、ＰＣプリントジョブが最終ページの処理中であったとすると、第１のマルチコアＣＰＵ１１４のコア１１４ａへのタスク移行開始直後に、ＰＣプリントジョブが終了してしまう可能性がある。この場合は無駄に第１のマルチコアＣＰＵ１１４側へのタスク移行を実施してしまったことになり、移行に伴う電力消費が増加するため効率的なタスク移行が行えたとは言い難かった。
【００５４】
さらに、ＰＣプリントジョブの終了後、移行先のコアである第１のマルチコアＣＰＵ１１４のコア１１４ａの負荷が小さくなり、一定の閾値まで低下して第２のマルチコアＣＰＵ１１５側への移行基準を満たした場合は、さらに第１のマルチコアＣＰＵ１１４のコア１１４ａから第２のマルチコアＣＰＵ１１５のコア１１５ａへのタスク移行処理が行われることになってしまい、１往復分のコスト（消費電力）を浪費してしまうことになる。
【００５５】
この状況を図３のグラフを用いて説明する。図３において、曲線Ｐ１は時間経過に伴う第２のマルチコアＣＰＵ１１５のコア１１５ａの負荷を示し、曲線Ｐ２は時間経過に伴う累積消費電力を示している。
【００５６】
時刻Ｔ１においてＰＣプリントジョブが開始されたとし、時刻Ｔ２でコピージョブが投入されたとする。コピージョブの投入により、第２のマルチコアＣＰＵ１１５のコア１１５ａの負荷は増大する。
【００５７】
時刻Ｔ３で、コア１１５ａの負荷が閾値Ｌ１に達すると、第２のマルチコアＣＰＵ１１５のコア１１５ａから第１のマルチコアＣＰＵ１１４のコア１１４ａへのタスク移行が開始される。
【００５８】
前述したように、タスクの移行処理には、移行判断、移行先のコアの電源オン、キャッシュの移行等に５０〜１００ｍｓ程度の準備期間が必要となり、時刻Ｔ４で第１のマルチコアＣＰＵ１１４のコア１１４ａへの移行が完了するものとする。また、移行完了を待つことなく移行開始直後にＰＣプリントジョブが完了したとすると、この移行処理が無駄に行われることになる。
【００５９】
また、時刻Ｔ４の移行完了時には、ＰＣプリントジョブが完了しているため、移行先のコアである第１のマルチコアＣＰＵ１１４のコア１１４ａの負荷は既に小さくなっている。一定の閾値Ｌ２まで低下しているとすると、第２のマルチコアＣＰＵ１１５側への移行基準を満たす。このため、時刻Ｔ４で、第１のマルチコアＣＰＵ１１４のコア１１４ａから第２のマルチコアＣＰＵ１１５のコア１１５ａへのタスク移行が開始され、時刻Ｔ５でタスク移行が完了する。つまり、第２のマルチコアＣＰＵ１１５のコア１１５ａから第１のマルチコアＣＰＵ１１４のコア１１４ａへのタスク移行に加えて、第１のマルチコアＣＰＵ１１４のコア１１４ａから第２のマルチコアＣＰＵ１１５のコア１１５ａへのタスク移行に要する１往復分のコスト（消費電力）を浪費してしまうことになる。このため、曲線Ｐ２で示される累積消費電力は急激に増大する。
【００６０】
そこで、この実施形態では、上述の無駄を回避するために、第２のマルチコアＣＰＵ１１５のコア１１５ａから第１のマルチコアＣＰＵ１１４のコア１１４ａへのタスク移行の判断時に、現在実施中のＰＣプリントジョブの残量を確認し、確認結果に応じてタスクの移行を実施するかしないかを制御するようになっている。
【００６１】
具体的には、ＰＣプリントジョブをタスクの移行完了までに完了可能か否かを判定している。より具体的には、ＰＣプリントジョブの残量の処理時間が、タスクの移行完了までの時間内に収まるかどうかを判定し、収まる場合は移行処理を実施しないように制御している。
【００６２】
このような構成とすることで不要なタスク移行を防ぐことができ、より消費電力の節約が可能となる。この効果を図４を参照して説明する。
【００６３】
図３の場合と同様に、時刻Ｔ１においてＰＣプリントジョブが開始されたとし、時刻Ｔ２でコピージョブが投入されたとすると、コピージョブの投入により、第２のマルチコアＣＰＵ１１５のコア１１５ａの負荷は増大する。時刻Ｔ３で、コア１１５ａの負荷が閾値Ｌ１に達すると、第２のマルチコアＣＰＵ１１５のコア１１５ａから第１のマルチコアＣＰＵ１１４のコア１１４ａへのタスク移行のタイミングと判定される。
【００６４】
この実施形態では、タスク移行と判定されたときに、ＰＣプリントジョブの残量の処理時間が、タスクの移行完了までの時間内に収まるかどうかを判定し、収まることがわかった場合には、第２のマルチコアＣＰＵ１１５のコア１１５ａから第１のマルチコアＣＰＵ１１４のコア１１４ａへのタスク移行を実行させることなく、第２のマルチコアＣＰＵ１１５のコア１１５ａにタスクを継続させる。直後にＰＣプリントジョブが完了する。
【００６５】
従って、移行処理に伴う無駄な電力消費は発生しない。その結果、図４に曲線Ｐ３で示される累積消費電力は緩やかに上昇し、移行処理を実行した場合の破線Ｐ２の累積消費電力に較べて、消費電力を格段に少なくできる。
【００６６】
次に、ＰＣプリントジョブの残量の処理時間が、タスクの移行完了までの時間内に収まるかどうかの具体例を説明する。
【００６７】
ＰＣプリントジョブの残量判断として、画像処理単位に分割して考える。図５（Ａ）に示すように、例えば毎分６０枚の出力が可能なＭＦＰ１、つまりプリンタ部１６（印刷エンジン）のプロセススピードが毎分６０枚であるＭＦＰ１を例にとると、１ページの処理に要する時間は１秒となる。
【００６８】
また、Ａ４サイズの画像データ１ページを仮に４０バンドに分割して処理を行うと想定すると、１バンド処理にかかる時間は約２５ｍｓと推測出来る。
【００６９】
前述したように、タスクの移行処理に必要な準備時間は５０〜１００ｍｓとされているが、準備時間を１００ｍｓとすると移行処理中に４バンド程度の処理が可能となる。このため、コアにかかる負荷に基づいてタスクを移行させると判定された場合に、まず実行中のＰＣプリントジョブの処理が最終ページの処理であるかどうかを判定する。最終ページでなければタスクの移行完了までにＰＣプリントジョブを完了することができないので、タスクの移行処理を実行する。最終ページの処理であると判定された場合には、最終ページにおける未処理データの処理に要する時間を、未処理バンドの処理に要する時間から取得し、未処理バンド数が４以下、従って未処理バンドの処理時間が１００ｍｓ以下である場合は、タスク移行処理を実行しないように制御を実施する。
【００７０】
例えば、図５（Ｂ）に示すように、未処理バンドが３バンドであるとすると、未処理バンドの処理時間が約７５ｍｓとなり、これはタスクの移行処理に必要な時間１００ｍｓよりも小さいから、タスク移行の完了までに実行中のＰＣプリントジョブを完了することができると判断して、タスク移行処理は実行しない。
【００７１】
上記の例では、未処理バンドの処理に要する時間を、印刷エンジンのプロセススピードに基づいて取得したが、処理済みバンドの処理時間をカウントしておき、この処理時間の実績値に基づいて、未処理バンドの処理に要する時間を取得してもよい。
【００７２】
図６にＣＰＵ１１の機能ブロック図を示す。前述したように、ＣＰＵ１１はＯＳを実行することにより機能的に構成される移行判定制御部１１１と負荷監視部１１２、ＭＦＰアプリを実行することにより機能的に構成される最終ページ判定部１１３及びジョブ残量確認部１１４を備えている。
【００７３】
移行判定制御部１１１は、負荷監視部１１２により監視されるコアの負荷が予め設定された閾値に到達した場合に、実行中のジョブの最終ページの残量の処理がタスクの移行完了までに完了する場合は、他方のマルチコアＣＰＵの対応するコアへのタスク移行を実行せず、完了しない場合にタスク移行を実行する制御を行う。
【００７４】
負荷監視部１１２はタスクによる各コアの負荷を監視する。最終ページ判定部１１３は実行中のジョブの処理が最終ページの処理であるかどうかを判定する。
【００７５】
ジョブ残量確認部１１４は、移行判定制御部１１１により負荷に基づいてタスクを移行させると判定された場合に、該タスクによって実行中のジョブの残量を確認する。具体的な確認方法の一例としては、上述したように、最終ページの未処理バンドの処理に要する時間を、印刷エンジンのプロセススピードに基づいて、あるいは処理済みバンドの処理時間（実績値）に基づいて取得する。そして、取得された最終ページにおける未処理データの処理に要する時間とタスクの移行完了までの時間とを比較することにより、実行中のジョブをタスクの移行完了までに完了可能かどうかを判定する。完了可能と判定された場合は、移行判定制御部１１１によるタスク移行が実行される。
【００７６】
図７は、ジョブ実行中のタスクの移行制御処理を示すフローチャートである。この処理は、ＣＰＵ１１がＯＳ及びＭＦＰアプリに従って動作することにより実行される。
【００７７】
ステップＳ０１では、コアの負荷が閾値以上かどうかを判断する。閾値以上でなければ（ステップＳ０１でＮＯ）、何もしない。閾値以上の場合は（ステップＳ０１でＹＥＳ）、ステップＳ０２で、現在実行中のジョブはタスクの移行完了前に終わるかどうかを判定する。終わる場合は（ステップＳ０２でＹＥＳ）、ステップＳ０３でタスクの移行制御を実施しない。現在実行中のジョブがタスクの移行完了前に終わらなければ（ステップＳ０２でＮＯ）、ステップＳ０４でタスクの移行制御を実施する。
【００７８】
図８は、図７におけるステップＳ０２の現在実行中のジョブはタスクの移行完了前に終わるかどうかの判定処理を示すフローチャートである。
【００７９】
ステップＳ０２１では実行中のジョブの処理ページは最終ページかどうかを判定する。最終ページでなければ（ステップＳ０２１でＮＯ）、図７のステップＳ０４に進み、移行判定制御部１１１はタスクの移行制御を実施する。
【００８０】
最終ページであれば（ステップＳ０２１でＹＥＳ）、ステップＳ０２２で、未処理バンド数の処理時間を取得する。処理時間の取得は、印刷エンジンのプロセススピードから計算しても良いし、処理済みバンド数の処理に要した時間から計算しても良い。いずれで計算するかは予め設定されている。
【００８１】
次いでステップＳ０２３で、未処理バンド数の処理時間はタスク移行時間より短いかどうかを判定する。短い場合は（ステップＳ０２３でＹＥＳ）、無駄なタスク移行を避けるため、図７のステップＳ０３へ進み、移行判定制御部１１１はタスクの移行制御を実施しない。未処理バンド数の処理時間がタスク移行時間以上である場合は（ステップＳ０２３でＮＯ）、図７のステップＳ０４に進み、移行判定制御部１１１はタスクの移行制御を実施する。
【００８２】
以上、本発明の一実施形態を説明したが、本発明は上記実施形態に限定されることはない。
【００８３】
例えば、第２のマルチコアＣＰＵ１１４のコアから第１のマルチコアＣＰＵ１１５のコアへタスク移行する場合を説明したが、第１のマルチコアＣＰＵ１１５のコアから第２のマルチコアＣＰＵ１１４のコアへタスク移行する場合にも、この発明を同様に適用することができる。即ち、例えば第１のマルチコアＣＰＵ１１４のコア１１４ａでタスクを実行しているときに、該コア１１４ａの負荷が閾値まで減少したときに、通常では、対応する第２のマルチコアＣＰＵ１１５のコア１１５ａにタスクが移行されるが、コア１１５ａへの移行が完了するまでに実行中のジョブが完了することが確認されたときは、コア１１５ａへのタスク移行制御を行うことなく、第１のマルチコアＣＰＵ１１４のコア１１４ａでのタスクをそのまま継続する。これによって、第１のマルチコアＣＰＵ１１４から第２のマルチコアＣＰＵ１１５へのタスク移行に伴う無駄な消費電力の発生を防止できる。
【符号の説明】
【００８４】
１    画像処理装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  スキャナ部
１５  記憶部
１７  操作パネル
１１１  移行判定制御部
１１２  負荷監視部
１１３  最終ページ判定部
１１４  ジョブ残量確認部
【図１】
2017147529.tif 000003
【図２】
2017147529.tif 000004
【図３】
2017147529.tif 000005
【図４】
2017147529.tif 000006
【図５】
2017147529.tif 000007
【図６】
2017147529.tif 000008
【図７】
2017147529.tif 000009
【図８】
2017147529.tif 000010