(57)【特許請求の範囲】
【請求項１】
情報処理装置を構成するデバイスを接続するシステムバスと、前記システムバスの使用に関するアービトレーションを行なうアービタと、前記デバイスに供給するクロックを制御するクロック制御回路を備えた情報処理装置におけるバス制御方法であって、
前記クロックの切替え又は停止の要求に応じて前記システムバスに接続されたデバイスの内アービトレーションが最優先のデバイスに前記アービタに対するバス使用要求を実行させるステップと、
前記アービトレーションが最優先のデバイスに対してシステムバスの使用を許可するステップと、
前記バス使用許可後に前記アービトレーションが最優先のデバイスがバスマスタとなった状態でクロックの切替え又は停止を実行するステップを備えたバス制御方法。
【請求項２】
前記アービトレーションが最優先のデバイスは、前記クロック制御回路であることを特徴とする請求項１記載のバス制御方法。
【請求項３】
情報処理装置を構成するデバイスを接続するシステムバスと、このシステムバスの使用に関するアービトレーションを行なうアービタと、前記デバイスに対して供給するクロックを制御するクロック制御回路を備えた情報処理装置におけるバス制御方法であって、
前記クロック制御回路から前記アービタに対してバス使用要求を実行するステップと、
前記アービタから前記クロック制御回路に対してバス使用許可を実行するステップと、
前記バス使用許可後に当該クロック制御回路がバスマスタとなった状態で前記クロック制御回路によりクロックの切替え又は停止を実行するステップを備えたバス制御方法。
【請求項４】
前記クロック制御回路から所定レジスタを転送先アドレスに指定して所定データを転送するステップと、
当該レジスタへの所定データの書込みに応じてクロックの切替え又は停止を実行するステップをさらに備えたことを特徴とする請求項２又は３記載のバス制御方法。
【請求項５】
前記クロック制御回路以外の他のデバイスによって所定レジスタへ所定データを書き込むステップと、
前記レジスタへの所定データの書込みに応じてクロックの切替え又は停止を実行するステップをさらに備えたことを特徴とする請求項２、３又は４記載のバス制御方法。
【請求項６】
前記情報処理装置は、第１のクロックを出力する発振器と、当該第１のクロックの位相を調整し、第２のクロックを出力するＰＬＬ回路を備え、
停止されたクロックを復帰させる場合には、当該ＰＬＬ回路により第１のクロックの位相調整が完了するまでは前記第１のクロックを使用し、第１のクロックの位相調整が完了した後は前記第２のクロックを使用することを特徴とする請求項２、３、４又は５記載のバス制御方法。
【請求項７】
中央処理装置を介さないメモリと周辺機器の間のデータ転送の有無や当該データ転送において要求される転送速度に応じて、前記クロック制御回路に対してクロックの切替や停止を要求するステップをさらに備えたことを特徴とする請求項２、３、４、５又は６記載のバス制御方法。
【請求項８】
前記デバイスは、少なくとも中央処理装置及び周辺処理装置を含み、当該中央処理装置はローカルバスに接続され、当該周辺処理装置は周辺バスに接続されるとともに、当該ローカルバスと周辺バスとの間のデータ及びアドレス信号の転送を調整するバス・インターフェースを前記情報処理装置は備えていることを特徴とする請求項２、３、４、５、６又は７記載のバス制御方法。
【請求項９】
情報処理装置を構成するデバイスを接続するシステムバスと、このシステムバスの使用に関するアービトレーションを行なうアービタと、前記デバイスに対して供給するクロックを制御するクロック制御回路を備えた情報処理装置におけるバス制御方法であって、
前記クロック制御回路以外のデバイスから前記アービタに対してバス使用要求を実行するステップと、
前記アービタからバス使用要求を実行したデバイスに対してバス使用許可を実行するステップと、
このデバイスによって所定レジスタへ所定データを書き込むステップと、
前記レジスタへの所定データの書込みに応じてクロックの切替え又は停止を実行するステップを備えたバス制御方法。
【請求項１０】
情報処理装置を構成するデバイスを接続するシステムバスと、前記システムバスに接続されたデバイスの内アービトレーションが最優先のデバイスに対してバスの使用を許可するアービタと、前記デバイスに供給するクロックを制御するクロック制御回路を備えた情報処理装置であって、
前記クロックの切替え又は停止の要求に応じて前記アービトレーションが最優先のデバイスに前記アービタに対するバス使用要求を実行させる手段と、
前記バス使用許可後に前記アービトレーションが最優先のデバイスがバスマスタとなった状態でクロックの切替え又は停止を実行する手段を備えた情報処理装置。
【請求項１１】
前記アービトレーションが最優先のデバイスは、前記クロック制御回路であることを特徴とする請求項１０記載の情報処理装置。
【請求項１２】
情報処理装置を構成するデバイスを接続するシステムバスと、このシステムバスの使用に関するアービトレーションを行なうアービタと、前記デバイスに対して供給するクロックを制御するクロック制御回路を備えた情報処理装置であって、
前記クロック制御回路は、
前記アービタに対してバス使用要求を実行する手段と、
前記アービタから実行されたバス使用許可後にクロックの切替え又は停止を実行する手段を備えた情報処理装置。
【請求項１３】
前記クロック制御回路のクロックの切替又は停止を実行する手段は、
所定レジスタを転送先アドレスに指定して所定データを転送する手段と、
当該レジスタへの所定データの書込みに応じてクロックの切替え又は停止を実行する手段を備えたことを特徴とする請求項１１又は１２記載の情報処理装置。
【請求項１４】
前記クロック制御回路のクロックの切替又は停止を実行する手段は、
前記前記クロック制御回路以外の他のデバイスによって所定レジスタへ所定データを書き込む手段と、
前記レジスタへの所定データの書込みに応じてクロックの切替え又は停止を実行する手段を備えたことを特徴とする請求項１１、１２又は１３記載の情報処理装置。
【請求項１５】
前記情報処理装置は、第１のクロックを出力する発振器と、当該第１のクロックの位相を調整し、第２のクロックを出力するＰＬＬ回路を備え、停止されたクロックを復帰させる場合には、当該ＰＬＬ回路により第１のクロックの位相調整が完了するまでは前記第１のクロックを使用し、第１のクロックの位相調整が完了した後は前記第２のクロックを使用することを特徴とする請求項１１、１２、１３又は１４記載の情報処理装置。
【請求項１６】
中央処理装置を介さないメモリと周辺機器の間のデータ転送の有無や当該データ転送において要求される転送速度に応じて、前記クロック制御回路に対してクロックの切替や停止を要求する電源管理ユニットをさらに備えたことを特徴とする請求項１１、１２、１３、１４又は１５記載の情報処理装置。
【請求項１７】
前記デバイスは、少なくとも中央処理装置及び周辺処理装置を含み、当該中央処理装置はローカルバスに接続され、当該周辺処理装置は周辺バスに接続されるとともに、当該ローカルバスと周辺バスとの間のデータ及びアドレス信号の転送を調整するバス・インターフェースをさらに備えていることを特徴とする請求項１１、１２、１３、１４、１５又は１６記載の情報処理装置。
【請求項１８】
情報処理装置を構成するデバイスを接続するシステムバスと、このシステムバスの使用に関するアービトレーションを行なうアービタと、前記デバイスに対して供給するクロックを制御するクロック制御回路を備えた情報処理装置であって、
前記クロック制御回路以外のデバイスから前記アービタに対してバス使用要求を実行する手段と、
バス使用許可が実行されたデバイスによって所定レジスタへ所定データを書き込む手段と、
前記レジスタへの所定データの書込みに応じてクロックの切替え又は停止を実行する手段を備えた情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バス制御方法及び情報処理装置に関するものであり、より詳しくは、クロック切替えを動的に行うバス制御方法及び情報処理装置に関する。
【０００２】
【従来の技術】
通常、ＣＰＵ（中央処理装置：Central Processor Unit）を有する情報処理装置では、低消費電力化が共通の課題となっている。特に、携帯電話機や携帯端末等の携帯用の情報処理装置では、電池を電源とするため低消費電力化が急務となっている。そこで、消費電力を低減させるために、例えば、非活性な回路部分のクロックを停止させたり、高速な動作が要求されていない回路部分のクロックを低速に切替えたりしている。
【０００３】
このような処理を実現するために、システムは、通常、電源管理ユニットを備えている。この電源管理ユニットは、非活性な回路部分の検出又は予測を行い、それに従ってその非活性な回路部分に関連するクロック信号を停止させる命令を発する。また、時間が決定的でない動作モードの回路部分を駆動するクロックを低速に切替える命令を発する必要もある。
【０００４】
クロック切替えや停止を実行する際に、バスでＣＰＵを介さないメモリと周辺機器とのデータ伝送（以下、「ＤＭＡ」とする）が行われていると、データ転送に失敗する可能性がある。例えば、ＤＭＡのメモリリード・サイクルが１クロック毎にメモリ・アドレスをインクリメントしながら連続してデータが出力されるバースト転送で行われているときに、クロックが停止または減速され、所与の時間内にクロックエッジを受け取れなければ、バスマスタはクロック切替え直後のデータを失う可能性がある。そのため、バスでＤＭＡが行われていないタイミングでクロック切替えや停止を実行する必要がある。
【０００５】
このような問題点を解決するための一手段が特開平7-152499号公報に開示されている。この文献では、クロック制御回路が、周辺処理装置からのバス・リクエスト信号、即ち、マスタがバスの使用を要求する信号をモニタする情報処理装置が提案されている。
【０００６】
図２に、この特開平7-152499号公報にかかる情報処理装置の構成を示す。特開平7-152499号公報では、図２に示されるように、周辺処理装置であるマスタ１（１０）、マスタ２（１１）からのバス・リクエスト信号の有無をクロックリクエストとして電力管理ユニット４に伝えている。そして、電力管理ユニット４は、バスの使用要求が無ければ、クロックを停止、または減速される制御を行い、省電力化を実現している。
【０００７】
【発明が解決しようとする課題】
ところが、特開平7-152499号公報に開示された情報処理装置では、バス・リクエストが複数のマスタ・デバイスによって連続してアサートされているときは、クロック切替えが実行できない。そのため、低速にクロックを切り替えることができず、高速クロックで動作し続ければならないことになり、無駄な電力を消費してしまう。逆に、低速クロックで動作している状態で高速動作が求められた場合にあっては、バス・リクエストが連続してアサートされていると、やはり、高速クロックに切り替えることができない。
【０００８】
また、別の問題として、バス・リクエストがディアサート（無効に）されている場合でも、実際には、バースト転送等のように一旦バス・マスタになるとバス・リクエストをディアサートして転送を継続させる場合があるため、バスの使用要求の有無だけで、データ転送の有無を判断できない。さらには、バス・マスタとなったデバイスは、バスの使用要求信号をデータ転送が終了するまで、アサート（有効に）し続けなければいけないので、アービタは、このバスの使用要求信号が、現在の転送のものか、新規転送のためのものか、区別できず、高速なアービトレーションを実行することができない。すなわち、特開平7-152499号公報に開示された情報処理装置では、情報処理装置の互換性を制限することになる。
【０００９】
本発明は、このような問題点を解決するためになされたもので、クロックの切替えや停止の要求があった場合に、バスで転送中のデータが失われずに、動的にかつ、早急にクロック切替えや停止を実行するバス制御方法及び情報処理装置を提供することにある。
【００１０】
【課題を解決するための手段】
本発明にかかるバス制御方法は、情報処理装置を構成するデバイスを接続するシステムバスと、前記システムバスの使用に関するアービトレーションを行なうアービタと、前記デバイスに供給するクロックを制御するクロック制御回路を備えた情報処理装置におけるバス制御方法であって、前記クロックの切替え又は停止の要求に応じて前記システムバスに接続されたデバイスの内アービトレーションが最優先のデバイスに前記アービタに対するバス使用要求を実行させるステップと、前記アービトレーションが最優先のデバイスに対してシステムバスの使用を許可するステップと、前記バス使用許可後に前記アービトレーションが最優先のデバイスがバスマスタとなった状態でクロックの切替え又は停止を実行するステップを備えたものである。このような方法によって、バスで転送中のデータを失うことなく、クロックの切替えや停止を実行することができる。前記アービトレーションが最優先のデバイスは、前記クロック制御回路であってもよい。また、本発明にかかる他のバス制御方法は、情報処理装置を構成するデバイスを接続するシステムバスと、このシステムバスの使用に関するアービトレーションを行なうアービタと、前記デバイスに対して供給するクロックを制御するクロック制御回路を備えた情報処理装置におけるバス制御方法であって、前記クロック制御回路から前記アービタに対してバス使用要求を実行するステップと、前記アービタから前記クロック制御回路に対してバス使用許可を実行するステップと、前記バス使用許可後に当該クロック制御回路がバスマスタとなった状態で前記クロック制御回路によりクロックの切替え又は停止を実行するステップを備えたものである。このような方法によって、バスで転送中のデータを失うことなく、クロックの切替えや停止を実行することができる。
【００１１】
さらに、クロック制御回路から所定レジスタを転送先アドレスに指定して所定データを転送するステップと、当該レジスタへの所定データの書込みに応じてクロックの切替え又は停止を実行するステップを備えるようにしてもよい。このような方法によって、クロック制御回路がバスを占有していることを確実に判定することができる。
【００１２】
前記クロック制御回路以外の他のデバイスによって所定レジスタへ所定データを書き込むステップと、前記レジスタへの所定データの書込みに応じてクロックの切替え又は停止を実行するステップをさらに備えるようにしてもよい。このような方法によれば、さらにクロック制御回路以外のＣＰＵや周辺処理装置等によっても、バスで転送中のデータを失うことなく、クロックの切替えや停止を実行する処理を開始させることができる。
【００１３】
また、前記情報処理装置は、第１のクロックを出力する発振器と、当該第１のクロックの位相を調整し、第２のクロックを出力するＰＬＬ回路を備え、停止されたクロックを復帰させる場合には、当該ＰＬＬ回路により第１のクロックの位相調整が完了するまでは前記第１のクロックを使用し、第１のクロックの位相調整が完了した後は前記第２のクロックを使用するようにしてもよい。このような方法によって、特に早急にクロックを切り替えることができる。
【００１４】
好ましい実施の形態によれば、中央処理装置を介さないメモリと周辺機器の間のデータ転送の有無や当該データ転送において要求される転送速度に応じて、前記クロック制御回路に対してクロックの切替や停止を要求するステップをさらに備えている。
【００１５】
また、前記デバイスは、少なくとも中央処理装置及び周辺処理装置を含み、当該中央処理装置はローカルバスに接続され、当該周辺処理装置は周辺バスに接続されるとともに、当該ローカルバスと周辺バスとの間のデータ及びアドレス信号の転送を調整するバス・インターフェースを前記情報処理装置は備えることが好ましい。
【００１６】
また、本発明にかかる他のバス制御方法は、情報処理装置を構成するデバイスを接続するシステムバスと、このシステムバスの使用に関するアービトレーションを行なうアービタと、前記デバイスに対して供給するクロックを制御するクロック制御回路を備えた情報処理装置におけるバス制御方法であって、前記クロック制御回路以外のデバイスから前記アービタに対してバス使用要求を実行するステップと、前記アービタからバス使用要求を実行したデバイスに対してバス使用許可を実行するステップと、このデバイスによって所定レジスタへ所定データを書き込むステップと、前記レジスタへの所定データの書込みに応じてクロックの切替え又は停止を実行するステップを備えたものである。このような方法によっても、バスで転送中のデータを失うことなく、クロックの切替えや停止を実行することができる。
【００１７】
他方、本発明にかかる情報処理装置は、情報処理装置を構成するデバイスを接続するシステムバスと、前記システムバスに接続されたデバイスの内アービトレーションが最優先のデバイスに対してバスの使用を許可するアービタと、前記デバイスに供給するクロックを制御するクロック制御回路を備えた情報処理装置であって、前記クロックの切替え又は停止の要求に応じて前記アービトレーションが最優先のデバイスに前記アービタに対するバス使用要求を実行させる手段と、前記バス使用許可後に前記アービトレーションが最優先のデバイスがバスマスタとなった状態でクロックの切替え又は停止を実行する手段を備えたものである。このような構成により、バスで転送中のデータを失うことなく、クロックの切替えや停止を実行することができる。前記アービトレーションが最優先のデバイスは、前記クロック制御回路であってもよい。また、本発明にかかる他の情報処理装置は、情報処理装置を構成するデバイスを接続するシステムバスと、このシステムバスの使用に関するアービトレーションを行なうアービタと、前記デバイスに対して供給するクロックを制御するクロック制御回路を備えた情報処理装置であって、前記クロック制御回路は、前記アービタに対してバス使用要求を実行する手段と、前記アービタから実行されたバス使用許可後にクロックの切替え又は停止を実行する手段を備えたものである。このような構成により、バスで転送中のデータを失うことなく、クロックの切替えや停止を実行することができる。
【００１８】
特に、前記クロック制御回路のクロックの切替又は停止を実行する手段は、所定レジスタを転送先アドレスに指定して所定データを転送する手段と、当該レジスタへの所定データの書込みに応じてクロックの切替え又は停止を実行する手段を備えるようにするとよい。このような構成によって、クロック制御回路がバスを占有していることを確実に判定することができる。
【００１９】
また、前記クロック制御回路のクロックの切替又は停止を実行する手段は、前記前記クロック制御回路以外の他のデバイスによって所定レジスタへ所定データを書き込む手段と、前記レジスタへの所定データの書込みに応じてクロックの切替え又は停止を実行する手段を備えるようにしてもよい。このような構成により、クロック制御回路以外のＣＰＵや周辺処理装置等によっても、バスで転送中のデータを失うことなく、クロックの切替えや停止を実行する処理を開始させることができる。
【００２０】
また、前記情報処理装置は、第１のクロックを出力する発振器と、当該第１のクロックの位相を調整し、第２のクロックを出力するＰＬＬ回路を備え、停止されたクロックを復帰させる場合には、当該ＰＬＬ回路により第１のクロックの位相調整が完了するまでは前記第１のクロックを使用し、第１のクロックの位相調整が完了した後は前記第２のクロックを使用するようにしてもよい。このような方法によって、特に早急にクロックを切り替えることができる。
【００２１】
好適な実施の形態では、中央処理装置を介さないメモリと周辺機器の間のデータ転送の有無や当該データ転送において要求される転送速度に応じて、前記クロック制御回路に対してクロックの切替や停止を要求する電源管理ユニットをさらに備えている。
【００２２】
また、前記デバイスは、少なくとも中央処理装置及び周辺処理装置を含み、当該中央処理装置はローカルバスに接続され、当該周辺処理装置は周辺バスに接続されるとともに、当該ローカルバスと周辺バスとの間のデータ及びアドレス信号の転送を調整するバス・インターフェースをさらに備えるようにしてもよい。
【００２３】
本発明にかかる他の情報処理装置は、この情報処理装置を構成するデバイスを接続するシステムバスと、このシステムバスの使用に関するアービトレーションを行なうアービタと、前記デバイスに対して供給するクロックを制御するクロック制御回路を備えた情報処理装置であって、前記クロック制御回路以外のデバイスから前記アービタに対してバス使用要求を実行する手段と、バス使用許可が実行されたデバイスによって所定レジスタへ所定データを書き込む手段と、前記レジスタへの所定データの書込みに応じてクロックの切替え又は停止を実行する手段を備えたものである。このような構成によっても、バスで転送中のデータを失うことなく、クロックの切替えや停止を実行することができる。
【００２４】
【発明の実施の形態】
本発明の上記および他の目的、特徴および利点を明確にすべく、以下添付した図面を参照しながら、本発明の実施の形態につき詳細に説明する。
【００２５】
発明の実施の形態１．
図１は、発明の実施の形態１にかかる情報処理装置の構成を示している。
【００２６】
図１では、ＣＰＵ１、アービタ２、クロック制御回路３、電源管理ユニット４、分周回路５、逓倍ＰＬＬ（Phase Lock Loop）回路６、発振器７、メモリコントローラ８、ＲＡＭ（Random Access Memory）９、周辺処理装置１（１０）、周辺処理装置２（１１）及びシステムバス１２を備えている。このうち、ＣＰＵ１、アービタ２、クロック制御回路３、メモリコントローラ８、周辺処理装置１（１０）及び周辺処理装置２（１１）は、システムバス１２によって相互に接続されている。さらに詳細には、ＣＰＵ１は、ローカルバスに接続され、周辺処理装置１（１０）、周辺処理装置２（１１）は周辺バスに接続されるとともに、ローカルバスと周辺バスとの間のデータ及びアドレス信号の転送を調整するバス・インターフェースを備える。
【００２７】
ＣＰＵ１は、予め定められた命令セットを実現するデータ処理ユニットである。アービタ２は、周辺処理装置等からのバス使用要求に応じて最優先度のデバイスを選択し、使用許可を発行するものである。クロック制御回路３は、クロックの切り替えや停止を制御する回路である。特にこの例では、クロック制御回路３は、クロック切り替えや停止を行なうためのトリガ・レジスタを備えている。このトリガ・レジスタにデータがライトされた、即ち書き込まれた場合に、クロックの切り替え又はクロックの停止処理が実行される。
【００２８】
電源管理ユニット４は、クロック制御回路３に対してクロック切り替えや停止の要求を出力することによって電源管理を実行する。発振器７は、所定のクロック信号を出力する。逓倍ＰＬＬ回路６は、発振器７より出力されたクロック信号を逓倍する。分周回路５は、逓倍ＰＬＬ回路６より出力されたクロック回路をさらに分周し、所定のクロック数を有するクロック信号に変換又はそのまま出力し、ＣＰＵ１や周辺処理装置１０、１１に供給する回路である。分周回路５の分周比は、クロック制御回路３により制御される。メモリコントローラ８は、ＣＰＵ１及び周辺処理装置１０、１１とＲＡＭ９とのアクセスを制御するものである。周辺処理装置１０、１１は、内部にＤＭＡ制御回路を有し、自身が行うＤＭＡが高速である必要があれ場合には、電源管理ユニット４に対して、高速ＤＭＡの要求を行う。電源管理ユニット４は、周辺処理装置１０、１１からの高速ＤＭＡの要求がなければ、消費電力を低減させるために、クロックを低速に切替える命令をクロック制御回路３に発行する。
【００２９】
ＣＰＵ１とアービタ２、アービタ２と周辺処理装置１０、１１は、それぞれポイントツーポイント接続されている。
【００３０】
ここで、ＣＰＵ１や周辺処理装置１０、１１がシステムバス１２を使用する場合の処理について説明する。この場合には、ＣＰＵ１とアービタ２、アービタ２と周辺処理装置１０、１１の間において、バス使用要求信号（BUSREQ）及びバス使用許可信号（GRANT）のやりとりを行なうことにより実現する。まず、ＣＰＵ１及び周辺処理装置１０、１１は、システムバス１２を使用したいときは、バス使用要求信号（BUSREQ）をアサート、即ち有効にする。アービタ２は、バス使用要求信号（BUSREQ）によるバス要求を調停する。そして、アービタ２は、調停の結果、バス・マスタとなることを認めたＣＰＵ１又は周辺処理装置１０、１１に対してバス使用許可信号（GRANT）をアサートする。
【００３１】
バス使用許可信号（GRANT）がアサートされたＣＰＵ１又は周辺処理装置１０、１１は、バス・マスタとなり、バス・トランザクションを引き起こす。
【００３２】
本発明の実施の形態にかかる情報処理装置では、特に、クロック制御回路３とアービタ２の間がポイントツーポイント接続されている。そして、クロック制御回路３とアービタ２の間で、バス使用要求信号（BUSREQ）とバス使用許可信号（GRANT）のやりとりが実行される。このため、クロック制御回路３も、ＣＰＵ１や周辺処理装置１０、１１と同様に、バス・マスタになることが可能となっている。さらに、クロック制御回路３に対するアービトレーションの優先度は、他のＣＰＵ１や周辺処理装置１０、１１よりも優先度が高く、クロック制御回路３が最優先にアービタ２上で設定されている。
【００３３】
次に、本実施の形態１にかかる情報処理装置の処理動作について図に従って説明する。図３は、本実施の形態１にかかる情報処理装置のタイミング図である。図４は、本実施の形態１にかかる情報処理装置においてクロック切替え時のクロック制御回路の動作を示すフローチャートである。
【００３４】
図３のタイミング図に示されるように、電源管理ユニット４は、高速ＤＭＡの要求がない状態であれば、省電力化のために、低速クロックへの切り替えを行なう。この例では、ｔ１時点で、電源管理ユニット４は、クロック切り替え要求信号をアサートすることにより、クロック制御回路３に対して低速クロックへの切り替えを要求している。
【００３５】
クロック制御回路３は、低速クロックへの切替え要求を受けると、バス使用権を得るために、バス使用要求信号（BUSREQ0）をアサートする。このバス使用要求信号（BUSREQ0）により、ｔ２時点でアービタ２に対してバス使用権が要求される。
【００３６】
一方、ｔ１時点において周辺処理装置1（１０）からアービタ２に対してバス使用要求信号（BUSREQ1）がアサートされている。アービタ２は、このバス使用要求信号（BUSREQ1）に応じて、ｔ２時点でバス使用許可信号（GRANT1）をアサートしている。アービタ２は、ｔ２時点でクロック制御回路３によるバス使用要求信号のアサートを認識しても、その時点では既に周辺処理装置１（１０）に対するバス使用許可信号（GRANT1）をアサートしているため、すぐにはクロック制御回路３によりシステムバス１２の使用が許可されない。そのため、一旦は、ｔ３時点からｔ７時点までの間、システムバス１２は周辺処理装置１（１０）によってバス・トランザクションであるデータ転送が実行される。
【００３７】
周辺処理装置1（１０）による１回目のバス・トランザクションが終了したｔ７時点では、まだ、周辺処理装置１（１０）は、バス使用要求信号（BUSREQ1）をアサートし続けている。しかしながら、アービタ２は、クロック制御回路３のアービトレーションの順位が最優先になっているため、ｔ７時点において、周辺処理装置１（１０）に対するバス使用許可信号（GRANT1）をディアサートすると共に、クロック制御回路３に対するバス使用許可信号（GRANT0）をアサートする。
【００３８】
クロック制御回路３は、バス使用許可信号（GRANT0）がアサートされ、バス・マスタとなる。そして、バス・マスタとなったクロック制御回路３は、ｔ８時点でバス・トランザクションを開始する。まず、アドレスフェーズにおいて、クロック制御回路３内部のクロック切替えトリガ・レジスタのアドレスを転送先アドレスとしてシステムバス１２に出力する。次にデータフェーズにおいては、クロック制御回路３は、ダミーデータを出力する。さらに、クロック制御回路３は、このデータフェーズ終了後のｔ１０時点でシステムバス１２の使用権を開放するために、バス使用要求信号（BUSREQ0）をディアサートする。
【００３９】
クロック制御回路３は、このバス・トランザクションにより、クロック制御回路内クロック切替えトリガ・レジスタがライトされたら、分周回路の分周比を変更してクロックを切替える。この例では、ｔ１２時点でクロックが低速に切り替えられている。
【００４０】
クロック切替え完了、即ちｔ１２時点後、アービタ２は、周辺処理装置1（１０）がアサートしているバス使用要求信号（BUSREQ1）に対してバス使用許可信号（GRANT1）をアサートする。バス使用許可信号（GRANT1）をアサートされた周辺処理装置１（１０）は、低速クロックでバス・トランザクションを実行する。
【００４１】
ここで、本発明の実施の形態１にかかる情報処理装置の処理フローについて、図４に示すフローチャートを用いて再度説明する。まず、電源管理ユニット４からクロック分周比の切替え要求、即ちクロック切替え要求があるとする（Ｓ１０１）。クロック制御回路３は、クロック切替え要求に応じて、アービタ２に対してバス使用権を要求する（Ｓ１０２）。クロック制御回路３は、バスの使用権を獲得すると、転送先アドレスをクロック制御回路３内部のレジスタに指定してダミーのデータ転送を行う（Ｓ１０３）。クロック制御回路３は、転送先に指定した自分自身のレジスタがライトされたら、これをトリガ信号としてクロックの分周比を切替える（Ｓ１０４）。
【００４２】
このように、ダミーのデータ転送を行い、レジスタへのライトをトリガとしてクロックを切替えることにより、直前の転送がバースト転送のような連続した転送であったとしても、直前の転送の終了後に、他にシステムバス１２を使用しているマスタが存在しない状態で、クロックの切替えや停止を実行することが可能となる。また、クロック制御回路３のアービトレーションの優先度が最優先になっているため、ＣＰＵや周辺処理装置によるバス・リクエストが競合していても、優先的にバス・マスタになり、クロックを切替えることが可能となる。
【００４３】
発明の実施の形態２．
本発明の実施の形態２は、クロックを停止させる場合の情報処理装置に関するものである。この情報処理装置の基本的構成は発明の実施の形態１と同じである。本発明の実施の形態２にかかる情報処理装置のようにクロックを停止させる場合においても、システムバスでデータ転送が行われているときにクロックが停止するとデータ転送に失敗する可能性があるため、クロックを停止する際にバス・マスタになる必要がある。
【００４４】
図５は、本発明の実施の形態２にかかる情報処理装置においてクロックを停止させる場合のフローチャートを示す。
【００４５】
図５に示すフローチャートにおいて、クロックを停止させバス・マスタになるまでのフローは、発明の実施の形態１にかかる情報処理装置の処理フローと同様である。即ち、まず、電源管理ユニット１からクロック制御回路３に対してクロック停止の要求があったものとする（Ｓ２０１）。
【００４６】
クロック制御回路３は、クロックの停止要求を受けると、バス使用権を得るために、バス使用要求信号（BUSREQ0）をアサートする（Ｓ２０２）。このバス使用要求信号（BUSREQ0）により、アービタ２に対してバス使用権が要求される。
【００４７】
アービタ２は、クロック制御回路３のアービトレーションの順位が最優先になっているため、クロック制御回路３に対するバス使用許可信号（GRANT0）をアサートする。
【００４８】
クロック制御回路３は、バス使用許可信号（GRANT0）がアサートされ、バス・マスタとなる。そして、バス・マスタとなったクロック制御回路３は、バス・トランザクションを開始する。まず、アドレスフェーズにおいて、クロック制御回路３内部のクロック停止トリガ・レジスタのアドレスを転送先アドレスとしてシステムバス１２に出力する。次にデータフェーズにおいては、クロック制御回路３は、ダミーデータを出力する（Ｓ２０３）。
【００４９】
クロック制御回路３は、このバス・トランザクションにより、クロック制御回路３内のクロック停止トリガ・レジスタがライトされたら、クロックを停止する（Ｓ２０４）。
【００５０】
クロック制御回路３は、通常動作への復帰命令、即ちクロックの復帰の要求を受けるまでは、待機状態にある（Ｓ２０５）。クロック停止後、通常動作への復帰命令があれば（Ｓ２０６）、クロック制御回路３は、クロックの供給を再開する（Ｓ２０７）。尚、クロック停止時にクロック制御回路３はバス・マスタになってクロックを停止させているため中断されたデータ転送は存在しないことから、再開時には、バス・マスタになる必要はない。
【００５１】
発明の実施の形態３．
本発明の実施の形態３は、ＰＬＬのロックアップ期間は、発振器のクロックをスルーでシステムバスおよび周辺処理装置に供給する情報処理装置に関するものである。この情報処理装置の基本的構成は発明の実施の形態１と同じである。
【００５２】
本発明の実施の形態３にかかる情報処理装置では、通常動作時は、発振器７のクロックを逓倍ＰＬＬ６で逓倍したクロックをＣＰＵ１や周辺処理装置１０、１１へ供給している。発明の実施の形態２で示した情報処理装置のように、ＣＰＵ１および周辺処理装置１０、１１に対するクロック供給を停止させる場合には、逓倍ＰＬＬ６の消費電力を低減させるために逓倍ＰＬＬ６をオフ（ＯＦＦ）にする。この場合、クロック供給を再開させる際に、逓倍ＰＬＬ６をオン（ＯＮ）した後、ロックアップ期間、即ち、位相が合うまでの時間は、逓倍ＰＬＬ６で逓倍したクロックをＣＰＵ１および周辺処理装置１０、１１へ供給することはできない。
【００５３】
そのため、本発明の実施の形態３にかかる情報処理装置では、早急に情報処理を再開させたい場合には、逓倍ＰＬＬ６のロックアップ期間は、発振器７のクロックをスルーでシステムバス１２および周辺処理装置１０、１１に供給し、ロックアップ後は、逓倍ＰＬＬ６で逓倍したクロックをＣＰＵ１および周辺処理装置１０、１１へのクロック出力に切替えている。
【００５４】
図６は、本発明の実施の形態３にかかる情報処理装置の処理動作を示すフローチャートである。
【００５５】
図６に示すフローチャートにおいて、クロックを停止させバス・マスタになるまでのフローは、発明の実施の形態１にかかる情報処理装置の処理フローと同様である。即ち、まず、電源管理ユニット１からクロック制御回路３に対してクロック停止の要求があったものとする（Ｓ３０１）。
【００５６】
クロック制御回路３は、クロックの停止要求を受けると、バス使用権を得るために、バス使用要求信号（BUSREQ0）をアサートする（Ｓ３０２）。このバス使用要求信号（BUSREQ0）により、アービタ２に対してバス使用権が要求される。
【００５７】
アービタ２は、クロック制御回路３のアービトレーションの順位が最優先になっているため、クロック制御回路３に対するバス使用許可信号（GRANT0）をアサートする。
【００５８】
クロック制御回路３は、バス使用許可信号（GRANT0）がアサートされ、バス・マスタとなる。そして、バス・マスタとなったクロック制御回路３は、バス・トランザクションを開始する。まず、アドレスフェーズにおいて、クロック制御回路３内部のクロック停止トリガ・レジスタのアドレスを転送先アドレスとしてシステムバス１２に出力する。次にデータフェーズにおいては、クロック制御回路３は、ダミーデータを出力する（Ｓ３０３）。
【００５９】
クロック制御回路３は、このバス・トランザクションにより、クロック制御回路３内のクロック停止トリガ・レジスタがライトされたら、クロックを停止し、さらに逓倍ＰＬＬ６をオフにする（Ｓ３０４）。
【００６０】
クロック制御回路３は、通常動作への復帰命令、即ちクロックの復帰の要求を受けるまでは、待機状態にある（Ｓ３０５）。クロック停止後、通常動作への復帰命令があれば（Ｓ３０６）、クロック制御回路３は、逓倍ＰＬＬ６をオンし、ＰＬＬがロック状態になるまで、即ち位相が合うまでは、発振器７のクロックをスルーでＣＰＵ１および周辺処理装置１０、１１に供給する（Ｓ３０７）。
【００６１】
その後、逓倍ＰＬＬ６においてロックアップし、位相が合った場合（Ｓ３０８）には、クロック制御回路３は、システムバス１２のアービタ２に対して、バス使用権を要求する（Ｓ３０９）。即ち、クロック制御回路３は、アービタ２に対してバス使用要求信号（BUSREQ0）をアサートする。
【００６２】
アービタ２は、クロック制御回路３に対するバス使用許可信号（GRANT0）をアサートする。
【００６３】
クロック制御回路３は、バス使用許可信号（GRANT0）がアサートされ、バス・マスタとなる。そして、バス・マスタとなったクロック制御回路３は、バス・トランザクションを開始する。まず、アドレスフェーズにおいて、クロック制御回路３内部のクロック停止トリガ・レジスタのアドレスを転送先アドレスとしてシステムバス１２に出力する。データフェーズにおいては、クロック制御回路３は、ダミーデータを出力する（Ｓ３１０）。
【００６４】
クロック制御回路３は、このバス・トランザクションにより、クロック制御回路３内のクロック停止トリガ・レジスタがライトされたら、ＣＰＵ１および周辺処理装置１０、１１に供給していたクロックを発振器７のクロックのスルー出力から逓倍ＰＬＬ６で逓倍したクロック出力に切替える（Ｓ３１１）。
【００６５】
このような制御を行うことにより、システムを停止させることなく、かつ、データ転送に失敗することなく、早急にクロックの切替えが可能となる。
【００６６】
発明の実施の形態４．
本発明の実施の形態４は、クロック制御回路以外のＣＰＵや周辺処理装置等のデバイスからクロック切替え又は停止のためのトリガ・レジスタにライトを実行する情報処理装置に関するものである。この情報処理装置の基本的構成は発明の実施の形態１と同じである。
【００６７】
上述した発明の実施の形態１乃至３では、クロック制御回路がクロック切替えあるいはクロック停止の要求を受けた場合に、ダミーデータ転送を実行し、クロック切替えトリガ・レジスタをライトしているのは、クロック制御回路自身であった。しかしながら、クロック切替えトリガ・レジスタをライトする際に、システムバスに出力されるダミーデータ自体の中身は、意味が無く、クロックの切替えにより、このデータが失われても問題はないため、クロック切替えトリガ・レジスタをライトするバス・マスタをクロック制御回路に限定する必要はない。
【００６８】
すなわち、ＣＰＵや周辺処理装置においてクロックを切替える必要性が生じた場合に、クロック切替えの要求信号を発生させなくても、ＣＰＵや周辺処理装置自体がバス・マスタになって、直接クロック制御回路のクロック切替えトリガ・レジスタのライトを実行するようにしてもよい。この場合、クロック制御回路は、トリガ・レジスタがライトされたタイミングで、クロックを切替える。クロック切替えトリガ・レジスタがライトされたときは、システムバス上でデータ転送が行われていないときであると判断できため、システムバス上でデータ転送が行われていないタイミングでクロックを切り替えることができる。
【００６９】
この場合、周辺処理装置のアービトレーションの優先度が低い場合は、バス・マスタになるまで待たされる。そのため、トリガ・レジスタをライトする機能を持たせた周辺処理装置のアービトレーションの優先度は、トリガ・レジスタをライトを必要としない周辺処理装置よりも、高く設定しておけば、早急にバス・マスタとなり、クロック切替えトリガ・レジスタをライトして、クロックを切替えることが可能である。
【００７０】
図７は、本発明の実施の形態４にかかる情報処理装置の処理動作を示すフローチャートである。
【００７１】
まず、周辺処理装置１０の内部に有するＤＭＡ制御回路においてクロック切替要求が発生したものとする（Ｓ４０１）。
【００７２】
周辺処理装置１０は、バス使用権を得るために、バス使用要求信号（BUSREQ0）をアサートする。このバス使用要求信号（BUSREQ0）により、アービタ２に対してバス使用権が要求される（Ｓ４０２）。
【００７３】
アービタ２は、周辺処理装置１０に対するバス使用許可信号（GRANT0）をアサートする。周辺処理装置１０は、バス使用許可信号（GRANT0）がアサートされ、バス・マスタとなる。そして、バス・マスタとなった周辺処理装置１０は、バス・トランザクションを開始する。まず、周辺処理装置１０は、アドレスフェーズにおいて、クロック制御回路３内部のクロック切替えトリガ・レジスタのアドレスを転送先アドレスとしてシステムバス１２に出力する。次にデータフェーズにおいては、周辺処理装置１０は、ダミーデータを出力する（Ｓ４０３）。
【００７４】
クロック制御回路３は、このバス・トランザクションにより、クロック制御回路３内のクロック切替えトリガ・レジスタがライトされたら、クロック分周比を切り替える（Ｓ４０４）。このようにしてクロック切替えを実行することができる。
【００７５】
尚、この発明の実施の形態４では、クロックの切替え行なう場合について説明したが、これに限らず、クロック停止する場合も適用可能である。
【００７６】
このような制御を行うことにより、システムを停止させることなく、かつ、データ転送に失敗することなく、早急にクロックの切替えが可能となる。
【００７７】
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変更され得ることは明らかである。
【００７８】
【発明の効果】
以上説明したように、本発明によれば、即座にクロック切替えや停止を実行でき、かつデータ転送中にクロック切替えや停止が発生する危険を回避することを実現したバス制御方式及び情報処理装置を提供することができる。
【図面の簡単な説明】
【図１】発明の一実施の形態としての情報処理装置の構成を示すブロック図である。
【図２】特開平7-152499号公報にかかる情報処理装置の構成を示すブロック図である。
【図３】発明の実施の形態１にかかるバス制御方法を示すタイミング図である。
【図４】発明の実施の形態１にかかるバス制御方法を示すフローチャートである。
【図５】発明の実施の形態２にかかるバス制御方法を示すフローチャートである。
【図６】発明の実施の形態３にかかるバス制御方法を示すフローチャートである。
【図７】発明の実施の形態４にかかるバス制御方法を示すフローチャートである。
【符号の説明】
１  ＣＰＵ
２  アービタ
３  クロック制御回路
４  電源管理ユニット
５  分周回路
６  逓倍ＰＬＬ
７  発振器
８  メモリコントローラ
９  ＲＡＭ
１０  周辺処理装置１
１１  周辺処理装置２
１２  システムバス
【図１】
0003665030.tif 000002
【図２】
0003665030.tif 000003
【図３】
0003665030.tif 000004
【図４】
0003665030.tif 000005
【図５】
0003665030.tif 000006
【図６】
0003665030.tif 000007
【図７】
0003665030.tif 000008