(57)【要約】【課題】マイクロプロセッサへの動作クロックのパルス数を容易に、且つ瞬時に変更制御可能とすること。【解決手段】クロック制御装置２によって、少なくとも、マイクロプロセッサ１からの、バス４がビジー状態にあることを示すバス・ビジー信号１０が存在している間は、システム・クロック８と同じパルス数のクロックを、バス・ビジー信号１０が存在しない間では、システム・クロック８のパルス数を減じた歯抜けクロックを、それぞれ動作クロック９としてマイクロプロセッサ１に供給するようにした。【選択図】  図１
2004213571.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも、マイクロプロセッサからの、バスがビジー状態にあることを示すバス・ビジー信号の存否に基づき、上記マイクロプロセッサへの動作クロックのパルス数を制御するクロック制御装置であって、
バス・ビジー信号が存在している間は、システム・クロックそのものを、上記バス・ビジー信号が存在しない間では、システム・クロックのパルス数を減じた歯抜けクロックを、それぞれ動作クロックとしてマイクロプロセッサに供給するクロック制御手段
を含むクロック制御装置。
【請求項２】
請求項１記載のクロック制御装置において、
マイクロプロセッサに何れかの割込み要因に基づく割込み信号があった場合、該割込み要因対応に事前設定されているパルス数制御データが、マイクロプロセッサからバスを介し、クロック制御手段にプログラム転送によりマイクロプロセッサ・クロックパルス数制御データとして設定された上、マイクロプロセッサ動作クロックパルス数が制御されるクロック制御装置。
【請求項３】
請求項１記載のクロック制御装置において、
クロック制御手段に何れかの割込み要因に基づく割込み信号があった場合、該割込み要因対応に事前設定されているパルス数制御データがマイクロプロセッサ・クロックパルス数制御データとして設定された上、マイクロプロセッサ動作クロックパルス数が制御されるクロック制御装置。
【請求項４】
クロック制御装置が具備されてなるマイクロプロセッサであって、
クロック制御装置には、
マイクロプロセッサからの、バスがビジー状態にあることを示すバス・ビジー信号が存在している間は、システム・クロックそのものを、上記バス・ビジー信号が存在しない間では、システム・クロックのパルス数を減じた歯抜けクロックを、それぞれ動作クロックとして上記マイクロプロセッサに供給するクロック制御手段
が含まれてなるマイクロプロセッサ。
【請求項５】
クロック制御装置が具備されてなるマイクロプロセッサを制御処理手段として含んでなる電子機器であって、
クロック制御装置には、
マイクロプロセッサからの、バスがビジー状態にあることを示すバス・ビジー信号が存在している間は、システム・クロックそのものを、上記バス・ビジー信号が存在しない間では、システム・クロックのパルス数を減じた歯抜けクロックを、それぞれ動作クロックとして上記マイクロプロセッサに供給するクロック制御手段
が含まれてなる電子機器。
【請求項６】
少なくとも、マイクロプロセッサからの、バスがビジー状態にあることを示すバス・ビジー信号の存否に基づき、動作クロック供給元で上記マイクロプロセッサへの動作クロックのクロックパルス数が制御されるクロック制御方法であって、
バス・ビジー信号が存在している間は、システム・クロックと同じパルス数の動作クロックをマイクロプロセッサに供給するシステム・クロック供給ステップと、
上記バス・ビジー信号が存在しない間、システム・クロックのパルス数を減じた歯抜けクロックをマイクロプロセッサに供給する歯抜けクロック供給ステップと
を含むクロック制御方法。
【請求項７】
請求項６記載のクロック制御方法において、
上記歯抜けクロック供給ステップの実行に先立って、
マイクロプロセッサへの、各割込み要因に基づく割込み信号に基づき、各割込み要因対応に事前設定されているパルス数制御データを、マイクロプロセッサからバスを介し、プログラム転送により動作クロック供給元にマイクロプロセッサ・クロックパルス数制御データとして設定するステップが実行されるクロック制御方法。
【請求項８】
請求項６記載のクロック制御方法において、
上記歯抜けクロック供給ステップの実行に先立って、
動作クロック供給元への、何れかの割込み要因に基づく割込み信号に基づき、該割込み要因対応に事前設定されているパルス数制御データを、マイクロプロセッサ・クロックパルス数制御データとして設定するステップが実行されるクロック制御方法。
【請求項９】
外部からマイクロプロセッサへの割込み信号に基づき、該マイクロプロセッサへの動作クロックのパルス数を、パルス数制御データに基づき動作クロック供給元で制御するためのクロック制御プログラムであって、
外部から割込み信号がある度に、割込み要因を識別する割込み要因識別ステップと、
該割込み要因識別ステップで識別された割込み要因対応に事前設定されているパルス数制御データを、動作クロック供給元にマイクロプロセッサ・クロックパルス数制御データとしてプログラム転送設定するパルス数制御データ転送設定ステップと
を含むクロック制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロプロセッサへの動作クロックのパルス数を制御するクロック制御装置及び制御方法、このクロック制御装置が具備されてなるマイクロプロセッサ、このマイクロプロセッサを制御処理手段として含んでなる電子機器、マイクロプロセッサへの動作クロックのパルス数を制御するためのクロック制御プログラムに関する。
【０００２】
【従来の技術】
マイクロプロセッサ上で実行されるソフトウェアの処理に時間的余裕がある場合、マイクロプロセッサへの動作クロック周波数を低下させることで、消費電力の低減化が可能となっている。これまでのマイクロプロセッサ・システムでも、マイクロプロセッサへの動作クロック周波数を低下させることが行われてはいるが、その機構は、専らクロック発振元での周波数を変化せしめることにより実現されているのが実情である。具体的には、発振元である発振器やＰＬＬ回路といった特殊回路の出力周波数が可変に制御されている。
【０００３】
因みに、特許文献１には、その従来技術として、２以上の異なるクロックモードを有するマイクロコンピュータに関しての記載が見受けられるが、この記載だけからは、２以上の異なるクロックモードが如何に実現されているのか、その内容は不明となっている。
【０００４】
【特許文献１】
特開２０００―２１７１７３号公報
【０００５】
【発明が解決しようとする課題】
以上のように、これまでにあっては、マイクロプロセッサへの動作クロックの周波数を低下させる場合、発振元である発振器やＰＬＬ回路といった特殊回路の出力周波数が可変に制御されていた。しかしながら、その制御を行うためには、発振器やＰＬＬ回路の出力周波数の変更が可能であることを前提として、マイクロプロセッサへの動作クロック供給は、一旦、停止された後、動作クロックの周波数が変更される、といった具合に、一連の手続を順次、踏む必要があったり、その変更には、マイクロプロセッサの動作周波数に比し、多くの時間が要されていた。このため、マイクロプロセッサ上で動作されるソフトウェアが開発されるに際しては、マイクロプロセッサの動作クロック周波数を変更するために必要な時間を考慮の上、開発される必要がある等、その開発には多くの制約があった。
【０００６】
本発明の目的は、マイクロプロセッサへの動作クロック周波数を、クロック発振元のクロック周波数（クロックパルス幅）を変更することなく、そのクロックのパルス数を変更することにより、容易に、且つ瞬時に、マイクロプロセッサの動作周波数を変更（クロックパルス幅は同じでパルス数にて変更）制御可能とされているクロック制御装置を提供することにある。
本発明の目的はまた、そのようなクロック制御装置が具備されてなるマイクロプロセッサを提供することにある。
本発明の他の目的は、そのようなマイクロプロセッサを制御処理手段として含んでなる電子機器を提供することにある。
【０００７】
本発明の更なる他の目的は、マイクロプロセッサへの動作クロックの周波数が容易に、且つ瞬時に変更制御可能とされているクロック制御方法を提供することにある。
本発明の更に異なる他の目的は、マイクロプロセッサへの割込み信号に基づき、そのマイクロプロセッサへの動作クロックのパルス数を、割込み要因に応じて容易に、且つ瞬時に変更制御するためのクロック制御プログラムを提供することにある。
【０００８】
【課題を解決するための手段】
本発明のクロック制御装置は、マイクロプロセッサからの、バスがビジー状態にあることを示すバス・ビジー信号が存在している間は、システム・クロックと同じパルス数のクロックを、そのバス・ビジー信号が存在しない間では、システム・クロックのパルス数を減じた歯抜けクロックを、それぞれ動作クロックとしてマイクロプロセッサに供給するクロック制御手段を含むべく、構成したものである。
【０００９】
また、以上のバス・ビジー信号に加え、マイクロプロセッサに何れかの割込み要因に基づく割込み信号があった場合には、その割込み要因対応に事前設定されているパルス数制御データが、マイクロプロセッサからバスを介し、クロック制御手段にプログラム転送によりマイクロプロセッサ・クロックパルス数制御データとして設定された上、マイクロプロセッサへの動作クロックが歯抜け制御されるようにした。
【００１０】
更に、以上のバス・ビジー信号に加え、マイクロプロセッサへの割込み信号が、クロック制御手段にも入力される場合には、その割込み要因対応に事前設定されているパルス数制御データがマイクロプロセッサ・クロックパルス数制御データとして設定された上、システム・クロックが歯抜け制御されるようにした。
【００１１】
結局、マイクロプロセッサからバス・ビジー信号が出力されている間は、無条件にシステム・クロックと同等の動作クロックとして、そのマイクロプロセッサに入力されているが、それが出力されていない間は、適当にパルス数が少ない歯抜け制御されたシステム・クロックが動作クロックとして、そのマイクロプロセッサに入力されることで、消費電力の低減化が図られている。
【００１２】
【発明の実施の形態】
以下、本発明の一実施の形態を図１から図５により説明する。
先ず本発明に係るマイクロプロセッサ・システムについて説明すれば、図１にその一例でのシステム構成を示す。図示のように、マイクロプロセッサ１には、マイクロプロセッサ・バス４を介し、各種入出力装置５やレジスタ６、メモリ８等が並列的に接続されているが、本発明のクロック制御装置２もまた、同様にして、マイクロプロセッサ１に接続されている。因みに、本例では、マイクロプロセッサ１を１個のみ含むシステム構成が想定されているが、それを複数含むマルチプロセッサ・システムにも、本発明は適用可能となっている。
【００１３】
さて、クロック発振器３ではシステム・クロック８が発生されているが、そのシステム・クロック８は各種入出力装置５やレジスタ６、メモリ８、クロック制御装置２等には直接、動作クロックとして入力される。しかしながら、マイクロプロセッサ１には、クロック制御装置２を介しマイクロプロセッサ・（動作）クロック９として入力されている。クロック制御装置２では、マイクロプロセッサ１からの、マイクロプロセッサ・バス４が現にビジー状態にあることを示すバス・ビジー信号（ハードウェア的に自動発生）１０の存否や、マイクロプロセッサ１からクロック制御装置２に、マイクロプロセッサ・バス４を介しプログラム転送設定されているパルス数制御データに基づき、システム・クロック８と同じパルス数のクロックか、または適当に歯抜け制御されたクロックを、マイクロプロセッサ・クロック９としてマイクロプロセッサ１に供給している。
【００１４】
図２にそのクロック制御装置２の一例での構成を示す。図示のように、マイクロプロセッサ１からのバス・ビジー信号１０が存在する場合、即ち、その信号状態が“１”状態にある場合には、“１”状態にある期間に亘って、バス・ビジー信号１０は無条件にОＲゲート２４、ラッチ２５を介し、システム・クロック８の通過を許容するゲート制御信号としてＡＮＤゲート２６に作用する結果、比較的長い期間に亘って、システム・クロック８と同じパルス数のクロックがマイクロプロセッサ・クロック９として得られる。因みに、システム・クロック８をマイクロプロセッサ・クロック９と同じパルス数として得るための信号としては、バス・ビジー信号１０以外にも種々考えられるが、これら信号をも考慮する場合には、これら信号はバス・ビジー信号と論理和された上、ОＲゲート２４に入力されるようにすればよい。
【００１５】
しかしながら、マイクロプロセッサ１からのバス・ビジー信号１０が存在しない場合、即ち、その信号状態が“０”状態にある場合は、システム・クロック８の通過を許容するゲート制御信号は、本例での場合、パルス数可変、即ち、パルスを出力したり、出力停止したりするように、事前設定されているマイクロプロセッサ・クロックパル数制御データに基づき、比較器２３から周期的に発生されていることから、結果的に、適当に歯抜け制御されたシステム・クロック８がマイクロプロセッサ・クロック９として得られるようになっている。なお、ラッチ２５はシステム・クロック８の立上り時点でその直前でのОＲゲート２４出力状態を保持し、システム・クロック８が“１”状態にある間、その保持出力を継続するも、システム・クロック８が“０”状態では、ОＲゲート２４出力状態をそのまま通過出力すべく機能しているが、システム・クロック８が“１”状態にある間、ОＲゲート２４出力状態が変化しないことが保障されていれば、必ずしも必要とはされない。
【００１６】
ここで、マイクロプロセッサ１に何れかの割込み要因に基づく割込み信号があった場合には、その割込み要因対応のパルス数制御データがマイクロプロセッサ１からマイクロプロセッサ・バス４を介し、システム・クロックパルス数制御データとして設定レジスタ２１に設定されることで、マイクロプロセッサ・クロック９のパルス数が切替え制御される。図示のように、システム・クロック８はカウンタ２２で常時カウントされているが、例えばそのカウント値が設定レジスタ２１上の設定値より小さい場合は、比較器２３が“１”状態を出力してシステム・クロック８を通し、設定値以上の場合は、比較器２３が“０”状態を出力してシステム・クロック８の通過は停止されるようになっている。カウンタ２２の最大カウント値は、通常、固定値として事前設定されているが、マイクロプロセッサ１からバス４を介し、随時、可変に設定することも可能となっている。より具体的に、例えばカウンタ２２の最大カウント値が９９に設定されているとすれば、カウンタ２２は、そのカウント値が０から９９までインクリメントされた後、再度、そのカウント値は０に戻り、その後、また、そのカウント値はインクリメントされていくことになる。その際に、設定レジスタ２１に５０が設定されていたとすれば、カウント値が０〜４９にある間は、システム・クロック８がマイクロプロセッサ１に入力されるも、カウント値が５０〜９９にある間は、システム・クロック８のマイクロプロセッサ１への入力は停止されることになる。この結果、全体としてのパルス数が半分となり、その分、消費電力が削減されることになる。
【００１７】
因みに、以上では、マイクロプロセッサ１に割込み信号がある度に、事前設定されている割込み要因対応パルス数制御データがマイクロプロセッサ１から設定レジスタ２１に設定されているが、このパルス数制御データのプログラムによる転送設定は割込み信号があった場合だけではなく、必要に応じて随時、行うことも可能となっている。尤も、設定レジスタ２１にマイクロプロセッサ１から、必要とされる、割込み要因対応のパルス数制御データが全て事前設定されている場合には、その都度、マイクロプロセッサ１から設定レジスタ２１に新たに設定することは不要となっている。マイクロプロセッサ１への割込み信号が、設定レジスタ２１にも入力されるようにすれば、その割込み要因対応のパルス数制御データが、即、マイクロプロセッサ・クロックパルス数制御データとして選択設定されればよいからである。なお、パワー・オン時に発生されるリセット信号により設定レジスタ２１には、カウンタ２２の最大カウント値がデフォルト値として設定されるようになっている。
【００１８】
ここで、割込み信号について説明すれば、割込み信号は各種入出力装置５や他のマイクロプロセッサ等で各種の割込み要因対応のものとして発生された上、個別割込み信号線を介しマイクロプロセッサ１や設定レジスタ２１に入力され、マイクロプロセッサ１では該当割込み処理が行われているが、その該当割込み処理の実行に先立っては、既述の如くにしてマイクロプロセッサ１へのマイクロプロセッサ・クロック９のパルス数が制御される。結局、マイクロプロセッサ１での割込み処理は、割込み要因に応じたクロックパルス数のマイクロプロセッサ・クロック９により行われることになる。
【００１９】
ところで、マイクロプロセッサ１に何れかの割込み要因に基づく割込み信号があった場合、その割込み要因対応に事前設定されているパルス数制御データが、マイクロプロセッサ・クロックパルス数制御データとして設定レジスタ２１にプログラム転送設定されているが、このためのクロック制御プログラムの一例でのフローを図３に示す。このクロック制御プログラムは、マイクロプロセッサ１に割込み信号がある度に起動されており、起動された場合には、先ずその割込み要因が識別される（処理３１）。割込み要因が識別されれば、その割込み要因対応に事前設定されているパルス数制御データが、マイクロプロセッサ１から設定レジスタ２１にプログラム転送設定される（処理３２）。このようにして、割込み信号がある度に、クロック制御プログラムが実行される場合には、その割込み信号に対する割込み処理は、割込み要因に応じたマイクロプロセッサ・クロック９により行われることになる。
【００２０】
以上のように、マイクロプロセッサ・システムが、クロック制御装置が追加された状態として構成される場合には、マイクロプロセッサとそれ以外の装置とのデータ通信は常にバス・ビジー状態で行われることから、そのデータ通信に何等悪影響を与えることなく、マイクロプロセッサの動作クロックパルス数が瞬時に変更可能となる。これにより、バス・ビジー信号や割込み信号、ソフトウェア（クロック制御プログラム）によるマイクロプロセッサの動作クロック周波数の変更がきめ細かい時間単位で行うことが可能となり、システム全体としての消費電力が低減化されることになる。
【００２１】
以上のようにして、クロック制御装置を始めとして、これが具備されてなるマイクロプロセッサ（システム）や、このマイクロプロセッサを制御処理手段として含む電子機器、更には、クロック制御方法やクロック制御プログラム等、各種のものが発明として考えられるが、実際には、商品としての形態を採る携帯型電子機器（ＰＤＡや携帯電話機、ポータブルＣＤ／ＭＤ等のモバイル機器全般を指す）に適用されて、特に有効となっている。これは、携帯型電子機器一般は、その動作電源が一般に電池とされているが、消費電力が低減化されれば、その分、頻繁に電池交換や電池充電を行わないで済まされるからである。
【００２２】
ここで、携帯型電子機器として、育成シミュレーションを行う携帯用ゲーム機に例を採って説明すれば、図４にその一般的な概要構成を示す。このゲーム機では、事前記憶されている育成シミュレーションのプログラムに基づいて、プレーヤが仮想キャラクタを長期間に亘って育成していくようにされており、ゲーム機自体は携帯が可能なように、片手で持てる程度の小型サイズとして構成されている。
【００２３】
より具体的に、そのゲーム機の構成について説明すれば、以下のようである。即ち、図４に示すように、大別して、ゲーム機は、ゲームプログラム４１１、複数の映像データ４１２及び複数の音データ４１３がＲＯＭ４３に事前記憶されてなるカセット１と、このカセット１と電気的に接続可能とされ、カセット１のゲームプログラム４１１を進行させるゲーム機本体４２とから構成されている。ゲーム機本体４２はまた、プログラム４１１を進行させるＲＡＭ４２３と、ＲＯＭ４３の映像データ４１２を映像として表示する液晶表示ユニット４２７と、音データ４１３を可聴音として再生する音再生ユニット４２５と、プレーヤの意思を自身が入力するためのキー入力部４２１と、プログラム４１１の進行を命令し、プログラム４１１の進行及びプレーヤからのキー入力に応じて、複数の映像データ４１２のうちから、適当な映像データを表示駆動回路４２６を介し液晶表示ユニット４２７に転送する一方、複数の音データ４１３のうちから、適当な音データを音声再生回路４２４を介し音再生ユニット４２５に転送するＣＰＵ４２２と、動作電源としての電池（図示せず）とを含むようにして構成されている。
【００２４】
ゲームに際しては、プレーヤはキー入力や押しボタンを用い、液晶表示されるキャラクタを長時間かけて育成していく育成ゲームを開始させる。プログラム４１１の進行途中においては、キャラクタがプレーヤに対して、恰も「食事」や「遊び」等を要求しているように、映像表示や音発生が行われるが、これに応えるべく、プレーヤからはキー入力が行われる、といった具合にして、ゲームは進行するようになっている。
【００２５】
さて、以上のような育成ゲーム機における問題点としては、ゲーム機側からプレーヤに対する要求は何時行われるかが予め知れなく、ゲーム機側がプレーヤに対して何等要求を行わない段階に入ったとしても、ＣＰＵ４２２をそのままの状態におくことは、消費電力上、不利なことが挙げられる。よって、ゲーム機側がプレーヤに対して何等要求を行わない段階に入ってから、要求する段階に入るまでの間においては、ＣＰＵ４２２への動作クロックとして、通常の周波数の動作クロックに比し、低い周波数の動作クロック（ここでの低い周波数とは、クロックパルス幅ではなく、クロックパルス数が減じられていることを意味する）を使用することが考えられる。即ち、本発明のクロック制御装置をゲーム機に搭載することが考えられる。
【００２６】
そのＣＰＵ４２２への動作クロックのパルス数が制御される場合での処理フローを図５に示す。図示のように、プレーヤによりキー入力が行われ、そのデータの取り込みが行われた後に、ゲーム機がプレーヤに対し操作を要求しなくなったかが判断される（処理５１，５２）。操作を要求しなくなったと判断されれば、ＣＰＵ４２２への動作クロックは、そのパルス数がクロック制御装置により低下せしめられる（処理５３）。その後、操作を要求する段階に入ったか否かが判断される（処理５４）。操作を要求する段階に入ったと判断されれば、ＣＰＵ４２２への動作クロックは、そのパルス数がクロック制御装置により元のパルス数に復帰される（処理５４，５５）。
【００２７】
ＣＰＵ４２２への動作クロックのパルス数はまた、ゲームソフトの種類に応じて、変更可能とされる。例えば格闘ゲーム等、データ量／時間が大きいゲームソフトに対しては、ＣＰＵ４２２への動作クロックのパルス数は通常値に設定されるが、将棋や麻雀等、データ量／時間が小さいゲームソフトに対しては、そのパルス数は通常値よりも低い値に設定されるようにすればよい。
【００２８】
以上、本発明者によってなされた発明を実施の形態に基づき、具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変更可能であることはいうまでもない。
【００２９】
【発明の効果】
マイクロプロセッサへの動作クロックのパルス数が容易に、且つ瞬時に変更制御可能とされているクロック制御装置が提供される。
そのようなクロック制御装置が具備されてなるマイクロプロセッサが提供される。
そのようなマイクロプロセッサを制御処理手段として含んでなる電子機器が提供される。
【００３０】
マイクロプロセッサへの動作クロックのパルス数が容易に、且つ瞬時に変更制御可能とされているクロック制御方法が提供される。
マイクロプロセッサへの割込み信号に基づき、そのマイクロプロセッサへの動作クロックのパルス数を割込み要因に応じて容易に、且つ瞬時に変更制御するためのクロック制御プログラムが提供される。
【図面の簡単な説明】
【図１】本発明に係るマイクロプロセッサ・システムの一例でのシステム構成を示す図である。
【図２】本発明のクロック制御装置の一例での構成を示す図である。
【図３】割込み信号があった場合に実行されるクロック制御プログラムの一例でフローを示す図である。
【図４】育成シミュレーションを行う携帯用ゲーム機の一般的な概要構成を示す図である。
【図５】育成ゲーム機において、ＣＰＵへの動作クロックのパルス数が制御される場合での処理フローを示す図である。
【符号の説明】
１…マイクロプロセッサ、２…クロック制御装置、３…クロック発振器
【図１】
2004213571.tif 000003
【図２】
2004213571.tif 000004
【図３】
2004213571.tif 000005
【図４】
2004213571.tif 000006
【図５】
2004213571.tif 000007