(57)【要約】【課題】マイクロプロセッサに供給する電源電圧を低下させる。【解決手段】マイクロプロセッサに対する電源電圧の供給技術に関する。マイクロプロセッサによる通常の演算処理に先立ち、マイクロプロセッサ内部のクロック信号のデューティサイクルを調節するデューティサイクル補正処理を実行する（Ｓ１２０〜Ｓ１４０）。デューティサイクルの調節するデューティサイクル補正処理では、クロック信号のデューティサイクルを、マイクロプロセッサが動作可能な電源電圧が最低となるように調節する。【選択図】図４
2008004097.tif 000002
【特許請求の範囲】
【請求項１】
マイクロプロセッサの動作制御方法であって、
前記マイクロプロセッサによる通常の演算処理に先立ち、前記マイクロプロセッサ内部のクロック信号のデューティサイクルを調節するデューティサイクル補正処理を実行することを特徴とする方法。
【請求項２】
前記デューティサイクル補正処理は、前記マイクロプロセッサが動作可能な電源電圧が最低となるように、前記クロック信号のデューティサイクルを調節することを特徴とする請求項１に記載の方法。
【請求項３】
前記デューティサイクル補正処理を、所定のタイミングごとに実行することを特徴とする請求項１または２に記載の方法。
【請求項４】
前記デューティサイクル補正処理は、前記マイクロプロセッサ自身に、あるいは前記マイクロプロセッサが最終的に搭載される電子機器に内蔵された自己診断機能によって実行されることを特徴とする請求項１または２に記載の方法。
【請求項５】
前記デューティサイクル補正処理は、前記マイクロプロセッサに所定の電源電圧を供給しつつ、所定の処理を実行させた状態で、前記クロック信号のデューティサイクルを順次変化させていき、変化させたデューティサイクルごとに、前記マイクロプロセッサが前記所定の処理を実行可能か否かの判定をし、実行可能であったデューティサイクルを、最終的なデューティサイクルに設定することを特徴とする請求項１または２に記載の方法。
【請求項６】
前記デューティサイクルは、メモリアクセスに使用されるクロック信号のデューティサイクルであることを特徴とする請求項１または２に記載の方法。
【請求項７】
前記デューティサイクル補正処理の後、前記マイクロプロセッサに供給する電源電圧を再設定する電圧設定処理を実行することを特徴とする請求項１または２に記載の方法。
【請求項８】
前記電圧設定処理は、
前記マイクロプロセッサに、前記デューティサイクル補正処理において調節されたデューティサイクルを用いて所定の処理を実行させた状態で、前記マイクロプロセッサに供給する電源電圧を変化させ、各電源電圧ごとに、前記マイクロプロセッサが前記所定の処理を実行可能か否かの判定をし、実行可能であった電源電圧のうち、最低値付近の電圧を、前記マイクロプロセッサに供給する電源電圧として設定することを特徴とする請求項７に記載の方法。
【請求項９】
マイクロプロセッサと、
前記マイクロプロセッサ内部のクロック信号のデューティサイクルを調節する調節部と、
前記マイクロプロセッサに電源電圧を供給する電圧回路と、
を備え、
前記調節部は、前記電圧回路による電源電圧の供給に先立ち、デューティサイクルの調節を実行することを特徴とする演算処理装置。
【請求項１０】
前記調節部は、前記マイクロプロセッサが動作可能な電源電圧が最低となるように、前記クロック信号のデューティサイクルを調節することを特徴とする請求項９に記載の演算処理装置。
【請求項１１】
前記調節部は、前記マイクロプロセッサに内蔵されることを特徴とする請求項９または１０に記載の演算処理装置。
【請求項１２】
前記調節部は、所定のタイミングごとに前記デューティサイクルの調整を実行することを特徴とする請求項９または１０に記載の演算処理装置。
【請求項１３】
所定の電源電圧が供給された状態において、内部のクロック信号のデューティサイクルを自己調節し、前記所定の電源電圧で動作可能なデューティサイクルの値を検出することを特徴とするマイクロプロセッサ。
【請求項１４】
マイクロプロセッサに供給すべき電源電圧を設定するためのプログラムであって、当該マイクロプロセッサが搭載される演算処理装置に、
前記マイクロプロセッサ内部のクロック信号のデューティサイクルを調節する調節ステップを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＣＰＵなどのマイクロプロセッサに対する電源電圧の供給技術に関する。
【背景技術】
【０００２】
パーソナルコンピュータやワークステーション、あるいはゲーム機器などに使用されるＣＰＵなどのマイクロプロセッサには、電圧レギュレータ回路（以下、単にレギュレータ回路ともいう）によって安定化された所定の電源電圧が供給される。マイクロプロセッサに供給すべき電源電圧は、マイクロプロセッサの半導体製造プロセスなどに応じて設定され、近年の低電圧プロセスを用いたマイクロプロセッサの電源電圧は１．２Ｖ程度となっている。
【０００３】
現在、複数のベンダーによって様々なマイクロプロセッサが供給されている。各ベンダーから供給されるマイクロプロセッサは、レギュレータ回路に対し、独自の方式によって自身に供給すべき電源電圧を指示している。言い換えれば、レギュレータ回路は、マイクロプロセッサからの電源電圧の指定を受け付けられるように設計される。図７は、従来のマイクロプロセッサとレギュレータ回路の構成例を示すブロック図である。
【０００４】
図７に示すように、マイクロプロセッサ６０と、レギュレータ回路６２間は、たとえば５ビットの信号線６４でパラレル接続されている。マイクロプロセッサ６０は、この信号線６４を介してＶＩＤ（Ｖｏｌｔａｇｅ  ＩＤ）信号を送信し、レギュレータ回路６２に対して自身に供給すべき電源電圧Ｖｄｄを指示する。レギュレータ回路６２は、マイクロプロセッサ６０によって指示された電源電圧Ｖｄｄを生成し、電源ライン６６を介してマイクロプロセッサ６０に供給する。このような構成をとることにより、たとえばマイクロプロセッサ６０およびレギュレータ回路６２が搭載される機器（以下単にセットともいう）の出荷後において、ユーザが別のマイクロプロセッサ６０に交換した場合にも、交換後のマイクロプロセッサ６０に最適な電源電圧Ｖｄｄを供給することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、マイクロプロセッサ６０のＶＩＤは、マイクロプロセッサが搭載されるセットの製造時等に、一旦設定されると、その後変更されることはなかった。したがって、あるマイクロプロセッサに供給される電源電圧は、出荷後の使用時間などによらず、一定となる。
【０００６】
かかる状況においては、マイクロプロセッサを製造するベンダーは、マイクロプロセッサの経時劣化や、動作周波数、搭載されるセットにおいて発生する電圧降下、使用温度を考慮し、最悪の状態を想定したマージンを持たせて、電源電圧、すなわちＶＩＤを設定していた。このことは、本来、マイクロプロセッサが動作可能な状態よりも高い電源電圧をマイクロプロセッサに供給していることを意味する。逆にいえば、もしマイクロプロセッサの状態に応じて最適な電源電圧を設定することができれば、マイクロプロセッサの消費電力を低減することができる。
【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、マイクロプロセッサに供給すべき電源電圧の低減にある。
【課題を解決するための手段】
【０００８】
上記課題を解決するための本発明のある態様は、マイクロプロセッサの動作制御方法あるいはその制御方法を利用した演算処理装置、マイクロプロセッサなどに関する。この技術では、マイクロプロセッサを最終的に搭載されるセット（電子機器）に実装した状態、すなわち実動作状態において、マイクロプロセッサによる通常の演算処理に先立ち、マイクロプロセッサ内部のクロック信号のデューティサイクルを調節するデューティサイクル補正処理を実行する。
【０００９】
マイクロプロセッサが動作可能な電源電圧の下限値は、クロック信号のデューティサイクルに応じて変化する。そこで、マイクロプロセッサの実動作状態において、デューティサイクルを動的に調節することにより、マイクロプロセッサがそのときおかれた状況に応じて最適化することができ、より低い動作電圧でマイクロプロセッサを動作させることができる。
【発明の効果】
【００１０】
本発明によれば、マイクロプロセッサに対して供給すべき電源電圧を低下させることができる。
【発明を実施するための最良の形態】
【００１１】
本発明の技術思想は、以下のさまざまな態様によって実現される。はじめに、その態様の概要について説明する。
【００１２】
マイクロプロセッサの内部で使用されるクロック信号のデューティサイクルは、デューティサイクル補正（ＤＣＣ：Duty Cycle Correction）と呼ばれる処理によって、最適化される。クロック信号のデューティサイクルは、マイクロプロセッサ内部の論理ゲートのセットアップタイム、ホールドタイムなどに影響するため、デューティサイクル補正により最適化することにより、マイクロプロセッサの演算処理能力を高めることができる。
【００１３】
ここで、本明細書において、マイクロプロセッサが動作可能な電源電圧Ｖｄｄの下限値（最小動作保証電圧、以下単に動作保証電圧Ｖｏｐという）は、マイクロプロセッサの演算処理能力と相関があり、内部の論理ゲートの処理能力が高いほど、動作保証電圧Ｖｏｐは低くなる傾向にある。このことは、デューティサイクル補正によってクロック信号のデューティサイクルを最適化することにより、マイクロプロセッサの動作保証電圧Ｖｏｐを低下させることができることを意味する。
【００１４】
図１は、マイクロプロセッサ内部のクロック信号のデューティサイクル（横軸）と、マイクロプロセッサの動作保証電圧Ｖｏｐ（縦軸）の関係を示す。図１の実線（Ｉ）は、動作保証電圧Ｖｏｐが、デューティサイクルがある最適値ａ１の時に最小値をとり、そこから離れるに従って、動作保証電圧Ｖｏｐは増大することを示している。なお、図１の縦軸、横軸は、理解の容易化のために適宜拡大、縮小されており、また、描かれる曲線も実際の特性を理解の容易のために簡略化して示される。
【００１５】
ここで、図１に示す曲線は、マイクロプロセッサの使用状況に応じて、たとえば、累積動作時間（POH:Power On Hour、以下、オン時間ともいう）とともに変化する。図１では、初期状態（オン時間が０の状態）が実線（Ｉ）で、ある時間経過後の状態が破線（ＩＩ）で示される。図１の実線（Ｉ）と破線（ＩＩ）を比較すると、マイクロプロセッサの使用状況に応じて、動作保証電圧Ｖｏｐの最小値を与える最適なデューティサイクルが変化（ａ１→ａ２）することがわかる。シリコンの半導体プロセスを用いて設計したいくつかのマイクロプロセッサについて、累積動作時間に対する最適なデューティサイクルの変化を検証したところ、累積動作時間の増加とともに、最適なデューティサイクルは短くなる方向にシフトする傾向が測定された。
【００１６】
マイクロプロセッサのクロック信号のデューティサイクルを、マイクロプロセッサの使用状況にかかわらず一定値（＝ａ１）に固定した場合、動作保証電圧Ｖｏｐは、初期状態においてＶｏｐ１となり、ある時間経過後において、Ｖｏｐ２となる。したがって、マイクロプロセッサの出荷状態において、デューティサイクルを固定する場合には、経年変化を考慮した上で、マイクロプロセッサに供給する電源電圧を、少なくともＶｏｐ２よりも高い値に設定する必要がある。このことは、初期状態では、マイクロプロセッサに対して電圧Ｖｏｐ１を供給すればよいところ、電位差ΔＶｏｐを加算したＶｏｐ２を供給することを意味するため、不要な電圧マージンを加算していることになり、不要な電力消費が発生することになる。
【００１７】
以下で説明する本実施の形態に係るマイクロプロセッサの電源電圧の設定技術は、不要な電圧マージンを省き、より低い電源電圧でマイクロプロセッサを安定に動作させることを課題とする。
【００１８】
本発明のある態様は、マイクロプロセッサの動作制御方法に関する。この方法は、マイクロプロセッサによる通常の演算処理に先立ち、マイクロプロセッサ内部のクロック信号のデューティサイクルを調節するデューティサイクル補正処理を実行する。
【００１９】
この態様によると、図１に示すように、クロック信号のデューティサイクルと動作保証電圧Ｖｏｐの関係がマイクロプロセッサの状態に応じて変化した場合にも、デューティサイクル補正処理により、クロック信号のデューティサイクルを最適化することで、電源電圧に不要な電圧マージンを付加する必要がなくなるため、動作電圧を低下させ、低消費電力化を実現することができる。
【００２０】
デューティサイクル補正処理は、マイクロプロセッサが動作可能な電源電圧が最低となるように、クロック信号のデューティサイクルを調節してもよい。また、デューティサイクル補正処理を、所定のタイミングごとに実行してもよい。デューティサイクル補正処理は、マイクロプロセッサ自身あるいはマイクロプロセッサが最終的に搭載される電子機器に内蔵された自己診断機能（BIST:Built In Self-TEST)によって実行されてもよい。
【００２１】
デューティサイクル補正処理は、マイクロプロセッサに所定の電源電圧を供給しつつ、所定の処理を実行させた状態で、クロック信号のデューティサイクルを順次変化させていき、変化させたデューティサイクルごとに、マイクロプロセッサが所定の処理を実行可能か否かの判定をし、実行可能であったデューティサイクルを、最終的なデューティサイクルに設定してもよい。
【００２２】
調節対象となるクロックのデューティサイクルは、メモリアクセスに使用されるクロック信号のデューティサイクルであってもよい。
【００２３】
ある態様の制御方法は、デューティサイクル補正処理の完了後、マイクロプロセッサに供給する所定の電源電圧を再設定する電圧設定処理をさらに実行してもよい。
【００２４】
電圧設定処理は、マイクロプロセッサに、デューティサイクル補正処理により調節されたデューティサイクルを用いて所定の処理を実行させた状態で、マイクロプロセッサに供給する電源電圧を変化させ、各電源電圧ごとに、マイクロプロセッサが所定の処理を実行可能か否かの判定をし、実行可能であった電源電圧のうち、最低値付近の電圧を、マイクロプロセッサに供給する電源電圧として設定してもよい。
【００２５】
本発明の別の態様は、演算処理装置である。この演算処理装置は、マイクロプロセッサと、マイクロプロセッサ内部のクロック信号のデューティサイクルを調節する調節部と、マイクロプロセッサに電源電圧を供給する電源回路と、を備える。調節部は、電圧回路による電源電圧の供給に先立ち、デューティサイクルの調節を実行する。調節部は、マイクロプロセッサに内蔵されてもよい。
【００２６】
本発明の別の態様は、マイクロプロセッサである。このマイクロプロセッサは、所定の電源電圧が供給された状態において、内部のクロック信号のデューティサイクルを自己調節し、所定の電源電圧で動作可能なデューティサイクルの値を検出する。
この態様によれば、マイクロプロセッサ単体でデューティサイクルを最適化することができる。
【００２７】
本発明の別の態様は、マイクロプロセッサに電源電圧を供給するためのプログラムである。このプログラムは、マイクロプロセッサが搭載される演算処理装置に、マイクロプロセッサ内部のクロック信号のデューティサイクルを調節する調節ステップと、調節ステップにおいて調節されたデューティサイクルに応じて、マイクロプロセッサに電源電圧を供給する供給ステップと、を実行させる。
【００２８】
なお、以上の構成要素の任意の組合せ、本発明の表現を、方法、装置、システム、あるいはプログラム、それを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【００２９】
以下、本発明の実施の形態に係る演算処理装置の詳細を、図面を参照しつつ説明する。
図２は、実施の形態に係る電子機器１０００の構成を示すブロック図である。電子機器１０００は、ゲーム機器、パーソナルコンピュータ、ワークステーション、ＰＤＡなどである。以下、電子機器１０００がゲーム機器である場合を例に説明するが、本発明はこれに限定されるものではない。
【００３０】
この電子機器１０００は、演算処理装置１００、メモリ１１０、記録装置１２０、インターフェース１３０、画像出力部１４０、バス１５０などを含んで構成される。
【００３１】
演算処理装置１００は、たとえばＣＰＵやグラフィックプロセッサなどを含むユニットであり、所定のデジタル演算処理を行う。ＣＰＵは、電子機器１０００を統合的に管理するユニットである。グラフィックプロセッサは、画像処理に特化して設計されたＬＳＩである。ＣＰＵおよびグラフィックプロセッサの機能は、ひとつのＬＳＩで実現されてもよい。グラフィックプロセッサによって生成された画像データは、画像出力部１４０を介して、図示しない外部の映像表示装置に出力される。演算処理装置１００は、記録装置１２０からプログラムやデータをメモリ１１０にロードし、演算処理を行う。
【００３２】
記録装置１２０は、ハードディスク装置や、ＤＶＤ装置などであって、本機器において実行されるプログラムなどが格納される。インターフェース１３０は、ＵＳＢポートや、モデム、無線ＬＡＮ（Local Area Network）ユニットなどであって、外部機器やインターネットなど外部ネットワークに接続するために用いられる。各ブロックは、バス１５０によって接続されている。
【００３３】
本実施の形態に係る演算処理装置１００は、このような電子機器１０００に用いることができ、特に消費電力が大きなものに好適に用いることができる。以下、演算処理装置１００の詳細について説明する。
【００３４】
図３は、実施の形態に係る演算処理装置１００の構成を示すブロック図である。演算処理装置１００は、ＣＰＵやグラフィックプロセッサなどのマイクロプロセッサ１０と、マイクロプロセッサ１０に対して電源電圧Ｖｄｄを供給する電源回路２０と、デューティサイクル調節部２２を含む。
【００３５】
ここで、各ブロックは、発明の理解のために便宜的に区別したものであり、したがって、図中、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３６】
マイクロプロセッサ１０と電源回路２０は、電源ライン１２を介して接続される。以降の図において、同一または同等の構成要素には同一の符号を付し、適宜説明を省略するものとする。電源回路２０は、レギュレータ回路などであって、マイクロプロセッサ１０に所定の電源電圧Ｖｄｄの供給する。電源電圧Ｖｄｄの値は、たとえば１．２Ｖ程度である。
【００３７】
デューティサイクル調節部２２は、マイクロプロセッサ１０の内部のクロック信号ＣＫのデューティサイクルを調節するデューティサイクル補正処理（ＤＣＣ処理）を実行する。このＤＣＣ処理は、マイクロプロセッサ１０による通常の演算処理に先立って実行される。たとえば、ＤＣＣ処理は、所定のタイミングごとに実行されてもよい。所定のタイミングとは、電子機器１０００の起動時や、夜中などのユーザが電子機器１０００を使用していない時間、あるいは予めユーザによって指定された時刻などである。
【００３８】
デューティサイクル調節部２２の機能は、マイクロプロセッサ１０自身、あるいは演算処理装置１００に内蔵された自己診断機能（BIST）によって実現されてもよい。この場合、演算処理装置１００は、外部のユニットとは独立して、デューティサイクルの調節を実行することができる。デューティサイクル調節部２２の機能が内蔵されたマイクロプロセッサは、所定の電源電圧が供給された状態において、内部のクロック信号のデューティサイクルを自己調節し、所定の電源電圧で動作可能なデューティサイクルの値を検出する。
【００３９】
デューティサイクル調節部２２は、ＤＣＣ処理によって、クロック信号のデューティサイクルを、マイクロプロセッサ１０が動作可能な動作保証電圧Ｖｏｐが最低となるように調節することことが望ましい。
【００４０】
ここで、調節の対象となるクロック信号のデューティサイクルは、たとえば、メモリ（たとえばＳＲＡＭアレイ）のアクセスに使用されるクロック信号のデューティサイクルである。ＳＲＡＭは、クロックの立上がり、立下りの両エッジで動作するため、デューティサイクルを調節することにより、動作保証電圧Ｖｏｐを顕著に変化させることができる。ＳＲＡＭの場合、デューティサイクルの調節量は数ｐｓ〜数十ｐｓ程度となる。
【００４１】
なお、演算処理を実行するマイクロプロセッサ１０の内部のロジック部を、非同期ロジックで設計、実装する場合、数百ｐｓ〜数ｎｓオーダーのデューティサイクルの調節によって、動作保証電圧を変化させることができる。したがって、デューティサイクルの調節は、メモリアレイ、ロジックアレイのいずれのクロック信号に対して行ってもよい。また、マイクロプロセッサが、メモリアレイとロジックアレイの電源電圧が個別に供給可能に構成される場合には、両方のクロック信号のデューティサイクルを調節してもよい。
【００４２】
上述したように、マイクロプロセッサ１０の使用状況に応じて、動作保証電圧Ｖｏｐの最小値を与える最適なデューティサイクルは変化する。本実施の形態に係る演算処理装置１００によれば、クロック信号のデューティサイクルを調節して最適化することにより、マイクロプロセッサの動作に必要な電圧を低下させることができる。また、その結果として、ある電源電圧で動作可能なマイクロプロセッサの個数は増えるため、歩留まりの向上が見込まれる。
以下では、ＤＣＣ処理の具体例について説明する。
【００４３】
（第１の実施例）
第１の実施例では、マイクロプロセッサ１０に所定の処理を実行させた状態で、クロック信号のデューティサイクルを順次変化させていく。そして、変化させたデューティサイクルごとに、マイクロプロセッサが所定の処理を実行可能か否かの判定をし、実行可能であったデューティサイクルを、最終的な、すなわち通常の演算処理で使用するデューティサイクルに設定する。この処理の前提として、電源回路２０からマイクロプロセッサ１０に供給される電源電圧Ｖｄｄは、図１の電圧値Ｖｏｐ１、すなわち曲線（Ｉ）（ＩＩ）の最小値付近の値に設定されているものとする。
【００４４】
図４は、第１の実施例に係るＤＣＣ処理のフローチャートである。図４に示すように、演算処理装置１００は、所定のタイミングにて、たとえば電源投入時に、自己診断テストの実行を開始し（Ｓ１００）、システム全体を初期化（Ｓ１１０）する。このとき、電源電圧を初期値Ｖｉｎｉｔに設定する。
【００４５】
続くステップＳ１２０において、デューティサイクルをある値に設定する。続くステップＳ１３０において、所定の処理が実行可能かどうかを判定する。その結果、実行可能であれば（Ｓ１３０のＹ）、そのときのデューティサイクルの値を最終的なデューティサイクルに設定する（Ｓ１４０）。デューティサイクルの設定後（Ｓ１４０）、演算処理装置１００はＤＣＣ処理を完了し、通常の演算処理を開始する。
【００４６】
もし、判定の結果、実行不能であれば（Ｓ１３０のＮ）、デューティサイクルを前回とは別の値に設定し（Ｓ１２０）、再判定を行う（Ｓ１３０）。ステップＳ１２０およびＳ１３０を繰り返すことにより、デューティサイクルの値が掃引される。
【００４７】
もし、マイクロプロセッサ１０のオン時間ＰＯＨが０に近ければ、マイクロプロセッサ１０は、図１の実線（Ｉ）の特性を有することになる。上述のように、マイクロプロセッサ１０に供給される電源電圧は、予め決められた所定値Ｖｏｐ１に固定されているため、デューティサイクルがａ１付近の場合のみ、マイクロプロセッサ１０は所定の処理を実行可能となる。また、マイクロプロセッサ１０をある程度使用して、図１の（ＩＩ）の特性にシフトしていた場合、デューティサイクルがａ２付近の場合のみ、マイクロプロセッサ１０は所定の処理を実行可能となる。
【００４８】
本実施例では、ＤＣＣ処理において、ステップＳ１２０およびＳ１３０を繰り返すことにより、デューティサイクルの値を掃引するため、マイクロプロセッサ１０がいかなる状態にあっても、すなわち、図１の曲線がいずれの位置にあっても、最適なデューティサイクルを検出することができる。その結果として、演算処理装置１００の設計段階において、動作保証電圧Ｖｏｐの最小値を電源電圧として設定することができ、低消費電力化を実現することができる。より具体的には、従来においては、デューティサイクルが固定（ａ１）されていたため、ワーストケースを考慮して、マイクロプロセッサ１０に供給すべき電源電圧を、電圧値Ｖｏｐ２に設定する必要があった。これに対して、本実施例では電圧値Ｖｏｐ１に設定すれば足りるため、従来と比較して、電源電圧を、ΔＶｏｐ＝Ｖｏｐ２−Ｖｏｐ１だけ低下させることができる。
【００４９】
さらに、低消費電力化の結果、マイクロプロセッサ１０の長期信頼性を向上することができる。さらに、マイクロプロセッサ１０からの発熱量も減少するため、冷却に使用されるファンを静音化できるという副次的な効果が期待できる。
【００５０】
なお、ＤＣＣ処理を実行した結果、得られた最適なデューティサイクルは、メモリなどに保存しておき、次回にＤＣＣ処理を実行するときのデューティサイクルの初期値として利用してもよい。図１に示す曲線は、急激に変化するものではないため、前回のデューティサイクルを利用して判定を行えば、デューティサイクルの掃引量を低減し、ＤＣＣ処理に要する時間を短くすることができる。
【００５１】
マイクロプロセッサに供給すべき電源電圧は、次の手法により決定してもよい。まず、図１に示す特性を、マイクロプロセッサの設計段階において、加速試験等を行うことにより、取得する。その結果、マイクロプロセッサのオン時間に応じて、複数の曲線を得ることができる。たとえば、図１には２つのオン時間に対応した（Ｉ）、（ＩＩ）が示される。得られた複数の曲線ごとに、最小値を読み取る。図１では、いずれの曲線の最小値も、Ｖｏｐ１であるが、実際のマイクロプロセッサでは、最小値が曲線ごとに異なる場合も想定される。そして各曲線の最小値のうち、最大のものをマイクロプロセッサに供給すべき電源電圧に設定する。
【００５２】
なお、複数の曲線は、マイクロプロセッサのオン時間をパラメータとする他、マイクロプロセッサ１０の温度や、実行させる演算処理の内容など、必要な電源電圧に影響するさまざまなパラメータを、単独であるいは組み合わせて用いてもよい。
【００５３】
もっとも、電源電圧の設定方法は、これに限定されることはなく、マイクロプロセッサの動作に先立ち、クロック信号のデューティサイクルが最適化されることを前提に、可能な限り低く設定すればよい。その結果、デューティサイクルを固定した場合に比べて、電源電圧の設定値を低くすることができる。
【００５４】
（第２の実施例）
第１の実施例では、電源電圧Ｖｄｄをマイクロプロセッサ、あるいは電子機器の設計段階で予め固定しておき、デューティサイクルのみを変化させる処理について説明した。これに対して、第２の実施例では、ＤＣＣ処理の後に、さらに電源電圧Ｖｄｄを再設定する処理を実行し、電源電圧を積極的に変化させる。図５は、第２の実施例に係るＤＣＣ処理のフローチャートである。
【００５５】
図５において、図４のＤＣＣ処理（Ｓ１２０〜Ｓ１４０）は図３と同様であるため、簡略化して示される。第２の実施例では、ＤＣＣ処理（Ｓ１２０〜Ｓ１４０）の後、ステップＳ２００〜Ｓ２２０において、電源電圧の設定処理を行う。
【００５６】
電圧設定処理（Ｓ２００〜Ｓ２２０）では、マイクロプロセッサ１０に、ＤＣＣ処理において設定されたデューティサイクルを用いて、所定の処理を実行させる。この状態で、マイクロプロセッサ１０に供給する電源電圧を変化させ、各電源電圧ごとに、マイクロプロセッサ１０が所定の処理を実行可能か否かを判定する。その結果、所定の処理を実行可能であった電源電圧のうち、最低値付近の電圧を、マイクロプロセッサに供給する電源電圧として設定する。
【００５７】
たとえば、ステップＳ２００において、電源電圧Ｖｄｄを前回の電源電圧よりもΔＶだけ低下させる。次いで、所定の処理が実行可能であるかを判定する（Ｓ２１０）。その結果、所定の処理を実行可能の場合（Ｓ２１０のＹ）、ステップＳ２００に戻り、電源電圧ＶｄｄをさらにΔＶだけ低下させる。
【００５８】
ステップＳ２１０、Ｓ２００を繰り返した結果、電源電圧Ｖｄｄが動作保証電圧を下回るところまで低下すると、所定の処理が実行不能となる（Ｓ２１０のＮ）。一連の処理の結果、マイクロプロセッサ１０が動作可能な電源電圧の下限値を見積もることができる。ステップＳ２２０では、見積もられた下限値付近の電圧を、マイクロプロセッサ１０に供給する電源電圧に設定する。
【００５９】
第２の実施例によれば、デューティサイクルを調節した後に、電源電圧を再設定することにより、マイクロプロセッサが演算処理を実行するときどきの状況に応じて、電源電圧を変更することができるため、予め電源電圧を設定した場合に比べて、さらに低消費電力化を図ることができる。
【００６０】
（第３の実施例）
第２の実施例の変形例として、デューティサイクルの掃引と、電源電圧の掃引をマトリクス的に行い、マイクロプロセッサ１０に必要な電源電圧が最小となる値を探索してもよい。図６は、第３の実施例に係るＤＣＣ処理のフローチャートである。
【００６１】
図６において、電源が投入され（Ｓ１００）、システムが初期化される（Ｓ１１０）。このシステムの初期化において、電源電圧Ｖｄｄが初期化されるとともに、デューティサイクルが初期化される。次いで、ステップＳ２００において、電源電圧Ｖｄｄを前回の電源電圧よりもΔＶだけ低下させる。次いで、所定の処理が実行可能であるかを判定する（Ｓ２１０）。その結果、所定の処理を実行可能の場合（Ｓ２１０のＹ）、ステップＳ２００に戻り、電源電圧ＶｄｄをさらにΔＶだけ低下させる。
【００６２】
一方、ステップＳ２１０において、所定の処理が実行不能である場合（Ｓ２１０のＮ）、ステップＳ３００に進み、デューティサイクルの変更が可能かどうかを判定する（Ｓ３００）。もし、ステップＳ３００において、デューティサイクルが変更可能であれば（Ｓ３００のＹ）、デューティサイクルを調節する（Ｓ３１０）。デューティサイクルを調節した後、再びステップＳ２１０において、所定の処理が実行可能か判定され、可能であれば（Ｓ２１０のＹ）、電源電圧が低く設定される（Ｓ２００）。
【００６３】
すなわち、所定の処理が実行可能でありつづける限り、ステップＳ２００、Ｓ２１０の処理ループによって、電源電圧が徐々に下げられていく。ある時点で、所定の処理が実行できなくなると、デューティサイクルが再度調節され、再度判定処理が行われ、再びステップＳ２００、Ｓ２１０の処理ループへと移行する。その結果、デューティサイクルおよび電源電圧の両方が最適化されていく。
【００６４】
もし、ステップＳ３００において、デューティサイクルが変更不能であれば（Ｓ３００のＮ）、最適なデューティサイクル値において、最低の電源電圧が設定されたものと判断し、それまでに所定の処理を実行可能であった電源電圧Ｖｄｄの最低値を、最終的な電源電圧として設定するとともにデューティサイクルを設定し（Ｓ３２０）、フローを終了する。一連の処理の結果、マイクロプロセッサ１０が動作可能な電源電圧の下限値を見積もることができる。
【００６５】
以上、本発明について、実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６６】
図１で示したマイクロプロセッサ内部のクロック信号のデューティサイクルと、マイクロプロセッサの動作保証電圧の関係は一例である。すなわち、経時変化によって、動作保証電圧Ｖｏｐの曲線が、右方向にシフトするか左方向にシフトするかは、マイクロプロセッサの製造プロセスや回路構成などに依存するものである。いずれにシフトする場合であっても本発明は適用可能することができる。
【図面の簡単な説明】
【００６７】
【図１】マイクロプロセッサ内部のクロック信号のデューティサイクルと、マイクロプロセッサの動作保証電圧の関係を示す図である。
【図２】実施の形態に係る電子機器の構成を示すブロック図である。
【図３】実施の形態に係る演算処理装置の構成を示すブロック図である。
【図４】第１の実施例に係るＤＣＣ処理のフローチャートである。
【図５】第２の実施例に係るＤＣＣ処理のフローチャートである。
【図６】第３の実施例に係るＤＣＣ処理のフローチャートである。
【図７】従来のマイクロプロセッサとレギュレータ回路の構成例を示すブロック図である。
【符号の説明】
【００６８】
１０  マイクロプロセッサ、  １２  電源ライン、  ２０  電源回路、  ２２  デューティサイクル調節部、  １００  演算処理装置、  １１０  メモリ、  １２０  記録装置、  １３０  インターフェース、  １４０  画像出力部、  １５０  バス、  １０００  電子機器。
【図１】
2008004097.tif 000003
【図２】
2008004097.tif 000004
【図３】
2008004097.tif 000005
【図４】
2008004097.tif 000006
【図５】
2008004097.tif 000007
【図６】
2008004097.tif 000008
【図７】
2008004097.tif 000009