(57)【要約】【課題】性能が異なる複数のプロセッサコアを切り替える処理の発生を抑制する。【解決手段】プロセッサコア１０１Ａおよびプロセッサコア１０１Ｂは、機能的な構成として決定手段１０１１（１０１１Ａおよび１０１１Ｂ）と切替手段１０１２（１０１２Ａおよび１０１２Ｂ）とを有する。決定手段１０１１は、プロセッサコア１０１Ａによる処理とプロセッサコア１０１Ｂによる処理とが切り替わる負荷の大きさの閾値Ｔｈを決定する。決定手段１０１１は、画像形成装置１のハードウェア構成およびソフトウェア構成の少なくとも一方に応じて閾値Ｔｈを決定する。切替手段１０１２は、プロセッサ１０１に与えられた負荷の大きさと、決定手段１０１１により決定された閾値Ｔｈとに応じて、プロセッサコア１０１Ａによる処理とプロセッサコア１０１Ｂによる処理とを切り替える。【選択図】図２
2015011663.tif 000002
【特許請求の範囲】
【請求項１】
マルチコアプロセッサであって、
第１のプロセッサコアと、
前記第１のプロセッサコアよりも消費電力および処理能力が高い第２のプロセッサコアと、
当該マルチコアプロセッサを含む装置のハードウェア構成またはソフトウェア構成に応じて、前記第１のプロセッサコアによる処理と前記第２のプロセッサコアによる処理とが切り替わる負荷の大きさの閾値を決定する決定手段と、
与えられた処理の負荷の大きさと前記閾値とに応じて、前記第１のプロセッサコアによる処理と前記第２のプロセッサコアによる処理とを切り替える切替手段と
を有するマルチコアプロセッサ。
【請求項２】
前記決定手段は、前記装置にインストールされているソフトウェアの複雑度が高いほど前記第２のプロセッサコアによる処理に切り替わる確率が高くなるように、前記閾値を決定する
ことを特徴とする請求項１に記載のマルチコアプロセッサ。
【請求項３】
前記複雑度は、前記装置にインストールされているソフトウェアの数に応じて決まる
ことを特徴とする請求項２に記載のマルチコアプロセッサ。
【請求項４】
前記複雑度は、複数の前記ソフトウェアが互いに関連する度合いに応じて決まる
ことを特徴とする請求項２または３に記載のマルチコアプロセッサ。
【請求項５】
前記決定手段は、前記装置に決められた処理を実行させるために前記装置に組み込まれている電子機器の構成に応じて前記閾値を決定する
ことを特徴とする請求項１ないし４のいずれか１項に記載のマルチコアプロセッサ。
【請求項６】
前記切替手段は、
与えられた処理の負荷の大きさが閾値以上になると、前記第１のプロセッサコアによる処理を前記第２のプロセッサコアによる処理に切り替え、
与えられた処理の負荷の大きさが閾値を下回ると、前記第２のプロセッサコアによる処理を前記第１のプロセッサコアによる処理に切り替える
ことを特徴とする請求項１ないし５のいずれか１項に記載のマルチコアプロセッサ。
【請求項７】
画像を処理するマルチコアプロセッサと、
前記マルチコアプロセッサにより処理された画像を記録媒体に形成する画像形成部と
を有し、
前記マルチコアプロセッサは、
第１のプロセッサコアと、
前記第１のプロセッサコアよりも消費電力および処理能力が高い第２のプロセッサコアと、
自機のハードウェア構成またはソフトウェア構成に応じて、前記第１のプロセッサコアによる処理と前記第２のプロセッサコアによる処理とが切り替わる負荷の大きさの閾値を決定する決定手段と、
与えられた処理の負荷の大きさと前記閾値とに応じて、前記第１のプロセッサコアによる処理と前記第２のプロセッサコアによる処理とを切り替える切替手段と
を有する画像形成装置。
【請求項８】
前記決定手段は、前記画像形成部が画像を形成する速度が速いほど前記第２のプロセッサコアによる処理に切り替わる確率が高くなるように、前記閾値を決定する
ことを特徴とする請求項７に記載の画像形成装置。
【請求項９】
第１のプロセッサコアと、前記第１のプロセッサコアよりも消費電力および処理能力が高い第２のプロセッサコアとを有するマルチコアプロセッサに、
当該マルチコアプロセッサを含む装置のハードウェア構成またはソフトウェア構成に応じて、前記第１のプロセッサコアによる処理と前記第２のプロセッサコアによる処理とが切り替わる負荷の大きさの閾値を決定するステップと、
与えられた処理の負荷の大きさと前記閾値とに応じて、前記第１のプロセッサコアによる処理と前記第２のプロセッサコアによる処理とを切り替えるステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアプロセッサ、画像形成装置およびプログラムに関する。
【背景技術】
【０００２】
性能が異なる複数のプロセッサコアを有するマルチコアプロセッサが知られている。特許文献１には、マルチコアプロセッサにおいて、各プロセッサコアで実行された命令の頻度に基づいて、各プロセッサコアにプロセスを割り当てる技術が記載されている。特許文献２には、動的プロセスに含まれるサブプロセスのスケジュール情報を予め求めておき、当該スケジュール情報に基づいて複数のプロセッサコアに動的プロセスを割り当てる技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−１５３０２３号公報
【特許文献２】特開平１１−２７２６２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、性能が異なる複数のプロセッサコアを切り替える処理の発生を抑制することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に係るマルチコアプロセッサは、第１のプロセッサコアと、前記第１のプロセッサコアよりも消費電力および処理能力が高い第２のプロセッサコアと、当該マルチコアプロセッサを含む装置のハードウェア構成またはソフトウェア構成に応じて、前記第１のプロセッサコアによる処理と前記第２のプロセッサコアによる処理とが切り替わる負荷の大きさの閾値を決定する決定手段と、与えられた処理の負荷の大きさと前記閾値とに応じて、前記第１のプロセッサコアによる処理と前記第２のプロセッサコアによる処理とを切り替える切替手段とを有する。
【０００６】
請求項２に係るマルチコアプロセッサは、請求項１に記載の構成において、前記決定手段は、前記装置にインストールされているソフトウェアの複雑度が高いほど前記第２のプロセッサコアによる処理に切り替わる確率が高くなるように、前記閾値を決定することを特徴とする。
【０００７】
請求項３に係るマルチコアプロセッサは、請求項２に記載の構成において、前記複雑度は、前記装置にインストールされているソフトウェアの数に応じて決まることを特徴とする。
【０００８】
請求項４に係るマルチコアプロセッサは、請求項２または３に記載の構成において、前記複雑度は、複数の前記ソフトウェアが互いに関連する度合いに応じて決まることを特徴とする。
【０００９】
請求項５に係るマルチコアプロセッサは、請求項１ないし４のいずれか１項に記載の構成において、前記装置に決められた処理を実行させるために前記装置に組み込まれている電子機器の構成に応じて前記閾値を決定することを特徴とする。
【００１０】
請求項６に係るマルチコアプロセッサは、請求項１ないし５のいずれか１項に記載の構成において、前記切替手段は、与えられた処理の負荷の大きさが閾値以上になると、前記第１のプロセッサコアによる処理を前記第２のプロセッサコアによる処理に切り替え、与えられた処理の負荷の大きさが閾値を下回ると、前記第２のプロセッサコアによる処理を前記第１のプロセッサコアによる処理に切り替えることを特徴とする。
【００１１】
請求項７に係る画像形成装置は、画像を処理するマルチコアプロセッサと、前記マルチコアプロセッサにより処理された画像を記録媒体に形成する画像形成部とを有し、前記マルチコアプロセッサは、第１のプロセッサコアと、前記第１のプロセッサコアよりも消費電力および処理能力が高い第２のプロセッサコアと、自機のハードウェア構成またはソフトウェア構成に応じて、前記第１のプロセッサコアによる処理と前記第２のプロセッサコアによる処理とが切り替わる負荷の大きさの閾値を決定する決定手段と、与えられた処理の負荷の大きさと前記閾値とに応じて、前記第１のプロセッサコアによる処理と前記第２のプロセッサコアによる処理とを切り替える切替手段とを有する。
【００１２】
請求項８に係る画像形成装置は、請求項７に記載の構成において、前記決定手段は、前記画像形成部が画像を形成する速度が速いほど前記第２のプロセッサコアによる処理に切り替わる確率が高くなるように、前記閾値を決定することを特徴とする。
【００１３】
請求項９に係るプログラムは、第１のプロセッサコアと、前記第１のプロセッサコアよりも消費電力および処理能力が高い第２のプロセッサコアとを有するマルチコアプロセッサに、当該マルチコアプロセッサを含む装置のハードウェア構成またはソフトウェア構成に応じて、前記第１のプロセッサコアによる処理と前記第２のプロセッサコアによる処理とが切り替わる負荷の大きさの閾値を決定するステップと、与えられた処理の負荷の大きさと前記閾値とに応じて、前記第１のプロセッサコアによる処理と前記第２のプロセッサコアによる処理とを切り替えるステップとを実行させる。
【発明の効果】
【００１４】
請求項１、７、および９に係る発明によれば、装置のハードウェア構成またはソフトウェア構成に応じて閾値が決定されない場合に比べて、第１のプロセッサコアによる処理と第２のプロセッサコアによる処理とを切り替える処理の発生が抑制される。
請求項２に係る発明によれば、装置にインストールされているソフトウェアの複雑度が高いほど第１のプロセッサコアによる処理に切り替わる確立が高くなるように閾値が決定された場合に比べて、第１のプロセッサコアによる処理と第２のプロセッサコアによる処理とを切り替える処理の発生が抑制される。
請求項３に係る発明によれば、装置にインストールされているソフトウェアの数に応じて閾値が決定される。
請求項４に係る発明によれば、装置にインストールされている複数のソフトウェアが互いに関連する度合いに応じて閾値が決定される。
請求項５に係る発明によれば、装置に組み込まれている電子機器の構成に応じて閾値が決定されない場合に比べて、第１のプロセッサコアによる処理と第２のプロセッサコアによる処理とを切り替える処理の発生が抑制される。
請求項６に係る発明によれば、負荷の大きさが閾値以上になると第１のプロセッサコアによる処理に切り替え、かつ負荷の大きさが閾値を下回ると第２のプロセッサコアによる処理に切り替えた場合に比べて、マルチコアプロセッサの処理効率を向上させることができる。
請求項８に係る発明によれば、画像形成部が画像を形成する速度が速いほど第１のプロセッサコアによる処理に切り替わる確率が高くなるように閾値が決定された場合に比べて、第１のプロセッサコアによる処理と第２のプロセッサコアによる処理とを切り替える処理の発生が抑制される。
【図面の簡単な説明】
【００１５】
【図１】画像形成装置のハードウェア構成を示すブロック図
【図２】マルチコアプロセッサのハードウェア構成および機構的構成を示すブロック図
【図３】閾値Ｔｈを決定する処理を示すフローチャート
【図４】初期値データを例示する図
【図５】関連度データを例示する図
【図６】負荷の大きさの遷移とプロセッサの切り替えとの関係を例示する図
【図７】負荷の大きさの遷移とプロセッサの切り替えとの関係を例示する図
【図８】変形例１に係る処理を示すフローチャート
【図９】変形例４に係る処理を説明する概念図
【発明を実施するための形態】
【００１６】
図１は、本発明の一実施形態に係る画像形成装置１のハードウェア構成を示すブロック図である。画像形成装置１は、複写機、プリンタ、スキャナ、およびファクシミリなどとして機能する装置である。画像形成装置１は、制御部１０と、通信部１１と、記憶部１２と、表示部１３と、入力部１４と、画像形成部１５とを有する。制御部１０は、画像形成装置１の各部の動作を制御する。制御部１０は、マルチコアプロセッサ１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３とを有する。マルチコアプロセッサ１０１（以下、単に「プロセッサ１０１」という）は、プログラムを実行することにより画像形成装置１の各部を制御するデュアルコアプロセッサである。ＲＯＭ１０２は、各種のプログラムおよびデータを記憶した不揮発性の記憶装置である。ＲＡＭ１０３は、データを記憶する揮発性の記憶装置である。
【００１７】
通信部１１は、他の画像形成装置またはパーソナルコンピュータなどの外部の装置と通信を行なう。記憶部１２は、データおよびプログラムを記憶する記憶装置、例えばＨＤＤ（Hard Disk Drive）である。表示部１３は、液晶ディスプレイまたは有機ＥＬディスプレイなどの表示装置を有し、画像形成装置１を操作するためのメニュー画面または各種メッセージを表示する。入力部１４は、画像形成装置１にデータまたは指示を入力するための各種キーを備える。入力部１４は、また、表示部１３のディスプレイに重ねて設けられたタッチスクリーン（タッチパネル）を備える。画像形成部１５は、例えば電子写真方式またはインクジェット方式により用紙（記録媒体の一例）に画像を形成する装置である。
【００１８】
図２は、プロセッサ１０１のハードウェア構成および機構的構成を示すブロック図である。プロセッサ１０１は、プロセッサコア１０１Ａ（第１のプロセッサコアの一例）と、プロセッサコア１０１Ｂ（第２のプロセッサコアの一例）とを有する。プロセッサコア１０１Ａとプロセッサコア１０１Ｂとは、互いに消費電力および処理能力が異なるプロセッサコアであり、この実施形態において、プロセッサコア１０１Ｂは、プロセッサコア１０１Ａよりも消費電力および処理能力が高いプロセッサコアである。プロセッサ１０１において、プロセッサコア１０１Ａとプロセッサコア１０１Ｂとは、与えられた処理の負荷の大きさに応じて互いに切り替わってプログラムを実行し、消費電力の抑制と処理性能の向上とを両立する。具体的には、プロセッサ１０１に与えられた処理の負荷の大きさが閾値Ｔｈ以上である場合にはプロセッサコア１０１Ｂが処理を実行し、閾値Ｔｈを下回る場合にはプロセッサコア１０１Ａが処理を実行する。プロセッサコア１０１Ａとプロセッサコア１０１Ｂとは、処理を切り替えるときを除いて両方がオン（イネーブル）にはならない。
【００１９】
プロセッサ１０１（プロセッサコア１０１Ａおよびプロセッサコア１０１Ｂ）は、機能的な構成として決定手段１０１１（１０１１Ａおよび１０１１Ｂ）と、切替手段１０１２（１０１２Ａおよび１０１２Ｂ）とを有する。決定手段１０１１は、プロセッサコア１０１Ａによる処理とプロセッサコア１０１Ｂによる処理とが切り替わる負荷の大きさの閾値Ｔｈを決定する。決定手段１０１１は、画像形成装置１のハードウェア構成およびソフトウェア構成の少なくとも一方に応じて閾値Ｔｈを決定する。本実施形態では、決定手段１０１１により決定された閾値Ｔｈが小さいほど、プロセッサコア１０１Ｂによる処理に切り替わる確率が高くなり、閾値Ｔｈが大きいほど、プロセッサコア１０１Ａによる処理に切り替わる確率が高くなる。切替手段１０１２は、プロセッサ１０１に与えられた負荷の大きさと、決定手段１０１１により決定された閾値Ｔｈとに応じて、プロセッサコア１０１Ａによる処理とプロセッサコア１０１Ｂによる処理とを切り替える。具体的には、切替手段１０１２は、プロセッサ１０１に与えられた処理の負荷の大きさが閾値Ｔｈ以上になると、プロセッサコア１０１Ａによる処理をプロセッサコア１０１Ｂによる処理に切り替え、プロセッサ１０１に与えられた処理の負荷の大きさが閾値Ｔｈを下回ると、プロセッサコア１０１Ｂによる処理をプロセッサコア１０１Ａによる処理に切り替える。
【００２０】
図３は、プロセッサ１０１が閾値Ｔｈを決定する処理を示すフローチャートである。以下の処理は、例えば、画像形成装置１の電源が投入されたことを契機として開始される。なお、以下の処理は、プロセッサコア１０１Ａおよびプロセッサコア１０１Ｂのいずれのプロセッサコアにより行われてもよい。
【００２１】
ステップＳＡ１において、プロセッサ１０１は、画像形成装置１のハードウェア構成を特定する。プロセッサ１０１により特定される「ハードウェア構成」とは、画像形成装置１のハードウェア構成の複雑さをいい、ここでは、画像形成装置１に含まれるハードウェア要素うち少なくとも１つの要素の特性をいう。この例では、プロセッサ１０１は、画像形成装置１のハードウェア構成として、画像形成部１５が画像を形成する速度（以下、「画像形成速度」という）を特定する。画像形成装置１が画像形成速度の異なる複数の動作モードを有している場合には、プロセッサ１０１は、予め決められた基準となる動作モードにおける画像形成速度を特定する。画像形成速度を示すデータは、ＲＯＭ１０２に記憶されており、プロセッサ１０１は、このデータに基づいて画像形成速度を特定する。
【００２２】
ステップＳＡ２において、プロセッサ１０１は、特定された画像形成装置１のハードウェア構成に応じて閾値Ｔｈの初期値Ｔｈ０を決定する。具体的には、プロセッサ１０１は、ＲＯＭ１０２から初期値Ｔｈ０を決定するためのデータ（以下、「初期値データ」という）を読み出して、当該初期値データに基づいて初期値Ｔｈ０を決定する。プロセッサ１０１は、決定した初期値Ｔｈ０をＲＡＭ１０３に記憶する。
【００２３】
図４は、初期値データを例示する図である。図４の例で、画像形成速度Ｖｉは、画像形成部１５が１分あたりに画像を形成する用紙の枚数で表されている。また、初期値Ｔｈ０は、１から１０までの整数で表されている。図４に示す初期値データにおいては、例えば、画像形成速度Ｖｉが１０枚／分よりも遅い場合には、初期値Ｔｈ０は「１０」に決定される。別の例で、画像形成速度Ｖｉが１０枚／分以上であり且つ２０枚／分よりも遅い場合には、初期値Ｔｈ０は「９」に決定される。さらに別の例で、画像形成速度Ｖｉが９０枚／分以上である場合には、初期値Ｔｈ０は「１」に決定される。このように、初期値データに示された初期値Ｔｈ０は、画像形成速度Ｖｉが速いほど、小さくなる。したがって、プロセッサ１０１は、画像形成速度Ｖｉが速いほど（すなわち、プロセッサ１０１に与えられる負荷が大きくなる可能性が高いほど）、プロセッサコア１０１Ｂによる処理に切り替わる確率が高くなるように初期値Ｔｈ０を決定する。
【００２４】
再び図３を参照する。ステップＳＡ３において、プロセッサ１０１は、画像形成装置１にインストールされているソフトウェアの複雑度Ｃｐを算出する。画像形成装置１には、ユーザの利用目的に応じた各種のソフトウェア（例えば、ユーザの認証若しくはユーザの利用履歴の管理をするためのソフトウェア、文書データを管理するためのソフトウェア、情報漏洩を防止するためのソフトウェア、ワークフローを管理するためのソフトウェアなど）がインストールされる。プロセッサ１０１は、インストールされているソフトウェアが画像形成装置１の各種機能と関連する度合い（以下、「関連度Ｌｆ」という）、および、インストールされているソフトウェアが他のソフトウェアと関連する度合い（以下、「関連度Ｌｓ」という）に応じて複雑度Ｃｐを算出する。ＲＯＭ１０２には、関連度Ｌｆおよび関連度Ｌｓを示すデータ（以下、「関連度データ」という）が予め記憶されている。プロセッサ１０１は、この関連度データに基づいて、複雑度Ｃｐを算出する。プロセッサ１０１は、算出された複雑度ＣｐをＲＡＭ１０３に記憶する。
【００２５】
図５は、関連度データを例示する図である。図５において、アルファベットのＡからＥは、ソフトウェアの種類を示す。コピー、スキャン、ＦＡＸ、およびプリントは、画像形成装置１の機能を示す。図５に示す関連度データのうち左側の領域ｆｂは、関連度Ｌｆを表す。図５に示す例では、あるソフトウェアと画像形成装置１のある機能とが関連する場合に、当該ソフトウェアの行と当該機能の列とが交わる欄に「１」が示されている。あるソフトウェアとある機能とが関連するとは、プロセッサ１０１が当該機能に関する処理を実行するときに（または当該機能に関する処理を実行するにあたり）、当該ソフトウェアに基づく処理を実行することをいう。例えば、ソフトウェアＡは、コピー、スキャン、およびプリント機能と関連しており、ソフトウェアＡの関連度Ｌｆは「３」である。別の例で、ソフトウェアＢは、プリント機能と関連しており、ソフトウェアＢの関連度Ｌｆは「１」である。なお、ソフトウェアと画像形成装置１の機能との関連が大きいほど、関連度データはより大きな数値を示してもよい。
【００２６】
図５に示す関連度データのうち右側の領域ｃｓは、関連度Ｌｓを表す。図５に示す例では、あるソフトウェアと他のソフトウェアとが関連する場合に、これらのソフトウェアの行と列とが交わる欄に「１」が示されている。あるソフトウェアと他のソフトウェアとが関連するとは、あるソフトウェアに基づく処理が実行されるタイミングと他のソフトウェアに基づく処理が実行されるタイミングとが重なることをいう。例えば、図５において、ソフトウェアＡは、ソフトウェアＢおよびソフトウェアＤと関連している。関連度Ｌｓは、関連する２つのソフトウェアの両方が画像形成装置１にインストールされている場合にカウントされる。例えば、ソフトウェアＡとソフトウェアＢとがインストールされている場合において、ソフトウェアＡの関連度Ｌｓは「１」である（ソフトウェアＡとソフトウェアＤとの関連についてはカウントされない）。なお、ソフトウェアどうしの関連が大きいほど、関連度データはより大きな数値を示してもよい。
【００２７】
複雑度Ｃｐは、画像形成装置１にインストールされているソフトウェアの各々の関連度Ｌｆの合計値と関連度Ｌｓの合計値とを合計することにより算出される。なお、複雑度Ｃｐが算出されるときには、複数のソフトウェアの相互の関連度が重複してカウントされないように、関連度Ｌｓの合計値は関連度Ｌｆと合計される前に１／２が乗じられる。例えば、ソフトウェアＡとソフトウェアＢとがインストールされている場合において、関連度Ｌｆの合計値は「４」であり、関連度Ｌｆの合計値は「２」である。そして、関連度Ｌｓの合計値の１／２は「１」である。したがって、この場合、複雑度Ｃｐは、関連度Ｌｆの合計値の「４」と関連度Ｌｓの合計値（の１／２）の「１」とを合わせた「５」である。複雑度Ｃｐは、関連度Ｌｆおよび関連度Ｌｓが高いほど、高くなる。
【００２８】
再び図３を参照する。ステップＳＡ４において、プロセッサ１０１は、算出された複雑度Ｃｐに応じて閾値Ｔｈを変更する。具体的には、プロセッサ１０１は、初期値Ｔｈ０および複雑度ＣｐをＲＡＭ１０３から読み出して、初期値Ｔｈ０から複雑度Ｃｐを引いた値に閾値Ｔｈを変更する。例えば、初期値Ｔｈ０が「１０」、複雑度Ｃｐが「５」である場合、閾値Ｔｈは「５」に変更される。プロセッサ１０１は、変更後の閾値Ｔｈ（以下、「閾値Ｔｈ１」という）をＲＡＭ１０３に記憶する。このように、閾値Ｔｈ１は、複雑度Ｃｐが高いほど、小さくなる。したがって、プロセッサ１０１は、複雑度Ｃｐが高いほど（すなわち、プロセッサ１０１に与えられる負荷が大きくなる可能性が高いほど）、プロセッサコア１０１Ｂによる処理に切り替わる確率が高くなるように閾値Ｔｈを変更する。ステップＳＡ１からステップＳＡ４の処理により閾値Ｔｈを決定する処理が終了すると、プロセッサ１０１は、与えられた処理の負荷の大きさと閾値Ｔｈ１とに応じて、プロセッサコア１０１Ａによる処理とプロセッサコア１０１Ｂによる処理とを切り替える。
【００２９】
図６は、プロセッサ１０１に与えられた処理の負荷の大きさの遷移と、プロセッサ１０１の切り替えとの関係を例示する図である。図６において、横軸は時刻ｔを表し、縦軸はプロセッサ１０１に与えられた処理の負荷の大きさＰＬを表す。図６（ａ）は、上述の閾値Ｔｈを決定する処理がされない場合であって、閾値Ｔｈが一定値（Ｔｈｃ）である場合の比較例を示す図である。この例では、時刻ｔ１１、ｔ１３、およびｔ１４において、負荷の大きさＰＬはＴｈｃ以上であり、プロセッサコア１０１Ｂが処理を実行する。時刻ｔ１２において、負荷の大きさＰＬはＴｈｃを下回っており、プロセッサコア１０１Ａが処理を実行する。したがって、図６（ａ）では、プロセッサコア１０１Ａによる処理とプロセッサコア１０１Ｂによる処理とを切り替えるためのオーバーヘッドが発生する。図６（ｂ）は、上述の閾値Ｔｈを決定する処理がされた場合の例を示す図である。この例では、閾値Ｔｈ１は、閾値Ｔｈｃよりも小さい値に決定されている。時刻ｔ１１、ｔ１２、ｔ１３、およびｔ１４において、負荷の大きさはＴｈ１以上であり、プロセッサコア１０１Ｂが処理を実行する。したがって、図６（ｂ）では、プロセッサコア１０１Ａによる処理とプロセッサコア１０１Ｂによる処理とを切り替えるためのオーバーヘッドが発生しない。
【００３０】
図７は、プロセッサ１０１に与えられた処理の負荷の大きさの遷移と、プロセッサ１０１の切り替えとの関係を例示する別の図である。図７（ａ）は、閾値Ｔｈが一定値（Ｔｈｃ）である場合の比較例を示す図である。この例では、時刻ｔ２１、ｔ２３、およびｔ２４において、負荷の大きさＰＬはＴｈｃを下回っており、プロセッサコア１０１Ａが処理を実行する。時刻ｔ２２において、負荷の大きさＰＬはＴｈｃ以上であり、プロセッサコア１０１Ｂが処理を実行する。したがって、図７（ａ）では、プロセッサコア１０１Ａによる処理とプロセッサコア１０１Ｂによる処理とを切り替えるためのオーバーヘッドが発生する。図７（ｂ）は、上述の閾値Ｔｈを決定する処理がされた場合の例を示す図である。この例では、閾値Ｔｈ１は、閾値Ｔｈｃよりも大きい値に決定されている。時刻ｔ２１、ｔ２２、ｔ２３、およびｔ２４において、負荷の大きさＰＬはＴｈ１を下回っており、プロセッサコア１０１Ａが処理を実行する。したがって、図７（ｂ）では、プロセッサコア１０１Ａによる処理とプロセッサコア１０１Ｂによる処理とを切り替えるためのオーバーヘッドが発生しない。
【００３１】
図６および図７に示した通り、画像形成装置１のハードウェア構成およびソフトウェア構成に応じて閾値Ｔｈが決定されると、閾値Ｔｈが一定値である場合に比べて、プロセッサ１０１の切り替えが発生する確率は低くなる。したがって、閾値Ｔｈが一定値である場合に比べて、プロセッサ１０１を切り替えるためのオーバーヘッドの発生が抑制される。
【００３２】
本発明は、上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下で説明する変形例のうち、２つ以上のものが組み合わされて用いられてもよい。
【００３３】
（１）変形例１
プロセッサ１０１が閾値Ｔｈを変更する処理は、画像形成装置１の電源が投入されたことを契機として行われる場合に限らない。閾値Ｔｈを変更する処理は、例えば、新たなソフトウェアが画像形成装置１にインストールされた場合に行われてもよい。
【００３４】
図８は、変形例１に係る処理を示すフローチャートである。なお、以下の処理は、プロセッサコア１０１Ａおよびプロセッサコア１０１Ｂのいずれのプロセッサコアにより行われてもよい。ステップＳＢ１にいて、プロセッサ１０１は、画像形成装置１に新たなソフトウェアがインストールされたか否かを判断する。新たなソフトウェアがインストールされたと判断された場合（ステップＳＢ１：ＹＥＳ）、プロセッサ１０１は、処理をステップＳＢ２に移行する。新たなソフトウェアがインストールされていないと判断された場合（ステップＳＢ１：ＮＯ）、プロセッサ１０１は、新たなソフトウェアがインストールされるまで処理を待機する。ステップＳＢ２において、プロセッサ１０１は、ステップＳＡ３と同様の処理により、画像形成装置１にインストールされているソフトウェアの複雑度Ｃｐを算出する。ステップＳＢ３において、プロセッサ１０１は、ステップＳＡ４と同様の処理により、複雑度Ｃｐに応じて閾値Ｔｈを変更する。
【００３５】
（２）変形例２
ステップＳＡ１において特定される画像形成装置１のハードウェア構成は、画像形成速度Ｖｉに限らない。例えば、画像形成装置１に決められた処理を実行させるために画像形成装置１に組み込まれている電子機器の構成が、画像形成装置１のハードウェア構成として特定されてもよい。具体例としては、画像形成装置１の機能を拡張するためのいわゆる拡張ボード（例えば、パラレルインタフェースボード、無線ＬＡＮ（Local Area Network）ボード、イーサネット（登録商標）ボード、画像データ変換ボードなど）が画像形成装置１のハードウェア構成として特定されてもよい。この場合、ステップＳＡ２において、画像形成装置１に拡張ボードが組み込まれている場合には、プロセッサコア１０１Ｂに切り替わる確立が高くなるように初期値Ｔｈ０が決定されてもよい。また、画像形成装置１に組み込まれた拡張ボードの数が多いほど、プロセッサコア１０１Ｂに切り替わる確立が高くなるように初期値Ｔｈ０が決定されてもよい。別の具体例として、画像形成装置１の原稿読み取り部に対して原稿を送る原稿送り装置が画像形成装置１のハードウェア構成として特定されてもよい。この場合、ステップＳＡ２において、画像形成装置１が原稿送り装置を備えている場合には、プロセッサコア１０１Ｂに切り替わる確立が高くなるように初期値Ｔｈ０が決定されてもよい。
【００３６】
（３）変形例３
プロセッサ１０１が閾値Ｔｈを決定する処理は、図３に示した処理に限定されない。例えば、プロセッサ１０１は、過去（図３に示した処理が開始される前）にプリント機能が実行されたファイルのサイズ、当該ファイルに含まれているイラストまたは図表などのオブジェクトの数、および当該ファイルの圧縮形式などに基づいてプロセッサ１０１に将来与えられる処理の負荷の大きさを予測し、予測された負荷の大きさが大きいほどプロセッサコア１０１Ｂに切り替わる確立が高くなるように閾値Ｔｈを変更してもよい。
【００３７】
（４）変形例４
関連度Ｌｓが算出される方法は、実施形態に記載された方法に限らない。例えば、あるソフトウェアに基づいて複数のサービスが起動される場合には、起動されているサービスの数に応じて関連度Ｌｓが算出されてもよい。この場合、プロセッサ１０１は、ステップＳＡ３の処理の前に、画像形成装置１にインストールされているソフトウェアの各々について、起動されているサービスの数を特定する。
【００３８】
図９は、変形例４に係る処理を説明する概念図である。図９は、図５に示した各ソフトウェアどうしの関連を示すクラス図である。ここでは、ソフトウェアＡからソフトウェアＥまでの各ソフトウェアが画像形成装置１にインストールされている場合を例に説明する。図９において、各ソフトウェアのクラスに含まれた黒丸の数は、あるソフトウェアにより起動されているサービスの数を表す。図９に示す例では、ソフトウェアＡ、ソフトウェアＣ、およびソフトウェアＤにおいてそれぞれ１つのサービスが起動されており、ソフトウェアＢにおいて２つのサービスが起動されている。したがって、ソフトウェアＡとソフトウェアＢとの関連は「２」であり、ソフトウェアＡとソフトウェアＤとの関連は「１」である。そのため、ソフトウェアＡの関連度Ｌｓは「３」である。
【００３９】
（５）変形例５
複雑度Ｃｐは、画像形成装置１にインストールされているソフトウェアの数に応じて算出されてもよい。この場合、プロセッサ１０１は、インストールされているソフトウェアの数が多いほど複雑度Ｃｐが高くなるように、複雑度Ｃｐを算出する。さらに別の例で、複雑度Ｃｐは、関連度Ｌｆおよび関連度Ｌｓのいずれか一方に応じて算出されてもよい。この場合、関連度データには、関連度Ｌｆおよび関連度Ｌｓのいずれか一方が示されていてもよい。
【００４０】
（６）変形例６
画像形成装置１およびプロセッサ１０１のハードウェア構成は、図１および図２に示した構成に限らない。図３に示した各ステップの処理が実行されれば、画像形成装置１またはプロセッサ１０１はどのようなハードウェア構成であってもよい。例えば、プロセッサ１０１は、デュアルコアプロセッサに限らない。プロセッサ１０１は、３つ以上のプロセッサコアを有するマルチコアプロセッサ（例えば、トリプルコアプロセッサ、またはクアッドコアプロセッサなど）であってもよい。また、プロセッサ１０１の機能的構成は、図２に示した構成に限らない。例えば、決定手段１０１１は、プロセッサコア１０１Ａおよびプロセッサコア１０１Ｂのいずれか一方が有していてもよい。この場合、閾値Ｔｈを決定する処理は、決定手段１０１１を有するプロセッサ１０１により行われる。
【００４１】
（７）その他の変形例
実施形態において、プロセッサ１０１によって実行されるプログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスク（ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk））など）、光磁気記録媒体、半導体メモリ（フラッシュＲＯＭなど）などのコンピュータが読み取り可能な記録媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットなどのネットワーク経由でダウンロードされてもよい。
【００４２】
初期値データは実施形態に記載されたものに限らない。例えば、初期値データには、画像形成速度Ｖｉと初期値Ｔｈ０との対応が非連続に示されていてもよい。この場合、プロセッサ１０１は、特定された画像形成速度に応じた初期値Ｔｈ０を、線形補間により決定してもよい。
実施形態に示した閾値Ｔｈおよび範囲はあくまで一例であり、閾値Ｔｈはいかなる値または範囲で用いられてもよい。
【００４３】
プロセッサ１０１が組み込まれる装置は、画像形成装置１に限らない。プロセッサ１０１は、パーソナルコンピュータなどの他の情報処理装置に組み込まれてもよい。
【符号の説明】
【００４４】
１…画像形成装置、１０…制御部、１０１…マルチコアプロセッサ、１０２…ＲＯＭ、１０３…ＲＡＭ、１１…通信部、１２…記憶部、１３…表示部、１４…入力部、１５…画像形成部、１０１Ａ，Ｂ…プロセッサコア、１０１１…決定手段、１０１２…切替手段
【図１】
2015011663.tif 000003
【図２】
2015011663.tif 000004
【図３】
2015011663.tif 000005
【図４】
2015011663.tif 000006
【図５】
2015011663.tif 000007
【図６】
2015011663.tif 000008
【図７】
2015011663.tif 000009
【図８】
2015011663.tif 000010
【図９】
2015011663.tif 000011