(57)【特許請求の範囲】
【請求項１】
複数のコアを有する第１のマルチコアＣＰＵと、
前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、
オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷を監視する負荷監視手段と、
前記負荷監視手段により監視される負荷と予め設定された第１の閾値とに基づいて、タスクを前記第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させるかどうか、または前記負荷監視手段により監視される負荷と予め設定された第２の閾値とに基づいて、タスクを前記第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させるかどうか、を判定するタスク移行判定手段と、
前記タスク移行判定手段によりタスクを移行させることが判定された場合に、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵとの間でタスクを移行させる制御を行うタスク移行制御手段と、
前記第１のマルチコアＣＰＵまたは第２のマルチコアＣＰＵで起動されるタスクに対して前記第１の閾値または第２の閾値の少なくとも何れかを、該タスクの処理時間と消費電力とに基づいて予め設定された変更内容に従って変更する閾値変更手段と、
を備え、
前記タスク移行判定手段は、前記閾値変更手段により前記第１の閾値または第２の閾値が変更された場合は、前記負荷監視手段により監視される負荷と変更後の第１の閾値または第２の閾値とに基づいてタスクを移行させるかどうかを判定することを特徴とする画像形成装置。
【請求項２】
前記タスク移行判定手段は、タスクによる負荷に応じて、前記第１のマルチコアＣＰＵか第２のマルチコアＣＰＵのいずれで起動するかを指定する請求項１に記載の画像形成装置。
【請求項３】
前記タスクが前記第２のマルチコアＣＰＵの複数のコアで分割して処理を実施するタスクであり、かつ分割された各タスクによる各コアの負荷が均一でない場合には、前記閾値変更手段は、変更内容に従い、前記タスクが前記第１のマルチコアＣＰＵで動作するように前記第２の閾値を変更する請求項１に記載の画像形成装置。
【請求項４】
前記タスクが、スキャンされた画像データを指定されたファイルフォーマットに画像変換処理して送信するスキャン送信ジョブにおける画像変換処理タスクである場合、前記閾値変更手段は、前記ファイルフォーマットの種類に応じて設定されている変更内容に従って前記第１の閾値または第２の閾値の少なくとも何れかを変更する請求項１または２に記載の画像形成装置。
【請求項５】
前記ファイルフォーマットがＰＰＴＸ、ＣＸＰＳ及びＣＰＤＦの何れかである場合は、前記閾値変更手段は、変更内容に従い、前記第１のマルチコアＣＰＵで動作するように閾値を変更する請求項４に記載の画像形成装置。
【請求項６】
前記タスク移行判定手段は、前記タスクについて第１のマルチコアＣＰＵでの起動を指定する請求項５に記載の画像形成装置。
【請求項７】
前記ファイルフォーマットがＪＰＥＧ、ＴＩＦＦ及びＰＤＦの何れかである場合は、前記閾値変更手段は、変更内容に従い、前記第２のマルチコアＣＰＵで動作するように閾値を変更する請求項４に記載の画像形成装置。
【請求項８】
前記タスク移行判定手段は、前記タスクについて第２のマルチコアＣＰＵでの起動を指定する請求項７に記載の画像形成装置。
【請求項９】
前記閾値変更手段は、ジョブの解像度に応じて設定されている変更内容に従って前記第１の閾値または第２の閾値の少なくとも何れかを変更する請求項１、２、４〜８の何れかに記載の画像形成装置。
【請求項１０】
複数のコアを有する第１のマルチコアＣＰＵと、
前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、
を備えた画像形成装置が、
オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷を監視する負荷監視ステップと、
前記負荷監視ステップにより監視される負荷と予め設定された第１の閾値とに基づいて、タスクを前記第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させるかどうか、または前記負荷監視ステップにより監視される負荷と予め設定された第２の閾値とに基づいて、タスクを前記第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させるかどうか、を判定するタスク移行判定ステップと、
前記タスク移行判定ステップによりタスクを移行させることが判定された場合に、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵとの間でタスクを移行させる制御を行うタスク移行制御ステップと、
前記第１のマルチコアＣＰＵまたは第２のマルチコアＣＰＵで起動されるタスクに対して前記第１の閾値または第２の閾値の少なくとも何れかを、該タスクの処理時間と消費電力とに基づいて予め設定された変更内容に従って変更する閾値変更ステップと、
を実施し、
前記タスク移行判定ステップでは、前記閾値変更ステップにより前記第１の閾値または第２の閾値が変更された場合は、前記負荷監視ステップにより監視される負荷と変更後の第１の閾値または第２の閾値とに基づいてタスクを移行させるかどうかを判定することを特徴とする画像形成装置におけるタスク制御方法。
【請求項１１】
複数のコアを有する第１のマルチコアＣＰＵと、
前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、
を備えた画像形成装置のＣＰＵに、
オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷を監視する負荷監視ステップと、
前記負荷監視ステップにより監視される負荷と予め設定された第１の閾値とに基づいて、タスクを前記第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させるかどうか、または前記負荷監視ステップにより監視される負荷と予め設定された第２の閾値とに基づいて、タスクを前記第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させるかどうか、を判定するタスク移行判定ステップと、
前記タスク移行判定ステップによりタスクを移行させることが判定された場合に、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵとの間でタスクを移行させる制御を行うタスク移行制御ステップと、
前記第１のマルチコアＣＰＵまたは第２のマルチコアＣＰＵで起動されるタスクに対して前記第１の閾値または第２の閾値の少なくとも何れかを、該タスクの処理時間と消費電力とに基づいて予め設定された変更内容に従って変更する閾値変更ステップと、
を実行させ、
前記タスク移行判定ステップでは、前記閾値変更ステップにより前記第１の閾値または第２の閾値が変更された場合は、前記負荷監視ステップにより監視される負荷と変更後の第１の閾値または第２の閾値とに基づいてタスクを移行させるかどうかを判定する処理を実行させるためのタスク制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、コピー機能、プリンタ機能、ファクシミリ機能、スキャン機能等の複数の機能を有する多機能デジタル複合機であるＭＦＰ（Multi Function Peripheral）等の画像形成装置、同装置におけるタスク制御方法及びタスク制御プログラムに関する。
【背景技術】
【０００２】
ＡＲＭ社が開発した「big.LITTLE」と称される省電力技術は、基本構成として、複数のコアを有し、消費電力が大きいが処理性能は高い第１のマルチコアＣＰＵと、この第１のマルチコアＣＰＵの各コアと対になった複数のコアを有し、第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵとが、SoC（System-on-a-Chip）と称されるように一つの半導体チップに実装されてなる。
【０００３】
このような省電力技術を実施する動作モデルの一つとして、第１及び第２のマルチコアＣＰＵの全てのコアが常時ＯＮとなるマルチプロセッシングモデルがあり、中でも、ＧＴＳ（Global Task Scheduling）というソフトウェアモデルがあり、このモデルを前述したＭＦＰ等の画像形成装置に応用することが考えられている。
【０００４】
ここで、ＧＴＳモデルとは、オペレーティングシステムのスケジューラーが負荷に応じて第１のマルチコアＣＰＵと第２のマルチコアＣＰＵの全てのコアを対象としてタスクを振り分けるものである。具体的には、タスクの負荷に応じて第１のマルチコアＣＰＵのコアと第２のマルチコアＣＰＵのコア間でタスクを移動させ、そのタスクの実行履歴からタスクの動作を再開させるときにロードするＣＰＵを自動的に判断してくれるものであり、その結果、処理性能と省エネルギの両立が可能となる。
【０００５】
しかし、このようなモデルをそのままＭＦＰ等に適用した場合、ＭＦＰの処理特性上、マルチコアＣＰＵの特性を十分に発揮できない状況が発生する。
【０００６】
すなわち、例えば、画像をスキャンすることにより得られた画像データを所定宛先に送信するスキャンジョブにおいて、画像データをユーザー等により指定されたファイルフォーマットに変換する処理が行われる。例えばコンパクトＰＤＦ（ＣＰＤＦと記す。ＰＤＦ：Portable Document Format）と称されるフォーマットのように、ファイルフォーマットによっては高負荷な処理を行うことになる場合があるが、一度高負荷な処理を実施した場合、次以降は処理性能の高い第１のマルチコアＣＰＵにスキャンジョブタスクが割り当てられるようになる。
【０００７】
しかし、ファイルフォーマットが高負荷な変換処理を必要としないＪＰＥＧ（Joint Photographic Experts Group）やＴＩＦＦ（Tagged Image File Format）等の場合は、消費電力の大きい第１のマルチコアＣＰＵで処理を行う必要は無いにもかかわらずそのまま処理が継続される結果、不必要な電力消費が発生するという問題があった。
【０００８】
また、逆に、画像変換処理タスクが第２のマルチコアＣＰＵのコアに割り当てられた場合であって、高負荷な画像変換処理が必要な場合は、早期に第１のマルチコアＣＰＵにタスクを移行した方が処理時間が早くなるにもかかわらず、負荷が予め設定された閾値に達するまではタスクを第１のマルチコアＣＰＵに移行できないという問題もあった。
【０００９】
なお、特許文献１には、複数のプロセッサそれぞれにキャッシュメモリが設けられており、キャッシュ状況算出部はタスク毎にメモリアクセス数やキャッシュヒット率等のキャッシュ使用状況を算出し、あるプロセスの演算量が所定の閾値を超えた場合、割当管理部はキャッシュ使用状況を参照して前記プロセス内の複数のタスクのうちメモリアクセス数がより少ないもの、あるいはキャッシュヒット率がより高いものを優先的に移動対象タスクとして選択し、異なるプロセスを処理している別プロセッサに割り当てるマルチプロセッサシステムが開示されている。
【００１０】
また特許文献２には、第１および第２のプロセッサと、各々のプロセッサの各々がそれぞれに実行予定のスレッドを保持するタスクキューとを有するマルチプロセッサシステムで、消費電力記録手段から消費電力情報を収集する消費電力情報収集手段と、複数のプロセッサのうち第１のプロセッサの消費電力が第１の閾値を超えた場合に、第１のプロセッサ以外の第２のプロセッサの消費電力が第１の閾値より小さい第２の閾値を超えていなければ、スレッドの移動が必要であると判断する判断手段と、第１のプロセッサのタスクキューに保持されているスレッドを第２のプロセッサのタスクキューに移動させるスレッド移動手段とを備えたマルチプロセッサシステムが開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】ＷＯ２０１０／０９３００３号公報
【特許文献２】特開２０１０−３９８０２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかし、上記特許文献１及び特許文献２に記載の技術は、所定の閾値を超えた場合にタスクを移動させる技術ではあるが、一度高負荷な処理を実施したために次以降は処理性能の高い第１のマルチコアＣＰＵにタスクが割り当てられた場合に、次のジョブが高負荷な変換処理を必要としないにもかかわらず消費電力の大きい第１のマルチコアＣＰＵで処理が継続されるというような問題に対して、解決策を提供しうるものではなかった。
【００１３】
この発明は、このような技術的背景に鑑みてなされたものであって、タスクが第１のマルチコアＣＰＵに割り当てられているが高負荷な処理は必要の無い場合や、タスクが第２のマルチコアＣＰＵに割り当てられているが高負荷な処理が必要であるためにタスクを早期に第１のマルチコアＣＰＵに移行させる必要がある場合等に、タスクを一方のマルチコアＣＰＵから他方のマルチコアＣＰＵに早期に移行させることができる画像形成装置、同装置におけるタスク制御方法及びタスク制御プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１４】
上記課題は、以下の手段によって解決される。
（１）複数のコアを有する第１のマルチコアＣＰＵと、前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、
オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷を監視する負荷監視手段と、前記負荷監視手段により監視される負荷と予め設定された第１の閾値とに基づいて、タスクを前記第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させるかどうか、または前記負荷監視手段により監視される負荷と予め設定された第２の閾値とに基づいて、タスクを前記第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させるかどうか、を判定するタスク移行判定手段と、前記タスク移行判定手段によりタスクを移行させることが判定された場合に、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵとの間でタスクを移行させる制御を行うタスク移行制御手段と、前記第１のマルチコアＣＰＵまたは第２のマルチコアＣＰＵで起動されるタスクに対して前記第１の閾値または第２の閾値の少なくとも何れかを、該タスクの処理時間と消費電力とに基づいて予め設定された変更内容に従って変更する閾値変更手段と、を備え、前記タスク移行判定手段は、前記閾値変更手段により前記第１の閾値または第２の閾値が変更された場合は、前記負荷監視手段により監視される負荷と変更後の第１の閾値または第２の閾値とに基づいてタスクを移行させるかどうかを判定することを特徴とする画像形成装置。
（２）前記タスク移行判定手段は、タスクによる負荷に応じて、前記第１のマルチコアＣＰＵか第２のマルチコアＣＰＵのいずれで起動するかを指定する前項１に記載の画像形成装置。
（３）前記タスクが前記第２のマルチコアＣＰＵの複数のコアで分割して処理を実施するタスクであり、かつ分割された各タスクによる各コアの負荷が均一でない場合には、前記閾値変更手段は、変更内容に従い、前記タスクが前記第１のマルチコアＣＰＵで動作するように前記第２の閾値を変更する前項１に記載の画像形成装置。
（４）前記タスクが、スキャンされた画像データを指定されたファイルフォーマットに画像変換処理して送信するスキャン送信ジョブにおける画像変換処理タスクである場合、前記閾値変更手段は、前記ファイルフォーマットの種類に応じて設定されている変更内容に従って前記第１の閾値または第２の閾値の少なくとも何れかを変更する前項１または２に記載の画像形成装置。
（５）前記ファイルフォーマットがＰＰＴＸ、ＣＸＰＳ及びＣＰＤＦの何れかである場合は、前記閾値変更手段は、変更内容に従い、前記第１のマルチコアＣＰＵで動作するように閾値を変更する前項４に記載の画像形成装置。
（６）前記タスク移行判定手段は、前記タスクについて第１のマルチコアＣＰＵでの起動を指定する前項５に記載の画像形成装置。
（７）前記ファイルフォーマットがＪＰＥＧ、ＴＩＦＦ及びＰＤＦの何れかである場合は、前記閾値変更手段は、変更内容に従い、前記第２のマルチコアＣＰＵで動作するように閾値を変更する前項４に記載の画像形成装置。
（８）前記タスク移行判定手段は、前記タスクについて第２のマルチコアＣＰＵでの起動を指定する前項７に記載の画像形成装置。
（９）前記閾値変更手段は、ジョブの解像度に応じて設定されている変更内容に従って前記第１の閾値または第２の閾値の少なくとも何れかを変更する前項１、２、４〜８の何れかに記載の画像形成装置。
（１０）複数のコアを有する第１のマルチコアＣＰＵと、前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、を備えた画像形成装置が、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷を監視する負荷監視ステップと、前記負荷監視ステップにより監視される負荷と予め設定された第１の閾値とに基づいて、タスクを前記第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させるかどうか、または前記負荷監視ステップにより監視される負荷と予め設定された第２の閾値とに基づいて、タスクを前記第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させるかどうか、を判定するタスク移行判定ステップと、前記タスク移行判定ステップによりタスクを移行させることが判定された場合に、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵとの間でタスクを移行させる制御を行うタスク移行制御ステップと、前記第１のマルチコアＣＰＵまたは第２のマルチコアＣＰＵで起動されるタスクに対して前記第１の閾値または第２の閾値の少なくとも何れかを、該タスクの処理時間と消費電力とに基づいて予め設定された変更内容に従って変更する閾値変更ステップと、を実施し、前記タスク移行判定ステップでは、前記閾値変更ステップにより前記第１の閾値または第２の閾値が変更された場合は、前記負荷監視ステップにより監視される負荷と変更後の第１の閾値または第２の閾値とに基づいてタスクを移行させるかどうかを判定することを特徴とする画像形成装置におけるタスク制御方法。
（１１）複数のコアを有する第１のマルチコアＣＰＵと、前記第１のマルチコアＣＰＵと同一のチップに実装されるとともに、複数のコアを有し、前記第１のマルチコアＣＰＵよりも消費電力が相対的に小さく処理性能が相対的に低い第２のマルチコアＣＰＵと、を備えた画像形成装置のＣＰＵに、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵにおけるタスクによる負荷を監視する負荷監視ステップと、前記負荷監視ステップにより監視される負荷と予め設定された第１の閾値とに基づいて、タスクを前記第１のマルチコアＣＰＵから第２のマルチコアＣＰＵへ移行させるかどうか、または前記負荷監視ステップにより監視される負荷と予め設定された第２の閾値とに基づいて、タスクを前記第２のマルチコアＣＰＵから第１のマルチコアＣＰＵへ移行させるかどうか、を判定するタスク移行判定ステップと、前記タスク移行判定ステップによりタスクを移行させることが判定された場合に、オペレーティングシステムに基づき、前記第１のマルチコアＣＰＵと第２のマルチコアＣＰＵとの間でタスクを移行させる制御を行うタスク移行制御ステップと、前記第１のマルチコアＣＰＵまたは第２のマルチコアＣＰＵで起動されるタスクに対して前記第１の閾値または第２の閾値の少なくとも何れかを、該タスクの処理時間と消費電力とに基づいて予め設定された変更内容に従って変更する閾値変更ステップと、を実行させ、前記タスク移行判定ステップでは、前記閾値変更ステップにより前記第１の閾値または第２の閾値が変更された場合は、前記負荷監視ステップにより監視される負荷と変更後の第１の閾値または第２の閾値とに基づいてタスクを移行させるかどうかを判定する処理を実行させるためのタスク制御プログラム。
【発明の効果】
【００１５】
前項（１）に記載の発明によれば、第１のマルチコアＣＰＵまたは第２のマルチコアＣＰＵで起動されるタスクに対して前記第１の閾値または第２の閾値の少なくとも何れかが、該タスクの処理時間と消費電力とに基づいて予め設定された変更内容に従って変更され、変更後の閾値と負荷とに基づいてタスクを移行させるかどうかが判定され、移行が実行される。
【００１６】
したがって、タスクが第１のマルチコアＣＰＵに割り当てられているが高負荷な処理は必要の無い場合や、タスクが第２のマルチコアＣＰＵに割り当てられているが高負荷な処理が必要であるためにタスクを早期に第１のマルチコアＣＰＵに移行させる必要がある場合に、変更内容に従って閾値を変更することにより、タスクを動作させるべきマルチコアＣＰＵへ早期に移行させたり、移行を抑止したりできるから、タスクに対してマルチコアＣＰＵの特性を十分に発揮させることができる。
【００１７】
前項（２）に記載の発明によれば、タスクによる負荷に応じて、第１のマルチコアＣＰＵか第２のマルチコアＣＰＵのいずれで起動するかが指定されることにより、指定されたマルチコアＣＰＵのコアで確実にタスクが起動される。
【００１８】
前項（３）に記載の発明によれば、タスクが第２のマルチコアＣＰＵの複数のコアで分割して処理を実施するタスクであり、かつ分割された各タスクによる各コアの負荷が均一でない場合には、各タスクによる処理時間に差が生じることから、第２の閾値を変更することにより第１のマルチＣＰＵに移行しやすくして、第１のマルチＣＰＵでタスクを実行させる。これにより、各タスクの処理時間の差を解消でき、処理時間が早くなる。
【００１９】
前項（４）に記載の発明によれば、タスクが、スキャンされた画像データを指定されたファイルフォーマットに画像変換処理して送信するスキャン送信ジョブにおける画像変換処理タスクである場合、処理時間や消費電力に影響を及ぼすファイルフォーマットの種類に応じて設定されている変更内容に従って、第１の閾値または第２の閾値の少なくとも何れかが変更される。
【００２０】
前項（５）に記載の発明によれば、ファイルフォーマットがＰＰＴＸ、ＣＸＰＳ及びＣＰＤＦの何れかである場合に、これらのファイルフォーマットへの変換処理は高負荷で処理に時間がかかることから、処理性能に優れた第１のマルチコアＣＰＵで動作するように閾値が変更される。
【００２１】
前項（６）に記載の発明によれば、ファイルフォーマットがＰＰＴＸ、ＣＸＰＳ及びＣＰＤＦの何れかである画像変換処理タスクについては、第１のマルチコアＣＰＵでの起動が指定されることにより、指定された第１のマルチコアＣＰＵのコアで確実に起動される。
【００２２】
前項（７）に記載の発明によれば、ファイルフォーマットがＪＰＥＧ、ＴＩＦＦ及びＰＤＦの何れかである場合に、これらのファイルフォーマットへの変換処理は比較的軽負荷で処理に時間がかからないことから、消費電力の少ない第２のマルチコアＣＰＵで動作するように閾値が変更される。
【００２３】
前項（８）に記載の発明によれば、ファイルフォーマットがＪＰＥＧ、ＴＩＦＦ及びＰＤＦの何れかである画像変換処理タスクについては、第２のマルチコアＣＰＵでの起動が指定されることにより、指定された第２のマルチコアＣＰＵのコアで確実に起動される。
【００２４】
前項（９）に記載の発明によれば、ジョブの設定解像度は負荷の大小に影響を及ぼすから、ジョブの設定解像度に応じて閾値の変更内容が設定され、この変更内容に従って第１の閾値または第２の閾値の少なくとも何れかが変更される。
【００２５】
前項（１０）に記載の発明によれば、タスクが第１のマルチコアＣＰＵに割り当てられているが高負荷な処理は必要の無い場合や、タスクが第２のマルチコアＣＰＵに割り当てられているが高負荷な処理が必要であるためにタスクを早期に第１のマルチコアＣＰＵに移行させる必要がある場合に、変更内容に従って閾値を変更することにより、タスクを動作させるべきマルチコアＣＰＵへ早期に移行させたり、移行を抑止したりできるから、タスクに対してマルチコアＣＰＵの特性を十分に発揮させることができる。
【００２６】
前項（１１）に記載の発明によれば、タスクが第１のマルチコアＣＰＵに割り当てられているが高負荷な処理は必要の無い場合や、タスクが第２のマルチコアＣＰＵに割り当てられているが高負荷な処理が必要であるためにタスクを早期に第１のマルチコアＣＰＵに移行させる必要がある場合に、変更内容に従って閾値を変更することにより、タスクを動作させるべきマルチコアＣＰＵへ早期に移行させたり、移行を抑止したりできるから、タスクに対してマルチコアＣＰＵの特性を十分に発揮させることができる処理を、画像形成装置のＣＰＵに実行させることができる。
【図面の簡単な説明】
【００２７】
【図１】この発明の一実施形態に係る画像形成装置の構成を示すブロック図である。
【図２】（Ａ）〜（Ｃ）はＣＰＵの構成と基本動作を説明するための図である。
【図３】通常時におけるタスクによる負荷と閾値との関係を説明するための図である。
【図４】閾値の変更についての説明図である。
【図５】画像変換処理タスクについて、処理時間と消費電力とに基づいて設定された閾値の変更内容を示す表である。
【図６】ＣＰＵの機能ブロック図である。
【図７】タスク移行判定処理を示すフローチャートである。
【図８】図７のステップＳ０２の第１のタスク判定処理の内容を示すフローチャートである。
【図９】図７のステップＳ０３の第２のタスク判定処理の内容を示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、この発明の実施形態を図面に基づいて説明する。
【００２９】
図１はこの発明の一実施形態に係る画像形成装置１の構成を示すブロック図である。この実施形態では、画像形成装置１として、前述した多機能デジタル複合機であるＭＦＰが用いられている。以下、画像形成装置をＭＦＰともいう。
【００３０】
画像形成装置１は、ＲＯＭ１２、ＲＡＭ１３、スキャナ部１４、記憶部１５、プリンタ部１６、操作パネル１７、ネットワークインターフェース（ネットワークＩ／Ｆ）１８、ＵＳＢインターフェース（ＵＳＢＩ／Ｆ）１９及び画像処理ＡＳＩＣ２０等を備え、これらはバスを介してＣＰＵ１１に接続されている。
【００３１】
前記ＣＰＵ１１は、画像形成装置１の全体を統括制御し、コピー機能、プリンタ機能、スキャン機能、ファクシミリ機能等の基本機能を使用可能に制御する。ＣＰＵ１１は、ＯＳ（オペーレーティングシステム）を実行することにより機能的に構成されるタスク移行制御部１１１及び負荷監視部１１２と、アプリケーション（ＭＦＰアプリ）を実行することにより機能的に構成されるタスク移行判定部１１３、タスク起動コア判定部１１４及び閾値変更部１１５を備えている。これらについては後述する。
【００３２】
ＲＯＭ１２はＣＰＵ１１の動作プログラム等を格納するメモリである。
【００３３】
ＲＡＭ１３は、ＣＰＵ１１が動作プログラムに基づいて動作する際の作業領域を提供するメモリである。
【００３４】
スキャナ部１４は、原稿台（図示せず）に置かれた原稿の画像を読み取り、画像データを出力する読み取り手段である。
【００３５】
記憶部１５は、例えばハードディスクドライブ（ＨＤＤ）などの不揮発性の記憶デバイスにより構成されており、ＯＳ、ＭＦＰアプリ、スキャナ部１４でスキャンされた原稿の画像データ等が記憶されているほか、この実施形態では、後述する第１の閾値及び第２の閾値をタスクの処理時間と消費電力とに基づいて変更するための変更内容を予め規定したテーブルが記憶されている。
【００３６】
プリンタ部１６は、スキャナ部１４でスキャンされた原稿の画像データや外部からのプリントデータ等を、指示されたモードに従って印刷するものである。
【００３７】
操作パネル１７は、各種入力操作等のために使用されるものであり、メッセージや操作画面等を表示するタッチパネル式液晶等からなる表示部１７１と、テンキー、スタートキー、ストップキー等を備えた操作部１７２を備えている。
【００３８】
ネットワークＩ／Ｆ１８は、ネットワーク上の他の画像形成装置や、その他の外部機器例えばユーザー端末等との間での通信を制御することにより、データの送受信を行うものである。
【００３９】
ＵＳＢＩ／Ｆ１９は、ＵＳＢメモリ（図示せず）を接続するための接続部であり、画像処理ＡＳＩＣ（Application Specific Integrated Circuit）２０は画像処理を行う回路である。
【００４０】
ＣＰＵ１１は、図２（Ａ）に示すように、第１のマルチコアＣＰＵ（ｂｉｇクラスタともいう）１１５と第２のマルチコアＣＰＵ（ＬＩＴＴＬＥクラスタともいう）１１６が、SoCと称されるように一つの半導体チップに実装されてなる。第１のマルチコアＣＰＵ１１５は消費電力は大きいが処理能力が高いＣＰＵであり、第２のマルチコアＣＰＵ１１６は消費電力は第１のＣＰＵ１１５よりも相対的に小さいが処理能力が相対的に低いＣＰＵである。
【００４１】
また、第１のマルチコアＣＰＵ１１５は４個のコア（ｂｉｇコアともいう）１１５ａ〜１１５ｄを備えており、第２のマルチコアＣＰＵ１１６は、第１のマルチコアＣＰＵ１１５の各コア１１５ａ〜１１５ｄと対になった４個のコア（ＬＩＴＴＬＥコアともいう）１１６ａ〜１１６ｄを備えている。この実施形態では、各マルチコアＣＰＵ１１５、１１６の全てのコアがＯＮとなるマルチプロセッシングモデルが適用され、特に、ＯＳのスケジューラーが負荷に応じて第１のマルチコアＣＰＵ１１５及び第２のマルチコアＣＰＵ１１６の全てのコアを対象としてタスクを振り分ける前述のＧＴＳが適用される。
【００４２】
マルチプロセッシングモデルでは、ＯＳから見えるコアは図２（Ａ）に示すように８個である。図２（Ａ）では、各タスクの割り当てが、処理性能は低いが消費電力の小さい第２のマルチコアＣＰＵ１１６のコア１１６ａ〜１１６ｄに対して行われている状態を示しており、例えば第２のマルチコアＣＰＵ１１６のコア１１６ａの負荷が、予め設定されている閾値に達すると、ＯＳに基づいて、コア１１６ａで動作するタスクの一部または全部が第１のマルチコアＣＰＵ１１５のコア１１５ａ等に移行するようになっている。
【００４３】
図２（Ａ）は、複数のタスクが第２のマルチコアＣＰＵ１１６のコア１１６ａ〜１１６ｄに割り当てられている。コア１１６ａにはプリント制御タスク（「プリント」と記している）が割り当てられ、コア１１６ｂには割込み処理タスク（「割込み」と記している）が割り当てられ、コア１１６ｃには、画像をスキャンすることにより得られた画像データを所定宛先に送信するスキャンジョブを制御するためのスキャン制御タスク（「スキャン」と記している）が割り当てられている。
【００４４】
また、同一のタスクであっても複数のコアで起動し、一定の間隔で同期を取りながら処理を実施するタスク構成が採られる場合がある。この実施形態では、ページ記述言語であるPostScriptで記述されたデータを、印刷や表示が可能なビットマップデータに展開するＲＩＰ処理タスクについては、コア１１６ａとコア１１６ｂにまたがってタスクが割り当てられている。具体的にはコア１１６ａに第１のＲＩＰ処理タスク（ＲＩＰ処理タスク１）、コア１１６ｂに第２のＲＩＰ処理タスク（ＲＩＰ処理タスク２）というタスクを生成し、処理単位である２つのバンドデータの前半部分をコア１１６ａのＲＩＰ処理タスク１が、後半部分をコア１１６ｂのＲＩＰ処理タスク２がそれぞれ別々に処理を行うとともに、ＲＩＰ処理タスク１によるＲＩＰ処理１とＲＩＰ処理タスク２によるＲＩＰ処理２の完了の同期をとり、上位モジュールがいずれの処理も完了と判断したら、それぞれの処理結果を結合したデータを次処理へと転送し、次のバンドデータのＲＩＰ処理を行う。
【００４５】
さらにこの実施形態では、スキャンされた画像データを、ユーザー等によって指定されたＰＤＦやＪＰＥＧ等のファイルフォーマットに変換する画像変換処理タスクについても、コア１１６ｃとコア１１６dにまたがってタスクが割り当てられている。具体的にはコア１１６ｃに第１の画像変換処理タスク（画像変換処理タスク１）、コア１１６dに第２の画像変換処理タスク（画像変換処理タスク２）というタスクを生成し、処理単位の画像データの半分をコア１１６ｃの画像変換処理タスク１が、他の半分をコア１１６dの画像変換処理タスク２がそれぞれ別々に処理を行うとともに、画像変換処理タスク１による画像変換処理１と画像変換処理タスク２による画像変換処理２の完了の同期をとり、上位モジュールがいずれの処理も完了と判断したら、それぞれの処理結果を結合した画像データをデータ格納領域である記憶部１５等へ格納し、次の画像データの画像変換処理を行う。
【００４６】
図２（Ａ）において、スキャン動作が開始されると図２（Ｂ）に示すように、スキャン制御タスクと画像変換処理タスクが起動する。プリント制御タスクとＲＩＰ処理タスクは動作していない。なお、図２では動作しているタスクにハッチングを付している。
【００４７】
例えば所定のファイルフォーマットに変換されたデータの送信（スキャン送信）が開始され、タスクによるコアの負荷が予め設定された閾値に達すると、タスクの一部あるいは全部が第１のマルチコアＣＰＵ１１５に移行する。この実施形態では、図２（Ｃ）に示すように画像変換処理タスクが第１のマルチコアＣＰＵ１１５のコア１１５ｃ及び１１５ｄに移行するものとなされている。
【００４８】
このとき、画像変換処理の負荷が高かったとＯＳが判断すると、次回の画像変換処理タスクは第１のマルチコアＣＰＵ１１５のコア１１５ｃ及び１１５ｄで起動することが指定される。
【００４９】
ここで、ＯＳによるタスクの移行制御は、基本的に第２のマルチコアＣＰＵ１１６から第１のマルチコアＣＰＵ１１５側へ移行しやすいようになっている。具体的には、図３（Ａ）に示すように、第２のマルチコアＣＰＵ１１６での処理負荷（Load ave.）が増大して第２の閾値Ｌ２に達すると、第１のマルチコアＣＰＵ１１５に移行するが、第２の閾値Ｌ２は比較的小さい値に設定されている。一方、第１のマルチコアＣＰＵ１１５では、処理負荷（Load ave.）が減少して第１の閾値Ｌ１に達すると、第２のマルチコアＣＰＵ１１６に移行するが、容易に移行しないように第１の閾値Ｌ１はさらに小さい値に設定されている。このような構成は、ＰＰＴＸ（Microsoft社のOffice PowerPoinによる作成ファイル）、コンパクトＸＰＳ（ＣＸＰＳと記す。ＸＰＳ：XML Paper Specification）及びＣＰＤＦ等のファイルフォーマットへの変換処理や、４００ｄｐｉ以上の設定解像度の処理等の高負荷の処理を実施する際には有効であるが、ＪＰＥＧ、ＴＩＦＦ及びＰＤＦ等のファイルフォーマットへの変換処理のような比較的軽い負荷の処理を行う際には、移行処理が足かせになってしまったり、第１のマルチコアＣＰＵ１１５で処理を行うために消費電力よりも性能（処理時間）が優先された状態になってしまう。
【００５０】
そこで、この実施形態では、処理時間と消費電力とに基づいて予め設定された変更内容に従って、画像変換処理タスクに対し前述の第１の閾値Ｌ１と第１の閾値Ｌ２の少なくとも一方を変更するようになっている。
【００５１】
基本的な考え方としては、例えばスキャン送信ジョブにおいて、ＪＰＥＧ、ＴＩＦＦ及びＰＤＦといったファイルフォーマットへの変換処理が、第２のマルチコアＣＰＵ１１６で起動した場合は、第２の閾値を大きくして第１のマルチコアＣＰＵ１１５へのタスク移行を抑止することで、消費電力を少なくする。
【００５２】
また、起動コアが第１のマルチコアＣＰＵ１１５側である場合は、第２のマルチコアＣＰＵ１１６のコアを起動コアに指定する。
【００５３】
ただし、該当タスクが既にマルチコアＣＰＵ１１６で起動済みであり、かつ複数コアで処理を実施しており、その複数コアに対する処理負荷が均一でない場合は、軽負荷の処理であってもマルチコアＣＰＵ１１５へ移行しやすいように第２の閾値Ｌ２を１段階小さくし、マルチコアＣＰＵ１１５に処理させることにより処理時間を短縮する。
【００５４】
また、ＪＰＥＧ、ＴＩＦＦ及びＰＤＦといったファイルフォーマットへの変換処理が、第１のマルチコアＣＰＵ１１５で動作している場合は、図４に示すように、第１の閾値Ｌ１を大きくして第２のマルチコアＣＰＵ１１５への移行を促進することで、消費電力を少なくする。
【００５５】
一方、スキャン送信ジョブにおいて、ＰＰＴＸ、ＣＸＰＳ及びＣＰＤＦといったファイルフォーマットへの画像変換処理の起動コアが第２のマルチコアＣＰＵ１１６側である場合は、第１のマルチコアＣＰＵ１１５のコアを起動コアに指定する。第２のマルチコアＣＰＵ１１６で既に起動している場合は、第２の閾値Ｌ２を小さくして第１のマルチコアＣＰＵ１１５へのタスク移行を促進することで、処理時間の短縮を図る。
【００５６】
閾値の変更内容を示す表を図５に示す。この例では、処理時間と消費電力は画像変換処理タスクによる負荷に依存し、負荷は画像変換処理タスクのファイルフォーマットと設定解像度とに依存することから、ファイルフォーマットと設定解像度を基に閾値の変更内容が規定されている。設定解像度は２００ｄｐｉ、３００ｄｐｉ、４００ｄｐｉ、６００ｄｐｉが例示されているが、これに限定されることはない。
【００５７】
図５において、ファイルフォーマットがＣＸＰＳ、ＰＰＴＸの場合は、設定解像度にかかわらず第１のマルチコアＣＰＵ１１５側（ｂｉｇ側）で起動されるとともに、第１のマルチコアＣＰＵ１１５で処理をしやすいように第１の閾値Ｌ１が変更される設定がなされている。ファイルフォーマットがＣＰＤＦの場合は設定解像度が４００ｄｐｉ以上の場合にのみ、ファイルフォーマットがＸＰＳの場合は設定解像度が６００ｄｐｉ以上の場合にのみ、第１のマルチコアＣＰＵ１１５側で起動されるとともに、第１のマルチコアＣＰＵ１１５で処理をしやすいように第１の閾値Ｌ１が変更される設定がなされている。
【００５８】
ファイルフォーマットがＣＰＤＦで設定解像度が３００ｄｐｉの場合や、ファイルフォーマットがＸＰＳで設定解像度が４００ｄｐｉ及び３００ｄｐｉの場合は、第１のマルチコアＣＰＵ１１５で処理をしやすいように、起動された側のマルチコアＣＰＵでの閾値が変更される。ファイルフォーマットがＣＰＤＦやＸＰＳで設定解像度が２００ｄｐｉの場合や、ファイルフォーマットがＰＤＦで設定解像度が６００ｄｐｉの場合は、閾値の変更はない。
【００５９】
ファイルフォーマットがＰＤＦで設定解像度が４００ｄｐｉ及び３００ｄｐｉの場合や、ファイルフォーマットがＴＩＦＦおよびＪＰＥＧで設定解像度が６００ｄｐｉの場合は、第２のマルチコアＣＰＵ１１６側（ＬＩＴＴＬＥ側）で処理をしやすいように、起動された側のマルチコアＣＰＵでの閾値が変更される。
【００６０】
ファイルフォーマットがＰＤＦで設定解像度が２００ｄｐｉの場合、ファイルフォーマットがＴＩＦＦおよびＪＰＥＧで設定解像度が４００ｄｐｉ以下の場合は、第２のマルチコアＣＰＵ１１６側で起動されるとともに、第２のマルチコアＣＰＵ１１６で処理をしやすいようにつまり第１のマルチコアＣＰＵ１１５に移行しないように、第２の閾値Ｌ２が変更される。
【００６１】
なお、図示は省略したが各閾値の変更量も予め設定されている。
【００６２】
このようにこの実施形態では、処理時間及び消費電力に関係するファイルフォーマットと解像度に応じて、画像変換処理タスクに対する閾値の変更内容が設定されているが、ファイルフォーマットのみに基づいて変更内容が規定されても良い。例えば、ファイルフォーマットがＰＰＴＸ、ＣＸＰＳ、ＣＰＤＦの場合は、第１のマルチコアＣＰＵ１１５で処理をしやすいように、起動された側のマルチコアＣＰＵでの閾値が変更される設定とし、ファイルフォーマットがＰＤＦ、ＴＩＦＦおよびＪＰＥＧの場合は、第２のマルチコアＣＰＵ１１５で処理をしやすいように、起動された側のマルチコアＣＰＵでの閾値が変更される設定とし、ファイルフォーマットがＸＰＳの場合は閾値を変更しない設定としても良い。
【００６３】
ただし、ファイルフォーマットの種類に加えて設定解像度をも判定要素に加えることで、さらにきめ細かい制御が可能となる。また、ファイルフォーマットの種類ではなく、設定解像度のみに応じて閾値の変更内容を設定しても良い。
【００６４】
設定された閾値の変更内容は記憶部１５などに保存されており、タスク移行判定制御の際に、タスクに応じた変更内容が呼び出され、該変更内容に応じて閾値が変更される。
【００６５】
このように、この実施形態では、タスクが第１のマルチコアＣＰＵ１１５に割り当てられているが高負荷な処理は必要の無い場合や、タスクが第２のマルチコアＣＰＵ１１６に割り当てられているが高負荷な処理が必要であるためにタスクを早期に第１のマルチコアＣＰＵ１１５に移行させる必要がある場合に、変更内容に従って閾値を変更することにより、タスクを動作させるべきマルチコアＣＰＵへ早期に移行させたり、移行を抑止したりできるから、タスクに対してマルチコアＣＰＵの特性を十分に発揮させることができる。
【００６６】
図６にＣＰＵ１１の機能ブロック図を示す。前述したように、ＣＰＵ１１はＯＳを実行することにより機能的に構成されるタスク移行制御部１１１及び負荷監視部１１２と、ＭＦＰアプリを実行することにより機能的に構成されるタスク移行判定部１１３、タスク起動コア判定部１１４及び閾値変更部１１５を備えている。
【００６７】
タスク移行制御部１１１は、タスク移行判定部１１３によりタスクを他方のマルチコアＣＰＵのコアへ移行させると判定された場合の移行制御を行う。
【００６８】
負荷監視部１１２は、第１のマルチコアＣＰＵ１１５と第２のマルチコアＣＰＵ１１６における各コアのタスクによる負荷を監視する。
【００６９】
タスク移行判定部１１４は、負荷監視部１１２により監視されるコアの負荷と予め設定されている第１の閾値Ｌ１、第２の閾値Ｌ２とに基づいて、負荷が閾値に達したコアのタスクを他方のマルチコアＣＰＵのコアへ移行させるかどうかを判定する。また、例えばスキャン送信ジョブにおける画像変換処理のファイルフォーマットがＣＸＰＳ、ＰＰＴＸの場合のように、投入されたジョブのタスクによる負荷が大きい場合は、第１のマルチコアＣＰＵ１１５でそのタスクを起動するように指定したり、ＴＩＦＦおよびＪＰＥＧで設定解像度が４００ｄｐｉ以下の場合のように、投入されたジョブのタスクによる負荷が小さい場合は、第２のマルチコアＣＰＵ１１６でそのタスクを起動するように指定する。
【００７０】
タスク起動コア判定部１１４はタスクを起動するコアを判定し、この判定に基づいてタスクが該コアで起動される。
【００７１】
閾値変更部１１５は、第１のマルチコアＣＰＵ１１６における第１の閾値Ｌ１または第２のマルチコアＣＰＵ１１６における第２の閾値Ｌ２の一方または両方を、必要に応じて変更する。
【００７２】
図７はタスクの移行判定処理の一例を示すフローチャートである。この処理は、ＣＰＵ１１がＯＳ及びＭＦＰアプリに従って動作することにより実行される。
【００７３】
この実施形態ではタスクがスキャン送信ジョブの画像変換処理タスクであり、該タスクが第２のマルチコアＣＰＵ１１６のコアで起動するものとなされている。
【００７４】
ステップＳ０１では、第２のマルチコアＣＰＵ１１６の各コアのタスクによる負荷を監視し、ステップＳ０２で第１のタスク判定処理を実行する。移行すると判定された場合は、タスクを移行したのち、ステップＳ０１に戻る。移行しないと判定された場合は、ステップＳ０３で第２の移行判定処理を実施したのち、ステップＳ０１に戻る。
【００７５】
図８は、図７のステップＳ０２の第１のタスク移行判定処理の内容を示すフローチャートである。
【００７６】
ステップＳ０２１では、直ちに第１のマルチコアＣＰＵ１１５への移行が必要な負荷かどうか、換言すれば図５の表における◎が付されたファイルフォーマット及び設定解像度のタスクかどうかを判定し、直ちに第１のマルチコアＣＰＵ１１５への移行が必要な負荷でなければ、ステップＳ０３に進み、直ちに第１のマルチコアＣＰＵ１１５への移行が必要な負荷であれば、ステップＳ０２２で、タスク移行制御部１１１に対して第１のマルチコアＣＰＵ１１５へのタスクの移行（タスクの起動）を指示したのち、ステップＳ０１に戻る。この指示に従い、タスク移行制御部１１１はタスクを第１のマルチコアＣＰＵ１１５へ移行する。
【００７７】
図９は、図７のステップＳ０３の第２のタスク移行判定処理の内容を示すフローチャートである。
【００７８】
ステップＳ０３１で、当該タスクは複数コアで分割して動作するコアかどうかを判定し、複数コアで分割して動作するコアでなければ（ステップＳ０３１でＮＯ）、ステップＳ０１に戻る。複数コアで分割して動作するコアであれば（ステップＳ０３１でＹＥＳ）、ステップＳ０３２に進む。
【００７９】
ステップＳ０３２では、負荷は各コアで均一かどうかを判定し、均一であれば（ステップＳ０３２でＹＥＳ）、ステップＳ０１に戻る。均一でなければ（ステップＳ０３２でＮＯ）、ステップＳ０３３に進む。
【００８０】
ステップＳ０３３では、設定されたジョブはスキャン送信ジョブかどうかを判定し、スキャン送信ジョブでなければ（ステップＳ０３３でＮＯ）、ステップＳ０１に戻る。スキャン送信ジョブであれば（ステップＳ０３３でＹＥＳ）、ステップＳ０３４に進む。
【００８１】
ステップＳ０３４では、ファイルフォーマットと設定解像度との関係から、画像変換タスクが図５の表のいずれに該当するか判定する。
【００８２】
タスクが「〇」に該当する場合は、ステップＳ０３５で、当該タスクが第１のマルチコアＣＰＵ１１５に移行しやすいように、第２の閾値を変更した後、ステップＳ０３７で、必要に応じて次回の起動タスクを第１のマルチコアＣＰＵ１１５側に設定し、ステップＳ０１に戻る。
【００８３】
ステップＳ０３４でタスクが「−」に該当する場合は、閾値を変更することなくステップＳ０１に戻る。
【００８４】
ステップＳ０３４でタスクが「△」または「・」に該当する場合は、ステップＳ０３７で、当該タスクが第２のマルチコアＣＰＵ１１６側で動作しやすいように、第２の閾値を変更した後、ステップＳ０３８で、必要に応じて次回の起動タスクを第２のマルチコアＣＰＵ１１６側に設定し、ステップＳ０１に戻る。
【００８５】
以上、本発明の一実施形態を説明したが、本発明は上記実施形態に限定されることはない。
【００８６】
例えば、タスクがスキャン送信ジョブにおける画像変換処理タスクである場合について説明したが、タスクはこれに限定されることはなく、ハードディスクのない画像形成装置におけるＲＩＰ処理や画像変換処理タスクは、第２のマルチコアＣＰＵ１１６で動作しやすいように第１の閾値及び／または第２の閾値を変更して消費電力を優先し、ＲＩＰ／画像変換メモリ共有の場合は第１のマルチコアＣＰＵ１１５で動作しやすいように第１の閾値及び／または第２の閾値を変更して処理時間を優先してもよい。
【００８７】
また、図９のステップＳ０３１及びステップ０３２の判断は必ずしも行わなくても良いし、ステップＳ０３２で、負荷が各コアで均一でない場合（ステップＳ０３２でＮＯ）、直ちにタスクを第１のマルチコアＣＰＵ１１５に移行させる構成であっても良い。
【符号の説明】
【００８８】
１    画像形成装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  スキャナ部
１５  記憶部
１７  操作部
１１１  タスク移行制御部
１１２  負荷監視部
１１３  タスク移行判定部
１１５  閾値変更部
【図１】
0006500707.tif 000002
【図２】
0006500707.tif 000003
【図３】
0006500707.tif 000004
【図４】
0006500707.tif 000005
【図５】
0006500707.tif 000006
【図６】
0006500707.tif 000007
【図７】
0006500707.tif 000008
【図８】
0006500707.tif 000009
【図９】
0006500707.tif 000010