【手続補正書】
【提出日】平成16年7月9日(2004.7.9)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】      明細書
【発明の名称】  クロック生成回路及びクロック生成方法
【特許請求の範囲】
【請求項１】  外部から供給されるデータをラッチし、該ラッチしたデータに対応する周波数逓倍率指示信号と逓倍率変更要求をするかどうかを決定するイネーブル信号とを出力する指示部と、
外部クロック信号に基づいてプロセッサに供給する内部クロック信号を生成するとともに、前記イネーブル信号と前記周波数逓倍率指示信号とに基づいて内部クロックの周波数を変更するＰＬＬ部と、
前記イネーブル信号の出力から前記ＰＬＬ部の内部クロック信号の周波数が安定するまでの所定期間は、前記ＰＬＬ部から前記プロセッサへの前記内部クロックの供給を禁止する禁止手段とを備えることを特徴とするクロック生成回路。
【請求項２】  前記外部から供給されるデータは、
前記プロセッサから出力されるデータであることを特徴とする請求項１に記載のクロック生成回路。
【請求項３】  前記指示部は
前記データをラッチするレジスタを備えることを特徴とする請求項１又は請求項２に記載のクロック生成回路。
【請求項４】  前記イネーブル信号が逓倍率変更要求をしないものであることを検出すると前記外部クロック選択信号を出力するようにしたデータ選択部を更に備えた、請求項１、請求項２又は請求項３に記載のクロック生成回路。
【請求項５】  前記ＰＬＬ部は
前記禁止手段が前記内部クロックの供給を禁止している間に前記周波数逓倍指示信号に応じて前記内部クロック信号の周波数を変更するようにした、請求項１、請求項２、請求項３又は請求項４に記載のクロック生成回路。
【請求項６】  外部クロック信号に基づいて内部クロック信号を生成し、該内部クロック信号に応じて動作するプロセッサに該内部クロックを供給するＰＬＬ部と、
前記ＰＬＬ部の周波数逓倍率を指示する周波数逓倍率指示信号部と、
前記ＰＬＬが前記周波数低倍率を変更するときに前記ＰＬＬ部へ出力されるイネーブル信号を保持するとともに、前記プロセッサがリセットされると所定値となるレジスタ部と、
前記レジスタ部から出力される前記数逓倍率指示信号と前記イネーブル信号とに応じて前記内部クロックの周波数を変更するとともに、前記内部クロック信号の周波数が安定するまでの所定期間は、前記ＰＬＬ部から前記プロセッサへの前記内部クロックの供給を禁止する禁止部と
を備えることを特徴とするクロック生成回路。
【請求項７】  外部クロック信号に基づいて内部クロック信号を生成するクロック生成方法において、
外部から供給されたデータに基づいて逓倍率変更要求をするかどうかを決定するイネーブル信号を生成し、
前記イネーブル信号が活性化されている場合には、周波数逓倍率指示に基づいて内部クロックの周波数を変更するともに、該内部クロック信号の周波数が安定するまでの所定期間、該内部クロックの外部への供給を禁止すること
を特徴とするクロック生成方法。
【請求項８】  外部クロック信号に基づいて内部クロック信号を生成するＰＬＬ部におけるクロック生成方法において、
外部から供給されたデータに基づいて逓倍率変更要求をするかどうかを決定し、
前記逓倍率変更要求がされる場合には、前記ＰＬＬ部において周波数逓倍率指示に基づいて内部クロックの周波数を変更するとともに、該内部クロック信号の周波数が安定するまでの所定期間該内部クロックの外部への供給を禁止すること
を特徴とするクロック生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＰＬＬ部の内部クロック信号の周波数を、使用状態に応じて変化させることにより消費電力の低減を図ったクロック生成回路及びクロック生成方法に関する。
近年、クロック生成回路としてのマイクロプロセッサが適用される分野として携帯機器等の小型装置が増大しており、マイクロプロセッサの低消費電力化が要求されている。
【０００２】
一般に、マイクロプロセッサは外部クロック信号に応じて内部クロック信号を生成するＰＬＬ部と、このＰＬＬ部から供給される内部クロック信号に応じて命令を実行するプロセッサとを備えている。マイクロプロセッサとしては、ＰＬＬ部がプロセッサのチップに搭載されるＰＬＬ部内蔵型と、ＰＬＬ部がプロセッサのチップの外に配置されるＰＬＬ部外付け型とがある。本明細書におけるマイクロプロセッサは、ＰＬＬ部内蔵型とＰＬＬ部外付け型の如何に係わらず、ＰＬＬ部を備えるクロック生成回路としてのマイクロプロセッサをいう。
【０００３】
【従来の技術】
従来のマイクロプロセッサにおいては、ＰＬＬ部が出力するクロック信号をプロセッサにおいて分周して、プロセッサが使用するクロック信号周波数を低くすることにより低消費電力を実現していた。ところが、ＰＬＬ部を動作させるためのクロック信号の周波数は最高周波数に固定されているので、ＰＬＬ部に於ける消費電力が大きくなっていた。
【０００４】
【発明が解決しようとする課題】
したがって、従来のマイクロプロセッサにおいては、プロセッサにおける動作が低速でその消費電力が少なくなっている場合でも、ＰＬＬ部での消費電力は大きいままであるという問題がある。
本発明の目的は、プロセッサにおける動作を低速にしてその消費電力を少なくしようとするときに、ＰＬＬ部の消費電力も少なくして、全体としての消費電力を一層低減させたクロック生成回路及びクロック生成方法を提供することにある。
【０００５】
【課題を解決するための手段】
上記の目的を達成するために、本発明により提供されるものは
外部から供給されるデータをラッチし、該ラッチしたデータに対応する周波数逓倍率指示信号と逓倍率変更要求をするかどうかを決定するイネーブル信号とを出力する指示部と、外部クロック信号に基づいてプロセッサに供給する内部クロック信号を生成するとともに、前記イネーブル信号と周波数逓倍率指示信号とに基づいて内部クロックの周波数を変更するＰＬＬ部と、イネーブル信号の出力からＰＬＬ部の内部クロック信号の周波数が安定するまでの所定期間は、ＰＬＬ部からプロセッサへの内部クロックの供給を禁止する禁止手段とを備えることを特徴とするクロック生成回路である。
【０００６】
外部から供給されるデータには、プロセッサの動作速度に対応した情報が含まれている。即ち、この情報にはクロック信号の周波数逓倍率を指示する信号と、クロック信号の周波数の変更要求をするかどうかを決定するイネーブル信号とが含まれている。指示部は、プロセッサからの出力データに応じて、周波数逓倍率指示信号とイネーブル信号とを出力する。イネーブル信号が例えば“Ｈ”レベルであれば、マイクロプロセッサの動作速度の変更要求があることを示し、イネーブル信号が“Ｌ”レベルであればマイクロプロセッサの動作速度は変更しないことを示している。イネーブル信号が“Ｈ”レベルのときにデータ選択部は周波数逓倍率指示信号をＰＬＬ部に選択出力する。ＰＬＬ部はこの周波数逓倍率指示信号に応じて、その内部クロック信号の周波数を変更する。この内部クロック信号の周波数の変更過程では、ＰＬＬ部は一時的にロック状態からはずれて、出力される内部クロック信号の周波数が乱れるので、この間は、禁止部によりＰＬＬ部からプロセッサには内部クロック信号を供給しないようにし、ＰＬＬ部の出力が安定になってからＰＬＬ部の内部クロック信号をプロセッサに供給する。
【０００７】
こうして、外部から供給されるデータに応じてＰＬＬ部の発生する内部クロック信号の周波数を変更し、その内部クロック信号に応じてＰＬＬ部及びプロセッサを動作させることにより、ＰＬＬ部が低速動作をするときはプロセッサも低速動作をさせ、それにより、マイクロプロセッサ全体としての消費電力を大幅に低減できる。
【０００８】
【発明の実施の形態】
以下、添付の図面により本発明の実施の形態を説明する。
図１は本発明の実施の形態によるクロック生成回路としてのマイクロプロセッサ（以下、単にマイクロプロセッサという）の概略を示すブロック図である。図において、１は外部クロック信号に応じて内部クロック信号を生成するＰＬＬ部、２はデータ選択部、３はプロセッサ６による命令の実行によりプロセッサ６から出力されるデータをラッチし、該ラッチしたデータに対応する周波数逓倍率指示信号と逓倍率変更要求をするかどうかを決定するイネーブル信号とを出力する指示部、４はイネーブル信号の出力からＰＬＬ部１の内部クロック信号の周波数が安定するまでの所定期間は、ＰＬＬ部１からプロセッサ６への内部クロックの供給を禁止する禁止手段である。
【０００９】
本実施の形態では、イネーブル信号はプロセッサ６の出力データの最上位ビットに対応しているが、プロセッサ６の設計仕様に応じて、イネーブル信号はプロセッサ６の出力データの任意のビットに対応させることができる。データ選択部２は、イネーブル信号に応じて、指示部３からの周波数逓倍率指示信号と外部からの一定の逓倍率の外部クロック選択信号とのいずれかを選択出力する。
【００１０】
動作において、プロセッサ６はＰＬＬ部１から供給される内部クロック信号に応じて各種の命令を実行する。この命令の実行の結果得られるデータは、図示しない被処理装置に供給されるとともに、指示部３に供給される。指示部３はそのデータをラッチし、該ラッチしたデータに対応するイネーブル信号と周波数逓倍率指示信号とを出力する。例えば、ラッチしたデータの最上位ビットがイネーブル信号であり、ラッチしたデータのそれ以外のデータは周波数逓倍率指示信号となる。本実施の形態においては、プロセッサ６は、プロセッサ６の内部クロック信号の周波数を変更しないときには、その出力データの最上位ビットを“Ｌ”レベルにし、変更を要求するときはその最上位ビットを“Ｈ”レベルにするように設計されている。
【００１１】
イネーブル信号が“Ｈ”レベルのときは、データ選択部２は指示部３から受け取った周波数逓倍率指示信号をＰＬＬ部１に選択出力する。ＰＬＬ部１は受け取った周波数逓倍率指示信号に基づいて、外部クロック信号の周波数を周波数逓倍率指示信号に対応する逓倍率に変化させた内部クロック信号を生成する。イネーブル信号が“Ｈ”レベルになってからＰＬＬ部１の出力が安定するまでの所定の期間は、禁止手段４はＰＬＬ部１の出力のプロセッサ６への供給を禁止する。禁止手段４による禁止期間の後に、ＰＬＬ部１からの内部クロック信号がプロセッサ６に供給される。ＰＬＬ部１はこの新たな内部クロック信号に基づいて必要な処理を実行する。
【００１２】
イネーブル信号が“Ｌ”レベルのときは、データ選択部２は所定の外部クロック選択信号をＰＬＬ部１に選択出力する。ＰＬＬ部１は受け取った外部クロック選択信号に対応する一定の逓倍率の内部クロック信号を生成し、その内部クロック信号に応じてＰＬＬ部及びプロセッサが動作する。
図２は図１に示したマイクロプロセッサの詳細な構成を示す論理回路図である。同図において、図１と同一部分には同一参照番号が付されている。
【００１３】
本例においてはプロセッサ６は４ビットのデータＤ３〜Ｄ０を出力するものとする。プロセッサ６は周知の整数演算ユニット６１、バスインタフェースユニット６２、キャシュメモリ６３等の各種のユニットを含んでいる。
指示部３は４つのフリップフロップ３１〜３４とアンドゲート３５からなるレジスタである。アンドゲート３５には外部クロック信号（ＣＬＫ）と書き込み信号ＷＲＩＴＥが入力される。書き込み信号ＷＲＩＴＥは、プロセッサ６がある命令を実行した後にその出力データを指示部３に書き込むタイミングでプロセッサ６から出力される。アンドゲート３５の出力はフリップフロップ３１〜３４のクロック端子ＣＫに共通接続されている。フリップフロップ３１〜３４はそれぞれリセット端子Ｒを有し、そのリセット端子Ｒにリセット信号ＲＳＴの反転信号（以下リセット信号ＲＳＴバーと称する）を受け取る。リセット信号ＲＳＴバーはイニシャライズ信号であり、マイクロプロセッサをイニシャライズした時に“Ｌ”レベルが入力される。プロセッサ６から出力されるデータＤ３〜Ｄ０はそれぞれ、フリップフロップ３１〜３４のデータ入力Ｄに入力される。データＤ３〜Ｄ０のうちの最上位ビットＤ３はフリップフロップ３１によりラッチされて、本例ではイネーブル信号ＥＮとして出力される。
【００１４】
データ選択部２は、３つのゲート２２〜２４と、ゲート２５と、３つのゲート２６〜２８と、３つのフリップフロップ２０１〜２０３とを備えている。ゲート２２〜２４は、イネーブル信号ＥＮが“Ｈ”レベルでリセット信号ＲＳＴバーが“Ｈ”レベルのときはフリップフロップ３２〜３４の出力をそれぞれ通過させ、イネーブル信号ＥＮが“Ｌ”レベルでリセット信号ＲＳＴバーが“Ｌ”レベルのときはそれぞれ外部端子からの外部クロック選択信号ＣＬＫＳＥＬ２、ＣＬＫＳＥＬ１、ＣＬＫＳＥＬ０を通過させる。ゲート２５は、イネーブル信号ＥＮが“Ｈ”レベルでフリップフロップ４２（後に詳述する）の出力が“Ｈ”レベルのとき、又はリセット信号ＲＳＴバーが“Ｌ”レベルのとき“Ｈ”レベルを出力する。ゲート２６〜２８は、ゲート２２〜２４のそれぞれの出力が“Ｈ”レベルで且つゲート２５の出力が“Ｈ”レベルのとき、又はゲート２５の出力が“Ｌ”レベルでフリップフロップ２０１〜２０３の出力がそれぞれ“Ｈ”レベルのとき“Ｈ”レベルを出力する。フリップフロップ２０１〜２０３は、ゲート２６〜２８の出力をそれぞれラッチして、ＰＬＬ部１に周波数逓倍率指示信号ＣＫ２，ＣＫ１、ＣＫ０を出力する。
【００１５】
禁止部４は外部クロック信号ＣＬＫに応じて第２の書き込み信号ＷＲＩＴＥ２を通過させるアンドゲート４１と、アンドゲート４１の出力をクロック端子ＣＫに受け取り、データＤ０をラッチするフリップフロップ４２と、リセット信号ＲＳＴバー、第２のリセット信号ＲＲＳＴバー（イネーブル信号ＥＮが“Ｌ”になってからプロセッサ６の動作禁止を解除したい任意のタイミングで外部から与えられる、フリップフロップ４２の内容をクリアするための信号）及びタイマ４６の出力を受け取り、フリップフロップ４２のリセット端子Ｒにそれらの論理積信号を出力するアンドゲート４３と、イネーブル信号とフリップフロップ４２の出力を受け取るアンドゲート４４と、外部クロック信号ＣＬＫに応じてアンドゲート４４の出力をラッチするフリップフロップ４５と、フリップフロップ４５の出力が“Ｈ”になってから所定時間をカウントするタイマ４６とを備えている。フリップフロップ４２の出力はオアゲート５の一方の入力に入力される。オアゲート５の他方の入力にはＰＬＬ部１の出力が入力される。オアゲート５の出力はプロセッサ６内の整数演算ユニット６１、バスインタフェースユニット６２、及びキャッシュ６３に入力される。フリップフロップ４２の出力は又、プロセッサ６内の各ユニットに直接入力されて、該各ユニットに内部クロック信号が供給されていない間の誤動作を防止するために使用される。
【００１６】
次に図３のタイミングチャートにより図２の回路の動作を説明する。
まず、時刻ｔ１の直前にリセット信号ＲＳＴバーが“Ｌ”になると、フリップフロップ３１〜３４の内容はリセットされて“００００”になる（図３の（４）参照）。時刻ｔ１において外部端子からの外部クロック選択信号ＣＬＫＳＥＬ２〜０は１１０であるとする（図３の（３）参照）。時刻ｔ１ではフリップフロップ３１の出力であるイネーブル信号ＥＮが“０”で、リセット信号ＲＳＴバーも“Ｌ”レベルなので、クロック選択信号ＣＬＫＳＥＬ２〜０（“１１０”）がデータ選択部２内のゲート２２〜２４を通過し、且つゲート２５の出力は“Ｈ”レベルとなる。ゲート２５の出力の“Ｈ”レベルにより、ゲート２２〜２４を通過したクロック選択信号ＣＬＫＳＥＬ２〜０（“１１０”）はゲート２６〜２８を通過してフリップフロップ２０１〜２０３にＣＫ２〜ＣＫ０としてラッチされる。ＰＬＬ部１はフリップフロップ２０１〜２０３の出力ＣＫ２〜ＣＫ０（図３の（５）参照）、即ち、今の場合は外部クロック選択信号“１１０”に対応する周波数の内部クロック信号を生成し、その内部クロック信号に応じて動作するとともに、その内部クロック信号を出力する。この時の内部クロック信号の周波数は例えば外部クロック信号ＣＬＫを４倍した高周波数に対応させておく。オアゲート５の他方の入力にはフリップフロップ４２の出力が入力されているが、リセット信号ＲＳＴバーが“Ｌ”レベルなのでフリップフロップ４２はリセットされており、したがって、その出力は“Ｌ”レベルである。したがって、ＰＬＬ部１の出力はオアゲート５を通ってプロセッサ６の各ユニットに入力され、プロセッサ６はその内部クロック信号に応じて各種の命令を実行する。なお、フリップフロップ４２の出力が“Ｌ”レベルのときは、その“Ｌ”レベルがプロセッサ６内の各ユニットは直接入力されることにより、各ユニットの動作が内部クロック信号の供給により乱されないことを保証している。
【００１７】
次に、時刻ｔ２でプロセッサ６の出力データＤ３〜Ｄ０が“１０００”に変化したとする。出力データが変化すると、この出力データをフリップフロップ３１〜３４からなるレジスタに書き込むための書き込み信号ＷＲＩＴＥ（図３の（６）参照）がプロセッサ６から出力される。するとレジスタの入力側のアンドゲート３５を外部クロック信号ＣＬＫが通過し、フリップフロップ３１〜３４はこの外部クロック信号ＣＬＫに応じてプロセッサ６からの出力データＤ３〜Ｄ０（“１０００”）をラッチする。この結果フリップフロップ３１の出力であるイネーブル信号ＥＮは“１”になるので、フリップフロップ３２〜３４の出力（“０００”）がゲート２２〜２４を通過する。しかし、この時点ではフリップフロップ４２はリセットされた状態にあり、その出力は“Ｌ”レベルである。したがって、ゲート２５内のアンドゲートの一方の入力にはイネーブル信号ＥＮの“Ｈ”レベルが入力されており、他方の入力にはフリップフロップ４２の出力の“Ｌ”レベルが入力されているのでそのアンドゲートの出力は“Ｌ”レベルにあり、それがゲート２５内のオアゲートの一方に入力に入力されており、他方、そのオアゲートの他方の入力にはリセット信号ＲＳＴバーの“Ｈ”レベルが反転されて入力されているので、ゲート２５の出力は“Ｌ”レベルにある。したがって、ゲート２２〜２４の出力はゲート２６〜２８を通過せず、フリップフロップ２０１〜２０３の出力信号ＣＫ２〜ＣＫ０は“１１０”のままである。
【００１８】
次いで時刻ｔ３でプロセッサ６は出力データＤ３〜Ｄ０“０００１”を出力したとする。すると、その最下位ビットＤ０の“１”をプロセッサ６の動作禁止信号としてフリップフロップ４２に書き込むための第２の書き込み信号ＷＲＩＴＥ２の“Ｈ”レベルのパルス（図３の（７）参照）がプロセッサ６から出力される（図３の（８）参照）。第２の書き込み信号ＷＲＩＴＥ２は第１の書き込み信号ＷＲＩＴＥの出力から所定期間経過後のデータ出力時にプロセッサ６から出力される。このときは、第１の書き込み信号ＷＲＩＴＥ（図３の（６））は発生されないので、出力データＤ３〜Ｄ０の“０００１”はフリップフロップ３１〜３４にはラッチされず，フリップフロップ３１〜３４には前のデータ“１０００”が保持されている。一方、第２の書き込み信号ＷＲＩＴＥ２に応じて出力データＤ０の“１”がフリップフロップ４２にラッチされる。この結果、フリップフロップ４２の出力の“Ｈ”レベルとイネーブル信号ＥＮの“１”によりゲート２５の出力が“Ｈ”レベルになり、フリップフロップ３２〜３４の出力データ“０００”は、ゲート２２〜２４及びゲート２６〜２８を通過して、フリップフロップ２０１〜２０３にラッチされる。この結果、フリップフロップ２０１〜２０３の出力信号ＣＫ２〜ＣＫ０はフリップフロップ３１〜３４の出力データ１０００の下位３ビット“０００”となる（図３の（５）参照）。ＰＬＬ部１はこの信号ＣＫ２〜ＣＫ０（“０００”）を受けてそれに対応する逓倍率の周波数（例えば外部クロック信号の周波数と同一周波数）に内部クロック信号を変換する。
【００１９】
一方、フリップフロップ４２の出力（図３の（９）参照）の“Ｈ”レベルとイネーブル信号ＥＮの“Ｈ”レベルによりアンドゲート４４の出力が“Ｈ”レベルになる。この“Ｈ”レベルはフリップフロップ４５にラッチされ、その出力（ｂ）を“Ｈ”レベルにする（図３の（１０）参照）。出力（ｂ）の立ち上がりによりタイマ４６が起動し、ＰＬＬ部１の出力が上記の逓倍率の内部クロック信号にロックして安定になるまでに要する所定時間後に“Ｌ”レベルのタイマ出力パルスを得る（図３の（１１）参照）。このタイマ出力パルスによりアンドゲート４３の出力が“Ｈ”レベルになり、フリップフロップ４２はリセットされる。
【００２０】
フリップフロップ４２の出力が“Ｈ”レベルになっている間（図３の（９）参照）は、オアゲート５の出力は“Ｈ”レベルに保持されており、且つ、フリップフロップ４２の出力の“Ｈ”レベルがプロセッサ６の各ユニットに動作禁止信号として供給されている。上記所定時間が経過すると、フリップフロップ４２はリセットされるので、禁止信号は解除されてＰＬＬ部１からの周波数逓倍率が変わった内部クロック信号がプロセッサ６に供給されることになる。
【００２１】
以上の動作により、ＰＬＬ部１及びプロセッサ６の内部クロック信号の周波数逓倍率を低下させることが可能であることが理解できる。
なお、上記の例ではプロセッサ６の動作禁止信号としてプロセッサ６の出力データの最下位ビットＤ０を用いたが、プロセッサ６の仕様により、出力データの任意のビットをプロセッサ６の動作禁止信号として用いてもよい。
【００２２】
上記の動作では時刻ｔ２でイネーブル信号ＥＮが“１”になる例を説明したが、時刻ｔ４でイネーブル信号が“０”になる場合を次に説明する。
時刻ｔ４でプロセッサ６の出力データＤ３〜Ｄ０が“０１１１”に変わり、フリップフロップ３１〜３４に対する書き込みのための第１の書き込み信号ＷＲＩＴＥのパルスが発生すると、その時刻ｔ４では第１の書き込み信号ＷＲＩＴＥが“Ｈ”なので、外部クロック信号ＥＸＴ．ＣＬＫはアンドゲート３５を通って出力データ“０１１１”はその外部クロック信号に応じてフリップフロップ３１〜３４にラッチされる。しかし、その最上位ビットは“０”なのでイネーブル信号ＥＮは“０”であり、したがってフリップフロップ３２〜３４の出力はゲート２２〜２４を通過できない。また、リセット信号ＲＳＴバーも”Ｈ”レベルなので外部端子からの外部クロック選択信号ＣＬＫＳＥＬ２〜ＣＬＫＳＥＬ０もゲート２２〜２４を通過できない。したがって、フリップフロップ２０１〜２０３は前の値を保持し続けるので、信号ＣＫ２〜ＣＫ０は“０００”のままである（図３の（５）参照）。こうして、プロセッサの出力データの最上位ビットが“０”の場合は、ＰＬＬ１の内部クロック信号の周波数は変化しない。
【００２３】
この状態で時刻ｔ５プロセッサ６の出力データが“０００１”に変わり、“Ｈ”レベルのパルスである第２の書き込み信号ＷＲＩＴＥ２が発生したとする。この第２の書き込み信号ＷＲＩＴＥ２の“Ｈ”レベルによりアンドゲート４１を外部クロック信号ＣＬＫが通過してフリップフロップ４２のクロック端子に入力されるので、その外部クロック信号に応じて上記出力データの最下位ビット“１”がフリップフロップ４２にラッチされる（図３の（９）参照）。しかし、イネーブル信号ＥＮが“０”なので、アンドゲート４４の出力（ｂ）は“Ｈ”レベルにならず、したがってタイマ４６は起動しない。したがって、時刻ｔ５以降で、第２のリセット信号ＲＲＳＴバーが“Ｌ”レベルになるまでは、フリップフロップ４２の出力の“Ｈ”レベルがオアゲート５及びプロセッサ６の各ユニットに供給され続けるので、ＰＬＬ部からの内部クロック信号はプロセッサ６に供給されない。
【００２４】
時刻ｔ６で第２のリセット信号ＲＲＳＴバーとして“Ｌ”レベルのパルスが外部から供給されると、フリップフロップ４２はリセットされて、その出力は“Ｌ”レベルになるので、ＰＬＬ部１から出力される内部クロック信号はプロセッサ６に供給される。第２のリセット信号ＲＲＳＴバーの上記“Ｌ”レベルのパルスは、プロセッサ６を使用したいタイミングで外部からユーザにより供給される。
【００２５】
次にＰＬＬ部１の内部クロック信号の周波数が高くなる変化について説明する。
時刻ｔ７でプロセッサ６の出力データＤ３〜Ｄ０が“１１１１”に変わり、第１の書き込み信号ＷＲＩＴＥの“Ｈ”レベルのパルスがプロセッサ６から出力されたとする。するとフリップフロップ３１〜３４はＤ３〜Ｄ０（“１１１１”）をラッチする。この結果フリップフロップ３１の出力であるイネーブル信号ＥＮは“１”になるので、フリップフロップ３２〜３４の出力（“１１１”）がゲート２２〜２４を通過する。しかし、この時点ではフリップフロップ４２の出力は“Ｌ”レベルなので、ゲート２５内のアンドゲートの一方の入力は“Ｌ”のままであり、且つリセット信号ＲＳＴバーも“Ｈ”のままである。したがって、ゲート２２〜２４の出力はゲート２６〜２８を通過しない。この結果、フリップフロップ２０１〜２０３の出力信号ＣＫ２〜ＣＫ０は“０００”のままである。
【００２６】
次いで時刻ｔ８で、プロセッサ６の出力データＤ３〜Ｄ０が“０００１”に変化し、第２の書き込み信号ＷＲＩＴＥ２がプロセッサ６から出力（図３の（７）参照）されたとする。このときは、第１の書き込み信号ＷＲＩＴＥ（図３の（６））は“Ｌ”レベルなので、出力データＤ３〜Ｄ０の“０００１”はフリップフロップ３１〜３４にはラッチされず，フリップフロップ３１〜３４には前のデータ“１１１１”が保持されている。第２の書き込み信号ＷＲＩＴＥ２の“Ｈ”レベルに応じてデータＤ０の“１”がフリップフロップ４２にラッチされる。フリップフロップ４２の出力の“Ｈ”レベルとイネーブル信号ＥＮの“１”によりゲート２５の出力が“Ｈ”になり、フリップフロップ３２〜３４の出力データ“１１１”は、ゲート２２〜２４及びゲート２６〜２８を通過して、フリップフロップ２０１〜２０３にラッチされる。この結果、フリップフロップ２０１〜２０３の出力信号ＣＫ２〜ＣＫ０はフリップフロップ３１〜３４の出力データ“１１１１”の下位３ビット“１１１”となる。ＰＬＬ部１はこの信号ＣＫ２〜ＣＫ０（“１１１”）を受けてそれに対応する逓倍率の周波数（例えば外部クロック信号の周波数の８倍の最高周波数）に内部クロック信号を変換する。
【００２７】
一方、禁止部４により、ＰＬＬ部１の出力信号周波数が安定になるまで、プロセッサから出力される内部クロック信号によりプロセッサ６が動作するのを禁止させる動作は時刻ｔ３において前述した動作と同じなので説明を省略する。
上記の実施の形態では、イネーブル信号ＥＮとしてプロセッサ６の出力データの最上位ビットをラッチしたものを用いたが、本発明はこれに限定されず、プロセッサ６の設計仕様により、内部クロック信号の周波数を変化させたい場合に対応する任意のビットをイネーブル信号として用いてもよい。
【００２８】
また、タイマを起動するために使用されるビットは出力データの最下位ビットとしたが、これもプロセッサの仕様に応じて任意のビットを用いることができる。さらに、プロセッサ６の出力データは４ビットに限定されない。
【００２９】
【発明の効果】
以上の説明から明らかなように、本発明によれば、プロセッサで使用される内部クロック信号の周波数の変化に応じてＰＬＬ部で使用される内部クロック信号の周波数の逓倍率を変化させたことにより、マイクロプロセッサの消費電力を大幅に抑制することが可能になる。
【図面の簡単な説明】
【図１】
本発明によるマイクロプロセッサの概略を示すブロック図である。
【図２】
図１のマイクロプロセッサの詳細を示す論理回路図である。
【図３】
図２の回路の動作を説明するタイミングチャートである。
【符号の説明】
１…ＰＬＬ部
２…データ選択部
３…指示部
４…禁止手段
６…プロセッサ
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
1998301660.tif 000001