JP4139579B2 - 半導体装置および半導体装置の動作モード制御方法 - Google Patents

半導体装置および半導体装置の動作モード制御方法 Download PDF

Info

Publication number
JP4139579B2
JP4139579B2 JP2001184224A JP2001184224A JP4139579B2 JP 4139579 B2 JP4139579 B2 JP 4139579B2 JP 2001184224 A JP2001184224 A JP 2001184224A JP 2001184224 A JP2001184224 A JP 2001184224A JP 4139579 B2 JP4139579 B2 JP 4139579B2
Authority
JP
Japan
Prior art keywords
job
processor
operation mode
semiconductor device
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001184224A
Other languages
English (en)
Other versions
JP2003006179A (ja
Inventor
孝一郎 石橋
直彦 入江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2001184224A priority Critical patent/JP4139579B2/ja
Priority to US10/163,314 priority patent/US7149910B2/en
Publication of JP2003006179A publication Critical patent/JP2003006179A/ja
Application granted granted Critical
Publication of JP4139579B2 publication Critical patent/JP4139579B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、マイクロプロセッサとその制御方法に関する。
【0002】
【従来の技術】
近年、マイクロプロセッサの高速化は著しく、約1年で2倍の高速化が達成されている。一方で、高速化に伴う消費電力の増大の問題が顕在化してきた。特に、マイクロプロセッサを携帯機器システムに用いる場合において、消費電力の増大は電池寿命を短くする。携帯機器システムは電池寿命を延ばすことを最優先させるため、プロセッサが実行できる最大の周波数よりも周波数を落として動作させることによって、その消費電力を削減させる。しかしながら、この方式ではプロセッサは高度な情報処理が実行できない。
【0003】
このような問題に対し、プロセッサが実行する負荷が小さいときには電源電圧と周波数とを下げてその消費電力を低減し、負荷が大きいときには電源電圧と周波数とを上げてその性能向上を図る方式がすでに提案されている。
【0004】
このような方式の従来例としては2000アイイーイーイー、インターナショナル、ソリッド、ステート、サーキット、コンファランス、ダイジェスト、オブ、テクニカル、ペーパーズ(2000, IEEE International Solid-State Circuits, Digest of Technical Papers)292頁から293頁に示されている。この従来例では、プロセッサで実行するアプリケーションの要求する締め切りに合わせて周波数と電源電圧を制御する。必要な周波数を割り出すためにオペレーティングシステム(以後OSという)を用い、その必要な周波数を実行できる電源電圧を発生させるための回路と電源等からなるシステムを提案している。
【0005】
【発明が解決しようとする課題】
上記従来例では、最適な周波数を割り出すためにOSを用いているため、以下の問題が生じる。
(1)OSはこの制御を行うために最適な周波数を割り出すための計算が必要となる。OS自身はマイクロプロセッサが走らせるため、マイクロプロセッサに制御のためのオーバーヘッドが生じ、その消費電力が増大する。
(2)この制御方式では、マイクロプロセッサとOSの両方の協調動作が必要であるため、両者が同じ電源周波数制御システムに対応していないと動作できない。しかしながら、実際には世の中にはすでにさまざまなOSとさまざまなマイクロプロセッサが存在しており、実際にさまざまな機器に使用されている。現実にこれらのOSとマイクロプロセッサにこの制御方式を広く適用するには、規格化等の問題が生じることが予想される。
【0006】
そこで、本発明はOSに依存することなく、汎用性の高い周波数制御方式を実現し、マイクロプロセッサの低電力化と高性能化を両立させる。
【0007】
【課題を解決するための手段】
このため、本発明は、以下の手段を用いる。
【0008】
複数の命令が連続的に実行されるジョブを実行するプロセッサと、プロセッサの動作モードを制御する制御部とを有する半導体装置であって、プロセッサがジョブの実行を開始するにあたって、制御部はプロセッサの動作モードを第1モードに設定し、プロセッサがジョブの実行を開始した後、所定の時間経過後に、制御部は上記プロセッサの動作モードを第2モードに設定する。ここで、第2モードにおいてプロセッサは、第1モードにおいて可能な動作速度よりも高速動作可能とする。具体的には、第1モードよりも第2モードの動作周波数を高くする、第1モードよりも第2モードの動作周波数を高くするとともに電源電圧を高くする、第1モードよりも第2モードの動作周波数を高くするともに基板バイアスの絶対値を小さくする。
【0009】
また、制御部は、プロセッサのポインタのアドレスや、クロック供給回路に出力する制御信号の状態によりプロセッサの状態を検知して、プロセッサ上で動作するOSとは無関係に動作モードを制御可能にする。
【0010】
さらに、第1モードから第2モードに変更するべき所定の時間についての情報を外部のROMや内蔵の不揮発性メモリに格納し、電源投入時またはシステムリセット時に制御部のレジスタに転送することにより、上記所定の時間をプロセッサが処理すべきアプリケーションに適した時間に設定することができる。
【0011】
【発明の実施の形態】
以下、本発明を実施例に基づき説明する。
【0012】
図1は本発明の第1の実施例である電源電圧及び周波数の双方を制御する例を示す波形図である。この例では、プロセッサはジョブ1、ジョブ3、ジョブ3を実行する。ここでジョブとはプロセッサで実行される実質的に連続した命令列である。
【0013】
ジョブ1は時刻t0に実行を開始される。このとき、プロセッサは低い動作周波数fLと低い電源電圧VLで実行を開始する。その後、ある一定の時間taが経過した時刻t1でプロセッサは時間taの経過を検知して電源電圧と周波数を変化させる。時刻t1以降では、プロセッサは高い動作周波数fHと高い電源電圧VHでジョブ1を実行する。最後に時刻t2でジョブ1の実行が終了する。同様に、ジョブ2は時刻t3で周波数fLと電源電圧VLでスタートし、時間taが経過した時刻t4から、プロセッサは周波数fHと電源電圧VHでジョブ2を実行する。ジョブ2は時刻t5で終了する。次に、ジョブ3が時刻t6でスタートする。ジョブ3は周波数fLと電源電圧VLでスタートするが比較的短いジョブであり、時間taを経過しないで終了してしまう。すなわち、ジョブ3は周波数と電源電圧を周波数fHと電源電圧VHに変更する制御がなされることなく、時刻t6で終了する。
【0014】
本例における消費電力が図1に示されている。CMOS回路の電力をPとすると、その値は周波数と電圧の2乗の積に比例する、すなわちP∝f*Vで表されることがよく知られている。
【0015】
一例として、VH=2VL、fH=2fLなる関係が成り立つとする。
【0016】
この場合、動作周波数fL、電源電圧VLで動作する場合の消費電力P1は、P1∝fL*VLとなり、動作周波数fH、電源電圧VHで動作する場合の消費電力P2は、P2∝fH*VH=2fL*(2VL)=8P1となる。このように、P1はP2の1/8の電力である。電源電圧を下げずに単に周波数のみを下げる方式では電力は周波数に比例した分しか下がらない(この例では1/2)ので、電源と周波数を同時に制御する方式は効果的である。この電源電圧と周波数とを制御する制御方式は、消費電力P1の時間が長いほど平均的な消費電力を下げることができる。ここで、電力P1のモードを低電力モード、電力P2のモードを高速モードと定義する。
【0017】
本制御方式では、あらかじめ決められた時間taを設定して、低電力動作と高速動作とを切り分ける。ジョブを実行し始めたときには低電力モードになっている。比較的負荷の軽いジョブは低電力モード下で短時間に実行を完了してしまうので、小さい消費電力で実行が完了する。一方、負荷の重いジョブの場合は低電力モードの期間(時間ta)ではジョブが終了しない。ここで、一定の時間taに達すると自動的に高速モードに移行する。これにより、負荷が重い場合には高速の周波数で動作させることができるので、プロセッサの最高性能を利用することができる。また、ジョブを連続してとぎれなく実行させる場合も考えられるが、このような場合はそもそもプロセッサの能力を最大に使おうとする場合であって、高速モードが維持されたままでよい。
【0018】
時間taの情報は半導体集積回路内のレジスタ等に蓄えておけばよい。集積回路内のハードウエアは時間taの経過を監視して、低電力モードから高速モードに自動的に移行させることができる。したがって、簡便な方法により、マイクロプロセッサの低電力化と高性能化を両立させることができる。図2にかかるハードウエアの構成例を示す。
【0019】
半導体集積回路20は、ソフトウエアを実行するためのプロセッサ(CPU)25と、プロセッサの動作モードを制御するための制御部26、クロック供給回路(クロック供給回路をPLLで代表させ、以下、PLLと表記する)23、電源回路24を有している。さらに、制御部26は、時間taの情報を保持するtaレジスタ21と、PLL23及び電源回路24を制御する制御回路22とを有している。制御回路22はジョブの実行状態を監視し、ジョブが開始された場合にはPLL23と電源回路24を制御してプロセッサの動作周波数fをfL、電源電圧VddをVLにする。さらに、制御回路22は、taレジスタ21に保持された時間taとジョブの実行時間とを比較し、ジョブの実行時間がtaに達するとPLL23と電源回路24を制御して周波数と電源電圧をそれぞれfHとVHにする。また、ジョブが終了したら周波数と電源電圧をfLとVLにもどす。
【0020】
なお、電源回路24は必ずしも半導体集積回路内になくてもよく、出力電圧を制御できることの可能な電源素子を用いてもよい。図3にハードウエアの別の構成例を示す。この例では、システムのハードウエア構成をより詳細に示している。1は半導体集積回路装置、2は電源回路、3はブートROMである。
【0021】
システムの制御方式は図2に示した例と同様である。この例では、電源回路2が半導体集積回路装置1とは別の回路に存在することが特徴である。半導体集積回路装置1の制御回路4は電源回路2に制御信号を送り、電源回路2が発生する電源電圧Vddを制御する。また、この例では、ブートROM3と半導体集積回路装置1が接続されており、ブートROM3はシステムを立ち上げたときに必要な情報を半導体集積回路装置1に取り込む働きをしている。ブートROM3に時間taの情報を記憶しておき、システムの電源投入時またはシステムリセット時にレジスタ5に入力すればいい。なお、時間taの情報としては、時間情報でもよく、クロック数でもよい。前者の場合はタイマー6で計測し、後者の場合は図示しないカウンタで計測すればよい。このように構成することにより、その後OSを半導体集積回路装置1のメモリ等にインストールする場合でもOSに依存しないで、本発明の動作を実行することができる。
【0022】
ここで、ブートROMは一般的にはEEPROM等の不揮発メモリが使われる場合が多いが、不揮発な記憶媒体であればなんでもよく、フラッシュメモリ、電池バックアップのRAM、フロッピィディスク、ハードディスク等でも、システム立ち上げ時に自動的に内容が読み込まれるようになっていればよい。また、図3の例ではブートROMは半導体集積回路装置1の外部にあるが、半導体集積回路装置1上に形成されたフラッシュメモリのような不揮発メモリや電池でバックアップされたRAMに同じ機能をもたせてもよい。
【0023】
図4は本発明の別の動作波形を示した図である。
【0024】
本発明では、ジョブ単位で電源と周波数の制御を行っている。ここで、マイクロプロセッサがOSの実行も行う場合には、ジョブの内容には、アプリケーションを実行するタスクとその前後に実行されるOSの実行とが含まれる。すなわち、図4にジョブ1に関して図示するように、ジョブ1では、プロセッサはまずOSを実行し、次にOSの命令によりアプリケーションのタスクが実行される。アプリケーションのタスクが終了すると、制御がOSに戻されるので、OSが実行される。この後、実行すべきジョブがない場合にはOSの働きにより、プロセッサはアイドル状態になる。アイドル状態とはプロセッサのポインタが特定のメモリの番地をアクセスしつづけている状態である。ここから復帰するには割り込みが必要である。
【0025】
図5は、図4に示した動作波形をOSの働きなしに実現するシステムのハードウエア構成を示した図である。
【0026】
図5のハードウエア構成では、図3のハードウエア構成に加えて半導体集積回路装置の中にアイドルレジスタ9と比較器10が新たに挿入されている。
【0027】
本実施例の動作は以下のようである。システム立ち上げ時にブートROM3からアイドルレジスタ9とプロセッサ8とにアイドルアドレスが読み込まれる。また、taレジスタ5には時間taの値が読み込まれる。プロセッサ8は、時刻t0にまず、ジョブ1の実行を開始する。このとき、プロセッサ8は、低い動作周波数fLと低い電源電圧VLでジョブ1を実行する。ジョブ1にはOSの実行、タスク1の実行、さらにOSの実行が含まれる。ただし、ハードウエアはそれらを区別することはできない。ジョブ1の開始後、制御回路4はタイマー6によりジョブの経過時間を測定しはじめる。一定の時間taが経過した時刻t1で制御回路4は電源電圧Vddとクロック周波数fとを変化させ、プロセッサ8は高い動作周波数fHと高い電源電圧VHでジョブ1を実行する。最後に時刻t2でジョブ1の実行が終了すると、OSはアイドル状態を指定してアイドル状態に入る。このとき、OSはあらかじめブートROM3から入力されたアイドルアドレスにポインタをセットすることによって、アイドル状態になる。したがって、制御回路4はアイドルレジスタに格納されたアドレスとポインタが指定するアドレスとが一致したことを判定することにより、アイドル状態に入ったことを認識する。一致判定を受けて、制御回路4は周波数fと電源電圧Vddを周波数fLと電源電圧VLにそれぞれ落とし、半導体集積回路装置は電力削減モードに入る。次のジョブ(ジョブ2)が開始されるときには、ポインタがアイドル状態とは異なるアドレスを指すのでこれを比較回路10で検知し、制御回路4はジョブの実行時間を測定し始める。ジョブ2終了、ジョブ3の開始と終了も同様な方法で判定することが可能である。
【0028】
このように構成することで、OSに依存せずにアイドル状態を認識して、本発明の低電力動作を実行することが可能になる。
【0029】
図6は本発明のさらに別の動作波形を示した図である。この例はジョブが終了した後にスリープ状態に入る場合を示したものである。スリープ状態はプロセッサ8がPLLを停止して割り込み待ち状態に入ることである。スリープ状態はクロックが止まっているのでその間に消費電力を消費せず、図の電力のグラフで示すように、アイドル状態を利用するよりも全体の電力を低減することが可能になる。
【0030】
図7は、図6に示した動作波形をOSの働きなしに実現するシステムのハードウエア構成を示した図である。
【0031】
図7のハードウエア構成は、図5のハードウエア構成とほぼ同様であるが、プロセッサ8が発生するPLL7のon/off信号を制御回路にも入力される。この信号により、スリープ状態であるかどうかを認識することが可能である。したがって、制御回路4はPLL7がオンになったときにジョブが開始されたと認識し、一定の時間taが経過した時点で、電源電圧と周波数を増加させるように電源回路2とPLL7を制御することができる。なお、スリープ状態において、低消費電力化の効果は少なくなるが通常状態への復帰を速くできるように、PLL7を停止させることなく待機時にクロックの供給のみを止めるようにしてもよい。その制御信号を用いて同様の構成とすることが可能であり、これは以下に示す例でも同様である。
【0032】
図8は、半導体集積回路装置の各回路の動作の性質を鑑みて、本発明の波形をより詳細に示した図である。図8に示すように、1つのジョブはPLLのセットリング時間、OSの実行、低周波数fLでのタスクの実行、低周波数fLでのタスク実行中の電源電圧の変更、高周波数fHでのタスクの実行、OSの実行からなっている。
【0033】
プロセッサがスリープの時には電源電圧はVLでかつPLLは停止している。割り込みにより、この状態から抜け出そうとするときには、まずPLLを動作させようとする。図7のハードウエアではPLLの制御信号を制御回路が受け取るので、割り込みが発生した時からカウンタによりジョブの実行時間を測定し始める。しかしPLLは通常いきなり動作が安定するわけではなく、通常数10マイクロセカンドほどのセットリング時間を必要とする。セットリング時間の間に周波数はfLにセットされる。セットリング時間経過後、まずOSがfLで実行される。その後、OSによって発行されたタスクが実行される。当初タスクは周波数fLで実行されるが、一定の時間taが経過してもジョブが続いている場合には、制御回路4からの信号により、まず電源電圧をVLからVHに移行させる。電源電圧がVHに移行して安定したら次に動作周波数をfLからfHに移行させる。このようにすれば、プロセッサが、低い電源電圧VLを供給される一方で高い周波数fHで駆動されることによって生じる誤動作を防止することが可能になる。タスクが終了すると、OSが周波数fHのまま動作し、OSの指令によりスリープ状態に移行する。
【0034】
このように電源電圧と周波数とを制御することにより、半導体集積回路装置内の各回路の特性に応じて、本発明を誤動作なしに実行することが可能になる。
【0035】
図9は本発明のさらに別の動作波形を示した図である。周波数がfL,fM,fHの3種類、電源電圧がそれぞれの周波数に対応してVL,VM,VHの3種類になったときの波形図である。このように、本発明の方式は、電源と周波数がそれぞれ2種類には限定されない。この場合、あらかじめ周波数fL、電源電圧VLで動作する期間であるtaと、周波数fL及びfM、電源電圧VL及びVMで動作する期間であるtbの2種類の時間を設定しておく。本波形図に示すように、ジョブ1は時間t0において周波数fLと電源電圧VLで開始される。その後時間taを経過してもジョブ1が終了しないので、周波数fMと電源電圧VMに変えて動作を続け、その周波数と電源電圧で動作を終了する。次のジョブ2は時間t3において、ジョブ1と同様、周波数fLと電源電圧VLで開始する。その後時間taを経過してもジョブが終了しないので、周波数fMと電源電圧VMに変えて動作を続ける。あらかじめ決めておいた時間tbを経過しても終了しないので、周波数fHと電源電圧VHで実行を続け、ジョブ2を終了する。このように、電源電圧と周波数の種類を増やし、きめ細かな制御が可能である。また、電源電圧を2種類、周波数を3種類、というように電源電圧と周波数が1対1に対応している必要もない。ただし、図8に関連して述べたように、供給されている電源電圧で可能な動作速度以上に高速な周波数を供給することのないようにモード(電源電圧と周波数との組み合わせ)を設定する必要はある。
【0036】
図10は本発明を特定のアプリケーションの実行に用いた場合の動作波形を示した図であり、本発明の効果を具体的に説明するための実施例である。
【0037】
近年、携帯電話等の携帯機器においては、動画像のデコード、エンコードが行われるようになってきた。動画像のデコード、エンコードをマイクロプロセッサで行う場合の特徴としては、そのジョブが周期的に行われることと、ほとんどのジョブは軽いジョブなのに対し、たまに非常に大きな計算量を必要とするジョブが存在することである。
【0038】
たとえば、30フレーム/秒のMPEGデータのデコードの場合、そのジョブの実行の周期は33msになる。MPEGのデータ圧縮方式において、第一フレームは画面全体が圧縮された情報になっているのでこれをデコードするにはかなりの計算量を要する。一方、第二フレーム以降、しばらくの間はフレーム画像間に連続性が存在し、前のフレームとの差分だけを計算すればいいので、計算量は比較的少ない。本実施例ではこの様子を図示している。
【0039】
第一フレームをジョブ1で処理する。最初、周波数fL、電源電圧VLで処理が開始されるが、ジョブ1は計算量が大きいので、時間taが経過すると周波数fH、電源電圧VHに変更して処理を継続し、処理を終了する。ここで、周波数fLは周波数fHの1/2とし、時間taを周期T(33ms)の1/2である17.5msとする。時間taまでの周波数はfH/2、時間ta〜時間Tの周波数はfHとなるので、周期Tでの平均の周波数は3fH/4となる。したがって、本方式によれば、周波数fHがマイクロプロセッサの達成しうる最大の周波数と仮定すると、平均してその75%の周波数で動作したのと同じになる。
【0040】
一方、第二フレーム、第三フレーム、第四フレームの計算をそれぞれジョブ2、ジョブ3、ジョブ4とすると、それぞれの計算量は少ないので、それぞれ時間ta以内に計算を終えることができる。したがって、第二フレーム以降の計算は周波数fLと電源電圧VLを維持できる。この間の電力は最大電力の1/8(12.5%)に押さえることができる。このように、本発明によれば低電力モード時の電力は、最大時の12.5%に押さえながら、マイクロプロセッサが最大に発揮しうる性能の75%を達成することが可能である。
【0041】
図11はマルチタスクOSを使って複数のアプリケーションが同時にCPU上を走る場合の動作波形を示したものである。
【0042】
マルチタスクOSの場合は、アプリケーションはそれぞれジョブに分割されて、プロセッサにより実行される。各ジョブの計算量はアプリケーションの性質によるところが大きい。たとえば、アプリケーションがそれぞれ圧縮された動画像のデコード、圧縮された音声のデコードであった場合、動画像のデコードの方がより大きな計算量を必要とするので分解されたジョブの長さが長くなることが予想される。一方で、動画像のデコードはジョブ毎のばらつきの幅が大きい。このような場合、動画像のアプリケーションには周波数と電源電圧を変えるまでの設定時間を比較的長くしておけば、設定時間に達する前にたいていのジョブは終了して低電力化に貢献できる。
【0043】
図11の例では、ジョブ1とジョブ3はアプリケーションAに対するジョブであり、ジョブ2とジョブ4はアプリケーションBに対するジョブである。この時、アプリケーションAのジョブ1に対してはより短い設定時間tAを適用し、アプリケーションBのジョブに対しては、より長い設定時間tBを適用する。このように、マルチタスクの場合にはアプリケーションの性質に応じた設計時間を設定することにより、効果的に低消費電力化することができる。この場合には、taレジスタ(図2、図3、図5、図7)には設定時間tAの情報と設定時間tBの情報がそれぞれ必要になる。
【0044】
図12は本発明の第2の実施例として電源電圧を一定として、周波数と同時に基板バイアスを制御した場合の波形図である。
【0045】
図12に示す例では、ジョブの開始時にはプロセッサに対して低い周波数fLと深い基板バイアスを供給する。その後、時間taが経過した後は、高い周波数fHと浅い基板バイアスを供給する。深い基板バイアスとしては、プロセッサを構成するNMOSトランジスタの基板またはウェルにVbbNV、PMOSトランジスタの基板またはウェルにVbbPVを印加する。浅い基板バイアスとしては、深い基板バイアスとして印加した基板電位の絶対値よりも小さい絶対値の基板電位を印加する。例えば、NMOSトランジスタの基板またはウェルには0V、PMOSトランジスタの基板またはウェルに電源電位(Vdd)を印加する。
【0046】
深い基板バイアスを印加した場合には、しきい値電圧が上昇して動作周波数が下がるがリーク電流が減るので電力が低減される。一方、浅い基板バイアスを印加した場合はしきい値電圧が下がって動作周波数が上昇するがリーク電流が増えて電力が増加する。この動作速度と消費電力との関係は周波数と電源電圧のとを制御した場合と同様である。したがって、図12の制御例によってもOSに依存せずに汎用性の高い周波数制御方式を実現し、マイクロプロセッサの低電力化と高性能化を両立させることが可能になる。
【0047】
なお、この第2の実施例についても図2、図3、図5、図7に示したようなハードウェア構成により実現可能である。すなわち、電源回路に代えて基板バイアス発生回路を設け、図12に示すような基板バイアスを発生させるようにすればよい。
【0048】
さらに、第1の実施例として電源電圧と周波数を制御する例を示したが、周波数のみの制御も可能である。低消費電力の効果は第1の実施例に比べて小さくなるが、簡易に構成ができる。この場合には、図2、図3、図5、図7に示したようなハードウェア構成から電源回路への制御を除いた形で実現することができる。
【0049】
【発明の効果】
本発明によれば、OSに依存せずに汎用性の高い周波数制御方式を実現し、マイクロプロセッサの低電力化と高性能化を両立させることが可能になる。
【図面の簡単な説明】
【図1】本発明の第1の実施例である電源−周波数制御の例を示す波形図である。
【図2】本発明を実施するためのハードウエアの構成例を示す図である。
【図3】本発明を実施するためのハードウエアの別の構成例を示す図である。
【図4】本発明の第1の実施例である電源−周波数制御の別の例を示す波形図である。
【図5】本発明を実施するためのハードウエアの別の構成例を示す図である。
【図6】本発明の第1の実施例である電源−周波数制御の別の例を示す波形図である。
【図7】本発明を実施するためのハードウエアの別の構成例を示す図である。
【図8】本発明の第1の実施例である電源−周波数制御の波形図を詳細に示した図である。
【図9】本発明の第1の実施例である電源−周波数制御の別の例を示す波形図である。
【図10】本発明を特定のアプリケーションの実行に用いた場合の波形図である。
【図11】マルチタスクOSにより複数のアプリケーションが同時にCPU上を走る場合の波形図である。
【図12】本発明の第2の実施例である基板バイアス−周波数制御の例を示す波形図である。
【符号の説明】
1:半導体集積回路装置、2:電源回路、3:ブートROM、4:制御回路、5:レジスタ、6:タイマー、7:クロック供給回路、8:プロセッサ、9:アイドルレジスタ、10:比較器、11:制御部。

Claims (6)

  1. 複数の命令が連続的に実行されるジョブを実行するプロセッサと、
    上記プロセッサの動作モードを制御する制御部とを有し、
    上記プロセッサが上記ジョブの実行を開始するにあたって、上記制御部は上記プロセッサの動作モードを第1モードに設定し、
    上記プロセッサが上記ジョブの実行を開始した後、所定の時間経過後に、上記制御部は上記プロセッサの動作モードを第2モードに設定し、
    上記第2モードにおいて上記プロセッサは、上記第1モードにおいて可能な動作速度よりも高速動作可能であり
    上記制御部は、上記プロセッサの動作モードを制御する制御回路と、上記所定の時間についての情報を記憶する第1のレジスタとを備え、
    電源投入時またはシステムリセット時に、上記所定の時間についての情報が外部の記憶装置から上記第1のレジスタに転送される半導体装置。
  2. 請求項1において、
    上記プロセッサは、ポインタがアイドルアドレスを指すことによって上記ジョブの実行を終了し、
    上記制御部は上記アイドルアドレスを記憶する第2のレジスタと、上記第2のレジスタに記憶されたアイドルアドレスと上記ポインタとを比較する比較器とを有し、
    電源投入時またはシステムリセット時に、上記アイドルアドレスが外部の記憶装置から上記第2のレジスタに転送され、
    上記制御回路は、上記比較器が上記第2のレジスタに記憶されたアイドルアドレスと上記ポインタとが不一致であることを示す出力を受けて、上記プロセッサが上記ジョブの実行を開始したことを判定する半導体装置。
  3. 請求項において、
    上記プロセッサにクロック信号を供給するクロック信号供給回路を備え、
    上記プロセッサは上記プロセッサへの上記クロック信号の供給を制御する制御信号を出力し、
    上記制御回路は、上記プロセッサが上記プロセッサへの上記クロック信号の供給を開始させる制御信号を出力したのに応じて、上記プロセッサが上記ジョブの実行を開始したことを判定する半導体装置。
  4. 複数の命令が連続的に実行されるジョブを実行するプロセッサを含む半導体装置の動作モード制御方法であって、
    電源投入もしくはシステムリセット時に上記半導体装置のレジスタに時間情報を格納し、
    第1の動作モードで上記ジョブの実行を開始し、
    上記ジョブの実行の開始後、上記時間情報により指示された時間経過後に上記第1の動作モードから上記第2のモードに変更する半導体装置の動作モード制御方法。
  5. 請求項において、
    上記時間情報は、外部の不揮発メモリまたは上記半導体装置の内蔵する不揮発メモリから上記半導体装置に転送される半導体装置の動作モード制御方法。
  6. 請求項において、
    上記プロセッサは第1のアプリケーションの処理に対応する第1のジョブと、第2のアプリケーションの処理に対応する第2のジョブとを実行し、
    上記電源投入もしくは上記システムリセット時に上記半導体装置のレジスタに上記第1のジョブについての第1の時間情報を格納し、
    上記電源投入もしくは上記システムリセット時に上記半導体装置のレジスタに上記第2のジョブについての第1の時間情報を格納し、
    上記プロセッサが上記第1のジョブを実行時には、上記第1のジョブの実行の開始後、上記第1の時間情報により指示された時間経過後に上記第1の動作モードから上記第2の動作モードに変更し、
    上記プロセッサが上記第2のジョブを実行時には、上記第2のジョブの実行の開始後、上記第2の時間情報により指示された時間経過後に上記第1の動作モードから上記第2の動作モードに変更する半導体装置の動作モード制御方法。
JP2001184224A 2001-06-19 2001-06-19 半導体装置および半導体装置の動作モード制御方法 Expired - Fee Related JP4139579B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001184224A JP4139579B2 (ja) 2001-06-19 2001-06-19 半導体装置および半導体装置の動作モード制御方法
US10/163,314 US7149910B2 (en) 2001-06-19 2002-06-07 Apparatus for processing a set of instructions initially at a low speed for a predetermined time then processing the set of instructions at a higher speed until completion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001184224A JP4139579B2 (ja) 2001-06-19 2001-06-19 半導体装置および半導体装置の動作モード制御方法

Publications (2)

Publication Number Publication Date
JP2003006179A JP2003006179A (ja) 2003-01-10
JP4139579B2 true JP4139579B2 (ja) 2008-08-27

Family

ID=19024019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001184224A Expired - Fee Related JP4139579B2 (ja) 2001-06-19 2001-06-19 半導体装置および半導体装置の動作モード制御方法

Country Status (2)

Country Link
US (1) US7149910B2 (ja)
JP (1) JP4139579B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003280982A (ja) 2002-03-20 2003-10-03 Seiko Epson Corp 多次元メモリのデータ転送装置及び多次元メモリのデータ転送プログラム、並びに多次元メモリのデータ転送方法
US7346791B2 (en) * 2003-03-26 2008-03-18 Matsushita Electric Industrial Co., Ltd. Method for controlling a clock frequency of an information processor in accordance with the detection of a start and a end of a specific processing section
JP3851289B2 (ja) 2003-04-22 2006-11-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、プログラム、記録媒体、及び制御方法
JP4433782B2 (ja) 2003-12-17 2010-03-17 株式会社日立製作所 情報処理装置及びオペレーティングシステム
KR101136036B1 (ko) * 2003-12-24 2012-04-18 삼성전자주식회사 유휴 모드에서의 전력 소모가 감소된 프로세서 시스템 및그 방법
US7295949B2 (en) * 2004-06-28 2007-11-13 Broadcom Corporation Energy efficient achievement of integrated circuit performance goals
JP2006059068A (ja) * 2004-08-19 2006-03-02 Matsushita Electric Ind Co Ltd プロセッサ装置
US7434073B2 (en) 2004-11-29 2008-10-07 Intel Corporation Frequency and voltage scaling architecture
JP2007034839A (ja) * 2005-07-28 2007-02-08 Matsushita Electric Ind Co Ltd 集積回路の動作周波数制御方法
WO2008056293A2 (en) * 2006-11-08 2008-05-15 Nxp B.V. Fast adaptive voltage scaling
DE102007026982B4 (de) * 2007-06-07 2009-04-02 Fachhochschule Nordhausen Prozessor, programmgesteuerte Einheit und Verfahren zur Regelung eines Prozessortaktes
JP5276804B2 (ja) * 2007-06-20 2013-08-28 横河電機株式会社 積算データバックアップ装置と積算データバックアップ方法
FR2928496B1 (fr) 2008-03-06 2015-09-25 Commissariat Energie Atomique Dispositif d'alimentation d'un circuit electrique, en particulier d'un circuit numerique
JPWO2012067211A1 (ja) * 2010-11-16 2014-05-19 日本電気株式会社 情報処理装置、電子機器、コンピュータプログラム、および、性能と電力の制御方法
FR2989797B1 (fr) * 2012-04-24 2014-12-26 Kalray Reduction de la consommation electrique d'une matrice de processeurs
US9766932B2 (en) * 2013-06-21 2017-09-19 Microsoft Technology Licensing, Llc Energy efficient job scheduling
US10162405B2 (en) * 2015-06-04 2018-12-25 Intel Corporation Graphics processor power management contexts and sequential control loops
US10146287B2 (en) * 2016-04-01 2018-12-04 Intel Corporation Processor power monitoring and control with dynamic load balancing

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5021679A (en) * 1989-06-30 1991-06-04 Poqet Computer Corporation Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency
JPH0997128A (ja) * 1995-09-26 1997-04-08 Internatl Business Mach Corp <Ibm> 情報処理システム
JP2974950B2 (ja) * 1995-10-26 1999-11-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 情報処理システム
JP2886491B2 (ja) * 1995-10-26 1999-04-26 インターナショナル・ビジネス・マシーンズ・コーポレイション 情報処理システム
US5630110A (en) * 1996-03-01 1997-05-13 Samsung Electronics Co., Ltd. Method and apparatus for enhancing performance of a processor
JP2001051292A (ja) * 1998-06-12 2001-02-23 Semiconductor Energy Lab Co Ltd 半導体装置および半導体表示装置
US6298448B1 (en) * 1998-12-21 2001-10-02 Siemens Information And Communication Networks, Inc. Apparatus and method for automatic CPU speed control based on application-specific criteria
US6425086B1 (en) * 1999-04-30 2002-07-23 Intel Corporation Method and apparatus for dynamic power control of a low power processor
US6535986B1 (en) * 2000-03-14 2003-03-18 International Business Machines Corporation Optimizing performance of a clocked system by adjusting clock control settings and clock frequency
US6785829B1 (en) * 2000-06-30 2004-08-31 Intel Corporation Multiple operating frequencies in a processor
GB2370667B (en) * 2000-09-05 2003-02-12 Samsung Electronics Co Ltd Semiconductor memory device having altered clock frequency for address and/or command signals, and memory module and system having the same

Also Published As

Publication number Publication date
US20020194513A1 (en) 2002-12-19
JP2003006179A (ja) 2003-01-10
US7149910B2 (en) 2006-12-12

Similar Documents

Publication Publication Date Title
JP4139579B2 (ja) 半導体装置および半導体装置の動作モード制御方法
JP4515093B2 (ja) Cpuのパワーダウン方法及びそのための装置
US7500124B2 (en) Electronic devices and operational methods that change clock frequencies that are applied to a central processing unit and a main system bus
US6829713B2 (en) CPU power management based on utilization with lowest performance mode at the mid-utilization range
US8839012B2 (en) Power management in multi-GPU systems
US8433940B2 (en) Conserving power by reducing voltage supplied to an instruction-processing portion of a processor
US7596709B2 (en) CPU power management based on utilization with lowest performance mode at the mid-utilization range
JP5235870B2 (ja) マルチプロセッサ制御装置、その制御方法および集積回路
EP2446338B1 (en) Quiescent state retention mode for processor
US8898495B2 (en) Method and apparatus for switching an operating system by determining whether a boot-up mode is a general mode or a switch mode
US5964881A (en) System and method to control microprocessor startup to reduce power supply bulk capacitance needs
US5461649A (en) Method and apparatus for maintaining a state of a state machine during unstable clock conditions without clock delay
CN108885486B (zh) 增强型动态时钟和电压缩放(dcvs)方案
US20030070065A1 (en) Suspending to nonvolatile storage
US6694442B2 (en) Method for saving power in a computer by idling system controller and reducing frequency of host clock signal used by system controller
US8423802B2 (en) Power scaling module and power scaling unit of an electronic system having a function unit in a standby state which is insensitive to change in frequency or voltage during synchronization
US9348403B2 (en) Semiconductor device and automobile control system
US10496298B2 (en) Configurable flush of data from volatile memory to non-volatile memory
CN112235850B (zh) 一种物联网芯片的低功耗系统及方法
TW541453B (en) Power saving device for computer and method thereof
JP3860467B2 (ja) コンピュータ用の電力節約方法およびシステム
JP2007018288A (ja) 演算処理装置及びその省電力モード切り換え方法
JPH03242717A (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040326

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040329

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071102

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080513

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080609

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140613

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees