(57)【特許請求の範囲】
【請求項１】
クロック信号を出力するクロック源と、
前記クロック源が出力した前記クロック信号を第１周波数又は前記第１周波数より小さい第２周波数で出力する周波数可変回路と、
前記周波数可変回路から出力されたクロック信号が入力される第１デバイスと、
前記周波数可変回路を介さずに前記クロック源から出力されたクロック信号が入力される第２デバイスと、前記第１デバイスと前記第２デバイスとの間のデータ転送を行うインターフェースと、を備え、
前記インターフェースは、
同期化回路を有し、
前記周波数可変回路が前記第２周波数のクロック信号を出力する場合には、前記同期化回路を介してデータ転送を行い、
前記周波数可変回路が前記第１周波数のクロック信号を出力する場合には、前記同期化回路を介さずにデータ転送を行う、
ことを特徴とする半導体集積回路。
【請求項２】
前記周波数可変回路は、前記クロック源から入力された前記クロック信号のトグルを間引く間引き回路である、ことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記周波数可変回路は、
所定の指示に従って、前記クロック源から入力された前記クロック信号を前記第２周波数で出力し、
他の所定の指示に従って、前記クロック源から入力された前記クロック信号を前記第１周波数で出力する、
ことを特徴とする請求項１又は２に記載の半導体集積回路。
【請求項４】
前記第１デバイスは、ＣＰＵである、ことを特徴とする請求項１乃至３の何れか１項に記載の半導体集積回路。
【請求項５】
前記第２デバイスは、メモリへのデータの書き込み又は前記メモリからデータの読み出しを制御するメモリコントローラである、ことを特徴とする請求項１乃至３の何れか１項に記載の半導体集積回路。
【請求項６】
前記クロック源から出力されたクロック信号の周波数を分周する第１分周回路と、
前記周波数可変回路から出力されたクロック信号の周波数を分周する第２分周回路と、をさらに備え、
前記第１分周回路から出力されたクロック信号は、前記第２デバイスに入力され、
前記第２分周回路から出力されたクロック信号は、前記第１デバイスに入力される、
ことを特徴とする請求項１乃至５の何れか１項に記載の半導体集積回路。
【請求項７】
請求項３に記載の半導体集積回路を備え、
通常モードと該通常モードよりも消費電力が低い省電力モードとで動作可能であり、
前記通常モードから前記省電力モードに移行する際に、前記所定の指示が出力され、前記省電力モードから前記通常モードに移行する際に、前記他の所定の指示が出力される、
ことを特徴とする装置。
【請求項８】
前記装置は、スキャナ及び前記スキャナで読み取った画像データに対して画像処理を行うスキャナ画像処理手段を備えた装置である、ことを特徴とする請求項７に記載の装置。
【請求項９】
前記装置は、プリンタ及びプリンタに出力される画像データに対して画像処理を行うプリンタ画像処理手段を備えた装置である、ことを特徴とする請求項７に記載の装置。
【請求項１０】
半導体集積回路におけるクロックの制御方法であって、
周波数可変回路によって、クロック源が出力したクロック信号を第１周波数又は前記第１周波数より小さい第２周波数で出力するステップと、
同期化回路を有するインターフェースによって、前記周波数可変回路から出力されたクロック信号が入力される第１デバイスと、前記周波数可変回路を介さずに前記クロック源から出力されたクロック信号が入力される第２デバイスとの間のデータ転送を行うステップであって、
前記周波数可変回路から前記第２周波数のクロック信号が出力された場合には、前記同期化回路を介してデータ転送を行い、
前記周波数可変回路から前記第１周波数のクロック信号が出力された場合には、前記同期化回路を介さずにデータ転送を行う、ステップと、
を含むことを特徴とするクロックの制御方法。
【請求項１１】
クロック信号を出力するクロック源と、
前記クロック源から入力された前記クロック信号を第１周波数又は前記第１周波数より小さい第２周波数で出力する周波数可変回路と、
前記クロック源から出力された、前記周波数可変回路を介さない前記クロック信号の周波数を分周する第１の分周回路と、
前記周波数可変回路から出力されたクロック信号の周波数を分周する第２の分周回路と、
前記第２の分周回路から出力されたクロック信号が入力される第１デバイスと、
前記第１の分周回路から出力されたクロック信号が入力される第２デバイスと、
前記第１デバイスと前記第２デバイスとの間のデータ転送を行うインターフェースと、を備え、
前記インターフェースは、
同期化回路を有し、
前記周波数可変回路が出力するクロック信号の周波数に応じて、前記同期化回路を介したデータ転送、又は、前記同期化回路を介さないデータ転送を行う、
ことを特徴とする半導体集積回路。
【請求項１２】
前記周波数可変回路は、前記クロック源から入力された前記クロック信号のトグルを間引く間引き回路である、ことを特徴とする請求項１１に記載の半導体集積回路。
【請求項１３】
前記周波数可変回路は、
所定の指示に従って、前記クロック源から入力された前記クロック信号を前記第２周波数で出力し、
他の所定の指示に従って、前記クロック源から入力された前記クロック信号を前記第１周波数で出力する、
ことを特徴とする請求項１１又は１２に記載の半導体集積回路。
【請求項１４】
前記第１デバイスは、ＣＰＵである、ことを特徴とする請求項１１乃至１３の何れか１項に記載の半導体集積回路。
【請求項１５】
前記第２デバイスは、メモリへのデータの書き込み又は前記メモリからデータの読み出しを制御するメモリコントローラである、ことを特徴とする請求項１１乃至１３の何れか１項に記載の半導体集積回路。
【請求項１６】
請求項１３に記載の半導体集積回路を備え、
通常モードと該通常モードよりも消費電力が低い省電力モードとで動作可能であり、
前記通常モードから前記省電力モードに移行する際に、前記所定の指示が出力され、前記省電力モードから前記通常モードに移行する際に、前記他の所定の指示が出力される、
ことを特徴とする装置。
【請求項１７】
前記装置は、スキャナ及び前記スキャナで読み取った画像データに対して画像処理を行うスキャナ画像処理手段を備えた装置である、ことを特徴とする請求項１６に記載の装置。
【請求項１８】
前記装置は、プリンタ及びプリンタに出力される画像データに対して画像処理を行うプリンタ画像処理手段を備えた装置である、ことを特徴とする請求項１６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路におけるクロック間の位相を調整する技術に関する。
【背景技術】
【０００２】
PC（Personal Computer）などの情報処理装置やMFP（Multi Function Printer）などの画像形成装置には半導体集積回路が使われている。一般に、これら装置に使用される半導体集積回路は、CPU（Central Processing Unit）や各種周辺機能回路との間のデータ転送のために、内部にバス構造を有する。このような半導体集積回路内のバスにおいては、クロック同期で動作するFF（フリップフロップ）の同期回路でデータを受け渡す構成になっており、同期式のバスによるデータ転送を行う。同期回路設計においては、クロックのエッジの位置が一致する構成を前提とする回路設計を行うことによって、FFのセットアップ時間やホールド時間を検証して動作を保障するタイミング設計を行う。また、複数のクロックが使用される半導体集積回路においては、FFを動作させるクロック間の関係が、各クロック周波数の比率が自然数で、且つ、エッジ位置が一致する関係（以下、同期関係）にある場合は高速な方の周期でタイミング設計を満足すれば同期回路としての正常な動作が保障できる。一方、FFを動作させるクロック間の関係が前述の同期関係にない場合（非同期関係の場合）は、データを受け渡しする時間が極端に短くなり、FFのセットアップ時間やホールド時間を満足できなくなると正常なデータの受け渡しができなくなってしまう。そのため、一般に非同期関係のクロックに対しては、ダブルラッチなどの同期化回路を設けることによって、正常なデータの受け渡しを実現している。
【０００３】
しかしながら、同期化回路を介してデータの受け渡しをする構成では、同期化回路を介さない構成に対して、データの受け渡しに要するクロックサイクルが増える。従って、データ転送が完了するまでの遅延時間が増加し、このような半導体集積回路を用いる機器の性能を低下させる。
【０００４】
この点、同期化回路によるデータ転送の遅延時間を防ぐための技術として、例えば特許文献１が提案されている。この特許文献１では、非同期の関係にあるクロック間でのデータの受け渡しにおいて、クロック間のエッジ位置を示すイネーブル信号を用いることで、同期化回路を用いずに非同期関係にあるクロック間の安全なデータ転送を実現している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−９９９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１の技術では、クロック間にエッジの位置が一致するタイミングが存在する必要がある。そのため、完全に非同期の関係にあるクロック間のデータ転送は諦めざるを得なくなる。さらに、周波数が固定のクロックと可変のクロックを併用する同期回路の場合には、クロック間の同期関係は一意に定まらない。かといって、同期化回路を前提とした構成にすると、前述の通り、データ転送の遅延時間が増加して、半導体集積回路及びそれを備えた機器の性能低下を生じさせてしまう。
【課題を解決するための手段】
【０００７】
本発明に係る半導体集積回路は、クロック信号を出力するクロック源と、前記クロック源が出力した前記クロック信号を第１周波数又は前記第１周波数より小さい第２周波数で出力する周波数可変回路と、前記周波数可変回路から出力されたクロック信号が入力される第１デバイスと、前記周波数可変回路を介さずに前記クロック源から出力されたクロック信号が入力される第２デバイスと、前記第１デバイスと前記第２デバイスとの間のデータ転送を行うインターフェースと、を備え、前記インターフェースは、同期化回路を有し、前記周波数可変回路が前記第２周波数のクロック信号を出力する場合には、前記同期化回路を介してデータ転送を行い、前記周波数可変回路が前記第１周波数のクロック信号を出力する場合には、前記同期化回路を介さずにデータ転送を行う、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数のクロックが同期関係と非同期関係のいずれの関係にある場合でも、円滑なデータ転送を保障することができる。
【図面の簡単な説明】
【０００９】
【図１】半導体集積回路を備える装置の一例としての画像形成装置のシステム構成を示すブロック図である。
【図２】メインコントローラの内部構成を示すブロック図である。
【図３】実施例１に係る、クロック生成部の内部構成を示すブロック図である。
【図４】（ａ）はクロックゲート回路によってクロックの発振が停止される様子を説明する図であり、（ｂ）はクロック間引き回路によってクロックが間引かれる様子を説明する図である。
【図５】クロック間引き回路が通常のクロックを出力する状態から、間引きクロックを出力する状態に移行する過程を説明する図である。
【図６】クロック間引き回路が間引きクロックを出力する状態から、通常のクロックを出力する状態に移行する過程を説明する図である。
【図７】省電力モード時における、メインコントローラの各機能モジュールへのクロックの供給状態を示す図である。
【図８】同期・非同期化I/Fの内部構成とその動作を説明する図である。
【図９】実施例１に係る、通常モードから省電力モードに移行する際の制御の流れを示すフローチャートである。
【図１０】実施例１に係る、省電力モードから通常モードに復帰する際の制御の流れを示すフローチャートである。
【図１１】実施例２に係る、クロック生成部の内部構成を示すブロック図である。
【図１２】クロック選択回路が、第１クロック源を基に２分周する２分周回路の出力クロックを選択した状態から、第３クロック源の出力クロックを選択する状態に移行する過程を説明する図である。
【図１３】クロック選択回路が第３クロック源の出力クロックを選択した状態から、第１クロック源を基に２分周した分周クロックを選択する状態に移行する過程を説明する図である。
【図１４】実施例２に係る、通常モードから省電力モードに移行する際の制御の流れを示すフローチャートである。
【図１５】実施例２に係る、省電力モードから通常モードに復帰する際の制御の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して、本発明を好適な実施例に基づいて詳細に説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【実施例１】
【００１１】
図１は、本実施例に係る半導体集積回路を備える装置の一例としての画像形成装置のシステム構成を示すブロック図である。画像形成装置１００は、コピー、プリンタ、FAXといった複数の機能を1台で実現するＭＦＰである。画像形成装置１００は、メインコントローラ１０１、ユーザインタフェースである操作部１０２、画像入力デバイスであるスキャナ１０３及び画像出力デバイスであるプリンタ１０４を備える。
【００１２】
操作部１０２、スキャナ１０３及びプリンタ１０４は、それぞれメインコントローラ１０１に接続され、メインコントローラ１０１からの指示によって制御される。さらに、メインコントローラ１０１は、LAN（Local Area Network）１０６に接続され、このLAN１０６を介してPC１０５と接続される。
【００１３】
PC１０５は、一般的なコンピュータであり、PC１０５上で動作するアプリケーションによって作成された文書データ等の印刷指示（印刷ジョブ）がLAN１０６を介して画像形成装置１００に対し送信される。
【００１４】
＜メインコントローラの構成＞
次に、画像形成装置１００のメインコントローラ１０１について詳しく説明する。
【００１５】
図２は、メインコントローラ１０１の内部構成を示すブロック図である。画像形成装置１００の全体を制御するメインコントローラ１０１は、スキャナ１０３やプリンタ１０４を制御する一方で、LAN１０６を介して、PC１０５との間で画像データやデバイス情報等の入出力を行う。
【００１６】
メインコントローラ１０１は、CPU２０１、メモリコントローラ２０２、DRAM２０３、ROM（Read Only Memory）２０４、クロック生成部２０５、スキャナ画像処理部２０６、プリンタ画像処理部２０７、システムバス２０８、イメージバス２０９を備える。さらに、各種インタフェースとして、操作部I/F２１０、LAN I/F２１１、イメージバスI/F２１２、デバイスI/F２１３、同期・非同期I/F２１４を備える。
【００１７】
CPU（Central Processing Unit）２０１は、システムバス２０８を介して、ROM２０４、イメージバスI/F２１２、メモリコントローラ２０２、操作部I/F２１０、LAN I/F２１１、同期・非同期I/F２１４及びクロック生成部２０５と接続される。ROM２０４は、システムのブートプログラムや所定の実行プログラムなどが格納される読み出し専用のメモリである。DRAM（Dynamic Random Access Memory）２０３は、DDR3などのデータ転送速度やデータ転送の仕様が規格化されている半導体メモリであり、CPU２０１のワークメモリとしての作業領域を提供するための随時読み書き可能な記憶領域である。また、DRAM２０３は、画像形成装置１００の一時的な設定値や実行するジョブの情報などを記憶し、また、画像データを一時記憶するための画像メモリとしても使用される。メモリコントローラ２０２は、DRAM２０３を制御するコントローラであり、DRAM２０３とのデータの読み書きを行う。
【００１８】
操作部I/F２１０は、操作部１０２との間で入出力を行うためのインタフェースである。操作部I/F２１０は、操作部１０２に対して表示すべき画像データを出力し、また、ユーザが操作部１０２を介して入力した情報を、CPU２０１に伝送するために使用される。LAN I/F２１１は、LAN１０６と接続するためのインタフェースであり、LAN１０６に対して情報の入出力を行う。イメージバスI/F２１２は、システムバス２０８と画像データを高速で転送するイメージバス２０９とを接続するインタフェースであり、データ構造を変換するバスブリッジとして動作する。イメージバス２０９には、デバイスI/F２１３、スキャナ画像処理部２０６及びプリンタ画像処理部２０７が接続される。デバイスI/F２１３４は、スキャナ１０３及びプリンタ１０４とメインコントローラ１０１とを接続するインタフェースであり、画像データの形式の変換を行う。同期・非同期化I/F２１４は、システムバス２０８とメモリコントローラ２０２間のデータ転送を行うインタフェースである。同期・非同期化I/F２１４の詳細については後述する。
【００１９】
クロック生成部２０５は、水晶発振器やPLL（Phase Locked Loop）などの発振回路及び、該発信回路の出力クロックを分周する分周器などを備え、同期回路を動作させる各種クロックを生成して出力する。そして、クロック生成部２０５は、CPU２０１、ROM２０４、メモリコントローラ２０２、DRAM２０３、バス２０８及び２０９、画像処理部２０６及び２０７、各種I/Fなどのメインコントローラ１０１内の各機能モジュールに各種クロックを供給する。クロック生成部２０５の構成及び、出力するクロックについての詳細は後述する。なお、メインコントローラ１０１内の各機能モジュールは、例えばCMOS（Complementary Metal Oxide Semiconductor）の半導体集積回路によって構成される。
【００２０】
スキャナ画像処理部２０６は、スキャナ１０３から読み込んだ入力画像データに対して、補正、加工、編集等の画像処理を行う。プリンタ画像処理部２０７は、プリンタ１０４へ出力する印刷画像データに対して、色変換、フィルタ処理、解像度変換等の画像処理を行う。
【００２１】
＜クロック生成部＞
図３は、本実施例に係る、クロック生成部２０５の内部構成を示すブロック図である。クロック生成部２０５は、第１クロック源３００、第２クロック源３１０、クロック間引き回路３２０、クロック設定保持部３３０を備える。さらに、クロック生成部２０５は、複数の分周回路とクロックゲート回路（２分周回路３６０ａ〜３６０ｃ、４分周回路３６１ａと３６１ｂ、８分周回路３６２、クロックゲート回路３７０ａ〜３７０ｇ）を備える。
【００２２】
第１クロック源３００及び第２クロック源３１０は、水晶発振器やＰＬＬなどの発振回路であり、それぞれ独自の位相、周波数で発振するクロックを生成して出力する。
【００２３】
２分周回路３６０ａ〜３６０ｃ、４分周回路３６１ａ及び３６１ｂ、８分周回路３６２は、それぞれ自己の前段にあるクロック源や分周回路の出力クロックを入力として、分周クロックを新たに生成する分周回路である。すなわち、２分周回路３６０ａ〜３６０ｃは周波数が入力クロックの１／２となる分周クロックを生成する。４分周回路３６１ａと３６１ｂは周波数が入力クロックの１／４となる分周クロックを生成する。８分周回路３６２は周波数が入力クロックの１／８となる分周クロックを生成する。なお、本実施例においては分周回路の一例として、２分周、４分周、８分周の分周回路を用いているが、分周数はこれに限定されるものではない。例えば、メインコントローラ１０１内の機能モジュールが必要とするクロックの周波数に応じて、３分周や１６分周の分周回路を備えてもよい。
【００２４】
クロックゲート回路３７０ａ〜３７０ｇは、後述するクロック設定保持部３３０からのゲート制御信号に基づいて、トグルの有無を制御する。具体的には、ゲート制御信号によってクロックゲート機能をONにしたときに、出力するクロックをＬｏｗレベルに固定してクロックの供給（発振）を停止する。図４（ａ）は、クロックゲート回路によってクロックの発振が停止される様子を説明する図である。図４（ａ）において、破線の波形で示す部分は、クロックゲート機能をONにしなかった場合（ゲート機能をOFFにした場合）の通常のトグルするクロックを示す。クロック生成部２０５は、クロックゲート回路３７０ａ〜３７０ｇを介して、ＤＲＡＭクロック、メモリコントローラバスクロック、第１インタフェースクロック、ＣＰＵクロック、第１バスクロック、第２バスクロック、第２インタフェースクロックをそれぞれメインコントローラ１０１内の機能モジュールの同期回路に供給する。各クロックと各機能モジュールとの対応関係は以下の通りである。  
・DRAMクロック：DRAM２０３
・メモリコントローラバスクロック：メモリコントローラ２０２、同期・非同期化I/F２１４
・第１インタフェースクロック：LAN I/F２１１
・ＣＰＵクロック：CPU２０１
・第１バスクロック：ROM２０４、システムバス２０８、同期・非同期化I/F２１４
・第２バスクロック：スキャナ画像処理部２０６、プリンタ画像処理部２０７、イメージバス２０９、イメージバスI/F２１２、デバイスI/F２１３
・第２インタフェースクロック：操作部I/F２１０
これらのクロックはそれぞれ個別のクロックゲート回路３７０ａ〜３７０ｇによってゲート制御することが可能であり、動作不要な機能モジュールの同期回路へのクロックの供給を個別に停止させることによって、画像形成装置１００の消費電力を低減することができる。
【００２５】
クロック間引き回路３２０は、後述するクロック設定保持部３３０からの間引き制御信号に基づき、内部に備えるクロックゲート回路によって第１クロック源３００の出力クロックを基にトグルを間引いたクロック（間引きクロック）を出力する。図４（ｂ）は、クロック間引き回路３２０によって、第１クロック源３００から出力されたクロックが間引かれる様子を説明する図である。間引き制御信号によって、クロック間引きがONになると、連続する４クロックサイクル中の３サイクルを間引いた１サイクル期間を周期的にトグルするクロックが出力されることが示されている。このとき、CPUクロックは、クロック間引き回路３２０からの出力クロックを２分周回路３６０ｂによって２分周したものとなるので、通常時の周波数に対して１／４に低減した周波数（周期は４倍）のクロックとなる。なお、本実施例においてはクロック間引き回路の一例として、４クロックサイクル中の３サイクルを間引いた１サイクル期間を周期的にトグルする例を説明したが、クロックの間引き方はこれに限定されるものではない。例えば、画像形成装置１００の消費電力の低減のために必要なクロックの周波数に応じて、７クロックサイクル中の６サイクルを間引くような構成であってもよい。動作を遅くしてもよい機能モジュールの同期回路に対して、このように低減した周波数のクロックを供給することによって、同期回路を動作させたまま画像形成装置１００の消費電力を低減することができる。
【００２６】
クロック設定保持部３３０は、クロック間引き回路３２０及びクロックゲート回路３７０ａ〜３７０ｇを制御する設定指示の内容を保持し、それぞれのクロック制御信号（間引き制御信号及びゲート制御信号）を出力する回路である。クロック設定保持部３３０が保持するクロック制御のための設定は、CPU２０１からシステムバス２０８を介してなされる。
【００２７】
＜通常クロック出力状態から間引きクロック出力状態への移行＞
図５は、クロック間引き回路３２０が通常のクロックを出力する状態から、間引きクロックを出力する状態に移行する過程を説明する図である。本実施例においては、DRAMクロック、メモリコントローラバスクロック、第１インタフェースクロック、CPUクロック、第１バスクロック及び第２バスクロックは、共通のクロック源である第１クロック源３００を基に生成されるクロックである。そのため、これらのクロックは、図５において保線で示す「エッジ一致」のタイミングで立ち上がりエッジが一致する、相互に同期の取れた関係（以下、同期関係）のクロックを構成できる。従って、これらのクロックで動作する同期回路は、データ転送が発生するクロック間でのタイミング設計を行うことによって、同期回路の正常なデータ転送の動作を保障できる。一方、第１クロック源３００とは独立したクロック源である第２クロック源３１０を基に生成される第２インタフェースクロックと上記クロック群とは、同期の取れていない関係（以下、非同期関係）となる。そのため、第２インタフェースクロックで動作する同期回路とのデータ転送にはデータの同期化回路が必要となる。
【００２８】
また、図４の例では、連続する４クロック中の３クロックを間引く例について説明したので、第１クロック源３００を基に生成されるクロックと、当該第１クロック源３００からクロック間引き回路３２０を介して生成されるクロックと、が同期関係となっている。しかし、クロック間引き回路３２０が、例えば、連続する３クロック中の２クロックを間引く場合、第１クロック源３００を基に生成されるクロックと、当該第１クロック源３００からクロック間引き回路３２０を介して生成されるクロックと、が非同期関係となる場合がある。この場合、クロック間引き回路３２０を介して生成されるクロックが供給される回路とのデータ転送にはデータの同期化回路が必要となる。
【００２９】
なお、クロック生成部２０５が出力するクロックの中でDRAMクロック、メモリコントローラバスクロック、第１インタフェースクロックは、クロック間引き回路３２０から出力されるクロックとは無関係の、周波数が固定のクロックである。これらは、周波数が動的に変化することが許可されない場合や、周波数が予め定められた所定の周波数でなければならない場合に使用されるクロックである。そして、CPUクロック、第１バスクロック、第２バスクロックは、クロック間引き回路３２０が出力するクロックを基に分周して生成される分周クロックであり、クロックの間引き設定にしたがって、周波数が可変のクロックである。図５に示す「クロック間引きON」のタイミングでクロック間引き設定がONになると、クロック間引き回路３２０が出力するクロックの周波数が低減する。このように、クロック間引き回路３２０が通常時の周波数から低減した周波数を出力するように変わる際、クロックの周波数比が変わるだけでなく、どのくらい間引くかによって位相もずれてしまう。図５の例では、メモリコントローラバスクロックと第１バスクロックは、周波数比１：１の関係から４：１の関係に変わるのみで、立ち上がりエッジが一致するタイミングが４サイクルに１回は存在している。
【００３０】
＜間引きクロック出力状態から通常クロック出力状態への移行＞
図６は、クロック間引き回路３２０が間引きクロックを出力する状態から、通常のクロックを出力する状態に移行する過程を説明する図である。図６に示す「クロック間引きOFFのタイミングでクロック間引き設定がOFFになると、クロック間引き回路３２０が出力するクロックは通常時の周波数に戻る。このように、クロック間引き回路３２０から出力されるクロックの周波数が、低減した状態から通常の状態に戻る際に、上述したクロックの周波数比も元に戻る。例えば、上述のメモリコントローラバスクロックと第１バスクロックとの間の周波数比は、４：１の関係から１：１の関係に戻り、立ち上がりエッジのタイミングは毎サイクル一致することになる。
【００３１】
＜画像形成装置における省電力制御＞
次に、画像形成装置１００のメインコントローラ１０１による省電力制御について説明する。画像処理装置１００は、その稼動状態に応じて消費電力の異なる２種類の動作モード（通常モードと省電力モード）を備える。画像形成装置１００は、操作部１０２が所定の期間中にユーザからの操作を受け付けなかった場合や、印刷ジョブを実行しなかった場合に、通常の動作状態である通常モードから、消費電力を低減した待機状態である省電力モードに移行する。従って、省電力モードにおいては印刷ジョブなどを実行することはなく、メインコントローラ１０１上の一部の機能モジュールは動作する必要のない状態、あるいは、動作速度を低減しても支障がない状態になる。すなわち、省電力モード下では、クロック生成部２０５がメインコントローラ１０１上の一部の機能モジュールに供給するクロックを停止、あるいは、周波数を低減することができる状態となっている。
【００３２】
図７は、省電力モード時における、メインコントローラ１０１の各機能モジュールへのクロックの供給状態を示す図である。図７において、クロック生成部２０５から出力される通常クロック（すなわち、低減されていない周波数のクロック）で動作するモジュールは、DRAM２０３、メモリコントローラ２０２、操作部I/F２１０、LAN I/F２１１、同期・非同期化I/F２１４である。そして、クロック生成部２０５から出力される間引きクロック（すなわち、低減された周波数のクロック）で動作するモジュールは、CPU２０１、ROM２０４及びシステムバス２０８である。さらに、クロックゲート回路のゲート制御によりクロック生成部２０５からのクロック供給が停止することで、動作を停止するモジュールは、イメージバスI/F２１２、デバイスI/F２１３、スキャナ画像処理部２０６、プリンタ画像処理部２０７、イメージバス２０９である。
【００３３】
省電力モード時には、このようにクロック周波数の低減、或いは、クロック供給の停止によって、消費電力を通常モードよりも低く抑えることができる。そして、操作部１０２を介した復帰指示操作をユーザが行ったり、PC１０５からLAN１０６を介して印刷ジョブを受信すると、停止しているクロック供給が再開され、或いは低減されていたクロックの周波数が通常の周波数に戻される。これにより、画像形成装置１００は、省電力モードから通常モードへと復帰し、印刷ジョブなどの処理の実行が可能な状態となる。
【００３４】
＜同期・非同期化I/F＞
続いて、同期・非同期化I/F２１４の詳細について説明する。図８は、同期・非同期化I/F２１４の内部構成とその動作を説明する図である。
【００３５】
図８（ａ）には、クロック生成部２０５から出力されるクロックのうち、DRAMクロック、メモリコントローラバスクロック、第１バスクロック、CPUクロックの供給先が示されている。DRAMクロックは、メモリコントローラ２０２を介してDRAM２０３に供給される。メモリコントローラバスクロックは、メモリコントローラ２０２と同期・非同期化I/F２１４に供給される。第１バスクロックは、システムバス２０８と同期・非同期化I/F２１４に供給される。そして、CPUクロックは、CPU２０１に供給される。
【００３６】
メモリコントローラ２０２内では、DRAMクロックとメモリコントローラバスクロックは、周波数比が２：１の固定された同期関係でデータのやり取りを行う。また、メモリコントローラ２０２を介して、DRAM２０３とのデータ転送に使用されるDRAMクロックは、DRAM２０３の動作中に動的に周波数が変化することは好ましくない。そのため、DRAMクロック及び該DRAMクロックと同期関係にあるメモリコントローラバスクロックは、周波数が固定である。
【００３７】
CPUクロックと第１バスクロックは、クロック間引き回路３２０における間引き制御によって、前述の図５で示したように周波数が低減される。CPUクロックと第１バスクロックは、周波数比（すなわち、同期関係）を維持したまま周波数が低減されるため、CPU２０１及びシステムバス２０８上のデータ転送は問題なく行うことができる。
【００３８】
続いて、同期・非同期化I/F２１４の内部構成について説明する。同期・非同期化I/F２１４は、バスインタフェース回路８０１、第１データパス選択回路８０２、同期化回路８０３、第２データバス選択回路８０４、メモリコントローラインタフェース回路８０５、データパス設定保持回路８０６から構成される。
【００３９】
バスインタフェース回路８０１は、システムバス２０８側のバスプロトコルに則った同期のデータ転送を行う。
【００４０】
メモリコントローラインタフェース回路８０５は、メモリコントローラ２０２側のインタフェース仕様に基づいた同期のデータ転送を行う。
【００４１】
第１データパス選択回路８０２は、使用するデータパス（すなわち、同期化回路８０３と第２データパス選択回路８０４とのどちらとデータのやり取りを行うか）を、データパス選択制御信号に基づいて選択するセレクタ回路である。
【００４２】
第２データパス選択回路８０４は、使用するデータパス（すなわち、第１データパス選択回路８０２と同期化回路８０３とのどちらとデータのやり取りを行うか）をデータパス選択制御信号に基づいて選択するセレクタ回路である。
【００４３】
データパス設定保持回路８０６は、CPU２０１から送られてくるデータパス選択の設定指示を保持し、保持したデータパス選択設定を第１データパス選択回路８０２と第２データパス選択回路８０４に対し、データパス選択制御信号として出力する。
【００４４】
同期化回路８０３は、バスインタフェース回路８０１に供給されるクロック同期のデータとメモリコントローラインタフェース回路８０５に供給されるクロック同期のデータを、それぞれ受信する側のクロック同期のデータに変換する回路である。この同期化回路８０３は、例えばFIFO（First In First Out）のバッファで構成され、バスインタフェース回路８０１から入力したデータをメモリコントローラインタフェース回路８０５に出力し、メモリコントローラインタフェース回路８０５から入力したデータをバスインタフェース回路８０１に出力する。
【００４５】
同期・非同期化I/F２１４に供給されたメモリコントローラバスクロックは、メモリコントローラインタフェース回路８０５と同期化回路８０３に供給される。また、同期・非同期化I/F２１４に供給された第１バスクロックは、バスインタフェース回路８０１と同期化回路８０３に供給される。
【００４６】
ここで、メモリコントローラバスクロックは周波数が固定であるのに対し、第１バスクロックは周波数が可変であるため、省電力モードにおいてはメモリコントローラバスクロックと第１バスクロックとは同期関係でなくなるときがある。図８（ｂ）は、第１バスクロックの周波数が通常時の周波数であって、メモリコントローラバスクロックと第１バスクロックとが同期関係にあるときの同期・非同期化I/F２１４内のデータパスの使用を示す図である。図８（ｂ）において、第１データパス選択回路８０２と第２データパス選択回路８０４は、データ選択制御信号に従い、バスインタフェース回路８０１とメモリコントローラインタフェース回路８０５との間で直接にデータ転送を行う同期データパスを選択する。このとき、メモリコントローラインタフェース回路８０５に供給されるメモリコントローラバスクロックとバスインタフェース回路８０１に供給される第１バスクロックは、同じ位相かつ同じ周波数のクロックである。従って、システムバス２０８とメモリコントローラ２０２の間は、クロック同期で遅延のない高速なデータ転送を行うことができる。
【００４７】
一方、図８（ｃ）は、第１バスクロックの周波数が通常時よりも低減した周波数であって、メモリコントローラバスクロックと第１バスクロックとが同期関係にないときときの同期・非同期化I/F２１４内のデータパスの使用を示す図である。図８（ｃ）において、第１データパス選択回路８０２と第２データパス選択回路８０４は、データ選択制御信号に従い、バスインタフェース回路８０１とメモリコントローラインタフェース回路８０５との間のデータ転送を、同期化回路８０３を介して行なう非同期データパスを選択する。このとき、メモリコントローラインタフェース回路８０５に供給されるメモリコントローラバスクロックとバスインタフェース回路８０１に供給される第１バスクロックとは、周波数のみならず位相も異なっている可能性がある。従って、同期化回路８０３を介することによって、入力側のインタフェース回路のクロックから出力側のインタフェース回路のクロックへの乗せ換えに要するデータ転送の遅延は生じるが、安全な（システムバス８０７とメモリコントローラ２０２との間でデータの消失など発生することのない）データ転送を行うことができる。なお、図４に示したように、同一のクロック源の４サイクルのうち３サイクルを間引いた間引きクロックから可変分周クロックを生成する本実施例の場合は、低減させた周波数においても立ち上がりエッジが一致するタイミングが存在することになる。この場合、理論的には同期化回路を経由する必要はないということになるが、省電力モードでは高速なデータ転送は要求されないので、同期化回路を介したデータパスを選択しても支障はない。
【００４８】
＜データパス制御・クロック制御＞
次に、本実施例に係る、メインコントローラ１０１によるデータパス制御とクロック制御について、フローチャートを参照して説明する。
【００４９】
まず、通常モードから省電力モードに移行する際の制御について、図９を参照して説明する。
【００５０】
ステップ９０１において、メインコントローラ１０１内のCPU２０１は、通常モードから省電力モードに移行する原因が生じたかどうかを判定する。この原因には、例えば印刷ジョブの実行がないまま所定時間（例えば、１５分）が経過したこと等が挙げられる。このような所定の原因の発生が確認された場合は、ステップ９０２に進む。一方、このような所定の原因の発生が確認されない場合は、その監視を継続する。
【００５１】
ステップ９０２において、CPU２０１は、非同期データパスを選択するデータパス選択設定の指示を、システムバス２０８を介して同期・非同期化I/F２１４に送信する。
【００５２】
ステップ９０３において、同期・非同期化I/F２１４は、受信したデータパス選択設定指示の内容を保持すると共に、第１データパス選択回路８０２と第２データパス選択回路８０４に対し非同期データパスを選択する設定を行なう。これにより、バスインタフェース回路８０１とメモリインタフェース回路８０５との間のデータパスとして、同期化回路８０３を介したデータパスが選択される。データパスの設定が完了すると、同期・非同期化I/F２１４は、例えば割り込み信号を用いて、CPU２０１にデータパスの設定完了を通知する。
【００５３】
ステップ９０４において、CPU２０１は、特定のクロックのゲートをONにする設定指示とクロックを間引く設定指示を、システムバス２０８を介してクロック生成部２０５に送信する。
【００５４】
ステップ９０５において、クロック生成部２０５内のクロック設定保持部３３０は、受信した２種類の設定指示の内容を保持すると共に、所定の制御信号を出力する。すなわち、対応するクロックゲート回路にゲートをONにするゲート制御信号を出力し、クロック間引き回路３２０に間引きをONにする間引き制御信号を出力する。この場合において、前述の図７の状態を実現するための制御信号の詳細は以下の通りである。
【００５５】
【表１】
0006429549.tif 000002
【００５６】
ステップ９０６において、クロック生成部２０５内の特定のクロックゲート回路（上述の例ではクロックゲート回路３７０ｆ）は、クロック設定保持部３３０からのゲート制御信号に基づいてゲートをONにする。これにより、動作を停止しても構わない所定の機能モジュールへのクロックの供給が停止される。
【００５７】
ステップ９０７において、クロック生成部２０５内のクロック間引き回路３２０は、クロック設定保持部３３０からの間引き制御信号に基づいて間引きをONにする。これにより、動作速度を遅くしても構わない所定の機能モジュールに対し低減された周波数のクロックが供給される。こうして、省電力モードへの移行処理が完了する。
【００５８】
以上が、通常モードから省電力モードに移行する際の制御処理の内容である。なお、図９から明らかなように、ステップ９０６とステップ９０７は並列に処理される。これにより、画像形成装置１００の消費電力を低く抑えながら、システムバス２０８とメモリコントローラ２０２との間でデータの消失などが発生することのない安全なデータ転送が可能となる。
【００５９】
次に、省電力モードから通常モードに復帰する際の制御について、図１０を参照して説明する。
【００６０】
ステップ１００１において、メインコントローラ１０１内のCPU２０１は、省電力モードから通常モードに移行する原因が生じたかどうかを判定する。この原因には、例えばPC１０５からLAN１０６を介して印刷ジョブを受信したこと等が挙げられる。このような所定の原因の発生が確認された場合は、ステップ１００２に進む。一方、このような所定の原因の発生が確認されない場合は、その監視を継続する。
【００６１】
ステップ１００２において、CPU２０１は、停止されていた特定のクロックの供給を再開する設定指示と低減されていた特定のクロックの周波数を通常の周波数に戻す設定指示を、システムバス２０８を介してクロック生成部２０５に送信する。
【００６２】
ステップ１００３において、クロック生成部２０５内のクロック設定保持部３３０は、受信した２種類の設定指示の内容を保持すると共に、所定の制御信号を出力する。具体的には、対応するクロックゲート回路（上述の例では、クロックゲート回路３７０ｆ）に対し、ゲートをOFFにするゲート制御信号を出力する。さらに、クロック間引き回路３２０に対し、間引きをOFFにする間引き制御信号を出力する。
【００６３】
ステップ１００４において、クロック生成部２０５内の特定のクロックゲート回路（上述の例では、クロックゲート回路３７０ｆ）は、クロック設定保持部３３０からのゲート制御信号に基づいてゲートをOFFにする。これにより、クロックの供給が再開される。
【００６４】
ステップ１００５において、クロック生成部２０５内のクロック間引き回路３２０は、クロック設定保持部３３０からの間引き制御信号に基づいて間引きをOFFにする。これにより、通常の周波数のクロックの出力が再開される。
【００６５】
ステップ１００６において、CPU２０１は、同期データパスを選択するデータパス選択設定の指示を、システムバス２０８を介して同期・非同期化I/F２１４に送信する。
【００６６】
ステップ１００７において、同期・非同期化I/F２１４は、受信したデータパス選択設定指示の内容を保持すると共に、第１データパス選択回路８０２と第２データパス選択回路８０４に対して上述の同期データパスを選択する設定を行なう。これにより、バスインタフェース回路８０１とメモリコントローラインタフェース回路８０５との間のデータパスとして、同期化回路８０３を介さない（回路８０１と回路８０５との間で直接データ転送を行う）データパスが設定される。データパスの設定が完了すると、同期・非同期化I/F２１４は、例えば割り込み信号を用いて、CPU２０１にデータパスの設定完了を通知する。こうして、通常モードへの復帰処理が完了する。
【００６７】
以上が、省電力モードから通常モードに移行する際の制御処理の内容である。なお、図１０から明らかなように、ステップ１００４とステップ１００５は並列に処理される。これにより、通常モードへの復帰後に、システムバス２０８とメモリコントローラ２０２との間で遅延のないクロック同期のデータ転送が可能となる。
【００６８】
なお、上述の図９及び図１０のフローチャートにおけるデータパスの選択・設定は、システムバス２０８とDRAM２０３との間でデータ転送が行なわれていない状態で行う必要がある。そのため、DRAM２０３がCPU２０１のワークメモリとして使用されている場合などは、上記フローの制御は、例えばCPU２０１がROM２０４に格納されたプログラムを処理することで実現される。
【００６９】
また、本実施例では、同期・非同期化I/F２１４を独立した機能モジュールとして説明したが、メモリコントローラ２０２内に、同期・非同期化I/F２１４に相当する機能を有する構成でもよい。
【００７０】
さらに、本実施例では、可変周波数のクロックで動作するシステムバス２０８と固定周波数のクロックで動作するメモリコントローラ２０２との間のデータ転送を円滑に行なうべく両者の間に同期・非同期化I/F２１４を設ける構成としたが、この構成に限られない。可変周波数のクロックで動作する機能モジュールと固定周波数のクロックで動作する機能モジュールとの間で、同期と非同期のデータ転送が発生し得る状況下において、両機能モジュールの間に上述の同期・非同期化I/Fを設けることで同様の効果が得られる。
【００７１】
以上の通り本実施例によれば、複数の異なる種類のクロックが同期関係にない場合において、クロックのエッジ位置が相互に一致しない構成の下でもデータ転送が可能である。また、これらクロックが同期関係にある場合には遅延のないデータ転送を行うことができ、たとえ非同期関係にある場合でも安全なデータ転送を行うことができる。
【実施例２】
【００７２】
実施例１は、周波数が固定のクロックと周波数が可変のクロックとの間のデータ転送において、同期用のデータパスと非同期用のデータパスを選択的に切り替える態様であった。そして、周波数が固定のクロックと周波数が可変のクロックのいずれも、共通の第１クロック源３００から分周して生成されていた。そのため、異なる周波数のクロックであっても立ち上がりエッジが一致するタイミングが必ず存在し、クロック生成部２０５におけるクロックの生成の仕方を工夫することで、機能モジュール間のデータ転送を同期で扱うことができた。
【００７３】
しかしながら、省電力モード時に使用するための低減された周波数を、異なるクロック源（より低周波数のクロック源）を用いて生成する場合もある。この場合は、省電力モード時に用いるための同期関係にある周波数が低減されたクロックの生成が困難である。
【００７４】
そこで、省電力モード時の低減された周波数を異なるクロック源を用いて生成する場合における、機能モジュール間のデータ転送を円滑に行なうための態様を、実施例２として説明する。なお、実施例１と共通する部分（画像形成装置１００の基本構成及びメインコントローラ１０１の内部構成）については説明を省略し、以下では、差異点（クロック生成部の内部構成と動作モードの移行制御）を中心に説明するものとする。
【００７５】
＜クロック生成部＞
図１１は、本実施例に係る、クロック生成部２０５’の内部構成を示すブロック図である。本実施例のクロック生成部２０５’は、第１クロック源３００、第２クロック源３１０に加えて、第３クロック源１１００を備える。また、クロック間引き回路３２０に代えてクロック選択回路１１１０を備え、該クロック選択回路１１１０の設定を行なうクロック設定保持部１１２０を備える。さらに、クロック生成部２０５’は、複数の分周回路とクロックゲート回路（２分周回路３６０ａ、３６０ｃ、３６０ｄ、４分周回路３６１ａと３６１ｂ、８分周回路３６２、クロックゲート回路３７０ａ〜３７０ｇ）を備える。
【００７６】
第３クロック源１１００は、他のクロック源と同様に、水晶発振器やＰＬＬなどで構成される発振回路であり、第１クロック源３００の２分周クロックの周波数よりも低い周波数で発振する。例えば、第１クロック源３００の周波数は1600MHｚ、第２クロック源３１０の周波数は20MHz、第３クロック源１１００の周波数は50MHｚといった具合である。上述の通り、第３クロック源１１００は、省電力モード時の消費電力を低く抑える際に用いるクロックである。
【００７７】
クロック選択回路１１１０は、後述するクロック設定保持部１１２０からのクロック選択制御信号に基づいて、第１クロック源３００を基に２分周する２分周回路３６０ｄの出力クロックと第３クロック源１１００の出力クロックのどちらかを選択して出力する。省電力モード時には、動作を遅くしても構わない機能モジュールに対し周波数の低い第３クロック源のクロックを供給することによって、機能モジュールの同期回路を動作させたまま画像形成装置１００の消費電力を低減することができる。
【００７８】
クロック設定保持部１１２０は、クロック選択回路１１１０及びクロックゲート回路３７０ａ〜３７０ｇを制御する設定指示の内容を保持し、それぞれのクロック制御信号（選択制御信号及びゲート制御信号）を出力する回路である。クロック設定保持部１１２０が保持するクロック制御のための設定は、CPU２０１からシステムバス２０８を介してなされる。
【００７９】
＜クロック選択回路によるクロックの切り替え＞
まず、第１クロック源３００を２分周した分周クロックを選択した状態から、第３クロック源１１００の出力クロックを選択した状態へと切り替える場合について説明する。
【００８０】
図１２は、クロック選択回路１１１０が、第１クロック源３００を基に２分周する２分周回路３６０ｄの出力クロックを選択した状態から、第３クロック源１１００の出力クロックを選択する状態に移行する過程を説明する図である。図１２において破線で示す「選択切替」のタイミングで、第１クロック源３００を２分周した分周クロックを選択した状態から、第３クロック源１１００の出力クロックを選択した状態へと切り替わることで、クロック選択回路１１１０の出力クロックの周波数は低減する。
【００８１】
図１２において、「選択切替」のタイミングの前では、クロック選択回路１１１０が選択しているクロックは、第１クロック源３００を基に２分周した分周クロックである。このとき、DRAMクロック、メモリコントローラバスクロック、第１インタフェースクロック、CPUクロック、第１バスクロック、第２バスクロックは、共通の第１クロック源３００を基に生成されたクロックである。そのため、これらのクロックは、図１２における「選択切替」のタイミングで立ち上がりエッジが一致するクロック、すなわち同期関係にあるクロックとなる。従って、これらのクロックで動作する同期回路は、データ転送が行なわれるクロック間でのタイミング設計を行うことによって、その動作を保障できる。
【００８２】
一方、図１２において、「選択切替」のタイミングの後では、クロック選択回路１１１０が選択しているクロックは、第３クロック源１１００の出力クロックである。このとき、第１クロック源を基に生成される上述のクロック群と、第３クロック源を基に生成されるクロック群（CPUクロック、第１バスクロック、第２バスクロック）とは、位相及び周波数が異なり、互いに非同期関係にある。従って、これらの非同期関係にあるクロック間で動作する回路においては、データ転送の遅延が生じたとしても、データの消失などが発生することなく安全にデータを転送するための同期化回路が必要となる。
【００８３】
次に、第３クロック源１１００の出力クロックを選択した状態から、第１クロック源３００を２分周した分周クロックを選択した状態へと切り替える場合について説明する。
【００８４】
図１３は、クロック選択回路１１１０が第３クロック源１１００の出力クロックを選択した状態から、第１クロック源３００を基に２分周した分周クロックを選択する状態に移行する過程を説明する図である。図１３において破線で示す「選択切替」のタイミングで、第３クロック源１１００の出力クロックを選択した状態から、第１クロック源３００を２分周した分周クロックを選択した状態に切り替わることで、クロック選択回路１１１０の出力クロックの周波数は通常時の周波数に戻る。さらに、固定周波数のクロックであるDRAMクロック等のクロック群と可変周波数のクロックであるCPUクロック等のクロック群とが、図１３における「エッジ一致」のタイミングで立ち上がりエッジが一致するようになる。これにより、第２インタフェースクロックを除くすべてのクロックの同期が取れた状態に戻る。
【００８５】
＜データパス制御・クロック制御＞
続いて、本実施例に係る、メインコントローラ１０１によるデータパス制御とクロック制御について、フローチャートを参照して説明する。
【００８６】
まず、通常モードから省電力モードに移行する際の制御について、図１４を参照して説明する。
【００８７】
ステップ１４０１〜ステップ１４０３は、実施例１の図９のフローにおけるステップ９０１〜ステップ９０３に対応する。すなわち、省電力モードに移行する原因が生じたかどうかの判定（Ｓ１４０１）、非同期データパスを選択する設定指示の同期・非同期化I/F２１４への送信（Ｓ１４０２）、非同期データパスの選択設定（Ｓ１４０３）が実行される。
【００８８】
ステップ１４０４において、CPU２０１は、特定のクロックのゲートをONにする設定指示と第３クロック源１１００の出力クロック選択の設定指示を、システムバス２０８を介してクロック生成部２０５’に送信する。
【００８９】
ステップ１４０５において、クロック生成部２０５’内のクロック設定保持部１１２０は、受信した２種類の設定指示の内容を保持すると共に、所定の制御信号を出力する。すなわち、対応するクロックゲート回路に対しゲートをONにするゲート制御信号を出力し、クロック選択回路１１１０に対し第３クロック源１１００の出力クロックの選択を指示する制御信号を出力する。
【００９０】
ステップ１４０６は、実施例１の図９のフローにおけるステップ９０６に対応する。すなわち、クロック生成部２０５’内の対応するクロックゲート回路は、クロック設定保持部１１２０からのゲート制御信号に基づいてゲートをONにする。これにより、動作を停止しても構わない所定の機能モジュールへのクロックの供給が停止される。
【００９１】
ステップ１４０７において、クロック生成部２０５’内のクロック選択回路１１１０は、クロック設定保持部１１２０からの選択制御信号に基づいて、選択するクロックを切り替える。具体的には、第１クロック源３００を２分周した分周クロックを選択した状態から、第３クロック源１１００の出力クロックを選択した状態へと切り替える。これにより、動作速度を遅くしても構わない所定の機能モジュールに対し低減された周波数のクロックが供給される。こうして、省電力モードへの移行処理が完了する。
【００９２】
以上が、本実施例に係る、通常モードから省電力モードに移行する際の制御処理の内容である。これにより、システムバス２０８とメモリコントローラ２０２との間でデータの消失などが発生することのない安全なデータ転送が可能となる。
【００９３】
次に、省電力モードから通常モードに復帰する際の制御処理について、図１５を参照して説明する。
【００９４】
ステップ１５０１は、実施例１の図１０のフローにおけるステップ１００１に対応する。すなわち、通常モードに移行する原因が生じたかどうかの判定（Ｓ１５０１）が実行される。
【００９５】
ステップ１５０２において、CPU２０１は、停止されていた特定のクロックのゲートをOFFにする設定指示と第１クロック源３００に基づく２分周クロック（通常時の周波数のクロック）選択の設定指示を、システムバス２０８を介してクロック生成部２０５’に送信する。
【００９６】
ステップ１５０３において、クロック生成部２０５’内のクロック設定保持部１１２０は、受信した２種類の設定指示の内容を保持すると共に、所定の制御信号を出力する。具体的には、対応するクロックゲート回路に対しゲートをOFFにするゲート制御信号を出力し、クロック選択回路１１１０に対し第１クロック源３００を基に生成された２分周クロックの選択を指示する制御信号を出力する。
【００９７】
ステップ１５０４は、実施例１の図１０のフローにおけるステップ１００４に対応する。すなわち、クロック生成部２０５’内の特定のクロックゲート回路は、クロック設定保持部１１２０からのゲート制御信号に基づいてゲートをOFFにする。これにより、クロックの供給が再開される。
【００９８】
ステップ１５０５において、クロック生成部２０５’内のクロック選択回路１１１０は、クロック設定保持部１１２０からの選択制御信号に基づいて、選択するクロックを切り替える。具体的には、第３クロック源１１００の出力クロックを選択した状態から、第１クロック源３００を２分周した分周クロックを選択した状態へと切り替える。これにより、通常時の周波数のクロックが出力される。
【００９９】
ステップ１５０６及びステップ１５０７は、実施例１の図１０のフローにおけるステップ１００６及びステップ１００７に対応する。すなわち、同期データパスを選択する選択設定指示の送信（Ｓ１５０６）、及び同期データパスを選択する設定（Ｓ１５０７）が実行される。こうして、通常モードへの復帰処理が完了する。
以上が、本実施例に係る、省電力モードから通常モードに復帰する際の制御処理の内容である。これにより、システムバス２０８とメモリコントローラ２０２との間で遅延のないクロック同期のデータ転送を行えるようになる。
【０１００】
以上のとおり本実施例によれば、通常モード時は、単一のクロック源を用いた同期関係にある複数のクロックによって遅延のない同期データ転送を行うことができる。また、省電力モード時は、より低周波数の独立したクロック源を用いて消費電力を低減しながら、非同期関係にあるクロックによって安全なデータ転送を行うことができる。
【０１０１】
［その他の実施形態］
本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0006429549.tif 000003
【図２】
0006429549.tif 000004
【図３】
0006429549.tif 000005
【図４】
0006429549.tif 000006
【図５】
0006429549.tif 000007
【図６】
0006429549.tif 000008
【図７】
0006429549.tif 000009
【図８】
0006429549.tif 000010
【図９】
0006429549.tif 000011
【図１０】
0006429549.tif 000012
【図１１】
0006429549.tif 000013
【図１２】
0006429549.tif 000014
【図１３】
0006429549.tif 000015
【図１４】
0006429549.tif 000016
【図１５】
0006429549.tif 000017