JP3864859B2 - 半導体装置または上記半導体装置の消費電力を削減するプログラム - Google Patents
半導体装置または上記半導体装置の消費電力を削減するプログラム Download PDFInfo
- Publication number
- JP3864859B2 JP3864859B2 JP2002182309A JP2002182309A JP3864859B2 JP 3864859 B2 JP3864859 B2 JP 3864859B2 JP 2002182309 A JP2002182309 A JP 2002182309A JP 2002182309 A JP2002182309 A JP 2002182309A JP 3864859 B2 JP3864859 B2 JP 3864859B2
- Authority
- JP
- Japan
- Prior art keywords
- clock frequency
- frequency
- processor
- operation clock
- program
- 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
Links
Images
Landscapes
- Power Sources (AREA)
Description
【発明の属する技術分野】
本発明は、その稼働中に電力を動的に管理することにより消費電力を削減可能な集積回路またはそのプログラムに関する。
【0002】
【従来の技術】
集積回路の稼働中の平均消費電力を抑制するため、集積回路への供給電力を抑制する方法が提案されている。具体的には、当該集積回路を動作させる電源電圧及びクロック周波数を動作中に低下させる。
【0003】
現在、低消費電力動作を要求される集積回路は通常、CMOS(相補性MOS)回路で構成されている。CMOS回路の消費電力はクロック周波数の低下に比例して低下する。さらに、クロック周波数を低下させると動作に必要な電源電圧も低下するため、相乗的に消費電力を削減できる。以上の理由から、P=f×V2(P:消費電力、f:クロック周波数、V:電源電圧)と定式化される。このため、クロック周波数は、当該集積回路が所定のデータ処理作業を完了する為に必要な最低周波数とし、電源電圧は、当該最低周波数のクロック周波数に対応する最低値に設定することが、消費電力削減のためには理想的である。
【0004】
この方法を実用化するには、集積回路に与えられた処理の負荷量、すなわち所定の時間内にどれだけのデータ処理を行なう必要があるか、を予め知っておかねばならない。負荷量が未知であれば、集積回路はその可能な最大のデータ処理作業を完了するよう最高速度で動作せねばならないからである。このため、負荷量を推定してマイクロプロセッサの消費電力を制御する方法が開示されている。その代表例として信学技報ICD2001-32 pp59-66 (2001-05)、川口他「低電力実時間組込システムのためのOS,アプリケーション,ハードウェア協調によるCVS(Cooperative Voltage Scaling)と電圧ホッピング」を挙げる。同様の内容がProceedings of Asia and South Pacific Design Automation Conferences 2000, pp.381-386, S.Lee and T.Sakurai, ”Run-time power control scheme using software feedback loop for low-power real-time applications” に開示されている。
【0005】
上記文献記載の技術は以下の通りである。実行すべき処理を何時までに完了すべきか(デッドライン時刻)、処理を完了するために実行すべきプログラムとその順序、実行される各プログラムの最長実行時間が、予めわかっているものとする。第1のステップでは、プログラムを完了させるために与えられた残り時間である、デッドライン時刻と現在時刻の差を求める。第2のステップでは、上記の残り時間と実行されるべきプログラムの最長実行時間に基づき、次に実行するプログラムで許容される処理時間を算出する。第3のステップでは、許容される処理時間と次に実行するプログラムの最長実行時間とを比較する。ここで前者が後者に対して2倍以上の長さであれば、当該プロセッサの処理速度を1/2に落しても最終的なデッドライン時刻は守られる。従って、クロック周波数を1/2に落し、電源電圧も対応する値に低下させて、当該プロセッサを動作させる。
【0006】
【発明が解決しようとする課題】
しかしながら従来の方法は、クロック周波数および電源電圧が周期的に決定されるため、両者が頻繁に変更される事態が生じ得る。本発明者らは、プロセッサへの負荷が最高性能の2/3(67%)前後となった場合、従来のクロック周波数および電源電圧を制御する方法(以下、FV制御方法という)においてはクロック周波数が頻繁に変更されるという問題を見いだした。すなわち、まず高速クロック周波数FHで実行を開始し、多少処理が進んだ段階で時間余裕が生じ、あるタイムスロットで低いクロック周波数FLに低下するよう制御される。この結果、時間余裕が消費されて次のタイムスロットではクロック周波数を再びFHに上げるよう制御される。
【0007】
クロック周波数および電源電圧を制御する場合にはプロセッサの動作が過渡的に不安定になるため、制御中はデータ処理を休止する必要がある。このために必要な時間は、プロセッサによっても異なるが、約0.1ミリ秒要し、これは20,000命令を実行可能な時間に相当する。この様に大きな時間が空費されるのに応じて高速クロック周波数FHで動作する時間が長くなり、消費電力の十分な低減効果が得られなくなるおそれがある。例えば、MPEG4規格による映像符号/復号処理を行う場合、プロセッサは1秒間に20フレームの画像を処理する必要があるため、1フレームの画像を50ミリ秒(1/20秒)以下の時間で処理しなければならない。前記参考文献では、FV制御のためのチェックをマクロブロックの処理毎に行うとしている。マクロブロックは1フレームにつき約100存在するため、最悪の場合、FV切り換えが1フレームの処理中約100回生じ、50ミリ秒中の10ミリ秒がFV切り換えのためだけに空費され、プロセッサ本来の性能を大きく損なう結果となる。
【0008】
このように、クロック周波数および電源電圧を変更するタイミングが稠密に与えられていると、頻繁な変更が生じた場合に十分な消費電力低減効果を得ることができない。一方、変更するタイミングを過少に設定すると、負荷が軽い場合にも最高クロック周波数で動作する時間が長くなり、この場合も十分な消費電力削減効果を得ることができない。
【0009】
【課題を解決するための手段】
上記課題を解決するために、本発明ではFV制御のチェック回数を常に適正な頻度に保つためにチェック間隔を動的に制御する。
【0010】
具体的には、アプリケーションプログラムを実行するプロセッサと、プロセッサの動作クロック周波数を制御するクロック周波数制御回路と、プロセッサの電源電圧を制御する電源電圧制御回路とを有し、アプリケーションプログラムは、プロセッサの動作クロック周波数及び電源電圧を切り換えるか否かの判断を行う所定ポイントが設定されており、プロセッサは、アプリケーションプログラムを実行に伴って現れる所定ポイントのうち、判断を行う頻度を制御する半導体装置を提供する。
【0011】
または、アプリケーションプログラムを実行するプロセッサの動作クロック周波数及び電源電圧を制御することにより消費電力を制御するプログラムであって、消費電力を制御する頻度を決定する第1ステップと、第1ステップで定められた頻度にしたがって、アプリケーションプログラムの実行中に現れる所定ポイントにおいて消費電力を制御するか否かの判断を行う第2ステップと、プロセッサの動作クロック周波数及び電源電圧を決定する第3ステップとをプロセッサにより実行可能なプログラム、またはかかるプログラムを格納したコンピュータ読みとり可能な記録媒体を提供する。
【0012】
【発明の実施の形態】
本発明の集積回路のハードウェア構成を図2を用いて説明する。集積回路の例としてマイクロプロセッサを挙げて説明する。マイクロプロセッサMPは、中央処理装置CPU、読出しメモリROM、主メモリRAM、入出力回路I/O、タイマTMが備えられている。これらは内部バスBUSにより接続され、相互にデータを授受できる。なお、これらの回路ブロックは単一のチップに実装されていても、また複数のチップに分かれていてもよい。
【0013】
マイクロプロセッサMPには、電源調整回路PCCから電源PSが供給される。またタイマTM以外の回路ブロックには、クロック調整回路FCCからクロック信号CKが供給される。中央処理装置CPUはプログラムカウンタPCを備え、中央処理装置CPU上で動作するプログラムの実行番地を指定する。
【0014】
読出しメモリROMには、中央処理装置CPUで実行される少なくとも2種類のプログラムが格納されている。第1種類のプログラムが電力管理プログラムPMPであり、第2種類のプログラムがアプリケーションプログラムAPである。電力管理プログラムPMPは、本発明による方法によりマイクロプロセッサMPの消費電力を低下させる機能を有する。電力管理プログラムPMPは、電力制御プログラムPCPと初期設定サブプログラムINTからなる。これらの詳細は後述する。アプリケーションプログラムAPは、マイクロプロセッサMPを用いてユーザに様々なサービスを提供するプログラムであり、たとえばMPEG映像復号プログラムなどが相当する。
【0015】
主メモリRAMは、中央処理装置CPUが動作する際の作業記憶領域として使用される。主メモリRAMには、アプリケーションプログラムAPが生成するデータ(たとえば映像データ)を格納する出力バッファ領域BUFと、データを書き込む出力バッファ領域BUFのアドレスを示すポインタ変数PTとが設けられているものとする。
【0016】
入出力回路I/Oは、マイクロプロセッサMPと外部の何等かの電子装置(図示せず)との間のデータ授受を行なう。また、入出力回路I/Oから電圧制御信号PCS及び周波数制御信号FCSが出力され、電源調整回路PCC及びクロック調整回路FCCに与えられる。
【0017】
タイマTMには現在時刻レジスタTRが設けられ、内部バスBUSを経由して中央処理装置CPU等に時刻情報を供給する。また、タイマTMから中央処理装置CPUへは割込信号線ITRが接続されており、現在時刻レジスタTRが特定の時刻になった時に内部バスBUSを介さずに中央処理装置CPUへ割込信号を送ることができる。割込を発生するタイミングは、割込間隔レジスタIRにより制御され、割込間隔レジスタIRに設定された等時間間隔で割込を発生する。
【0018】
なお、図2の構成例では電源調整回路PCC及びクロック調整回路FCCはマイクロプロセッサMPの外部に設けられるものとしたが、同じチップ上に設けても良い。
【0019】
図1を用いて電力管理プログラムPMPを説明する。電力管理プログラムPMPは電力制御プログラムPCPと初期設定プログラムINTとから構成されており、それぞれ、図1(a)及び図1(b)に示している。本発明では、最初に初期設定プログラムINTを実行したのち、アプリケーションプログラムAPを実行し、アプリケーションプログラムAP実行中に電力制御プログラムPCSを所定のタイミングで起動することにより消費電力を低減する。また、アプリケーションプログラムAPはリアルタイム処理が要求されるプログラムである。
【0020】
図1(a)は電力制御プログラムPCPの処理の概要を示す流れ図である。まず制御頻度を決定する(ステップ101)。FV制御を実行する場合(ステップ102でyesの場合)は、タイマTMにより現在の時刻情報を得る(ステップ103)。次にアプリケーションプログラムAPの処理の進捗状況を把握する(ステップ104)。ステップ103とステップ104の結果を元に、動作クロック周波数を決定し(ステップ105)、更に電源電圧を決定する(ステップ106)。最後に、決定されたクロック周波数及び電源電圧を設定して(ステップ107)、プログラムを終了する(ステップ108)。
【0021】
図1(b)は、電力制御プログラムPCPに先だって実行される初期設定プログラムINTの処理の概要を示す流れ図である。まずアプリケーションプログラムAPの処理の進捗状況をチェックするタイミングを設定する(ステップ121)。次に、電力制御プログラムPCPのステップ106においてクロック周波数を決定する為に必要な諸パラメータを設定する(ステップ122)。次に、電力制御プログラムPCPのステップ101において制御頻度を決定する為に必要な諸パラメータを設定して(ステップ123)、プログラムを終了する(ステップ124)。
【0022】
本発明の特に顕著な構成は、電力制御プログラムPCPの制御頻度を決定するステップ101である。そこでまず、電力制御プログラムPCPのステップ103〜107および初期設定プログラムINTのステップ121〜123の構成例を簡単に説明する。なお以下の説明においては、マイクロプロセッサMPは2種類のクロック周波数FH(高速動作)及び1/2Fmax(低速動作)で動作し、電源電圧も対応する2種類の値を供給されるものとする。例えば、クロック周波数FHはマイクロプロセッサの最高周波数Fmaxとし、クロック周波数FLを1/2Fmaxとする。もちろん、クロック周波数又は電源電圧を3種類以上設定しても良い。
【0023】
電力制御プログラムPCPのステップ105には2通りの決定方法がある。第1の方法は、アプリケーションプログラムAPの処理が一定量だけ進んだ時点での時刻情報を基準とするものである。第2の方法は、一定の時間が経過した時点でのアプリケーションプログラムAPの処理の進捗状況を基準とするものである。以下では、アプリケーションプログラムAPとしてMPEG映像復号プログラムを例にとって説明する。MPEG映像復号プログラムの流れ図を図3に示す。まず復号映像を初期化(ステップ401)した後、映像(フレーム)を構成する小区画であるマクロブロック(MB)を単位として映像データの復号を行ない(ステップ402)、これをフレーム完了まで繰返す(ステップ403)。1フレームの映像は99個のMBで構成されている(QCIFサイズの場合)ので、この繰返しは99回実行される。以上が完了すると、復号されたフレームを出力して(ステップ404)当該フレームの復号を終了する(ステップ405)。
【0024】
最初に、第1の方法における初期設定プログラムINTの動作を説明する。
【0025】
第1の方法においては、アプリケーションプログラムAPの規定個所に割込命令450を挿入することにより、チェックタイミングを設定する(ステップ121)。例えば、図4の例では割込命令450を図示の2箇所に挿入する。中央処理装置CPUは、割込命令450を受けて電力制御プログラムPCPを起動する。
【0026】
時間余裕評価用パラメータは以下のように設定する(ステップ122)。第1の方法では処理が一定量だけ進んだ時点での時刻を評価することにより、進捗の良否を判断する。このため、割込がどのような時間間隔で生じるべきかを算出する。アプリケーションプログラムAPの映像初期化(ステップ401)の最長実行時間WCET1(Worst Case Execution Time : 以下WCETという)と、MB復号(ステップ402)の最長実行時間WCET2とを取得する(ステップ502)。なお、最長実行時間WCETとは、マイクロプロセッサMPが当該処理をその最高能力で実行した場合に最も時間を要した場合の時間をいう。言い換えれば、マイクロプロセッサMPは、当該処理を最長実行時間WCET以内に必ず処理できることになる。図4の例においては、アプリケーションAP処理全体のWCET0は、ステップ450が99回繰り返されることから、全体WCET(WCET0)=WCET1+99×WCET2として算出できる。したがって、マイクロプロセッサMPが処理を完了すべき時刻であるデッドライン時刻DLTは(現在時刻+WCET0)として算出可能である。なお、最長実行時間WCETの値はアプリケーションプログラムAP内の適当な個所に記述しておけばよい。
【0027】
図4は第1の方法における初期設定プログラムINTにおける制御頻度決定用パラメータの設定方法を示したものである。ここでは、まず電力制御プログラムPCPを何回起動したか(制御の実行の有無は問わない)を示す通過回数カウンタをゼロにリセットし(ステップ601)、次にクロック周波数及び電源電圧が何回変更されたかを示す変更回数カウンタをゼロにリセットする(ステップ602)。これらのカウンタは、電力制御プログラムPCPの制御頻度の決定のために使用される。
【0028】
次に電力制御プログラムPCPの動作について説明する。電力制御プログラムPCPのステップ103では、タイマTMの現在時刻レジスタTRを読みとる。次に、第1の方法においては割込命令450がアプリケーションプログラムAPの所定の個所に設けられているため、進捗監視(ステップ104)は不要となる。
【0029】
図5は、第1の方法におけるクロック周波数の決定(ステップ105)を示す流れ図である。まず、全体WCET(WCET0)の値を、先に求めたWCET0から現在完了した処理に対応するWCETを除いた値に更新する(ステップ901)。この結果、全体WCETは、今後更に行なわなければならない処理のWCETを表す。次に、今後の処理で使用可能な実行可能時間を算出する(ステップ902)。これは、デッドライン時刻DLTから現在時刻を引算することによって求められる。実行可能時間から全体WCETを引算した値が時間余裕である(ステップ903)。この時間余裕を、次に行う処理のWCET(WCET3)と比較する(ステップ904)。これは次のような理由による。クロック周波数FHがクロック周波数FLの2倍であれば、クロック周波数FLで次の処理を行う場合に要する時間は2×WCET3となる。そのため、時間余裕+WCET3>2×WCET3であれば、クロック周波数FLで動作させてもよい。よって、時間余裕>WCET3であればクロック周波数をFLにして処理を継続し、そうでなければクロック周波数をそのままにして処理を継続する(ステップ904〜906)。
【0030】
次にステップ106では、ステップ105で決定されたクロック周波数に対応する電源電圧を決定する。この決定のためには、例えばクロック周波数Fと電源電圧Vの対応を示すFV対応表を予め用意して決定するようにすればよい。ステップ107では、まず決定されたクロック周波数及び電源電圧の設定が現在の値と異なっているかどうか調べる。変更が生じていれば、新たな電圧に対応する電圧制御信号PCSを入出力回路I/Oから電源調整回路PCCに出力し、次に新たなクロック周波数に対応する周波数制御信号FCSを入出力回路I/Oからクロック調整回路FCCに出力する。その後電源電圧が安定するまで所定時間待ち、変更回数カウンタを1増やす。
【0031】
次に、第2の方法における初期設定プログラムINTの動作を説明する。第2の方法は前述の通り、一定の時間間隔でアプリケーションプログラムAPの進捗状況を評価する方法である。
【0032】
第2の方法においては、チェックは一定時間間隔で行なうため、設定はタイマTMの割込間隔レジスタIRを所定の値に設定する(ステップ121)。また、第2の方法で用いる時間余裕評価用パラメータは、割込間隔時間内にアプリケーションプログラムAPが最悪でも生成可能な最低データ量(Worst Case Output Amount : 以下WCOAという)、ポインタ終値、デッドライン時刻DLTの3種類である。なお、最低データ量WCOAとは、マイクロプロセッサMPが当該処理をその最高能力で実行した場合に最も少ないデータ量しか生成できなかった場合のデータ量をいう。言い換えれば、マイクロプロセッサMPは、割込間隔時間内に最低データ量WCOA以降のデータ量を必ず生成できることになる。ポインタ終値とは、アプリケーションプログラムAPによるデータ生成が全て完了した時点でポインタPTがとる値である。デッドライン時刻DLTは処理を完了すべき時刻であり、現在時刻をもとに適当に算出する。なお、最低データ量WCOAの値はアプリケーションプログラムAP内の適当な個所に記述しておけばよい。
【0033】
次に、制御頻度決定用パラメータの設定(ステップ123)は、第1の方法の場合と全く同様であり、図4に示した通りである。
【0034】
次に電力制御プログラムPCPの動作について説明する。まず、第2の方法では電力制御プログラムPCPのステップ103は不要となる。これは割込が等時間間隔で行なわれ、電力制御プログラムPCPが起動される時刻は予め定められているためである。ステップ104では、ポインタPTの現在の値を取得する。アプリケーションプログラムAPの処理により出力バッファBUFに出力されたデータ量を把握することにより、進捗を監視することができる。
【0035】
図6は、第2の方法におけるクロック周波数の決定(ステップ105)を示す流れ図である。まず、今後のアプリケーションプログラムAPの処理により、出力バッファBUFへ出力される量を、ポインタ終値からポインタ現在地を減ずることにより算出する(ステップ1601)。次に、今後出力可能な最低データ量を算出する(ステップ1602)。これは、デッドライン時刻から現在時刻の差を割込時間間隔TITRで割り、これに最低データ量WCOAを掛けることで求められる。以上2ステップの結果により、現時点での出力余裕は出力可能な最低データ量と出力予定量の差として計算できる(ステップ1603)。この出力余裕を、次に行なう処理のWCOAと比較し(ステップ1604)、出力余裕の方が大きければ次の処理に2回分の時間をかけるだけの余裕があることになるから、クロック周波数を1/2に落して良い(ステップ1605)。そうでなければクロック周波数は落さない(ステップ1606)。クロック周波数が決定した後の電源電圧の決定(ステップ106)及びクロック周波数・電源電圧設定(ステップ107)は、第1の方法の場合と同じである。
【0036】
以下に、電力制御プログラムPCPの制御頻度の決定(ステップ101)について説明する。以下の構成例は、前述の第1の方法及び第2の方法のいずれとも組合せて実施することが可能である。
【0037】
図7は、ステップ101の第1の例を示す流れ図である。通過回数カウンタを1だけ増やし(ステップ1701)た後、通過回数カウンタの値が特定の定数Nの倍数であるかを調べる(ステップ1702)。結果がyesであればチェック実行を指示するフラグ変数の値を”yes”に設定し(ステップ1703)、そうでなければ”no”に設定する(ステップ1704)。上記フラグ変数の値が電力制御プログラムPCPにおけるステップ102で判定に利用され、ステップ103〜107が実行されるか否かが制御される。Nの値はプログラム中で直接指定してもよく、変更回数によって異ならせてもよい。例えば図8に示すような対応表をもたせる。このように対応表は変更回数カウンタと制御頻度の間隔を示す変数であるNとを関連づけている。変更回数が大きいということはFV制御のためにプロセッサの性能を空費しているおそれが大きいため、変更回数が大きい場合には制御頻度の間隔も大きくするものである。図示の例では変更回数カウンタの値が2つ増える度にNが倍増する様に設定されている。この様に設定すると、クロック周波数および電源電圧が頻繁に変更された場合、制御頻度が指数関数的に長くなっていくので、たとえば従来技術において99回切換が生じていた場合を12回の切換に低減でき、電源電圧切換による時間の空費を大きく低減する事が可能になる。対応表によらず、変更回数カウンタの値から演算してNを求めるようにしてもよい。
【0038】
図9は、ステップ101の第2の例を示す流れ図である。この例においては、変更回数に応じて間隔Nを求めた後(ステップ2001〜2002)、マイクロプロセッサMPが現在、クロック周波数1/2Fmax(低速)で動作しているかどうかを調べる(ステップ2003)。結果がyesであれば、間隔を示す変数であるNの値を1に変更する(ステップ2004)。これにより、マイクロプロセッサMPが低速動作している場合は制御頻度が低下せず、マイクロプロセッサMPの負荷が急増した場合でも遅滞無くクロック周波数をFmax(高速)に切換えることが可能となる。一方、クロック周波数Fmax(高速)で動作している場合には、現在の制御頻度Nが8未満であるか否かを調べ(ステップ2104)、Nが8以下であれば規定値(例えば8)に変更する(ステップ2105)。これにより、マイクロプロセッサMPが高速動作している場合には時間余裕または処理量余裕を蓄積し、それ以降にクロック周波数および電源電圧が過度に頻繁に変更されることを防ぐことができる。なお、第2の例において、ステップ2003〜2004またはステップ2103〜2105のいずれか一方のみを使用してもよい。
【0039】
以上、本発明による電力管理プログラムPMPの動作を述べたが、電力管理プログラムPCPは1つの独立したソフトウェアプログラムとして構成しても良く、また既存のソフトウェアシステムの一部として構成しても良い。特に、アプリケーションプログラムAPがオペレーティングシステム(OS)の管理下で稼動する環境においては、OSの機能の一部として本発明を実施するのが好適である。また、電力管理プログラムMPMあるいはそれを一部とするプログラムはコンピュータに読みとり可能な光学的記録媒体や磁気記録媒体に格納されて取引することも可能である。また、マイクロプロセッサMPのクロック周波数及び電源電圧の双方が制御されるものとして説明したが、消費電力削減効果は小さくなるがいずれか一方の制御を行う場合においても本発明を適用することが可能である。
【0040】
【発明の効果】
本発明によれば、多様な負荷に対して効果的な消費電力を削減できる。
【図面の簡単な説明】
【図1】電力管理プログラムPMPの構成を示す流れ図である。
【図2】本発明の集積回路のハードウェア構成を示すブロック図である。
【図3】アプリケーションプログラムAPに割込命令450を挿入した例を示す流れ図である。
【図4】制御頻度決定用パラメータの設定プログラム123を示す流れ図である。
【図5】クロック周波数を決定する第1の方法を示す流れ図である。
【図6】クロック周波数を決定する第2の方法を示す流れ図である。
【図7】電力制御プログラムPCPのステップ101の第1の例を示す流れ図である。
【図8】対応表1900の構成例を示す図である。
【図9】電力制御プログラムPCPのステップ101の第2の例を示す流れ図である。
【符号の説明】
MP:マイクロプロセッサ、I/O:入出力回路、CPU:中央処理装置、ROM:読出しメモリ、RAM:主メモリ、TM:タイマ、PCC:電源調整回路、FCC:クロック調整回路。
Claims (14)
- アプリケーションプログラムを実行するプロセッサと、
上記プロセッサの動作クロック周波数を制御するクロック周波数制御回路と、
上記プロセッサの電源電圧を制御する電源電圧制御回路とを有し、
上記アプリケーションプログラムは、上記プロセッサの動作クロック周波数及び電源電圧を切り換えるか否かの判断を行う所定ポイントが設定されており、
上記プロセッサは、上記アプリケーションプログラムを実行に伴って現れる上記所定ポイントのうち、上記判断を行う頻度を制御する半導体装置。 - 請求項1において、
上記プロセッサの動作クロック周波数及び電源電圧の切り換えが行われた切り換え回数をカウントし、
上記切り換え回数が大きいほど上記頻度を低くし、上記切り換え回数が小さいほど上記頻度を高くする半導体装置。 - 請求項1において、
上記クロック周波数制御回路は第1の動作クロック周波数と上記第1の動作クロック周波数よりも低い周波数の第2の動作クロック周波数とを切り換え、
上記プロセッサは上記第1の動作クロック周波数で動作している場合には、上記判断を行う頻度を低くする半導体装置。 - 請求項1において、
上記クロック周波数制御回路は第1の動作クロック周波数と上記第1の動作クロック周波数よりも低い周波数の第2の動作クロック周波数とを切り換え、
上記プロセッサは上記第2の動作クロック周波数で動作している場合には、上記判断を行う頻度を高くする半導体装置。 - 請求項1において、
上記所定ポイントは、上記アプリケーションプログラムに設けられた割込命令として設定され、
上記プロセッサは、上記割込命令以降の上記アプリケーションプログラムの実行に要する時間と上記割込命令以降の上記アプリケーションプログラムの実行に許容される時間とを比較することにより上記プロセッサの動作クロック周波数及び電源電圧を決定する半導体装置。 - 請求項1において、
上記所定ポイントは、一定時間間隔で発生する割込命令として設定され、
上記プロセッサは、上記割込命令以降の上記アプリケーションプログラムの実行で発生可能なデータ量と上記割込命令以降の上記アプリケーションプログラムの実行で生じるデータ量とを比較することにより上記プロセッサの動作クロック周波数及び電源電圧を決定する半導体装置。 - 請求項1において、
上記アプリケーションプログラムはリアルタイム処理を要求されるプログラムである半導体装置。 - アプリケーションプログラムを実行するプロセッサの動作クロック周波数及び電源電圧を制御することにより消費電力を制御するプログラムであって、
上記消費電力を制御する頻度を決定する第1ステップと、
上記第1ステップで定められた頻度にしたがって、上記アプリケーションプログラムの実行中に現れる所定ポイントにおいて上記消費電力を制御するか否かの判断を行う第2ステップと、
上記プロセッサの動作クロック周波数及び電源電圧を決定する第3ステップとを上記プロセッサにより実行可能なプログラム。 - 請求項8において、
上記第1ステップにおいて、上記プロセッサの動作クロック周波数及び電源電圧の切り換えが行われた切り換え回数をカウントし、上記切り換え回数が大きいほど上記頻度を低くし、上記切り換え回数が小さいほど上記頻度を高くするプログラム。 - 請求項8において、
上記第3ステップにおいて、上記プロセッサは第1の動作クロック周波数及び上記第1の動作クロック周波数よりも低い周波数の第2の動作クロック周波数のいずれかで動作するように決定され、
上記第1ステップにおいて、上記プロセッサが上記第1の動作クロック周波数で動作している場合には、上記判断を行う頻度を低くするプログラム。 - 請求項8において、
上記第3ステップにおいて、上記プロセッサは第1の動作クロック周波数及び上記第1の動作クロック周波数よりも低い周波数の第2の動作クロック周波数のいずれかで動作するように決定され、
上記第1ステップにおいて、上記プロセッサが上記第2の動作クロック周波数で動作している場合には、上記判断を行う頻度を高くするプログラム。 - 請求項8において、
上記所定ポイントは、上記アプリケーションプログラムに設けられた割込命令として設定され、
上記第3ステップにおいて、上記割込命令以降の上記アプリケーションプログラムの実行に要する時間と上記割込命令以降の上記アプリケーションプログラムの実行に許容される時間とを比較することにより上記決定を行うプログラム。 - 請求項8において、
上記所定ポイントは、一定時間間隔で発生する割込命令として設定され、
上記第3ステップにおいて、上記割込命令以降の上記アプリケーションプログラムの実行で発生可能なデータ量と上記割込命令以降の上記アプリケーションプログラムの実行で生じるデータ量とを比較することにより上記決定を行うプログラム。 - 請求項8において、
上記プログラムを格納したコンピュータで読みとり可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002182309A JP3864859B2 (ja) | 2002-06-24 | 2002-06-24 | 半導体装置または上記半導体装置の消費電力を削減するプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002182309A JP3864859B2 (ja) | 2002-06-24 | 2002-06-24 | 半導体装置または上記半導体装置の消費電力を削減するプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004029983A JP2004029983A (ja) | 2004-01-29 |
JP3864859B2 true JP3864859B2 (ja) | 2007-01-10 |
Family
ID=31178857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002182309A Expired - Fee Related JP3864859B2 (ja) | 2002-06-24 | 2002-06-24 | 半導体装置または上記半導体装置の消費電力を削減するプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3864859B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008282150A (ja) * | 2007-05-09 | 2008-11-20 | Matsushita Electric Ind Co Ltd | 信号処理装置及び信号処理システム |
KR101452958B1 (ko) | 2008-03-28 | 2014-10-22 | 삼성전자주식회사 | 전력 조절 집적 회로를 포함하는 반도체 장치 |
KR101617377B1 (ko) * | 2009-11-06 | 2016-05-02 | 삼성전자주식회사 | 동적 전압 주파수 스케일링 방법 |
US9436265B2 (en) | 2013-10-24 | 2016-09-06 | Fujitsu Limited | Information processing apparatus and load control method |
-
2002
- 2002-06-24 JP JP2002182309A patent/JP3864859B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004029983A (ja) | 2004-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7058824B2 (en) | Method and system for using idle threads to adaptively throttle a computer | |
US8683247B2 (en) | Method and apparatus for controlling power supply to primary processor and portion of peripheral devices by controlling switches in a power/reset module embedded in secondary processor | |
US7596705B2 (en) | Automatically controlling processor mode of multi-core processor | |
KR100740289B1 (ko) | 다중 성능 상태 가능한 마이크로프로세서 상의 천이점판정 방법 | |
US7610497B2 (en) | Power management system with a bridge logic having analyzers for monitoring data quantity to modify operating clock and voltage of the processor and main memory | |
EP0666525B1 (en) | Method and apparatus for control of power consumption in a computer system | |
US5878264A (en) | Power sequence controller with wakeup logic for enabling a wakeup interrupt handler procedure | |
US7272730B1 (en) | Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform | |
KR100550195B1 (ko) | 전력을 고려한 적응형 폴링 | |
KR101471303B1 (ko) | 그래픽 처리 장치를 위한 전력 관리 장치 및 방법 | |
Son et al. | Dynamic voltage scaling on MPEG decoding | |
US8661276B2 (en) | Apparatus and method for power control of a central processing unit in a multi-core system | |
KR20020018309A (ko) | 시피유 스케쥴링 방법 | |
US20130198540A1 (en) | Dynamic Power Management in Real Time Systems | |
KR20090069618A (ko) | 전원관리 제어 장치 및 방법 | |
TW200426688A (en) | Performance scheduling using multiple constraints | |
JPH0720968A (ja) | 電圧と周波数を動的に変更することによってコンピュータの消費電力を減少させる方法 | |
US8224497B2 (en) | Energy limit in a sliding window in power and heat management | |
EP1376314A1 (en) | Clock frequency control method and electronic apparatus | |
US8892923B2 (en) | Data processing apparatus and method for maintaining a time count value in normal and power saving modes of operation | |
JP3864859B2 (ja) | 半導体装置または上記半導体装置の消費電力を削減するプログラム | |
US9632566B2 (en) | Dynamically controlling power based on work-loop performance | |
Acquaviva et al. | Software-controlled processor speed setting for low-power streaming multimedia | |
Harrison et al. | Energy--performance trade-offs via the ep queue | |
Najibi et al. | Dynamic voltage and frequency management based on variable update intervals for frequency setting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050524 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060831 |
|
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: 20060912 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060925 |
|
LAPS | Cancellation because of no payment of annual fees |