(57)【特許請求の範囲】
【請求項１】
要求信号により演算を開始し、演算を開始してから演算が終了するまで演算が終了していないことを示し、かつ、演算の終了時に演算が終了したことを示す応答信号を出力する非同期回路である低速回路部分と、クロック信号により動作し上記低速回路部分よりも高速に動作可能な高速回路部分とに論理的に分割された制御回路であって、
所定の動作周波数に発振周波数が収束するように制御された制御電圧が供給されこの制御電圧に対応した発振周波数で発振することによりクロック信号を生成する発振回路であって、上記高速回路部分で生じる信号遅延に対応するように発振周期が制御されたクロック信号を生成し生成したクロック信号を上記高速回路部分に対して出力する発振回路と、
上記要求信号を上記低速回路部分に出力して上記低速回路部分に演算を開始させる切替回路と
を備え、
上記切替回路から上記要求信号が出力された場合、
上記発振回路は、上記低速回路部分から出力される応答信号が演算が終了していないことを示す間は、発振回路の発振を一時停止させてクロック信号の生成を一時停止し、上記低速回路部分から出力される応答信号が演算が終了したことを示す場合、一時停止した発振を再開してクロック信号を生成することにより、上記低速回路部分による演算が開始されてから終了されるまでの間におけるクロック信号の発振周期を伸ばし発振周期を伸ばしたクロック信号を上記高速回路部分に出力し、
上記切替回路から上記要求信号が出力されない場合、
上記発振回路は、上記制御電圧に対応した発振周波数で発振して発振周波数が上記所定の動作周波数に収束するクロック信号を生成することにより、上記低速回路部分による演算がない場合におけるクロック信号の発振周期が上記高速回路部分で生じる信号遅延に対応する発振周期になるようなクロック信号を上記高速回路部分に出力することを特徴とする制御回路。
【請求項２】
上記低速回路部分は、当該低速回路部分の出力信号側に出力制御回路を有し、
該出力制御回路は、前記低速回路部分が動作しない間、出力信号の変化を停止させることを特徴とする請求項１記載の制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マイクロプロセッサなどの電子デバイス制御回路において、回路の消費電力を極力低減する低電力方式技術に関するものである。
【背景技術】
【０００２】
近年の携帯電話、モバイルコンピュータや電子手帳などの情報通信機器は小型化の一途を辿っている。こうした情報通信機器は主にバッテリにて動作するため、消費電力は最小限に抑えることが要求される。
【０００３】
この様な低電力型の情報通信機器では、機器が使用されていない場合に、制御回路の電源電圧及びクロック発信を停止して（或いは下げて）電力を抑える方法がとられている。
【０００４】
さらに上記方法に加えて、機器の使用中においても動作電圧及びクロック周波数を必要最低限に抑えながら動作する方法が考案されている。この方法は機器の処理負荷が低い場合に、処理負荷に応じてクロック周波数及び動作電圧を動的に低下させる方式である。
【０００５】
一般に、ＣＭＯＳトランジスタ技術にて製造された制御回路の消費電力（Ｐ）と動作周波数（ｆ）、動作電圧（Ｖ）は、以下の関係で与えられる。
Ｐ  ＝  Ｃ×ｆ×Ｖ２                  …［１］
ｆ  ＝  （Ｖ−Ｖｔｈ）α／（Ｋ×Ｖ）  …［２］
ここで、Ｃは制御回路の負荷容量、Ｖｔｈはトランジスタの閾電圧、Ｋは比例定数、αはトランジスタの飽和領域に関するパラメータ定数（半導体プロセスに依存して１〜２の間の値をとる）である。［１］式より消費電力（Ｐ）は、動作電圧（Ｖ）の２乗に比例するため、動作電圧を下げる事は低電力化に大きく寄与する。しかし、動作電圧（Ｖ）を下げた場合は［２］式に応じて、動作周波数（ｆ）を下げる必要が生じ、機器の処理性能とのトレードオフとなる。
【０００６】
制御回路の動作中に動作周波数と動作電圧を動的に制御する場合、処理の負荷状況がＯＳ（オペレーションシステム）などのＳ／Ｗにより監視され、必要最低限の動作周波数が決定される。さらに、決定された動作周波数に対応した動作電圧が決められる。但し厳密には、動作電圧（の最低値）はデバイスの製造プロセスやトランジスタの特性、周囲温度などに依存する。このため、誤動作なく動作電圧を下げるためには、ある程度のマージンを含めておく必要がある。
【０００７】
従来の技術として図７に示される例が国際論文である、ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｆ  Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ  ＶＯＬ．３５，  ＮＯ１１，  ｐｐ１５７１−１５８０，  Ｎｏｖ．２０００に記載されている。これによると制御回路１０は、リング発振回路１０−１を備える。リング発振回路１０−１は、制御回路自身を動作させるシステムクロックを生成する。また、リング発振回路１０−１は、可変遅延１０−１−１にて発振周波数を変更できる構成とする。制御回路１０の動作試験時などに、可変遅延１０−１−１の遅延量を変更して動作可能限界試験を行う事により遅延量が決定される。また、ＯＳ等のＳ／Ｗにて所望の動作周波数を周波数設定レジスタ１０−２に設定可能な構成とする。
【０００８】
電圧制御回路１１は、クロックカウンタ１１−１とカウンタ比較器１１−２と電源生成回路１１−３を備える構成とする。クロックカウンタ１１−１は、リング発振回路１０−１によって出力されたシステムクロックを計数する。カウンタ比較器１１−２は、クロックカウンタ１１−１と周波数設定レジスタ１０−２の内容を比較し、クロックカウンタ１１−１の値が大きい（小さい）場合は、電源生成回路１１−３に出力電圧を下げる（上げる）様に指示を出す。電源生成回路１１−３はレギュレータ機能を備え、カウンタ比較器１１−２の指示に従いバッテリ電源から所望の供給電圧を生成する。
【０００９】
リング発振回路１０−１を含む制御回路１０は、電源生成回路１１−３の出力する電圧値で動作する。このため、電圧値が低ければリング発振回路の発信周波数は下がり、電圧値が高ければ発信周波数は上がる。これにより、制御回路１０は、システムクロックのフィードバックがかかり、周波数設定レジスタ１０−２に設定された動作周波数及び、それに応じた動作電圧に収束した状態で動作する。リング発振回路１０−１は制御回路１０のクリティカルパス遅延を模擬した遅延で発信しているため、動作電圧を変更しても制御回路は誤動作を生じない。
【特許文献１】特開平５−０２８１１６号公報
【特許文献２】特開平１１−１１０３６３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、以下に述べる従来技術の欠点を除くためになされたものである。制御回路を駆動するクロック信号は、可変遅延を備えたリング発振回路で生成される。これにより、制御回路のクリティカルパス遅延を模擬する。クリティカルパス遅延を模擬した回路は、制御回路の動作電圧、及び、周囲温度などの環境条件が変動すると遅延特性に差分が生じる。こうした遅延特性の差分は、制御回路の誤動作の原因となる。このため、可変遅延の遅延量は、環境条件を最悪としても誤動作が生じないようマージン遅延を含んで決定されなくてはならない。
【００１１】
上記のマージンは低電力性能を劣化する原因となり、バッテリで動作する機器のバッテリ寿命を短くするという課題が生じる。
【００１２】
クリティカルパス遅延を模擬する方法として、クリティカルパスと同一の回路構成で用意された第２のクリティカルパス回路（レプリカ回路）を備える方法もあるが、このレプリカ回路においても上記の事情は同じである。更に、動作電圧を広範囲に変動させる場合、動作している電圧値によってクリティカルパスとなる回路が変わる場合がある。この様な現象が発生する場合は、クリティカルパス模擬回路やレプリカ回路は、複数のクリティカルパスの電圧−遅延特性を模擬する必要があり、現実的には非常に困難である。
【課題を解決するための手段】
【００１３】
本発明に係る制御回路は、
低速回路部分と、低速回路部分よりも高速に動作可能な高速回路部分とに論理的に分割された制御回路であって、
低速回路部分は、要求信号により演算を開始し、演算の終了時に応答信号を出力する非同期回路であることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、電力消費を押さえつつ、全体として制御回路は高速動作することが可能となる。
【発明を実施するための最良の形態】
【００１５】
実施の形態１．
まず、本発明の特徴について簡単に説明する。本発明では従来の課題を克服するため、低速回路（クリティカルパス）を非同期回路にて構成する。非同期回路は、信号伝播が完了した時に応答信号（ＡＣＫ）を出力するため、これを利用して発振周期を一時的に伸ばす方法を使用できる。
【００１６】
発振回路は必要に応じて発振を一時的に停止したり、発振周期を変更したりできる構成とする。
【００１７】
発信周期の切替えは、切替回路の指示に応じて行う。即ち、通常は高速に発振し、低速回路（クリティカルパス回路）を動作させる場合には低速発振に切替える。
【００１８】
制御回路は、上記、回路の他に、発振回路の周期を計数する発振計数器と、Ｓ／Ｗ設定により任意の値が設定可能な周波数レジスタと、発振計数器と周波数レジスタとの内容差分に応じて電源電圧の昇降を指示する電源制御回路とを備える。
【００１９】
以下、本発明を図面に示す実施例に基づいて説明する。図１は、本発明の実施の形態１に係る制御回路の構成を示したものである。例えば、低消費電力型のマイクロプロセッサなどの電子デバイスは、図１に示される制御回路１の様に構成されるものとする。制御回路１は、相対的に高速に動作可能な回路部分（高速回路１−１）と低速動作の低速回路１−２に論理的に分けられるものとする。低速回路１−２は、最も遅延の大きいクリティカルパス回路でもよいし、クリティカルパス回路を含む複数の低速回路でもよいし、例えば画像処理回路の様な機能的回路群でもよい。高速回路１−１は、低速回路１−２以外の回路部分とする。
【００２０】
発振回路１−３は、制御回路１のシステムクロックを生成する。また、発振回路１−３の周波数は電圧に依存するＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒｓ：制御電圧で発振周波数をコントロールできる発振器）の構成であるものとする。
【００２１】
切替回路１−４は、低速回路１−２を動作させる必要がある場合（ＳＥＬ信号に基づく）に、要求信号（ＲＥＱ）を出力する。
【００２２】
周波数レジスタ１−５は、Ｓ／Ｗ（ソフトウエア）１−８より任意の周波数値を設定可能なレジスタである。
【００２３】
発振計数器１−６は、システムクロックの周波数を計数する。
【００２４】
電源制御回路１−７は、周波数レジスタ１−５と発振計数器１−６の値を比較して、その差分に応じて電圧の昇降制御を行う。即ち、発振計数器１−６の値が大きい場合は電圧を下げる様、発振計数器の値が小さい場合は電圧を上げる様に制御を行う。よって、制御回路のクロック周波数は、フィードバックがかかって周波数レジスタ１−５の設定値に収束する。
【００２５】
電源回路２は、制御回路１の動作電圧を供給する。
【００２６】
低速回路１−２は、非同期回路の技術手法にて構成される。ここで、非同期回路とはシステムクロックの様な同期クロックは要さず、要求信号（ＲＥＱ）信号により演算が開始され、演算の完了時に応答信号（ＡＣＫ）を出力する回路方式を指す。非同期回路は、演算回路それ自体がＡＣＫ信号を出力するという制御回路の機能を兼ね備えるという特徴を持つ。
【００２７】
低速回路１−２を非同期回路にて構成する詳細例を図２に示す。ここでは、２線式ドミノ論理として一般的に知られる非同期回路の構成例を示す。全体としては、機能単位回路１−２−１１〜１−２−１Ｎがシーケンシャルに接続され、最終段に完了検出回路１−２−２が接続される。
【００２８】
各機能単位回路（ここでは１−２−１Ｎ）は、ＮＭＯＳトランジスタで構成される論理素子部（１−２−１Ｎ−１）、プルアップＰＭＯＳ（１−２−１Ｎ−２）、プルダウンＮＭＯＳ（１−２−１Ｎ−３）、出力を保持するための低ドライブバッファ（１−２−１Ｎ−４）で構成される。
【００２９】
演算を始める前はプルアップＰＭＯＳ（１−２−１Ｎ−２）がＯＮ状態となり（ＲＥＱ＝“１”）、一度Ｏｕｔと~Ｏｕｔの２線出力を“０”とする。これをプリチャージ状態と呼ぶ。その後、演算状態では、プルダウンＮＭＯＳ（１−２−１Ｎ−３）がＯＮ状態となり（ＲＥＱ＝“０”）、論理素子（１−２−１Ｎ−１）に対応した値が出力される。この場合、２線式信号で論理を構成する場合、以下の様に論理が定義される。
（Ｏｕｔ、~Ｏｕｔ）＝（０，０）  ：プリチャージ状態（無効データ）
（Ｏｕｔ、~Ｏｕｔ）＝（１，０）  ：論理“１”（有効データ）
（Ｏｕｔ、~Ｏｕｔ）＝（０，１）  ：論理“０”（有効データ）
（Ｏｕｔ、~Ｏｕｔ）＝（１，１）  ：使用しない（未定義）
両信号が０の場合は、プリチャージ状態又は、演算が完了していない事を示す。完了検出回路１−２−２は、２線信号のＥＸＯＲを応答信号（ＡＣＫ）として出力する。
【００３０】
発振回路１−３の構成例を図３に示す。発振回路１−３はリング発振器であり、高速回路１−１の遅延に相当する発振周期を生成する遅延回路１−３−１と発振切替え素子１−３−２とから構成される。ＡＣＫ信号入力が“０”の場合、発振は停止する構成となっている。尚、ＡＣＫが”０”の場合は、切替え素子部の出力がＯＦＦされるため、低ドライブバッファ１−３−３で出力を保持する構成となっている。また全体として、発振回路１−３の発振周期は、制御回路１に供給される電源電圧に依存するＶＣＯでもある。
【００３１】
切替回路１−４の構成例を図４に示す。切替回路は、低速回路１−２を動作させる必要がある場合に要求信号（ＲＥＱ）を出力する機能を持つ。低速回路１−２が動作する場合はＳＥＬ入力信号が“１”となる。この例では、クロック信号の立ち上がりでＳＥＬが“１”となり、立下りでＳＥＬが“０”となる構成とする。低速回路１−２からの応答（ＡＣＫ）信号とＳＥＬ信号の値を監視して、要求信号（ＲＥＱ）を出力する。全体の信号の推移の様子を図５に示す。尚、ＡＣＫ，ＳＥＬ入力の値に依存して、出力が一時ＯＦＦとなる状態が生じるので、低ドライブバッファ１−４−１で値を保持する構成となっている。
【００３２】
全体として、制御回路１の動作周波数は、周波数レジスタ１−５の設定値に自動的に収束する。この時、発振回路１−３の発振周期は、高速回路１−１の信号遅延に対応して構成されているので、制御回路１に供給される電圧は、高速回路１−１が誤動作無く動作できる最低の動作電圧に揃っている。従来の技術では、発振回路の発振周期が、クリティカルパス回路（低速回路）に揃えられていた。よって、Ｓ／Ｗにより設定される周波数に収束させるためには、本発明より高い動作電圧の供給が必要となる。
【００３３】
一方、本発明では、発振回路１−３の発振周期は高速回路１−１遅延に対応しているため、収束時の動作電圧は従来の技術に比較して低電位であり、消費電力を大きく低減できる（電力は電圧の２乗に比例）。
【００３４】
本発明は、クリティカルパスが複数存在しても、対応する複数の応答信号（ＡＣＫ）の論理積をとる事によって容易に発振回路１−３の発振制御が可能である。また、クリティカルパスのレプリカや模擬回路を使用するのでなく、クリティカルパス本体の遅延に基づき、発振制御を行うため、電圧の変化、周囲温度変化、半導体のバラツキなどに起因する誤動作は無く、品質の高い回路が構成できる。
【００３５】
上述のように、低速回路は非同期回路で構成される。一般に、非同期回路は、設計や検証が困難であるというデメリットがあるが、本発明では、非同期回路は低速回路部分にのみ適用されるので、上記のデメリットを解決できる。
【００３６】
発振回路は発振が停止する機能を持つ。また、発振回路の発振制御は、非同期回路で構成される低速回路のＡＣＫ通知により行われる。これにより、通常は高速なクロックで動作し、低速回路の動作時のみＡＣＫ信号が通知されるまでクロック発振を一時停止させる事ができる。従って、全体として制御回路は高速動作が可能となる。
【００３７】
切替回路は、低速回路が動作する必要のある場合にのみ要求信号（ＲＥＱ）を出力する。これにより、制御回路は必要な場合にのみ低速動作を行い、通常は高速にて動作が可能となる。
【００３８】
制御回路は、Ｓ／Ｗ設定による周波数レジスタに収束した速度で動作する。この動作速度は、高速回路部分の信号伝播遅延に対応している。よって発振回路の発振が収束している状態での動作電圧は、低電位であり、制御回路の消費電力を低減できる。また、低速回路部分を動作する必要がある場合は、必要な遅延に対応するクロック発振に低減させるので、誤動作を生じる事もない。
【００３９】
実施の形態２．
低速回路１−２の第２の実施例について説明する。本実施の形態に係る出力停止制御回路１−２−３を実装した構成を図６に示す。低速回路１−２が動作しない場合（ＲＥＱが”１”）、クロック発振は高速であるため、低速回路１−２の出力信号は、Ｆｌｉｐ−Ｆｌｏｐ回路の入力タイミングを満足しない。この場合、Ｆｌｏｐ−Ｆｌｏｐ回路がメタステーブル状態に陥る事がある。このため、低速回路１−２が動作しない場合は、出力停止制御回路１−２−３により出力信号を変化させない様に制御する必要がある。図６に示した構成は、ＡＣＫ信号が“０”になる場合にのみ出力信号が伝達され、それ以外の場合は状態保持となる。出力停止制御回路１−２−３の出力がハイ・インピーダンス状態となるのを防ぐ目的で、低ドライブバッファ１−２−３−１が設けられている。
【００４０】
低速回路の出力に出力停止制御回路を備え、低速回路が動作しない場合は低速回路の出力変化を停止する。これにより、低速回路の信号をラッチするＦｌｏｐ−Ｆｌｏｐがメタステーブル状態となるのを防止する事ができる。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施の形態に係る制御回路の構成を示す図。
【図２】低速回路１−２を非同期回路にて構成する詳細例を示す図。
【図３】発振回路１−３の構成例を示す図。
【図４】切替回路１−４の構成例を示す図。
【図５】全体の信号の推移を示す図。
【図６】実施の形態２に係る出力停止制御回路を実装した構成例を示す図。
【図７】従来技術に係る制御回路の例を示す図。
【符号の説明】
【００４２】
１  制御回路、１−１  高速回路、１−２  低速回路、１−３  発振回路、１−４  切替回路、１−５  周波数レジスタ、１−６  発振計数器、１−７  電源制御回路、１−８  Ｓ／Ｗ、２  電源回路。
【図１】
0004673551.tif 000002
【図２】
0004673551.tif 000003
【図３】
0004673551.tif 000004
【図４】
0004673551.tif 000005
【図５】
0004673551.tif 000006
【図６】
0004673551.tif 000007
【図７】
0004673551.tif 000008