(57)【特許請求の範囲】
【請求項１】
所定周波数のメインクロックを順次２分周して、周波数の異なるｎ個（ｎは２以上の整数）の分周クロックを生成する分周回路と、
選択信号に応じて、前記分周クロックの一つを出力クロック信号として出力するクロック選択回路と、
前記分周クロックのｎビットをデコードして、前記分周クロックの位相関係を示す２ｎビットの位相信号を出力する位相信号出力回路と、
前記出力クロック信号と、前記出力クロック信号から切り替わる前記分周クロックの一つである切替クロック信号と、に応じて、前記位相信号の２ｎビットの位相関係に対応して、前記出力クロック信号から前記切替クロック信号に切替可能なタイミングを示すタイミング信号を出力するタイミング信号出力回路と、
前記位相信号及び前記タイミング信号に基づいて、前記出力クロック信号を前記切替クロック信号に切り替える前記選択信号を、前記出力クロック信号から前記切替クロック信号に切替可能なタイミングで出力する選択信号出力回路と、
を備えることを特徴とするクロック切替回路。
【請求項２】
請求項１に記載のクロック切替回路であって、
前記タイミング信号出力回路は、
前記分周クロックのうち低速側及び高速側のクロックをそれぞれ示す低速信号及び高速信号と、前記出力クロック信号が前記低速信号で示されるクロックか前記高速信号で示されるクロックかを示す出力信号と、に基づいて、低速側から高速側もしくは高速側から低速側に切替可能なタイミングを示す前記タイミング信号を出力すること、
を特徴とするクロック切替回路。
【請求項３】
請求項２に記載のクロック切替回路であって、
前記切替クロック信号を前記低速信号で示されるクロックとするか前記高速信号で示されるクロックとするかを示す切替信号を出力するとともに、所定のイベント信号に応じて前記切替信号を変更する切替信号変更回路を更に備えること、
を特徴とするクロック切替回路。
【請求項４】
請求項３に記載のクロック切替回路であって、
前記所定のイベント信号に応じて時間計測を開始するタイマ回路を更に備え、
前記切替信号変更回路は、
前記所定のイベント信号に応じて前記切替信号を変更し、前記タイマ回路での計測時間が所定時間に到達すると、変更される前の前記切替信号を出力すること、
を特徴とするクロック切替回路。
【請求項５】
請求項１〜４の何れか一項に記載のクロック切替回路であって、
前記選択信号出力回路は、
前記出力クロック信号から前記切替クロック信号への切り替えを指示する切替指示信号に応じて前記選択信号を出力すること、
を特徴とするクロック切替回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック切替回路に関する。
【背景技術】
【０００２】
プロセッサでは、高速処理と低消費電力の両立が求められる。高速処理を実現するためには、プロセッサの動作クロックの周波数を高くする必要があるが、動作クロックの周波数を上げると、消費電力も増えることとなる。そのため、処理負荷が高いときには動作クロックの周波数を高くし、処理負荷が低いときには動作クロックの周波数を低くするように動作クロックの周波数を切り替えることが行われている。
【０００３】
例えば、動作クロックの周波数を切り替える単純な方法としては、周波数の異なる複数のクロック信号を生成しておき、プロセッサでの割り込み等を契機として、動作クロックとして出力するクロック信号を切り替えることが考えられる。ところが、周波数の異なるクロック信号を単純に切り替えてしまうと、タイミングによっては、ＬレベルまたはＨレベルの期間がプロセッサで許容されるより短くなる現象が切り替え時に発生し、プロセッサの動作に支障をきたす恐れがある。
【０００４】
そこで、プロセッサの動作に支障をきたさずに動作クロックの周波数を切り替えるために、切り替え前にプロセッサを一旦待機状態とし、動作クロックの周波数の切り替えが完了した後にプロセッサの待機状態を解除することが一般的に行われている。また、動作クロックの周波数を動的に切り替える方法として、ＰＬＬ（Phase Locked Loop）の周波数設定を変更するものが知られている（例えば、特許文献１）。
【特許文献１】特開２００３−３４７９３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、プロセッサを一旦待機状態にする方法では、動作クロックの切り替えに要する時間が長くなってしまい好ましくない。また、プロセッサを待機状態にすることなく、ＰＬＬを用いて動作クロックの周波数を動的に切り替えることも考えられるが、プロセッサを待機状態にしないためには、発振安定待ち時間が非常に短い高性能なＰＬＬを用いる必要があり、コスト増大の要因となる。
【０００６】
本発明は上記課題を鑑みてなされたものであり、クロック信号の周波数をプロセッサの動作に影響を与えることなく高速に切り替えることが可能で、コスト増大を抑制可能なクロック切替回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明のクロック切替回路は、所定周波数のメインクロックを順次２分周して、周波数の異なるｎ個（ｎは２以上の整数）の分周クロックを生成する分周回路と、選択信号に応じて、前記分周クロックの一つを出力クロック信号として出力するクロック選択回路と、前記分周クロックのｎビットをデコードして、前記分周クロックの位相関係を示す２ｎビットの位相信号を出力する位相信号出力回路と、前記出力クロック信号と、前記出力クロック信号から切り替わる前記分周クロックの一つである切替クロック信号と、に応じて、前記位相信号の２ｎビットの位相関係に対応して、前記出力クロック信号から前記切替クロック信号に切替可能なタイミングを示すタイミング信号を出力するタイミング信号出力回路と、前記位相信号及び前記タイミング信号に基づいて、前記出力クロック信号を前記切替クロック信号に切り替える前記選択信号を、前記出力クロック信号から前記切替クロック信号に切替可能なタイミングで出力する選択信号出力回路と、を備えることとする。
【発明の効果】
【０００８】
クロック信号の周波数をプロセッサの動作に影響を与えることなく高速に切り替えることが可能で、コスト増大を抑制可能なクロック切替回路を提供することができる。
【発明を実施するための最良の形態】
【０００９】
図１は、本発明の一実施形態であるクロック切替回路の構成を示す図である。クロック切替回路は、プロセッサの動作クロックとなるクロックＣＬＫ（出力クロック信号）の周波数を切り替えることが可能な回路である。以下、クロック切替回路を構成する各部について説明する。
【００１０】
発振回路１０は、所定周波数のメインクロック（基本クロック信号）ＭＣＬＫを出力する回路である。本実施形態では、メインクロックＭＣＬＫの周波数は、クロックＣＬＫの最高周波数の２倍であることとする。
【００１１】
分周回路１１（クロック生成回路）は、Ｔ型フリップフロップ１２〜１５及びＤ型フリップフロップ１６〜１９を含んで構成されており、メインクロックＭＣＬＫを分周した分周クロックＤＣＬＫ＿１，ＤＣＬＫ＿２，ＤＣＬＫ＿４，ＤＣＬＫ＿８を生成して出力する。図２に示すように、分周クロックＤＣＬＫ＿１，ＤＣＬＫ＿２，ＤＣＬＫ＿４，ＤＣＬＫ＿８の周波数は、それぞれ、メインクロックＭＣＬＫの周波数の１／２、１／４、１／８、１／１６となっている。なお、本実施形態では、分周クロックＤＣＬＫ＿１，ＤＣＬＫ＿２，ＤＣＬＫ＿４，ＤＣＬＫ＿８の位相（位相関係）を、図２に示すように、“０”から“１５”で表すこととする。
【００１２】
低速レジスタ２０には、分周クロックＤＣＬＫ＿１〜ＤＣＬＫ＿８のうち、低速側のクロックを示す低速信号ＬＳが格納される。本実施形態では、低速信号ＬＳは２ビットであることとし、分周クロックＤＣＬＫ＿１，ＤＣＬＫ＿２，ＤＣＬＫ＿４，ＤＣＬＫ＿８を、それぞれ、“００”，“０１”，“１０”，“１１”と表すこととする。そして、低速信号ＬＳは、外部からの入力ＬＳ＿ＩＮによって変更することができる。
【００１３】
高速レジスタ２１には、分周クロックＤＣＬＫ＿１〜ＤＣＬＫ＿８のうち、高速側のクロックを示す高速信号ＨＳが格納される。そして、高速信号ＨＳは、外部からの入力ＨＳ＿ＩＮによって変更することができる。
【００１４】
出力レジスタ２２には、現在出力中のクロックＣＬＫが、低速信号ＬＳで示されるクロックか、高速信号ＨＳで示されるクロックかを示す出力信号ＮＯＷが格納される。本実施形態では、低速信号ＬＳで示されるクロックが出力されている場合の出力信号ＮＯＷを“１”、高速信号ＨＳで示されるクロックが出力されている場合の出力信号ＮＯＷを“０”とする。また、出力レジスタ２２には、切替信号ＮＥＸＴ及び書き込み指示信号ＷＲＴが入力されており、書き込み指示信号ＷＲＴに応じて（本実施形態では指示信号ＷＲＴの立ち上がりのタイミングで）、切替信号ＮＥＸＴが出力信号ＮＯＷとして書き込まれる。
【００１５】
切替レジスタ２３（切替信号変更回路）には、現在出力中のクロックＣＬＫから切り替わるクロックを低速信号ＬＳで示されるクロックとするか、高速信号ＨＳで示されるクロックとするかを示す切替信号ＮＥＸＴが格納される。そして、切替信号ＮＥＸＴは、外部から入力ＮＥＸＴ＿ＩＮによって変更することができる。また、切替レジスタ２３には、イベント信号ＥＶ及びカウント終了信号ＥＤが入力されている。そして、イベント信号ＥＶに応じて（本実施形態ではイベント信号ＥＶの立ち上がりのタイミングで）、切替信号ＮＥＸＴは高速側を示す“０”となる。また、カウント終了信号ＥＤに応じて（本実施形態ではカウント終了信号ＥＤの立ち上がりのタイミングで）、切替信号ＮＥＸＴは低速側を示す“１”となる。
【００１６】
タイマ２４は、イベント信号ＥＶに応じて（本実施形態ではイベント信号ＥＶの立ち上がりのタイミングで）カウントを開始し、カウント時間が所定時間に達すると、カウント終了を示すカウント終了信号ＥＤを出力する。本実施形態では、タイマ２４は、イベント信号ＥＶの立ち上がりに応じて初期値ＩＮＩを取り込み、メインクロックＭＣＬＫに応じて初期値からカウントダウンし、カウント値がゼロになるとカウント終了信号ＥＤにパルスを出力する。また、タイマ２４のカウント動作は、外部からの停止信号ＴＭ＿ＳＴＰ（計測停止信号）によって停止することもできる。
【００１７】
初期値レジスタ２５には、タイマ２４のカウントにおける初期値ＩＮＩが格納される。本実施形態では、初期値ＩＮＩは４ビットであることとし、外部からの入力ＴＭ＿ＩＮＩによって変更することができる。
【００１８】
セレクタ２６には、複数のイベント信号ＥＶ＿０〜ＥＶ＿Ｎが入力されており、例えばｍビットの選択信号ＥＶ＿ＳＥＬによって選択される一つの信号あるいは複数の信号の論理和を、イベント信号ＥＶとして出力する。
【００１９】
位相信号出力回路３０は、分周クロックＤＣＬＫ＿１〜ＤＣＬＫ＿８の位相（“０”〜“１５”）を示す位相信号ＰＨ（本実施形態では１６ビット）を出力する回路であり、デコーダ３１及びＤ型フリップフロップ３２を含んで構成されている。デコーダ３１は、図３に示すように、分周クロックＤＣＬＫ＿１〜ＤＣＬＫ＿８の４ビットに基づいて、位相信号ＰＨ＿Ａを出力する。なお、図２に示したように、分周クロックＤＣＬＫ＿１〜ＤＣＬＫ＿８が全て“１”の状態は、位相が“０”の状態であるが、位相信号ＰＨ＿Ａは、後段での遅延を考慮してメインクロックＭＣＬＫの２サイクル分遅らせたものとなっている。Ｄ型フリップフロップ３２は、デコーダ３１から出力される位相信号ＰＨ＿ＡをメインクロックＭＣＬＫの立ち上がりのタイミングでラッチして、位相信号ＰＨとして出力する。したがって、Ｄ型フリップフロップ３２から出力される位相信号ＰＨは、デコーダ３１から出力される位相信号ＰＨ＿ＡをメインクロックＭＣＬＫの１サイクル分遅らせた信号となる。
【００２０】
タイミング信号出力回路４０は、低速信号ＬＳ、高速信号ＨＳ、及び出力信号ＮＯＷに基づいて、低速側から高速側もしくは高速側から低速側に切替可能なタイミングを示すタイミング信号ＥＮ（本実施形態では１６ビット）を出力する回路であり、デコーダ４１及びＤ型フリップフロップ４２を含んで構成されている。図４は、分周クロックＤＣＬＫ＿１から分周クロックＤＣＬＫ＿８に位相Ｎ（Ｎ＝０〜１５）のタイミングで切り替えた場合に生成されるクロックＣＬＫ＿Ｎを示す図である。図４に示すように、例えば、位相“０”のタイミングで分周クロックＤＣＬＫ＿１から分周クロックＤＣＬＫ＿８に切り替えた場合、生成されるクロックＣＬＫ＿０には、メインクロックＭＣＬＫの１周期より短い許容不可能な波形は生じていない。一方、例えば、位相“１”のタイミングで切り替えた場合、生成されるクロックＣＬＫ＿１には、切り替えのタイミングでメインクロックの１周期より短い波形、すなわち許容不可能な波形が生じている。すなわち、分周クロックＤＣＬＫ＿１から分周クロックＤＣＬＫ＿８に切り替え可能な位相は、“０”、“２”、“４”、“６”、“９”、“１１”、“１３”、“１５”となる。デコーダ４１は、図５に示すように、低速信号ＬＳ、高速信号ＨＳ、及び出力信号ＮＯＷに基づいて、タイミング信号ＥＮ＿Ａを出力する。ここで、タイミング信号ＥＮ＿Ａは、切り替え可能なタイミングを“１”で表しているが、後段での遅延を考慮してメインクロックＭＣＬＫの２サイクル分遅らせたものとなっている。Ｄ型フリップフロップ４２は、デコーダ４１から出力されるタイミング信号ＥＮ＿ＡをメインクロックＭＣＬＫの立ち上がりのタイミングでラッチして、タイミング信号ＥＮとして出力する。したがって、Ｄ型フリップフロップ４２から出力されるタイミング信号ＥＮは、デコーダ４１から出力されるタイミング信号ＥＮ＿ＡをメインクロックＭＣＬＫの１サイクル分遅らせた信号となる。
【００２１】
切替可能信号出力回路５０は、位相信号ＰＨ及びタイミング信号ＥＮに基づいて、低速側から高速側もしくは高速側から低速側に切り替え可否を示す切替可能信号ＣＨＧ＿ＥＮを出力する回路であり、ＡＮＤ回路５１＿０〜５１＿１５及びＯＲ回路５２を含んで構成されている。本実施形態では、切り替え可能な場合に切替可能信号ＣＨＧ＿ＥＮが“１”になることとする。
【００２２】
書き込み指示信号出力回路６０は、出力信号ＮＯＷ、切替信号ＮＥＸＴ、及び切替可能信号ＣＨＧ＿ＥＮに基づいて、書き込み指示信号ＷＲＴを出力する回路であり、ＥＸＯＲ回路６１及びＡＮＤ回路６２を含んで構成される。ここで、出力信号ＮＯＷ及び切替信号ＮＥＸＴが同一である場合、ＥＸＯＲ回路６１の出力は“０”となるため、書き込み指示信号ＷＲＴは“０”のままである。一方、出力信号ＮＯＷ及び切替信号ＮＥＸＴが異なる場合、ＥＸＯＲ回路の出力は“１”となるため、切替可能信号ＣＨＧ＿ＥＮが“１”のタイミングで、書き込み指示信号ＷＲＴも“１”となる。
【００２３】
フラグレジスタ７０は、書き込み指示信号ＷＲＴに応じて（本実施形態では書き込み指示信号ＷＲＴの立ち上がりのタイミングで）、切替レジスタ２３から出力される切替信号ＮＥＸＴを取り込み、低速側もしくは高速側を選択するためのフラグＦＬＧとして出力する。
【００２４】
Ｄ型フリップフロップ７１は、メインクロックＭＣＬＫに応じて（本実施形態ではメインクロックＭＣＬＫの立ち下がりのタイミングで）、フラグレジスタ７０から出力されるフラグＦＬＧをラッチし、選択信号ＨＬ＿ＳＥＬとして出力する。
【００２５】
セレクタ７２は、選択信号ＨＬ＿ＳＥＬに基づいて、高速信号ＨＳまたは低速信号ＬＳの何れか一方を、クロック選択信号ＣＫ＿ＳＥＬとして出力する。本実施形態では、選択信号ＨＬ＿ＳＥＬが“０”の場合に高速信号ＨＳが出力され、“１”の場合に低速信号ＬＳが出力される。
【００２６】
なお、切替可能信号出力回路５０、書き込み指示信号出力回路６０、フラグレジスタ７０、Ｄ型フリップフロップ７１、及びセレクタ７２により構成される回路が、本発明の選択信号出力回路に相当する。
【００２７】
セレクタ８０（選択回路）は、クロック選択信号ＣＫ＿ＳＥＬ（選択信号）に基づいて、分周クロックＤＣＬＫ＿１〜ＤＣＬＫ＿８の何れか一つを、クロックＣＬＫ＿Ａとして出力する。本実施形態では、クロック選択信号ＣＫ＿ＳＥＬが“００”の場合に分周クロックＤＣＬＫ＿１が出力され、“０１”の場合に分周クロックＤＣＬＫ＿２が出力され、“１０”の場合に分周クロックＤＣＬＫ＿４が出力され、“１１”の場合に分周クロックＤＣＬＫ＿８が出力される。
【００２８】
Ｄ型フリップフロップ８１（ラッチ回路）は、セレクタ８０での切り替えのタイミングに発生する可能性のあるグリッチを除去するための回路であり、メインクロックＭＣＬＫに応じて（本実施形態ではメインクロックＭＣＬＫの立ち上がりのタイミングで）、クロックＣＬＫ＿Ａをラッチし、クロックＣＬＫとして出力する。
【００２９】
図６は、クロックＣＬＫを、高速側から低速側に切り替える場合の動作の一例を示すタイミングチャートである。初期状態は、低速信号ＬＳ＝“１１”、高速信号ＨＳ＝“００”、出力信号ＮＯＷ＝“０”（高速側）、切替信号ＮＥＸＴ＝“０”（高速側）であり、クロック選択信号ＣＫ＿ＳＥＬ＝“００”で分周クロックＤＣＬＫ＿１がクロックＣＬＫとして出力されていることとする。
【００３０】
まず、位相が“４”のタイミングで切替信号ＮＥＸＴが“１”（低速側）に変更されたとする。位相“４”に対応する位相信号はＰＨ［５］、タイミング信号はＥＮ［５］であるが、ＥＮ［５］は“０”であるため、切替可能信号ＣＨＧ＿ＥＮは“０”のまま変化せず、クロックの切り替えは発生しない。
【００３１】
そして、位相が“５”になると、位相“５”に対応するＰＨ［６］及びＥＮ［６］が何れも“１”であるため、切替可能信号ＣＨＧ＿ＥＮが“１”となる。このとき、切替可能信号ＣＨＧ＿ＥＮ＝“１”、出力信号ＮＯＷ＝“０”、切替信号ＮＥＸＴ＝“１”であるため、書き込み指示信号ＷＲＴが“１”となり、位相が“６”のタイミングで、フラグＦＬＧ＝“１”（低速側）、出力信号ＮＯＷ＝“１”（低速側）に変化する。
【００３２】
フラグＦＬＧをラッチするＤ型フリップフロップ７１はメインクロックＭＣＬＫの立ち下がりで駆動されているため、位相“６”におけるメインクロックＭＣＬＫの立ち下がりのタイミングで、選択信号ＨＬ＿ＳＥＬが“１”に変化する。そして、選択信号ＨＬ＿ＳＥＬが“１”に変化することにより、クロック選択信号ＣＫ＿ＳＥＬが“００”から“１１”に変化する。
【００３３】
クロック選択信号ＣＫ＿ＳＥＬが“００”から“１１”に変化すると、セレクタ８０から出力されるクロックＣＬＫ＿Ａは、分周クロックＤＣＬＫ＿１から分周クロックＤＣＬＫ＿８に変化する。そして、次にメインクロックＭＣＬＫが立ち上がる位相“７”のタイミングで、Ｄ型フリップフロップ８１から出力されるクロックＣＬＫが分周クロックＤＣＬＫ＿８に切り替わる。なお、セレクタ８０における切り替えのタイミングでクロックＣＬＫ＿Ａにグリッチが発生する可能性があるが、Ｄ型フリップフロップ８１でラッチして出力しているため、クロックＣＬＫにはグリッチが発生しない。
【００３４】
図７は、クロックＣＬＫを、低速側から高速側に切り替える場合の動作の一例を示すタイミングチャートである。初期状態は、低速信号ＬＳ＝“１１”、高速信号ＨＳ＝“００”、出力信号ＮＯＷ＝“１”（低速側）、切替信号ＮＥＸＴ＝“１”（低速側）であり、クロック選択信号ＣＫ＿ＳＥＬ＝“１１”で分周クロックＤＣＬＫ＿８がクロックＣＬＫとして出力されていることとする。
【００３５】
まず、位相が“９”のタイミングで切替信号ＮＥＸＴが“０”（高速側）に変更されたとする。位相“９”に対応する位相信号はＰＨ［１０］、タイミング信号はＥＮ［１０］であるが、ＥＮ［１０］は“０”であるため、切替可能信号ＣＨＧ＿ＥＮは“０”のまま変化せず、クロックの切り替えは発生しない。
【００３６】
そして、位相が“１０”になると、位相“１０”に対応するＰＨ［１１］及びＥＮ［１１］が何れも“１”であるため、切替可能信号ＣＨＧ＿ＥＮが“１”となる。このとき、切替可能信号ＣＨＧ＿ＥＮ＝“１”、出力信号ＮＯＷ＝“１”、切替信号ＮＥＸＴ＝“０”であるため、書き込み指示信号ＷＲＴが“１”となり、位相が“１１”のタイミングで、フラグＦＬＧ＝“０”（高速側）、出力信号ＮＯＷ＝“０”（高速側）に変化する。
【００３７】
その後、図６の場合と同様の動作により、位相“１３”のタイミングで、Ｄ型フリップフロップ８１から出力されるクロックＣＬＫが分周クロックＤＣＬＫ＿１に切り替わる。
【００３８】
図８は、クロックＣＬＫを、イベント信号ＥＶに応じて低速側から高速側に切り替える場合の動作の一例を示すタイミングチャートである。初期状態は、低速信号ＬＳ＝“１１”、高速信号ＨＳ＝“００”、出力信号ＮＯＷ＝“１”（低速側）、切替信号ＮＥＸＴ＝“１”（低速側）であり、クロック選択信号ＣＫ＿ＳＥＬ＝“１１”で分周クロックＤＣＬＫ＿８がクロックＣＬＫとして出力されていることとする。また、初期値ＩＮＩ＝“ｆ”（１６進）、タイマ２４のカウント値ＴＩＭＥＲ＝“０”であり、セレクタ２６からは、イベント信号ＥＶ＿０〜ＥＶ＿Ｎの何れか一つがイベント信号ＥＶとして出力可能な状態であることとする。
【００３９】
まず、位相が“５”のタイミングでイベントが発生し、イベント信号ＥＶがパルス状に変化する。このイベント信号ＥＶに応じて初期値ＩＮＩ（“ｆ”）がタイマ２４に取りこまれ、タイマ２４はメインクロックＭＣＬＫに基づいてカウントダウンを開始する。また、イベント信号ＥＶに応じて、切替レジスタ２３の切替信号ＮＥＸＴは“０”（高速側）に設定され、図７の場合と同様の動作により、クロックＣＬＫが分周クロックＤＣＬＫ＿８（低速側）から分周クロックＤＣＬＫ＿１（高速側）に切り替わる。
【００４０】
そして、クロックＣＬＫが切り替わった後もタイマ２４でのカウントダウンは継続され、カウント値ＴＩＭＥＲが“０”になると、カウント終了信号ＥＤが“１”になる。このカウント終了信号ＥＤに応じて切替レジスタ２３の切替信号ＮＥＸＴは“１”（低速側）に設定され、図６の場合と同様の動作により、クロックＣＬＫが分周クロックＤＣＬＫ＿１（高速側）から分周クロックＤＣＬＫ＿８（低速側）に切り替わる。
【００４１】
図８に示したような動作は、例えば、何らかのイベントの発生に応じてクロックＣＬＫを高速側に切り替えたが、所定時間経過後、高速処理の必要がないことが判明した場合に、クロックＣＬＫを低速側に戻すことにより、消費電力を抑制するために行われる。
【００４２】
図９は、クロックＣＬＫを、イベント信号ＥＶに応じて低速側から高速側に切り替える場合の動作の他の一例を示すタイミングチャートである。図８の場合と同様に、位相が“５”のタイミングでイベントが発生し、クロックＣＬＫが分周クロックＤＣＬＫ＿１（低速側）から分周クロックＤＣＬＫ＿１（高速側）に切り替わっている。
【００４３】
その後、タイマ２４のカウント値ＴＩＭＥＲが“５”のタイミングで、停止信号ＴＭ＿ＳＴＰが“１”になると、タイマ２４のカウントダウンが停止する。そのため、カウント終了信号ＥＤは“０”のままであり、切替レジスタ２３の切替信号ＮＥＸＴは“０”（高速側）のまま保持され、クロックＣＬＫも切り替わらずに分周クロックＤＣＬＫ＿１（高速側）のままとなる。
【００４４】
図９に示したような動作は、例えば、何らかのイベントの発生に応じてクロックＣＬＫを高速側に切り替えた後、高速処理が必要であることが判明した場合に、クロックＣＬＫを高速のままとすることにより、処理速度を向上させるために行われる。なお、高速処理が必要であることが判明した後にクロックＣＬＫを高速側に切り替えることも可能であるが、高速処理が必要であることが判明する前にクロックＣＬＫを高速側に切り替えておくことにより、イベントの発生によって高速処理が必要となった場合の処理時間を短縮することが可能となる。
【００４５】
以上、本実施形態のクロック切替回路について説明した。前述したように、本実施形態のクロック切替回路では、許容不可能な波形を生じさせることなくクロックＣＬＫの周波数を切り替えることができる。そのため、クロックＣＬＫを用いるプロセッサの動作に影響を与えることなく、クロックＣＬＫの周波数を高速に切り替えることができる。また、高性能なＰＬＬを用いる必要もないため、コストの増大を抑制することが可能となる。
【００４６】
また、本実施形態のクロック切替回路では、信号ＮＥＸＴ＿ＩＮ（切替指示信号）によって切替レジスタ２３に格納された切替信号ＮＥＸＴを変更することにより、クロックＣＬＫの周波数を変更することができる。つまり、処理負荷等を考慮して所望のタイミングでクロックＣＬＫの周波数を変更することが可能となる。
【００４７】
また、本実施形態のクロック切替回路では、イベント信号ＥＶによって切替レジスタ２３に格納された切替信号ＮＥＸＴを変更することにより、クロックＣＬＫの周波数を変更することができる。つまり、割り込み処理等、様々なイベントの発生に応じてクロックＣＬＫの周波数を変更することが可能となる。
【００４８】
さらに、本実施形態のクロック切替回路では、イベント発生後に周波数を切り替えたクロックＣＬＫの周波数を、タイマ２４でのカウント動作によって、切り替えたままとするか、元の周波数に戻すかを制御可能となっている。これにより、イベント発生後の状況に応じてクロックＣＬＫの周波数を設定することが可能となり、処理速度の向上と消費電力の削減を両立することが可能となる。
【００４９】
また、本実施形態のクロック切替回路では、Ｄ型フリップフロップ８１によってクロックＣＬＫ＿Ａをラッチした信号をクロックＣＬＫとしているため、セレクタ８０での切り替え時に発生する可能性のあるグリッチがクロックＣＬＫに影響することを抑制することが可能となる。
【００５０】
なお、本実施形態では、分周クロックＤＣＬＫ＿１，ＤＣＬＫ＿８の間でのクロック切り替え動作を例示したが、他の分周クロックＤＣＬＫ＿２，ＤＣＬＫ＿４についても同様に切り替えることができる。
【００５１】
また、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【００５２】
【図１】本発明の一実施形態であるクロック切替回路の構成を示す図である。
【図２】分周クロックの位相関係を示す図である。
【図３】位相信号の一例を示す図である。
【図４】クロック切り替えのタイミングの一例を示す図である。
【図５】タイミング信号の一例を示す図である。
【図６】クロックを高速側から低速側に切り替える場合の動作の一例を示すタイミングチャートである。
【図７】クロックを低速側から高速側に切り替える場合の動作の一例を示すタイミングチャートである。
【図８】クロックを、イベント信号に応じて低速側から高速側に切り替える場合の動作の一例を示すタイミングチャートである。
【図９】クロックを、イベント信号に応じて低速側から高速側に切り替える場合の動作の他の一例を示すタイミングチャートである。
【符号の説明】
【００５３】
１０  発振回路
１１  分周回路
２０  低速レジスタ
２１  高速レジスタ
２２  出力レジスタ
２３  切替レジスタ
２４  タイマ
２５  初期値レジスタ
２６  セレクタ
３０  位相信号出力回路
４０  タイミング信号出力回路
５０  切替可能信号出力回路
６０  書き込み指示信号出力回路
７０  フラグレジスタ
７１  Ｄ型フリップフロップ
７２  セレクタ
８０  セレクタ
８１  Ｄ型フリップフロップ
【図１】
0005250745.tif 000002
【図２】
0005250745.tif 000003
【図３】
0005250745.tif 000004
【図４】
0005250745.tif 000005
【図５】
0005250745.tif 000006
【図６】
0005250745.tif 000007
【図７】
0005250745.tif 000008
【図８】
0005250745.tif 000009
【図９】
0005250745.tif 000010