(57)【要約】【課題】節電機能を有するクロック同期型バス回路を持つデータ処理装置において、効果的な省電力化と節電状態からの安全な復帰とを両立できるようにする。【解決手段】節電制御部３６は、クロック供給の制御により節電状態を制御するとともに、節電状態のときにはクロック同期型のＩ／Ｏインタフェース部３５がバス４０を使用できないような状態に設定しておく。Ｉ／Ｏインタフェース部３５は、節電状態のときに転送対象データを受信した際には、バス４０の使用可否状態に拘わらず、データ受信信号Ｓ３を出力する。節電制御部３６は、データ受信信号Ｓ３を検知すると、バス４０を使用可能状態にし、節電状態からの復帰処理を行なってから、Ｉ／Ｏインタフェース部３５に転送対象データの転送を許可する。【選択図】図１
2006276979.tif 000002
【特許請求の範囲】
【請求項１】
信号を送受信するための信号線を複数のデバイスで共有しつつ、一方のデバイスから他方のデバイスへデータを送受信するとともに、前記デバイスへのクロック供給を制御することで節電制御を行なうデータ処理方法であって、
前記節電制御に際して、転送対象データを送信する一方の前記デバイスと当該一方のデバイスから送信されるデータを受信する他方の前記デバイスとの間の前記信号線の使用可否状態を制御するステップと、
前記信号線の使用可否状態に拘わらず、前記一方のデバイスが前記転送対象データを受信したときには、そのことを示すデータ受信信号を他の前記デバイスに通知するステップと、
前記一方のデバイスが前記データ受信信号を発したことを契機として、前記信号線を使用可能状態にすることを含む節電状態からの復帰処理を行なってから前記転送対象データの転送を行なうステップと
を有することを特徴とするデータ処理方法。
【請求項２】
信号を送受信するための信号線を複数のデバイスで共有しつつ、一方のデバイスから他方のデバイスへデータを送受信するとともに、前記デバイスへのクロック供給を制御することで節電制御を行なうデータ処理装置であって、
前記節電制御に際して、転送対象データを送信する一方の前記デバイスと当該一方のデバイスから送信されるデータを受信する他方の前記デバイスとの間の前記信号線の使用可否状態を制御する制御部を備え、
前記一方のデバイスは、前記信号線の使用可否状態に拘わらず、前記転送対象データを受信したときには、そのことを示すデータ受信信号を他の前記デバイスに通知し、
前記制御部は、前記一方のデバイスが前記データ受信信号を発したことを契機として、前記信号線を使用可能状態にすることを含む節電状態からの復帰処理を行なってから前記転送対象データの転送を行なわせる
ことを特徴とするデータ処理装置。
【請求項３】
前記制御部は、節電中は前記デバイスへのクロック供給を停止させ、前記復帰処理時に当該クロック供給を再開する
ことを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記制御部は、節電中はほぼ全ての前記デバイスへのクロック供給を停止させ、前記復帰処理時には、前記転送対象データを前記他方のデバイスへ前記信号線を使用して転送する機能に関わるデバイスに対しての当該クロック供給を再開する
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記一方のデバイスは、前記転送対象データを受信するとともに前記データ受信信号を前記他のデバイスに通知する受信機能部と、当該受信機能部が受信したデータを前記信号線に出力する送信機能部とを備え、前記受信機能部と前記送信機能部とがそれぞれ異なるクロックで動作可能に構成されており、
前記制御部は、前記送信機能部へのクロック供給を停止させることで前記一方のデバイスを節電状態にするとともに、前記受信機能部を常時動作可能にさせておく
ことを特徴とする請求項３または４に記載のデータ処理装置。
【請求項６】
前記信号線を前記一方のデバイス用の信号線と前記他方のデバイス用の信号線とに分離する信号線分離部をさらに備え、
前記一方のデバイスは、前記転送対象データを受信するとともに前記データ受信信号を前記他のデバイスに通知する受信機能部と、当該受信機能部が受信した転送対象データを当該一方のデバイス用の信号線に出力する送信機能部とを備え、前記受信機能部と前記送信機能部とが同一のクロックで動作可能に構成されており、
前記制御部は、前記他方のデバイス用の信号線に接続される各デバイスへのクロック供給を停止させることで前記データ処理装置を節電状態にするとともに、前記受信機能部と前記送信機能部とには前記クロックを常時供給することで常時動作可能にさせておく
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項７】
前記デバイスへ供給するクロックの周波数を変更可能な周波数変換部をさらに備え、
前記制御部は、節電中は前記デバイスへ供給されるクロックの周波数を低くし、前記復帰処理時に当該クロックの周波数を元に戻すように、前記周波数変換部を制御する
ことを特徴とする請求項２に記載のデータ処理装置。
【請求項８】
前記周波数変換部は、入力されたパルス信号の周波数そのものの周期を変更して前記クロックとして出力することで、このクロックの周波数を変更する
ことを特徴とする請求項７に記載のデータ処理装置。
【請求項９】
前記周波数変換部は、入力されたパルス信号における各クロックの出力期間と停止期間を調整して前記クロックとして出力することで、このクロックの平均出力周波数を変更する
ことを特徴とする請求項７に記載のデータ処理装置。
【請求項１０】
前記制御部は、節電中はほぼ全ての前記デバイスへ供給されるクロックの周波数を低くし、前記復帰処理時には、前記転送対象データを前記他方のデバイスへ前記信号線を使用して転送する機能に関わるデバイスに対しての当該クロックの周波数を元に戻すように、前記周波数変換部を制御する
ことを特徴とする請求項７〜９のうちの何れか１項に記載のデータ処理装置。
【請求項１１】
前記一方のデバイスは、前記データ受信信号を、前記クロックに同期して発する
ことを特徴とする請求項７〜１０のうちの何れか１項に記載のデータ処理装置。
【請求項１２】
当該データ処理装置の全体動作を制御する中央演算制御装置を備え、
前記制御部は、節電中は、前記中央演算制御装置を節電状態にする
ことを特徴とする請求項２〜１１のうちの何れか１項に記載のデータ処理装置。
【請求項１３】
前記制御部は、節電中は、前記中央演算制御装置へのクロック供給を停止することで前記節電状態にする
ことを特徴とする請求項１２に記載のデータ処理装置。
【請求項１４】
前記制御部は、節電中は、前記中央演算制御装置へ供給されるクロックの周波数を前記節電からの復帰状態よりも低くすることで前記節電状態にする
ことを特徴とする請求項１２に記載のデータ処理装置。
【請求項１５】
画像信号を処理して所定の出力媒体に画像を形成する画像形成装置において、
信号を送受信するための信号線を複数のデバイスで共有しつつ、一方のデバイスから他方のデバイスへ所定のデータを送受信することで前記画像信号に対して画像処理を施すデータ処理部であって、当該データ処理部が節電状態のときには前記信号線を使用状態に設定しておき、前記節電状態のときに所定の前記デバイスから転送対象データを受信した際には、当該所定のデバイスに前記信号線の使用権を与えるとともに前記データ処理部を前記節電状態から復帰させ、前記信号線を前記使用状態から未使用状態に設定することで、前記信号線の使用権を与えられた前記所定のデバイスが前記信号線を使用可能にする制御部と、
前記データ処理部により処理された画像信号に基づいて、前記所定の出力媒体上に画像を形成する画像記録部と
を備えていることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理方法およびデータ処理装置並びに画像形成装置に関する。より詳細には、プリンタや複写機などの画像処理機能を有する画像処理装置などのデータ処理装置や、画像処理装置を有する画像形成装置などに用いて好適な省電力（節電）制御が可能な仕組みにおける、データ転送と節電機能の関わりに関する。
【背景技術】
【０００２】
近年では種々の電子機器において、様々な節電（省電力化ともいわれる）技術が用いられるとともに、効率の良い節電技術が求められており、様々な仕組みが考えられている。
【０００３】
たとえば、近年、環境に優しい製品の要求が強まり、プリンタや複写機などの電子機器においても待機時の消費電力削減の要求が一層大きくなっている。
【０００４】
この省電力化の仕組みにおいては、たとえばデータ転送が行なわれない期間は省電力モード（節電モードやスリープモードともいう）へ以降し、データ転送が検知された場合に省電力モードを解除することにより、通常モードでのデータ転送を可能にしつつ、省電力化を図る仕組みが考えられている。
【０００５】
なお、装置における“節電”とは、装置の極一部が動作可能にセットされ、他の大部分が電源断（オフ）の状態にあり、動作不能の状態にあることを意味する。
【０００６】
ここで、効率の良い節電技術の中身としては、たとえば、装置の使用中に必要に応じて節電を行なうことや、節電移行後には、できるだけ深い節電状態にするなどの、節電状態そのものに関わるもの（第１の節電技術という）と、節電状態からの復帰に関わるもの（第２の節電技術（特に復帰技術）という）に大別することができる。
【０００７】
たとえば、特許文献１には、コンピュータなどの装置において、クロック同期型バス上で種々の周辺装置あるいはその駆動回路などに対してバスマスタ転送方式によりデータ入出力を行なう場合における節電の仕組みが提案されている。
【０００８】
【特許文献１】特開平１１−３２８１１１号公報
【０００９】
この特許文献１に記載の仕組みでは、バスユニットに対するクロック供給を制御することとし、バスサイクルに関連しないユニットへのクロック供給を停止することで、効率のよい節電を可能にしている。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１に記載の仕組みでは、バスユニットに対するクロック供給のオン／オフ制御を行なっているので、クロック供給が停止されているバスユニットがデータを受信した際の復帰が問題となる。何故なら、クロック供給が無ければデータを適切に受信できないバスユニットがあるからである。
【００１１】
結果的には、装置が節電状態にあるときに他のデバイスから確実にデータ受信できるようにするには、データ転送に関わるバスユニットを節電状態に入れることができない、という問題が生じる。このようなバスユニットを節電状態に入れてしまうと、節電状態中にいきなりデータ転送を開始しようとしてしまい、たとえば節電状態から復帰していないメモリとの間でのデータ書込みや読出しがなされようとするので、装置が異常になるからである。つまり、省電力化を効果的に実現することと、節電状態からの正常な復帰を安全に実現することの両立が困難になるという問題が生じる。
【００１２】
本発明は、上記事情に鑑みてなされたものであり、省電力化を効果的に実現することができるとともに、節電状態からの復帰を適切に行なうことのできる仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る仕組みにおいては、先ず、データ処理を行なうデータ処理装置が節電状態のときには受信したデータを転送するデバイスが信号線を使用できないような状態に設定しておく。そして、節電状態のときにあるデバイスから転送対象データを受信した際には、データ処理装置を節電状態から復帰させるとともに、そのデバイスに信号線の使用権を与え、データ処理装置が節電状態から復帰したときに、転送対象データを送信するデバイスが信号線を使用できる状態に設定する。
【００１４】
また、転送対象データを送信するデバイスは、信号線の使用可否状態に拘わらず、転送対象データを受信したときには、そのことを示すデータ受信信号を他のデバイスに通知することができるようにしておく。そして、データ受信信号を発したことを契機として、信号線を使用可能状態にし、節電状態からの復帰処理を行なってから転送対象データの転送を行なう。つまり、データ受信信号が復帰処理起動用の信号として使用される。
【００１５】
たとえば、受信したデータを転送するデバイスが信号線を使用できないような状態に設定するには、デバイスへのクロック供給を停止する手法や、信号線を使用状態に設定する手法を採るのがよい。
【００１６】
つまり、本発明に係る仕組みにおいては、クロック供給を制御することで節電制御を行なうに際して、信号線の使用状態をも制御するとともに、データ転送に関わるデバイスに関しては、節電状態にあっても、データを受信し、そのことを示すデータ受信信号を他のデバイスに通知することで復帰処理ができるようにすることで、省電力化を効果的に実現することと、節電状態からの正常な復帰を安全に実現することの両立を図る。
【発明の効果】
【００１７】
本発明によれば、節電の制御に際して、信号線の使用状態を制御するとともに、データ転送に関わるデバイスに関しては、節電状態でも、データを受信したことを契機とした復帰処理起動用の信号を発するようにした。これにより、省電力化を効果的に実現することと、節電状態からの正常な復帰を安全に実現することの両立を図ることができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【００１９】
＜データ処理装置の概要＞
図１は、本発明に係るデータ処理装置の一実施形態の構成例を示す図である。本実施形態のデータ処理装置３は、信号を送受信するためのバス（Ｂｕｓ；共有信号線）４０を複数のデバイスで共有しつつ、一方のデバイスから他方のデバイスへデータを送受信することで所定のデータ処理を行なうものである。
【００２０】
バス４０は、バスブリッジ部９０を境に分離された外部バス４０ａと内部バス４０ｂとでなる。何れも、アドレスバスとデータバスの双方を含む。なお、外部バス４０ａは、Ｉ／Ｏデバイス用のバスであるＩ／Ｏバスが典型例であり、また内部バス４０ｂは、ＣＰＵと接続されるＣＰＵバスやメモリ用のバスであるメモリバスが典型例である。
【００２１】
なお、図のように、バスブリッジ部９０などの分離手段を設けて外部バス４０ａと内部バス４０ｂとを分離することに限らず、システム構成によっては、バスブリッジ部９０を設けることなく、外部バス４０ａと内部バス４０ｂとを共通にする場合もある。また、バスブリッジ部９０を設けて外部バス４０ａと内部バス４０ｂとを分離する場合、独立した外部クロックＯＵＴ＿ＣＬＫと内部クロックＩＮＴ＿ＣＬＫで外部バス４０ａと内部バス４０ｂとを独立（分離）して駆動することもできるし、外部クロックＯＵＴ＿ＣＬＫと内部クロックＩＮＴ＿ＣＬＫの双方を兼ねる共通したバスクロックＢｕｓ＿ＣＬＫで駆動することで各バス４０ａ，４０ｂに接続されたバスデバイスを同一の周波数で同期させて動作させることにより、実質的に外部バス４０ａと内部バス４０ｂとを共通にすることもできる。
【００２２】
ここで、本実施形態のデータ処理装置３は、当該データ処理装置３の全体を制御するコントローラ部３１と、当該データ処理装置３内の他のデバイスや図示しない外部のＩ／Ｏ（入出力）デバイスとの間のインタフェース機能をなすＩ／Ｏインタフェース部３５と、節電機能に関わる信号線制御部の一例である節電制御部３６とが、バス４０を共有するように構成されている。Ｉ／Ｏインタフェース部３５としては、１つに限らず複数が設けられてよい。また、データ処理装置３は、種々のクロック信号を発生する信号発生部５０を備えている。
【００２３】
なお、本願明細書においては、データ線やアドレス線がバス４０に接続される回路構成要素をバス構成要素（バスデバイスともいう）といい、バス４０を含むバス構成要素でなる装置全体をバス回路と称する。バス構成要素としては、典型的には、外部のＩ／Ｏ装置との間に介在してインタフェース機能をなすＩ／Ｏインタフェース部３５や、バスを分離するバスブリッジ部９０などがあるが、これらに限るものではなく、本実施形態では節電制御部３６もバス構成要素となり得る。
【００２４】
Ｉ／Ｏインタフェース部３５には少なくとも出力クロックＯＵＴ＿ＣＬＫの一例であるバスクロックＩ／ＯＢｕｓ＿ＣＬＫが信号発生部５０から入力され、Ｉ／Ｏ装置（周辺装置）用の外部バス４０ａは、クロック同期で構成されるものとする。必要に応じてバスクロック以外にもインタフェースクロックＩ／Ｆ＿ＣＬＫが信号発生部５０から入力されてもよい。クロック同期型バス上で、種々の周辺装置あるいはその駆動回路などに対してバスマスタ転送方式によりデータ入出力を行なうことで、ＣＰＵが転送を制御するいわゆるプログラマブルＩ／Ｏ方式に比してＣＰＵに対する負荷が小さくて済むという利点が得られる。
【００２５】
ここで、本実施形態のＩ／Ｏインタフェース部３５は、少なくとも、節電中であっても、他のデバイス（典型例としては外部のＩ／Ｏ装置）からのデータを受信したときに、そのことを示すデータ受信信号Ｓ３を出力可能なものとする。このためには、詳細は後述するが、Ｉ／Ｏインタフェース部３５単独で外部バス４０ａとデータ受信部とが分離された構造を採るか、もしくは、バスブリッジ部９０などを利用して、外部バス４０ａと内部バス４０ｂとを分離する構造を採る。
【００２６】
コントローラ部３１は、たとえば、ＣＰＵ（Central Processing Unit ；中央演算制御装置）３１ａや、ＲＯＭ（Read Only Memory）およびＤＲＡＭ（Dynamic RAM ）を含むＲＡＭ（Random Access Memory）を有するメモリ部３１ｂや、ＤＭＡＣ（Direct Memory Access Controller ）３１ｃを有する。ＣＰＵ３１ａは、種々のクロック信号を生成するＰＬＬ（Phase Locked Loop ；位相同期）回路３１ｄを内蔵している。コントローラ部３１には、内部クロックＩＮＴ＿ＣＬＫの一例であって、コントローラ部３１を動作させるためのＣＰＵクロックＣＰＵ＿ＣＬＫが信号発生部５０から入力される。
【００２７】
なお、ＣＰＵ３１ａ自体は同期型バスに適応したインタフェースを持たない。このため、バスブリッジ部９０は、ＣＰＵ３１ａと同期型バス間の変換を行なう機能を持つ。
【００２８】
また、コントローラ部３１は、バス４０の使用要求を受けてバス要求を調停する、つまりバス４０の使用権を制御する使用権制御部３２を有する。使用権制御部３２は、Ｉ／Ｏインタフェース部３５からのデータ受信信号Ｓ３やその他のデバイス（節電制御部３６やＤＭＡＣを含む）からのデータ受信信号を受け付けると、複数のデバイスでの競合使用が起きないようにバス調停を行なって、何れか１つのデバイスのみにバス４０の使用権を示すバス使用許可信号Ｓ４を送る。
【００２９】
なお、データ受信信号Ｓ３は、Ｉ／Ｏインタフェース部３５が節電中に転送すべきデータを受け付けたことを示すものであればよく、たとえば、データ受信をトリガとしてデータ転送要求信号ＲＥＱを生成してもよいし、データ受信をトリガとして送出データがあることを示すデータ有効信号ＤＶ（Data Valid）を生成してもよい。
【００３０】
本実施形態では、データ処理装置３が節電状態のときにＩ／Ｏインタフェース部３５が外部のＩ／Ｏ装置からデータを受信した際の節電状態からの復帰とデータ転送の開始に着目して、図では、データ受信信号Ｓ３やバス使用許可信号Ｓ４を、Ｉ／Ｏインタフェース部３５についてのみ示す。
【００３１】
また、コントローラ部３１は、複数のデバイス間で使用される１つの資源（リソース）であるバス４０を使用したいという要求が複数存在する場合に、それらを調停してそれぞれの要求を満たしていくアービトレーション（Arbitration ）処理を行なうバス調停部（バスアービタ）や、バス４０やその他の信号のインタフェース機能をなすブリッジ部などが設けられることもある。本構成例では、先にも説明したように、使用権制御部３２が、バス調停部の機能を担当することになる。なお、ＤＭＡＣ３１ｃがバス調停部の機能を担当してもよい。
【００３２】
また、コントローラ部３１は、節電状態からの復帰処理を行なう節電解除処理部３４を有する。節電解除処理部３４は、先ず、節電モードからの復帰指示を示す節電解除要求信号（節電解除トリガ）Ｓ１を受け付ける節電解除トリガ検出部３４ａを有する。節電解除要求の一例としては、ＳＭＩ（System Management Interrupt ）割込みが用いられ、コントローラ部３１には、節電解除要求信号Ｓ１としての割込信号ＳＭＩ用の入力端子ＳＭＩＩを有する。また、節電解除処理部３４は、節電解除トリガ検出部３４ａが受信した節電解除要求に応答した節電解除通知信号Ｓ２を発する節電解除通知送信部３４ｂを有する。節電解除通知信号Ｓ２としては、たとえばスリープ信号や節電信号（あるいは節電解除信号）が用いられ、コントローラ部３１には、その節電解除通知信号Ｓ２用の出力端子Ｓ２Ｏを有する。使用権制御部３２や節電解除処理部３４は、たとえば、ＣＰＵ３１ａが、それら機能を担当するように構成するのがよい。
【００３３】
節電制御部３６は、装置が節電状態（節電モードへの移行段階から完全に復帰するまでを含む）のときには、複数のバスデバイスが共用するバス４０を使用して、バスデバイスの一例である汎用Ｉ／Ｆ＿ＬＳＩ１５６が他のバスデバイスにデータを転送することを禁止する機能を持っている。たとえば、ＣＰＵ１１０と協働して、もしくは単独で、データ処理装置３が節電状態のときにはバス４０を使用不可能状態に設定しておき、節電状態のときに所定のデバイスからデータを受信した際には、データ処理装置３を節電状態から復帰させ、この後、データ処理装置３が節電状態から復帰したときにバス４０を使用不可能状態から使用可能状態に設定する機能を有している。
【００３４】
使用不可能状態に設定する手法として、本実施形態では、外部クロックＯＵＴ＿ＣＬＫを停止する手法や、外部クロックＯＵＴ＿ＣＬＫを停止させない場合には外部バス４０ａをＩ／Ｏインタフェース部３５以外のデバイスにて使用状態に設定する手法を採る。この点については、後で詳述する。
【００３５】
ここで、あるデバイスがバス４０を使用中には、他のデバイスはそのバス４０を使用できない。つまり、ある瞬間にバス４０バスを使用できるのは１つのデバイスだけである。なお、“バス”は、コンピュータなどが利用する様々なデバイスの間で信号を送受信するために設けた信号線やそれに付随する回路の総称であり、データを格納する場所を示すアドレスバスと、実際に処理する情報を伝送するデータバスの何れをも含む。通常は１６ビットや３２ビットなど、一定幅のビット数の信号を並行して伝送する。また、バスの形態や目的により、幾つかに分類できるが、本実施形態においては、解決課題の観点から、たとえばＣＰＵ内でレジスタと演算器などを結ぶローカルバスは問題とせずに、ＣＰＵ３１ａとメモリ部３１ｂや各種インタフェースとを接続する、あるいはコンピュータに拡張カードを装着するための拡張バスなどの外部バス４０ａや内部バス４０ｂに着目する。
【００３６】
節電制御部３６は、Ｉ／Ｏデバイス（本例ではＩ／Ｏインタフェース部３５）から発せられるデータ受信信号Ｓ３を監視するデータ転送要求監視部３７と、データ処理装置３が節電状態のときにデータ転送要求監視部３７がデータ受信信号Ｓ３を検知したときにデータ処理装置３を節電状態から復帰させる復帰処理部３８とを有している。また、節電解除要求信号Ｓ１としての割込信号ＳＭＩ用の出力端子ＳＭＩＯと、節電解除通知信号Ｓ２用の入力端子Ｓ２Ｉを有する。
【００３７】
また、節電制御部３６は、本実施形態の特徴部分として、節電時に不要なデバイスへのクロック入力を停止させるもしくは周波数を低下させるクロック制御部３９を有している。クロック制御部３９は、たとえば、外部クロックＯＵＴ＿ＣＬＫや内部クロックＩＮＴ＿ＣＬＫを制御する。なお、Ｉ／Ｏインタフェース部３５用のインタフェースクロックＩ／Ｆ＿ＣＬＫについては、節電中も含めて定常状態を維持する。本構成において、クロック制御部３９は、外部クロックＯＵＴ＿ＣＬＫ（特にＩ／Ｏバスクロック）や内部クロックＩＮＴ＿ＣＬＫをオン／オフするもしくはその周波数を変更する制御指示Ｓ５を信号発生部５０に出す。
【００３８】
データ転送要求監視部３７は、データ受信信号Ｓ３を検知すると、そのことを復帰処理部３８に通知する。これを受けて、復帰処理部３８は、節電解除トリガ検出部３４ａへの入力信号である節電解除要求信号Ｓ１（としての割込信号ＳＭＩ）を出力端子ＳＭＩＯから発する。つまり、節電制御部３６は、外部のＩ／Ｏデバイスからのデータ転送要求に対応するデータ受信信号Ｓ３から節電解除トリガ検出部３４ａへの節電解除要求信号Ｓ１を作ることで、データ処理装置３の節電状態の解除を行なう。
【００３９】
また、復帰処理部３８は、データ処理装置３が節電状態のときには、復帰処理部３８単独で、もしくはＩ／Ｏインタフェース部３５以外のデバイスと協働して、バス４０（特に外部バス４０ａ）をＩ／Ｏインタフェース部３５が使用できないように設定する。また、復帰処理部３８は、節電解除通知信号Ｓ２をコントローラ部３１から入力端子Ｓ２Ｉで受け取ると、復帰処理部３８単独で、もしくはＩ／Ｏインタフェース部３５以外のデバイスと協働して、Ｉ／Ｏインタフェース部３５がバス４０を使用できる状態に設定する。
【００４０】
＜データ処理装置の節電処理の概要＞
図２は、図１に示したデータ処理装置３における節電処理手順の概要を示したフローチャートである。なおここでは、節電制御中（節電状態への移行から通常状態への復帰までを含む）における、Ｉ／Ｏインタフェース部３５に対する外部バス４０ａの使用可否の設定を、復帰処理部３８が行なうものとして説明する。
【００４１】
通常状態中に所定の条件にてデータ処理装置３が節電モードへの移行指示がなされると、節電モードからの復帰に必要な最低限の機能部分やデータ破壊防止用の回路（たとえばＤＲＡＭのリフレッシュ回路など）など必要最低限の部分のみを動作させ、コントローラ部３１だけでなく復帰処理部３８を含むデータ処理装置３の大部分が節電状態に入る（Ｓ１）。
【００４２】
節電モードからの復帰に必要な最低限の機能部分としては、Ｉ／Ｏインタフェース部３５における外部機器からのデータを受け付ける機能に関わる機能部分（データ受信部やデータ受信信号Ｓ３を生成する機能部分）や、節電制御部３６や、節電解除トリガ検出部３４ａなどである。
【００４３】
この節電モードのとき、クロック制御部３９は、コントローラ部３１やＩ／Ｏインタフェース部３５に供給されるクロック信号の停止もしくは周波数低下の制御指示を出すとともに、節電モード中はＩ／Ｏインタフェース部３５がバス４０を使用してデータ転送ができないようにする（Ｓ２）。たとえば、Ｉ／Ｏバス４０ｂ用のバスクロック供給を停止させることでＤＲＡＭなどへのデータ転送が行なわれないようにし（つまり節電中のデータ転送を禁止し）、ＣＰＵ３１ａが節電状態に入った後にはＣＰＵ３１ｄ内部のＰＬＬ回路３１ｄを停止させるとともにＣＰＵクロック供給を停止させる。ただし、Ｉ／Ｏインタフェース部３５がインタフェースクロックを使用する場合には、節電状態でもインタフェースクロック供給は継続させておく。こうすることで、データ処理装置３は、最も消費電力の少ない節電状態となる。
【００４４】
なお、節電制御部３６は、節電中にクロック信号の周波数を低下させる場合、所定の手法によりバス４０を使用状態として、他のデバイスがバス４０を使用してデータ転送を行なうことができないように設定する。たとえば、節電制御部３６の復帰処理部３８は、データ処理装置３が節電中には、バスマスタデバイスからターゲットデバイスへのデータアクセスをバス４０にて行なうことで（つまりバスアクセスにて）バス４０を使用状態として、他のデバイスがバス４０を使用してデータ転送を行なうことができないように設定してもよい。
【００４５】
復帰処理部３８は、Ｉ／Ｏインタフェース部３５が外部のＩ／Ｏ装置からデータ転送を要求されたことを示すデータ受信信号Ｓ３を、データ転送要求監視部３７が検知するまで待機する（Ｓ５−ＮＯ）。
【００４６】
Ｉ／Ｏインタフェース部３５は、データ処理装置３が節電中に、外部のＩ／Ｏ装置からデータを受信すると（Ｓ３−ＹＥＳ）、データ受信信号Ｓ３をコントローラ部３１の使用権制御部３２に送る（Ｓ４）。これを受けて、コントローラ部３１の使用権制御部３２は、Ｉ／Ｏインタフェース部３５に対して、バス使用許可信号Ｓ４を送ることでバス４０の使用権を与える（Ｓ４）。Ｉ／Ｏインタフェース部３５は、バス４０の使用権を与えられても、まだバス４０を使用してのデータ転送を禁止する状態に設定されているので、バス４０を使用可能とされる（禁止状態が解除される）まではデータ転送ができない（Ｓ１０−ＮＯ）。
【００４７】
復帰処理部３８は、データ処理装置３が節電状態にあるときに、Ｉ／Ｏインタフェース部３５が外部のＩ／Ｏ装置からデータ転送を要求されると（Ｓ５−ＹＥＳ）、そのことを示すデータ転送要求監視部３７が検知したデータ受信信号Ｓ３に基づき、先ず、クロック制御部３９にてＣＰＵ３１ａ内部のＰＬＬ回路３１ｄを起動させる（Ｓ６）。ＰＬＬ回路が安定になる頃、復帰処理部３８は、コントローラ部３１の節電解除トリガ検出部３４ａに節電解除要求信号Ｓ１を送る（Ｓ７）。コントローラ部３１は、節電解除トリガ検出部３４ａにて節電解除要求信号Ｓ１を受け取ると、節電制御部３６を節電状態から復帰させ通常状態に戻した後に、節電解除通知送信部３４ｂにて節電解除通知信号Ｓ２を復帰処理部３８に送る（Ｓ８）。
【００４８】
復帰処理部３８は、節電解除要求信号Ｓ１に応答した節電解除通知信号Ｓ２を節電解除通知送信部３４ｂから受け取ってから、節電制御部３６を節電状態から復帰させ通常状態に戻す。また、節電状態の解除が完全に完了すると、クロック制御部３９はＩ／Ｏバス４０ｂ用のバスクロックやＣＰＵクロックを通常の供給状態へと戻させる制御指示を信号発生部５０に発する（Ｓ９）。これを受けて、信号発生部５０は、Ｉ／Ｏバス４０ｂ用のバスクロックやＣＰＵクロックを通常状態へと戻す（Ｓ１０）。なお、節電中にバス４０を使用状態に設定したときには、復帰処理部３８は、節電状態の解除が完全に完了すると、バス４０を使用状態から未使用状態に設定する（バス４０の使用状態を解除する）ことで、Ｉ／Ｏインタフェース部３５にバス４０の使用許可を与える。
【００４９】
つまり、節電制御部３６は、Ｉ／Ｏインタフェース部３５（つまり外部のＩ／Ｏデバイス）とメモリ部もしくはＩ／Ｏインタフェース部３５やバス４０を介したＩ／Ｏデバイス間でデータ転送を行なう前に、データ処理装置３のデータ転送に必要な箇所を節電状態から所定の順で段階的に復帰させる。
【００５０】
Ｉ／Ｏインタフェース部３５は、既にバス４０の使用権を与えられており、クロック制御部３９によってバスクロックやＣＰＵクロックが通常状態に戻され、バス４０を使用してのデータ転送が可能になると（Ｓ１０−ＹＥＳ）、コントローラ部３１のメモリなどへ、外部のＩ／Ｏ装置から受信したデータの転送を直ちに開始する（Ｓ１１）。これにより、データ処理装置３は、通常の動作状態へと完全に復帰する。
【００５１】
以上のステップを踏むことで、データ処理装置３は非常に深い節電状態へと移行することが可能であると同時に、節電中に意図しないデータ転送がバス４０上で行なわれることを防ぐことができる。結果として、データ処理装置３を安全に節電状態に入れ、また、必要に応じて安全に復帰させた後にデータ転送を開始することができる。
【００５２】
＜データ処理システムの全体構成；第１実施形態＞
図３および図４は、本発明に係る画像形成装置を備えたデータ処理システムの第１実施形態の構成例を示す図である。図４は、その基本構成を示すものであり、図４は、変形例を説明する図である。
この第１実施形態のデータ処理システム１は、本発明に係るデータ処理装置３を画像処理装置として備えた画像形成装置の一実施形態として、画像形成部３００を有するプリンタの構成にしている。
【００５３】
図３では、ＣＰＵやメモリを利用してソフトウエア的に画像形成処理を行なう機能を持つ画像形成装置２を構成する、すなわちパーソナルコンピュータなどのコンピュータ（電子計算機）の機能を利用して画像形成処理をソフトウエア的に実現する場合のハードウエア構成の一例を示している。
【００５４】
ここで、第１実施形態のデータ処理装置３は、汎用Ｉ／Ｆ＿ＬＳＩ１５６用のクロック信号であるＩ／Ｏバスクロックが停止されている状態において、複数のデバイスで共有する信号線（図１のバス４０に相当）を介したデータ転送用のデータを受信すると、送信データの有効性を示すデータ有効信号ＤＶが出力される形態の汎用Ｉ／Ｆ＿ＬＳＩ１５６を使用することを前提とする。
【００５５】
図示するように、本実施形態のデータ処理システム１は、データ処理装置３を含みプリンタとして構成された画像形成装置２と、他の外部装置５とが通信ネットワーク９により接続されて構成されている。外部装置５としては、たとえば、パーソナルコンピュータ（ＰＣ；Personal Computer）やその他の電子計算機で構成されたホスト装置が用いられる。
【００５６】
画像形成装置２は、内部コントローラ部１００を主要部とするデータ処理装置３と、処理済みの画像を所定の出力媒体（たとえば印刷用紙）に出力する画像形成部３００とを備えている。
【００５７】
図示を割愛するが、たとえば、スキャナ装置などの画像読取部をも設けることで、画像形成装置２を複写装置として構成することもできる。また、図示を割愛するが、カスタマーインタフェースをなす機能部としての指示入力部と、操作時のガイダンス画面や処理結果などの所定の情報をカスタマーに提示する表示出力部とが設けられる。
【００５８】
内部コントローラ部１００は、パーソナルコンピュータなどの電子計算機と同様の構成にしている。画像形成部３００に、画像形成処理を行なわせるに当たって、電子計算機の仕組みを利用することで、その機能を実現するプログラムコードに基づき電子計算機を用いてソフトウエア的に画像形成処理機能を実現することができるようになる。ソフトウエアにより画像形成処理機能を実行させる仕組みとすることで、ハードウエアの変更を伴うことなく、処理手順などを容易に変更できる利点を享受できるようになる。
【００５９】
電子計算機に一連の画像形成処理機能をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ（組込マイコンなど）、あるいは、ＣＰＵ、論理回路、記憶装置などの機能を１つのチップ上に搭載して所望のシステムを実現するＳＯＣ（System On a Chip：システムオンチップ）、または、各種のプログラムをインストールすることで各種の機能を実行することが可能な汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【００６０】
記録媒体は、コンピュータのハードウエア資源に備えられている読取装置に対して、プログラムの記述内容に応じて、磁気、光、電気などのエネルギの変化状態を引き起こして、それに対応する信号の形式で、読取装置にプログラムの記述内容を伝達できるものである。
【００６１】
たとえば、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクＦＤを含む）、光ディスク（ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory ）、ＤＶＤ（Digital Versatile Disc）を含む）、光磁気ディスク（ＭＤ（Mini Disc ）を含む）、または半導体メモリなどよりなるパッケージメディア（可搬型の記憶媒体）により構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭやハードディスクなどで構成されてもよい。
【００６２】
また、ソフトウエアを構成するプログラムは、記録媒体を介して提供されることに限らず、有線あるいは無線などの通信網を介して提供されてもよい。
【００６３】
たとえば、画像形成処理機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、ハードウエア処理回路にて構成する場合と同様の効果は達成される。この場合、記憶媒体から読み出されたプログラムコード自体が画像形成処理機能を実現する。
【００６４】
また、コンピュータが読み出したプログラムコードを実行することで、画像形成処理を行なう機能が実現されるだけでなく、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（Operating Systems ；基本ソフト）などが実際の処理の一部または全部を行ない、その処理により画像形成処理を行なう機能が実現される場合であってもよい。
【００６５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって画像形成処理を行なう機能が実現される場合であってもよい。
【００６６】
なお、画像形成処理を行なう機能を実現するプログラムコードを記述したファイルとしてプログラムが提供されるが、この場合、一括のプログラムファイルとして提供されることに限らず、コンピュータで構成されるシステムのハードウエア構成に応じて、個別のプログラムモジュールとして提供されてもよい。
【００６７】
内部コントローラ部１００は、演算制御機能の中心を司るものであってシステム全体の制御を行なうＣＰＵ１１０と、データを記憶するメインメモリ部１２０と、メインメモリ部１２０からＣＰＵ１１０へのデータの読み込みを高速化するためのキャッシュメモリ（Cache Memory）１３０とを備えている。ＣＰＵ１１０は、ＰＬＬ回路１１２を内蔵している。
【００６８】
また内部コントローラ部１００は、バス調停制御部１４０と、各機能部との間のインタフェース機能をなすインタフェース部（Ｉ／Ｆ部）１５０と、本実施形態の特徴部分である節電制御処理を行なう節電制御部１６０とを有する。
【００６９】
図１との対応では、ＣＰＵ１１０、メインメモリ部１２０やＲＯＭ１２８、キャッシュメモリ１３０、およびバス調停制御部１４０とで、コントローラ部３１が構成される。また、インタフェース部１５０がＩ／Ｏインタフェース部３５に対応する。また、節電制御部１６０が、節電制御部３６に対応する。
【００７０】
なお、メモリバス１５８上には、記憶部として、ＲＡＭ以外にも、制御プログラムやパラメータなどを格納する読出専用の不揮発性の記憶部であるＲＯＭ１２８が設けられている。
【００７１】
メインメモリ部１２０としては、随時書込みおよび読出しが可能であるとともに揮発性の記憶部の一例であるＲＡＭを用いている。特に本実施形態では、ＲＡＭの一態様であるＤＲＡＭ１２６を用いている。
【００７２】
メインメモリ部１２０は、プログラム制御変数や各種処理のためのデータなどを格納する。また、メインメモリ部１２０は、所定のアプリケーションプログラムによって取得した電子ドキュメント（文字データのみに限らず画像データを含んでよい）や自装置で取得した画像データ、さらには外部から取得した電子データなどを一時的に格納する領域を含んでいる。
【００７３】
上記において“揮発性の記憶部”とは、データ処理装置３の電源がオフされた場合には、記憶内容を消滅してしまう形態の記憶部を意味する。一方、“不揮発性の記憶部”とは、データ処理装置３のメイン電源がオフされた場合でも、記憶内容を保持し続ける形態の記憶部を意味する。記憶内容を保持し続けることができるものであればよく、半導体製のメモリ素子自体が不揮発性を有するものに限らず、バックアップ電源を備えることで、揮発性のメモリ素子を“不揮発性”を呈するように構成するものであってもよい。また、半導体製のメモリ素子により構成することに限らず、磁気ディスクや光ディスクなどの媒体を利用して構成してもよい。たとえば、ハードディスク装置を不揮発性の記憶部として利用できる。
【００７４】
バス調停制御部１４０は、バス調停回路を用いてバス要求を調停するアーキテクチャを採用するために用いられており、一例として、バス調停を行なう機能を持ちＤＭＡ転送を制御する制御部としてのＤＭＡＣ１４３と、ＤＭＡＣ１４３とＣＰＵ１１０やメインメモリ部１２０などとの間に介在してデータの受け渡しを中継するバスブリッジ部１４４とを有している。
【００７５】
メインメモリ部１２０やＲＯＭ１２８はメモリバス１５８にてバスブリッジ部１４４に接続され、インタフェース部１５０や節電制御部１６０は、Ｉ／Ｏバス１５９にてバスブリッジ部１４４に接続されている。メモリバス１５８およびＩ／Ｏバス１５９は、アドレスバスとデータバスとを含む。
【００７６】
なお、ＤＭＡＣ１４３は、本実施形態のように、バスブリッジ部１４４の外部に独立した回路として設ける場合もあるし、図示を割愛するが、バスブリッジ部１４４に内臓される場合もある。
【００７７】
また、本実施形態では、ＣＰＵ１１０およびメインメモリ部１２０の双方に節電機能が設けられるものとするが、これに限定されず、たとえば、ＣＰＵ１１０のみに節電機能があってもよい。メインメモリ部１２０はメモリコントローラを含むメモリ装置を広く指し、メモリコントローラに節電機能を設けた場合にも、ここでいう節電機能付きのメモリに含まれる。なお、メモリコントローラは、メインメモリ部１２０内にあることに限らず、たとえばバスブリッジ部１４４に配されることもある。
【００７８】
インタフェース部１５０としては、画像形成部３００などの画像機器とのインタフェースを司るビデオＩ／Ｆ部１５２と、汎用Ｉ／Ｆ＿ＬＳＩ１５６とを備えている。図示した例では、３つの汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃに１台のホスト装置５が接続されている状態を示しているが、その台数は１台に限らず、２台以上であってもよい。また、インタフェース部１５０内には、図示した他に、外部のＩ／Ｏ装置とのインタフェースを司るＩ／Ｏ＿ＡＳＩＣ（特定用途向けＩＣ）を設けてもよい（後述する図５や図６を参照）。
【００７９】
このような構成において、プリンタとして構成された画像形成装置２は、スタンドアローンのホスト装置５に汎用Ｉ／Ｆ＿ＬＳＩ１５６を介して接続され、ホスト装置５から印刷ジョブを受け付ける。
【００８０】
汎用Ｉ／Ｆ＿ＬＳＩ１５６は、Ｉ／Ｏ＿ＡＳＩＣが関知しない外部Ｉ／Ｏ装置とのインタフェースを司るもので、節電制御部１６０が存在しない場合において、これをＩ／Ｏバス１５９に直接接続した場合には、Ｉ／Ｏ＿ＡＳＩＣを利用した節電復帰機能を有効に活用することができないので、結果的には、汎用Ｉ／Ｆ＿ＬＳＩ１５６を介してのデータ受信ができるように、ＣＰＵ１１０を浅い節電モードにしか入れることしかできない。この問題を解決するために、本実施形態では、節電制御部１６０を設けている。
【００８１】
節電制御部１６０は、図１に示したデータ転送要求監視部３７および復帰処理部３８の機能を持つ第１節電制御部１６２と、図１に示したクロック制御部３９の機能を持つ第２節電制御部１６４とを有して構成されている。
【００８２】
第２節電制御部１６４は、バスクロックや汎用Ｉ／Ｆ＿ＬＳＩ１５６用のクロックをオン／オフ制御するためのクロック制御信号ＣＣＮＴ１，ＣＣＮＴ２を発するクロック制御信号発生部１６５と、クロック制御信号ＣＣＮＴ１，ＣＣＮＴ２に基づき各部へのクロック供給を切り替えるクロック切替部１６６と、ＯＲゲート１６７を有している。クロック切替部１６６には、図示を割愛した基準クロック発生器からの基準クロックＣＬＫ０がクロック入端子ＣＬＫに供給されるようになっている。
【００８３】
汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃからは、データ受信信号Ｓ３相当のデータ受信信号ＤＶａ，ＤＶｂ，ＤＶｃがＯＲゲート１６７に供給され、その論理和出力がクロック制御信号発生部１６５のデータ受信信号入力端子ＤＶに入力されるようになっている。
【００８４】
クロック切替部１６６は、一方の入力端子にクロック制御信号ＣＣＮＴ１が入力され他方の入力端子に図示を割愛した基準クロック発生器からの基準クロックＣＬＫ０が供給されるＡＮＤゲート４０２と、一方の入力端子にクロック制御信号ＣＣＮＴ２が入力され他方の入力端子に基準クロックＣＬＫ０が供給されるＡＮＤゲート４０４とを有する。ＡＮＤゲート４０２の論理積出力であるクロック信号ＣＬＫ１は内部コントローラ部１００のクロック入力端子ＣＬＫに、ＰＬＬ回路１１２用などのクロック信号（以下ＣＰＵクロックともいう）として供給される。図示を割愛するが、ビデオＩ／Ｆ部１５２にも、バスクロックが図示を割愛した基準クロック発生器から常時供給されるようになっている。
【００８５】
また、クロック切替部１６６は、ＡＮＤゲート４０２の論理積出力を各汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃに分配して供給するバッファ４０６を有する。このバッファ４０６は、ＡＮＤゲート４０４の論理積出力である汎用Ｉ／Ｆ＿ＬＳＩ１５６用のクロック信号ＣＬＫ２を、分配時に遅延差が生じないように供給するために設けられたゼロディレイバッファである。本例では、遅延差がないバッファアンプを３つ内蔵しており、各バッファアンプ４０６（それぞれに参照子ａ，ｂ，ｃを付して示す）から出力されるクロック信号（Ｉ／Ｏバスクロック）ＣＬＫ２ａ，ＣＬＫ２ｂ，ＣＬＫ２ｃは、対応する汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃのクロック入力端子ＣＬＫに入力される。クロック信号ＣＬＫ２は、周波数および位相が、クロック信号ＣＬＫ１の周波数および位相と同じであってよい。
【００８６】
なお、図４（Ａ）に示すように、ＡＮＤゲート４０２は、クロック制御信号発生部１６５からのクロック制御信号ＣＣＮＴ１の元でＣＰＵクロックＣＰＵ＿ＣＬＫのＣＰＵ１１０への供給をオン／オフ制御する第１クロックバッファ部６２２として機能する。また、ＡＮＤゲート４０４およびバッファ４０６は、クロック制御信号発生部１６５からのクロック制御信号ＣＣＮＴ２の元でバスクロックＢｕｓ＿ＣＬＫの汎用Ｉ／Ｆ＿ＬＳＩ１５６への供給をオン／オフ制御する第２クロックバッファ部６２４として機能する。なお、各クロックバッファ部６２２，６２４は、バッファ６２２ａ，６２４ａそのものと、スイッチ６２２ｂ，６２４ｂとで構成されていると見ることができる。
【００８７】
なお、第１節電制御部１６２と第２節電制御部１６４のクロック制御信号発生部１６５とで、パワーマネージメント制御部１６８を構成してもよい。全体としては、Ｉ／Ｏバス１５９は、クロック同期のバスで構成され、パワーマネージメント制御部１６８によってＩ／Ｏバスクロックのオン／オフを制御するようにする。
【００８８】
また、データ処理装置３は、ＣＰＵ１１０と、ＤＲＡＭ１２６を有するメインメモリ部１２０およびＲＯＭ１２８とが、メモリバス１５８上に接続されている。また、インタフェース部１５０と節電制御部１６０とがＩ／Ｏバス１５９上に接続されている。Ｉ／Ｏバス１５９は、バスブリッジ部１４４を介してＣＰＵ１１０やＤＭＡＣ１４３などに接続される。なお、ＣＰＵ１１０を介さないＤＭＡ転送のためには、メモリバス１５８もバスブリッジ部１４４を介してＣＰＵ１１０に接続されるようにするのがよい。
【００８９】
また、ＣＰＵ１１０と節電制御部１６０の第１節電制御部１６２との間には、ＣＰＵ１１０が節電中であることを示すスリープ信号ＮＳＬＥＥＰと割込信号ＮＳＭＩと、ＰＬＬ回路１１２の状態を設定する制御信号（ＰＬＬ＿ＣＦＧ信号）の受け渡しがある。この構成では、ＣＰＵ１１０は節電中であることを示すＮＳＬＥＥＰ信号を節電制御部１６０に出力し、ＣＰＵ１１０は節電制御部１６０からのＳＭＩ割込みによって節電状態から復帰するものとする。また、節電制御部１６０からのＰＬＬ＿ＣＦＧ信号によってＣＰＵ１１０内部のＰＬＬ回路１１２の状態が切り替えられる。
【００９０】
また、ＤＭＡＣ１４３、インタフェース部１５０、および節電制御部１６０の間にデータの要求信号ＤＲＥＱの受け渡しがある。また、ＤＭＡＣ１４３とインタフェース部１５０との間にデータ転送の許可信号ＮＤＡＣＫの受け渡しがある。この構成では、通常の使用において、ＤＭＡＣ１４３は要求信号ＤＲＥＱがアサートされると、メモリバス１５８およびＩ／Ｏバス１５９の調停を行なう。ＤＭＡＣ１４３は、各バス１５８，１５９の使用権を得ると、予め設定されたアドレスをアドレスバスに出力すると同時に、許可信号ＮＤＡＣＫをアサートして、インタフェース部１５０からデータバスに対してデータを出力させる。この際、ＤＭＡＣ１４３は、インタフェース部１５０からの出力データがメインメモリ部１２０のＤＲＡＭ１２６に書き込まれるよう、ＤＲＡＭ制御信号をコントロールすることで、ＣＰＵ１１０を介さないＤＭＡ転送を実現する。
【００９１】
＜節電中にデータ転送されることの問題説明＞
図５および図６は、節電中にデータ転送されることの問題を説明する図である。ここで、図５は、節電制御部１６０を設けない場合における節電機能の問題点を説明する図である。また、図６は、図５における節電機能の問題を解決する一手法を説明する図である。
【００９２】
なお、ここでは、データ処理装置３は、複数のデバイスで共有する信号線（図１のバス４０に相当）として、ＰＣＩ（Peripheral Component Interconnect ）バスを利用した構成で説明する。ただし、これは一例であって、データ処理装置３は、ＰＣＩバス以外の共有信号線で構成されていてもよい。
【００９３】
図３に示したデータ処理装置３において、消費電力を削減する一手法として、節電制御部１６０を設けることなく、図５（Ａ）に示すように、ＣＰＵ１１０やメインメモリ部１２０内のＤＲＡＭ１２６をスリープモードやセルフリフレッシュモードなどといった回路素子に組み込まれた省エネ機能を使用する方法を採る。これは、省電力化の手法として一般的に知られた手法である。
【００９４】
一方、図５（Ｂ）に示すように、ＣＰＵ１１０をスリープモードなどの深い節電状態（最も省エネ効果が高い状態）に入れた場合には、データバスが動作することだけでは節電を解除する条件とはならないため、結果として、メインメモリ部１２０内のＤＲＡＭ１２２，１２４のセルフリフレッシュを解除せずにデータ書込みを実施してしまうことが起こり得る。この場合、データが破棄される現象や、キャッシュメモリ１３０がコヒーレンシ（一貫性）を維持するためのバススヌープ（Bus Snoop ）を行なわないために、キャッシュメモリ１３０内データとＤＲＡＭ１２２，１２４内のデータとの間に不整合が生じる現象が発生する。
【００９５】
この問題を回避する一手法として、図６（Ａ）に示すように、外部Ｉ／Ｏ装置とのインタフェースを司るＩ／Ｏ＿ＡＳＩＣ１５４を設けることが考えられる。これは、外部Ｉ／Ｏ装置からデータを受信した際、データ転送を開始する前に割込みを発生する機能は、汎用にＩ／Ｆ部品にはないため、ＡＳＩＣなどのカスタマイズ部品を設計する必要があるためである。なお、このような仕組みにする際には、たとえば、特開２００１−１８００８３号公報や特開２００１−３３７８３８号公報（特に前者）に記載の仕組みを利用するとよい。
【００９６】
図６（Ｂ）は、この場合の節電モード移行と復帰動作の処理手順の一例を示している。図示するように、通常モード時にはＣＰＵ１１０をフルパワーにしておき、節電モード設定がされると、ＣＰＵ１１０をスリープ状態とする節電状態に移行するとともに、Ｉ／Ｏ＿ＡＳＩＣ１５４は節電モードに移行する。
【００９７】
Ｉ／Ｏ＿ＡＳＩＣ１５４は、節電モード中に、ホスト装置５ａからデータを受信したらＣＰＵ１１０にＳＭＩ割込みを掛け、ＣＰＵ１１０をスリープモードからフルパワー状態に復帰させ、Ｉ／Ｏ＿ＡＳＩＣ１５４との間で節電復帰処理を行なう。
【００９８】
これにより、Ｉ／Ｏ＿ＡＳＩＣ１５４が、通常モードになると、メインメモリ部１２０（ＤＲＡＭ１２２，１２４）との間でのＤＭＡ（Direct Memory Access）転送を開始可能にする。これに応じてホスト装置５ａはＩ／Ｏ＿ＡＳＩＣ１５４を介してＩ／Ｏバス１５９にデータを転送することでＣＰＵ１１０へのデータ転送が可能になる。
【００９９】
しかしながら、パーソナルコンピュータのインターフェイスに見られる通り、新しいインターフェイスが短期間に出てくるために、Ｉ／Ｏ＿ＡＳＩＣ１５４などのカスタマイズ部品の作り替えが短期間に発生してしまうことがある。この場合、カスタマイズ部品の作り替えのための投資額が嵩むという問題がある。
【０１００】
一方で、投資額を抑制した場合には、Ｉ／Ｏ＿ＡＳＩＣ１５４を使用しなければよいのであるが、その場合、汎用のＩ／Ｆ部品を使用せざるを得ず、先に指摘した通り、汎用のＩ／Ｆ部品には、データを受信した際、データ転送を開始する前に割込みを発生する機能を持たない。このため、結果的には、汎用のＩ／Ｆ部品を使用した場合でも、ＣＰＵ１１０が節電状態にあるときに外部Ｉ／Ｏ装置を始めとする他のデバイスから確実にデータを受信できるように、あまり深い節電状態に入れることができない、という問題が生じる。
【０１０１】
この問題を回避するべく、本実施形態では、図３に示したように、節電制御部１６０を設けている。この節電制御部１６０は、ＣＰＵ１１０への割込信号ＮＳＭＩの受け渡しに介在して節電状態からの復帰に寄与するだけでなく、汎用Ｉ／Ｆ＿ＬＳＩ１５６を介して外部装置５からデータを受信した際の節電状態からの復帰に寄与する点に特徴を有している。
【０１０２】
特に、本実施形態の節電制御部１６０は、節電状態にあるときにはＩ／Ｏバス１５９へのバスクロックを停止するとともに、ＣＰＵ１１０へのクロック供給を停止させることで深い節電状態に設定するし、また汎用Ｉ／Ｆ＿ＬＳＩ１５６が外部装置５からデータを受信すると、ＣＰＵ１１０へのクロック供給を再開するなど節電状態からの復帰動作を開始し、完全に復帰したときに、Ｉ／Ｏバス１５９へバスクロックを供給することで、汎用Ｉ／Ｆ＿ＬＳＩ１５６を介し、データ処理装置３内部のバスデバイスと外部装置５との間でのデータ転送を許可する点に特徴を有する。以下、この点を中心に、節電制御部１６０の機能について詳細に説明する。
【０１０３】
＜節電制御部の機能説明＞
節電制御部１６０は、データ処理装置３が節電状態にあるときに、外部のＩ／Ｏデバイスがデータ転送要求を出した際、節電状態を完全に解除してからデータ転送を開始可能にすることで、汎用のＩ／Ｆ部品を用いても、深い節電状態から確実かつ安全に復帰し、かつその深い節電状態中にいきなりデータ転送されてしまうことを防止する。こうすることで、汎用部品を使用して、新しい機能を実現しつつカスタマイズ部品を使用した時と遜色ない低消費電力を実現しつつ、確実かつ安全な復帰を実現できるようにする。
【０１０４】
具体的には、汎用部品が有するＤＭＡ機能用の信号線を使用してデータ転送の開始タイミングを検出して節電の復帰を行なう。特に、先にも述べたが、節電状態にあるときにはＩ／Ｏバス１５９用のバスクロックを停止させることで、節電状態中にいきなりデータ転送されてしまうことを防止する。
【０１０５】
このため、内部コントローラ部１００には、入力データの処理などを行なうＣＰＵ１１０と、データの蓄積などを担うメインメモリ部１２０と、データを外部と通信する機能を有するＩ／Ｏインタフェース回路（Ｉ／Ｏデバイス）としてのインタフェース部１５０を構成要素として備える。
【０１０６】
そして、ＣＰＵ１１０やメインメモリ部１２０などに節電機能を設けるとともに、節電制御部１６０にてその節電状態を制御するようにし、節電中にインタフェース部１５０が外部機器からデータを受信すると、インタフェース部１５０とメインメモリ部１２０間あるいはインタフェース部１５０内の各Ｉ／Ｏデバイス間でデータ転送を行なう前に、節電制御部１６０は、データ転送に必要な箇所の節電状態を解除する。
【０１０７】
節電の解除は、典型的には、節電制御部１６０に設けられる節電解除トリガ検出機能への信号入力によって行なう。この節電解除トリガ検出機能への入力信号は、たとえばＩ／Ｏデバイスのデータ転送要求信号から作成する。また、節電制御部１６０は、節電中に汎用Ｉ／Ｆ＿ＬＳＩ１５６がデータ転送要求（本例では要求信号ＤＲＥＱ）を出した際、節電状態が完全に解除されたことの通知をＣＰＵ１１０から受けてから汎用Ｉ／Ｆ＿ＬＳＩ１５６にデータ転送処理を許可するようにする。
【０１０８】
一例としては、本実施形態では、先にも述べたが、汎用Ｉ／Ｆ＿ＬＳＩ１５６とＤＭＡＣ１４３との間の要求信号ＤＲＥＱを節電制御部１６０にて監視することで節電解除トリガ検出機能を実現するとともに、節電状態にあるときにはバスクロックを停止させておき、節電状態から完全に復帰したときにバスクロックを回復させることで、汎用Ｉ／Ｆ＿ＬＳＩ１５６によるＩ／Ｏバス１５９の使用を可能にする。節電解除通知に応じてバスクロックの供給を制御して、汎用Ｉ／Ｆ＿ＬＳＩ１５６にデータ転送を許諾するようにし、これにより、確実かつ安全な節電状態からの復帰を実現する。
【０１０９】
こうすることで、インタフェース部１５０としては、Ｉ／Ｏ＿ＡＳＩＣ１５４に限らず、通常の汎用のものとしての汎用Ｉ／Ｆ＿ＬＳＩ１５６を使用することで、新しい機能を実現できるようになる。それでいて、カスタマイズ部品としてのＩ／Ｏ＿ＡＳＩＣ１５４を使用した時と遜色ない低消費電力を実現するとともに、節電状態（深い節電状態でも問題ない）を確実に解除してから、データ転送を安全に開始することができるようになる。
【０１１０】
なお、図３に示した構成における内部コントローラ部１００は、図６に示したＩ／Ｏ＿ＡＳＩＣ１５４を備えていないが、このＩ／Ｏ＿ＡＳＩＣ１５４を設けることで、ＣＰＵ１１０からの節電移行指示に伴って節電状態へ移行し、データ転送要求を受け取ったときにＣＰＵ１１０に節電解除要求を行なうための割込要求（割込信号ＮＳＭＩ）を送り、ＣＰＵ１１０から節電解除通知を受け、これに応じてデータ転送を開始する機能も備えるようにすることができる。
【０１１１】
＜システムの状態と信号の相関関係＞
図７は、図３に示した構成におけるシステムの状態と信号の相関関係を示す図である。基本的には、システムが通常の状態においては、汎用Ｉ／Ｆ＿ＬＳＩ１５６がデータを受信していなければ、汎用Ｉ／Ｆ＿ＬＳＩ１５６およびバス１５８，１５９はともにアイドル（Idle）状態にある。なお、アイドル状態とは、全てのバスマスタがバスアクセスを要求しない期間である。また、汎用Ｉ／Ｆ＿ＬＳＩ１５６は、通常状態においてデータを受信した場合には、Ｉ／Ｏバス１５９の使用権の獲得要求および許可を得た後に、Ｉ／Ｏバス１５９を使用してデータ転送を行なう。次に、システムが節電移行処理に入ると、システム全体を節電状態に入れるための各種処理が行なわれる。
【０１１２】
たとえば、通常状態においてデータ転送がなければ、インタフェース部１５０およびバス１５８，１５９はともにアイドル（Idle）状態にある。また、このときには、パワーマネージメント制御部１６８は、Ｉ／Ｏバス１５９用のバスクロック（Ｉ／Ｏバスクロック）がインタフェース部１５０に供給されたままとなるように、クロック制御信号ＣＣＮＴ１，ＣＣＮＴ２をともにアサート（Ｈレベルに）しておく。これは、通常状態では、何時でも即時にデータ転送を開始できるようにするためである。
【０１１３】
＜節電状態への移行＞
この後、システム全体を節電モードへ移行させる場合には、割込信号ＮＳＭＩ（ＣＰＵ１１０を節電状態から復帰させるための割込み入力信号線）のみを有効にする、などシステム全体を節電状態に入れるための処理を行なう。
【０１１４】
この処理においては、先ずパワーマネージメント制御部１６８は、節電制御部１６０内に設けられた図示しないパワーセーブレジスタに節電モードへの移行を指示する値を書き込み、節電制御部１６０の状態をプリパワーセーブモード１に変更する（ｔ１０）。この後、クロック制御信号ＣＣＮＴ２をネゲート（Ｌレベルに）することで、ＡＮＤゲート４０４やバッファ４０６を介した汎用Ｉ／Ｆ＿ＬＳＩ１５６へのＩ／Ｏバスクロック供給を停止させることで汎用Ｉ／Ｆ＿ＬＳＩ１５６を通常状態から停止状態に移行させることで、汎用Ｉ／Ｆ＿ＬＳＩ１５６を介してＤＲＡＭ１２６などへのデータ転送が行なわれないようにする（ｔ１２）。
【０１１５】
また、パワーマネージメント制御部１６８は、Ｉ／Ｏバスクロックを停止させた後には、節電制御部１６０の状態をプリパワーセーブモード２に変更し（ｔ１４）、ＣＰＵ１１０を節電状態へと変更させる（ｔ１６）。この頃には、ＤＲＡＭ１２６は、保持データの消失を防止するべく、セルフリフレッシュモードに移行する。
【０１１６】
パワーマネージメント制御部１６８は、ＣＰＵ１１０が節電状態に入ったことをスリープ信号ＮＳＬＥＥＰを監視して検知すると、節電制御部１６０の状態をプリパワーセーブモード３に変更し（ｔ２０）、ＰＬＬ＿ＣＦＧ信号を制御してＰＬＬ回路１１２を動作モードからバイパスモードに移行させることで（ｔ２２）、ＣＰＵ１１０内部のＰＬＬ回路１１２の動作を停止させる（ｔ２４）。
【０１１７】
パワーマネージメント制御部１６８は、ＰＬＬ回路１１２の動作が停止する頃に節電制御部１６０の状態をパワーセーブモードに変更し（ｔ２６）、クロック制御信号ＣＣＮＴ１をネゲート（Ｌレベルに）することで、ＡＮＤゲート４０２を介したＰＬＬ回路１１２へのＣＰＵクロック供給やＣＰＵクロックに基づくＤＲＡＭ１２６へのメモリクロックなどを停止させる（ｔ２８）。これにより、データ処理装置３は、最も消費電力の少ない節電状態（深い節電状態）となる。
【０１１８】
＜節電状態からの復帰＞
この節電モード状態において、汎用Ｉ／Ｆ＿ＬＳＩ１５６がデータを受信すると、Ｉ／Ｏバス１５９の使用権を獲得するために要求信号をアサートするし、ＤＭＡＣ１４３は、この要求信号に対して予め設定されたアービトレーションアルゴリズムに従ってバス使用権を与える。
【０１１９】
たとえば、汎用Ｉ／Ｆ＿ＬＳＩ１５６が節電モード中にデータを受信すると（ｔ３０）、データ処理装置３は節電復帰処理を行なう。たとえば、送出データがあることを示すデータ有効信号ＤＶの出力レベルがＬレベルからＨレベルに変わり（ｔ３２）、パワーマネージメント制御部１６８は、このデータ有効信号ＤＶの変化をトリガにして、データ処理装置３の全体を節電状態から通常状態に復帰させる。
【０１２０】
パワーマネージメント制御部１６８は、節電復帰処理においては先ず、データ有効信号ＤＶがＬレベルからＨレベルに変わると（ｔ３２）、節電制御部１６０の状態をウェークアップモード１に変更し（ｔ３４）、ＣＰＵ１１０のＰＬＬ回路１１２を動作モード設定に変更すると同時にＣＰＵ１１０などへのクロック入力を再開する。
【０１２１】
たとえば、パワーマネージメント制御部１６８は、ＰＬＬ＿ＣＦＧ信号を制御してＰＬＬ回路１１２をバイパスモードから動作モードに移行させることで（ｔ３６）、ＣＰＵ１１０内部のＰＬＬ回路１１２の動作を開始させる。これにより、ＣＰＵ１１０は先ず、ＰＬＬ回路１１２がリロック動作を開始する（ｔ３８）。また、このとき同時に、パワーマネージメント制御部１６８は、クロック制御信号ＣＣＮＴ１をアサート（Ｈレベルに）することで、ＡＮＤゲート４０２を介したＰＬＬ回路１１２へのＣＰＵクロック供給やＣＰＵクロックに基づくＤＲＡＭ１２６へのメモリクロックなどの供給を再開させる（ｔ３８）。
【０１２２】
また、パワーマネージメント制御部１６８は、ＰＬＬ回路１１２の動作が安定するまで待った後、ＣＰＵ１１０に対してＳＭＩ割込みを発生させてＣＰＵ１１０を節電状態から復帰させる。ＣＰＵ１１０は、節電から復帰すると、スリープ信号ＮＳＬＥＥＰをネゲートする。これを受けて、パワーマネージメント制御部１６８は、Ｉ／Ｏバスクロックを汎用Ｉ／Ｆ＿ＬＳＩ１５６に供給することでＩ／Ｏバス１５９を通常状態に戻す。
【０１２３】
たとえば、ＰＬＬ回路１１２の動作が安定してＣＰＵ１１０がリロック動作状態からＰＬＬ回路１１２が動作した状態での節電状態に移行する頃に、パワーマネージメント制御部１６８は、節電制御部１６０の状態をウェークアップモード２に変更し（ｔ４０）、ＣＰＵ１１０に対して節電復帰を催すために、割込信号ＮＳＭＩをアサート（Ｌレベルに）する（ｔ４２）。
【０１２４】
ＣＰＵ１１０は、割込信号ＮＳＭＩがアサートされると（ｔ４４）、節電状態から通常状態に復帰し、スリープ信号ＮＳＬＥＥＰをネゲートすると同時に、節電復帰のためのスイッチ（ＳＷ；SWitch ）処理を行なう（ｔ４６）。このＣＰＵ１１０が節電状態から復帰するときには、ソフトウエアおよびハードウエアを通常状態に戻すための（つまり節電復帰のための）処理を行なう。本例でも、ＣＰＵ１１０へのＳＭＩ割込みを発生させてＳＭＩハンドラ内でソフトウエア的な節電復帰処理を行なう。またこの頃には、ＤＲＡＭ１２６は、保持データの消失を防止するためのセルフリフレッシュモードから通常状態に戻る。また、ＤＭＡＣ１４３は、汎用Ｉ／Ｆ＿ＬＳＩ１５６に、Ｉ／Ｏバス１５９の使用権を与えておく。
【０１２５】
ＳＭＩハンドラ内でのソフトウエア的な節電復帰処理が完了すると、パワーマネージメント制御部１６８は、節電制御部１６０の状態をウェークアップモード３に変更し（ｔ５０）、割込信号ＮＳＭＩをネゲート（Ｈレベルに）する（ｔ５２）。また、パワーマネージメント制御部１６８は、割込信号ＮＳＭＩをネゲートする（ｔ５２）のとほぼ同時に、クロック制御信号ＣＣＮＴ２をアサート（Ｈレベルに）する（ｔ５４）。
【０１２６】
これにより、ＡＮＤゲート４０４やバッファ４０６を介した汎用Ｉ／Ｆ＿ＬＳＩ１５６へのＩ／Ｏバスクロック供給が開始され、汎用Ｉ／Ｆ＿ＬＳＩ１５６が停止状態から通常状態に移行する。この結果、汎用Ｉ／Ｆ＿ＬＳＩ１５６を介してＤＲＡＭ１２６などへのデータ転送が開始され、データ処理装置３の全体が通常の動作状態へと復帰する（ｔ５８）。受信データがなくデータ有効信号ＤＶがＬレベルに遷移すると、汎用Ｉ／Ｏ＿ＬＳＩ１５６はデータ転送を終了させアイドル状態に移行する（ｔ５９）。
【０１２７】
このような処理手順を踏むことで、節電制御において、節電状態から完全に復帰した後にデータ転送を安全に開始するようにすることができ、システム状態が節電中に汎用Ｉ／Ｏ（本例では汎用Ｉ／Ｆ＿ＬＳＩ１５６）によりバス転送が行なわれることを防ぐことができる。結果として、システムを安全に節電状態に入れ、また必要に応じて安全に復帰させることができる。
【０１２８】
つまり、汎用Ｉ／Ｆ＿ＬＳＩ１５６を使用しながらＩ／Ｏバスクロックをオン／オフ制御することで、システムを非常に深い節電モードに移行していたとしても、システムが節電モードから完全に復帰してから通常のデータ転送を開始するため、従来懸念されていた不具合が発生しなくなる。
【０１２９】
加えて、汎用Ｉ／Ｆ＿ＬＳＩ１５６は、データ転送を開始する前のデータ受信から既にバスの使用権を獲得しているので、Ｉ／Ｏバスクロックが供給されると直ちにデータ転送を行なうことができるようになる。
【０１３０】
また、節電制御部１６０としては、データ有効信号ＤＶなどのデータ受信信号Ｓ３の監視やクロックのオン／オフ制御などの機能を新たに持てばよく、さほど大掛かりな回路構成を必要としないので、低価格で簡便な回路を追加することで、Ｉ／Ｏ＿ＡＳＩＣ１５４などのカスタマイズ部品を使用した時と同等に高い省エネ効果を得ることができる。
【０１３１】
＜状態遷移図と真理値表＞
図８は、図７に示した節電制御部１６０の動作状態の概要を説明する図である。ここで、図８（Ａ）は図７に示した動作を行なう節電制御部１６０の状態遷移図、図８（Ｂ）は節電制御動作時の入出力信号の真理値表である。
【０１３２】
電源投入状態およびシステムが通常の動作状態にあるときには通常動作シーケンスにある。次に、節電制御部１６０に対して節電移行設定が行なわれると、プリパワーセーブシーケンス１へと移行する。このとき節電制御部１６０は、クロック制御信号ＣＣＮＴ２をネゲート（Ｌレベルに）してＩ／Ｏバス１５９用のバスクロックＢｕｓ＿ＣＬＫを停止させてプリパワーセーブシーケンス２へと移行する。こうすることで、汎用Ｉ／Ｆ＿ＬＳＩ１５６は、実質的に節電モードに入り、Ｉ／Ｏバス１５９が停止状態となり、外部のＩ／Ｏ装置からデータを受信しても、それをＩ／Ｏバス１５９に転送することができない。
【０１３３】
次に、ＣＰＵ１１０がスリープ信号ＮＳＬＥＥＰをアサートすると、節電制御部１６０は、プリパワーセーブシーケンス３へと移行し、ＰＬＬ＿ＣＦＧ信号を制御してＰＬＬ回路１１２を動作モードからバイパスモードに移行させた後にパワーセーブシーケンスへと移行する。
【０１３４】
パワーセーブシーケンスへと移行すると、節電制御部１６０は、クロック制御信号ＣＣＮＴ１をネゲート（Ｌレベルに）してＣＰＵクロックの供給を停止させることで、データ処理装置３の全体を深い節電状態に移行させる。
【０１３５】
次に、節電制御部１６０は、汎用Ｉ／Ｆ＿ＬＳＩ１５６がデータを受信したためにデータ有効信号ＤＶがＬレベルからＨレベルに変わると、ウェークアップシーケンス１へと移行する。このシーケンスに進むと、節電制御部１６０は、クロック制御信号ＣＣＮＴ１をアサート（Ｈレベルに）してＣＰＵクロックの供給を再開させることでＣＰＵ１１０を復帰させ、ウェークアップシーケンス２へ移行する。また、ＰＬＬ＿ＣＦＧ信号を制御してＰＬＬ回路１１２をバイパスモードから動作モードに移行させることで、ＰＬＬをロックさせる。
【０１３６】
ウェークアップシーケンス２へ移行すると、節電制御部１６０は、割込信号ＮＳＭＩをアサートして、ＰＬＬ回路１１２を含むＣＰＵ１１０の全体を節電状態から復帰させる。これにより、ＣＰＵ１１０はスリープ信号ＮＳＬＥＥＰをネゲート（Ｈレベルに）し、これを受けて節電制御部１６０は、ウェークアップシーケンス３へと移行する。
【０１３７】
節電制御部１６０は、スリープ信号ＮＳＬＥＥＰのネゲートを検出すると、割込信号ＮＳＭＩをネゲート（Ｈレベルに）して通常動作シーケンスへと移行すると同時に、クロック制御信号ＣＣＮＴ２をアサート（Ｈレベルに）してプリパワーセーブ１から継続していたバスクロックＢｕｓ＿ＣＬＫの停止状態を解除する。その結果、データ処理装置３の全体が通常状態に戻る。汎用Ｉ／Ｆ＿ＬＳＩ１５６は、システムが節電状態から完全に復帰した後にデータ転送を行なうことができる。
【０１３８】
なお、図３に示した構成では、３つの汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃの内の何れか１つがデータを受信すると、全ての汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃに一斉にＩ／Ｏバスクロック（＝ＣＬＫ２）が供給される形態であるが、このことは必須ではない。
【０１３９】
たとえば、図４（Ｂ）に示すように、クロック切替部１６６内のバッファ４０６をＡＮＤゲート４０７ａ，４０７ｂ，４０７ｃを有するバッファ４０７に置き換えて、クロック信号ＣＬＫ２ａ，ＣＬＫ２ｂ，ＣＬＫ２ｃを独立にオン／オフ制御可能に構成してもよい。
【０１４０】
ＡＮＤゲート４０７ａ，４０７ｂ，４０７ｃは、各一方の入力端子にはＡＮＤゲート４０４の論理積出力であるクロック信号ＣＬＫ２が共通に入力され、他方の入力端子には対応する汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃからデータ受信信号ＤＶａ，ＤＶｂ，ＤＶｃが入力されるようにする。この場合、ＡＮＤゲート４０７ａ，４０７ｂ，４０７ｃは、ゼロディレイバッファとして機能するとともに、データ受信信号ＤＶａ，ＤＶｂ，ＤＶｃでクロック信号ＣＬＫ２ａ，ＣＬＫ２ｂ，ＣＬＫ２ｃの出力をオン／オフ制御するスイッチとしても機能する。
【０１４１】
このような構成とすれば、節電制御部１６０は、節電中はほぼ全てのデバイスへのクロック供給を停止させつつ、復帰処理時には、受信したデータの転送に関わるデバイスに対してのクロック供給のみを再開させることができる。
【０１４２】
すなわち、節電モード時には、３つの汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃの全てについてクロック信号ＣＬＫ２の供給を停止することで節電状態にするが、３つの汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃの内の何れか１つが節電中にデータを受信すると、対応する汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃの何れか１つのみに対応するクロック信号（ＣＬＫ２ａ，ＣＬＫ２ｂ，ＣＬＫ２ｃの何れか１つ）を供給することで、その対応するもののみを節電状態から復帰させるが、残りの動作不要なデバイスに関してはクロック供給を停止させたままにすることで節電状態に維持させることができ、効率のよい節電制御ができる。
【０１４３】
つまり、全てのバスデバイスへのクロック供給を停止させて節電状態にしつつ、節電中のデータ受信時には、バスサイクルに必要なバスデバイスのみについてクロック供給を再開することで節電状態から復帰させるが、バスサイクルに必要なバスデバイス以外についてはクロック停止状態を維持することにより効果的な節電が可能になる。
【０１４４】
バスに接続された全てのデバイスについてクロック信号を一斉に停止して節電状態に移行させるが、データ受信に必要な箇所は動作可能にしておくので、全てのデバイスについて一斉に節電状態に移行させても、従来のように装置の処理性能やレスポンスに影響を与えることがなく、また、節電中にデータを受信したら必要最低限のデバイスのみを起動すれることができ、無駄な電力消費を極力回避することができる。
【０１４５】
また、全てのバスマスタがバスアクセスを要求しない期間（アイドル期間）が少ない場合でも、個々のデバイスについて独立してクロックの供給と停止を制御することで節電を実施できるので、効果的な節電効果を期待することができる。
【０１４６】
＜データ処理システムの全体構成；ＰＣＩ利用の第２実施形態＞
図９は、本発明に係る画像形成装置を備えたデータ処理システムの第２実施形態の構成例を示す図である。この第２実施形態のデータ処理システム１は、データ処理装置３が、ＰＣＩバスを利用した構成としている。なお、図では、ビデオＩ／Ｆ部１５２を割愛して示している。
【０１４７】
図３に示した第１実施形態の構成では、汎用Ｉ／Ｆ＿ＬＳＩ１５６用のＩ／Ｏバスクロックが停止されている状態において、データ受信などをトリガとした送信データの有効性を示すデータ有効信号ＤＶが出ることを想定したが、たとえばＰＣＩバスインタフェースのようにＩ／Ｏバスクロックを停止してしまうと、データ有無を示すデータ受信信号Ｓ３を出力することができないものもある。図９に示す第２実施形態の構成は、この問題を解消する一構成例を示している。
【０１４８】
第１実施形態との大きな相違点として、データ処理装置３は、図示を割愛した基準クロック発生器からの基準クロックＣＬＫ０に基づき、所定周波数のクロック信号をＣＰＵ１１０や汎用Ｉ／Ｆ＿ＬＳＩ１５６などに供給する周波数変換部５００を新たに備えている。図示を割愛するが、周波数変換部５００内には、ＣＰＵクロック系統とＩ／Ｏバス系統とに関して、独立に周波数を変更可能な周波数変換部が設けられている。そして、たとえばクロック信号ＣＬＫ１がＣＰＵクロックとしてＣＰＵ１１０に供給され、またクロック信号ＣＬＫ２ａ，ＣＬＫ２ｂ，ＣＬＫ２ｃがＰＣＩクロック（＝Ｉ／Ｏバスクロック）として、対応する汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃにそれぞれ独立に供給される。
【０１４９】
節電制御部１６０は、ＯＲゲート１６７の入力側にインバータ１６９（図では参照子ａ，ｂ，ｃを付した３つ）を有しており、ＰＣＩ用の汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃからは、データ受信信号Ｓ３相当の要求信号ＮＲＥＱがインバータ１６９を介してＯＲゲート１６７に供給され、その論理和出力がクロック制御信号発生部１６５のデータ受信信号入力端子ＤＶに入力されるようになっている。
【０１５０】
第２節電制御部１６４は、クロック切替部１６６を備えていない。パワーマネージメント制御部１６８を構成する第２節電制御部１６４のクロック制御信号発生部１６５は、周波数変換部５００から出力されるクロック信号の周波数を制御するクロック制御信号ＣＣＮＴを制御出力端子ＣＮＴから周波数変換部５００の制御入力端子ＣＮＴに供給する。
【０１５１】
バス調停制御部１４０内には、ＤＭＡＣの機能を持つバスアービタ１４２を設けている。インタフェース部１５０内の各Ｉ／Ｆ部１５２，１５６や節電制御部１６０内の各節電制御部１６２，１６４などの各ＰＣＩデバイスは、ＰＣＩ規格のＩ／Ｏバス１５９と接続されている。
【０１５２】
バスアービタ１４２と、インタフェース部１５０内の各Ｉ／Ｆ部１５２，１５６や第１節電制御部１６２などの各ＰＣＩデバイスとの間では、要求信号ＮＲＥＱと許可信号ＮＧＮＴの受け渡しがある。たとえば、バス調停制御部１４０のバスアービタ１４２は、各ＰＣＩデバイスからの要求信号ＮＲＥＱを対応するＮＲＥＱ入力端子（図中に０〜３の参照子を付して示す）で受け、対応するＮＧＮＴ出力端子（図中に０〜３の参照子を付して示す）から、唯一のデバイスにのみ許可信号ＮＧＮＴを与える。ＰＣＩデバイスは許可信号ＮＧＮＴを受け取った場合にのみＩ／Ｏバス１５９の使用権を得、Ｉ／Ｏバス１５９を使用することが可能となる。なお、ＮＲＥＱ０，ＮＧＮＴ０は第１節電制御部１６２用であり、ＮＲＥＱ１，ＮＧＮＴ１は汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ用であり、ＮＲＥＱ２，ＮＧＮＴ２は汎用Ｉ／Ｆ＿ＬＳＩ１５６ｂ用であり、ＮＲＥＱ３，ＮＧＮＴ３は汎用Ｉ／Ｆ＿ＬＳＩ１５６ｃ用である。
【０１５３】
なお本実施形態においては、第１実施形態とは異なり、節電モード移行中のバスパーキングを汎用Ｉ／Ｆ＿ＬＳＩ１５６以外にする必要がある。これは、本実施形態では、節電状態でも外部クロックＯＵＴ＿ＣＬＫ（および内部クロックＩＮＴ＿ＣＬＫの何れも）を停止させずに、低周波数のクロックを供給するので、外部Ｉ／Ｏ装置用のインタフェース部である汎用Ｉ／Ｆ＿ＬＳＩ１５６がパーキングデバイスである場合には、既にＰＣＩバスが獲得できているために要求信号ＮＲＥＱを出力することなくデータ転送をしてもよいことがＰＣＩの仕様で唄われており、結果として不具合を起こしてしまう問題を回避するためである。
【０１５４】
＜ＰＣＩデバイスにおける節電制御部の機能；作用の概要＞
図１０は、図９に示した第２実施形態の構成におけるシステムの状態と信号の相関関係を示す図である。基本的には、システムが通常の状態においては、汎用Ｉ／Ｆ＿ＬＳＩ１５６がデータを受信した場合には、要求信号ＮＲＥＱおよび許可信号ＮＧＮＴを用いてＩ／Ｏバス１５９の使用権の獲得要求および許可を得た後に、Ｉ／Ｏバス１５９を使用してデータ転送を行なう。次に、システムが節電移行処理に入ると、システム全体を節電状態に入れるための各種処理が行なわれる。
【０１５５】
一連の処理の中には、Ｉ／Ｏバス１５９上に接続された各種デバイスへの設定も含まれ得る。節電移行処理の最後に、節電制御部１６０に対して節電状態への移行設定を行なう。節電制御部１６０は節電状態への移行設定が行なわれると、Ｉ／Ｏバス１５９の使用権を獲得するが、転送データ有効応答（データ有効信号ＮＴＲＤＹ＝Ｌ）を返さないでＩ／Ｏバス１５９を使用状態に維持する。これと並行して、スイッチ処理によって、ＣＰＵ１１０を節電状態へ移行させる。
【０１５６】
たとえば、通常状態においてデータ転送がなければ、インタフェース部１５０の汎用Ｉ／Ｆ＿ＬＳＩ１５６やメモリバス１５８およびＩ／Ｏバス１５９はともにアイドル（Idle）状態にある。
【０１５７】
＜節電状態への移行＞
この後、システム全体を節電モードへ移行させる場合には、割込信号ＮＳＭＩ（ＣＰＵ１１０を節電状態から復帰させるための割込み入力信号線）のみを有効にするなどシステム全体を節電状態に入れるための処理を行なう。
【０１５８】
この処理において、ＣＰＵ１１０は先ず、要求信号ＮＣＰＵＲＥＱをアサート（Ｌレベルに）してバス要求をバスアービタ１４２に出す。バスアービタ１４２は、要求信号ＮＣＰＵＲＥＱを受け取ると、許可信号ＮＣＰＵＧＮＴをアサート（Ｌレベルに）する。このとき、Ｉ／Ｏバス１５９が他のデバイスに使用されないように、ＰＣＩバス転送禁止処理を行なう（ｔ６０）。
【０１５９】
この後、ＣＰＵ１１０は、フレーム信号ＮＦＲＡＭＥを所定期間だけアサート（Ｌレベルに）して（ｔ６２）、節電制御部１６０にデータ転送を行なって、第１節電制御部１６２内に設けられた図示しないパワーセーブレジスタに節電モードへの移行を指示する値を書き込み、節電制御部１６０やＣＰＵ１１０自体を節電状態に移行させる（ｔ６４）。たとえば、ＣＰＵ１１０は先ず、節電移行処理に入ると、スリープ信号ＮＳＬＥＥＰをアサート（Ｌレベルに）する。
【０１６０】
このとき、汎用Ｉ／Ｆ＿ＬＳＩ１５６以外のバスデバイス（バス構成要素）は、汎用Ｉ／Ｆ＿ＬＳＩ１５６がＩ／Ｏバス１５９を使用できないように設定する。たとえばＣＰＵ１１０もしくはパワーマネージメント制御部１６８は、デバイスの存在応答（デバイス選択信号ＮＤＥＶＳＥＬ＝Ｌ）やＩ／Ｏバス１５９の使用を開始する開始信号ＮＩＲＤＹ（＝Ｌレベル）を返すが（ｔ６８）、転送データ有効応答（データ有効信号ＮＴＲＤＹ＝Ｌ）を行なわないことで、Ｉ／Ｏバス１５９の状態をビジー状態に維持する。
【０１６１】
つまり、節電モード期間中は、ＣＰＵ１１０もしくは節電制御部１６０は、Ｉ／Ｏバス１５９を獲得したままデータ有効信号ＮＴＲＤＹを返さない状態を保持することにより、バスサイクルにウェイトを掛け続けているのと実質的に同じ動作を行なう。こうすることで、汎用Ｉ／Ｆ＿ＬＳＩ１５６にとっては、Ｉ／Ｏバス１５９が実質的に停止状態となり、外部のＩ／Ｏ装置からデータを受信しても、それをＩ／Ｏバス１５９に転送することができない。
【０１６２】
また、節電制御部１６０は、ＣＰＵ１１０が節電モードに入ったら、周波数変換部５００からの出力周波数を低下させる処理を行なう。たとえば、パワーマネージメント制御部１６８は、ＣＰＵ１１０が節電以降処理に入ったことをスリープ信号ＮＳＬＥＥＰを監視して検知すると、クロック制御信号ＣＣＮＴを制御することで、周波数変換部５００に対して、通常時より低いクロック信号ＣＬＫ１，ＣＬＫ２を出力させる（ｔ６６）。周波数の変更が終了して、始めて節電移行処理が完了し、データ処理装置３の全体は節電状態へと移行する（ｔ６９）。
【０１６３】
この状態では、汎用Ｉ／Ｆ＿ＬＳＩ１５６に供給されるクロック信号ＣＬＫ２（ＰＣＩバスクロック）が通常時より低周波数になるので、汎用Ｉ／Ｆ＿ＬＳＩ１５６は、実質的に節電モードに入る。
【０１６４】
なお、ＣＰＵ１１０内のＰＬＬ回路１１２は入力周波数（クロック信号ＣＬＫ１の周波数）に応じたロックレンジを持ち、ＰＬＬ設定によってこれらのレンジが切り替え可能となっている場合がある。したがって、周波数変換部５００によるクロック信号ＣＬＫ１の周波数変更処理時に、ロックレンジを跨ってクロック信号ＣＬＫ１の周波数を変更する場合には、パワーマネージメント制御部１６８は、ＰＬＬ＿ＣＦＧ信号をＰＬＬ回路１１２に供給することで、周波数変更の途中でＰＬＬ設定を変更する。
【０１６５】
なお、汎用Ｉ／Ｆ＿ＬＳＩ１５６用のＩ／ＯバスクロックであるＰＣＩバスクロック（本例ではクロック信号ＣＬＫ２）のみを通常時よりも低い周波数にさせ、ＣＰＵクロック（本例ではクロック信号ＣＬＫ１）は第１実施形態と同様に停止させることで、深い節電状態にするようにしてもよい。
【０１６６】
＜節電状態からの復帰＞
節電モード状態においては、ＣＰＵクロックやＰＣＩクロックの周波数が通常時よりは低下されているので、ＣＰＵや汎用Ｉ／Ｆ＿ＬＳＩ１５６における消費電力を削減することができる。また、ＰＣＩクロックの周波数が通常時よりは低下されているものの、汎用Ｉ／Ｆ＿ＬＳＩ１５６は動作が可能であり、節電モード状態中にデータを外部機器から受信すると、ＰＣＩバスを獲得するための要求信号ＮＲＥＱをアサートすることができる。そこで、節電状態において汎用Ｉ／Ｆ＿ＬＳＩ１５６がデータを受信することで発せられる要求信号ＮＲＥＱをトリガとして、バスアービタ１４２は、予め設定されたアービトレーションアルゴリズムに従ってバス使用権を与える。
【０１６７】
たとえば、インタフェース部１５０内の何れかの汎用Ｉ／Ｆ＿ＬＳＩ１５６が節電モード中にデータを受信すると（ｔ７０）、その汎用Ｉ／Ｆ＿ＬＳＩ１５６は、通常状態と同様に、受信データを転送するために、要求信号ＮＲＥＱ１をアサート（Ｌレベルに）してバス要求をバスアービタ１４２に出す（ｔ７２）。バスアービタ１４２は、要求信号ＮＲＥＱを受け取ると、許可信号ＮＧＮＴをアサート（Ｌレベルに）する（ｔ７８）。しかしながら、このときデータ有効信号ＮＴＲＤＹがＨレベルにありＩ／Ｏバス１５９はビジー状態にあるため、汎用Ｉ／Ｆ＿ＬＳＩ１５６は、バスアービタ１４２から許可信号ＮＧＮＴを受け取っても、データ転送を開始できないので、Ｉ／Ｏバス１５９のビジー状態が解除されるのを待つこととなる。
【０１６８】
なお、本実施形態では、節電中にデータを受信した汎用Ｉ／Ｆ＿ＬＳＩ１５６が要求信号ＮＲＥＱ１をアサートする動作（ｔ７２）や、それを受けてバスアービタ１４２が許可信号ＮＧＮＴをアサートする動作（ｔ７８）は、ＣＰＵ１１０に供給されるバスクロックであるＰＣＩクロックＰＣＩ＿ＣＬＫ（＝ＣＬＫ１，ＣＬＫ２）に同期して行なわれ、休眠状態でもクロック同期型バス回路における基本的な動作を維持することができる点を特徴としている。
【０１６９】
一方、節電制御部１６０は、汎用Ｉ／Ｆ＿ＬＳＩ１５６が要求信号ＮＲＥＱをアサートしたことを検出すると、クロック制御信号ＣＣＮＴを制御することで、周波数変換部５００に対して周波数を元に戻す処理を行なう。たとえば、パワーマネージメント制御部１６８は、汎用Ｉ／Ｆ＿ＬＳＩ１５６がデータを受信したことを要求信号ＮＲＥＱを監視して検知すると、クロック制御信号ＣＣＮＴを制御することで、周波数変換部５００に対して、ＰＣＩクロックＰＣＩ＿ＣＬＫ（＝クロック信号ＣＬＫ１，ＣＬＫ２）の周波数を元に戻させる（ｔ７４，ｔ７６）。
【０１７０】
なおこのとき、周波数を低下させるときと同様に、周波数変換部５００によるクロック信号ＣＬＫ１の周波数変更処理時に、ロックレンジを跨ってクロック信号ＣＬＫ１の周波数を変更する場合には、パワーマネージメント制御部１６８は、ＰＬＬ＿ＣＦＧ信号をＰＬＬ回路１１２に供給することで、周波数変更の途中でＰＬＬ設定を適宜変更する。
【０１７１】
周波数変換部５００による周波数変更処理が完了し、ＰＬＬ回路１１２が安定する頃に、パワーマネージメント制御部１６８は、ＣＰＵ１１０に対してＳＭＩ割込みを発生させ、ＣＰＵ１１０を節電状態から復帰させる（ｔ８０）。ＣＰＵ１１０は、節電から復帰すると、スリープ信号ＮＳＬＥＥＰをネゲートする。
【０１７２】
ＣＰＵ１１０が節電状態から復帰したら、Ｉ／Ｏバス１５９の転送を許可することで、データ処理装置３を通常状態へと復帰させることが可能となる。たとえば、ＣＰＵ１１０や節電制御部１６０は、節電移行処理時から継続していたデバイス選択信号ＮＤＥＶＳＥＬや開始信号ＮＩＲＤＹのＬレベルをともにＨレベルにするとともに、データ有効信号ＮＴＲＤＹ＝Ｌを所定期間だけ返すことで、Ｉ／Ｏバス１５９の転送サイクルを正常に終了させる（ｔ８２〜ｔ８４）。これにより、Ｉ／Ｏバス１５９は、バスビジー状態が解除され、アイドル状態となる。
【０１７３】
このとき、汎用Ｉ／Ｆ＿ＬＳＩ１５６は、バスアービタ１４２から転送許可（許可信号ＮＧＮＴ）を既に得ているので、データ転送を直ぐに開始することができる。よって、汎用Ｉ／Ｆ＿ＬＳＩ１５６は、Ｉ／Ｏバス１５９のバスビジー状態が解除された後には、Ｉ／Ｏバス１５９の使用権を獲得するフレーム信号ＮＦＲＡＭＥをアサート（Ｌレベルに）してＩ／Ｏバス１５９が他のデバイスに使用されないようにしてから（ｔ９２）、データ転送を開始する（ｔ９３）。
【０１７４】
このとき（ｔ９２〜ｔ９５）、汎用Ｉ／Ｆ＿ＬＳＩ１５６は、バスアービタ１４２に対して、デバイスの存在応答（デバイス選択信号ＮＤＥＶＳＥＬ＝Ｌ）や、Ｉ／Ｏバス１５９の使用を開始する開始信号ＮＩＲＤＹ（＝Ｌレベル）および転送データ有効応答（データ有効信号ＮＴＲＤＹ＝Ｌ）を規定時間内に返して、バスサイクルにウェイトを掛ける。データ有効信号ＮＴＲＤＹがネゲート（Ｈレベルに）なると、Ｉ／Ｏバス１５９の状態はアイドル状態になる。
【０１７５】
このような処理手順を踏むことで、ＰＣＩデバイスにおける節電制御において、ＣＰＵクロックやＩ／Ｏバスクロックを停止させずに通常時よりも低下させることで、バス性能の低下を招くことなくデータ転送を実現することができる。加えて、節電状態から完全に復帰した後にデータ転送を開始するようにすることができ、システム状態が節電中に汎用Ｉ／Ｏ（本例では汎用Ｉ／Ｆ＿ＬＳＩ１５６）によりＰＣＩバス転送が行なわれることを防ぐことができる。
【０１７６】
つまり、節電状態におけるＩ／Ｏバス１５９に対するバス調停の結果として、節電状態ではバス利用権が汎用Ｉ／Ｆ＿ＬＳＩ１５６以外のＰＣＩデバイス（特に本例ではラストデバイスである節電制御部１６０）に与えられ、節電状態から完全に復帰したときに汎用Ｉ／Ｆ＿ＬＳＩ１５６に与えられることで、節電状態から完全に復帰したときに初めてデータ転送が開始される。
【０１７７】
このように、節電中は少なくともＰＣＩクロックを通常時よりも低い周波数にすることで、ＰＣＩ用の汎用Ｉ／Ｆ＿ＬＳＩ１５６を使用しながら、システムを節電モードに移行していたとしても、システムが節電モードから復帰してから通常のＰＣＩデータ転送を開始するため、従来懸念されていた不具合が発生しなくなる。
【０１７８】
また、節電制御部１６０や周波数変換部５００としては、要求信号ＮＲＥＱなどのデータ受信信号Ｓ３の監視やＰＣＩクロック周波数の制御などの機能を新たに持てばよく、さほど大掛かりな回路構成を必要としないので、低価格で簡便な回路を追加することで、Ｉ／Ｏ＿ＡＳＩＣ１５４などのカスタマイズ部品を使用した時と同等に高い省エネ効果を得ることができる。
【０１７９】
なお、図９（Ａ）に示した構成では、３つの汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃの内の何れか１つがデータを受信すると、全ての汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃについて、一斉にＰＣＩクロック（＝ＣＬＫ２）が通常の周波数に戻る形態であるが、このことは必須ではない。
【０１８０】
たとえば、図９（Ｂ）に示すように、周波数変換部５００内に、独立に周波数を変更可能な周波数変換部５０２ａ，５０２ｂ，５０２ｃ，５０２ｄを設ける。周波数変換部５０２ａ，５０２ｂ，５０２ｃはＩ／Ｏバス系統用で、周波数変換部５０２ｄはＣＰＵクロック系統用である。
【０１８１】
また、周波数変換部５００内には、周波数変換部５０２ａ，５０２ｂ，５０２ｃを独立に周波数変更可能にするべく、汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃからの要求信号ＮＲＥＱａ，ＮＲＥＱｂ，ＮＲＥＱｃに基づき周波数を変更すべきデバイスを特定する判定部５０６と、ＡＮＤゲート５０７ａ，５０７ｂ，５０７ｃを有するＡＮＤゲート部５０７を設ける。ＡＮＤゲート５０７ａ，５０７ｂ，５０７ｃの各論理積出力は、対応する周波数変換部５０２ａ，５０２ｂ，５０２ｃの制御端子ＣＮＴに入力される。
【０１８２】
ＡＮＤゲート５０７ａ，５０７ｂ，５０７ｃは、各一方の入力端子には節電制御部１６０からのクロック制御信号ＣＣＮＴが共通に入力され、他方の入力端子には判定部５０６からの対応するデータ受信信号ＤＥＴａ，ＤＥＴｂ，ＤＥＴｃが入力されるようにする。
【０１８３】
判定部５０６は、要求信号ＮＲＥＱａ，ＮＲＥＱｂ，ＮＲＥＱｃを監視することで、汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃの何れがデータを受信したかを判定し、データ受信信号ＤＥＴａ，ＤＥＴｂ，ＤＥＴｃのうち、対応するもののみをＨレベルにする。この場合、ＡＮＤゲート５０７ａ，５０７ｂ，５０７ｃは、要求信号ＮＲＥＱａ，ＮＲＥＱｂ，ＮＲＥＱｃに基づきクロック信号ＣＬＫ２ａ，ＣＬＫ２ｂ，ＣＬＫ２ｃの周波数を変化させるスイッチとして機能する。
【０１８４】
ＡＮＤゲート５０７ａ，５０７ｂ，５０７ｃの各論理積出力は、対応する周波数変換部５０２ａ，５０２ｂ，５０２ｃの制御入力端子に入力される。各周波数変換部５０２ａ，５０２ｂ，５０２ｃは、制御入力端子がＨレベルのときには通常周波数のＣＬＫ２ａ，ＣＬＫ２ｂ，ＣＬＫ２ｃを出力するが、制御入力端子がＬレベルのときにはクロック信号ＣＬＫ２ａ，ＣＬＫ２ｂ，ＣＬＫ２ｃの周波数を通常時よりも低くする。
【０１８５】
なお、節電制御部１６０からのクロック制御信号ＣＣＮＴが周波数変換部５０２ｄの制御入力端子に入力される。周波数変換部５０２ｄは、制御入力端子がＨレベルのときには通常周波数のＣＬＫ１を出力するが、制御入力端子がＬレベルのときにはクロック信号ＣＬＫ１の周波数を通常時よりも低くする。
【０１８６】
このような構成とすれば、節電制御部１６０は、節電中はほぼ全てのデバイスへ供給されるクロックの周波数を低くさせ、復帰処理時には、受信したデータの転送に関わるデバイスに対してのみ、クロックの周波数を元に戻させることができる。
【０１８７】
すなわち、節電モード時には、３つの汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃの全てについてクロック信号ＣＬＫ２を低周波数にすることで節電状態にするが、３つの汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃの内の何れか１つが節電中にデータを受信すると、対応する汎用Ｉ／Ｆ＿ＬＳＩ１５６ａ，１５６ｂ，１５６ｃのみに関して対応するＰＣＩクロック（ＣＬＫ２ａ，ＣＬＫ２ｂ，ＣＬＫ２ｃの何れか１つ）の周波数を通常の周波数に戻すことで、その対応するもののみを節電状態から復帰させ、残りを低周波数で動作する節電状態に維持させることができ、効率のよい節電制御ができる。
【０１８８】
つまり、全てのバスデバイスへのクロック信号を低周波数にして節電状態にしつつ、節電中のデータ受信時には、バスサイクルに必要なバスデバイスのみについてクロック周波数を通常の周波数に戻すことで節電状態から復帰させるが、バスサイクルに必要なバスデバイス以外についてはクロック周波数を低周波数に維持することにより効果的な節電が可能になる。
【０１８９】
バスに接続された全てのデバイスについてクロック信号を一斉に低周波数にして節電状態に移行させるので、データ受信に必要な箇所は低周波数で動作可能であり、全てのデバイスについて一斉に節電状態に移行させても、従来のように装置の処理性能やレスポンスに影響を与えることがなく、また、節電中にデータを受信したら必要最低限のデバイスのみを通常の周波数で動作するようにすればよく、無駄な電力消費を極力回避することができる。
【０１９０】
また、全てのバスマスタがバスアクセスを要求しない期間（アイドル期間）が少ない場合でも、個々のデバイスについて独立してクロック周波数の高低を制御することで節電を実施できるので、効果的な節電効果を期待することができる。
【０１９１】
以上説明したように、節電制御（節電状態への移行から通常状態への復帰までを含む）における外部バス４０ａの状態をクロック供給により制御する具体的な手法について、上記第１実施形態では外部バス４０ａと内部バス４０ｂを段階的に停止させて節電状態へ移行させ、節電状態中にデータを受信したら段階的に復帰させる手法を説明し、また、上記第２実施形態では、外部バス４０ａと内部バス４０ｂを低周波数にして節電状態へ移行させ、節電状態中にデータを受信したら段階的に復帰させる手法を説明した。
【０１９２】
しかしながら、節電制御（節電状態への移行から通常状態への復帰までを含む）における外部バス４０ａの状態をクロック供給により制御する手法は、上述した２つの実施形態のものに限らない。
【０１９３】
たとえば、第１実施形態に対する変形例として、外部バス４０ａについては常時クロックを供給し、内部バス４０ｂについてのみ段階的に停止させて節電状態へ移行させ、節電状態中にデータを受信したら段階的に復帰させる手法を採ることもできる。また、第２実施形態に対する変形例として、先にも述べたが、外部バス４０ａについては低周波数にして節電状態へ移行させ節電状態中にデータを受信したら段階的に復帰させるが、内部バス４０ｂについては、段階的に停止させて深い節電状態へ移行させ、節電状態中にデータを受信したら段階的に復帰させる手法を採ることもできる。
【０１９４】
本実施形態においては、図１を用いて説明した基本事項から分かるように、データ処理装置３に備えられるバス４０との間のデータインタフェース部（図１のＩ／Ｏインタフェース部３５や第１および第２実施形態の汎用Ｉ／Ｆ＿ＬＳＩ１５６）が節電中に他のデバイス（典型例としては外部のＩ／Ｏ装置）からデータを受信したときに、そのことを示すデータ受信信号Ｓ３を出力可能な状態で、できるだけデータ処理装置３の消費電力を少なくするようにクロック信号の供給を制御すればよい。
【０１９５】
換言すれば、ＣＰＵ１１０や汎用Ｉ／Ｆ＿ＬＳＩ１５６などのバスデバイスを節電状態にする際にデータ受信を判定できるようにしておけばよく、その限りにおいて、ＣＰＵ１１０や汎用Ｉ／Ｆ＿ＬＳＩ１５６などのバスデバイスへのクロック供給を停止させることで、装置のほぼ全体の機能を休眠状態に移行させて消費電力の低減を図ればよい。また、節電中にデータを受信したら停止させていた部分を復帰させることで、装置の処理性能やレスポンスに影響を与えることがないようにすればよい。
【０１９６】
また、全てのバスデバイスを一斉に節電状態に移行させるが、復帰の際には、全てのバスデバイスを一斉に節電状態から復帰させることは必須ではなく、データ転送に必要なデバイスのみを起動すればよい。もちろん、データ転送に必要なデバイスのみを起動させておけばよいので、全てのバスデバイスを一斉に節電状態に移行させることも必須ではなく、装置の使用中に必要に応じて節電状態への移行と復帰とを制御すればよい。このように、各バスデバイスについて、装置の使用に必要な箇所だけを起動させるようにすることで、無駄な電力消費を効果的に回避することができる。
【０１９７】
特開平１１−３２８１１１号公報に記載の仕組みとの対応では、バスサイクルに必要なバスデバイス以外のクロックを制御することにより効果的な節電が可能であるということにおいては類似する点があるが、クロック制御は、オン／オフ制御だけでなく周波数制御も含む点で異なる。加えて、バスデバイスのデータ転送に必要な箇所を動作させておくことで、バスに接続された全てのデバイスを一斉に節電モードに移行させておいても、データ受信を契機として装置を安全に復帰させることができ、データ転送に不都合が生じないようにする点においては決定的に異なる。
【０１９８】
さらに付言すれば、特開平１１−３２８１１１号公報に記載の仕組みでは、各バスデバイス（バスユニット）に独立してバスクロックの供給と停止を可能にすることが必須であるが、本実施形態の仕組みでは、そのことは必須ではない。
【０１９９】
また、特開平１１−３２８１１１号公報に記載の仕組みでは、バスサイクルに必要な少なくとも２つのデバイスに関しては節電状態にすることができず、節電状態にすることができるのはバスサイクルに関係のないデバイスに限られ、全てのデバイスを一斉に節電状態にすることを回避している。これにより、バスおよびバスに接続されたデバイスを一斉に節電モードに移行させた場合に生じ得る処理性能やレスポンスの低下を防止している。一例として、バスマスタとなる確率が高いデバイスに常時クロックを供給しておく。
【０２００】
これに対して、本実施形態の仕組みでは、データ受信に必要な箇所を所定の仕組み（バスクロックの供給に限定されない）によって動作させておくようにしたので、バスおよびバスに接続されたデバイスを一斉に節電モードに移行させた場合でも、不都合なく節電状態から復帰させてデータ転送を開始することができるので、全てのデバイスを一斉に節電状態にすることを回避することは必須ではなく、むしろ、全てのデバイスを同時に節電状態にすることで、消費電力の一層の低減を図ることができる。
【０２０１】
次に、バスクロック制御の手法について、詳細に説明する。なお、以下では、節電状態への移行から通常状態への復帰までを含む節電制御において、インタフェース部が節電中に他のデバイスからデータを受信したことを判定でき、その判定結果（データ受信信号Ｓ３）を復帰制御機能部（節電制御部３６や節電制御部１６０やＣＰＵ１１０など）にインタフェース部の外部に出力可能にする点と、外部バス４０ａや内部バス４０ｂへのクロック供給を制御することで低消費電力化を図る点について、特にデータインタフェース部（図１のＩ／Ｏインタフェース部３５や第１および第２実施形態の汎用Ｉ／Ｆ＿ＬＳＩ１５６）に着目して詳細に説明する。
【０２０２】
＜バスクロック制御の詳細；第１例＞
図１１は、上記実施形態において使用される汎用Ｉ／Ｆ＿ＬＳＩ１５６の第１の構成例と、それを制御するデータ処理装置３の第１例の仕組みを説明する図である。この第１の構成例は、汎用Ｉ／Ｆ＿ＬＳＩ１５６が、インタフェースクロックＩ／Ｆ＿ＣＬＫとバスクロックＢｕｓ＿ＣＬＫの供給を受け、これら２つのクロックＣＬＫを使用して、汎用Ｉ／Ｆ＿ＬＳＩ１５６の全体が動作する場合に対処する点に特徴を有する。汎用Ｉ／Ｆ＿ＬＳＩ１５６にバスクロックＢｕｓ＿ＣＬＫの供給がなくても節電中に他のデバイスからデータを受信したことを示すデータ受信信号を出力可能にするべくインタフェースクロックＩ／Ｆ＿ＣＬＫを使用するという点においては、特に、第１実施形態への適用に好適なものである。
【０２０３】
具体的には、第１の構成例の汎用Ｉ／Ｆ＿ＬＳＩ１５６は、入力されるインタフェースクロックＩ／Ｆ＿ＣＬＫに同期して動作する外部Ｉ／Ｆ処理部６１０と、外部Ｉ／Ｆ処理部６１０から出力されたデータを先入れ先出し方式（First In First Out）にて出力するＦＩＦＯ部６１２とを備えている。ＦＩＦＯ部６１２は、詳細にはＦＩＦＯ６１２ａそのものとエンプティフラグ出力部６１２ｂとで構成されている。ＦＩＦＯ部６１２のエンプティフラグ出力部６１２ｂは、ＦＩＦＯ６１２ａにデータ入力があるときにはデータ有効信号ＤＶとして使用されるエンプティフラグＮＥＦ（Empty Flag）をＨレベルにする。
【０２０４】
また汎用Ｉ／Ｆ＿ＬＳＩ１５６は、ＦＩＦＯ６１２ａから出力されたデータをバスクロックＢｕｓ＿ＣＬＫに同期してＩ／Ｏバス６１９（バス４０やＩ／Ｏバス１５９に相当）に向けて出力するバスＩ／Ｆ部６１４を備えている。つまり、Ｉ／Ｏバス６１９は、汎用Ｉ／Ｆ＿ＬＳＩ１５６内のバスＩ／Ｆ部６１４がバスクロックＢｕｓ＿ＣＬＫ入力に同期して動作するクロック同期型の構成となっている。
【０２０５】
このような構成の汎用Ｉ／Ｏ＿ＬＳＩ１５６は、データを受信するとともにデータ受信信号Ｓ３（＝データ有効信号ＤＶ）を他のデバイス（節電制御部１６０やＤＭＡＣ１４３，バスアービタ１４２など）に通知する受信機能部が外部Ｉ／Ｆ処理部６１０とＦＩＦＯ部６１２とで構成され、受信したデータをＩ／Ｏバス６１９を使用して受信先のデバイス（たとえばＤＲＡＭ１２６）に送信する送信機能部がバスＩ／Ｆ部６１４で構成される。そして、受信機能部と送信機能部とが、それぞれ異なるクロックで動作可能に構成されている。節電制御部１６０は、送信機能部であるバスＩ／Ｆ部６１４へのクロック供給を停止させることで汎用Ｉ／Ｏ＿ＬＳＩ１５６を節電状態にするとともに、受信機能部である外部Ｉ／Ｆ処理部６１０とＦＩＦＯ部６１２をインタフェースクロックＩ／Ｆ＿ＣＬＫに基づき常時動作可能にさせておく。
【０２０６】
そして、図示しない外部のＩ／Ｏ装置からデータが入力されると、外部Ｉ／Ｆ処理部６１０は、インタフェースクロックＩ／Ｆ＿ＣＬＫを使用して（たとえば同期して）、所定のデータ受信処理を行ない、処理済みのデータをＦＩＦＯ部６１２に渡す。
【０２０７】
ＦＩＦＯ部６１２は、ＦＩＦＯ６１２ａ内にデータがないときにはエンプティフラグＮＥＦがＬレベルとなっているが、何らかのデータが外部Ｉ／Ｆ処理部６１０から供給されてＦＩＦＯ６１２ａにある間はエンプティフラグＮＥＦがＨレベルとなる。エンプティフラグ出力部６１２ｂは、このエンプティフラグＮＥＦをデータ有効信号ＤＶとして外部に出す。
【０２０８】
これにより、汎用Ｉ／Ｆ＿ＬＳＩ１５６は、バスクロックＢｕｓ＿ＣＬＫの供給がバスＩ／Ｆ部６１４になくても、インタフェースクロックＩ／Ｆ＿ＣＬＫの供給により外部Ｉ／Ｆ処理部６１０が動作することができるようになっているので、節電中でも外部的に受信データの有無を判定することができる。
【０２０９】
つまり、第１の構成例の汎用Ｉ／Ｆ＿ＬＳＩ１５６は、ＦＩＦＯ部６１２を境にして、Ｉ／Ｏバス１５９と外部Ｉ／Ｆ処理部６１０の動作クロックが分離されていることを特徴としている。換言すれば、この構成例では、汎用Ｉ／Ｆ＿ＬＳＩ１５６は、ＣＰＵ１１０と接続されるＩ／Ｏバス６１９（外部バス４０ａおよび内部バス４０ｂの双方を含む）用のバスクロックＢｕｓ＿ＣＬＫとは独立して、データ受信を判定することができ、その判定結果に基づきＣＰＵ１１０側を節電状態から復帰させてＣＰＵ１１０側にデータ転送要求を発することができる。
【０２１０】
バスクロックＢｕｓ＿ＣＬＫを仮に停止させたとしても、外部のＩ／Ｏ装置からのデータ入力動作は影響を受けず、またデータを受信したことを示すデータ有効信号ＤＶを汎用Ｉ／Ｆ＿ＬＳＩ１５６の外部に通知することができる。この構成であれば、節電モード中にＩ／Ｏバス６１９に接続されるデバイスである汎用Ｉ／Ｆ＿ＬＳＩ１５６へのバスクロックＢｕｓ＿ＣＬＫの供給を停止することで汎用Ｉ／Ｆ＿ＬＳＩ１５６における省電力化が実現でき、またデータ受信をトリガとして省電力モードから復帰させることもできる。節電中にＣＰＵ１１０用のバスクロックであるＣＰＵクロックをも停止させると、装置全体を深い節電状態にすることができ、さらなる低消費電力化を図ることができる。
【０２１１】
＜バスクロック制御の詳細；第２例＞
図１２は、本実施形態において使用される汎用Ｉ／Ｆ＿ＬＳＩ１５６の第２の構成例と、それを制御するデータ処理装置３の第２例の仕組みを説明する図である。この第２の構成例は、汎用Ｉ／Ｆ＿ＬＳＩ１５６が、インタフェースクロックＩ／Ｆ＿ＣＬＫを使用せずにバスクロックＢｕｓ＿ＣＬＫのみを使用してその全体が動作する場合や、バスクロックＢｕｓ＿ＣＬＫに同期してデータ有効信号ＤＶを出力する場合に対処する点に特徴を有する。
【０２１２】
具体的には、第２の構成例の汎用Ｉ／Ｆ＿ＬＳＩ１５６は、バスクロックＢｕｓ＿ＣＬＫに同期して動作する外部Ｉ／Ｆ処理部６１０とＦＩＦＯ部６１２とを備えている。なお、ＦＩＦＯ部６１２のエンプティフラグ出力部６１２ｂにもバスクロックＢｕｓ＿ＣＬＫを供給する構成とすれば、エンプティフラグ出力部６１２ｂは、データ有効信号ＤＶとして使用されるエンプティフラグＮＥＦをバスクロックＢｕｓ＿ＣＬＫに同期して出力する形態となる。
【０２１３】
このような構成の汎用Ｉ／Ｏ＿ＬＳＩ１５６は、データを受信するとともにデータ受信信号Ｓ３（＝データ有効信号ＤＶ）を他のデバイス（節電制御部１６０やＤＭＡＣ１４３，バスアービタ１４２など）に通知する受信機能部が外部Ｉ／Ｆ処理部６１０とＦＩＦＯ部６１２とで構成され、受信したデータをＩ／Ｏバス６１９を使用して受信先のデバイス（たとえばＤＲＡＭ１２６）に送信する送信機能部がバスＩ／Ｆ部６１４で構成される点では、第１の構成例と同じである。第１の構成例との違いは、受信機能部と送信機能部とが、同じクロックで動作可能に構成されていることにある。
【０２１４】
この場合、図示しない外部のＩ／Ｏ装置からデータが入力されると、外部Ｉ／Ｆ処理部６１０は、バスクロックＢｕｓ＿ＣＬＫを使用して（たとえば同期して）、所定のデータ受信処理を行ない、処理済みのデータをＦＩＦＯ部６１２に渡す。
【０２１５】
また、このような第２の構成例の汎用Ｉ／Ｆ＿ＬＳＩ１５６を使用する場合には、データ処理装置３は、バスブリッジ部１４４にてＩ／Ｏバス６１９を外部Ｉ／Ｏバス６１９ａ（外部バス４０ａに相当）と内部Ｉ／Ｏバス６１９ｂ（内部バス４０ｂに相当）とに分離する構成にする。内部Ｉ／Ｏバス６１９ｂには、ＣＰＵ１１０やメインメモリ部１２０（つまりＤＲＡＭ１２６）やＲＯＭ１２８が接続される。バスブリッジ部１４４は、外部クロックＯＵＴ＿ＣＬＫ用のバスクロック入力端子Ｂｕｓ＿ＣＬＫと、内部クロックＩＮＴ＿ＣＬＫ用のＣＰＵクロック入力端子ＣＰＵ＿ＣＬＫとを持ち、その内部で、外部Ｉ／Ｏバス６１９ａと内部Ｉ／Ｏバス６１９ｂとの動作クロックが分離されていることを特徴としている。
【０２１６】
ここで、節電制御部１６０は、節電中のデータ受信に寄与しない内部Ｉ／Ｏバス６１９ｂに接続される不要な各デバイス（ＣＰＵ１１０、メインメモリ部１２０、ＲＯＭ１２８など）へのクロック供給を停止させることでデータ処理装置３を節電状態にするとともに、汎用Ｉ／Ｏ＿ＬＳＩ１５６の受信機能部（外部Ｉ／Ｆ処理部６１０およびＦＩＦＯ部６１２）と送信機能部（バスＩ／Ｆ部６１４）とにはバスクロックを常時供給することで常時動作可能にさせておく。
【０２１７】
具体的には、図４（Ａ）に示したと同様に、節電制御部１６０は、各クロックバッファ部６２２，６２４を制御するようにする。具体的には、クロック制御信号発生部１６５からのクロック制御信号ＣＣＮＴ１の元で第１クロックバッファ部６２２を制御することで、節電中にはＣＰＵ１１０やバスブリッジ部１４４の各ＣＰＵクロック入力端子ＣＰＵ＿ＣＬＫへの内部クロックＩＮＴ＿ＣＬＫ（具体的にはＣＰＵクロックＣＰＵ＿ＣＬＫ）の供給をオフさせる。
【０２１８】
一方、クロック制御信号発生部１６５からのクロック制御信号ＣＣＮＴ２の元で第２クロックバッファ部６２４を制御することで、節電中および通常状態の何れにおいても、汎用Ｉ／Ｆ＿ＬＳＩ１５６やバスブリッジ部１４４の各バスクロック入力端子Ｂｕｓ＿ＣＬＫへ外部クロックＯＵＴ＿ＣＬＫ（具体的にはバスクロックＢｕｓ＿ＣＬＫ）が供給されるように制御する。
【０２１９】
このように、バスブリッジ部１４４から汎用Ｉ／Ｆ＿ＬＳＩ１５６まではクロックを常時供給する一方、節電中にはクロックを停止することが可能なデバイスをバスブリッジ部１４４の汎用Ｉ／Ｆ＿ＬＳＩ１５６とは反対側に設けることで、ＣＰＵ１１０などを節電モードに入れる際に、その節電モード中は、ＣＰＵ１１０などの不要なデバイスへのクロック入力を停止させることができ、図１１に示した第１の構成例と概ね同様な効果を得ることができる。
【０２２０】
すなわち、汎用Ｉ／Ｆ＿ＬＳＩ１５６は、内部Ｉ／Ｏバス６１９ｂ用のクロックとは独立してデータ受信を判定することができ、その判定結果に基づきＣＰＵ１１０側を節電状態から復帰させてＣＰＵ１１０側にデータ転送要求を発することができる。また、内部クロックＩＮＴ＿ＣＬＫで動作するデバイスについてクロック供給を仮に停止させたとしても、汎用Ｉ／Ｆ＿ＬＳＩ１５６における外部のＩ／Ｏ装置からのデータ受信動作は影響を受けず、またデータを受信したことを示すデータ受信信号Ｓ３相当のデータ有効信号ＤＶを汎用Ｉ／Ｆ＿ＬＳＩ１５６の外部に通知することができる。
【０２２１】
なお、バスクロックＢｕｓ＿ＣＬＫが汎用Ｉ／Ｆ＿ＬＳＩ１５６とバスブリッジ部１４４へ常時供給されるようにするので、第２クロックバッファ部６２４は、事実上、クロック制御信号ＣＣＮＴで制御されるスイッチ６２４ｂは不要である。また、少なくとも汎用Ｉ／Ｆ＿ＬＳＩ１５６にバスクロックＢｕｓ＿ＣＬＫが常時供給されていればよく、節電中は、バスブリッジ部１４４へのバスクロックＢｕｓ＿ＣＬＫの供給は必ずしも必要ではない。
【０２２２】
また、図１２に示した第２の構成例は、汎用Ｉ／Ｆ＿ＬＳＩ１５６が、インタフェースクロックＩ／Ｆ＿ＣＬＫを使用せずにバスクロックＢｕｓ＿ＣＬＫのみを使用してその全体が動作する場合や、バスクロックＢｕｓ＿ＣＬＫに同期してデータ有効信号ＤＶを出力する場合に対処する場合の一構成例を示したに過ぎず、上記で説明したと同様に、内部Ｉ／Ｏバス６１９ｂと外部Ｉ／Ｏバス６１９ａの動作クロックを分離した制御が可能である限り、様々な態様の回路を採用することができる。
【０２２３】
＜バスクロック制御の詳細；第３例＞
図１３は、本実施形態において使用される汎用Ｉ／Ｆ＿ＬＳＩ１５６の第２の構成例と、それを制御するデータ処理装置３の第３例の仕組みを説明する図である。この第３例の仕組みは、汎用Ｉ／Ｆ＿ＬＳＩ１５６がバスクロックのみで内部回路も動作している場合に、節電時には動作クロック周波数を下げることで汎用Ｉ／Ｆ＿ＬＳＩ１５６内部の動作を止めることなく消費電力を低減するもので、上述した第２実施形態の手法を簡易に示したものである。
【０２２４】
図示するように、この第３例の仕組みでは、周波数を変更可能な周波数変換部５０２とバッファ５０４とを有する周波数変換部５００を設けている。周波数変換部５０２は、源発振クロックである基準クロックＣＬＫ０が入力され、節電制御部１６０からのクロック制御信号ＣＣＮＴの制御の元で、出力クロックの周波数（バス周波数という）を変更する。すなわち、バスクロック発生器に周波数変換部５００を使用することで、バス周波数を可変とし、周波数の決定や制御は、省エネ制御回路の機能を持った節電制御部１６０で行なう構成としている。通常動作時には源発振クロックをそのままバスクロックとしてＣＰＵ１１０や汎用Ｉ／Ｆ＿ＬＳＩ１５６に供給し、省エネ時には周波数変換部５００で周波数を下げることで、消費電力の低減を実現する仕組みとする。
【０２２５】
このような第３例の仕組みは、第１例の仕組みとの対応においては、節電中にクロックを停止する（つまり周波数をゼロとする）のか、それとも停止させないものの、通常時よりも低い周波数にするのかの違いがあるが、ＣＰＵ１１０や汎用Ｉ／Ｆ＿ＬＳＩ１５６などを節電モードに入れる際に、その節電モード中は、ＣＰＵ１１０などの不要なデバイスへのクロック入力を通常時とは異なる状態にすることができ、図１１に示した第１の構成例に比べて消費電力が増えるものの、概ね同様な効果を得ることができる。
【０２２６】
また、汎用Ｉ／Ｆ＿ＬＳＩ１５６の動作形態に拘わらず適用でき、汎用性に富む構成である。すなわち、汎用Ｉ／Ｆ＿ＬＳＩ１５６が、インタフェースクロックＩ／Ｆ＿ＣＬＫを使用せずにバスクロックＢｕｓ＿ＣＬＫのみを使用してその全体が動作する場合や、バスクロックＢｕｓ＿ＣＬＫに同期してデータ有効信号ＤＶを出力する場合に限らず、インタフェースクロックＩ／Ｆ＿ＣＬＫとバスクロックＢｕｓ＿ＣＬＫの供給を受け、これら２つのクロックＣＬＫを使用して、汎用Ｉ／Ｆ＿ＬＳＩ１５６の全体が動作する場合にも対処することができる。
【０２２７】
低周波数ではあるもの、汎用Ｉ／Ｆ＿ＬＳＩ１５６と内部の回路（たとえばＣＰＵ１１０やメインメモリ部１２０など）を確実に動作させておくことができ、バスおよびバスに接続されたデバイスを低周波数動作に切り替えることで、一斉に節電モードに移行させて、装置のほぼ全体の機能を実質的な休眠状態に移行させても、クロック同期型バス回路における基本的な動作を維持できる。
【０２２８】
汎用Ｉ／Ｆ＿ＬＳＩ１５６は、休眠状態のときにデータを受信すると、ＣＰＵ１１０に供給されるバスクロックに同期してデータ転送を要求することができ、休眠状態でもクロック同期型バス回路における基本的な動作を維持するので、装置の処理性能やレスポンスに与える影響は、休眠状態のときに一旦バス回路を停止状態にする第１の仕組みよりも少なくなり、装置の使用中に必要に応じて節電や復帰を自由かつ容易かつ極めて安全に行なうことができる。
【０２２９】
＜周波数変換部の構成例＞
図１４および図１５は、バスクロック周波数を可変とする周波数変換部５０２の構成例を説明する図である。周波数変換部５０２の具体的な実現方法としては、ＶＣＯ（Voltage Controlled Oscillator ；電圧制御発振器）を用いて周波数を制御する第１の方法や、ＰＬＬを用いて源発振周波数に対して数倍高い周波数に上げた後に分周器を用いて離散的ではあるものの細かい周波数制御を可能とする第２の方法や、分周器を用いてバスクロックを１／２，１／４，１／８、…，１／Ｎ倍する第３の方法などを採用することができる。これら第１〜第３の方法は、換言すると、連続して出力されるクロック波形の周波数を変換する、つまり、周波数そのものの周期を変更する方法である。これに対して、周波数変換部５０２から、上記の連続したクロック波形を繰り返し出力するのではなく不連続なクロックを出力する第４の方法を採用することもできる。
【０２３０】
たとえば、図１４（Ａ）は第１の方法の構成例であり、節電制御部１６０はＤＡ変換器５２２に出力電圧設定値をデジタルデータで入力し、そのアナログ出力電圧ＶｃをＶＣＯ５２４の電圧制御端子に供給している。
【０２３１】
また、図１４（Ｂ）は第２の方法の構成例であり、ＰＬＬ５３２に基準クロックＣＬＫ０を供給して、基準クロックＣＬＫ０の数倍（図では８倍）の周波数のクロック信号ＣＬＫhighをＰＬＬ５３２から出力させ、クロック信号ＣＬＫhighを分周器５３４で所定の（図では１６ビット）精度で分周する構成としている。分周器５３４には、出力周波数を設定するための分周数の制御信号を節電制御部１６０から入力する。
【０２３２】
また、図１４（Ｃ）は第３の方法の構成例であり、分周器５３４には、出力周波数を設定するための分周数の制御信号を節電制御部１６０から入力し、分周器５３４に供給される基準クロックＣＬＫ０を所定の（図では１６ビット）精度で分周する。
【０２３３】
これに対して、図１５は、第４の方法を説明するものである。ここで、図１５（Ａ）は回路構成例であり、図１５（Ｂ）は第４の方法の原理を説明するタイミングチャートであり、図１５（Ｃ）は図１５（Ａ）の構成における具体的な動作を示すタイミングチャートである。
【０２３４】
図１５（Ａ）に示すように、第４の方法を実現する周波数変換部５０２は、出力クロックの周期分をカウントするクロック周期カウンタ５４２と、クロック周期カウンタ５４２に対してクロック周期に対応するデータを設定するクロック周期レジスタ５４４とを備えている。また周波数変換部５０２は、出力クロックの１周期内に存在するクロック数を設定するための出力クロック数カウンタ５４６と、出力クロック数カウンタ５４６に対して１周期内に存在するクロック数に対応するデータを設定する出力クロック数レジスタ５４８とを備えている。
【０２３５】
クロック周期カウンタ５４２および出力クロック数カウンタ５４６はともに、同期ロード（Load）型のダウンカウンタであり、また、出力クロック数カウンタ５４６は“０”までカウントダウンしたらボローパルス出力NBorrow をアサートした状態でカウント動作を停止し、ロード入力端子NLoad がアサートされたときに出力クロック数カウンタ５４６に新たにカウント値がロードされると同時にボローパルス出力NBorrow がネゲートされるものとする。
【０２３６】
クロック周期カウンタ５４２および出力クロック数カウンタ５４６のクロック入力端子CKに基準クロックＣＬＫ０を供給する。また、クロック周期カウンタ５４２のボローパルス出力NBorrow を、自身と出力クロック数カウンタ５４６の各ロード入力端子NLoad に供給する。
【０２３７】
また、周波数変換部５０２は、ＡＮＤゲート５５０を備えており、その一方の入力端子には基準クロックＣＬＫ０を入力し、他方の入力端子には出力クロック数カウンタ５４６のボローパルス出力NBorrow を入力するようにしている。ＡＮＤゲート５５０の出力が、出力クロックとして使用される。
【０２３８】
ここで、バスクロック周波数を可変とする第４の手法は、換言すれば、周波数そのものの周期を変更する第１〜第３の方法とは異なり、クロック出力期間と停止期間を設けることで、入力クロックの平均出力周波数を変更する方法ということができる。たとえば、図１５（Ｂ）に示す例では、入力クロックに対して４クロックはそのまま出力し、４クロックは出力を停止する、というサイクルを繰り返している。一定の規則の下で間欠的にクロックパルスを出力するが、全体としては、入力８クロックに対して４クロックを出力するので、実質的には、入力クロックを１／２の周波数に落としているのと等価となる。
【０２３９】
このような図１５（Ｂ）に記載のクロック出力を、図１５（Ａ）に記載の周波数変換部５０２で得るためには、先ずクロック周期レジスタ５４４に、“クロック出力と停止期間の繰返し周期（本例では８）−１”である“７”をセットする。また、８クロック周期中の出力クロック数である“４”を出力クロック数レジスタ５４８に設定する。
【０２４０】
出力クロック数カウンタ５４６は“０”までカウントダウンしたらボローパルス出力NBorrow をアサートした状態でカウント動作を停止し、ロード入力端子NLoad がアサートされたときに出力クロック数カウンタ５４６に新たにカウント値がロードされると同時にボローパルス出力NBorrow がネゲートされる。このとき、出力クロック数レジスタ５４８にクロック周期レジスタ５４４の設定値以上の値が設定されると、常にクロックが出力されることになる。
【０２４１】
より具体的には、図１５（Ｃ）に示すように、クロック周期カウンタ５４２が“０”になるとボローパルス出力NBorrow がアサートされる。このボローパルス出力NBorrow は、クロック周期カウンタ５４２および出力クロック数カウンタ５４６のロード入力端子NLoad に接続されていて、なおかつ、両ダウンカウンタ５４２，５４６は、同期ロード型であるので、ボローパルス出力NBorrow がアサートされた次のクロックに同期してクロック周期カウンタ５４２には“７”が、出力クロック数カウンタ５４６には“４”がロードされると同時に、両ボローパルス出力NBorrow がともにネゲートされる。
【０２４２】
出力クロック数カウンタ５４６のボローパルス出力NBorrow と基準クロックＣＬＫ０がＡＮＤゲート５５０に入力されており、ＡＮＤゲート５５０によって両者の論理積が取られるので、ボローパルス出力NBorrow がネゲートされている間は基準クロックＣＬＫ０がそのまま出力される。基準クロックＣＬＫ０が入力されると双方のダウンカウンタ５４２，５４６はカウントダウンをして行き、出力クロック数カウンタ５４６が“０”になるとボローパルス出力NBorrow をアサートすると同時にカウント動作を停止する。これによって、ＡＮＤゲート５５０の一方の入力がＬレベルとなるため、基準クロックＣＬＫ０の出力は停止する。
【０２４３】
一方、クロック周期カウンタ５４２はまだダウンカウントを継続しているので、基準クロックＣＬＫ０が入力される都度、カウントダウンを行ない、“０”になるとボローパルス出力NBorrow をアサートして最初に戻る動作を行なう。
【０２４４】
これによって、基準クロックＣＬＫ０の８クロック分を１周期として、入力される基準クロックＣＬＫ０の連続した４クロックは出力、その後の連続した４クロックは出力を停止する、と言う間欠的にクロックパルスを出力するサイクルを繰り返すことができる。
【０２４５】
図１４（Ａ），（Ｂ）に示した第１の方法や第２の手法を実現する回路では、細かな出力周波数設定を行なうことができるものの、ＶＣＯ５２４やＰＬＬ５３２といったアナログ回路が必要であり、デジタルデータを取り扱うデータ処理装置３への適用に際しては、その多くをデジタル回路で構成するのがよく、不向きである。
【０２４６】
これに対して図１４（Ｃ）に示した第３の手法を実現する回路では、デジタル回路のみで構成することができるので、容易に実現でき、かつ、デジタルデータを取り扱うデータ処理装置３への適用に都合がよいが、選択できる周波数が粗いという欠点を持っている。
【０２４７】
これに対して、図１５（Ａ）に示した第４の手法を実現する回路では、第３の手法を実現する回路よりも回路規模が大きくなるもの、デジタル回路のみで構成することができるので、容易に実現できる。加えて、クロック周期カウンタ５４２と出力クロック数カウンタ５４６の設定値によって源発振周波数（前例では基準クロックＣＬＫ０）に対して、“出力クロック数カウンタ５４６の設定値÷クロック周期カウンタ５４２の設定値”倍の周波数を設定することができ、設定できる周波数の自由度が非常に高い。
【図面の簡単な説明】
【０２４８】
【図１】本発明に係るデータ処理装置の一実施形態の構成例を示す図である。
【図２】図１に示したデータ処理装置における節電処理手順の概要を示したフローチャートである。
【図３】本発明に係る画像形成装置を備えたデータ処理システムの第１実施形態の構成例を示す図である。
【図４】本発明に係る画像形成装置を備えたデータ処理システムの第１実施形態の変形例を説明する図である。
【図５】節電中にデータ転送されることの問題を説明する図である。
【図６】図５における節電機能の問題を解決する一手法を説明する図である。
【図７】図３に示した構成でのシステムの状態と信号の相関関係を示す図である。
【図８】図７に示した節電制御部の動作状態の概要を説明する図である。
【図９】本発明に係る画像形成装置を備えたデータ処理システムの第２実施形態の構成例を示す図である。
【図１０】図９に示した第２実施形態の構成におけるシステムの状態と信号の相関関係を示す図である。
【図１１】汎用Ｉ／Ｆ＿ＬＳＩの第１の構成例と、それを制御するデータ処理装置の第１例の仕組みを説明する図である。
【図１２】汎用Ｉ／Ｆ＿ＬＳＩの第２の構成例と、それを制御するデータ処理装置の第２例の仕組みを示す図である。
【図１３】汎用Ｉ／Ｆ＿ＬＳＩの第２の構成例と、それを制御するデータ処理装置の第３例の仕組みを示す図である。
【図１４】バスクロック周波数を可変とする周波数変換部の構成例を説明する図（その１）である。
【図１５】バスクロック周波数を可変とする周波数変換部の構成例を説明する図（その２）である。
【符号の説明】
【０２４９】
１…データ処理システム、２…画像形成装置、３…データ処理装置、５…外部装置、９…通信ネットワーク、３１…コントローラ部、３２…使用権制御部、３４…節電解除処理部、３４ａ…節電解除トリガ検出部、３４ｂ…節電解除通知送信部、３５…Ｉ／Ｏインタフェース部、３６…節電制御部、３７…データ転送要求監視部、３８…復帰処理部、３９…クロック制御部、４０…バス、４０ａ…外部バス、４０ｂ…内部バス、５０…信号発生部、９０…バスブリッジ部、１００…内部コントローラ部、１１０…ＣＰＵ、１１２…ＰＬＬ回路、１２０…メインメモリ部、１２２，１２４，１２６…ＤＲＡＭ、１４０…バス調停制御部、１４２…バスアービタ、１４３…ＤＭＡＣ、１４４…バスブリッジ部、１５０…インタフェース部、１５２…ビデオＩ／Ｆ部、１５６…汎用Ｉ／Ｆ＿ＬＳＩ、１５８…メモリバス、１５９…Ｉ／Ｏバス、１６０…節電制御部、１６２…第１節電制御部、１６４…第２節電制御部、１６５…クロック制御信号発生部、１６６…クロック切替部、１６８…パワーマネージメント制御部、３００…画像形成部、５００…周波数変換部
【図１】
2006276979.tif 000003
【図２】
2006276979.tif 000004
【図３】
2006276979.tif 000005
【図４】
2006276979.tif 000006
【図５】
2006276979.tif 000007
【図６】
2006276979.tif 000008
【図７】
2006276979.tif 000009
【図８】
2006276979.tif 000010
【図９】
2006276979.tif 000011
【図１０】
2006276979.tif 000012
【図１１】
2006276979.tif 000013
【図１２】
2006276979.tif 000014
【図１３】
2006276979.tif 000015
【図１４】
2006276979.tif 000016
【図１５】
2006276979.tif 000017