(57)【特許請求の範囲】
【請求項１】
複数のコアを有する第１のマルチコアＣＰＵと、
前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、前記第１のマルチコアＣＰＵの各コアと対になった複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、
オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵのうちのいずれかのマルチコアＣＰＵにおけるいずれかのコアにおいて、実行中のタスクについて該コアの動作周波数が予め設定された閾値に達したときに、他方のマルチコアＣＰＵの対応するコアにタスクを移行させる制御を行うタスク移行手段と、
を備えた画像形成装置において、
自装置の状態が、前記タスク移行手段によるタスク移行制御を変更するものとして予め設定された所定の状態かどうかを判定する判定手段と、
前記判定手段により、自装置の状態が予め設定された所定の状態であると判定された場合は、前記タスク移行手段により実行されるタスクの移行制御の内容を変更するタスク移行制御変更手段と、
を備えたことを特徴とする画像形成装置。
【請求項２】
前記タスク移行制御変更手段は、タスクの移行を行うことなく元のコアに固定してタスクを実行させることによってタスクの移行制御の内容を変更する請求項１に記載の画像形成装置。
【請求項３】
外部のパーソナルコンピュータから受信したプリントジョブを印刷するプリント機能を有し、
前記予め設定された状態は、コピージョブを処理中であるために、パーソナルコンピュータから投入されたプリントジョブについて直ちにビットマップデータへの展開処理を開始しても印刷処理へと移行できない状態である請求項１または２に記載の画像形成装置。
【請求項４】
前記予め設定された状態は、予約されているジョブの出力時刻に対して前記第２のマルチコアＣＰＵのコアによるタスクの処理で問題のない状態である請求項１〜３のいずれかに記載の画像形成装置。
【請求項５】
ファクシミリ機能を有し、
前記予め設定された状態は、自装置がファクシミリ夜間受信モードに設定されている状態である請求項１〜３のいずれかに記載の画像形成装置。
【請求項６】
コピー機能を有し、
前記予め設定された状態は、パーソナルコンピュータから投入されたプリントジョブを処理中であるために、投入されたコピージョブの読み取り画像処理を直ちに開始しても印刷処理へと移行できない状態である請求項１〜３のいずれかに記載の画像形成装置。
【請求項７】
前記タスク移行制御変更手段は、前記動作周波数の閾値を変更し、及び／またはタスクの動作時間を設定することによってタスクの移行制御の内容を変更する請求項１〜６のいずれかに記載の画像形成装置。
【請求項８】
複数のコアを有する第１のマルチコアＣＰＵと、
第１のマルチコアＣＰＵの各コアと対になった複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、
を備え、
オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵのうちのいずれかのマルチコアＣＰＵにおけるいずれかのコアにおいて、実行中のタスクについて該コアの動作周波数が予め設定された閾値に達したときに、他方のマルチコアＣＰＵの対応するコアにタスクを移行させる制御を行うタスク移行ステップを実行する画像形成装置において、
自装置の状態が、前記タスク移行ステップによるタスク移行制御を変更するものとして予め設定された所定の状態かどうかを判定する判定ステップと、
前記判定ステップにより、自装置の状態が予め設定された所定の状態であると判定された場合は、前記タスク移行ステップにより実行されるタスクの移行制御の内容を変更するタスク移行制御変更ステップと、
を実行することを特徴とする画像形成装置のタスク制御方法。
【請求項９】
複数のコアを有する第１のマルチコアＣＰＵと、
第１のマルチコアＣＰＵの各コアと対になった複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、
を備えた画像形成装置のＣＰＵに、
オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵのうちのいずれかのマルチコアＣＰＵにおけるいずれかのコアにおいて、実行中のタスクについて該コアの動作周波数が予め設定された閾値に達したときに、他方のマルチコアＣＰＵの対応するコアにタスクを移行させる制御を行うタスク移行ステップを実行させ、
さらに、
自装置の状態が、前記タスク移行ステップによるタスク移行制御を変更するものとして予め設定された所定の状態かどうかを判定する判定ステップと、
前記判定ステップにより、自装置の状態が予め設定された所定の状態であると判定された場合は、前記タスク移行ステップにより実行されるタスクの移行制御の内容を変更するタスク移行制御変更ステップと、
を実行させるためのタスク制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、コピー機能、プリンタ機能、ファクシミリ機能、スキャン機能等の複数の機能を有する多機能デジタル複合機であるＭＦＰ（Multi Function Peripheral）等の画像形成装置、同装置におけるタスク制御方法及びタスク制御プログラムに関する。
【背景技術】
【０００２】
ＡＲＭ社が開発した「big.LITTLE」と称される省電力技術は、基本構成として、複数のコアを有し、消費電力が大きいが処理性能は高い第１のマルチコアＣＰＵと、この第１のマルチコアＣＰＵの各コアと対になった複数のコアを有し、第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵとが、SoC（System-on-a-Chip）と称されるように一つの半導体チップに実装されてなる。
【０００３】
このような省電力技術を実施する動作モデルの一つとしてＣＰＵマイグレーションモデルがあり、この動作モデルを前述したＭＦＰ等の画像形成装置に応用することが考えられている。ここで、ＣＰＵマイグレーションモデルとは、オペレーティングシステムに基づいて、第１のマルチコアＣＰＵと第２のマルチコアＣＰＵのうちのいずれかのＣＰＵ、例えば第２のマルチコアＣＰＵにおけるいずれかのコアにおいて、該コアの動作周波数が予め設定された閾値まで上昇したときに、第１のマルチコアＣＰＵの対応するコアにタスクを移行させる動作を行うものである。
【０００４】
しかし、このＣＰＵマイグレーションモデルをそのままＭＦＰ等に適用すると、第２のマルチコアＣＰＵのあるコアの動作周波数が閾値まで上昇すると、オペレーティングシステムが自動的に第１のマルチコアＣＰＵにおける対応するコアにタスクを移行してしまう。このため、ＭＦＰ等に処理速度が求められない状況においても、消費電力の大きい第１のマルチコアＣＰＵで処理を実行してしまい、電力を無駄に消費してしまうという問題の発生が予想される。
【０００５】
例えば、大量のコピージョブを実行中のＭＦＰに対して、外部のパーソナルコンピュータからプリントジョブ（ＰＣプリントジョブ）が投入された場合、ビットマップデータへの展開処理（ＲＩＰ処理）用に割り当てられているコアがＲＩＰ処理の動作を開始する。このＲＩＰ処理はコピージョブの終了までに処理が終了すれば良いにもかかわらず、その処理の性格上、重い画像がジョブ内に含まれていた場合は、そのコアの動作周波数が閾値に達し、第１のマルチコアＣＰＵのコアにタスクが移行してしまい、不必要な電力を消費してしまう。
【０００６】
同様の状況は、
・出力時間が設定された予約ジョブにおけるＪＰＥＧ等のソフト画像処理を実行するとき、
・ファクシミリ夜間受信モード中にファクシミリ以外のジョブが投入された場合、
・大量のＰＣプリントジョブの実行中に投入されたコピージョブの読み取り画像処理、
等においても同様に起こりうる。
【０００７】
また逆に、第１のマルチコアＣＰＵにおけるいずれかのコアにおいて、該コアの動作周波数が下降したときに、該コアでの処理が必要であるにもかかわらず、処理性能の小さい第２のマルチコアＣＰＵの対応するコアにタスクが自動的に移行してしまう場合には、消費電力は少なくなるが処理が遅くなってしまうという問題が発生する。
【０００８】
なお、特許文献１には、ＣＰＵコア内に１つでも負荷の高いスレッドがある場合であっても、そのスレッドを有するＣＰＵコアを省電力状態に移行する技術が開示されている。具体的には、複数のコアにおいて動作中のスレッドの負荷を測定し、前記測定の結果から「高負荷スレッド」の数と、「低負荷スレッド」の数をそれぞれ調べることにより、前記コアのそれぞれに前記高負荷スレッド及び前記低負荷スレッドがそれぞれいくつ存在するのか調べ、自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアがあった場合は、当該コアを候補コアとして選択し、前記候補コア以外のコアに存在する低負荷スレッド数の総数が、前記候補コアに存在する高負荷スレッドの数以上である場合は、前記候補コアに存在する高負荷スレッドと前記候補コア以外のコアに存在する低負荷スレッドを入れ替える、というものである。
【０００９】
また、特許文献２には、複数のタスク処理部の負荷を平準化し、マルチコアプロセッサの演算能力を効率的に活用して処理を行うことを可能とするネットワークスイッチ装置等を提供する技術が開示されている。具体的には、ネットワークスイッチ装置は、入力されたパケットに対して出力先のネットワークに応じた処理を行う複数のタスク処理部と、入力されたパケットを処理するタスクを実行するタスク処理部を決定してそこに当該タスクを割り当てるタスク割当部と、各タスク処理部のＣＰＵ使用率を取得し、このＣＰＵ使用率に応じて一のタスク処理部に割り当てられたタスクを他のタスク処理部に移動させるタスク移動部とを備える、というものである。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１１−１８６５３１号公報
【特許文献２】特開２０１４−１１０５３８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、上記特許文献１及び２に記載の技術は、画像形成装置において、第１のマルチコアＣＰＵと第２のマルチコアＣＰＵの対となるコア間で動作周波数を閾値としてタスクを移行させる技術ではない。
【００１２】
このため、第２のマルチコアＣＰＵのあるコアの動作周波数が閾値まで上昇すると、オペレーティングシステムが自動的に第１のマルチコアＣＰＵにおける対応するコアにタスクを移行してしまい、画像形成装置に処理速度が求められない状況において電力を無駄に消費してしまうという課題や、第１のマルチコアＣＰＵにおけるいずれかのコアにおいて、該コアの動作周波数が下降したときに、該コアでの処理が必要であるにもかかわらず、処理性能の低い第２のマルチコアＣＰＵの対応するコアにタスクが自動的に移行してしまい処理が遅くなってしまうという問題を解決することはできなかった。
【００１３】
この発明は、このような技術的背景に鑑みてなされたものであって、第１のマルチコアＣＰＵと第２のマルチコアＣＰＵのうちのいずれかのマルチコアＣＰＵにおけるいずれかのコアの動作周波数が予め設定された閾値に達したときに、他方のマルチコアＣＰＵの対応するコアへ強制的に移行されてしまう問題を解決できる画像形成装置、同装置におけるタスク制御方法及びタスク制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題は、以下の手段によって解決される。
（１）複数のコアを有する第１のマルチコアＣＰＵと、前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、前記第１のマルチコアＣＰＵの各コアと対になった複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵのうちのいずれかのマルチコアＣＰＵにおけるいずれかのコアにおいて、実行中のタスクについて該コアの動作周波数が予め設定された閾値に達したときに、他方のマルチコアＣＰＵの対応するコアにタスクを移行させる制御を行うタスク移行手段と、を備えた画像形成装置において、自装置の状態が、前記タスク移行手段によるタスク移行制御を変更するものとして予め設定された所定の状態かどうかを判定する判定手段と、前記判定手段により、自装置の状態が予め設定された所定の状態であると判定された場合は、前記タスク移行手段により実行されるタスクの移行制御の内容を変更するタスク移行制御変更手段と、を備えたことを特徴とする画像形成装置。
（２）前記タスク移行制御変更手段は、タスクの移行を行うことなく元のコアに固定してタスクを実行させることによってタスクの移行制御の内容を変更する前項１に記載の画像形成装置。
（３）外部のパーソナルコンピュータから受信したプリントジョブを印刷するプリント機能を有し、前記予め設定された状態は、コピージョブを処理中であるために、パーソナルコンピュータから投入されたプリントジョブについて直ちにビットマップデータへの展開処理を開始しても印刷処理へと移行できない状態である前項１または２に記載の画像形成装置。
（４）前記予め設定された状態は、予約されているジョブの出力時刻に対して前記第２のマルチコアＣＰＵのコアによるタスクの処理で問題のない状態である前項１〜３のいずれかに記載の画像形成装置。
（５）ファクシミリ機能を有し、前記予め設定された状態は、自装置がファクシミリ夜間受信モードに設定されている状態である前項１〜３のいずれかに記載の画像形成装置。
（６）コピー機能を有し、前記予め設定された状態は、パーソナルコンピュータから投入されたプリントジョブを処理中であるために、投入されたコピージョブの読み取り画像処理を直ちに開始しても印刷処理へと移行できない状態である前項１〜３のいずれかに記載の画像形成装置。
（７）前記タスク移行制御変更手段は、前記動作周波数の閾値を変更し、及び／またはタスクの動作時間を設定することによってタスクの移行制御の内容を変更する前項１〜６のいずれかに記載の画像形成装置。
（８）複数のコアを有する第１のマルチコアＣＰＵと、第１のマルチコアＣＰＵの各コアと対になった複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、を備え、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵのうちのいずれかのマルチコアＣＰＵにおけるいずれかのコアにおいて、実行中のタスクについて該コアの動作周波数が予め設定された閾値に達したときに、他方のマルチコアＣＰＵの対応するコアにタスクを移行させる制御を行うタスク移行ステップを実行する画像形成装置において、自装置の状態が、前記タスク移行ステップによるタスク移行制御を変更するものとして予め設定された所定の状態かどうかを判定する判定ステップと、前記判定ステップにより、自装置の状態が予め設定された所定の状態であると判定された場合は、前記タスク移行ステップにより実行されるタスクの移行制御の内容を変更するタスク移行制御変更ステップと、を実行することを特徴とする画像形成装置のタスク制御方法。
（９）複数のコアを有する第１のマルチコアＣＰＵと、第１のマルチコアＣＰＵの各コアと対になった複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、を備えた画像形成装置のＣＰＵに、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵのうちのいずれかのマルチコアＣＰＵにおけるいずれかのコアにおいて、実行中のタスクについて該コアの動作周波数が予め設定された閾値に達したときに、他方のマルチコアＣＰＵの対応するコアにタスクを移行させる制御を行うタスク移行ステップを実行させ、さらに、自装置の状態が、前記タスク移行ステップによるタスク移行制御を変更するものとして予め設定された所定の状態かどうかを判定する判定ステップと、前記判定ステップにより、自装置の状態が予め設定された所定の状態であると判定された場合は、前記タスク移行ステップにより実行されるタスクの移行制御の内容を変更するタスク移行制御変更ステップと、を実行させるためのタスク制御プログラム。
【発明の効果】
【００１５】
前項（１）に記載の発明によれば、自装置の状態が、タスク移行手段によるタスク移行制御を変更するものとして予め設定された所定の状態かどうかを判定する判定し、予め設定された所定の状態であると判定された場合は、タスク移行手段により実行されるタスクの移行制御の内容を変更する。つまり、実行中のタスクについてコアの動作周波数が予め設定された閾値に達したときであっても、自装置の状態が予め設定された所定の状態の時は、他方のマルチコアＣＰＵの対応するコアにタスクが強制的に移行するのが回避されるから、自装置の状態に応じて画像形成装置に最適なタスク制御を実行することができ、無駄な電力消費を防止でき、あるいは処理が遅くなるのを防止できる。
【００１６】
前項（２）に記載の発明によれば、タスクの移行を行うことなく元のコアに固定してタスクを実行させることで、画像形成装置は自装置の状態に応じて最適なタスク制御を行うことができる。
【００１７】
前項（３）に記載の発明によれば、コピージョブを処理中であるために、パーソナルコンピュータから投入されたプリントジョブについて直ちにビットマップデータへの展開処理を開始しても印刷処理へと移行できない状態の時に、タスクの移行制御の内容が変更される。
【００１８】
前項（４）に記載の発明によれば、予約されているジョブの出力時刻に対して第２のマルチコアＣＰＵのコアによるタスクの処理で問題のい時に、タスクの移行制御の内容が変更される。
【００１９】
前項（５）に記載の発明によれば、自装置がファクシミリ夜間受信モードに設定されているときに、タスクの移行制御の内容が変更される。
【００２０】
前項（６）に記載の発明によれば、パーソナルコンピュータから投入されたプリントジョブを処理中であるために、投入されたコピージョブの読み取り画像処理を直ちに開始しても印刷処理へと移行できないときに、タスクの移行制御の内容が変更される。
【００２１】
前項（７）に記載の発明によれば、動作周波数の閾値を変更し、及び／またはタスクの動作時間を設定することにより、画像形成装置は自装置の状態に応じて最適なタスク制御を行うことができる。
【００２２】
前項（８）に記載の発明によれば、実行中のタスクについてコアの動作周波数が予め設定された閾値に達したときであっても、自装置の状態が、タスク移行ステップによるタスク移行制御を変更するものとして予め設定された所定の状態の時は、他方のマルチコアＣＰＵの対応するコアにタスクが強制的に移行するのが回避されるから、自装置の状態に応じて画像形成装置に最適なタスク制御を実行することができ、無駄な電力消費を防止でき、あるいは処理が遅くなるのを防止できる。
【００２３】
前項（９）に記載の発明によれば、自装置の状態が、タスク移行ステップによるタスク移行制御を変更するものとして予め設定された所定の状態かどうかを判定する判定し、予め設定された所定の状態であると判定された場合は、タスクの移行制御の内容を変更する処理を、画像形成装置のＣＰＵに実行させることができる。
【図面の簡単な説明】
【００２４】
【図１】この発明の一実施形態に係る画像形成装置１の構成を示すブロック図である。
【図２】ＣＰＵの構成と基本動作を説明するための図である。
【図３】ジョブの予約状態を示す図である。
【図４】ＯＳに基づいて２つのマルチコアＣＰＵのコア間でタスク移行が発生する状態を説明するための図である。
【図５】タスク移行を行った場合と行わなかった場合の累積消費電力の差異を示すグラフである。
【図６】タスク移行が発生する動作周波数の閾値を変更する処理を説明するための図である。
【図７】ＣＰＵの機能ブロック図である。
【図８】処理判定制御部で実行される動作を示すフローチャートである。
【図９】タスク移行閾値変更制御部で実行される動作を示すフローチャートである。
【図１０】移行判定制御部の動作を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、この発明の実施形態を図面に基づいて説明する。
【００２６】
図１はこの発明の一実施形態に係る画像形成装置１の構成を示すブロック図である。この実施形態では、各画像形成装置１として、前述した多機能デジタル複合機であるＭＦＰが用いられている。以下、画像形成装置をＭＦＰともいう。
【００２７】
画像形成装置１は、ＲＯＭ１２、ＲＡＭ１３、スキャナ部１４、記憶部１５、プリンタ部１６、操作パネル１７、ネットワークインターフェース（ネットワークＩ／Ｆ）１８、ＵＳＢインターフェース（ＵＳＢＩ／Ｆ）１９及び画像処理ＡＳＩＣ２０等を備え、これらはバス２を介してＣＰＵ１１に接続されている。
【００２８】
前記ＣＰＵ１１は、画像形成装置１の全体を統括制御し、コピー機能、プリンタ機能、スキャン機能、ファクシミリ機能等の基本機能を使用可能に制御する。ＣＰＵ１１は、ＯＳ（オペーレーティングシステム）を実行することにより機能的に構成される移行判定制御部１１１と、アプリケーション（ＭＦＰアプリ）を実行することにより機能的に構成される処理判定制御部１１２及びタスク移行閾値変更制御部１１３を備えている。これらについては後述する。
【００２９】
ＲＯＭ１２はＣＰＵ１１の動作プログラム等を格納するメモリである。
【００３０】
ＲＡＭ１３は、ＣＰＵ１１が動作プログラムに基づいて動作する際の作業領域を提供するメモリである。
【００３１】
スキャナ部１４は、原稿台（図示せず）に置かれた原稿の画像を読み取り、画像データを出力する読み取り手段である。
【００３２】
記憶部１５は、例えばハードディスクドライブ（ＨＤＤ）などの不揮発性の記憶デバイスにより構成されており、ＯＳ、ＭＦＰアプリ、スキャナ部１４でスキャンされた原稿の画像データ等が記憶されている。
【００３３】
プリンタ部１６は、スキャナ部１４でスキャンされた原稿の画像データや外部からのプリントデータ等を、指示されたモードに従って印刷するものである。
【００３４】
操作パネル１７は、各種入力操作等のために使用されるものであり、メッセージや操作画面等を表示するタッチパネル式液晶等からなる表示部１７１と、テンキー、スタートキー、ストップキー等を備えた操作部１７２を備えている。
【００３５】
ネットワークＩ／Ｆ１８は、ネットワーク上の他の画像形成装置や、その他の外部機器例えばユーザー端末等との間での通信を制御することにより、データの送受信を行うものである。
【００３６】
ＵＳＢＩ／Ｆ１９は、ＵＳＢメモリ（図示せず）を接続するための接続部であり、画像処理ＡＳＩＣ（Application Specific Integrated Circuit）２０は画像処理を行う回路である。
【００３７】
ＣＰＵ１１は、図２（Ｂ）に示すように、第１のマルチコアＣＰＵ（ｂｉｇクラスタともいう）１１４と第２のマルチコアＣＰＵ（ＬＩＴＴＬＥクラスタともいう）１１５が、SoCと称されるように一つの半導体チップに実装されてなる。第１のマルチコアＣＰＵ１１４は消費電力は大きいが処理能力が高いＣＰＵであり、第２のマルチコアＣＰＵ１１５は消費電力は第１のＣＰＵ１１４よりも相対的に小さいが処理能力が相対的に低いＣＰＵである。
【００３８】
また、第１のマルチコアＣＰＵ１１４は４個のコア（ｂｉｇコアともいう）１１４ａ〜１１４ｄを備えており、第２のマルチコアＣＰＵ１１５は、第１のマルチコアＣＰＵ１１４の各コア１１４ａ〜１１４ｄと対になった４個のコア（ＬＩＴＴＬＥコアともいう）１１５ａ〜１１５ｄを備えている。この実施形態では、ＭＦＰ１の動作時にはＯＳにより、対になったコア１１４ａと１１５ａにスキャン制御のタスクが割り当てられ、コア１１４ｂと１１５ｂにプリント制御のタスクが割り当てられる。また、コア１１４ｃと１１５ｃに、外部のパーソナルコンピュータからプリントジョブ（ＰＣプリントジョブ）が投入された場合、ビットマップデータへの展開処理（ＲＩＰ処理）のタスクが割り当てられ、コア１１４ｄと１１５ｄに割り込み制御のタスクが割り当てられる。
【００３９】
また、この実施形態では、各マルチコアＣＰＵ１１４、１１５の対になった２つのコアは、一方のみが動作するＣＰＵマイグレーションモデルが適用される。従って、図２（Ｂ）に示すように、例えば第１のマルチコアＣＰＵ１１４のコア１１４ａが動作するときは、第２のマルチコアＣＰＵ１１５の対応するコア１１５ａはオフとなっている。また、例えば第２のマルチコアＣＰＵ１１５のコア１１５ｂ〜１１５ｄが動作するときは、第１のマルチコアＣＰＵ１１４の対応するコア１１４ｂ〜１１４ｄはオフとなっている。
【００４０】
従って、ＣＰＵマイグレーションモデルでは、ＯＳから見えるコアは図２（Ａ）に示すように４個である。また、各タスクの割り当てはまず、処理性能は低いが消費電力の小さい第２のマルチコアＣＰＵ１１５のコア１１５ａ〜１１５ｄに対して行われ、第１のマルチコアＣＰＵ１１４の各コア１１４ａ〜１１４ｄはオフとなっている。
【００４１】
そして、従来では、第２のマルチコアＣＰＵ１１５のコア１１５ａ〜１１５ｄに対する負荷が増加してコアの動作周波数が予め設定された閾値に達すると、ＯＳに基づいて、自動的に処理性能が高い第１のマルチコアＣＰＵ１１４のコアへ移行するようになっている。
【００４２】
例えばスキャナ部１４によるスキャン動作が開始された場合は、図２（Ｂ）に示すように、スキャン制御のタスクが第２のマルチコアＣＰＵ１１５のコア１１５ａから第１のマルチコアＣＰＵ１１４のコア１１４ａに移行する。
【００４３】
また、図３に示すように、３個のコピージョブ（ジョブＩＤ１０〜１２）が予約されている状態で、ＰＣプリントジョブ（ジョブＩＤ１３）が投入された場合は、従来では図４に示すように、ＯＳに基づいて、ＲＩＰ処理のタスクが割り当てられる第２のマルチコアＣＰＵ１１５のコア１１５ｃから、第１のマルチコアＣＰＵ１１４のコア１１５ｃへのタスク移行が発生すると考えられる。
【００４４】
しかし、ＭＦＰ１はジョブＩＤ１０〜１２のコピージョブを処理中であるため、ＲＩＰ処理が完了してもすぐにＲＩＰ処理後のデータを印字することはできない。従って、処理性能の低い第２のマルチコアＣＰＵ１１５のコア１１５ｃのみで処理を行ったとしても、ジョブＩＤ１０〜１２のコピージョブの終了までにＲＩＰ処理を完了できるにもかかわらず、コア１１５ｃの動作周波数が閾値に達するとＯＳにより強制的にコア１１４ｃへのタスク移動が行われ、結果として無駄な電力を消費してしまうことになる。
【００４５】
ジョブＩＤ１０〜１２のコピージョブの終了までに、従来のように第２のマルチコアＣＰＵ１１５のコア１１５ｃから第１のマルチコアＣＰＵ１１４のコア１１４ｃへとタスクが移行した場合と、第２のマルチコアＣＰＵ１１５のコア１１５ｃのみでのＲＩＰ処理が完了できた場合の累積消費電力の差異を、図５のグラフに示す。図５中において、実線Ｘは、第２のマルチコアＣＰＵ１１５のコア１１５ｃのみでのＲＩＰ処理が完了した場合の累積消費電力を示し、鎖線Ｙは、従来のように、第１のマルチコアＣＰＵ１１４のコア１１４ｃへのタスク移行が発生した場合の累積消費電力を示しており、消費電力が増加している。
【００４６】
そこで、この実施形態では、ＭＦＰ１は自装置の状態がタスクの移行制御の内容変更を許容できる状態であるか否かを判定し、タスクの移行制御の内容変更を許容できる状態であると判定された場合は、ＯＳにより実行されるタスクの移行制御を変更するようになっている。
【００４７】
タスクの移行制御の内容変更を許容できる状態は予め設定されており、この実施形態では例えば、パーソナルコンピュータから投入されたプリントジョブが直ちにビットマップデータへの展開処理を開始し印刷処理へと移行する必要のない状態が設定されている。さらに、予約されているジョブの出力時刻に対して第２のマルチコアＣＰＵ１１５のコアによる処理で問題のない状態が設定されている。さらには、ＭＦＰ１がファクシミリ夜間受信モードに設定されている状態が設定されている。
【００４８】
これらいずれかの状態に該当するか否かを判定し、該当する場合には、ＯＳにより実行されるタスクの移行制御の内容を変更する。
【００４９】
ＯＳにより実行されるタスクの移行制御の内容変更方法としては、例えばタスク移行のタイミングとなる動作周波数の閾値を変更する方法を挙げることができる。即ち、図６（Ａ）に示すように、第２のマルチコアＣＰＵ１１５のコア１１５ｃにおいてタスク移行が発生する動作周波数の閾値ｆを、同図（Ｂ）に示すように、限界値の範囲内で高値に変更し、タスクが移行しないように、あるいは移行のタイミングが遅れるようにする。これによって、消費電力を抑制することができる。
【００５０】
また、ＯＳにより実行されるタスクの移行制御の内容変更の他の方法として、タスクの移行を行うことなく元のコア１１４ｃに固定してタスクを実行させるように制御する方法や、元のコア１１４ｃでタスクを実行する時間を設定する方法を挙げることができる。また、動作周波数の閾値の変更やタスク実行時間の設定等を組み合わせても良い。
【００５１】
図７にＣＰＵ１１の機能ブロック図を示す。前述したように、ＣＰＵ１１はＯＳを実行することにより機能的に構成される移行判定制御部１１１と、ＭＦＰアプリを実行することにより機能的に構成される処理判定制御部１１２及びタスク移行閾値変更制御部１１３を備えている。
【００５２】
移行判定制御部１１１は、コアの動作周波数が予め設定された閾値に到達したかどうかを判定し、閾値に到達した場合に他方のマルチコアＣＰＵの対応するコアへタスクの移行を実行する。また、タスクの移行制御の内容変更があるときは、タスク移行閾値変更制御部１１３からの通知に従って、閾値の変更等を行う。
【００５３】
処理判定制御部１１２は、自装置の状態が前述した予め設定された所定の状態であるか否かを判定し、それに応じて動作周波数の閾値を変更する等、タスクの移行制御の変更内容を決定する。
【００５４】
タスク移行閾値変更制御部１１３は、処理判定制御部１１２により決定されたタスクの移行制御の変更内容をＯＳに通知する。ＯＳはタスク移行閾値変更制御部１１３からの通知に従って、第１のマルチコアＣＰＵ１１４のコア１１４ａ〜１１４ｄ、第２のマルチコアＣＰＵ１１５のコア１１５ａ〜１１５ｄを制御する。
【００５５】
図８〜１０はジョブが投入されたときのタスクの移行制御変更処理を示すフローチャートである。この処理は、ＣＰＵ１１がＯＳ及びＭＦＰアプリに従って動作することにより実行される。
【００５６】
図８は処理判定制御部１１２で実行される動作を示すフローチャートである。
【００５７】
ステップＳ０１では、ファクシミリ夜間受信モード中かどうかを判断し、モード中であれば（ステップＳ０１でＹＥＳ）、急いで処理を行う必要はない、つまりＯＳによる従来のタスク移行制御をそのまま実行しなくても良いから、ステップＳ１１で、全てのジョブについてＬＩＴＴＬＥコアに固定して動作させる決定を行った後、ステップＳ０５に進む。ファクシミリ夜間受信モード中でなければ（ステップＳ０１でＮＯ）、ステップＳ０２に進む。
【００５８】
ステップＳ０２では、投入されているジョブに出力時刻が設定されているかどうかを判断する。出力時刻が設定されていれば（ステップＳ０２でＹＥＳ）、ステップＳ０８で、出力時刻までにＬＩＴＴＬＥコアのみで処理が完了できるかどうかを判断する。完了できれば（ステップＳ０８でＹＥＳ）、ステップＳ１１に進み、全てのジョブについてＬＩＴＴＬＥコアに固定して動作させる決定を行った後、ステップＳ０５に進む。完了できなければ（ステップＳ０８でＮＯ）、ステップＳ０９に進む。
【００５９】
ステップＳ０９では、ｂｉｇコアとＬＩＴＴＬＥコアでの動作比率を決定した後、ステップＳ１０で、動作比率にともないｂｉｇコアに移行する動作周波数の閾値を決定したのち、ステップＳ０５に進む。
【００６０】
ステップＳ０２で、投入されているジョブに出力時刻が設定されていなければ（ステップＳ０２でＮＯ）、ステップＳ０３で、現在出力中のジョブ以外に出力処理が必要なジョブが存在しているかどうかを判断する。存在していれば（ステップＳ０３でＹＥＳ）、ステップＳ０６で、出力中ジョブの終了予定時刻及び予約ジョブの実行時間を考慮して当該ジョブの出力予定時刻を算出する。次いで、ステップＳ０７で、出力予定時刻から動作周波数の閾値を決定した後、ステップＳ０５に進む。
【００６１】
ステップＳ０３で、現在出力中のジョブ以外に出力処理が必要なジョブが存在していなければ（ステップＳ０３でＮＯ）、ステップＳ０４で、通常の処理を決定した後、ステップＳ０５に進む。
【００６２】
ステップＳ０５では、各ステップＳ０４、Ｓ０７、Ｓ１０、Ｓ１１でそれぞれ決定された内容をタスク移行閾値変更制御部１１３へ通知する。
【００６３】
図９はタスク移行閾値変更制御部１１３で実行される動作を示すフローチャートである。
【００６４】
ステップＳ２１では処理判定制御部１１２から通知があったかどうかを判断する。通知がなければ（ステップＳ２１でＮＯ）、移行判定制御部１１１への通知は行わない（ステップＳ２２）。通知があれば（ステップＳ２１でＹＥＳ）、ステップＳ２３で、通知内容がＬＩＴＴＬＥコアの固定であるかどうかを判断する。ＬＩＴＴＬＥコアの固定である場合は（ステップＳ２３でＹＥＳ）、ステップＳ２５で、当該コア上で動作するタスクのコア固定を、移行判定制御部１１１へ通知する。ＬＩＴＴＬＥコアの固定でない場合は（ステップＳ２３でＮＯ）、ステップＳ２４で閾値等の変更を移行判定制御部へ通知する。
【００６５】
図１０は移行判定制御部１１１の動作を示すフローチャートである。
【００６６】
ステップＳ３１ではタスク移行閾値変更制御部１１３から通知があったかどうかを判断する。通知がなければ（ステップＳ３１でＮＯ）、通常のタスク移行制御を行う。つまり、予め設定されている動作周波数を閾値としてタスクの移行を制御する（ステップＳ３２）。
【００６７】
通知があれば（ステップＳ３１でＹＥＳ）、ステップＳ３３で、通知内容はＬＩＴＴＬＥコアの固定であるかどうかを判断する。ＬＩＴＴＬＥコアの固定であれば（ステップＳ３３でＹＥＳ）、ステップＳ３７で、当該タスクが完了するまで現在動作しているＬＩＴＴＬＥコアに固定する制御を行う。
【００６８】
ＬＩＴＴＬＥコアの固定でなければ（ステップＳ３３でＮＯ）、ステップＳ３４で、通知内容は動作周波数の閾値のみの変更か否かを判断する。動作周波数の閾値のみの変更であれば（ステップＳ３４でＹＥＳ）、ステップＳ３６で、通知された動作周波数の閾値を基準にしてタスクの移行を制御する。
【００６９】
動作周波数の閾値のみの変更でなければ（ステップＳ３４でＮＯ）、ステップＳ３５で、通知された動作周波数の閾値及び動作時間を基準にしてタスクの移行を制御する。
【００７０】
このように、この実施形態では、ＭＦＰ１の状態が予め設定された状態であるか否かを判定し、予め設定された状態であると判定された場合は、ＬＩＴＴＬＥコアにタスクが固定され、あるいは動作周波数の閾値を変更し、あるいはＬＩＴＴＬＥコアの動作時間を設定することで、タスクの移行制御が変更される。つまり、コアの動作周波数が予め設定された閾値に達したときであっても、制御内容の変更により他方のマルチコアＣＰＵの対応するコアにタスクが移行するのが回避されるから、無駄な電力消費を防止することができる。
【００７１】
なお、以上の実施形態では、ＬＩＴＴＬＥコアからｂｉｇコアへのタスクを移行する場合を説明したが、ｂｉｇコアからＬＩＴＴＬＥコアへタスクを移行する場合に、ｂｉｇコアの動作周波数が閾値まで低下しても、ｂｉｇコアでの動作を継続する必要のある場合は、ＬＩＴＴＬＥコアへタスクが移行しないように閾値を変更したり、ｂｉｇコアでの動作に固定したり、ｂｉｇコアでの動作時間を設定することで、ＯＳによって通常行われるタスク移行制御内容を変更しても良い。
【符号の説明】
【００７２】
１    画像処理装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  スキャナ部
１５  記憶部
１７  操作部
１１１  移行判定制御部
１１２  処理判定制御部
１１３  タスク移行閾値変更制御部
【図１】
0006481378.tif 000002
【図２】
0006481378.tif 000003
【図３】
0006481378.tif 000004
【図４】
0006481378.tif 000005
【図５】
0006481378.tif 000006
【図６】
0006481378.tif 000007
【図７】
0006481378.tif 000008
【図８】
0006481378.tif 000009
【図９】
0006481378.tif 000010
【図１０】
0006481378.tif 000011