(57)【要約】【課題】バスクロックを自動停止する機能を備えていないバスを利用する場合であっても、バスクロックを停止してクロック生成回路の動作時間を軽減するとともに、ペリフェラルバスを通じた割り込み信号の伝達も実現する仕組みを提供する。【解決手段】本制御装置は、所定時間を繰り返し計時するタイマと、周辺デバイスに対して、クロックを供給するクロック生成回路とを備える。さらに、制御装置は、タイマによる所定時間の計時に基づき、クロック生成回路の駆動の停止及び再開を交互に行うＣＰＵを備える。一方、周辺デバイスは、制御装置へのペリフェラルバスを介した割り込み信号の出力を制限する割り込みマスクを備える。制御装置は、クロック生成回路の駆動を停止する際に、上記割り込みマスクを設定し、クロック生成回路の駆動を再開する際に、上記割り込みマスクを解除する。【選択図】  図３
2018200630.tif 000002
【特許請求の範囲】
【請求項１】
制御装置であって、
所定時間を繰り返し計時するタイマと、
前記制御装置にバスを介して接続された周辺デバイスに対して、クロックを供給するクロック生成回路と、
前記タイマによる前記所定時間の計時に基づき、前記クロック生成回路の駆動の停止及び再開を交互に行う制御手段と
を備えることを特徴とする制御装置。
【請求項２】
前記制御手段は、
前記タイマによる前記所定時間の計時が所定回数に到達した場合に、前記クロック生成回路の駆動の停止又は再開を行うことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記制御手段は、
前記クロック生成回路の駆動を停止した場合は、前記所定回数として第１値を設定し、
前記クロック生成回路の駆動を再開した場合は、前記所定回数として前記第１値とは異なる第２値を設定することを特徴とする請求項２に記載の制御装置。
【請求項４】
前記第１値は、前記第２値より大きいことを特徴とする請求項３に記載の制御装置。
【請求項５】
前記制御手段は、前記クロック生成回路の駆動を停止又は再開した場合に、前記所定回数のカウントをリセットすることを特徴とする請求項３又は４に記載の制御装置。
【請求項６】
前記制御手段は、前記クロック生成回路の駆動を停止する場合、
前記周辺デバイスから前記制御装置への前記バスを介した割り込み信号の出力を制限する、前記周辺デバイスの割り込みマスクを設定した後に、前記クロック生成回路の駆動を停止することを特徴とする請求項１乃至５の何れか１項に記載の制御装置。
【請求項７】
前記制御手段は、前記クロック生成回路の駆動を再開する場合、
前記周辺デバイスの設定された割り込みマスクを解除する前に、前記クロック生成回路の駆動を再開することを特徴とする請求項１乃至６の何れか１項に記載の制御装置。
【請求項８】
前記周辺デバイスには、さらに、外部デバイスが接続されており、
前記外部デバイスは、前記周辺デバイスを経由して割り込み信号を前記制御装置に入力可能であり、
前記制御手段は、前記クロック生成回路の駆動の停止又は再開に合わせて、前記外部デバイスの割り込みマスクを設定又は解除することを特徴とする請求項７に記載の制御装置。
【請求項９】
所定時間を繰り返し計時するタイマを備える制御装置の制御方法であって、
前記制御装置にバスを介して接続された周辺デバイスに対して、クロックを供給するクロック生成工程と、
前記タイマによる前記所定時間の計時に基づき、前記クロック生成工程によるクロックの供給を停止する工程と、
前記タイマによる前記所定時間の計時に基づき、前記クロック生成工程によるクロックの供給を再開する工程と
を実行することを特徴とする制御装置の制御方法。
【請求項１０】
所定時間を繰り返し計時するタイマを備える制御装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
前記制御装置にバスを介して接続された周辺デバイスに対して、クロックを供給するクロック生成工程と、
前記タイマによる前記所定時間の計時に基づき、前記クロック生成工程によるクロックの供給を停止する工程と、
前記タイマによる前記所定時間の計時に基づき、前記クロック生成工程によるクロックの供給を再開する工程と
を実行することを特徴とするプログラム。
【請求項１１】
制御装置と、該制御装置にバスを介して接続された周辺デバイスと、を含むコンピュータシステムであって、
前記制御装置は、
所定時間を繰り返し計時するタイマと、
前記周辺デバイスに対して、クロックを供給するクロック生成回路と、
前記タイマによる前記所定時間の計時に基づき、前記クロック生成回路の駆動の停止及び再開を交互に行う制御手段と
を備え、
前記周辺デバイスは、
前記周辺デバイスから前記制御装置への前記バスを介した割り込み信号の出力を制限する割り込みマスクを備え、
前記制御手段は、
前記クロック生成回路の駆動を停止する際に、割り込みマスクを設定し、
前記クロック生成回路の駆動を再開する際に、割り込みマスクを解除することを特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
電気回路は、動作させているとその電気部品が劣化していくものである。電気部品の寿命が尽きると電気回路が使用できなくなるため、長期間使用される機器においては回路の動作時間をできるだけ短くすることが望ましい。こうした寿命がある電気回路の一つにクロック信号の生成回路がある。制御装置を含むコンピュータシステムに周辺デバイスを接続するためのペリフェラルバスにおいてもクロック信号の生成回路は利用されており、接続されたデバイス間でのデジタル信号の伝送の同期に用いるバスクロックの供給に利用されている。クロック生成回路の寿命を長持ちさせるためにはできるだけクロック生成回路を動作させないことが望ましい。ペリフェラルバスにおいては、常にバスクロックを供給するのではなく、バスクロック供給を停止する時間を作ることが望ましい。
【０００３】
特許文献１では、ペリフェラルバスにバスがアイドルかどうかを検出する回路を設け、バスがアイドルだと検出された場合にバスクロックを自動停止する技術が提案されている。アイドルでないことが検出された場合には自動的にバスクロックの供給を再開することで、ペリフェラルバスの機能を損なわずにバスクロックの停止を実現している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−５３０４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術には以下に記載する課題がある。上記従来技術におけるバスクロックを自動停止する機能は、全ての種類のペリフェラルバスに備わっているものではない。低コストのバス技術などでは自動的にバスクロックを停止する機能を備えていない場合がある。バスクロックを自動停止する機能を備えていないバスであっても、上記従来技術のような制御を行うことができないものの、長期間利用される電子機器においてはクロック信号生成回路を停止して回路の動作時間を短くすることが寿命の観点から望ましい。
【０００６】
一方で、ペリフェラルバスへのバスクロックの供給を停止すると、割り込み信号の伝達ができなくなる。多くのバス技術ではペリフェラルバスで接続された周辺デバイスからコンピュータシステムのＣＰＵへ割り込み信号を送る機能を備えている。バスクロックの供給を停止するとバスの回路が動作を停止するため、ペリフェラルバスを通じた割り込み信号の伝達ができない状態となる。割り込み信号は、一般的には、外部からの入力に応じた何らかのイベントの発生を周辺デバイスからＣＰＵへ通知するためのものであり、割り込み信号が伝達できない場合には、コンピュータシステムが外部からの入力に反応しない状態になってしまう。
【０００７】
バスクロックの自動停止機能を備えたバス技術においては、ペリフェラルバス先の周辺デバイスが割り込み信号を出力する状態となったことを検出して自動的にバスクロックの供給を再開させる回路を備えることが一般的である。しかし、自動停止機能を備えないバスではバス先のデバイスが割り込み信号を出力する状態となったことを検出できないため、バスクロック信号の供給が必要となった時に供給を再開することができない。このため、バスクロックを自動停止する機能を備えていないバスでは、バスクロックを停止してクロック生成回路の動作時間を短くしつつ、ペリフェラルバスを通じた割り込み信号の伝達も実現することが課題となる。
【０００８】
本発明は、上述の問題の少なくとも一つに鑑みて成されたものであり、バスクロックを自動停止する機能を備えていないバスを利用する場合であっても、バスクロックを停止してクロック生成回路の動作時間を軽減するとともに、ペリフェラルバスを通じた割り込み信号の伝達も実現する仕組みを提供することを目的とする。
【０００９】
また、本発明の別の側面は、安定的に動作する回路を実現することをさらに別の目的とする。 
【課題を解決するための手段】
【００１０】
本発明は、制御装置であって、所定時間を繰り返し計時するタイマと、前記制御装置にバスを介して接続された周辺デバイスに対して、クロックを供給するクロック生成回路と、前記タイマによる前記所定時間の計時に基づき、前記クロック生成回路の駆動の停止及び再開を交互に行う制御手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、バスクロックを自動停止する機能を備えていないバスを利用する場合であっても、バスクロックを停止してクロック生成回路の動作時間を軽減するとともに、ペリフェラルバスを通じた割り込み信号の伝達も実現することができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係るコンピュータシステムのブロック図。
【図２】一実施形態に係るペリフェラルバス周辺のブロック図。
【図３】一実施形態に係るバスクロック制御フローチャート。
【図４】一実施形態に係るバスクロック停止・再開フローチャート。
【図５】一実施形態に係る外部入力発生時の割り込み出力タイミングチャート図。
【発明を実施するための形態】
【００１３】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確立されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１４】
＜コンピュータシステムの概要構成＞
以下、本発明の一実施形態について図面を用いて説明する。まず、図１を参照して、本実施形態に係るコンピュータシステムの構成の概要について説明する。
【００１５】
コンピュータシステムは、Ｓｙｓｔｅｍ−Ｏｎ−Ｃｈｉｐ（ＳｏＣ）１、Ｉ／Ｏコントローラ２、ＲＡＭ４、電源管理回路５、センサ６、及び電源スイッチ７を備える。ＳｏＣ１は制御装置の一例である。しかし、本発明はこれに限定されず、例えば、制御装置は、コンピュータシステムに含まれる他のコンポーネントを含んで構成されてもよい。
【００１６】
ＳｏＣ１は、本コンピュータシステムを制御するＩＣチップである。ＳｏＣ１には、後述するＣＰＵ１０１を含む様々な回路が統合されている。Ｉ／Ｏコントローラ２は、周辺デバイスの一例であり、コンピュータシステムの入出力を制御する。ＳｏＣ１とＩ／Ｏコントローラ２とは、ペリフェラルバスである外部バス３を介して相互通信可能に接続される。ＳｏＣ１には、ＳｏＣ１が動作に利用するメモリであるＲＡＭ４が接続される。Ｉ／Ｏコントローラ２には、コンピュータシステムの各コンポーネントへ供給する電力を制御する電源管理回路５が接続されている。従って、ＳｏＣ１は、外部バス３及びＩ／Ｏコントローラ２を介して電源管理回路５を制御することができる。
【００１７】
また、電源管理回路５にはコンピュータシステムの電源をオン・オフするための電源スイッチ７が接続されている。電源管理回路５はユーザによって電源スイッチ７が操作された際には外部バス３を介してＳｏＣ１へ通知するよう構成されている。さらに、Ｉ／Ｏコントローラ２には、センサ６が接続されており、センサ６は外部からの入力に応じてデジタルデータをＩ／Ｏコントローラ２へ送出するように構成されている。なお、電源管理回路５は、外部デバイスの一例である。
【００１８】
＜コンピュータシステムの詳細構成＞
次に、図２を参照して、本実施形態に係る外部バス３とその周辺の構成についてより詳細に説明する。図２に示すように、ＳｏＣ１は、ＣＰＵ１０１、メモリＩ／Ｆ（インタフェース）１０２、タイマ１０４、バスＩ／Ｆ１０６、及びバスクロック生成回路１０７を備える。各コンポーネントは、内部バス１０３を介して相互通信可能に接続される。
【００１９】
ＣＰＵ１０１は、コンピュータシステムを統括的に制御する。ＣＰＵ１０１は、メモリＩ／Ｆ１０２を介して、ワーク領域としてのＲＡＭ４を使用する。ＲＡＭ４には、ＣＰＵ１０１で実行することが可能なプログラムであるクロック制御プログラム４０１が格納されている。
【００２０】
タイマ１０４は、設定された時間周期毎に割り込み信号を出力することができるよう構成された回路であり、タイマ割り込み１０５をＣＰＵ１０１に対して入力することができる。つまり、タイマ１０４は、所定時間を繰り返し計時し、計時するごとにＣＰＵ１０１に対してタイマ割り込み１０５を入力する。バスＩ／Ｆ１０６は外部バス３を介してＳｏＣ１に周辺デバイスを接続するためのインタフェース回路である。
【００２１】
バスクロック生成回路１０７は、外部バス３へ供給するクロック信号を生成するためのクロック生成回路である。バスクロック生成回路１０７は、ＣＰＵ１０１からの制御によって駆動（動作）を停止・再開させることができる。バスクロック生成回路１０７の駆動を停止した場合には外部バス３にバスクロックが供給されない。
【００２２】
外部バス割り込み１０８は、外部バス３を介して割り込み信号が入力された際にＣＰＵ１０１へ入力される割り込み信号である。バスＩ／Ｆ１０６は、外部バス３から割り込み３０３の信号が入力されるとＣＰＵ１０１に外部バス割り込み１０８を入力する。なお、実際のＳｏＣ１にはこれらに加えてＣＰＵ１０１などに供給するクロック信号の生成回路やストレージインタフェースなど様々な非図示の周辺回路が組み込まれているが、本発明の説明には影響しないため説明を省略する。
【００２３】
外部バス３は、バスクロック３０１、アドレス／データ３０２、及び割り込み３０３の３種類の信号線から構成される。バスクロック３０１は、バス上のデジタル信号のタイミングを同期するためのクロック信号であり、バスクロック生成回路１０７から供給される。アドレス／データ３０２は、ＣＰＵ１０１が外部バス３を介してバス先のデバイスへアクセスする際のアドレス情報やデータの転送に用いられる信号である。割り込み３０３は、外部バス３を介して周辺デバイスからの割り込み信号を伝達するための信号である。なお、図２では、説明を容易にするため各信号を１本の信号線として図示しているが、実際には複数本の信号で構成されていてもよく、本発明を限定する意図はない。
【００２４】
Ｉ／Ｏコントローラ２は、バスＩ／Ｆ２０１、電源管理回路Ｉ／Ｆ２０３、及びＵＡＲＴ（Universal Asynchronous Receiver Transmitter）２０４を含んで構成される。バスＩ／Ｆ２０１は、Ｉ／Ｏコントローラ２を外部バス３に接続するためのインタフェース回路である。バスＩ／Ｆ２０１は、ＵＡＲＴ割り込み２０６又は電源管理回路割り込み５０２の少なくとも一方が入力された際に、外部バス３の割り込み３０３の信号を出力するように構成される。
【００２５】
さらに、バスＩ／Ｆ２０１は、割り込み信号の出力をマスク（制限）する機能を備える。ＣＰＵ１０１がマスクレジスタ２０２を操作することで割り込みマスクをセット又はクリア（設定又は解除）することが可能である。割り込みマスクをセットした状態では、バスＩ／Ｆ２０１は割り込み信号を出力しない。つまり、バスＩ／Ｆ２０１は、ＵＡＲＴ割り込み２０６又は電源管理回路割り込み５０２が入力された場合でも割り込みマスクがクリアされるまで割り込み３０３をＳｏＣ１に対して出力しない状態となる。
【００２６】
電源管理回路Ｉ／Ｆ２０３は、Ｉ／Ｏコントローラ２に電源管理回路５を接続するためのインタフェース回路である。従って、電源管理回路５は、周辺デバイスであるＩ／Ｏコントローラ２を経由してＳｏＣ１に割り込み信号を入力可能である。ＵＡＲＴ２０４は、センサ６からのデジタルデータを受信するためのシリアル入出力デバイスである。ＵＡＲＴ２０４は、センサ６からデジタルデータを受信するとＵＡＲＴ割り込み２０６を出力するように構成されている。また、ＵＡＲＴ２０４も割り込み信号の出力をマスクする機能を備えており、ＣＰＵ１０１がマスクレジスタ２０５を操作することで割り込みマスクをセット又はクリアすることが可能である。ＵＡＲＴ２０４は割り込みマスクがセットされている間はＵＡＲＴ割り込み２０６を出力しない。
【００２７】
電源管理回路５は電源スイッチ７が操作された際に電源管理回路割り込み５０２を出力するように構成されている。電源管理回路５も割り込み信号の出力をマスクする機能を備えており、ＣＰＵ１０１がマスクレジスタ５０１を操作することで割り込みマスクをセット又はクリアすることが可能である。電源管理回路５は割り込みマスクがセットされている間は電源管理回路割り込み５０２を出力しない。
【００２８】
＜処理手順＞
図３を参照して、本実施形態に係るコンピュータシステムの処理手順について説明する。本実施形態のコンピュータシステムが動作している間はＣＰＵ１０１が常にこのフローを実行している。なお、以下で説明する処理は、例えば、ＣＰＵ１０１がクロック制御プログラム４０１をＲＡＭ４に読み出して実行することにより実現される。
【００２９】
まず、Ｓ１０１で、ＣＰＵ１０１は、タイマ割り込み１０５の回数をカウントするための変数ＣＯＵＮＴを所定の値Ｍ（第２値）で初期化する。続いて、Ｓ１０２で、ＣＰＵ１０１は、タイマ割り込み１０５が入力されている状態かどうかを判断する。タイマ割り込み１０５が入力されていない場合はＳ１０２の判定を繰り返し、タイマ割り込み１０５が入力されるまで待ち受ける。Ｓ１０２でタイマ割り込み１０５が入力されていた場合ＣＰＵ１０１は処理をＳ１０３へ進める。
【００３０】
Ｓ１０３で、ＣＰＵ１０１は、タイマ割り込み１０５の回数をカウントするための変数ＣＯＵＮＴの値を１減らし、Ｓ１０４へ進む。Ｓ１０４で、ＣＰＵ１０１は、変数ＣＯＵＮＴの値がゼロであるかどうかを判断する。値がゼロでない場合、ＣＰＵ１０１は、処理をＳ１０２へ戻し、再びタイマ割り込み１０５の入力を待ち受ける。値がゼロの場合、ＣＰＵ１０１は処理をＳ１０５へ進める。
【００３１】
Ｓ１０５で、ＣＰＵ１０１は、バスクロック生成回路１０７が駆動を停止しているかどうか判断する。駆動を停止していない場合、ＣＰＵ１０１は、処理をＳ１０６へ進め、駆動を停止している場合は処理をＳ１０８へ進める。
【００３２】
Ｓ１０６で、ＣＰＵ１０１は、クロック停止処理を実行し、バスクロック生成回路１０７の駆動を停止させ、バスクロック３０１の供給を停止し、Ｓ１０７に進む。Ｓ１０６の詳細については図４（ａ）を用いて後述する。
【００３３】
Ｓ１０７で、ＣＰＵ１０１は、変数ＣＯＵＮＴの値を所定の値Ｎ（第１値）で再初期化（リセット）し、Ｓ１０２へ処理を戻す。一方、Ｓ１０５でバスクロック生成回路１０７が駆動を停止していた場合はＳ１０８に進み、ＣＰＵ１０１は、クロック再開処理を実行し、バスクロック生成回路１０７の駆動を再開させ、バスクロック３０１の供給を再開し、Ｓ１０９に進む。Ｓ１０８の詳細については図４（ｂ）を用いて後述する。
【００３４】
Ｓ１０９で、ＣＰＵ１０１は、変数ＣＯＵＮＴの値を所定の値Ｍで再初期化（リセット）し、処理をＳ１０２へ戻す。以上の処理により、ＣＰＵ１０１は、タイマ１０４による所定時間の計時が所定回数（Ｍ又はＮ）に到達すると、バスクロック生成回路１０７の駆動の停止及び再開を交互に繰り返し行う。これにより、バスクロック生成回路１０７の駆動時間をできるだけ軽減する。
【００３５】
＜クロック停止処理＞
次に、図４（ａ）を参照して、本実施形態に係るクロック停止処理（Ｓ１０６）の詳細な処理手順について説明する。なお、以下で説明する処理は、例えば、ＣＰＵ１０１がクロック制御プログラム４０１をＲＡＭ４に読み出して実行することにより実現される。
【００３６】
Ｓ２０１で、ＣＰＵ１０１は、マスクレジスタ５０１を操作し、電源管理回路５の割り込みマスクをセットする。これは、バスＩ／Ｆ２０１によって、バスクロック３０１の供給が停止した状態で割り込み３０３を出力することがないように制御するためである。
【００３７】
ＵＡＲＴ２０４や電源管理回路５の動作は外部バス３の状態とは独立している。これらのデバイスは外部から入力を受けるとバスクロック３０１の供給が停止されていたとしてもＵＡＲＴ割り込み２０６や電源管理回路割り込み５０２を出力する状態となる。すると、バスＩ／Ｆ２０１は、外部バス３に対して割り込み３０３を出力しようとするが、バスクロック３０１を停止した状態で割り込み３０３を出力するとバス回路が誤動作する場合がある。このためバスＩ／Ｆ２０１が割り込み３０３を出力することがないようにするため割り込み出力をマスクする操作が必要となる。
【００３８】
次に、Ｓ２０２で、ＣＰＵ１０１は、マスクレジスタ２０５を操作し、ＵＡＲＴ２０４の割り込みマスクをセットする。これもＳ２０１の処理と同様にバスＩ／Ｆ２０１が割り込み３０３を出力することがないように制御するための処理である。さらに、Ｓ２０３で、ＣＰＵ１０１は、マスクレジスタ２０２を操作しバスＩ／Ｆ２０１の割り込みマスクをセットする。これもまたＳ２０１の処理と同様にバスＩ／Ｆ２０１が割り込み３０３を出力することがないように制御するための処理である。
【００３９】
次に、Ｓ２０４で、ＣＰＵ１０１は、バスクロック生成回路１０７を停止させ、クロック信号の生成を停止し、処理を終了する。これによりバスクロック３０１の供給が停止され、外部バス３はバスクロックが停止された状態となる。バスクロックの供給を停止すると、ＣＰＵ１０１は、外部バス３の先に接続されたデバイスにアクセスできない状態となるため、バスクロックの停止は最後に行う必要がある。
【００４０】
＜クロック再開処理＞
次に、図４（ａ）を参照して、本実施形態に係るクロック再開処理（Ｓ１０８）の詳細な処理手順について説明する。なお、以下で説明する処理は、例えば、ＣＰＵ１０１がクロック制御プログラム４０１をＲＡＭ４に読み出して実行することにより実現される。
【００４１】
Ｓ３０１で、ＣＰＵ１０１は、バスクロック生成回路１０７を駆動させ、クロック信号の生成を再開する。これによりバスクロック３０１の供給が再開され、外部バス３はバスクロックが供給された状態となる。ＣＰＵ１０１が外部バス３の先に接続されたデバイスにアクセスするにはバスクロックの供給が必要であるため、バスクロック供給は最初に行う必要がある。
【００４２】
次に、Ｓ３０２で、ＣＰＵ１０１は、マスクレジスタ２０２を操作しバスＩ／Ｆ２０１の割り込みマスクをクリアし、Ｓ３０３へ進む。Ｓ３０３で、ＣＰＵ１０１は、マスクレジスタ２０５を操作し、ＵＡＲＴ２０４の割り込みマスクをクリアし、Ｓ３０４へ進む。
【００４３】
Ｓ３０４で、ＣＰＵ１０１は、マスクレジスタ５０１を操作し、電源管理回路５の割り込みマスクをクリアし、処理を終了する。割り込みマスクのクリアによりバスＩ／Ｆ２０１は割り込み３０３を出力することができる状態となる。
【００４４】
もしも割り込みマスクがセットされている間にＵＡＲＴ２０４や電源管理回路５に入力があった場合には、割り込みマスクがクリアされた際にＵＡＲＴ割り込み２０６又は電源管理回路割り込み５０２が出力される。この時点でバスクロック３０１は供給されている状態であるため、外部バス３は正常に動作し、バスＩ／Ｆ２０１は割り込み３０３を出力して割り込み信号を伝達することができる。割り込み３０３を入力されたバスＩ／Ｆ１０６はＣＰＵ１０１に外部バス割り込み１０８を入力し、ＣＰＵ１０１が割り込みを処理する。
【００４５】
＜タイミングチャート＞
次に、図５を参照して、本実施形態に係るバスクロック制御と外部から入力が発生した場合の割り込み３０３の出力タイミングとの関連について説明する。図５では、ＵＡＲＴ２０４への入力とバスクロック３０１の停止状態との関係を示している。バスクロック３０１はタイマ割り込み１０５に基づいて供給状態と停止状態を繰り返している。バスクロック３０１の停止に連動してマスクレジスタ２０２とマスクレジスタ２０５は割り込みマスクがセットされた状態となっている。
【００４６】
図５（ａ）は、バスクロック３０１の停止中にＵＡＲＴ２０４がデータを受信した場合の例を示す。この場合には、ＵＡＲＴ２０４はデータを受信したとしても、すぐにはＵＡＲＴ割り込み２０６を出力せず、バスクロック３０１が再開したタイミングで出力する。それによりバスクロック３０１の供給再開と同時に割り込み３０３が出力される。
【００４７】
一方、図５（ｂ）は、バスクロック３０１が供給されているタイミングでＵＡＲＴ２０４がデータを受信した場合の例を示す。この場合にはＵＡＲＴ２０４はデータ受信後すぐにＵＡＲＴ割り込み２０６を出力し、それにより割り込み３０３も出力される。図５では、ＵＡＲＴ２０４と本発明の制御との関係を例示したが、電源管理回路５についても全く同様の関係である。
【００４８】
以上説明したように、本実施形態に係るコンピュータシステムは、少なくとも、制御装置であるＳｏＣ１と、ＳｏＣ１にペリフェラルバス（外部バス３）を介して接続されたＩ／Ｏコントローラ２を含む。また、ＳｏＣ１は、所定時間を繰り返し計時するタイマ１０４と、Ｉ／Ｏコントローラ２に対して、クロックを供給するバスクロック生成回路１０７を備える。さらに、ＳｏＣ１は、タイマ１０４による所定時間の計時に基づき、バスクロック生成回路１０７の駆動の停止及び再開を交互に行うＣＰＵ１０１を備える。一方、Ｉ／Ｏコントローラ２は、ＳｏＣ１へのペリフェラルバスを介した割り込み信号の出力を制限する割り込みマスクを備える。また、ＳｏＣ１は、バスクロック生成回路１０７の駆動を停止する際に、上記割り込みマスクを設定し、バスクロック生成回路１０７の駆動を再開する際に、上記割り込みマスクを解除する。これにより、本発明を適用したコンピュータシステムは、ペリフェラルバスのバスクロックを停止してクロック生成回路の駆動時間を短くさせることができ、クロック生成回路の寿命を長く維持できる。
【００４９】
例えばタイマ１０４がタイマ割り込み１０５を出力する時間間隔を４ミリ秒と設定し、図３のフローチャートにおけるタイマ割り込み回数のカウント値Ｍを１、Ｎを４とする。この場合、バスクロック３０１は４ミリ秒供給された後１６ミリ秒停止する、という動作を繰り返すこととなり、バスクロック生成回路１０７の駆動時間をコンピュータシステムの駆動時間の２０％に抑えることができる。もちろんこの設定は一例であって本発明はこれに限定されない。
【００５０】
また、本発明を適用したコンピュータシステムでは、バスクロックを自動停止する機能を備えていないペリフェラルバスにおいてもバスクロックの停止と割り込み信号の伝達を実現することができる。これにより、クロック生成回路の寿命を維持しつつ、コンピュータシステムが入力に反応する状態も両立でき、機能性を損ねない。
【００５１】
なお、上記実施形態では、タイマ１０４は設定された時間周期毎に割り込み信号を出力するよう構成したが、これは指定時間経過後に割り込み信号を出力するよう構成された回路でも同様の効果を得ることが可能である。
【００５２】
さらに、上記本実施形態では、図４のフローチャートにおいて先に電源管理回路５の割り込みをマスクし、次に、ＵＡＲＴ２０４の割り込みをマスクすることとしているが、この構成はあくまで一例である。割り込みマスクの順序は本実施形態と異なってもよく、本発明はこの構成に限定されるものではない。
【００５３】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５４】
１；Ｓｙｓｔｅｍ−Ｏｎ−Ｃｈｉｐ（ＳｏＣ）、２：Ｉ／Ｏコントローラ、３：外部バス、４：ＲＡＭ、５：電源管理回路、６：センサ、７：電源スイッチ
【図１】
2018200630.tif 000003
【図２】
2018200630.tif 000004
【図３】
2018200630.tif 000005
【図４】
2018200630.tif 000006
【図５】
2018200630.tif 000007