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