(57)【要約】【課題】応答性の高さと電力消費の小ささとを両立させることを目的とする。【解決手段】複数の制御手段を有する主制御手段と、主制御手段が省電力状態で動作している際に、ネットワークを介して通信可能な情報処理装置からの要求を主制御手段に代わって代理応答する副制御手段と、を有し、主制御手段は、副制御手段が、副制御手段では代理応答することができない要求を情報処理装置から受け取ると、要求に係る受信パケット情報と、複数の制御手段の運用情報と、に基づいて、複数の制御手段のうち、要求に応答するための制御手段を決定し、決定した制御手段で省電力状態から復帰することによって課題を解決する。【選択図】図８
2014113731.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御手段を有する主制御手段と、
前記主制御手段が省電力状態で動作している際に、ネットワークを介して通信可能な情報処理装置からの要求を前記主制御手段に代わって代理応答する副制御手段と、
を有し、
前記主制御手段は、前記副制御手段が、前記副制御手段では代理応答することができない前記要求を前記情報処理装置から受け取ると、前記要求に係る受信パケット情報と、前記複数の制御手段の運用情報と、に基づいて、前記複数の制御手段のうち、前記要求に応答するための制御手段を決定し、決定した制御手段で前記省電力状態から復帰する画像形成装置。
【請求項２】
前記副制御手段は、前記副制御手段では代理応答することができない前記要求を前記情報処理装置から受け取ると、前記要求を前記主制御手段に転送し、前記要求に係る受信パケット情報を予め定められた記憶領域に記憶し、
前記主制御手段は、前記要求を受け取ると、前記記憶領域に記憶されている前記受信パケット情報と、予め定められた記憶領域に保存されている前記運用情報と、に基づいて、前記複数の制御手段のうち、前記要求に応答するための制御手段を決定し、決定した制御手段で前記省電力状態から復帰する請求項１記載の画像形成装置。
【請求項３】
前記主制御手段は、通常状態で動作している際に、前記予め定められた記憶領域に、前記複数の制御手段の運用情報を記憶する請求項２記載の画像形成装置。
【請求項４】
前記複数の制御手段の運用情報とは、前記複数の制御手段が、あるタスクを分散して処理する運用か、前記複数の制御手段が、各々特定のタスクを処理する運用か、を示す情報である請求項１乃至３何れか１項記載の画像形成装置。
【請求項５】
複数の制御手段を有する主制御手段と、
前記主制御手段が省電力状態で動作している際に、ネットワークを介して通信可能な情報処理装置からの要求を前記主制御手段に代わって代理応答する副制御手段と、
を有する画像形成装置が実行する制御方法であって、
前記主制御手段が、前記副制御手段から、前記副制御手段では代理応答することができない前記要求を前記情報処理装置から受け取ると、前記要求に係る受信パケット情報と、前記複数の制御手段の運用情報と、に基づいて、前記複数の制御手段のうち、前記要求に応答するための制御手段を決定するステップと、
前記主制御手段が、前記決定した制御手段で前記省電力状態から復帰するステップと、を含む制御方法。
【請求項６】
コンピュータを、
複数の制御手段を有する主制御手段と、
前記主制御手段が省電力状態で動作している際に、ネットワークを介して通信可能な情報処理装置からの要求を前記主制御手段に代わって代理応答する副制御手段と、
して機能させ、
前記主制御手段は、前記副制御手段が、前記副制御手段では代理応答することができない前記要求を前記情報処理装置から受け取ると、前記要求に係る受信パケット情報と、前記複数の制御手段の運用情報と、に基づいて、前記複数の制御手段のうち、前記要求に応答するための制御手段を決定し、決定した制御手段で前記省電力状態から復帰するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、省電力モードを備えた画像形成装置は一般的なものになっている。省電力モードを備えた画像形成装置では、画像形成装置が非スタンバイ状態のときに、画像形成装置を制御する主制御部への電力供給を通常より低減（或いは遮断）し、非スタンバイ状態における省電力モードを実現している。
また、画像形成装置には、省電力モードを維持した状態で、画像形成装置のコントローラに代わってネットワーク応答を実現する「代理応答」と呼ばれる機能がある。しかし、省電力モードでは利用可能なリソースに限りがあり、ネットワーク応答の全てを代理応答で行うことは不可能である。
例えば特許文献１には、複数ＣＰＵを搭載したシステムで、各ＣＰＵが行う仕事量を計測し、計測した仕事量に基づいて各ＣＰＵの使用率を予測する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１６０５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、複数のＣＰＵを備えるマルチプロセッサシステムにおいて、プロセッサバスを監視することによって個々のＣＰＵの動作状態を検出するプロセッサバス監視部と、システムの負荷状態を監視するシステム状態監視部とを設けている。また、マルチプロセッサシステムでは、システム状態監視部からの通知に基づいて個々のＣＰＵによる消費電力を制御するシステム状態制御部を設けている。そして、マルチプロセッサシステムキー入力待ち等のために特定のＣＰＵに対する負荷が少ない状態が続くと、そのことがプロセッサバス監視部等によってシステム状態制御部に通知される。システム状態制御部は、クロック切り替え部に指令して該当するＣＰＵへ供給するクロックを低い周波数に切り替えるようになっている。
【０００５】
特許文献１に開示された技術では、省電力状態での代理応答によるネットワーク応答が不可能な場合、コントローラは省電力モードからスタンバイ状態へ復帰し、システム状態監視を開始する。特定ＣＰＵコアのリソースを特定タスクの処理に占有させるマルチコアＣＰＵシステム（以下、「非対称マルチコアＣＰＵシステム」と記す）においては、特定のＣＰＵに対する負荷を計測している期間、全ＣＰＵコアを動作させなければならない。このため、負荷計測中に特定ＣＰＵに対して割り当てられたタスクの実行が無い場合であったとしても、該当する特定ＣＰＵを停止させることは不可能である。ＣＰＵ負荷の計測時間中、処理すべきタスクの無いＣＰＵコアが動作することによって、電力消費のパフォーマンスの低下が招かれる結果となる。
【０００６】
本発明はこのような問題点に鑑みなされたもので、応答性の高さと電力消費の小ささとを両立させることを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明の画像形成装置は、複数の制御手段を有する主制御手段と、前記主制御手段が省電力状態で動作している際に、ネットワークを介して通信可能な情報処理装置からの要求を前記主制御手段に代わって代理応答する副制御手段と、を有し、前記主制御手段は、前記副制御手段が、前記副制御手段では代理応答することができない前記要求を前記情報処理装置から受け取ると、前記要求に係る受信パケット情報と、前記複数の制御手段の運用情報と、に基づいて、前記複数の制御手段のうち、前記要求に応答するための制御手段を決定し、決定した制御手段で前記省電力状態から復帰する。
【発明の効果】
【０００８】
本発明によれば、応答性の高さと電力消費の小ささとを両立させることができる。
【図面の簡単な説明】
【０００９】
【図１】ネットワークを介して通信可能な画像形成装置の内部構成の一例を示す図である。
【図２】画像形成装置のコントローラ部のハードウェア構成の一例を示す図である。
【図３】画像形成装置のコントローラ部のソフトウェア構成の一例を示す図である。
【図４】画像形成装置のコントローラ部の電力状態遷移の一例を示す図である。
【図５】省電力状態におけるサブＣＰＵソフトウェアの処理の一例を示すフローチャートである。
【図６】画像形成装置のコントローラ部におけるメインボードの構成の一例を示す図である。
【図７】非対称マルチコアＣＰＵシステムの一例を示す図である。
【図８】本実施形態に係る制御処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
【００１１】
＜実施形態１＞
図１は、ネットワークを介して通信可能な画像形成装置１の内部構成の一例を示す図である。
画像形成装置１は、スキャナ装置２と、コントローラ部（制御装置）３と、プリンタ装置４と、操作部５と補助記憶装置６と、電源部７とを有する。
スキャナ装置２は、原稿から光学的に画像を読み取りデジタル画像に変換する。
プリンタ装置４は、デジタル画像を紙デバイスに出力する。
操作部５は、画像形成装置１の入力デバイス等である。ユーザ等は、操作部５を操作することにより画像形成装置１を制御できる。
【００１２】
補助記憶装置６は、デジタル画像や制御プログラム等を記憶する。
電源部７は、スキャナ装置２と、コントローラ部３と、プリンタ装置４とへの電源供給を制御する。
コントローラ部３は、スキャナ装置２と、プリンタ装置４と、操作部５と、補助記憶装置６と、電源部７とに接続され、各モジュールに指示を出すことにより画像形成装置１上でジョブを実行する。
ＬＡＮＩ／Ｆ８は、画像形成装置１と、ＬＡＮ１０とをネットワーク接続するためのＩ／Ｆである。
コンピュータ９は、ＬＡＮ１０を介して画像形成装置１とデジタル画像の入出力を行い、画像形成装置１に対してジョブの発行、機器の指示等を行う情報処理装置である。
【００１３】
ＬＡＮ１０は、ＬＡＮＩ／Ｆ８を介してコントローラ部３に接続される。
スキャナ装置２は、原稿束を自動的に逐次入れ替えられる原稿給紙ユニット部２１と、原稿を光学スキャンしデジタル画像に変換できるスキャナユニット部２２とを有し、スキャナユニット部２２で変換された画像データをコントローラ部３に送信する。
プリンタ装置４は、給紙した紙に画像データを印刷するためのマーキングユニット部４１と、紙束から一枚ずつ逐次給紙できる給紙ユニット部４２と、印刷後の紙を排紙するための排紙ユニット部４３とを有する。
なお、ここでは画像形成装置１をプリント機能とスキャナ機能とを備えるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）であると説明したが、画像形成装置１はＭＦＰに限るものではない。例えば、画像形成装置１はスキャナ機能を備えないＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）であってもよい。
【００１４】
図２は、画像形成装置１のコントローラ部３のハードウェア構成の一例を示す図である。
コントローラ部３は、メインボード２００と、サブボード２２０とを有する。
メインボード２００は、汎用的なＣＰＵシステムでＣＰＵ２０１と、ブートＲＯＭ２０２と、メモリ２０３と、バスコントローラ部２０４と、不揮発性メモリ２０５と、ディスクコントローラ部２０６と、フラッシュディスク２０７と、ＬＡＮＩ／Ｆ８とを有する。更に、メインボード２００は、外部で操作部５及び補助記憶装置６等に接続されている。
ＣＰＵ２０１は、メモリ２０３等に記憶されているプログラムに基づいてメインボード２００及びサブボード２２０のボード全体を制御する。
ブートＲＯＭ２０２は、ブートプログラムを記憶する。
メモリ２０３は、主としてＣＰＵ２０１が実行可能な制御プログラム及び各種設定を記憶する。また、メモリ２０３は、ＣＰＵ２０１がワークメモリとして使用するメモリである。
【００１５】
バスコントローラ部２０４は、外部バスとのブリッジ機能を持つ。
不揮発性メモリ２０５は、電源が断たれた状態でも記憶を保持できるメモリである。
ディスクコントローラ部２０６は、フラッシュディスク２０７等のストレージ装置を制御する。
フラッシュディスク２０７は、半導体デバイスで構成された比較的小容量なストレージ装置である。
ＬＡＮＩ／Ｆ８は、コントローラ部３と、外部とをネットワーク接続するためのインターフェースである。
【００１６】
サブボード２２０は、比較的小さな汎用ＣＰＵシステムと、画像処理ハードウェアとを有しており、リアルタイムデジタル画像処理を実行する。
ＲＯＭ８３は、ＣＰＵ８１が実行可能な制御プログラム及び各種設定情報等を記憶している。
ＣＰＵ８１は、ＲＯＭ８３に記憶されているプログラムに基づいて、システムバス８６に接続されている各種のデバイスを総括的に制御する。
ＲＡＭ８４は、主としてＣＰＵ８１の主記憶メモリ及びワークエリア等として機能する。
ネットワークＩ／Ｆ８５は、ＣＰＵ８１と、ネットワーク上のホストコンピュータ及び画像形成装置等との通信処理を可能とするインターフェースである。
【００１７】
また、メインボード２００は、バスコントローラ部２０４を介してＬＡＮＩ／Ｆ８に接続されている。
メインボード２００上のＣＰＵ２０１がプログラムを制御することで実現されるソフトウェアは、バスコントローラ部２０４を介して、ＬＡＮＩ／Ｆ８とデータの送受信を行うことができる。同様に、ＬＡＮＩ／Ｆ８上のＣＰＵ８１がプログラムを制御することで実現されるソフトウェアは、バスコントローラ部２０４を介して、メインボード２００とデータの送受信を行う事ができる。
なお、図２はコントローラ部３を簡略化して記載した図である。例えばＣＰＵ２０１は、チップセット、バスブリッジ、クロックジェネレータ等のＣＰＵ周辺ハードウェアを実際には多数有している。
ＣＰＵ２０１は、主制御手段の一例である。また、ＣＰＵ８１は、副制御手段の一例である。
【００１８】
図３は、画像形成装置１のコントローラ部３のソフトウェア構成の一例を示す図である。
コントローラ部３のソフトウェア構成は、非スリープ状態で動作するメインＣＰＵソフトウェア３０１と、スリープ状態で動作するサブＣＰＵソフトウェア３０９とに大別される。
まず、メインＣＰＵソフトウェア３０１について説明する。
メインＣＰＵソフトウェア３０１は、ＣＰＵ２０１がメモリ２０３等に記憶されているプログラムを実行することで実現されるソフトウェアである。
スリープ制御部３１９は、メインボード２００及びＬＡＮＩ／Ｆ８共に電力が供給されている通常状態から、メインボード２００への電力供給が低減される省電力状態への移行に係る制御を行う。
【００１９】
メインＣＰＵソフトウェア３０１は、Ｅｔｈｅｒｎｅｔ（登録商標）ヘッダー処理部３０３と、ＩＰヘッダー処理部３０４と、ＴＣＰ／ＵＤＰヘッダー処理部３０５とを含むプロトコルスタック３０２を含む。
ＩＰｓｅｃ処理部３０６は、ＩＰヘッダー処理部３０４のレイヤーで動作し、ＩＰｓｅｃネゴシエーション処理、ネットワークパケットのＩＰｓｅｃ処理及びＩＰｓｅｃ処理に必要なＳＡ（ＳｅｃｕｔｉｒｙＡｓｓｏｓｉａｔｉｏｎ）の管理等を行う。
ＣＰＵ間通信部３０８は、バスコントローラ部２０４を介して、ＬＡＮＩ／Ｆ８のサブＣＰＵソフトウェア３０９とデータの送受信を行う。
【００２０】
次にサブＣＰＵソフトウェア３０９について説明する。
サブＣＰＵソフトウェア３０９は、ＣＰＵ８１がＲＯＭ８３に記憶されているプログラムを実行することで実現されるソフトウェアである。
ＣＰＵ間通信部３１８は、バスコントローラ部２０４を介して、メインＣＰＵソフトウェア３０１とデータの送受信を行う。
サブＣＰＵソフトウェア３０９は、Ｅｔｈｅｒｎｅｔヘッダー処理部３１１と、ＩＰヘッダー処理部３１２と、ＴＣＰ／ＵＤＰヘッダー処理部３１３とを含むプロトコルスタック３１０を含む。
ＩＰｓｅｃ処理部３１４は、受信パケットのＩＰｓｅｃ処理及びＳＡの管理等を行う。
また、サブＣＰＵソフトウェア３０９は、ＬＡＮＩ／Ｆ８がコンピュータ９等から受信したネットワークパケット（以下、受信パケットという）やＳＡ情報等を一時的に保存するための一時記憶領域３１５を含む。
【００２１】
代理応答処理部３１６は、コンピュータ９等から受信した受信パケットに対して、ＣＰＵ２０１を復帰させずにＣＰＵ８１の能力だけで応答可能か否かを判断し、応答可能と判断した場合、応答パケットの作成及びコンピュータ９等への送信制御を行う。
コンピュータ９等から受信した受信パケットは、コンピュータ９等からの要求の一例である。
ＷＯＬ処理部３１７は、受信パケットがＣＰＵ２０１を復帰させるべきパケットパターンであるか否かを判断し、復帰させるパケットパターンであると判断した場合、ＣＰＵ２０１の復帰処理を行う。
サブＣＰＵソフトウェア３０９は、受信パケットを「破棄」と、「メインＣＰＵソフトウェア３０１へ転送」と、「代理で応答を送信」との３種類に分類する。
【００２２】
「破棄」は、受信パケットが自装置宛パケットではない場合等、無視してよい場合を示す。ＬＡＮＩ／Ｆ８は、サブＣＰＵソフトウェア３０９により受信パケットが「破棄」と分類された場合、受信パケットに対して何も処理を行わない。
「メインＣＰＵソフトウェア３０１へ転送」は、受信パケットに対して何らかの処理が必要であるが、ＬＡＮＩ／Ｆ８だけでは処理を行えない場合を示す。ＬＡＮＩ／Ｆ８は、サブＣＰＵソフトウェア３０９により受信パケットが「メインＣＰＵソフトウェア３０１へ転送」と分類された場合、メインボード２００を省電力状態から通常状態へ移行させ、受信パケットをメインＣＰＵソフトウェア３０１へ転送する。
「代理で応答を送信」は、ＬＡＮＩ／Ｆ８が受信パケットに対して応答し、応答パケットを作成しコンピュータ９等へ送信する場合を示す。なお、ＬＡＮＩ／Ｆ８がコンピュータ９等と送受信するパケットがＩＰｓｅｃのパケットである場合、ＩＰｓｅｃ処理部３１４は、ＬＡＮＩ／Ｆ８とコンピュータ９等との送受信を制御する。
【００２３】
図４は、画像形成装置１のコントローラ部３の電力状態遷移の一例を示す図である。
通常状態４１０にあるコントローラ部３は、省電力状態４３０への遷移イベントの発生により省電力状態４３０へ遷移する（４０１）。省電力状態４３０への遷移イベントの例として、ユーザによる省電力移行操作や、タイマー等がある。
省電力状態４３０にあるコントローラ部３は、通常状態４１０への遷移イベントの発生により通常状態４１０へ遷移する（４０２）。通常状態４１０への遷移イベントの例として、ネットワークパケットの受信、ユーザによる通常状態移行操作、タイマー等がある。
省電力状態４３０にあるコントローラ部３は、パワーオフ状態４２０への遷移イベントの発生によりパワーオフ状態４２０へ遷移する（４０３）。パワーオフ状態４２０への遷移イベントの例として、ユーザによる電源オフ操作等がある。
パワーオフ状態４２０にあるコントローラ部３は、通常状態４１０への遷移イベントの発生により通常状態４１０へ遷移する（４０５）。通常状態４１０への遷移イベントの例として、ユーザによる電源オン操作やタイマー等がある。
通常状態４１０にあるコントローラ部３は、パワーオフ状態４２０への遷移イベントの発生によりパワーオフ状態４２０へ遷移する（４０４）。パワーオフ状態４２０への遷移イベントの例として、ユーザによるパワーオフ操作やタイマー等がある。
【００２４】
図５は、省電力状態４３０におけるサブＣＰＵソフトウェア３０９の処理の一例を示すフローチャートである。
なお、サブＣＰＵソフトウェア３０９には、代理応答パケットパターン及びＷＯＬパケットパターンが、メインＣＰＵソフトウェア３０１により予め設定されているものとする。
Ｓ５０１で、プロトコルスタック３１０は、ＣＰＵ２０１がスリープ状態に移行しＣＰＵ８１へパケット処理の制御が変遷すると、コンピュータ９等からの受信パケットの受信待ち状態となる。受信パケットを受信した場合、プロトコルスタック３１０は、処理をＳ５０２に進める。
Ｓ５０２で、プロトコルスタック３１０は、受信パケットを一時記憶領域３１５に記憶させ、処理をＳ５０３に進める。
Ｓ５０３で、プロトコルスタック３１０は、一時記憶領域３１５に記憶していた受信パケットをＥｔｈｅｒｎｅｔヘッダー処理部３１１、ＩＰヘッダー処理部３１２等へ転送し、各解析処理部でヘッダー解析及びヘッダー部の除去を行い、処理をＳ５０４へ進める。
【００２５】
Ｓ５０４で、代理応答処理部３１６は、Ｓ５０３におけるヘッダー解析及びＰＡＹＬＯＡＤ部分の解析結果に基づき、受信パケットは代理応答可能なパターンであるか否かを判断し、代理応答可能なパターンと判断した場合、処理をＳ５０５に進める。
Ｓ５０５で、代理応答処理部３１６は、応答パケットの作成を行い、処理をＳ５０６に進める。
Ｓ５０６で、プロトコルスタック３１０は、応答パケットをコンピュータ９等に送信し、処理をＳ５０７に進める。
Ｓ５０７で、プロトコルスタック３１０は、一時記憶領域３１５に記憶しいていた受信パケットを消去し、再び処理をＳ５０１に進める。
【００２６】
一方、Ｓ５０４で、代理応答処理部３１６は、受信パケットを代理応答不可能なパターンと判断した場合、処理をＳ５０８に進める。
Ｓ５０８で、ＷＯＬ処理部３１７は、受信パケットはＣＰＵ２０１をＷＯＬするパケットパターンであるか否かを判断し、ＷＯＬするパケットパターンではないと判断した場合、処理をＳ５０９に進める。
Ｓ５０９で、ＷＯＬ処理部３１７は、受信パケットを破棄し、処理をＳ５０７に進める。
【００２７】
一方、Ｓ５０８で、ＷＯＬ処理部３１７は、受信パケットはＣＰＵ２０１をＷＯＬすべきパターンであると判断した場合、処理をＳ５１０に進める。
Ｓ５１０で、ＷＯＬ処理部３１７は、受信パケット情報を不揮発性メモリ２０５等に保存し、処理をＳ５１１に進める。ここで、受信パケット情報とは、例えば、受信パケットのプロトコル情報等である。
Ｓ５１１で、ＷＯＬ処理部３１７は、ＣＰＵ間通信部３１８を介してメインボード２００を復帰させ、処理をＳ５１２に進める。
Ｓ５１２で、サブＣＰＵソフトウェア３０９は、ＷＯＬ処理部３１７に保持されている受信パケットではなく、一時記憶領域３１５に保持されている受信パケットをメインＣＰＵソフトウェア３０１に転送し、処理をＳ５１３に進める。これは、サブＣＰＵソフトウェア３０９が、ＷＯＬ処理部３１７にあるヘッダー部が除去された受信パケットを転送してしまうと、メインＣＰＵソフトウェア３０１のプロトコルスタック３０２は処理を実行できなくなるためである。
Ｓ５１３で、プロトコルスタック３１０は、一時記憶領域３１５に記憶していた受信パケットを消去する。一時記憶領域３１５に記憶されていた受信パケットが消去されると、ＣＰＵ８１による処理は、終了する。
【００２８】
図６は、画像形成装置１のコントローラ部３におけるメインボード２００の構成の一例を示す図である。
図６を用いて、画像形成装置のコントローラ部３が、コンピュータ９等から受信パケットを受信することにより省電力状態４３０から通常状態４１０へ遷移する際の電力状態について説明する。
省電力状態４３０では、コントローラ部３のＬＡＮＩ／Ｆ８とメモリ２０３とが主に通電している。また、メモリ２０３は、セルフリフレッシュ状態で、コントローラ部３が通常状態４１０から省電力状態４３０に移行を開始した時点のメモリ内容を保持している。
【００２９】
省電力状態４３０でＬＡＮＩ／Ｆ８上のＣＰＵ８１は、コンピュータ９等から受信パケットを受信した場合、省電力状態４３０を維持したまま応答が可能か否かを判断する。
ＣＰＵ８１は、応答可能と判断した場合、受信パケットに対して応答パケットを作成し、コンピュータ９等の送信元へ送信する。
ＣＰＵ８１は、応答不可能と判断した場合、メインボード２００全体を起床させ、ＣＰＵコア２０１０と、ＣＰＵコア２０１１とをリセットする。
リセットされたＣＰＵコア２０１０と、ＣＰＵコア２０１１とは、ＢＩＯＳ等の起動プログラムを実行し、省電力状態４３０から通常状態４１０へ遷移するための各種処理を実行する。
ＣＰＵコア２０１０と、ＣＰＵコア２０１１とは、前記各種処理を完了させると、通常状態４１０から省電力状態４３０へ遷移する前の状態を保持したメモリ２０３上の命令領域へジャンプし、起動プログラムの処理を終える。
その後、ＣＰＵコア２０１０と、ＣＰＵコア２０１１とは、ＯＳによる通常状態４１０へ遷移するための各種処理を行うことにより、メインボード２００上の全デバイスが使用可能な状態となる。
ここで、ＣＰＵコア２０１０と、ＣＰＵコア２０１１とは、省電力状態４３０を維持した状態での応答が不可能だった受信パケットに応答し、応答完了後に再び省電力状態４３０へ移行する。
ＣＰＵコア２０１０、２０１１は、複数の制御手段の一例である。なお、本実施形態では、特に言及しない限り、ＣＰＵコア数を２つとして説明を行うが、ＣＰＵコア数は後述する図７のように２つ以上であってもよい。
【００３０】
図７は、非対称マルチコアＣＰＵシステムの一例を示す図である。図７を用いて、非対称マルチコアＣＰＵシステムにおいて、タスク処理を行わないＣＰＵコアを動作させることによるパフォーマンス低下が起きる原因・メカニズムについて説明する。
メインボード２００上のＣＰＵ２０１は、ｎ個のＣＰＵコアと、全ＣＰＵによって共有されているＣＰＵコア間共有キャッシュ７００と、各ＣＰＵコア専用の非共有キャッシュ７１０、７２０、・・・、７３０とから構成されているとする。
ＣＰＵコア＃０はＰＤＬタスクのみを実行するよう構成され、ＣＰＵコア＃１はネットワークタスクのみを実行するよう構成され、ＣＰＵコア＃ｎはその他処理を実行するよう構成されているとする。
特定ＣＰＵコアのリソースを特定タスク処理に占有させる理由は、特定処理のリアルタイム性能を確保するためであり、どのタスクにどのＣＰＵを割り当てるかは、一般的にＯＳが提供するスケジューラ機能によって提供される。
【００３１】
上記のように構成されたシステムにおいて、省電力モード状態の画像形成装置がＷＯＬするネットワークパケットを受信したとき、サブＣＰＵソフトウェアによって全ＣＰＵコアが起動され、画像形成装置は通常状態に遷移する。ここで、通常状態へ遷移する要因となったネットワークパケットへの応答が、ＣＰＵコア＃０によって実行されるＰＤＬタスクを必要としない場合を考える。ネットワークパケットへの応答には不要であるＣＰＵコア＃０が動作してしまうと、ＰＤＬタスクに関するデータが非共有キャッシュ７１０及びＣＰＵコア間共有キャッシュ７００にロードされてしまう。このようなキャッシュの状態で、ＣＰＵコア＃１がネットワークパケットに応答するとき、やはりネットワークタスクに関するデータが非共有キャッシュ７２０及びＣＰＵコア間共有キャッシュ７００にロードされる。
例えば、ＣＰＵコア＃１がメモリ上のあるアドレスにアクセスするとき、まず自身の非共有キャッシュ７２０上にデータがあるかどうかチェックする。非共有キャッシュ７２０上にデータが無い場合、ＣＰＵコア＃１は、ＣＰＵコア間共有キャッシュ７００にデータがあるかどうかチェックを行うのではなく、別ＣＰＵコアの非共有キャッシュにデータがあるかどうかチェックを行う。以下、別ＣＰＵコアの非共有キャッシュにデータがあるかどうかチェックを行うことを「キャシュスヌープ」と記す。ＣＰＵコア間共有キャッシュ７００をチェックするのではなく、キャシュスヌープを行う理由は、アクセス速度が高速なためである。
【００３２】
ＣＰＵコア＃０によって実行されるＰＤＬタスクを必要としない場合、ＣＰＵコア＃１が非共有キャッシュ７１０をキャッシュスヌープしても、必ずキャッシュミスが発生する。その理由は、ＣＰＵコア＃１が必要とするデータは、ネットワークタスクが必要とするデータであり、非共有キャッシュ７１０には、ＰＤＬタスクに関係するデータしか存在しないためである。このため、ＣＰＵコア＃０によって実行されるＰＤＬタスクが不要である場合、ＣＰＵコア＃０を動作させないことによって、非共有キャッシュ７１０へキャッシュスヌープを行わなくなり、キャッシュミスの発生を抑止することが可能となる。また、ＣＰＵコア＃０が動作すると、ＣＰＵコア間共有キャッシュ７００上にＰＤＬタスクに関するデータが存在するようになる。ＣＰＵコア＃０を動作させないことによって、ＣＰＵコア間共有キャッシュ７００上にＰＤＬタスクに関するデータが無くなると、ネットワークタスクが必要とするデータがより多く残ることとなる。その結果、ＣＰＵコア間共有キャッシュ７００へのキャッシュヒットが増加することによって、高速化が期待できる。
【００３３】
以上より、ＣＰＵコア＃０を停止させることによって
・ＣＰＵコア＃１からＣＰＵコア＃０への無駄なキャッシュスヌープを回避できる
・ＣＰＵコア間共有キャッシュでのキャッシュヒット率が向上する
という結果となり、ＣＰＵパフォーマンスが向上する。
スタンバイ状態でのネットワーク応答の終了後、省電力モードへ移行させるとき、上述した特許文献１に開示された技術では特定ＣＰＵの負荷を計測する必要があるために、速やかな状態遷移が不可能である。
【００３４】
図８は、本実施形態に係る制御処理の一例を示すフローチャートである。
以下、Ｓ８００からＳ８０７までの処理は、ＬＡＮＩ／Ｆ８のＲＯＭ８３に記憶されているプログラムに基づいてＣＰＵ８１が実行する処理である。
Ｓ８００で、ＣＰＵ８１は、ユーザによる操作やタイマー等により省電力状態４３０への移行を開始し、処理をＳ８０１に進める。
Ｓ８０１で、ＣＰＵ８１は、省電力状態４３０への移行を完了し、処理をＳ８０２に進める。
Ｓ８０２で、ＣＰＵ８１は、省電力状態４３０でコンピュータ９等からのパケット受信が可能な代理応答スタインバイ状態となり、処理をＳ８０３に進める。
Ｓ８０３で、ＣＰＵ８１は、省電力状態４３０でコンピュータ９等からパケットを受信し、処理をＳ８０４に進める。
【００３５】
Ｓ８０４で、ＣＰＵ８１は、ＬＡＮＩ／Ｆ８が受信パケットに対して代理で応答可能か否かを判断し、可能であると判断した場合は処理をＳ８０５に進め、不可能であると判断した場合は処理をＳ８０６に進める。
Ｓ８０５で、ＣＰＵ８１は、省電力状態４３０を維持したまま受信パケットに対して応答し、応答終了後は次のパケット受信に備えて代理応答スタンバイ状態であるＳ８０２へ移行する。
Ｓ８０６で、ＣＰＵ８１は、受信パケット情報を不揮発性メモリ２０５等に保存し、処理をＳ８０７に進める。
Ｓ８０７で、ＣＰＵ８１は、メインボード２００全体を起床させ、ＣＰＵコア２０１０と、ＣＰＵコア２０１１とをリセットする。
【００３６】
以下、Ｓ８０８からＳ８１３までの処理は、メインボード２００のメモリ２０３等に記憶されているＢＩＯＳ等の起動プログラムに基づいてＣＰＵ２０１が実行する処理である。
Ｓ８０８で、ＣＰＵ２０１は、Ｓ８０６で不揮発性メモリ２０５等に保存された受信パケット情報と、前回の画像形成装置の起動時にＣＰＵ２０１が不揮発性メモリ２０５等に保存しておいたマルチコア運用情報と、をチェックし、処理をＳ７０９に進める。なお、ここで、マルチコア運用情報とは、複数のＣＰＵコアが、あるタスクを分散して処理する運用か、図７に示したように、各ＣＰＵコアが、各々特定のタスクを処理する運用か、を示す情報である。
Ｓ８０９で、ＣＰＵ２０１は、Ｓ８０８でマルチコア運用情報をチェックした結果、各ＣＰＵコアが、各々特定のタスクを処理する運用か否かを判定する。ＣＰＵ２０１は、各ＣＰＵコアが、各々特定のタスクを処理する運用であった場合、処理をＳ８１０に進め、各ＣＰＵコアが、各々特定のタスクを処理する運用でなかった場合、処理をＳ８１３に進める。
【００３７】
Ｓ８１０で、ＣＰＵ２０１は、Ｓ８０８で受信パケット情報をチェックした結果、受信パケットがジョブパケットか否かを判定する。ＣＰＵ２０１は、受信パケットがジョブパケットであった場合、処理をＳ８１３に進め、受信パケットがジョブパケットでなかった場合、処理をＳ８１１に進める。
Ｓ８１１で、ＣＰＵ２０１は、受信パケットの処理をネットワークタスクのみで応答可能か否かを判定する。ＣＰＵ２０１は、ネットワークタスクのみで応答可能な場合、処理をＳ８１２に進め、ネットワークタスクのみで応答可能でない場合、ＣＰＵコアの停止は行わず、後続パケットを受信して処理をＳ８１３に進める。
Ｓ８１２で、ＣＰＵ２０１は、ネットワークタスクによって占有されているＣＰＵコア以外を停止する。つまり、ＣＰＵ２０１は、要求に応答するためのネットワークタスクによって占有されているＣＰＵコアを決定し、前記ＣＰＵコア以外のＣＰＵコアを停止する。
Ｓ８１３で、ＣＰＵ２０１は、通常状態へ遷移するためのＯＳへの遷移処理を実施する。
【００３８】
以下、Ｓ８１４からＳ８２１までの処理は、ＯＳ又はアプリケーションに基づいてＣＰＵ２０１が実行する処理である。
Ｓ８１４で、ＯＳに制御が渡された停止されていないＣＰＵコアは、ＯＳによる通常状態４１０へ遷移するための処理を実行し、処理をＳ８１５に進める。
Ｓ８１５で、前記ＣＰＵコアは、ＯＳによる通常状態４１０への遷移を完了させ、処理をＳ８１６に進める。
Ｓ８１６で、ＣＰＵ２０１は、Ｓ８０６で不揮発性メモリ２０５等に保存された受信パケット情報をチェックし、処理をＳ８１７に進める。
【００３９】
Ｓ８１７で、ＣＰＵ２０１は、受信パケットがプリントジョブか否かを判断し、プリントジョブである場合、処理をＳ８１８に進め、プリントジョブでない場合、処理をＳ８２０に進める。
Ｓ８１８で、ＣＰＵ２０１は、画像形成装置１がプリントジョブを実施するためのプリント準備処理を行い、処理をＳ８１９に進める。
Ｓ８１９で、ＣＰＵ２０１は、画像形成装置１にプリント処理を実施させ、処理をＳ８２１に進める。
Ｓ８２０で、ＣＰＵ２０１は、ネットワーク応答処理を行い、処理をＳ８２１に進める。
Ｓ８２１で、ＣＰＵ２０１は、全ての応答処理を完了させると、省電力状態への遷移を開始し、ＣＰＵ８１にＳ８００の処理の応答を指示する。
【００４０】
なお、本実施形態ではＳ８２０のネットワーク応答処理、若しくはＳ８１９のプリント処理の完了に応じて即座に省電力状態へ遷移する構成を説明したが、即座に省電力状態へ遷移せずに、所定時間経過後に省電力状態へ遷移してもよい。例えば、リモートＵＩによるｈｔｔｐアクセス等の場合、すぐに省電力状態に遷移すると、リモートＵＩを操作するユーザ視点だと応答性が著しく低下する。このような場合、ＣＰＵ２０１は、ユーザの最終操作からの時間経過等を観察しながら、省電力状態に遷移するタイミングを調整するようにしてもよい。
【００４１】
上述したように、メインボード２００のメモリ２０３等に記憶されているＢＩＯＳ等の起動プログラムに基づいてＣＰＵ２０１は、受信パケット情報と、マルチコア運用情報と、に基づいて、複数のＣＰＵコアのうち、要求に応答するためのＣＰＵコアを決定する。そして、ＣＰＵ２０１は、決定したＣＰＵコアだけで省電力状態から復帰し、応答を行う。
以上により、代理応答でのネットワーク応答が不可能な場合、メインボード２００を起床させて速やかにネットワーク応答を行い、速やかに省電力モードへ移行可能な画像形成装置１を実現することができる。また、高い応答性を維持しつつ、速やかに省電力モードへの移行が可能となり、応答性の高さと電力消費の小ささとを両立させた画像形成装置１を提供することが可能となる。
【００４２】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００４３】
以上、上述した各実施形態によれば、応答性の高さと電力消費の小ささとを両立させることができる。
【００４４】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
2014113731.tif 000003
【図２】
2014113731.tif 000004
【図３】
2014113731.tif 000005
【図４】
2014113731.tif 000006
【図５】
2014113731.tif 000007
【図６】
2014113731.tif 000008
【図７】
2014113731.tif 000009
【図８】
2014113731.tif 000010