(57)【要約】【課題】  アクセスエラーを発生させることなくＰＣＩデバイスに接続されるデバイスを省電力状態へ移行する。【解決手段】  電子機器は、半導体集積回路２００Ｂと、半導体集積回路２００ＢにＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを介して接続される半導体集積回路２００Ａと、半導体集積回路２００Ａに接続されるデバイス（ＨＤＤ４０２，ＤＲＡＭ４０１Ａ）と、を備える。半導体集積回路２００Ｂは、所定の指示を半導体集積回路２００Ａに送信し、半導体集積回路２００Ａは、ＰＣＩバスを通信できない状態又は低速での通信が可能な状態に移行して、その後、デバイス（ＨＤＤ４０２，ＤＲＡＭ４０１Ａ）を省電力状態に移行する。【選択図】  図６
2020127184.tif 000002
【特許請求の範囲】
【請求項１】
第１デバイスと、前記第１デバイスにＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを介して接続される第２デバイスと、前記第２デバイスに接続され且つ省電力状態に移行可能な第３デバイスと、を備える電子機器であって、
前記第１デバイスは、前記ＰＣＩバスを通信できない状態又は低速での通信が可能な状態にし、
前記第２デバイスは、前記ＰＣＩバスが通信できない状態又は低速での通信が可能な状態に移行した後に、前記第３デバイスを前記省電力状態に移行する、ことを特徴とする電子機器。
【請求項２】
前記第２デバイスは、前記ＰＣＩバスが接続されるＰＣＩインタフェースと、前記第３デバイスの電力状態を変更するサブプロセッサと、を有し、
前記ＰＣＩインタフェースは、サブプロセッサに所定の信号を出力し、前記サブプロセッサは、前記所定の信号に従って前記第３デバイスの内部の所定のデバイスを省電力状態にする、ことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記サブプロセッサは、前記所定のデバイスへのクロックを停止する又は前記所定のデバイスへの電力の供給を停止することによって、前記第３デバイスの内部の所定のデバイスを省電力状態にする、ことを特徴とする請求項２に記載の電子機器。
【請求項４】
前記第２デバイスは、メインプロセッサをさらに有し、
前記サブプロセッサは、前記所定の信号に従って前記メインプロセッサを省電力状態にする、ことを特徴とする請求項２又は３に記載の電子機器。
【請求項５】
前記メインプロセッサの省電力状態とは、ＷａｉｔＦｏｒＩｎｔｅｒｒｕｐｔ状態である、ことを特徴とする請求項４に記載の電子機器。
【請求項６】
前記第３デバイスは、ＨＤＤであって、
前記第２デバイスは、前記ＰＣＩバスが通信できない状態又は低速での通信が可能な状態に移行した後に、前記ＨＤＤをＳｌｕｍｂｅｒ状態に移行する、ことを特徴とする請求項１乃至５の何れか１項に記載の電子機器。
【請求項７】
前記第３デバイスは、ＳＳＤであって、
前記第２デバイスは、前記ＰＣＩバスが通信できない状態又は低速での通信が可能な状態に移行した後に、前記ＨＤＤをＤｅｖＳｌｅｅｐ状態に移行する、ことを特徴とする請求項１乃至６の何れか１項に記載の電子機器。
【請求項８】
前記ＰＣＩインタフェースは、ファンクションに対応する複数のレジスタを有し、前記レジスタの少なくとも１つに所定の値が記憶されると前記サブプロセッサに前記所定の信号を出力する、ことを特徴とする請求項２に記載の電子機器。
【請求項９】
前記ＰＣＩインタフェースは、前記所定の信号が入力された前記サブプロセッサからの指示に従って、前記ＰＣＩバスを通信できない状態又は低速での通信が可能な状態にする、ことを特徴とする請求項８に記載の電子機器。
【請求項１０】
前記ＰＣＩインタフェースは、前記レジスタの少なくとも１つに所定の値が記憶されると前記ＰＣＩバスを通信できない状態又は低速での通信が可能な状態にする、ことを特徴とする請求項８に記載の電子機器。
【請求項１１】
前記サブプロセッサは、複数のレジスタのうちの所定のレジスタの値に従って前記第３デバイスを省電力状態に移行し、前記複数のレジスタのうちの所定の複数のレジスタの値に従って前記第３デバイスとは異なる他の第３デバイスを省電力状態に移行する、ことを特徴とする請求項８に記載の電子機器。
【請求項１２】
前記第３デバイスはＨＤＤであり、前記他の第３デバイスはＤＲＡＭである、ことを特徴とする請求項１１に記載の電子機器。
【請求項１３】
プリンタをさらに備える、ことを特徴とする請求項１乃至１１の何れか１項に記載の電子機器。
【請求項１４】
スキャナをさらに備える、ことを特徴とする請求項１乃至１２の何れか１項に記載の電子機器。
【請求項１５】
第１デバイスと、前記第１デバイスにＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを介して接続される第２デバイスと、前記第２デバイスに接続され且つ省電力状態に移行可能な第３デバイスと、を備える電子機器の制御方法であって、
前記ＰＣＩバスを通信できない状態又は低速での通信が可能な状態にするステップと、
前記ステップの後に、前記第３デバイスを前記省電力状態に移行する、ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＩデバイスに接続される省電力状態に移行可能なデバイスを備える電子機器に関する。
【背景技術】
【０００２】
近年、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）などの電子機器には、省電力に対する関心が高まっており、法規制も整備されている。例えば、ネットワークスタンバイ時における消費電力の上限を定めたＬｏｔ２６などがある。ネットワークスタンバイ時における消費電力の低減を実現する技術としてＲｕｎｔｉｍｅ  Ｄ３（以下、ＲＴＤ３とする）がある。ＲＴＤ３とは、ＣＰＵなどとＰＣＩ  Ｅｘｐｒｅｓｓ（以下、ＰＣＩｅとする）バスで接続されたＰＣＩデバイスの構成において、ＣＰＵが稼働状態でありながらＰＣＩデバイスを省電力状態にする技術のことである。ＰＣＩデバイスの電力状態はＤ０ステートやＤ３ステートなどに定義されており、Ｄ０ステートは稼働状態であり、Ｄ３ステートは稼働状態より省電力の省電力状態である。また、電子機器のシステムの電力状態はＳステートで定義されており、Ｓ０ステートは稼働状態、Ｓ３ステートはサスペンド状態、Ｓ５ステートは電源オフ状態である。ＲＴＤ３では、システムのステートがＳ０ステートの間やＳ３ステートの間に、ＰＣＩデバイスのＤステートをＤ０ステートやＤ３ステートに変更することができる（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１７７５７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、ＰＣＩデバイスを省電力状態に移行する方法については開示されているが、このＰＣＩデバイスに接続されるデバイスについての省電力方法については開示されていない。近年のＰＣ等の電子機器では、ＰＣＩデバイスにもＤＲＡＭやＨＤＤなどのデバイスが接続されており、電子機器全体の消費電力にするためには、これらのデバイス（以下、対象デバイスとする）に対しても省電力状態の移行が必須となる。
【０００５】
ＰＣＩデバイスに接続される対象デバイスを省電力状態へ移行させるには、まず、ＣＰＵがＰＣＩデバイスに対して対象デバイスを省電力状態に移行させる指示を送信する。この指示を受け取ったＰＣＩデバイスが対象デバイスを省電力状態に移行する。しかし、対象デバイスが省電力状態への移行中や移行後に、ＣＰＵからＰＣＩデバイスを介して対象デバイスにアクセスがあった場合に、アクセスできないもしくはアクセススピードが遅くなる。その結果、タイムアウトエラーが発生する可能性がある。ＣＰＵが実行する多くのアプリケーションに対して、ＰＣＩデバイスに接続されるデバイスへのアクセス制限を管理することは不可能であるため、ＣＰＵから対象デバイスへのアクセスが発生してしまう。
【０００６】
本発明は、上記課題を鑑みてなされたものであり、アクセスエラーを発生させることなくＰＣＩデバイスに接続されるデバイスを省電力状態へ移行することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の電子機器は、第１デバイスと、第１デバイスにＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを介して接続される第２デバイスと、第２デバイスに接続される第３デバイスと、を備える電子機器であって、前記第１デバイスは、所定の指示を前記第２デバイスに送信し、前記第２デバイスは、前記ＰＣＩバスを通信できない状態又は低速での通信が可能な状態に移行して、その後、前記第３デバイスを省電力状態に移行する。
【発明の効果】
【０００８】
本発明によれば、アクセスエラーを発生させることなくＰＣＩデバイスに接続されるデバイスを省電力状態へ移行することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明における画像形成装置のシステム構成を示すブロック図
【図２】本発明における画像形成装置のメインコントローラの構成図
【図３】本発明における画像形成装置の電力状態を示す図
【図４】本発明における画像形成装置の動作モードと構成要素の電力状態を示す図
【図５】本発明における動作モードの遷移シーケンスを示すフローチャート
【図６】本発明におけるコピーモードでの省電力状態を示すコントローラ構成図
【図７】本発明におけるプリントモードでの省電力状態を示すコントローラ構成図
【図８】本発明におけるスリープモードでの省電力状態を示すコントローラ構成図
【図９】本発明におけるＰＣＩｅファンクションとデバイスの状態を示すステート図
【図１０】本発明におけるＰＣＩｅファンクションと連動した省電力投入のフローを示す図
【図１１】本発明におけるＰＣＩｅファンクションと連動した省電力復帰のフローを示す図
【発明を実施するための形態】
【００１０】
本発明を実施するための形態について図面を用いて説明する。
【００１１】
＜画像形成装置＞
図１は、画像形成装置を含むシステム構成を示すブロック図である。画像形成装置１００は、画像の入力及び出力と、各種の画像処理と、を行うＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）である。画像形成装置１００は、メインコントローラ１０１、ユーザインタフェースである操作部１０２、画像を入力するデバイスであるスキャナ１０３、及び、画像を出力するデバイスであるプリンタ１０４を備える。操作部１０２、スキャナ１０３、及び、プリンタ１０４の各々は、メインコントローラ１０１に通信可能に接続されており、メインコントローラ１０１からの指示に従って動作する。さらに、メインコントローラ１０１は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０６にネットワーク通信可能に接続される。ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１０５は、ＬＡＮ１０６を介して画像形成装置１００と通信することが可能である。ユーザがＰＣ１０５上で動作するアプリケーション（プリンタドライバ）からプリントの指示を行うことにより、ＰＣ１０５から画像形成装置１００にプリントジョブ送信される。操作部１０２は、表示部と、表示部へのタッチ操作を検知するタッチパネルとを備えている。また、操作部１０２は、コピーの実行指示を行うためのハードキー、テンキー、スリープモードからの復帰やスリープモードへの移行をするためのハードキーを備えている。
【００１２】
図２は、メインコントローラの詳細を示したブロック図である。メインコントローラ１０１は、主として画像処理を行う半導体集積回路２００Ａと、主として汎用の情報処理や装置の状態の制御を行う半導体集積回路２００Ｂと、を備える。半導体集積回路２００Ａと半導体集積回路２００Ｂとは、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）バス２００Ｃを介して、相互に通信することが可能である。半導体集積回路２００Ａは、スキャナ１０３やプリンタ１０４と通信可能に接続されている。また、半導体集積回路２００Ａは、操作部１０２と通信可能に接続されている。また、半導体集積回路２００Ｂは、ＬＡＮコントローラ４０７を介して、ＬＡＮ１０６と接続される。
【００１３】
次に、半導体集積回路２００Ａを詳細に説明する。半導体集積回路２００Ａは、主制御部であるメインＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１Ａを備える。メインＣＰＵ（メインプロセッサ）２０１Ａは、システムバス２０７Ａを介して、サブＣＰＵ２２４Ａ、およびＳＲＡＭ２１４と接続される。また、メインＣＰＵ２０１Ａは、システムバス２０７Ａを介して、ＰＣＩｅ  Ｉ／Ｆ２０９Ａ、ＲＯＭ  Ｉ／Ｆ２０２Ａ、ＤＲＡＭ  Ｉ／Ｆ２０３Ａ、ＨＤＤ  Ｉ／Ｆ２０５、操作部  Ｉ／Ｆ２０６およびイメージバス  Ｉ／Ｆ２１１と接続される。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０５Ａは、半導体集積回路２００Ａを起動するためのブートプログラム、所定の実行プログラム、半導体集積回路２００Ａ内の各モジュールの初期化処理用の設定などを格納する読み出し専用のメモリである。ＲＯＭ４０５Ａは、ＲＯＭ  Ｉ／Ｆ２０２Ａを介して、半導体集積回路２００Ａと接続される。サブＣＰＵ２２４Ａは、メインＣＰＵ２０１Ａを補助するサブプロセッサであり、半導体集積回路２００Ａ内のモジュールの一部の制御や、半導体集積回路２００Ａの電力制御を行う。ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１４は、半導体集積回路２００Ａに内蔵される小規模な記憶領域であり、ＲＯＭ４０５Ａから読み出されたブートプログラムの展開先として用いられる。また、サブＣＰＵ２２４Ａのプログラムが動作するためのワークメモリとしても用いられる。ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０１Ａは、メインＣＰＵ２０１Ａのワークメモリとしての作業領域を提供するための随時読み書き可能な記憶領域である。また、ＤＲＡＭ４０１Ａは、画像形成装置１００の一時的な設定値や実行するジョブの情報などを記憶するためなどに使用される。ＤＲＡＭ  Ｉ／Ｆ２０３Ａは、ＤＲＡＭ４０１Ａとシステムバス２０７Ａとを接続するインタフェースである。ＤＲＡＭ  Ｉ／Ｆ２０３Ａは、ＤＲＡＭ４０１Ａを制御するためのメモリコントローラを備え、ＤＲＡＭ４０１Ａに対するデータの読み書きを行う。ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４０２は、不揮発性の記憶領域であり、システムのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の格納場所として用いられる。また、ＨＤＤ４０２は、大容量の画像データを一時的に格納するための記憶領域などとしても用いられる。ＨＤＤ  Ｉ／Ｆ２０５は、ＨＤＤ４０２とシステムバス２０７Ａとを接続する高速なインタフェースであり、一例として、Ｓｅｒｉａｌ  ＡＴＡ（Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）規格のＩ／Ｆである。ＰＣＩｅ  Ｉ／Ｆ（ＰＣＩインタフェース）２０９Ａは、ＰＣＩ  Ｅｘｐｒｅｓｓ規格のインタフェースであり、半導体集積回路２００ＡをＥｎｄｐｏｉｎｔ、後述する半導体集積回路２００ＢをＲｏｏｔ  Ｃｏｍｐｌｅｘとして両者を通信可能に接続する。そして、ＰＣＩｅ  Ｉ／Ｆ２０９Ａは、半導体集積回路２００Ａと半導体集積回路２００Ｂとの間で、データのやり取りを行う。操作部  Ｉ／Ｆ２０６は、操作部１０２との間で入出力を行うためのインタフェースである。操作部  Ｉ／Ｆ２０６は、操作部��０２に対して表示すべき画像データを出力する。また、操作部  Ｉ／Ｆ２０６は、ユーザが操作部１０２を介して入力した情報をＣＰＵ２０１Ａに出力する。また、操作部１０２がユーザからの入力を受け付けたときに、操作部  Ｉ／Ｆ２０６は、メインＣＰＵ２０１Ａ、サブＣＰＵ２２４Ａ、後述するＣＰＵ２０１Ｂなどに、当該入力を受け付けたことを通知する割り込み信号を出力する。イメージバス  Ｉ／Ｆ２１１は、システムバス２０７Ａと画像データを高速に転送するための画像バス２１０とを接続するインタフェースであり、データ構造を変換するバスブリッジとして動作する。
【００１４】
画像バス２１０には、ＤＲＡＭ  Ｉ／Ｆ２２１、スキャナ画像処理部２１８、ＲＩＰ２１７、画像圧縮伸長部２１６、プリンタ画像処理部２１２、及び、拡張画像バス  Ｉ／Ｆ２１５が接続される。ＤＲＡＭ  Ｉ／Ｆ２２１は、ＤＲＡＭ  Ｉ／Ｆ２０３Ａと同様に、ＤＲＡＭ４０４を制御するためのメモリコントローラを備え、ＤＲＡＭ４０４に対するデータの読み書きを行う。ＤＲＡＭ４０４は、システムバス２０７Ａに接続されるＤＲＡＭ４０１Ａを介さずに、画像バス２１０上で扱われる画像データを一時的に記憶するためのバッファメモリとして使用される。スキャナＩ／Ｆ２１９は、スキャナ１０３とスキャナ画像処理部２１８とを接続するインタフェースであり、スキャンした画像データ形式の変換などを行う。スキャナ画像処理部２１８は、スキャナ１０３がスキャンした画像データに対して、補正、加工、編集などの処理を行う。ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）２１７は、例えばＰＣ１０５がプリントジョブとして送信したＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）データを、ビットマップイメージに変換する。画像圧縮伸長部２１６は、多値画像データに対してＪＰＥＧ圧縮伸長処理を行い、２値画像データに対してはＪＢＩＧなどの圧縮伸長処理を行う。プリンタ画像処理部２１２は、プリンタ１０４に出力するプリント出力画像データに対して、色変換、フィルタ処理、解像度変換などの処理を行う。プリンタＩ／Ｆ２１３は、プリンタ１０４とプリンタ画像処理部２１２とを接続するインタフェースであり、画像データの同期系／非同期系の変換を行う。拡張画像バスＩ／Ｆ２１５は、画像バス２１０上の画像データを半導体集積回路２００Ａの外部に接続する拡張処理デバイス４０６と相互にやり取りを行うための拡張インタフェースである。拡張処理デバイス４０６は、前述の半導体集積回路２００Ａが備える画像処理機能の機能拡張を行うデバイスであり、一例として、スキャンした画像データの地紋検出による不正なコピー抑止を制御するデバイスなどがある。画像形成装置１００に機能拡張が必要でなければ、拡張画像バスＩ／Ｆ２１５に拡張処理デバイス４０６が接続されることはない。
【００１５】
次に、半導体集積回路２００Ｂの詳細を説明する。半導体集積回路２００Ｂは、主制御部であるＣＰＵ２０１Ｂを備える。ＣＰＵ２０１Ｂは、システムバス２０７Ｂを介して、ＰＣＩｅ  Ｉ／Ｆ２０９Ｂ、ＲＯＭ  Ｉ／Ｆ２０２Ｂ、ＤＲＡＭ  Ｉ／Ｆ２０３Ｂ、ＬＡＮ  Ｉ／Ｆ２０８および電力制御部２０９Ｂと接続される。ＰＣＩｅ  Ｉ／Ｆ２０９Ｂは、ＰＣＩ  Ｅｘｐｒｅｓｓ規格のインタフェースであり、半導体集積回路２００ＢをＲｏｏｔ  Ｃｏｍｐｌｅｘ、半導体集積回路２００ＡをＥｎｄｐｏｉｎｔとして通信可能に接続する。そして、ＰＣＩｅ  Ｉ／Ｆ２０９Ｂは、半導体集積回路２００Ａと半導体集積回路２００Ｂとの間で、データのやり取りを行う。ＲＯＭ４０５Ｂは、半導体集積回路２００Ｂを起動するためのブートプログラム、所定の実行プログラム、導体集積回路２００Ｂ内の各モジュールの初期化処理用の設定などを格納する読み出し専用のメモリである。ＲＯＭ４０５Ｂは、ＲＯＭ  Ｉ／Ｆ２０２Ｂを介して、半導体集積回路２００Ｂと接続される。ＤＲＡＭ４０１Ｂは、ＣＰＵ２０１Ｂのワークメモリとしての作業領域を提供するための随時読み書き可能な記憶領域である。ＤＲＡＭ  Ｉ／Ｆ２０３Ｂは、ＤＲＡＭ４０１Ｂとシステムバス２０７Ｂとを接続するインタフェースであり、ＤＲＡＭ４０１Ｂを制御するためのメモリコントローラを備え、ＤＲＡＭ４０１Ｂに対するデータの読み書きを行う。ＬＡＮ  Ｉ／Ｆ２０８は、ＬＡＮコントローラ４０７とシステムバス２０８とを接続するためのインタフェースである。ＬＡＮ  Ｉ／Ｆ２０８は、ＬＡＮコントローラ４０７を介して、ＬＡＮ１０６との情報の入出力を行う。ＬＡＮコントローラ４０７は、ＬＡＮ１０６を介して、ＬＡＮ１０６に接続されるＰＣ１０５などの外部の機器との間で画像情報やデバイス情報、ファイルなどの入出力を行い、ＬＡＮ１０６から送信されるネットワークパケットに対応する処理を行う。電力制御部２０９Ｂは、画像形成装置１００の各デバイスの電力の供給／停止を行う。なお、電力制御部２０９Ｂは、半導体集積回路２００Ｂの外部にあっても良い。
【００１６】
＜動作モード＞
図３は、画像形成装置の動作モードを示す状態遷移図である。
【００１７】
本実施例の画像形成装置１００は、コピーモード３０２、プリントモード３０３、スリープモード３０４、ディープスリープモード３０５の動作モードを備える。コピーモード３０２、プリントモード３０３、及び、スリープモード３０４は、ＡＣＰＩ規格のＳステートにおけるＳ０ステートである。また、ディープスリープモード３０５は、ＡＣＰＩ規格のＳステートにおけるＳ３ステートである。動作モードの制御と管理は、ＣＰＵ２０１ＢがＤＲＡＭ４０１Ｂ上で実行するプログラムに従って、ＣＰＵ２０１Ｂが行う。さらに、ディープスリープを除く動作モードにおいては、アクティブ状態、および、一部の機能を停止あるいは制限することによって消費電力を小さくしたローパワー状態を有する。
【００１８】
また、画像形成装置１００は、電源オフ状態３０１を備える。画像形成装置１００には、図示しない電源スイッチが設けられており、この電源スイッチがオフされると画像形成装置１００の全体への電力供給が遮断される。なお、電源オフ状態３０１では、図示しない時計や電源スイッチの操作を監視する回路など、一部のデバイスに電力が供給されていても良い。
【００１９】
［コピーモード］
図示しない電源スイッチがオンされると、画像形成装置１００は、コピーモード３０２に移行する。コピーモード３０２では、画像形成装置１００の全体に電力が供給される。コピーモード３０２は、コピーやプリントなど各種ジョブの実行中の状態、あるいは、すぐにジョブを実行開始できる状態である。コピーモード３０２では、主に画像形成装置１００を使用するユーザと対峙して、操作部１０２からユーザの指示入力を受け付けて各種ジョブを実行する動作モードである。操作部１０２の表示部は点灯している。
【００２０】
［コピーモード（アクティブ状態）］
コピーモード３０２においてジョブが実行されている間は、コピーモードのアクティブ状態３０２Ａとなる。アクティブ状態３０２Ａでは、図４に示すように、半導体集積回路２００Ａや２００Ｂの内部のコピーやプリントなどを実行するために必要なモジュールには、クロックや電力が供給されている。アクティブ状態３０２Ａでは、半導体集積回路２００ＢのＣＰＵ２０１Ｂは、ＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ）規格のＣステートにおけるＣ０ステートの通常の動作状態である。半導体集積回路２００ＢとＰＣＩｅ  Ｉ／Ｆ２０９Ａを介して接続する半導体集積回路２００ＡのＤステートは、Ｄ０ステート（通常の動作状態）である。また、コピーモードのアクティブ状態３０２Ａでは、ＨＤＤ４０２はデータのやり取りが可能であり、プリンタ１０４、スキャナ１０３、操作部１０２、ＬＡＮコントローラ４０７などにも電力が供給されて動作可能な状態である。
【００２１】
［コピーモード（ローパワー状態）］
コピーやプリントが終了した後など、ジョブの実行が終了する又は終了してから所定時間が経過すると、図４に示すように、コピーモードのローパワー状態３０２Ｂとなる。このローパワー状態３０２Ｂでは、半導体集積回路２００Ａや２００Ｂ内の使用中ではないモジュールに対するクロックや電力の供給が停止あるいは低減される。ローパワー状態３０２Ｂでは、半導体集積回路２００ＢのＣＰＵ２０１Ｂは、省電力なスリープ状態であるＣ３ステートとなる。また、半導体集積回路２００ＢとＰＣＩｅ  Ｉ／Ｆ２０９Ａを介して接続する半導体集積回路２００Ａは、省電力なＤ３ステートとなる。また、ＨＤＤ４０２は、Ｓｅｒｉａｌ  ＡＴＡ規格における省電力なＳｌｕｍｂｅｒ状態である。コピーモードにおけるローパワー状態３０２Ｂは、コピーやプリントなどのジョブが投入されれば、前述の各種デバイスは、短時間で省電力な状態から復帰した後、すぐにジョブを実行開始できる状態３０２Ａとなる。
【００２２】
［プリントモード］
画像形成装置１００は、コピーモード３０２において、操作部１０２に対する操作指示がないまま所定の時間が経過するとプリントモード３０３に移行する。プリントモード３０３は、プリントジョブの実行中の状態、あるいは、すぐにプリントジョブを実行開始できる状態である。プリントモード３０３では、ＬＡＮ１０６を介して受信したプリントジョブなどを実行する動作モードであり、使用しないスキャナ１０３、操作部１０２への電力供給が停止されており、コピーモード３０２よりも省電力である。操作部１０２の表示部は消灯している。
【００２３】
［プリントモード（アクティブ状態）］
プリントモード３０３のジョブの実行中は、プリントモードのアクティブ状態３０３Ａであって、図４に示すように、半導体集積回路２００Ａや２００Ｂ内のプリントなどを実行するために必要なモジュールには、クロックや電力が供給されている。アクティブ状態３０３Ａでは、使用しないスキャナ１０３、操作部１０２への電力の供給を停止していることを除き、コピーモード３０２のアクティブ状態と同様である。
【００２４】
［プリントモード（ローパワー状態）］
プリントが終了した後など、ジョブの実行が終了する又は終了してから所定時間が経過すると、図４に示すように、プリントモードのローパワー状態３０３Ｂとなる。このローパワー状態３０３Ｂでは、半導体集積回路２００Ａや２００Ｂの内部の使用中ではないモジュールに対するクロックや電力の供給が停止あるいは低減される。ローパワー状態３０３Ｂでは、使用しないスキャナ１０３、操作部１０２への電力の供給を停止していることを除き、コピーモード３０２のローパワー状態と同様である。
【００２５】
［スリープモード］
画像形成装置１００は、プリントモード３０３において、何のジョブも発生しないまま所定の時間が経過するとスリープモード３０４に移行する。スリープモード３０４は、ＬＡＮ１０６を介したネットワークからの問い合わせに対してＣＰＵ２０１Ｂが応答中か、あるいは追加された拡張処理デバイス４０８への電源の供給などを行いながら待機している状態である。スリープモード３０４は、プリントモード３０３やコピーモード３０２への移行に備える省電力な動作モードである。使用しないプリンタ１０４やスキャナ１０３への電力の供給を停止することによって、プリントモード３０３やコピーモード３０２よりも省電力である。スリープモード３０４も、アクティブ状態及びローパワー状態を有する。
【００２６】
［スリープモード（アクティブ状態）］
スリープモード３０４のアクティブ状態３０４Ａでは、図４に示すように、半導体集積回路２００Ａや２００Ｂ内のネットワークからの問い合わせに必要なモジュールには、クロックや電力が供給される。スリープモード３０４のアクティブ状態３０４Ａは、使用しないプリンタ１０４への電力の供給を停止する。また、アクティブ状態３０４Ａでは、半導体集積回路２００Ａ内部の画像処理用の機能モジュールのほとんどを使用しないため、クロックや電力の供給を停止あるいは低減することができる。そのため、プリントモード３０３のアクティブ状態と比べて消費電力を大きく低減することができる。
【００２７】
［スリープモード（ローパワー状態）］
ＣＰＵ２０１Ｂによるネットワーク応答が終了した後や、拡張処理デバイス４０６が待機状態であれば、図４に示すように、半導体集積回路２００Ａや２００Ｂ内部の使用中ではないモジュールに対するクロックや電力の供給が停止あるいは低減される。スリープモード３０４のローパワー状態３０４Ｂでは、使用しないプリンタ１０４への電力の供給が停止される。また、半導体集積回路２００Ａの内部のモジュールのほとんどを使用しないため、それらのモジュールへのクロックや電力の供給を停止あるいは低減する。そのため、スリープモード３０４のローパワー状態３０４Ｂでは、プリントモード３０３のローパワー状態と比べて消費電力が小さい。
【００２８】
［ディープスリープモード］
画像形成装置１００は、スリープモード３０４において、ＣＰＵ２０１Ｂによる最後のネットワーク応答から所定の時間が経過すると、ディープスリープモード３０５に移行する。ディープスリープモード３０５は、ＬＡＮコントローラ４０７等のディープスリープモードから復帰するために必要なモジュールだけに電力が供給される。このディープスリープモードは、ネットワークの接続を維持したまま待機する最も省電力な動作モードである。ＬＡＮコントローラ４０７は、一例として、ＬＡＮ１０６からのＡＲＰ、ＩＣＭＰ、ＳＮＭＰなどのプロトコルのネットワークパケットに対して必要な応答を返すことにより、画像形成装置１００はディープスリープモード３０５の状態を維持する。
【００２９】
＜動作モード遷移フローチャート＞
図５は、画像形成装置の動作モードが遷移するシーケンスを示すフローチャートである。図５（Ａ）のフローチャートは、画像形成装置１００がコピーモード３０２からプリントモード３０３に遷移するフローチャートである。このフローチャートは、ＣＰＵ２０１Ｂが、ＤＲＡＭ４０１Ｂ上で実行するプログラムに従って、画像形成装置１００の各種デバイスを制御することによって行われる。
【００３０】
コピーモード３０２においては、操作部１０２への電力が供給されている状態であり、ユーザに対して画像形成装置１００の操作を促す画面が表示されている。Ｓ５０００では、操作部１０２がユーザからの操作指示の入力を受け付けると、操作指示に従った機能を実行する。例えば、ユーザからコピーの実行指示の入力を受け付けると、画像形成装置１００はコピーを実行する。メインコントローラ１０１は、ユーザからの直近の操作指示からカウントを開始するタイマー（図示せず）を有しており、ユーザからの操作指示により何らかの機能を実行したときにはタイマーをリセットする。Ｓ５００１では、ユーザからの直近の操作指示からのカウント値が予め設定されている所定の時間を経過しているかどうかを判断し、経過していなければ、Ｓ５０００においてユーザからの操作指示入力を待つ状態を維持する。一方、ユーザからの直近の操作指示から所定の時間が経過していれば、無操作状態が続いていることを意味しており、Ｓ５００２でプリントモード３０３に遷移する制御を開始する。次に、Ｓ５００３では、プリントモード３０３で不要となる操作部１０２、スキャナ１０３への電力の供給を停止して、画像形成装置１００の消費電力を低減する。なお、操作部１０２への電力の供給は停止されていても、図示しないタッチパネルが消灯している操作部１０２の表示部への操作入力を受けても良い。当該操作入力を受け付けると、図示しないタッチパネルは、画像形成装置１００の動作モードを変更するための割り込み信号を電力制御部２０９Ｂに通知する。
【００３１】
図５（Ｂ）のフローチャートは、画像形成装置１００がプリントモード３０３からスリープモード３０４に遷移するフローチャートである。このフローチャートは、ＣＰＵ２０１Ｂが、ＤＲＡＭ４０１Ｂ上で実行するプログラムに従って、画像形成装置１００の各種デバイスを制御することによって行われる。
【００３２】
Ｓ５０１０では、プリントモード３０３においてプリンタ１０４へ電力が供給されている状態であり、例えば、ＬＡＮ１０６を介してプリントジョブを受信するとすぐにプリントを実行することができる状態である。メインコントローラ１０１は、直近のジョブ終了時からカウントを開始するタイマー（図示せず）を有しており、何らかのジョブを実行したときにはタイマーをリセットする。次にＳ５０１１では、直近のジョブ終了時からのカウント値が予め設定されている所定の時間を経過しているかどうかを判断し、経過していなければ、Ｓ５０１０においてジョブの発生を待つ状態を維持する。一方、直近のジョブ終了時から所定の時間が経過していれば、何のジョブも実行しない状態が続いていることを意味しており、Ｓ５０１２でスリープモード３０４に移行する制御を開始する。次に、Ｓ５０１３では、スリープモード３０４で不要となるプリンタ１０４への電力の供給を停止して、画像形成装置１００の消費電力を低減する。
【００３３】
図５（Ｃ）のフローチャートは、画像形成装置１００がスリープモード３０４からディープスリープモード３０５に遷移するフローチャートである。このフローチャートは、ＣＰＵ２０１Ｂが、ＤＲＡＭ４０１Ｂ上で実行するプログラムに従って、画像形成装置１００の各種デバイスを制御することによって行われる。Ｓ５０２０では、スリープモード３０４において拡張処理デバイス４０６が接続されているかどうかを判断する。拡張処理デバイス４０６が接続されている場合、スリープモード３０３の状態に留まる。一方、拡張処理デバイス４０６が接続されていない場合は、Ｓ５０２１に進む。Ｓ５０２１では、メインコントローラ１０１は、ＣＰＵ２０１Ｂによる直近のネットワーク応答終了時からカウントを開始するタイマー（図示せず）を有しており、ＣＰＵ２０１Ｂによる何らかのネットワーク応答が生じたときにはタイマーをリセットする。ＣＰＵ２０１Ｂによるネットワーク応答処理として、外部の機器からＨＤＤ４０２に格納されるデータへの問い合わせに対して、ＣＰＵ２０１ＢがＨＤＤ４０２からデータを読み出し、読み出したデータに基づいた応答を返す処理などがある。次にＳ５０２２では、ＣＰＵ２０１Ｂによる直近のネットワーク応答終了時からのカウント値が予め設定されている所定の時間を経過しているかどうかを判断し、経過していなければ、Ｓ５０２１においてネットワーク待機する状態を維持する。一方、ＣＰＵ２０１Ｂによる直近のネットワーク応答終了時から所定の時間が経過していれば、ＣＰＵ２０１Ｂによるネットワーク応答を必要としない状態が続いていることを意味しており、Ｓ５０２３でディープスリープモード３０５に移行する制御を開始する。次に、Ｓ５０２４では、ディープスリープモード３０５で不要となる半導体集積回路２００Ａ、２００Ｂ、およびＨＤＤ４０２への電力の供給を停止して、画像形成装置１００の消費電力を低減する。
【００３４】
図５（Ｄ）のフローチャートは、画像形成装置１００がディープスリープモード３０５からスリープモード３０４に遷移するフローチャートである。ＬＡＮコントローラ４０７、操作部１０２からの割り込み信号が電力制御部２０９Ｂに通知されると、電力制御部２０９Ｂは、半導体集積回路２００Ａ、２００Ｂ、およびＨＤＤ４０２へ電力を供給する。ディープスリープモード３０５においては、操作部１０２への電力の供給は停止されているが、図示しないタッチパネルは、ユーザの操作入力を受けつけるとディープスリープモード３０５から復帰するための割り込み信号を電力制御部２０９Ｂに通知する。Ｓ５０３０において、操作部１０２からディープスリープモード３０５から復帰するための割り込み信号を受けるとＳ５０３２に移り、スリープモード３０４への復帰処理を開始する。一方、Ｓ５０３１において、ＬＡＮコントローラ４０７が応答不能なネットワークパケットを受信した場合には、ＬＡＮコントローラ４０７は、ディープスリープモード３０５から復帰するための割り込み信号を電力制御部２０９Ｂに通知する。電力制御部２０９ＢがＬＡＮコントローラ４０７からディープスリープモード３０５から復帰するための割り込み信号を受けるとＳ５０３２に移り、電力制御部２０９Ｂからの指示を受けたＣＰＵ２０１Ｂは、スリープモード３０４への復帰処理を開始する。また、ＬＡＮコントローラ４０７が応答可能なネットワークパケットを受信した場合には、ＬＡＮコントローラ４０７が応答を返し、Ｓ５０３０において、操作部１０２がユーザの操作入力を待機する状態に戻る。Ｓ５０３２においてスリープモード３０４への復帰処理を開始すると、Ｓ５０３３において、電力制御部２０９Ｂは、半導体集積回路２００Ａ，２００Ｂ、およびＨＤＤ４０２へ電力を供給する。
【００３５】
図５（Ｅ）のフローチャートは、画像形成装置１００がスリープモード３０４からプリントモード３０３に遷移するフローチャートである。このフローチャートは、ＣＰＵ２０１Ｂが、ＤＲＡＭ４０１Ｂ上で実行するプログラムに従って、画像形成装置１００の各種デバイスを制御することによって行われる。スリープモード３０４においては、操作部１０２への電力の供給は停止されているが、タッチパネルは、ユーザの操作入力を受けつけるとスリープモード３０４から復帰するための割り込み信号を電力制御部２０９Ｂに通知することができる。Ｓ５０４０において、電力制御部２０９Ｂが操作部１０２からスリープモード３０４から復帰するための割り込み信号を受けるとＳ５０４２に移り、電力制御部２０９Ｂからの指示を受けたＣＰＵ２０１Ｂは、プリントモード３０３への復帰処理を開始する。一方、タッチパネルがユーザの操作入力を受けつけなくとも、Ｓ５０４１において、ＬＡＮ１０６を介してプリンタ１０４を使用するプリントジョブなどを受信した場合には、Ｓ５０４２に移り、ＣＰＵ２０１Ｂは、プリントモード３０３への復帰処理を開始する。また、プリンタ１０４を使用するプリントジョブなどを受信しない場合には、Ｓ５０４０において、タッチパネルがユーザの操作入力を待機する状態に戻る。Ｓ５０４２においてプリントモード３０３への復帰処理を開始すると、Ｓ５０４３において、電力制御部２０９Ｂは、プリンタ１０４へ電力を供給する。
【００３６】
図５（Ｆ）のフローチャートは、画像形成装置１００がプリントモード３０３からコピーモード３０２に移行するフローチャートである。このフローチャートは、ＣＰＵ２０１Ｂが、ＤＲＡＭ４０１Ｂ上で実行するプログラムに従って、画像形成装置１００の各種デバイスを制御することによって行われる。プリントモード３０３においては、操作部１０２への電療の供給は停止されているが、消灯している操作部１０２がユーザの操作入力を受けつけると、プリントモード３０３から復帰するための割り込み信号をＣＰＵ２０１Ｂに通知することができる。Ｓ５０５０において、ＣＰＵ２０１Ｂが操作部１０２からプリントモード３０３から復帰するための割り込み信号を受けるとＳ５０５１に移り、コピーモード３０２への復帰処理を開始する。一方、操作部１０２がユーザの操作入力を受けつけていない場合には、Ｓ５０５０において操作部１０２がユーザの操作入力を待機する状態に戻る。Ｓ５０５１においてコピーモード３０２への復帰処理を開始すると、Ｓ５０５２において、ＣＰＵ２０１Ｂは、操作部１０２、スキャナ１０３に電力が供給されるよう、電力制御部２０９Ｂに指示する。
【００３７】
＜動作モード詳細説明＞
図６、図７、図８を用いて、図４で説明した各動作モードのローパワー状態でのメインコントローラ１０１の詳細を説明する。
【００３８】
図６は、コピーモード３０２のローパワー状態３０２Ｂのメインコントローラ１０１の状態を示している。黒くハッチがかかっている部分が省電力状態にあることを示している。図３でのアクティブ状態３０２Ａからローパワー状態３０２Ｂへの移行について、半導体集積回路２００Ｂのモジュールの移行は、ＣＰＵ２０１Ｂの処理がなくアイドル状態になった時に移行される。メインＣＰＵ２０１Ａ、ＨＤＤ４０２、ＨＤＤ  Ｉ／Ｆ２０５、ＤＲＡＭ４０１Ａ、ＤＲＡＭ  Ｉ／Ｆ２０３Ａの省電力状態への移行は、ＰＣＩＥバス２００ＣがＬ３ステートやＬ１ステートに移行した後に実施される。Ｌ３ステートでは、ＰＣＩＥバス２００Ｃに供給されるクロックが停止される状態である。また、Ｌ１ステートでは、ＰＣＩＥバス２００Ｃに供給されるクロックの周波数が低速になる状態である。
【００３９】
残りのモジュールについては、メインＣＰＵ２０１Ａがモジュールを使用する時のみ稼働状態にし、未使用時は省電力状態に移行するように制御する。逆にローパワーからアクティブへの移行は、例えば、ＬＡＮ  Ｉ／Ｆ２０８からＰＤＬプリント処理が入力されたことをトリガとしてＣＰＵ２０１Ｂが省電力状態から復帰してＰＣＩｅ  Ｉ／Ｆ２０９Ｂから半導体集積回路２０９Ａを復帰させる。コピーモードでは、ユーザからコピー処理の指示があるとすぐに処理する必要があるため、半導体集積回路２００Ａに接続される操作部１０２、スキャナ１０３、プリンタ１０４は即座に処理可能とするために稼働状態にある。一方、省電力状態にあるのは、半導体集積回路２００Ｂでは、ＣＰＵ２０１ＢはＣ３ステートであり、且つ、ＤＲＡＭ４０１ＢはＳｅｌｆＲｅｆｒｅｓｈ状態である。また、ＰＣＩｅ  Ｉ／Ｆ２０９ＢとＰＣＩｅ  Ｉ／Ｆ２０９ＡはＤ３ステートである。ＰＣＩｅ  Ｉ／Ｆ２０９ＡがＤ３ステートに移行したことをトリガとして、サブＣＰＵ２２４ＡがＨＤＤ４０２とＤＲＡＭ４０１ＡとメインＣＰＵ２０１Ａを省電力状態に移行する。本処理は詳細を後述する。また、画像バス２１０に接続された画像処理モジュールは、クロックの供給を止めるクロックゲート状態であり、ＤＲＡＭ４０４はＳｅｌｆＲｅｆｒｅｓｈ状態である。また、拡張処理デバイスもクロックゲート状態である。これらの処理は、半導体集積回路２００ＢについてはＣＰＵ２０１Ｂが処理し、半導体集積回路２００Ａについては、メインＣＰＵ２０１ＡもしくはサブＣＰＵ２２４Ａのどちらかが処理する。
【００４０】
図７は、プリントモード３０３のローパワー状態のメインコントローラ１０１の状態を示している。図６のコピーモードとほぼ同様で、異なる点は、操作部１０２とスキャナ１０３が省電力状態になっている点である。
【００４１】
図８は、スリープモード３０４のローパワー状態のメインコントローラ１０１の状態を示している。図７のプリントモードと異なる点は、プリンタ１０４への電力の供給が停止されている点である。さらに、スリープモード３０４では、画像バス２１０に接続された画像処理モジュールについて、クロックの供給を止めるクロックゲート状態から電力供給を停止した状態に変更し、ＤＲＡＭ４０４への電力の供給も停止することで、さらなる省電力効果を得る。
【００４２】
＜ＰＣＩｅファンクションの省電力ステート＞
図９は、本発明における半導体集積回路２００ＡのＰＣＩｅ  Ｉ／Ｆ２０９Ａのファンクションの省電力状態とＨＤＤ４０２とＤＲＡＭ４０１Ａの省電力状態を示したステートを示す図である。ＰＣＩｅＩ／Ｆ２０９Ａは、複数のレジスタを持つ。ＰＣＩｅＩ／Ｆ２０９Ａが持つレジスタは、少なくともＦｕｎｃ０とＦｕｎｃ１の２つがあり、Ｆｕｎｃ１はＨＤＤ４０２が割り当てられており、Ｆｕｎｃ０はＤＲＡＭ４０１Ａが割り当てられている。
【００４３】
まずＳｔａｔｅ１は、Ｆｕｎｃ０とＦｕｎｃ１が両方ともＤ０ステート、つまり稼働状態であり、ＨＤＤ４０１ＡとＤＲＡＭ４０１Ａも稼働状態である。Ｓｔａｔｅ２は、Ｆｕｎｃ０がＤ３ステートつまり省電力状態でＦｕｎｃ１がＤ０ステートつまり稼働状態であり、ＨＤＤ４０２とＤＲＡＭ４０１Ａも稼働状態である。Ｆｕｎｃ０がＤ３であってもＨＤＤ４０２を動作させる場合にはＤＲＡＭ４０１Ａを使用するためＤＲＡＭ４０１Ａは稼働状態に設定する。Ｓｔａｔｅ３は、Ｆｕｎｃ０とＦｕｎｃ１が両方ともＤ３ステート、つまり省電力状態であり、ＨＤＤ４０２とＤＲＡＭ４０１Ａともに省電力状態である。Ｓｔａｔｅ４は、Ｆｕｎｃ０がＤ０ステートつまり稼働状態でＦｕｎｃ１がＤ３ステートつまり省電力状態であり、ＨＤＤ４０２は省電力状態でＤＲＡＭ４０１Ａは稼働状態である。
【００４４】
以上説明したＳｔａｔｅによって、ＰＣＩｅのファンクションとＨＤＤ４０２とＤＲＡＭ４０１Ａの状態を定義する。
【００４５】
＜省電力投入フロー＞
図１０は、本実施例におけるＨＤＤ４０２とＤＲＡＭ４０１Ａの省電力状態への移行を示すフローチャートの一例である。図１０のフローチャートは、半導体集積回路２００ＡのサブＣＰＵ２２４ＡがＲＯＭ４０５Ａに格納されたプログラムに従って実行することにより実現される。
【００４６】
半導体集積回路２００ＢのＣＰＵ２０１Ｂは、ＰＣＩｅ  Ｉ／Ｆ２０９ＡをＤ３ステートに移行させる。このＤ３ステートへの移行は、ＰＣＩｅ  Ｉ／Ｆ２０９Ａのレジスタを設定することで移行させることが可能である。Ｓ１００１では、サブＣＰＵ２２４Ａは、ＰＣＩｅ  Ｉ／Ｆ２０９Ａからの割り込み信号を受信する。ＰＣＩｅ  Ｉ／Ｆ２０９ＡのレジスタであるＦｕｎｃ０及びＦｕｎｃ１の何れか一方でもＤ３ステートに設定されると、ＰＣＩｅ  Ｉ／Ｆ２０９Ａは、割り込み信号を出力する。サブＣＰＵ２２４Ａは、ＰＣＩｅ  Ｉ／Ｆ２０９Ａから割り込み信号を受信すると、Ｓ１００２に進む。サブＣＰＵ２２４Ａは、割り込み信号を受信すると、ＰＣＩｅ  Ｉ／Ｆ２０９ＡをＤ３ステートに移行すると共に、ＰＣＩＥバス２００ＣをＬ３ステート又はＬ１ステートに移行する。これにより、ＰＣＩＥバス２００Ｃは、通信できない状態または低速での通信しかできない状態になる。ＰＣＩｅ  Ｉ／Ｆ２０９ＡがＤ３ステートに移行すると、ＰＣＩｅ  Ｉ／Ｆ２０９Ａに供給されるクロックが停止される。
【００４７】
Ｓ１００２では、サブＣＰＵ２２４Ａは、受信した割り込みがＦｕｎｃ１の変更による割り込みかどうかを判断する。Ｆｕｎｃ１の変更による割り込みであると判断した場合は、Ｓ１００３に進み、Ｆｕｃｎ０の変更による割り込みであると判断した場合は、Ｓ１００４へ進む。Ｓ１００３では、サブＣＰＵ２２４Ａは、ＨＤＤ４０２用の省電力フラグをセットする。本フラグは、サブＣＰＵ２２４Ａがアクセス可能なレジスタ領域（図示せず）にセットされる。
【００４８】
Ｓ１００４では、サブＣＰＵ２２４Ａは、半導体集積回路２００Ａの内部の使用しないモジュールへのクロックの供給を停止したり低減したり、又は、使用しないモジュールへの電力供給を停止したりする。
【００４９】
また、Ｓ１００５では、サブＣＰＵ２２４Ａは、メインＣＰＵ２０１Ａを省電力状態へ移行させる。メインＣＰＵ２０１Ａの省電力状態とは、ＷａｉｔＦｏｒＩｎｔｅｒｒｕｐｔ状態やクロックゲート状態のことである。メインＣＰＵ２０１Ａは、ＨＤＤ４０２やＤＲＡＭ４０１Ａに対してアクセスするものであるため、ＨＤＤ４０２やＤＲＡＭ４０１Ａを省電力状態に移行させる前に、メインＣＰＵ２０１Ａを省電力状態に移行させておく。そして、Ｓ１００６へ進む。
【００５０】
Ｓ１００６では、サブＣＰＵ２２４Ａは、ＣＰＵ２０１Ｂから省電力状態に設定されたＦｕｎｃがＦｕｎｃ０とＦｕｎｃ１が両方ともＤ３ステートなのかどうかを確認する。Ｆｕｎｃ０とＦｕｎｃ１の両方がＤ３ステートの場合は、Ｓ１００７へ進み、Ｆｕｎｃ０と１の両方がＤ３ステートではない場合はＳ１００８へ進む。
【００５１】
Ｓ１００７では、サブＣＰＵ２２４Ａは、ＤＲＡＭ４０１Ａを省電力状態にする。ＤＲＡＭ４０１Ａの省電力状態とは、ＳｅｌｆＲｅｆｒｅｓｈやパワーダウン状態である。サブＣＰＵ２２４ＡがＤＲＡＭ  Ｉ／Ｆ２０３Ａのレジスタにアクセスすることによって、ＤＲＡＭ４０１Ａが省電力状態へ移行する。
【００５２】
Ｓ１００８では、サブＣＰＵ２２４Ａは、ＨＤＤ４０２用の省電力フラグがセットされているかどうかを判断する。フラグがセットされている場合はＳ１００９へ進み、セットされていない場合は処理を終了する。
【００５３】
Ｓ１００９では、サブＣＰＵ２２４Ａは、ＨＤＤ４０２を省電力状態にする。具体的には、ＨＤＤ４０２をＳｌｕｍｂｅｒ状態にする。なお、ＨＤＤ４０２の代わりにＳＳＤを使用する場合には、ＳＳＤをＤｅｖＳｌｅｅｐ状態にする。サブＣＰＵ２２４ＡがＨＤＤ  Ｉ／Ｆ２０５へのレジスタ設定することによって、ＨＤＤ４０２が省電力状態へ移行する。
【００５４】
以上のフローにより、ＰＣＩｅ  ＩＦ２０９ＡがＤ３ステートに移行した後に、ＨＤＤ４０２やＤＲＡＭ４０１Ａが省電力状態に移行する。これにより、ＣＰＵ２０１Ｂ上で動作するアプリケーションが、ＨＤＤ４０２やＤＲＡＭ４０１Ａが省電力状態に移行している最中や移行直後にＨＤＤ４０２やＤＲＡＭ４０１Ａにアクセスすることがなくなり、タイムアウトエラーなどが発生することがなくなる。
【００５５】
なお、本実施例では、ＰＣＩｅのファンクションを２つとして説明したが、その数に限定されるものではなく、２つ以上のファンクションを備える構成であっても構わない。また、ＰＣＩデバイスに接続されたデバイスをＨＤＤ４０２とＤＲＡＭ４０１Ａで説明したが、省電力状態に移行可能なデバイスであれば、ＳＳＤ等のデバイスであっても構わない。
【００５６】
＜省電力復帰制御フロー＞
図１１は、ＨＤＤ４０２とＤＲＡＭ４０１Ａの省電力状態からの復帰を示すフローチャートである。図１１のフローチャートは、半導体集積回路２００ＡのサブＣＰＵ２２４ＡがＲＯＭ４０５Ａに格納されたプログラムに従って実行することにより実現される。
【００５７】
Ｓ１１０１では、サブＣＰＵ２２４Ａは、ＰＣＩｅ  Ｉ／Ｆ２０９Ａから割り込みを受信したかどうかを判断する。ＣＰＵ２０１ＢがＰＣＩｅ  Ｉ／Ｆ２０９ＡのＦｕｎｃ０とＦｕｎｃ１のどちらかをＤ０ステートに設定すると、ＰＣＩｅ  Ｉ／Ｆ２０９Ａは、割り込みを出力する。なお、ＰＣＩｅ  Ｉ／Ｆ２０９ＡがＤ３ステートであっても、ＣＰＵ２０１Ｂは、ＰＣＩｅ  Ｉ／Ｆ２０９Ａのファンクションを設定することができる。割り込みを受信すると、Ｓ１１０４へ進み、割り込みのみでＤ０ステートに設定されていない場合は、Ｓ１１０２へ進む。
【００５８】
Ｓ１１０２では、Ｓ１１０１で受信した割り込みが半導体集積回路２００Ａからの復帰を示す割り込みかどうかを判断する。ＰＣＩｅの省電力状態からの復帰要因として、ＣＰＵ２０１Ｂから復帰させるような、ＰＣＩｅのＲｏｏｔ  Ｃｏｍｐｌｅｘからの復帰指示と、半導体集積回路２００Ａが復帰するようなＰＣＩｅのＥｎｄＰｏｉｎｔからの復帰指示がある。Ｓ１１０２は、ＥｎｄＰｏｉｎｔからの復帰指示があるかどうかを判断するもので、Ｓ１１０１はＲｏｏｔ  Ｃｏｍｐｌｅｘからの復帰指示があるかどうかを判断するものである。ＥｎｄＰｏｉｎｔからの復帰指示があると判断した場合は、Ｓ１１０３へ進み、それ以外はＳ１１０１に戻る。
【００５９】
Ｓ１１０３では、ＰＣＩｅのＥｎｄＰｏｉｎｔからの復帰処理を行う。処理としては、まず、Ｒｏｏｔ  Ｃｏｍｐｌｅｘに復帰することを伝える。具体的には、Ｗａｋｅ信号を使用してＲｏｏｔ  Ｃｏｍｐｌｅｘに伝える方法や、Ｂｅａｃｏｎを使用して伝える方法などがあり、省電力状態や設定によって変わる。また、Ｒｏｏｔ  Ｃｏｍｐｌｅｘとの処理でＤ３からＤ０へ復帰させる。本復帰処理は、一般的な方法なので詳細な説明は割愛する。復帰処理が完了すると、Ｓ１１０４へ進む。
【００６０】
Ｓ１１０４では、ＰＣＩｅ  Ｉ／Ｆ２０９ＡのＦｕｎｃ１がＤ０かどうかを判断する。Ｆｕｎｃ１がＤ０の場合は、Ｓ１１０５へ進み、Ｄ３の場合はＳ１１０６へ進む。Ｓ１１０５では、ＨＤＤ４０２を省電力状態から稼働状態へ復帰させる。稼働状態への復帰処理は省電力状態によって変わる。本復帰処理は、一般的な復帰処理となるため詳細な説明は割愛する。Ｓ１１０６では、ＤＲＡＭ４０１Ａを省電力状態から稼働状態へ復帰させる。稼働状態への復帰処理は、ＤＲＡＭ  Ｉ／Ｆ２０３Ａのレジスタ設定によって実施される。
【００６１】
Ｓ１１０７では、メインＣＰＵ２０１Ａを省電力状態から復帰させる。
【００６２】
以上のフローにより、ＰＣＩｅ  Ｉ／Ｆ２０９Ａの２つのファンクションに対して、省電力状態からの復帰処理を行うこと可能である。尚、本実施例では、ＰＣＩｅのファンクションを２つとして説明したが、その数に限定されるものではなく、２つ以上を備える構成であっても構わない。また、ＰＣＩデバイスに接続されたデバイスをＨＤＤ４０２とＤＲＡＭ４０１Ａで説明したが、どのようなデバイスであっても問題ない。
【００６３】
（その他の実施例）
上記した実施形態では、本発明の電子機器の一例として画像形成装置について説明したが、本発明の電子機器は、画像形成装置に限定されない。例えば、本発明の電子機器は、ノートＰＣ、タブレットＰＣ、デスクトップＰＣ、スマートフォン、自動車、空調機、遊技機、ロボットなど種々の電子機器に適用可能である。
【００６４】
上記した実施形態では、割り込み信号を受信したサブＣＰＵがＰＣＩバスを通信できない状態または低速での通信しかできない状態に移行した。が、サブＣＰＵからの指示なしで、ＣＰＵ２０１ＢやＰＣＩｅインターフェース２０９ＡがＰＣＩバスを通信できない状態または低速での通信しかできない状態に移行しても良い。
【００６５】
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給するよう構成することによっても達成される。この場合、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００６６】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００６７】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６８】
さらに、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
【符号の説明】
【００６９】
１００  画像形成装置
１０１  メインコントローラ
２００Ａ  半導体集積回路Ａ
２００Ｂ  半導体集積回路Ｂ
２００Ｃ  ＰＣＩｅバス
２０１Ａ  メインＣＰＵ
２０９Ａ  ＰＣＩｅ  Ｉ／Ｆ
２０９Ｂ  ＰＣＩｅ  Ｉ／Ｆ
２２４Ａ  サブＣＰＵ
４０２  ＨＤＤ
４０４  ＤＲＡＭ
【図１】
2020127184.tif 000003
【図２】
2020127184.tif 000004
【図３】
2020127184.tif 000005
【図４】
2020127184.tif 000006
【図５】
2020127184.tif 000007
【図６】
2020127184.tif 000008
【図７】
2020127184.tif 000009
【図８】
2020127184.tif 000010
【図９】
2020127184.tif 000011
【図１０】
2020127184.tif 000012
【図１１】
2020127184.tif 000013