(57)【要約】【課題】マルチコアＣＰＵを用いる画像処理装置において、パフォーマンス優先モードと省電力優先モードのような異なるモードが設定されても共通のファームウェアを用いることができる画像処理装置等を提供する。【解決手段】複数のコア０〜３を有するマルチコアＣＰＵ１１と、マルチコアＣＰＵ１１の各コア０〜３への制御タスクの割り当てに関して、第１のモードまたは第２のモードを選択する選択手段１１１と、選択手段１１１により第１のモードが選択された場合、マルチコアＣＰＵ１１の各コアへ対象形マルチプロセッシングで制御タスクを割り当て、第２のモードが選択された場合、非対象形マルチプロセッシングで制御タスクを割り当てる割り当て手段１１２を備えている。【選択図】  図７
2017046084.tif 000002
【特許請求の範囲】
【請求項１】
複数のコアを有するマルチコアＣＰＵと、
前記マルチコアＣＰＵの各コアへの制御タスクの割り当てに関して、第１のモードまたは第２のモードを選択する選択手段と、
前記選択手段により前記第１のモードが選択された場合、前記マルチコアＣＰＵの各コアへ対象形マルチプロセッシングで制御タスクを割り当て、前記第２のモードが選択された場合、前記マルチコアＣＰＵの各コアへ非対象形マルチプロセッシングで制御タスクを割り当てる割り当て手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記第１のモードはパフォーマンス優先モードであり、前記第２のモードは省電力優先モードである請求項１に記載の画像処理装置。
【請求項３】
起動時において、前記割り当て手段は、前記第１のモードが選択されている場合は全てのコアに電力供給を行うとともに、ジョブの入力を検出するための制御タスクを各コアに均等に割り当て、前記第２のモードが選択されている場合は、１つのコアにのみ電力供給を行い、該コアにジョブの入力を検出するための制御タスクを割り当てる請求項１または２に記載の画像処理装置。
【請求項４】
ジョブ実行時において、前記割り当て手段は、前記第１のモードが選択されている場合は全てのコアに電力供給を行うとともに、ジョブの実行に必要な制御タスクを各コアに均等に割り当て、前記第２のモードが選択されている場合は、ジョブの種類に応じて予め指定された一部のコアにのみ電力供給を行って、該コアにジョブの実行に必要な制御タスクを割り当てる請求項１〜３のいずれかに記載の画像処理装置。
【請求項５】
ジョブ終了時において、前記割り当て手段は、前記第１のモードが選択されている場合は全てのコアへの電力供給を継続し、前記第２のモードが選択されている場合は、ジョブの入力を検出するための制御タスクが割り当てられる１つのコアにのみ電力供給を行う請求項１〜４のいずれかに記載の画像処理装置。
【請求項６】
前記選択手段は、ユーザーのモード選択操作、画像処理装置に付加されたモード選択情報の読み込み及び画像処理装置の機種を示す情報、の少なくとも何れかに基づいて、第１のモードまたは第２のモードを選択する請求項１〜５の何れかに記載の画像処理装置。
【請求項７】
複数のコアを有するマルチコアＣＰＵを備えた画像処理装置における制御タスクの割り当て方法であって、
前記マルチコアＣＰＵの各コアへの制御タスクの割り当てに関して、第１のモードまたは第２のモードを選択する選択ステップと、
前記選択ステップにより前記第１のモードが選択された場合、前記マルチコアＣＰＵの各コアへ対象形マルチプロセッシングで制御タスクを割り当て、前記第２のモードが選択された場合、前記マルチコアＣＰＵの各コアへ非対象形マルチプロセッシングで制御タスクを割り当てる割り当てステップと、
を備えたことを特徴とする制御タスクの割り当て方法。
【請求項８】
前記第１のモードはパフォーマンス優先モードであり、前記第２のモードは省電力優先モードである請求項７に記載の制御タスクの割り当て方法。
【請求項９】
起動時において、前記割り当てステップでは、前記第１のモードが選択されている場合は全てのコアに電力供給を行うとともに、ジョブの入力を検出するための制御タスクを各コアに均等に割り当て、前記第２のモードが選択されている場合は、１つのコアにのみ電力供給を行い、該コアにジョブの入力を検出するための制御タスクを割り当てる請求項７または８に記載の制御タスクの割り当て方法。
【請求項１０】
ジョブ実行時において、前記割り当てステップでは、前記第１のモードが選択されている場合は全てのコアに電力供給を行うとともに、ジョブの実行に必要な制御タスクを各コアに均等に割り当て、前記第２のモードが選択されている場合は、ジョブの種類に応じて予め指定された一部のコアにのみ電力供給を行って、該コアにジョブの実行に必要な制御タスクを割り当てる請求項７〜９のいずれかに記載の制御タスクの割り当て方法。
【請求項１１】
ジョブ終了時において、前記割り当てステップでは、前記第１のモードが選択されている場合は全てのコアへの電力供給を継続し、前記第２のモードが選択されている場合は、ジョブの入力を検出するための制御タスクが割り当てられる１つのコアにのみ電力供給を行う請求項７〜１０のいずれかに記載の制御タスクの割り当て方法。
【請求項１２】
前記選択ステップでは、ユーザーのモード選択操作、画像処理装置に付加されたモード選択情報の読み込み及び画像処理装置の機種を示す情報、の少なくとも何れかに基づいて、第１のモードまたは第２のモードを選択する請求項７〜１１の何れかに記載の制御タスクの割り当て方法。
【請求項１３】
請求項７〜１２の何れかに記載の制御タスクの割り当て方法を、マルチコアＣＰＵを有する画像処理装置の前記ＣＰＵに実行させるための制御タスクの割り当てプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、コピー機能、プリンタ機能、ファクシミリ機能、スキャン機能等の複数の機能を有する複合機等の画像処理装置、同装置で実行される制御タスクの割り当て方法及び割り当てプログラムに関する。
【背景技術】
【０００２】
近年、ＣＰＵ等のハードウェアの性能が向上する一方、ハードウェアの価格低下が顕著になってきており、画像処理装置においても高機能機のハードウェア資源を小型低速の低価格機に適用して、ハードウェアの開発費を抑制する傾向にある。
【０００３】
高機能機も低価格機も同一のハードウェアを使用することになると、画像処理装置を制御し機能を実現するためのファームウェアも同一のものを使用できれば、さらなる開発費の抑制につながる。
【０００４】
しかし、高機能機はパフォーマンス優先であり、例えば複数のジョブを並行して処理するマルチジョブ機能が要求される。これに対し、低価格機ではパフォーマンスよりも省電力が優先されマルチジョブ機能等は要求されない、といった特徴がある。このため、高機能機のファームウェアをそのまま低価格機に適用することはできない。
【０００５】
具体的には、複数のコアを有するマルチコアＣＰＵを使用する場合、高機能機ではパフォーマンスを考慮した制御タスクのコア割り当てが必要となり、使用可能なコアを最大限利用した制御タスクの割り当てとなる。このような高機能機のファームウェアを同一のマルチコアＣＰＵを用いた低価格機に適用すると、低価格機はパフォーマンスを最優先する必要がないにもかかわらず、使用可能なコアを最大限利用した制御タスクの割り当てが行われてしまうため、コアのクロックを停止する「クロック・ゲーティング」が十分に行えず、電力が無駄に消費されてしまう。
【０００６】
このため、パフォーマンス優先モードか省電力優先モードかを切り替えて使用できるようにして、高機能機にも低価格機にも共通して使用可能なファームウェアを提供することが望まれている。
【０００７】
なお、特許文献１には、複数のプロセッサで構成されたシステムで実行される複数のタスクのスケジューリングを行うタスクスケジューリング装置であって、複数のタスクの各仕事量をタスクの処理前に計測し、計測された仕事量に基づいて複数のプロセッサの使用率を予測し、アイドル状態となるプロセッサが存在することを検知した場合に、該当するプロセッサへの電源供給をオフさせるスケジューラを備えているタスクスケジューリング装置が開示されている。
【０００８】
特許文献２には、複数のタスクを分散処理する複数のプロセッサを備えるとともに、性能保証タスクと性能非保証タスクとが混在するマルチプロセッサシステムにおいて、各プロセッサに割り当てられるべき各性能保証タスクの処理性能値のそれぞれと、各性能保証タスクが必要とするリアルタイム性能時間を加味したプロセッサの処理能力値のそれぞれとの相関関係に基づいて、使用プロセッサ数が最小限となるように、前記各性能保証タスクの前記各プロセッサへの割り当ての制御を行う割り当て制御手段と、前記割り当て制御手段による割り当ての結果、前記性能保証タスクの割り当てが解消された不使用プロセッサの動作状態に対して省電力状態を適用する動作状態制御手段とを備えるマルチプロセッサシステムにおける省電力制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−１６０５６５号公報
【特許文献２】特開２０１０−２７７３００号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、上記特許文献１及び２に記載の技術は、パフォーマンス優先モードや省電力優先モードのように、異なるモードの装置に対して共通のファームウェアを使用できるようにする技術ではなく、高機能機にも低価格機にも共通のファームウェアを適用することはできなかった。
【００１１】
この発明は、このような技術的背景に鑑みてなされたものであって、マルチコアＣＰＵを用いる画像処理装置において、パフォーマンス優先モードと省電力優先モードのような異なるモードが設定されても共通のファームウェアを用いることができる画像処理装置及び同装置で実行される制御タスクの割り当て方法を提供し、さらには前記割り当て方法を画像処理装置のＣＰＵに実行させるための制御タスクの割り当てプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１２】
上記課題は、以下の手段によって解決される。
（１）複数のコアを有するマルチコアＣＰＵと、前記マルチコアＣＰＵの各コアへの制御タスクの割り当てに関して、第１のモードまたは第２のモードを選択する選択手段と、前記選択手段により前記第１のモードが選択された場合、前記マルチコアＣＰＵの各コアへ対象形マルチプロセッシングで制御タスクを割り当て、前記第２のモードが選択された場合、前記マルチコアＣＰＵの各コアへ非対象形マルチプロセッシングで制御タスクを割り当てる割り当て手段と、を備えたことを特徴とする画像処理装置。
（２）前記第１のモードはパフォーマンス優先モードであり、前記第２のモードは省電力優先モードである前項１に記載の画像処理装置。
（３）起動時において、前記割り当て手段は、前記第１のモードが選択されている場合は全てのコアに電力供給を行うとともに、ジョブの入力を検出するための制御タスクを各コアに均等に割り当て、前記第２のモードが選択されている場合は、１つのコアにのみ電力供給を行い、該コアにジョブの入力を検出するための制御タスクを割り当てる前項１または２に記載の画像処理装置。
（４）ジョブ実行時において、前記割り当て手段は、前記第１のモードが選択されている場合は全てのコアに電力供給を行うとともに、ジョブの実行に必要な制御タスクを各コアに均等に割り当て、前記第２のモードが選択されている場合は、ジョブの種類に応じて予め指定された一部のコアにのみ電力供給を行って、該コアにジョブの実行に必要な制御タスクを割り当てる前項１〜３のいずれかに記載の画像処理装置。
（５）ジョブ終了時において、前記割り当て手段は、前記第１のモードが選択されている場合は全てのコアへの電力供給を継続し、前記第２のモードが選択されている場合は、ジョブの入力を検出するための制御タスクが割り当てられる１つのコアにのみ電力供給を行う前項１〜４のいずれかに記載の画像処理装置。
（６）前記選択手段は、ユーザーのモード選択操作、画像処理装置に付加されたモード選択情報の読み込み及び画像処理装置の機種を示す情報、の少なくとも何れかに基づいて、第１のモードまたは第２のモードを選択する前項１〜５の何れかに記載の画像処理装置。
（７）複数のコアを有するマルチコアＣＰＵを備えた画像処理装置における制御タスクの割り当て方法であって、前記マルチコアＣＰＵの各コアへの制御タスクの割り当てに関して、第１のモードまたは第２のモードを選択する選択ステップと、前記選択ステップにより前記第１のモードが選択された場合、前記マルチコアＣＰＵの各コアへ対象形マルチプロセッシングで制御タスクを割り当て、前記第２のモードが選択された場合、前記マルチコアＣＰＵの各コアへ非対象形マルチプロセッシングで制御タスクを割り当てる割り当てステップと、を備えたことを特徴とする制御タスクの割り当て方法。
（８）前記第１のモードはパフォーマンス優先モードであり、前記第２のモードは省電力優先モードである前項７に記載の制御タスクの割り当て方法。
（９）起動時において、前記割り当てステップでは、前記第１のモードが選択されている場合は全てのコアに電力供給を行うとともに、ジョブの入力を検出するための制御タスクを各コアに均等に割り当て、前記第２のモードが選択されている場合は、１つのコアにのみ電力供給を行い、該コアにジョブの入力を検出するための制御タスクを割り当てる前項７または８に記載の制御タスクの割り当て方法。
（１０）ジョブ実行時において、前記割り当てステップでは、前記第１のモードが選択されている場合は全てのコアに電力供給を行うとともに、ジョブの実行に必要な制御タスクを各コアに均等に割り当て、前記第２のモードが選択されている場合は、ジョブの種類に応じて予め指定された一部のコアにのみ電力供給を行って、該コアにジョブの実行に必要な制御タスクを割り当てる前項７〜９のいずれかに記載の制御タスクの割り当て方法。
（１１）ジョブ終了時において、前記割り当てステップでは、前記第１のモードが選択されている場合は全てのコアへの電力供給を継続し、前記第２のモードが選択されている場合は、ジョブの入力を検出するための制御タスクが割り当てられる１つのコアにのみ電力供給を行う前項７〜１０のいずれかに記載の制御タスクの割り当て方法。
（１２）前記選択ステップでは、ユーザーのモード選択操作、画像処理装置に付加されたモード選択情報の読み込み及び画像処理装置の機種を示す情報、の少なくとも何れかに基づいて、第１のモードまたは第２のモードを選択する前項７〜１１の何れかに記載の制御タスクの割り当て方法。
（１３）前項７〜１２の何れかに記載の制御タスクの割り当て方法を、マルチコアＣＰＵを有する画像処理装置の前記ＣＰＵに実行させるための制御タスクの割り当てプログラム。
【発明の効果】
【００１３】
前項（１）及び（７）に記載の発明によれば、マルチコアＣＰＵの各コアへの制御タスクの割り当てに関して、第１のモードまたは第２のモードが選択される。第１のモードが選択された場合、前記マルチコアＣＰＵの各コアへ対象形マルチプロセッシングで制御タスクが割り当てられ、第２のモードが選択された場合、マルチコアＣＰＵの各コアへ非対象形マルチプロセッシングで制御タスクが割り当てられるから、第１のモードまたは第２のモードに応じて、マルチコアＣＰＵの各コアへのタスク割り当ての方式を切り替えるファームウェアを用いることによって、同一のマルチコアＣＰＵを用いた高機能機と低価格機のように異なる制御タスクの割り当てが要求される画像処理装置のファームウェアを共通化することができる。
【００１４】
前項（２）及び（８）に記載の発明によれば、パフォーマンス優先モードの場合は対象形マルチプロセッシングで制御タスクが割り当てられ、省電力優先モードの場合は非対象形マルチプロセッシングで制御タスクが割り当てられる。
【００１５】
前項（３）及び（９）に記載の発明によれば、画像処理装置の起動時において、第１のモードが選択されている場合は全てのコアに電力供給が行われるとともに、ジョブの入力を検出するための制御タスクが各コアに均等に割り当てられるから、使用可能なコアを最大限利用した高性能の入力検出動作が可能となる。一方、第２のモードが選択されている場合は１つのコアにのみ電力供給が行われ、該コアにジョブの入力を検出するための制御タスクが割り当てられるから、性能は低下するが電力消費を抑制した入力検出動作が可能となる。
【００１６】
前項（４）及び（１０）に記載の発明によれば、ジョブ実行時において、第１のモードが選択されている場合は全てのコアに電力供給が行われるとともに、ジョブの実行に必要な制御タスクが各コアに割り当てられるから、使用可能なコアを最大限利用した高性能のジョブ実行動作が可能となる。一方、第２のモードが選択されている場合は、ジョブの種類に応じて予め指定された一部のコアにのみ電力供給が行われ、該コアにジョブの実行に必要な制御タスクが割り当てられるから、性能は低下するが消費電力を抑制したジョブ実行動作が可能となる。
【００１７】
前項（５）及び（１１）に記載の発明によれば、ジョブ終了時において、第１のモードが選択されている場合は全てのコアへの電力供給が継続されるから、次の処理のためにコアを最大限の能力を発揮させうる状態とすることができる。一方、第２のモードが選択されている場合は、ジョブの入力を検出するための制御タスクが割り当てられるコアにのみ電力供給が行われるから、電力消費を抑制することができる。
【００１８】
前項（６）及び（１２）に記載の発明によれば、ユーザーのモード選択操作、画像処理装置に付加されたモード選択情報の読み込み及び画像処理装置の機種を示す情報、の少なくとも何れかに基づいて、第１のモードまたは第２のモードが選択される。
【００１９】
前項（１３）に記載の発明によれば、異なる制御タスクの割り当てが要求される画像処理装置のマルチコアＣＰＵに、第１のモードまたは第２のモードに応じた制御タスクの割り当て方法を実行させることができる。
【図面の簡単な説明】
【００２０】
【図１】この発明の一実施形態に係る画像処理装置１の構成を示すブロック図である。
【図２】（Ａ）は、ＣＰＵ１１の各コア０〜３の最大処理負荷能力をそれぞれ１．０としたときの、各制御タスクの最大処理負荷(ＣＰＵ占有率)を示す表であり、(Ｂ)は、制御タスクの最大処理負荷の大きさを図２(Ｃ)及び図３以降の図面に表すときの描画形態を示したものであり、（Ｃ）は、パフォーマンス優先モードが選択された場合の、対象形マルチプロセッシングによる起動時(アイドル時）の制御タスクの割り当て方法を説明するための図である。
【図３】（Ａ）はパフォーマンス優先モードが選択されている状態でのコピージョブの実行時の、（Ｂ）は同じくＰＣプリントジョブの実行時の、（Ｃ）は同じくスキャン送信ジョブの実行時の、それぞれ制御タスクの割り当て方法を説明するための図である。
【図４】（Ａ）はパフォーマンス優先モードが選択されている状態でのコピージョブとスキャン送信ジョブの実行時の、（Ｂ）は同じくコピージョブとＰＣプリントジョブの実行時の、（Ｃ）は同じくＰＣプリントジョブとスキャン送信ジョブの実行時の、それぞれ制御タスクの割り当て方法を説明するための図である。
【図５】省電力優先モードが選択された場合の、非対象形マルチプロセッシングによる起動時(アイドル時）の制御タスクの割り当て方法を説明するための図である。
【図６】（Ａ）は省電力優先モードが選択されている状態でのコピージョブの実行時の、（Ｂ）は同じくＰＣプリントジョブの実行時の、（Ｃ）は同じくスキャン送信ジョブの実行時の、それぞれ制御タスクの割り当て方法を説明するための図である。
【図７】画像処理装置による起動時の制御タスクの割り当て動作を示すフローチャートである。
【図８】画像処理装置によるジョブ実行時の制御タスクの割り当て動作を示すフローチャートである。
【図９】画像処理装置によるジョブ終了時の制御タスクの割り当て動作を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、この発明の実施形態を図面に基づいて説明する。
【００２２】
図１はこの発明の一実施形態に係る画像処理装置１の構成を示すブロック図である。この実施形態では、画像処理装置として、コピー機能、プリンタ機能、ファクシミリ機能、スキャン機能等の複数の機能を有する複合機が用いられている。
【００２３】
画像処理装置１は、ＣＰＵ１１の他に、ＲＯＭ１２、ＲＡＭ１３、スキャナ部１４、記憶部１５、プリンタ部１６、ファクシミリ(ＦＡＸ)部１７、操作パネル１８、ネットワークインターフェース（ネットワークＩ／Ｆ）１９、ＵＳＢインターフェース（ＵＳＢＩ／Ｆ）２０等を備え、これらはバス２を介してＣＰＵ１１に接続されている。
【００２４】
前記ＣＰＵ１１は、コントローラとして画像処理装置１の全体を統括制御し、コピー機能、プリンタ機能、スキャン機能、ファクシミリ機能等の基本機能を使用可能に制御する。ＣＰＵ１１はマルチコアＣＰＵであり、複数のコアを有している。この実施形態ではコア０〜コア３の４個のコアを有している。また、ＣＰＵ１１は、ファームウェアを実行することにより機能的に構成されるモード選択設定部１１１とタスク割り当て部１１２を備えている。
【００２５】
モード選択設定部１１１は、例えばユーザーの選択操作に基づいて、パフォーマンス優先モードまたは省電力優先モードのいずれかを選択するとともに、選択されたモードに応じたタスク割り当て方式を設定する。
【００２６】
タスク割り当て部１１２は、モード選択設定部１１１で設定された割り当て方式で、ＣＰＵ１１の各コア０〜３に対する制御タスクの割り当てを行う。具体的な割り当て制御については後述する。
【００２７】
ＲＯＭ１２はＣＰＵ１１の動作プログラムであるファームウェア等を格納するメモリである。
【００２８】
ＲＡＭ１３は、ＣＰＵ１１が動作プログラムに基づいて動作する際の作業領域を提供するメモリである。
【００２９】
スキャナ部１４は、原稿台（図示せず）に置かれた原稿の画像を読み取り、画像データを出力する読み取り手段である。
【００３０】
記憶部１５は、例えばハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）などの不揮発性の記憶デバイスにより構成されており、ＯＳ(オペレーティングシステム)、スキャナ部１４でスキャンされた原稿の画像データ等が記憶されている。
【００３１】
プリンタ部１６は、スキャナ部１４でスキャンされた原稿の画像データや外部からのプリントデータ等を、指示されたモードに従って印刷するものであり、ＦＡＸ部１７はファクシミリ送信及び受信を制御するものである。
【００３２】
操作パネル１８は、各種入力操作等のために使用されるものであり、メッセージや操作画面等を表示するタッチパネル式液晶等からなる表示部１８１と、テンキー、スタートキー、ストップキー等を備えた操作部１８２を備えている。
【００３３】
ネットワークＩ／Ｆ１９は、ネットワーク上の他の画像処理装置や、その他の外部機器例えばユーザー端末等との間での通信を制御することにより、データの送受信を行うものである。
【００３４】
ＵＳＢＩ／Ｆ２０は、ＵＳＢメモリ（図示せず）を接続するための接続部である。
【００３５】
次に、制御タスクの割り当て方法について説明する。この実施形態では、モード選択設定部１１１によりパフォーマンス優先モードが選択された場合、タスク割り当て部１１２は、ＣＰＵ１１の各コア０〜３に対象形マルチプロセッシング（ＳＭＰ：Symmetric Multiprocessing）で制御タスクを割り当てる。つまり、コア０〜コア３の４個のコアのそれぞれに均等にタスクを割り当てることにより、使用可能なコアを最大限利用した割り当てを行う。従って、この割り当て制御では大きなパフォーマンスが得られるが、コア０〜コア３の４個のコアの全てに電力供給を行う必要があるため、電力消費は大きくなる。
【００３６】
対象形マルチプロセッシングによる具体的な制御タスクの割り当て方法を図面を参照して説明する。
【００３７】
図２（Ａ）は、ＣＰＵ１１の各コア０〜３の最大処理負荷能力をそれぞれ１．０としたときの、各制御タスクの最大処理負荷(ＣＰＵ占有率)を示す表である。この実施形態では、ジョブ（ＪＯＢ）制御、割込み制御、送信制御、受信制御、パネル制御の各制御タスクの最大処理負荷はそれぞれ０．１、回転制御、文字認識処理（ＯＣＲ）制御の各制御タスクの最大処理負荷はそれぞれ０．２、スキャン制御、エンジン制御の各制御タスクの最大処理負荷はそれぞれ０．３、ＲＩＰ（Raster Image Processor)処理、画像変換制御の各制御タスクの最大処理負荷はそれぞれ０．６×２、であるとする。
【００３８】
なお、限定はされないが、ジョブ制御はジョブの開始等に関わる制御であり、回転制御は感光体ドラムや用紙搬送ローラ等の回転に関する制御であり、ＲＩＰ処理はラスターイメージ（ビットマップ画像）を生成する処理であり、画像変換制御は画像データを他の電子ファイルに変換する制御である。
【００３９】
図２(Ｂ)は、制御タスクの最大処理負荷の大きさを図２(Ｃ)及び図３以降の図面に表すときの描画形態を示したものであり、最大処理負荷０．１の制御タスクは右上から左下に向かう斜めハッチング線で、最大処理負荷０．２の制御タスクは白枠で、最大処理負荷０．３の制御タスクは左上から右下に向かう斜めハッチング線で、最大処理負荷０．６の制御タスクは斜め交差線でそれぞれ表すものとする。
【００４０】
図２（Ｃ）は、パフォーマンス優先モードが選択された場合の、対象形マルチプロセッシングによる起動時(アイドル時）の制御タスクの割り当て方法を説明するための図である。
【００４１】
起動時には、コア０に最大処理負荷０．１のＪＯＢ制御タスクが、コア１に最大処理負荷０．１のパネル制御タスクが、コア２に最大処理負荷０．１の割込み制御タスクが、コア３に最大処理負荷０．１の受信制御タスクが、それぞれ割り当てられる。これらのＪＯＢ制御タスク、パネル制御タスク、割込み制御タスク及び受信制御タスクはジョブの入力を検出するために必要な制御タスクである。各コア０〜３の下方に記載されている数字は制御タスクの最大負荷の合計値を示している。各コア０〜３の合計負荷はそれぞれ０．１であり、各コア０〜３の能力には十分な余裕がある状態になっている。なお、電力は全てのコア０〜３に供給されている。
【００４２】
図３（Ａ）は単ジョブ（コピージョブ）の実行時の制御タスクの割り当て方法を説明するための図である。コピージョブの実行時は、図２(Ｃ)に示したアイドル時の制御タスクに加えて、エンジン制御タスク、回転制御タスク及びスキャン制御タスクが各コアに割り当てられる。この実施形態では、コア０にエンジン制御タスクが、コア１に回転制御タスクが、コア３にスキャン制御タスクがそれぞれ割り当てられ、コア０の合計負荷は０．４に、コア１の合計負荷は０．３に、コア２の合計負荷は０．１に、コア３の合計負荷は０．４になっている。各コア０〜３に分散して負荷がかかるように制御タスクが割り当てられ、各コアの能力にはまだ十分に余裕がある。
【００４３】
図３（Ｂ）は別の単ジョブ（ＰＣプリントジョブ）の実行時の制御タスクの割り当て方法を説明するための図である。ＰＣプリントジョブとは、ハーソナルコンピュータ等からなるユーザー端末から送信されたプリントデータを印刷するジョブである。ＰＣプリントジョブの実行時は、図２(Ｃ)に示したアイドル時の制御タスクに加えて、エンジン制御タスク、回転制御タスク及びＲＩＰ処理タスクが各コアに割り当てられる。この実施形態では、コア０にエンジン制御タスクが、コア１に回転制御タスクが、コア２及び３にＲＩＰ処理タスクがそれぞれ割り当てられ、コア０の合計負荷は０．４に、コア１の合計負荷は０．３に、コア２及び３の合計負荷はそれぞれ０．７になっている。
【００４４】
図３（Ｃ）は別の単ジョブ（スキャン送信ジョブ）の実行時の制御タスクの割り当て方法を説明するための図である。スキャン送信ジョブとは、スキャナ部１４で原稿をスキャンして得られた画像データを指定された宛先に送信するジョブである。スキャン送信ジョブの実行時は、図２(Ｃ)に示したアイドル時の制御タスクに加えて、ＯＣＲ制御タスク、スキャン制御タスク、回転制御タスク、送信制御タスク及び画像変換制御タスクが各コアに割り当てられる。この実施形態では、コア０にＯＣＲ制御タスクが、コア１にスキャン制御タスクが、コア２に回転制御タスクと画像変換制御タスクが、コア３に送信制御タスクと画像変換制御タスクがそれぞれ割り当てられ、コア０の合計負荷は０．３に、コア１の合計負荷は０．４に、コア２の合計負荷は０．９に、コア３の合計負荷は０．８になっている。
【００４５】
図４（Ａ）は複数のジョブを同時に実行するマルチジョブ（この例ではコピージョブとスキャン送信ジョブ）の実行時の制御タスクの割り当て方法を説明するための図である。コピージョブ及びスキャン送信ジョブの実行時は、図２(Ｃ)に示したアイドル時の制御タスクに加えて、コピージョブの実行のためのエンジン制御タスク、回転制御タスク及びスキャン制御タスクが各コアに割り当てられ、さらにスキャン送信ジョブの実行に不足しているＯＣＲ制御タスク、送信制御タスク及び画像変換制御タスクが割り当てられる。この実施形態では、コア０にエンジン制御タスクとＯＣＲ制御タスクが、コア１に回転制御タスクと画像変換制御タスクが、コア２に送信制御タスクと画像変換制御タスクが、コア３にスキャン制御タスクがそれぞれ割り当てられ、コア０の合計負荷は０．６に、コア１の合計負荷は０．９に、コア２の合計負荷は０．８に、コア３の合計負荷は０．４になっている。このマルチジョブの場合も、各コア０〜３に分散して負荷がかかるように制御タスクが割り当てられる。
【００４６】
図４（Ｂ）は別のマルチジョブ（コピージョブとＰＣプリントジョブ）の実行時の制御タスクの割り当て方法を説明する図である。コピージョブ及びＰＣプリントジョブの実行時は、図２(Ｃ)に示したアイドル時の制御タスクに加えて、コピージョブの実行のためのエンジン制御タスク、回転制御タスク及びスキャン制御タスクが各コアに割り当てられ、さらにＰＣプリントジョブの実行に不足しているＲＩＰ処理タスクが割り当てられる。この実施形態では、コア０にエンジン制御タスクが、コア１に回転制御タスクとＲＩＰ処理タスクが、コア２にＲＩＰ処理タスクが、コア３にスキャン制御タスクがそれぞれ割り当てられ、コア０の合計負荷は０．４に、コア１の合計負荷は０．９に、コア２の合計負荷は０．７に、コア３の合計負荷は０．４になっている。
【００４７】
図４（Ｃ）は別のマルチジョブ（ＰＣプリントジョブとスキャン送信ジョブ）の実行時の制御タスクの割り当て方法を説明する図である。ＰＣプリントコピージョブ及びスキャン送信ジョブの実行時は、図２(Ｃ)に示したアイドル時の制御タスクに加えて、ＰＣプリントジョブの実行のためのエンジン制御タスク、回転制御タスク及びＲＩＰ処理タスクが各コアに割り当てられ、さらにスキャン送信ジョブの実行に不足しているＯＣＲ制御タスク、エンジン制御タスク、送信制御タスク及び画像変換制御タスクが割り当てられる。この実施形態では、コア０にエンジン制御タスクと画像変換制御タスクが、コア１にＯＣＲ制御タスクと画像変換制御タスクが、コア２にスキャン制御タスクとＲＩＰ処理タスクが、コア３に送信制御タスクと回転制御タスクとＲＩＰ処理タスクがそれぞれ割り当てられ、コア０の合計負荷は１．０に、コア１の合計負荷は０．９に、コア２の合計負荷は１．０に、コア３の合計負荷は１．０になっている。
【００４８】
このように、パフォーマンス優先モードの場合には対象形マルチプロセッシングにより各コア０〜３へ電力供給を継続しながら制御タスクが割り付けられるから、制御タスクの割り当てが速くなるとともに各コア０〜３が有する能力を最大限発揮させることができる。従って、マルチジョブが可能で高パフォーマンスが必要とされる高機能機に好適なものとなる。
【００４９】
一方、モード選択設定部１１１により省電力優先モードが選択された場合、タスク割り当て部１１２は、ＣＰＵ１１の各コア０〜３に非対象形マルチプロセッシング（ＡＭＰ：Asymmetric Multiprocessing）で制御タスクを割り当てる。つまり、コア０〜コア３のうち予め指定されたコアにのみ電力供給を行うと共に該コアに制御タスクを割り当て、他のコアへの電力供給は停止することにより、対象形マルチプロセッシングの場合に較べてパフォーマンスは低下するが省電力を図ることができる割り当て方法である。
【００５０】
非対象形マルチプロセッシングによる具体的な制御タスクの割り当て方法を図面を参照して説明する。
【００５１】
図２（Ａ）で説明したのと同様に、ＣＰＵ１１の各コア０〜３の最大処理負荷能力をそれぞれ１．０とし、ジョブ（ＪＯＢ）制御、割込み制御、送信制御、受信制御、パネル制御の各制御タスクの最大処理負荷はそれぞれ０．１、回転制御、文字認識処理（ＯＣＲ）制御の各制御タスクの最大処理負荷はそれぞれ０．２、スキャン制御、エンジン制御の各制御タスクの最大処理負荷はそれぞれ０．３、ＲＩＰ処理、画像変換制御の各制御タスクの最大処理負荷はそれぞれ０．６×２、であるとする。
【００５２】
図５は、省電力優先モードが選択された場合の、非対象形マルチプロセッシングによる起動時(アイドル時）の制御タスクの割り当て方法を説明するための図である。
【００５３】
起動時には、コア０にのみ電力供給が行われ、該コア０に、ＪＯＢ制御タスク、パネル制御タスク、割込み制御タスク及び受信制御タスクが割り当てられ、コア０の合計負荷は０．４になっている。一方、他のコア１〜３には電力供給が行われておらず、制御タスクも割り当てられない。つまり、この場合はコア０のみが動作することになり、パフォーマンスは低下するが、ＣＰＵ１１の電力消費は抑制される。
【００５４】
図６（Ａ）は単ジョブ（コピージョブ）の実行時の制御タスクの割り当て方法を説明する図である。コピージョブの実行時は、図５に示したアイドル時の制御タスクに加えて、エンジン制御タスク、回転制御タスク及びスキャン制御タスクが割り当てられる。この実施形態では、コア０に加えてコア１にも電力が供給され、このコア１にエンジン制御タスク、回転制御タスク及びスキャン制御タスクが割り当てられている。コア０の合計負荷は０．４のままであり、コア１の合計負荷は０．８になっている。コア２及び３には電力供給が行われておらず、制御タスクも割り当てられない。つまり、この場合はコア０及びコア１のみが動作することになる。
【００５５】
図６（Ｂ）は別の単ジョブ（ＰＣプリントジョブ）の実行時の制御タスクの割り当て方法を説明する図である。ＰＣプリントジョブの実行時は、図５に示したアイドル時の制御タスクに加えて、エンジン制御タスク、回転制御タスク及びＲＩＰ処理タスクが割り当てられる。この実施形態では、コア０に加えてコア２及び３にも電力が供給され、コア２にはエンジン制御タスクとＲＩＰ処理タスクが、コア３には回転制御タスクとＲＩＰ処理タスクがそれぞれ割り当てられている。コア０の合計負荷は０．４、コア２の合計負荷は０．９、コア３の合計負荷は０．８になっている。コア１には電力供給が行われておらず、制御タスクも割り当てられない。つまり、この場合はコア０、コア１及びコア２が動作することになる。
【００５６】
図６（Ｃ）は別の単ジョブ（スキャン送信ジョブ）の実行時の制御タスクの割り当て方法を説明する図である。スキャン送信ジョブの実行時は、図５に示したアイドル時の制御タスクに加えて、ＯＣＲ制御タスク、スキャン制御タスク、回転制御タスク、送信制御タスク及び画像変換制御タスクが割り当てられる。この実施形態では、コア０に加えてコア２及び３にも電力が供給され、コア２には送信制御タスク、スキャン制御タスク及び画像変換制御タスクが、コア３には回転制御タスク、ＯＣＲ制御タスク及び画像変換制御タスクがそれぞれ割り当てられている。コア０の合計負荷は０．４、コア２の合計負荷は１．０、コア３の合計負荷は１．０になっている。コア１には電力供給が行われておらず、制御タスクも割り当てられない。つまり、この場合はコア０、コア１及びコア２が動作することになる。
【００５７】
このように、非対象形マルチプロセッシングによる割り当て方法では、使用するコアの数をできるだけ少なくし、使用されないコアに対して電力供給を停止することで、省電力が実現される。なお、単ジョブ実行時に何れかのコアの能力に余裕がなくなることから、マルチジョブの実行はできない。このため、マルチジョブのような高パフォーマンスは要求されないが省電力が必要とされる小型低速の低価格機に好適なものとなる。
【００５８】
図７は、画像処理装置１による起動時の制御タスクの割り当て動作を示すフローチャートである。図７〜図９のフローチャートに示される処理は、ＣＰＵ１１がＲＯＭ１２等に格納された動作プログラム(ファームウェア)に従って動作することにより実行される。
【００５９】
ステップＳ０１では、ユーザーによってモード切り替えボタンが押下されたかどうかを判定する。押されなければ(ステップＳ０１でＮＯ)、押されるのを待つ。押されると(ステップＳ０１でＹＥＳ)、ステップＳ０２で、モード切替画面を表示部１８１に表示する。
【００６０】
次にステップＳ０３で、パフォーマンス優先モードが選択されたか否かを、ユーザー操作に基づいて判定する。パフォーマンス優先モードが選択された場合(ステップＳ０３でＹＥＳ)、ステップＳ０７に進み、全てのコア０〜３に電力を供給した後、ステップＳ０８に進む。
【００６１】
ステップＳ０３において、パフォーマンス優先モードが選択されていない場合(ステップＳ０３でＮＯ)、ステップＳ０４で、省電力優先モードが選択されたか否かを、ユーザー操作に基づいて判定する。省電力優先モードが選択された場合(ステップＳ０４でＹＥＳ)、ステップＳ０６に進み、予め指定された例えば１つのコア０に電力を供給した後、ステップＳ０８に進む。
【００６２】
ステップＳ０８では、ジョブの入力を検出するための制御タスク（ＪＯＢ制御タスク、パネル制御タスク、割込み制御タスク、受信制御タスク）を割り当てた後、処理を終了する。
【００６３】
ステップＳ０４において、省電力優先モードが選択されていない場合(ステップＳ０４でＮＯ)、ステップＳ０５でキャンセルが選択されたか否かを、ユーザー操作に基づいて判定する。キャンセルが選択された場合(ステップＳ０５でＹＥＳ)、ステップＳ０１に戻る。キャンセルが選択されていない場合(ステップＳ０５でＮＯ)、ステップＳ０３に戻る。
【００６４】
図８は、画像処理装置１によるジョブ実行時の制御タスクの割り当て動作を示すフローチャートである。
【００６５】
ステップＳ１１で、省電力優先モードが選択されているかどうかを判断する。省電力優先モードが選択されている場合は(ステップＳ１１でＹＥＳ)、ステップＳ１２で、ジョブ種別から使用するコアを判別する。次いでステップＳ１３で、使用するコアに電力を供給した後、ステップＳ１４に進む。
【００６６】
ステップＳ１１で、省電力優先モードが選択されていない場合、換言すればパフォーマンス優先モードが選択されている場合は(ステップＳ１１でＮＯ)、そのままステップＳ１４に進む。
【００６７】
ステップＳ１４では、ジョブ実行に必要な制御タスクをコアに割り当てる。
【００６８】
図９は、画像処理装置１によるジョブ終了時の制御タスクの割り当て動作を示すフローチャートである。
【００６９】
ステップＳ２１で、省電力優先モードが選択されているかどうかを判断する。省電力優先モードが選択されている場合は(ステップＳ２１でＹＥＳ)、ステップＳ２２で、ジョブ種別から使用するコアを判別する。次いでステップＳ２３で、使用するコアへの電力供給を停止する。
【００７０】
ステップＳ２１で、省電力優先モードが選択されていない場合、換言すればパフォーマンス優先モードが選択されている場合は(ステップＳ１１でＮＯ)、そのまま処理を終了する。従ってこの場合は各コアへの電力供給は継続される。
【００７１】
このように、この実施形態では１つのファームウェアにより、パフォーマンス優先モードと省電力優先モードのいずれが選択されたかに応じて、ＣＰＵ１１のコア０〜３への制御タスク割り当て動作を切り替えて実行するから、同一のマルチコアＣＰＵ１１を用いた高機能機と低価格機のように、動作モードが異なる画像処理装置であっても共通のファームウェアを用いることができ、ファームウェアの開発費を抑制することができる。勿論、マルチコアＣＰＵ１１を用いる１台の画像処理装置において、１つのファームウェアにより、パフォーマンス優先モードまたは省電力優先モードのいずれにも対応することも可能となる。
【００７２】
以上、本発明の一実施形態を説明したが、本発明は上記実施形態に限定されることはない。例えば、ユーザーの選択操作に基づいてパフォーマンス優先モードまたは省電力優先モードが選択される構成としたが、パフォーマンス優先モードまたは省電力優先モードの何れのモードで動作させるかを示すモード選択情報を予め画像処理装置１に格納しておき、そのモード選択情報を画像処理装置１が読み取ることにより、何れかのモードを選択しても良い。
【００７３】
また、画像処理装置１の機種を示す情報例えば高機能機あるいは低価格機のみに用いられる部材を検出することにより、パフォーマンス優先モードまたは省電力優先モードを選択しても良い。
【００７４】
また、選択可能なモードがパフォーマンス優先モードと省電力優先モードである場合を示したが、高機能モードと低機能モードというようなモード設定であっても良い。
【符号の説明】
【００７５】
１    画像処理装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  スキャナ部
１５  記憶部
１８  操作部
１１１  モード選択設定部
１１２  タスク割り当て部
【図１】
2017046084.tif 000003
【図２】
2017046084.tif 000004
【図３】
2017046084.tif 000005
【図４】
2017046084.tif 000006
【図５】
2017046084.tif 000007
【図６】
2017046084.tif 000008
【図７】
2017046084.tif 000009
【図８】
2017046084.tif 000010
【図９】
2017046084.tif 000011