(57)【特許請求の範囲】
【請求項１】
待機状態が所定の待ち時間継続すると主要各部への電力の供給を停止または削減して消費電力を削減する省電力モードに移行し、所定の復帰要因が発生すると、電力の供給を再開して該省電力モードから復帰する機器に搭載された半導体集積回路であって、
バスマスタからのアクセスに応じて機能動作する複数の機能動作手段と、
前記バスマスタ及び前記各機能動作手段それぞれに対応する周波数の動作クロックを供給するクロック供給手段と、
前記省電力モードにおいて、複数の前記バスマスタのバスアクセス信号を監視して、複数の前記バスマスタのいずれかからの前記機能動作手段へのアクセスを検知すると、複数の該バスマスタのバスアクセス信号における監視結果の信号値に基づいて、前記クロック供給手段が複数の該バスマスタ及び複数の前記バスマスタのいずれかからのアクセスが検知された前記機能動作手段に供給する前記動作クロックの周波数を、前記省電力モードにおける非稼働時において供給する前記動作クロックの周波数よりも高くなるように個別に指定制御するクロック周波数制御手段と、
を備えることを特徴とする半導体集積回路。
【請求項２】
前記クロック周波数制御手段は、前記省電力モードにおいて、前記バスマスタのバスアクセス信号を監視して、複数の前記バスマスタのいずれかからの前記機能動作手段へのアクセスの完了を検知すると、複数の該バスマスタのバスアクセス信号の監視結果に基づいて、前記クロック供給手段が複数の前記バスマスタ及び複数の前記バスマスタのいずれかからのアクセスの完了が検知された前記機能動作手段に供給する前記動作クロックの周波数を、前記省電力モードにおける非稼働時において供給する前記動作クロックの周波数と一致するように個別に指定制御することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記バスマスタは、前記省電力モードにおいて、前記機能動作手段に対して電力の供給が停止されている場合にも電力が供給されて各種制御処理を行うサブＣＰＵであることを特徴とする請求項１または請求項２記載の半導体集積回路。
【請求項４】
前記クロック周波数制御手段は、複数の前記バスマスタのバスアクセス信号の信号値と該バスマスタ毎及び前記機能動作手段毎の前記動作クロックの周波数を対応させた周波数テーブルを保管し、前記省電力モードにおいて、複数の該バスマスタのバスアクセス信号における監視結果の信号値に基づいて前記周波数テーブルから対応するバスマスタ及び複数の前記バスマスタのいずれかからのアクセスが検知された機能動作手段の動作クロックの周波数を取得して、前記クロック供給手段が該バスマスタ及び複数の前記バスマスタのいずれかからのアクセスが検知された該機能動作手段の動作クロックの周波数を、前記省電力モードにおける非稼働時において供給する前記動作クロックの周波数よりも高くなるように指定制御することを特徴とする請求項１から請求項３のいずれかに記載の半導体集積回路。
【請求項５】
前記半導体集積回路は、前記周波数テーブルの登録内容を適宜設定、変更するテーブル情報設定手段を備えていることを特徴とする請求項４記載の半導体集積回路。
【請求項６】
前記クロック周波数制御手段は、前記省電力モードにおいて、複数の前記バスマスタのバスアクセス信号の信号値が所定の法則に従って連続的に変化する場合、複数の該バスアクセス信号の任意の信号値を検出すると、該連続的に変化する変化後の信号値の検出結果に応じて、前記クロック供給手段が複数の前記バスマスタ及び複数の前記バスマスタからのアクセスが検知された前記機能動作手段の動作クロックの周波数を、前記省電力モードにおける非稼働時において供給する前記動作クロックの周波数よりも高くなるように順次個別に指定制御することを特徴とする請求項１から請求項５のいずれかに記載の半導体集積回路。
【請求項７】
待機状態が所定の待ち時間継続すると主要各部への電力の供給を停止または削減して消費電力を削減する省電力モードに移行し、所定の復帰要因が発生すると、電力の供給を再開して該省電力モードから復帰する機器の省電力制御方法であって、
前記機器は、バスマスタ及び該バスマスタからのアクセスに応じて機能動作する複数の機能動作手段それぞれに対応する周波数の動作クロックを供給するクロック供給手段を備え、
前記省電力モードにおいて、複数の前記バスマスタのバスアクセス信号を監視して、複数の前記バスマスタのいずれかからの前記機能動作手段へのアクセスを検知すると、複数の該バスマスタのバスアクセス信号における監視結果の信号値に基づいて、前記クロック供給手段が複数の該バスマスタ及び複数の前記バスマスタのいずれかからのアクセスが検知された前記機能動作手段に供給する前記動作クロックの周波数を、前記省電力モードにおける非稼働時において供給する前記動作クロックの周波数よりも高くなるように個別に指定制御することを特徴とする省電力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及び省電力制御方法に関し、詳細には、より効果的な省電力を行う半導体集積回路及び省電力制御方法に関する。
【背景技術】
【０００２】
複写装置、ファクシミリ装置、プリンタ装置、複合装置、スキャナ装置、コンピュータ等の情報処理装置は、通常、電源の投入後に、使用されずに待機状態となっている時間が多く、従来から、消費電力を削減するために、待機状態が一定時間経過すると、ネットワークからの要求や動作要求操作等を検知する復帰検知部やその他の主要部にのみ電力を供給し、その他の各部への電力の供給を停止したり、供給電力量を削減して消費電力を削減する省電力モードを備えている。
【０００３】
そして、従来、このような省電力モードを備えた情報処理装置において、メインＣＰＵ（Central Processing Unit ）への電源の供給をも停止して、消費電力のより一層の削減を図るために、メインＣＰＵの他に、省電力モード中においても必要な機能を実行させるサブＣＰＵを内蔵したＳｏＣ（System on Chip）を搭載した複合装置等の情報処理装置が出現している。
【０００４】
このようなＳｏＣを搭載した情報処理装置における省電力を図った技術としては、従来、例えば、ＳｏＣの内部ＣＰＵ（サブＣＰＵ）の周波数の逓倍率を最大消費電力に鑑みてソフトウェア制御によって変更することで、省電力化を図った技術がある（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術にあっては、ソフトウェア制御によってサブＣＰＵの周波数の変更を行っているため、リソースの限られている省電力モードにおいて、省電力処理用のプログラムをＳｏＣ内に実装すると、ＳｏＣ内の少ないメモリを省電力用プログラムが使用することとなり、情報処理装置全体を起動させる必要のないネットワーク応答機能（ＡＲＰ応答、ＭＩＢ応答等）や省電力モードからの復帰要因監視機能等の省電力モード中に行う必要のある機能処理をＳｏＣの特長である小型化を向上させつつ、消費電力を効率的に削減する上で、問題があった。
【０００６】
そこで、本発明は、小型化を図りつつ消費電力を効率的に削減する半導体集積回路及び省電力制御方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明は、上記目的を達成するために、省電力モードにおいて、複数のバスマスタのバスアクセス信号を監視して、複数の前記バスマスタのいずれかからの機能動作手段へのアクセスを検知すると、複数の該バスマスタのバスアクセス信号における監視結果の信号値に基づいて、複数の該バスマスタ及び複数の前記バスマスタのいずれかからのアクセスに応じて機能動作する複数の機能動作手段のうち複数の前記バスマスタのいずれかからのアクセスが検知された前記機能動作手段に供給する動作クロックの周波数を、前記省電力モードにおける非稼働時において供給する前記動作クロックの周波数よりも高くなるように個別に指定制御することを特徴としてもよい。
【０００８】
また、本発明は、省電力モードにおいて、前記省電力モードにおいて、前記バスマスタのバスアクセス信号を監視して、複数の前記バスマスタのいずれかからの前記機能動作手段へのアクセスの完了を検知すると、複数の該バスマスタのバスアクセス信号の監視結果に基づいて、前記クロック供給手段が複数の前記バスマスタ及び複数の前記バスマスタのいずれかからのアクセスの完了が検知された前記機能動作手段に供給する前記動作クロックの周波数を、前記省電力モードにおける非稼働時において供給する前記動作クロックの周波数と一致するように個別に指定制御することを特徴としてもよい。
【０００９】
さらに、本発明は、複数の前記バスマスタのバスアクセス信号の信号値と該バスマスタ毎及び前記機能動作手段毎の前記動作クロックの周波数を対応させた周波数テーブルを保管し、前記省電力モードにおいて、複数の該バスマスタのバスアクセス信号における監視結果の信号値に基づいて前記周波数テーブルから対応するバスマスタ及び複数の前記バスマスタのいずれかからのアクセスが検知された機能動作手段の動作クロックの周波数を取得して、前記クロック供給手段が該バスマスタ及び複数の前記バスマスタのいずれかからのアクセスが検知された該機能動作手段の動作クロックの周波数を、前記省電力モードにおける非稼働時において供給する前記動作クロックの周波数よりも高くなるように指定制御することを特徴としてもよい。
【発明の効果】
【００１０】
本発明によれば、小型化を図りつつ消費電力を効率的に削減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施例を適用したＭＦＰの要部ブロック構成図。
【図２】コントローラ部のブロック構成図。
【図３】Ｉ／Ｏ制御用デバイスのブロック構成図。
【図４】通常動作時におけるパケットデータの流れを示す説明図。
【図５】バス監視ブロック制御部のブロック構成図。
【図６】クロック制御リファレンステーブルの一例を示す図。
【図７】Ｉ／Ｏ制御用デバイスのクロック系統を示すブロック構成図。
【図８】Ｉ／Ｏ制御用デバイスの各部の通常動作時と省電力モード時における動作クロック周波数の一例を示す図。
【図９】省電力モード時のコントローラ部の電力状態を示すブロック構成図。
【図１０】省電力モード時のＩ／Ｏ制御用デバイスのブロック構成図。
【図１１】省電力モード時におけるパケットデータの流れを示す図。
【図１２】省電力モードにおける動作制御処理を示すフローチャート。
【図１３】省電力モードにおける動作クロック変更制御処理の説明図。
【図１４】省電力復帰処理を示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００１３】
図１〜図１４は、本発明の半導体集積回路及び省電力制御方法の一実施例を示す図であり、図１は、本発明の一実施例を適用したＭＦＰ（Multi Function Peripheral／複合装置）１の要部ブロック構成図である。
【００１４】
図１において、ＭＦＰ１は、コントローラ部２、エンジン処理部３、画像読み取り部４、画像書き込み部５、操作部６、ＦＡＸ部７、ストレージ部８及び各種Ｉ／Ｏ用Ｉ／Ｆ９等を備えているとともに、図示しない、ネットワーク通信部等を備えている。ＭＦＰ１は、使用されていない待機状態が予め設定されている省電力待ち時間が継続すると、各部への電力の供給を停止または削減して消費電力を削減する省電力モードを備えている。
【００１５】
画像読み取り部４は、例えば、ＣＣＤ（Charge Coupled Device ）を利用したイメージスキャナ等が利用されており、一般にＡＤＦ（自動原稿送り装置）を備えている。ＡＤＦは、セットされた複数枚の原稿を１枚ずつ画像読み取り部４の原稿読み取り位置に送給し、画像読み取り部４は、ＡＤＦから搬送されてきた原稿を走査して、原稿のカラー画像を所定の解像度で読み取ってＲＧＢの画像データとしてエンジン処理部３に読み取り画像データを出力する。
【００１６】
画像書き込み部５は、例えば、電子写真式記録装置等を用いたカラープリンタ等が用いられており、エンジン処理部３から入力されるＣＭＹＫ色のカラー画像データやＫ色の白黒画像データに基づいてカラー画像や白黒画像を用紙に記録出力する。
【００１７】
エンジン処理部３は、画像読み取り部４から入力されるＲＧＢの画像データを取り込んで、取り込んだ該画像データがカラー画像であるか、白黒画像であるかの白黒／カラー判定を行い、また、画像の平滑化及びエッジ強調等を行った後、該判定結果情報とともに、ＲＧＢの読み取り画像データをコントローラ部２に出力する。また、エンジン処理部３は、コントローラ部２から渡された画像データを画像書き込み部５の出力に合わせた形式の画像データに画像処理を施し、処理済みの画像データを画像書き込み部５に出力する。
【００１８】
コントローラ部２は、ストレージ部８及び各種Ｉ／Ｏ用Ｉ／Ｆ９に接続され、ストレージ部８またはコントローラ部２内部のメモリに保管されているプログラムに基づいて、操作部６や各種Ｉ／Ｏ用Ｉ／Ｆ（ネットワークやＵＳＢポート）９からの指示に応じて、ストレージ部８の書き込み／読み出しの制御、コピー動作処理、スキャナ動作処理、プリント処理及びファクシミリ通信処理等のＭＦＰ１としての処理を実行する。すなわち、コントローラ部２は、エンジン処理部３から入力される読み取り画像データのストレージ部８への保管、各種Ｉ／Ｏ用Ｉ／Ｆ９のＵＳＢ（Universal Serial Bus）に接続されているコンピュータやネットワークへの転送等の画像データ保管・転送処理を行い、また、ストレージ部８に保管されている画像データや各種Ｉ／Ｏ用Ｉ／Ｆ９のＵＳＢやネットワークに接続されているコンピュータから送られてくる画像データを取得してエンジン処理部３に渡して、画像書き込み部５で用紙に画像出力させたり、ＦＡＸ部７からファクシミリ送信させる画像データ出力処理等を行う。
【００１９】
ストレージ部８は、ハードディスク（ＨＤＤ等）等の大容量の記憶媒体が用いられており、所定容量を有して、主に、コントローラ部２によって画像データの書き込み及び読み出しが行われる。
【００２０】
各種Ｉ／Ｏ用Ｉ／Ｆ９は、ネットワークポート、ＵＳＢ、ＳＤ（Secure Digital）カードＩ／Ｆ等、汎用的なＩ／Ｏ規格に従ったＩ／Ｆ等を総称したものである。
【００２１】
操作部６は、ＭＦＰ１を操作するのに必要な各種キーやディスプレイ（例えば、ＬＣＤ（Liquid Crystal Display）等）及びＭＦＰ１の動作状態を表示するＬＥＤ等のランプ等を備え、操作キーからは、ＭＦＰ１を利用した各種操作の命令が入力される。操作部６は、操作キーから入力された命令内容やＭＦＰ１からオペレータに通知する各種情報をディスプレイに表示する。
【００２２】
ＦＡＸ部７には、外部公衆回線等の回線が接続されており、ＦＡＸ部７は、回線を利用してファクシミリ通信を行って画像データの送受信を行う。
【００２３】
上記コントローラ部２は、図２に示すようにブロック構成されており、メインＣＰＵ１１、メインメモリ１２、画像処理機能部１３及びＩ／Ｏ制御用デバイス１４等を備えている。
【００２４】
メインメモリ１２は、ＤＲＡＭ（Dynamic Random Access Memory）等が用いられており、メモリＩ／Ｆ１５によってメインＣＰＵ１１と接続されている。メインメモリ１２は、ＭＦＰ１の基本プログラム等のプログラム及びシステムデータを保管する保管メモリ及びメインＣＰＵ１１の実行コードやデータを一時保管するワークメモリとして使用される。メモリＩ／Ｆ１５は、メインＣＰＵ１１が内蔵しているメモリコントローラがメインメモリ１２を制御するためのインターフェイスである。
【００２５】
メインＣＰＵ１１は、メインメモリ１２内のプログラムに基づいてメインメモリ１２をワークメモリとして利用してＭＦＰ１の各部を操作して、ＭＦＰ１としての処理を実行するとともに、本発明の省電力制御処理を実行する。
【００２６】
画像処理機能部１３は、メインＣＰＵ１１にＰＣＩ（Peripheral Component Interconnect） Express（以下、ＰＣＩｅという。）等の画像処理機能制御用Ｉ／Ｆ１６で接続されており、メインＣＰＵ１１の制御下で、必要に応じてエンジン処理部３とデータの送受信を行って、読み取り処理や書き込み処理、ファクシミリ送受信処理時等における必要な画像処理を行う。なお、ＰＣＩｅは、要求と応答が分離され、応答を待たずに次の要求を発行できる高速のスプリットトランザクションのバスである。
【００２７】
Ｉ／Ｏ制御用デバイス（半導体集積回路）１４は、メインＣＰＵ１１に変わって制御を行うサブＣＰＵ２２（図３参照）を内蔵したＳｏＣデバイスであり、ネットワーク、ＵＳＢ、ＳＤカードＩ／Ｆ等のＩ／Ｏを集約したデバイスである。Ｉ／Ｏ制御用デバイス１４は、メインＣＰＵ１１との通信を、汎用Ｉ／ＯポートＩ／Ｆ１７やＰＣＩｅ  Ｉ／Ｆ等のデバイス間通信Ｉ／Ｆ１８で行う。すなわち、汎用Ｉ／ＯポートＩ／Ｆ１７は、メインＣＰＵ１１とＩ／Ｏ制御用デバイス１４間で、情報のやり取りを行うためのＩ／Ｏポート用のインターフェイスであり、単純な信号のHigh／Lowにより、双方の状態等を伝える。デバイス間通信Ｉ／Ｆ１８は、メインＣＰＵ１１とＩ／Ｏ制御用デバイス１４との間の通信インターフェイスであり、上述のようにＰＣＩｅ等が用いられている。
【００２８】
Ｉ／Ｏ制御用デバイス１４には、コンピュータ端末等と接続するＵＳＢ、イーサネットワーク（登録商標）等のネットワーク及び画像データの入出力を行うその他の外部Ｉ／Ｏが接続され、ネットワークの暗号処理、省電力モード時における処理制御及び外部デバイスとの信号処理等を行う。
【００２９】
そして、上記Ｉ／Ｏ制御用デバイス１４は、図３に示すようにブロック構成されており、バスアービタ２１、サブＣＰＵ２２、内蔵メモリ２３、通信用メモリ２４、バス監視クロック制御部２５、ＰＣＩｅ  Ｉ／Ｆ２６、ＵＳＢ  Ｉ／Ｆ２７、ネットワークＩ／Ｆ２８、ＵＡＲＴ  Ｉ／Ｆ２９、ＳＤカードＩ／Ｆ３０、汎用Ｉ／ＯポートＩ／Ｆ３１及び外部メモリＩ／Ｆ３２等が１つのチップ内に搭載されている。
【００３０】
バスアービタ２１は、ＳｏＣデバイスであるＩ／Ｏ制御用デバイス１４のメインバスであり、各マスタからの要求に応じてターゲットへのアクセスを行う。バスアービタ２１は、異なるマスタから同じターゲットへのアクセスが集中すると、規定された固定優先順位方式、または、ラウンドロビン方式で決定された順番で該アクセスの調停処理を行う。
【００３１】
サブＣＰＵ（バスマスタ）２２は、ネットワークパケットの暗号処理や省電力モード時にメインＣＰＵ１１に変わってコントローラ部２の制御を行う。
【００３２】
内蔵メモリ２３は、例えば、ＳＲＡＭ（Static ＲＡＭ ）等で構成された小容量のメモリであり、サブＣＰＵ２２のプログラムエリア、ワークエリアとして使用される。特に、内部メモリ２３は、省電力モード時に、Ｉ／Ｏ制御用デバイス１４としての処理を実行するためのプログラムが格納されており、サブＣＰＵ２２は、内部メモリ２３内のプログラムに基づいて省電力モード時に必要な各種処理をＰＩＯ（Programmed I/O）制御によって実行する。
【００３３】
通信用メモリ２４は、メインＣＰＵ１１とサブＣＰＵ２２との間の通信用のメモリであり、メインＣＰＵ１１とサブＣＰＵ２２の一方が書き込んだ内容を他方が読み出し、また、その逆の処理を行って、メインＣＰＵ１１とサブＣＰＵ２２との間で、指示や情報のやりとりを行う。
【００３４】
ＰＣＩｅ  Ｉ／Ｆ２６は、メインＣＰＵ１１との通信用Ｉ／Ｆであり、メインＣＰＵ１１がＩ／Ｏ制御用デバイス１４に内蔵されている各種Ｉ／Ｏ機能を使用するときのＩ／Ｆポートである。このＰＣＩｅ  Ｉ／Ｆ２６は、上記デバイス間通信インターフェイス１８に該当するものである。
【００３５】
Ｉ／Ｏ制御用デバイス１４は、多数のＩ／Ｏ機器を制御するために、各種Ｉ／Ｆを備えており、代表的なＩ／Ｆ（インターフェイス）として、ＵＳＢ  Ｉ／Ｆ２７、ネットワークＩ／Ｆ２８、ＵＡＲＴ  Ｉ／Ｆ２９、ＳＤカードＩ／Ｆ３０、汎用Ｉ／ＯポートＩ／Ｆ３１及び外部メモリＩ／Ｆ３２及びＰＣＩｅ  Ｉ／Ｆ２６が示されているが、Ｉ／Ｆとしては、これらに限るものではない。
【００３６】
ＵＳＢＩ／Ｆ２７は、コンピュータ端末等の外部デバイスをＵＳＢ接続するためのインターフェイスポートであり、ネットワークＩ／Ｆ２８は、ＬＡＮ（Local Area Network）等のネットワークに接続するための通信用のインターフェイスである。
【００３７】
ＵＡＲＴ  Ｉ／Ｆ２９は、ＵＡＲＴ（調歩同期式シリアル通信回線）用のインターフェイスであり、ＳＤカードＩ／Ｆ３０は、ＳＤカード（メモリスティック等の記憶メディアであってもよい。）とのインターフェイスである。
【００３８】
汎用Ｉ／ＯポートＩ／Ｆ３１は、汎用入出力ポートであり、設定により入力端子として利用されたり、Ｉ／Ｏ制御用デバイス１４から制御を行う出力端子として利用される。したがって、汎用Ｉ／ＯポートＩ／Ｆ３１は、上記汎用Ｉ／ＯポートＩ／Ｆ１７としても機能する。特に、汎用Ｉ／ＯポートＩ／Ｆ３１は、省電力モード時に、操作部の電源ボタンの押下や画像読み取り部４のＡＤＦに紙がセットされたか、圧版が動作したか、画像書き込み部５の扉が開閉されたか等の省電力モード復帰要因発生の有無を監視するための入力ポートとして利用される。
【００３９】
外部メモリＩ／Ｆ３２は、Ｉ／Ｏ制御用デバイス１４に外部メモリを接続する際に使用されるインターフェイスである。上記内蔵メモリ２３、通信用メモリ２４、ＰＣＩｅ  Ｉ／Ｆ２６、ＵＳＢ  Ｉ／Ｆ２７、ネットワークＩ／Ｆ２８、ＵＡＲＴ  Ｉ／Ｆ２９、ＳＤカードＩ／Ｆ３０、汎用Ｉ／ＯポートＩ／Ｆ３１及び外部メモリＩ／Ｆ３２等は、バスマスタであるサブＣＰＵ２２からのアクセスに応じて機能動作する機能動作手段として機能する。
【００４０】
そして、上記各ＰＣＩｅ  Ｉ／Ｆ２６、ＵＳＢ  Ｉ／Ｆ２７、ネットワークＩ／Ｆ２８、ＵＡＲＴ  Ｉ／Ｆ２９、ＳＤカードＩ／Ｆ３０、汎用Ｉ／ＯポートＩ／Ｆ３１、外部メモリＩ／Ｆ３２等の各Ｉ／Ｆは、例えば、Ｉ／Ｆとして必要なＤＭＡＣ（Direct Memory Access Controller ：ＤＭＡコントローラ）、送信処理部、受信処理部等を備えている。例えば、ネットワークＩ／Ｆ２８は、通常動作時におけるパケットデータの流れを示す説明図である図４に示すように、レジスタＩ／Ｆ４１、ＲＤＭＡＣ（Read  ＤＭＡＣ）４２、ＷＤＭＡＣ（Write  ＤＭＡＣ）４３、受信バッファを内蔵している受信処理部４４及び送信バッファを内蔵している送信処理部４５等を内蔵している。
【００４１】
ネットワークＩ／Ｆ２８は、ネットワークＩ／Ｆポート（イーサネットワーク等）Ｐ１から受信したパケットデータを、データ流れＤ１で示すように、受信処理部４４内部の受信バッファに蓄積する。ネットワークＩ／Ｆ２８は、このとき、受信パケットデータが暗号化パケットデータの場合には、データ流れＤ２で示すように、サブＣＰＵ２２が、受信バッファの暗号化パケットデータをレジスタＩ／Ｆ４１を通して取り出し、暗号化プロトコルに従って復号化して、復号化した受信パケットデータを受信バッファに戻す。Ｉ／Ｏ制御用デバイス１４は、受信バッファ内の受信パケットデータを、データ流れＤ３で示すように、ＷＤＭＡＣ２８が、ＰＣＩｅ  Ｉ／Ｆ２６及びデバイス間通信インターフェイス１８を介してメインメモリ１２にＤＭＡ転送し、メインＣＰＵ１１は、メインメモリ１２上の受信パケットに必要なソフト処理を施して、メインメモリ１２上に送信パケットデータを生成した後、送信要求をネットワークＩ／Ｆ２８に発行する。
【００４２】
ネットワークＩ／Ｆ２８は、メインＣＰＵ１１から送信要求があると、ＲＤＭＡＣ４２が、データ流れＤ４で示すように、メインメモリ１２上の送信パケットデータを読み出して送信処理部４５に転送し、送信処理部４５が送信パケットデータを送信バッファに格納する。このとき、送信パケットデータに暗号化が必要な場合には、サブＣＰＵ２２が、データ流れＤ５で示すように、送信バッファの送信パケットデータをレジスタＩ／Ｆ４１を通して取り出し、暗号化プロトコルに従って暗号化して、暗号化した送信パケットデータを送信バッファに戻す。ネットワークＩ／Ｆ２８は、送信処理部４５が、送信バッファに蓄積された送信パケットデータを、ネットワークＩ／ＦポートＰ１に送信する。
【００４３】
上記バス監視クロック制御部（クロック周波数制御手段）２５は、バスマスタの１つであるサブＣＰＵ２２のバスへのアクセス状態を監視し、監視結果に基づいてＩ／Ｏ制御用デバイス１４内部のクロック周波数を切り替える。
【００４４】
バス監視クロック制御部２５は、図５に示すように、比較器５１、クロック制御リファレンステーブル記憶部５２及びクロック制御信号生成部５３等を備えており、図５は、バスＩ／Ｆ信号の規格が、ＯＣＰ（Open Core Protocol）である場合を示している。
【００４５】
クロック制御リファレンステーブル記憶部５２は、例えば、図６に示すようなクロック制御リファレンステーブル（周波数テーブル）Ｔｂを記憶しており、クロック制御リファレンステーブルＴｂは、Ｉ／Ｏ制御用デバイス１４内の各デバイスの動作クロックを制御するトリガとすべきバスの状態（バスアクセス信号の信号値）が登録されている。このクロック制御リファレンステーブルＴｂのデータ値は、レジスタＩ／Ｆ５４を介して操作部６のキー操作、ＵＳＢ接続またはネットワーク接続されたコンピュータからのコマンドによって適宜設定、変更が可能となっている。また、クロック制御リファレンステーブルＴｂは、バスアクセス信号の信号値とバスマスタ（サブＣＰＵ２２等）及び機能動作手段としてのＩ／Ｏ制御用デバイス１４内の各部毎の動作クロックの周波数を対応させたテーブルであってもよい。さらに、クロック制御リファレンステーブルＴｂは、複数のバスマスタのバスアクセス信号の信号値と該バスマスタ毎及び機能動作手段としてのＩ／Ｏ制御用デバイス１４内の各部毎の動作クロック周波数を対応させたテーブルであってもよい。
【００４６】
比較器５１は、サブＣＰＵ２２とバスアービタ２１間のＩ／Ｆのモニタ信号とクロック制御リファレンステーブル記憶部５２のクロック制御リファレンステーブルＴｂとの値を比較し、比較結果をクロック制御信号生成部５３に出力する。
【００４７】
クロック制御信号生成部５３は、比較器５１からの比較結果に基づいて、クロック制御信号を生成して、図７に示すクロックジェネレータ６０に出力する。
【００４８】
図７は、Ｉ／Ｏ制御用デバイス１４内のクロック系統を示すブロック構成図であり、クロックジェネレータ（クロック供給手段）６０は、サブＣＰＵ２２及びＩ／Ｏ制御用デバイス１４内の各部にそれぞれに対応する周波数の動作クロックを供給するとともに、バス監視クロック制御部２５からのクロック制御信号に基づいて、サブＣＰＵ２２及びＩ／Ｏ制御用デバイス１４内の各部へ供給する動作クロックの周波数を個別に変更する。
【００４９】
なお、図７においては、サブＣＰＵ２２及びバスアービタ２１以外の各機能部２６〜３２については、マスタＡ６１、スレーブＡ６２ａ〜スレーブＮ６２ｎと表示している。
【００５０】
そして、本実施例のＭＦＰ１のＩ／Ｏ制御用デバイス１４は、その各部の動作クロックの周波数が、例えば、図８に示すように設定されている。なお、図８は、汎用Ｉ／ＯポートＩ／Ｆ３１を省電力モードから通常動作状態に復帰する復帰要因を検出するためのインターフェイスとして利用している場合の動作クロック周波数を示している。図８では、省電力モード時には、通常動作時における動作クロック周波数の半分の動作クロック周波数となっている。
【００５１】
次に、本実施例の作用を説明する。本実施例のＭＦＰ１は、省電力モードにおいて、Ｉ／Ｏ制御用デバイス１４の内部の動作クロック周波数をバスマスタであるサブＣＰＵ２２のバスアクセス信号に基づいて変更する。
【００５２】
ＭＦＰ１は、通常動作時には、ＭＦＰ１の全ての部分に電力の供給を行って、操作部６や各種Ｉ／Ｏ用Ｉ／Ｆ（ネットワークやＵＳＢポート）９からの指示に応じて、ストレージ部８の書き込み／読み出しの制御、コピー動作処理、スキャナ動作処理、プリント処理及びファクシミリ通信処理等のＭＦＰ１としての処理を実行する。例えば、ＭＦＰ１は、ネットワークとのパケットデータの送受信処理を、図４に示したように行う。
【００５３】
そして、ＭＦＰ１は、動作処理を実行していない待機状態が予め設定されている所定の省電力待ち時間が継続すると、各部への電力の供給を停止または削減し、あるいは、機能動作を停止または抑制して、消費電力を削減する省電力モードに移行する。
【００５４】
すなわち、ＭＦＰ１は、操作部６での操作による動作要求に応じて処理を行うだけでなく、ネットワークやＵＳＢ、ファクシミリ等の通信回線を経由した動作要求も受け付けるため、ＭＦＰ１の動作処理は不定期に発生する。一方、ＭＦＰ１は、処理の要求を待っている待ち時間の間は無駄な消費電力を低減させるために、省電力モード（処理要求が発生するのを、電力を削減しつつ待機している省エネルギー状態）に移行する制御を行う。ＭＦＰ１は、省電力モードでは、コントローラ部２の一部を除いて、電源をオフにするか、処理要求を受けたらすぐに起動できる程度にまで消費電力を下げた状態になる。この省電力モードにおいて、コントローラ部２は、その一部が省電力モード状態で処理する処理動作を実行するとともに、省電力モードからの復帰要因、例えば、操作部６やネットワーク、ＵＳＢポート等のＩ／Ｆ２７、２８からの処理開始の要求等の有無を判別する省電力復帰処理を行う。
【００５５】
すなわち、ＭＦＰ１は、この省電力モードにおいては、コントローラ部２の各部のうち、図９に示すように、Ｉ／Ｏ制御用デバイス１４へのみ電力を供給し、または、機能を動作させ、その他の各部、例えば、メインＣＰＵ１１、メインメモリ１２及び画像処理機能部１３への電力の供給を遮断または削減し、あるいは、機能動作を停止または抑制させる。なお、図９において、ＵＳＢ等に接続される端末Ｉ／Ｆ及びネットワークに接続されるネットワークＩ／Ｆは、電力が供給され、その他のＩ／Ｏに接続されるＩ／Ｆには、電力の供給は遮断されるが、その他Ｉ／Ｏに接続されるＩ／Ｆであっても、省電力復帰要因検出用に用いる場合には、電力が供給される。
【００５６】
ＭＦＰ１は、省電力モード時においても、Ｉ／Ｏ制御用デバイス１４がネットワークからの通信要求に応答する場合には、図１０に示すように、Ｉ／Ｏ制御用デバイス１４のサブＣＰＵ２２、内蔵メモリ２３、バス監視クロック制御部２５及びネットワークＩ／Ｆ２８へ電力を供給するとともに、ＵＳＢ端末からの動作要求等による省電力モードからの復帰要因の発生の有無を検出するためにＵＳＢ  Ｉ／Ｆ２７へ電力を供給し、その他の各部への電力の供給を停止して、消費電力のより一層の削減を図っている。ただし、汎用Ｉ／ＯポートＩ／Ｆ３１等のＩ／Ｆその他のＩ／Ｆにおいては、省電力モード復帰要因のセンサ等に接続されている場合には、電力が供給される。
【００５７】
さらに、本実施例のＭＦＰ１は、省電力モードに移行すると、Ｉ／Ｏ制御用デバイス１４の各部の動作クロック周波数を、図８に示した通常動作時の動作クロック周波数から予め設定されている省電力モード時の動作クロック周波数に変更する。すなわち、図７に示したように、バス監視クロック制御部２５は、クロック制御信号をクロックジェネレータ６０に出力することで、通常動作時の動作クロック周波数から省電力モード時の動作クロックに変更し、省電力モード時の消費電力をより一層削減している。すなわち、ＭＦＰ１は、省電力モードでは、コントローラ部２の一部を除いて、電源をオフにするか、処理要求を受けるとすぐに起動できる程度にまで消費電力を下げた状態にする。
【００５８】
この省電力モードにおいては、ＭＦＰ１は、ネットワークＩ／Ｆ２８を介してネットワークとのパケットデータの送受信処理を、図１１に示すように行う。なお、図１１では、電力の供給が停止されている各部がハッチングで示されており、ハッチングの施されていないサブＣＰＵ２２、バスアービタ２１、バス監視クロック制御部２５、内部メモリ２３及びネットワークＩ／Ｆ２８のレジスタＩ／Ｆ４１、受信処理部４４及び送信処理部４５にのみ電力が供給されて、ＰＣＩｅ  Ｉ／Ｆ２６及びネットワークＩ／Ｆ２８のＲＤＭＡＣ４２とＷＤＭＡＣ４３には電力の供給が停止されている状態を示している。
【００５９】
すなわち、省電力モード時には、メインＣＰＵ１１及びメインメモリ１２への電力供給が停止されているので、メインＣＰＵ１１によるネットワークとのパケット処理を行うことができず、ＤＭＡＣによるメインメモリ１２とのデータ転送は実行されない。そこで、省電力モード時には、Ｉ／Ｏ制御用デバイス１４のサブＣＰＵ２２によるＰＩＯ制御によって、パケットデータを処理する。すなわち、Ｉ／Ｏ制御用デバイス１４は、ネットワークＩ／ＦポートＰ１からパケットデータが送られてくると、図１１にデータ流れＤ１で示すように、ネットワークＩ／Ｆ２８の受信処理部４４が受け取って受信バッファに格納し、サブＣＰＵ２２が、図１１にデータ流れＤ１２で示すように、この受信バッファの受信パケットデータをレジスタＩ／Ｆによりワード毎にパケットデータを読み出して受信パケットデータを解析する。サブＣＰＵ２２は、受信パケットデータの解析結果に応じて、パケットの破棄、パケットの応答（パケット生成と送信）、少電力復帰処理の開始の処理を行う。サブＣＰＵ２２は、パケット応答を行うときには、パケットデータの受信と同様に、図１１にデータ流れＤ１３で示すように、ＰＩＯ制御によって、送信パケットデータを送信処理部４５の送信バッファに登録し、送信処理部４５が、図１１にデータ流れＤ１４で示すように、送信バッファの送信パケットデータをネットワークへ送信する。例えば、サブＣＰＵ２２は、省電力モードから復帰する必要のない処理、ネットワーク経由の装置のアドレス要求や存在確認要求に対する応答（ＡＲＰ応答、ＰＩＮＧ応答）を行う。これらの処理は、不定期で発生し、また、全く発生しない期間も有れば、頻繁に発生する期間もある。
【００６０】
そして、このサブＣＰＵ２２が行うネットワーク処理等のＰＩＯ制御においては、ＣＰＵとしての処理を必要とするため、省電力モードにおいても、ＰＩＯ制御を実行するのに適した性能が必要となるとともに、省電力をより一層向上させる必要がある。
【００６１】
そこで、本実施例のＭＦＰ１は、省電力モード時において、バス監視クロック制御部２５が、バスマスタであるサブＣＰＵ２２とバスアービタ２１間のＩ／Ｆ（インターフェイス）の信号をモニタしたモニタ信号（バスアクセス信号）を監視し、このモニタ信号をクロック制御リファレンステーブル記憶部５２のクロック制御リファレンステーブルＴｂの値と比較して、Ｉ／Ｏ制御用デバイス１４内の各部の動作クロック周波数を調整することで、適切な動作を確保しつつ、省電力をより一層向上させる。
【００６２】
すなわち、ＭＦＰ１は、省電力モードに移行すると、サブＣＰＵ２２のＰＩＯ制御によって省電力モードでの各種処理を行う。そして、パケットの送受信の場合、図１２に示すように、送信処理部４５が受信パケットを検知すると、この受信パケットの受信が送信処理部４５からサブＣＰＵ２２に通知される（ステップＳ１０１）。割り込み要因のクリアを実施するために、このアクセスをトリガとして、動作クロック周波数の制御が行われるように、バス監視クロック制御部２５のクロック制御リファレンステーブル記憶部５２のクロック制御リファレンステーブルＴｂには、パケット受信の値が設定されている。
【００６３】
バス監視クロック制御部２５は、図１３に示すように、このサブＣＰＵ２２への受信パケットの受信通知を監視して、クロック制御リファレンステーブルＴｂを参照して、パケットの送受信に関与する機能部であるサブＣＰＵ２２、バスアービタ２１及びネットワークＩ／Ｆ２８の動作クロック周波数を、省電力モード時の非稼動時（待機時）の動作クロック周波数よりも高い動作クロック周波数に変更する（ステップＳ２０１）。例えば、バス監視クロック制御部２５は、図１３の場合、比較器５１が、ＡＣ１で示すアクセス状態を、クロック制御リファレンステーブル記憶部５２のクロック制御リファレンステーブルＴｂの内容と比較することで監視し、クロック制御リファレンステーブルＴｂに該当する値があると、該値に対応付けてクロック制御リファレンステーブルＴｂに設定されているクロック制御値を取り出してクロック制御信号生成部５３に渡して、クロック制御信号生成部５３が、該クロック制御値をクロック制御信号としてクロックジェネレータ６０に出力する。クロックジェネレータ６０は、クロック制御信号生成部５３から入力されるクロック制御信号に応じてＩ／Ｏ制御用デバイス１４内の各部へ供給する動作クロックを変更する。なお、図１３は、バスＩ／Ｆ信号の規格がＯＣＰである場合を示している。
【００６４】
そして、Ｉ／Ｏ制御用デバイス１４は、速くなった動作クロックによってサブＣＰＵ２２、バスアービタ２１及びネットワークＩ／Ｆ２８が動作して、サブＣＰＵ２２は、まず、受信パケット処理を行い（ステップＳ１０２）、省電力復帰要因であるか否かチェックして（ステップＳ１０３）、省電力復帰要因であるときには、省電力復帰処理を実行して通常動作モードに移行する（ステップＳ１０４）。
【００６５】
ステップＳ１０３において、省電力復帰要因でないときには、サブＣＰＵ２２は、パケット応答があるかチェックし（ステップＳ１０５）、パケット応答があるときには、送信パケット処理を行って（ステップＳ１０６）、次の受信パケットがあるかチェックする（ステップＳ１０７）。また、ステップＳ１０５で、パケット応答がないときには、次の受信パケットの有無をチェックする（ステップＳ１０７）。この次の受信パケット有無のチェックでは、例えば、受信パケットが受信処理部４４の受信バッファに残っているかどうかのステータスレジスタのリードアクセスによって行い、受信パケットがない（例えば、リード値が、０ｘ００００００００である）ことで、判定される。
【００６６】
そして、クロック制御リファレンステーブル記憶部５２のクロック制御リファレンステーブルＴｂには、このリード値が設定されている。
【００６７】
ステップＳ１０７で、次の受信パケットがあるときには、サブＣＰＵ２２は、ステップＳ１０２に戻って、受信パケット処理から上記同様に処理する（ステップＳ１０２〜Ｓ１０７）。
【００６８】
ステップＳ１０７で、次の受信パケットがないときには、すなわち、上記リード値が受信パケットがないことを示しているときには、サブＣＰＵ２２は、受信パケット処理を終了する。
【００６９】
そして、バス監視クロック制御部２５は、サブＣＰＵ２２が読み取ったリード値がクロック制御リファレンステーブルＴｂに登録されていると、受信パケット処理の完了を検知して、動作クロック周波数を省電力モード時の非稼動時（待機時）の遅い動作クロック周波数に戻す。すなわち、バス監視クロック制御部２５は、図１３の場合、比較器５１が、ＡＣ２で示すアクセス状態を、クロック制御リファレンステーブル記憶部５２のクロック制御リファレンステーブルＴｂの内容と比較することで監視し、クロック制御リファレンステーブルＴｂに該当する値（０ｘ００００００００）があると、該値に対応付けてクロック制御リファレンステーブルＴｂに設定されているクロック制御値を取り出してクロック制御信号生成部５３に渡して、クロック制御信号生成部５３が、該クロック制御値をクロック制御信号としてクロックジェネレータ６０に出力する。クロックジェネレータ６０は、クロック制御信号生成部５３から入力されるクロック制御信号に応じてＩ／Ｏ制御用デバイス１４内の各部へ供給する動作クロックを変更する。この場合の変更後のクロック動作周波数は、省電力モードにおける、サブＣＰＵ２２、バスアービタ２１及びネットワークＩ／Ｆ２８の非動作時の動作クロック周波数である。すなわち、バス監視クロック制御部２５は、バスマスタ（サブＣＰＵ２２等）のバスアクセス信号の信号値がシーケンシャル（所定の法則に従って連続的）に変化する場合、該バスアクセス信号の任意の信号値を検出すると、該シーケンシャルに変化する変化後の信号値の検出結果に応じて、バスマスタ及びＩ／Ｏ制御用デバイス１４内の各部に供給する動作クロックの周波数を順次個別に指定制御する。この場合、クロック制御リファレンステーブル記憶部５２のクロック制御リファレンステーブルＴｂに、シーケンシャルに変化するバスアクセス信号の変化前後の信号値と、該変化前後の信号値に対応する動作クロックの周波数が登録される。
【００７０】
なお、上記説明では、省電力モードにおいて、受信パケットを検知して、該受信パケット処理を省電力モードのまま処理を行う場合について説明したが、次に、省電力復帰要因を受信した場合の省電力復帰処理について、図１４に基づいて説明する。なお、いま、省電力復帰要因検出用の信号入力ポートとして汎用Ｉ／ＯポートＩ／Ｆ３１を動作させ、該汎用Ｉ／ＯポートＩ／Ｆ３１に接続されたセンサから省電力復帰要因が入力されるものとして説明する。この場合、省電力復帰要因としては、例えば、画像読み取り部４の原稿をセットするための圧板の開閉を検知する蓋開閉検知センサやＡＤＦへの用紙のセットを検知する原稿検知センサからの検知信号または操作部６の操作検知信号等である。したがって、この場合、汎用Ｉ／ＯポートＩ／Ｆ３１には、省電力モードにおいても電力が供給される。
【００７１】
サブＣＰＵ２２は、図１４に示すように、汎用Ｉ／ＯポートＩ／Ｆ３１から省電力復帰要因検出信号が入力されて、復帰要因が発生したことを検知すると（ステップＳ３０１）、電源制御部（図示略）に電源立ち上げ指示を出して電源立ち上げ制御を行う（ステップＳ３０２）。このサブＣＰＵ２２が電源制御部に行う電源立ち上げ指示は、サブＣＰＵから電源制御部へのレジスタアクセスという形式で実行されるため、バス監視クロック制御部２５は、比較器５１がこのレジスタアクセス情報を取得して、クロック制御リファレンステーブル記憶部５２のクロック制御リファレンステーブルＴｂに予め設定されている電源立ち上げ指示を示す値とこの取得したレジスタアクセス情報と比較し、通常動作時のクロック制御値を取り出してクロック制御信号生成部５３に渡して、クロック制御信号生成部５３が、該通常動作時の動作クロック周波数を指示するクロック制御値をクロック制御信号としてクロックジェネレータ６０に出力する。クロックジェネレータ６０は、クロック制御信号生成部５３から入力されるクロック制御信号に応じてＩ／Ｏ制御用デバイス１４内の各部へ供給する動作クロックを通常動作時の動作クロック周波数に変更する。
【００７２】
サブＣＰＵ２２は、電源立ち上げ制御を行うと、Ｉ／Ｏ制御用デバイス１４の内部機能の起動処理を行い（ステップＳ３０３）、メインＣＰＵ１１が起動するのを待って（ステップＳ３０４）、各種ＤＭＡＣを起動させて、省電力復帰処理を終了する（ステップＳ３０５）。
【００７３】
なお、上記説明においては、省電力モード時において、Ｉ／Ｏ制御用デバイス１４内の動作クロック周波数を変更制御する場合について説明したが、動作クロック周波数の変更制御の対象は、Ｉ／Ｏ制御用デバイス１４に限るものではなく、省電力モード時に必要に応じて動作する部分を有するデバイスに対しても同様に適用することができる。
【００７４】
また、上記説明においては、省電力モード時において、Ｉ／Ｏ制御用デバイス１４内の動作クロック周波数を変更制御する場合について説明したが、動作クロック周波数の変更制御は、省電力モード時に限るものではなく、例えば、通常動作時においても、動作状態を監視して、該動作状態に応じて各部の動作クロック周波数を変更制御してもよい。この場合、例えば、通常動作時においてＩ／Ｏ制御用デバイス１４の各部の動作クロック周波数を変更するには、バス監視クロック制御部２５の監視対象として、ＰＣＩｅ  Ｉ／Ｆ２６等のバスマスタを複数設定することで、通常動作時におけるＩ／Ｏ制御用デバイス１４の動作状態を正確に検出して、Ｉ／Ｏ制御用デバイス１４内の動作クロック周波数を変更制御することができる。この場合、クロック制御リファレンステーブル記憶部５２のクロック制御リファレンステーブルＴｂを、バスマスタ毎に個別に設けることで、同じレジスタアクセスシーケンスであっても、それぞれのバスマスタに応じた動作クロック周波数の変更制御を適切に行うことができる。
【００７５】
このように、本実施例のＩ／Ｏ制御用デバイス１４は、バス監視クロック制御部２５が、バスマスタであるサブＣＰＵ２２のバスアクセス信号を監視して、該バスアクセス信号の監視結果に基づいて、クロックジェネレータ６０からサブＣＰＵ２２及びＩ／Ｏ制御用デバイス１４内の各部に供給される動作クロックの周波数を個別に指定制御している。
【００７６】
したがって、プログラムを用いることなく、ハードウェア構成によって、Ｉ／Ｏ制御用デバイス１４の動作状況に応じて動作クロックの周波数を変更することができ、Ｉ／Ｏ制御用デバイス１４を小型化しつつ、消費電力を削減することができる。
【００７７】
また、本実施例のＩ／Ｏ制御用デバイス１４は、待機状態が所定の待ち時間継続すると主要各部への電力の供給を停止または削減して消費電力を削減する省電力モードに移行し、所定の復帰要因が発生すると、電力の供給を再開して該省電力モードから復帰するＭＦＰ１に搭載されている。そして、バス監視クロック制御部２５が、該省電力モードにおいて、サブＣＰＵ２２のバスアクセス信号を監視して、該バスアクセス信号の監視結果に基づいて、クロックジェネレータ６０がサブＣＰＵ２２及びＩ／Ｏ制御用デバイス１４内の各部に供給する動作クロックの周波数を個別に指定制御している。
【００７８】
したがって、ハードウェア構成によって、省電力モードにおけるＩ／Ｏ制御用デバイス１４の動作状況に応じて動作クロックの周波数を変更することができ、Ｉ／Ｏ制御用デバイス１４を小型化しつつ、消費電力をより一層削減することができる。すなわち、ＭＦＰ１の省電力モードにおいては、待機状態では低い動作クロックで処理要求待ちを行い、処理要求が発生したときに、必要なハードウェアに対する動作クロック周波数を高くして必要とされる処理能力を提供して、処理が終わると、再び低い動作クロック周波数に戻して待機状態となる。その結果、省電力用のプログラムを用いることなく、ＳｏＣであるＩ／Ｏ制御用デバイス１４内の内蔵メモリ２３からクロック制御に必要なプログラムをなくして、メモリ省力化を図りつつ、クロック制御による省電力制御を適切に実行することができる。
【００７９】
さらに、本実施例のＩ／Ｏ制御用デバイス１４は、バスマスタが、Ｉ／Ｏ制御用デバイス１４内の各部に対して電力の供給が停止されている場合にも電力が供給されて各種制御処理を行うサブＣＰＵ２２である。
【００８０】
したがって、メインＣＰＵ１１の他に、省電力モード中においても必要な機能を実行するサブＣＰＵ２２を内蔵したＳｏＣとしてのＩ／Ｏ制御用デバイス１４を搭載したＭＦＰ１等の情報処理装置における消費電力を、小型化を図りつつ、効率的に削減することができる。
【００８１】
また、本実施例のＩ／Ｏ制御用デバイス１４は、バスアクセス信号の信号値とサブＣＰＵ２２毎及びＩ／Ｏ制御用デバイス１４内の各部毎に供給される動作クロックの周波数を対応させた周波数テーブルであるクロック制御リファレンステーブルＴｂを保管し、バスアクセス信号の監視結果である信号値に基づいてクロック制御リファレンステーブルＴｂから対応するサブＣＰＵ２２及びＩ／Ｏ制御用デバイス１４内の各部に供給される動作クロックの周波数を取得して該サブＣＰＵ２２及びＩ／Ｏ制御用デバイス１４内の各部に供給される動作クロックの周波数を指定制御している。
【００８２】
したがって、サブＣＰＵ２２やＩ／Ｏ制御用デバイス１４内の各部が多数存在する場合にも、ハードウェア構成によって、省電力モードにおけるＩ／Ｏ制御用デバイス１４の動作状況に応じて動作クロックの周波数を変更することができ、Ｉ／Ｏ制御用デバイス１４を小型化しつつ、消費電力をより一層削減することができる。この場合、バスアクセス信号と比較するクロック制御リファレンステーブルＴｂに制御するクロックを同時に登録することで、バスアクセス信号毎に関連するクロックだけを制御することができる。
【００８３】
さらに、本実施例のＩ／Ｏ制御用デバイス１４は、クロック制御リファレンステーブルＴｂの登録内容を操作部６やネットワークに接続されたコンピュータ等からの指示に応じて、サブＣＰＵ２２が適宜設定、変更する。
【００８４】
したがって、ハードウェアの実装後に動作要件が変化した場合であっても、クロック制御リファレンステーブルＴｂの登録内容を変更することで、小型化しつつ、適切に消費電力を削減することができる。
【００８５】
また、本実施例のＩ／Ｏ制御用デバイス１４は、サブＣＰＵ２２のバスアクセス信号の信号値が所定の法則に従って連続的に変化する場合、すなわち、シーケンシャルに変化する場合、該バスアクセス信号の任意の信号値を検出すると、シーケンシャルに変化する変化後の信号値の検出結果に応じて、サブＣＰＵ２２及びＩ／Ｏ制御用デバイス１４内の各部に供給される動作クロックの周波数を順次個別に指定制御している。
【００８６】
したがって、バスアクセス信号がアドレスとコマンドから次の期待値を待つシーケンス制御を行うことができ、リードアクセスやバーストアクセスにおいてもモニタ信号として利用して、小型化しつつ、適切に消費電力を削減することができる。
【００８７】
さらに、本実施例のＩ／Ｏ制御用デバイス１４は、サブＣＰＵ２２等の複数のバスマスタのバスアクセス信号を監視し、複数のバスマスタのバスアクセス信号における監視結果の信号値に基づいてバスマスタ及びＩ／Ｏ制御用デバイス１４内の各部の動作クロック周波数を個別に指定制御してもよい。
【００８８】
このようにすると、マルチマスタで動作する通常動作時においても、バスマスタ及びＩ／Ｏ制御用デバイス１４内の各部の動作クロック周波数を、必要な動作機能に応じたクロック周波数により一層適切に制御することができ、より一層消費電力を削減することができる。
【００８９】
また、本実施例のＩ／Ｏ制御用デバイス１４は、複数のバスマスタのバスアクセス信号の信号値とＩ／Ｏ制御用デバイス１４内の各部毎の動作クロック周波数を対応させたクロック制御リファレンステーブルＴｂを保管し、複数のバスマスタのバスアクセス信号における監視結果の信号値に基づいてクロック制御リファレンステーブルＴｂから対応するバスマスタ及びＩ／Ｏ制御用デバイス１４内の各部の動作クロック周波数を取得してバスマスタ及びＩ／Ｏ制御用デバイス１４内の各部の動作クロック周波数を指定制御してもよい。
【００９０】
このようにすると、マルチマスタで動作する通常動作時においても、バスマスタ及びＩ／Ｏ制御用デバイス１４内の各部の動作クロック周波数を、必要な動作機能に応じたクロック周波数により一層適切にかつ速やかに制御することができ、より一層消費電力を削減することができる。
【００９１】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００９２】
本発明は、動作周波数の変更が可能なデバイスを備えた複合装置、複写装置、プリンタ装置、スキャナ装置、コンピュータ等の半導体集積回路及び省電力制御方法に利用することができる。
【符号の説明】
【００９３】
１  ＭＦＰ
２  コントローラ部
３  エンジン処理部
４  画像読み取り部
５  画像書き込み部
６  操作部
７  ＦＡＸ部
８  ストレージ部
９  Ｉ／Ｏ用Ｉ／Ｆ
１１  メインＣＰＵ
１２  メインメモリ
１３  画像処理機能部
１４  Ｉ／Ｏ制御用デバイス
１５  メモリＩ／Ｆ
１６  画像処理機能制御用Ｉ／Ｆ
１７  汎用Ｉ／ＯポートＩ／Ｆ
２１  バスアービタ
２２  サブＣＰＵ
２３  内蔵メモリ
２４  通信用メモリ
２５  バス監視クロック制御部
２６  ＰＣＩｅ  Ｉ／Ｆ
２７  ＵＳＢ  Ｉ／Ｆ
２８  ネットワークＩ／Ｆ
２９  ＵＡＲＴ  Ｉ／Ｆ
３０  ＳＤカードＩ／Ｆ
３１  汎用Ｉ／ＯポートＩ／Ｆ
３２  外部メモリＩ／Ｆ
４１  レジスタＩ／Ｆ
４２  ＲＤＭＡＣ
４３  ＷＤＭＡＣ
４４  受信処理部
４５  送信処理部
５１  比較器
５２  クロック制御リファレンステーブル記憶部
５３  クロック制御信号生成部
５４  レジスタＩ／Ｆ
６０  クロックジェネレータ
６１  マスタＡ
６２ａ〜６２ｎ  スレーブ
Ｔｂ  クロック制御リファレンステーブル
【先行技術文献】
【特許文献】
【００９４】
【特許文献１】特開２００７−１５７０６８号公報
【図１】
0005636653.tif 000002
【図２】
0005636653.tif 000003
【図３】
0005636653.tif 000004
【図４】
0005636653.tif 000005
【図５】
0005636653.tif 000006
【図６】
0005636653.tif 000007
【図７】
0005636653.tif 000008
【図８】
0005636653.tif 000009
【図９】
0005636653.tif 000010
【図１０】
0005636653.tif 000011
【図１１】
0005636653.tif 000012
【図１２】
0005636653.tif 000013
【図１３】
0005636653.tif 000014
【図１４】
0005636653.tif 000015