JP2003099148A - データ処理装置とこれに利用可能なシステム制御装置およびデータ変換方法 - Google Patents

データ処理装置とこれに利用可能なシステム制御装置およびデータ変換方法

Info

Publication number
JP2003099148A
JP2003099148A JP2001285842A JP2001285842A JP2003099148A JP 2003099148 A JP2003099148 A JP 2003099148A JP 2001285842 A JP2001285842 A JP 2001285842A JP 2001285842 A JP2001285842 A JP 2001285842A JP 2003099148 A JP2003099148 A JP 2003099148A
Authority
JP
Japan
Prior art keywords
arithmetic processing
required time
unit
processing unit
instructions
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.)
Pending
Application number
JP2001285842A
Other languages
English (en)
Inventor
Hideo Hirono
英雄 廣野
Kazuaki Okamoto
一晃 岡本
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2001285842A priority Critical patent/JP2003099148A/ja
Publication of JP2003099148A publication Critical patent/JP2003099148A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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

  • Power Sources (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【課題】 並列的に命令を実行する複数の演算処理装置
のうち休止状態となった演算処理装置への動作クロック
信号を停止したとしても、それだけではあまり大きな電
力の節約を期待できない。 【解決手段】 データ処理装置10において、第1〜4
演算処理部16、18、20、22は、それぞれ命令メ
モリ12から読み込んだ命令を実行するとともに、同期
ポイントまでに実行すべき処理の所要時間に関する情報
をシステム制御装置28に出力する。システム制御装置
28は、受け取った情報に基づき、所要時間の短い演算
処理部に与えるクロックの周波数を低減させるために、
その周波数を算出してクロック供給部24へ送る。シス
テム制御装置28は、そのクロック周波数で動作可能な
最低電圧値を特定して電源供給部26へ送る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理技術と
これに利用可能なシステム制御技術およびデータ変換技
術に関する。本発明は特に、CPUおよびマイクロプロ
セッサなどによりプログラムを実行する装置、その動作
を制御する装置、およびそのためのデータ形式にプログ
ラムを変換する方法に関する。
【0002】
【従来の技術】一部のマイクロプロセッサの動作周波数
はギガヘルツの領域へ達し、周波数レースは、いまのと
ころ90年代後半に懸念されたような衰えを見せていな
い。今後も周波数の向上に対する努力は続けられると考
えられる。
【0003】しかしながら、マイクロプロセッサの性能
は動作周波数のみで決まるものでなく、場合によっては
それ以上に内部のアーキテクチャに依存する。以前より
知られる代表的な高速化手法として、複数の演算処理機
構を並列に動作させ、同時に複数の命令を実行するもの
がある。これを実現するプロセッサとして、スーパスカ
ラ方式やVLIW(Very Long Instruction Word)方式
のものが知られている。
【0004】スーパスカラ方式は、順次実行されるべき
複数の命令を解析し、命令間の依存関係を検査して同時
に実行可能な命令を動的に検出し、複数の命令を複数の
演算処理機構へ同時に発行して並列に実行するものであ
る。実行時間の異なる複数の命令を動的にスケジューリ
ングするタイミング的要請を満たすよう、命令発行制御
機能はハードウエア化されている。
【0005】一方、VLIW方式は、並列に実行できる
命令をコンパイル時に静的に解析し、各演算処理機構へ
の命令を連結して長命令形式をとる。例えば演算処理機
構が4個存在する場合、それら4個のための命令をひと
つずつ組み合わせてひとつの長命令を生成し、これを命
令メモリへ格納する。プロセッサは実行時に長命令形式
の命令をフェッチして分解し、4つの命令をそれぞれ対
応する演算処理機構へ発行して並列に実行する。命令の
依存解析はソフトウエアで静的に行い、スーパスカラ方
式で必要となる複雑な依存解析回路を不要にしている。
【0006】複数のプロセッサに並列的な処理を実行さ
せる場合、当然ながら単一のプロセッサに処理させる場
合よりもプロセッサの数だけ消費電力は増大する。従っ
て、並列処理による処理の高速化と同様に、消費電力の
節減も大きな課題となっている。ここで、特開2001
−92661号公報は、複数の演算処理機構で並列演算
処理を行う場合に、並列実行すべきタスクの数が実行部
の数より少ないときは休止状態となった実行部への動作
クロック信号を停止する技術を開示する。
【0007】
【発明が解決しようとする課題】しかしながら、上記の
公報に開示されるように動作クロック信号を停止すると
しても、現実にはその停止時間がさほど長くないことも
多く、それだけではあまり大きな電力節減を期待できな
い。すなわち、各プロセッサの動作時間や動作による直
接的な電力消費には変化がないために、わずかな休止時
間に消費節減を図ったとしても得られる効果が小さい。
【0008】本発明はこうした背景からなされたもので
あり、その目的は、並列的に命令を実行する複数の演算
処理装置における電力消費を節約する技術の提供にあ
る。
【0009】
【課題を解決するための手段】本発明のある態様は、シ
ステム制御装置に関する。この装置は、それぞれ与えら
れた命令を並列的に処理する複数の演算処理部に関し、
処理の同期ポイントまでに実行すべき処理の所要時間に
関する情報を受け取る所要時間取得部と、所要時間が短
い演算処理部に対して与えるクロック周波数を低減させ
るための指示をクロック供給部に対して送るクロック制
御部と、を有する。この場合にその演算処理部に供給す
る電源電圧を低減させるための指示を電源供給部に対し
て送る電源制御部をさらに有してもよい。
【0010】「複数の演算処理部」は、複数の演算処理
機構を1チップ上に設ける形であってもよいし、各演算
処理部をそれぞれ単体のCPUで構成するマルチプロセ
ッサの形であってもよい。「所要時間」は、演算処理部
が複数の命令を処理するために必要な時間であり、たと
えばその命令数で表してもよいし、それらの命令を処理
する間に与えられるクロック数で表してもよい。
【0011】本発明の別の態様は、データ処理装置に関
する。この装置は、それぞれ与えられた命令を並列的に
処理する複数の演算処理部と、これら演算処理部にクロ
ックを与えるクロック供給部と、演算処理部に電源電圧
を与える電源供給部と、クロック周波数と電源電圧を制
御するシステム制御部と、を有し、演算処理部は、処理
の同期ポイントまでに実行すべき所要時間に関する情報
をシステム制御部に送り、システム制御部は、所要時間
に関する情報を受け取る所要時間取得部と、所要時間の
短い演算処理部に対して与えるクロック周波数を低減さ
せるための指示をクロック供給部に対して送るクロック
制御部と、を含む。
【0012】本発明のさらに別の態様は、データ変換方
法に関する。この方法は、演算処理部が実行可能な命令
としてソースプログラムを変換して生成された複数の命
令を読み出し、それぞれ与えられた命令を並列的に処理
する複数の演算処理部に関して処理の同期ポイントまで
に各演算処理部が実行すべき処理の所要時間を算定し、
所要時間の短い演算処理部に対して与えるクロック周波
数を低減させるために必要な命令を複数の命令に追加す
る。
【0013】本発明のさらに別の態様は、コンピュータ
プログラムである。このプログラムは、演算処理部が実
行可能な命令としてソースプログラムを変換して生成さ
れた複数の命令を読み出す処理と、それぞれ与えられた
命令を並列的に処理する複数の演算処理部に関して処理
の同期ポイントまでに各演算処理部が実行すべき所要時
間を算定する処理と、所要時間の短い演算処理部に対し
て与えるクロック周波数を低減させるために必要な命令
を複数の命令に追加するする処理と、をコンピュータに
実行させる。
【0014】このコンピュータプログラムは、例えば汎
用コンパイラによってソースプログラムをコンパイルし
て生成される機械語プログラムに、上記の「必要な命
令」を追加するためのコンバータプログラムであっても
よい。このコンバータプログラムによって変換されたプ
ログラムを命令メモリに予め格納しておき、これを演算
処理部が実行する。
【0015】なお、以上の構成要素の任意の組合せや、
本発明の構成要素や表現を方法、装置、システム、コン
ピュータプログラム、コンピュータプログラムを格納し
た記録媒体などの間で相互に置換したものもまた、本発
明の態様として有効である。
【0016】
【発明の実施の形態】本実施形態においては、並列的に
動作させる複数の演算処理部に関してそれぞれの処理の
所要時間が異なる場合に、所要時間が短い演算処理部に
与えるクロック周波数を低減させて消費電力を低減させ
る。そのクロック周波数の低減に応じて、その周波数に
おける最低動作電圧まで電源電圧を低減させることによ
ってさらに消費電力を節約する。
【0017】ここでプロセッサの消費電力は、動作周波
数と動作時間に比例するとともに、動作電圧の約2乗に
比例する。すなわち、動作周波数や動作時間を低減させ
るよりも動作電圧を低減させる方が電力消費節減の効果
が大きい。この点、上記の特開2001−92661号
公報に開示される従来技術においては、動作状態におけ
る動作電圧には何も変化がないため本質的な解決には至
っていない。本実施形態は、より電力節減効果の大きい
電源電圧を低減させることによって従来にない効果を得
るものである。
【0018】各演算処理部における処理の所要時間は、
命令の組合せによっては静的に解析できるが、例えば条
件分岐命令が含まれる場合は実際の動作状況を考慮する
必要があるため動的な解析が必要となる。その場合に
は、想定される最長の所要時間と最短の所要時間に基づ
いて各演算処理部のクロック周波数と電源電圧を仮定し
て動作させ、実際の動作状況に応じて適宜クロック周波
数と電源電圧を修正しながら動作させる。これにより、
より高い精度で電源電圧値を制御する。
【0019】本実施形態においては、4つのCPUを1
チップ上に設けた構成を例にする。CPUとしてはRI
SC(Reduced Instruction Set Computer)プロセッサ
のように、命令数と実行クロック数が等しいプロセッサ
を想定する。
【0020】図1は、実施の形態に係るデータ処理装置
の構成を示す機能ブロック図である。図に示す通り、デ
ータ処理装置10は、それぞれ与えられた命令を並列的
に処理する第1〜4演算処理部16、18、20、2
2、これら演算処理部にクロックを与えるクロック供給
部24、各演算処理部に電源電圧を与える電源供給部2
6、各演算処理部が読み込む命令を格納する命令メモリ
12、およびクロック周波数と電源電圧を制御するシス
テム制御装置28を有する。なお、各演算処理部に対応
する形で4つの命令メモリを設けるが、図においてはこ
れらをひとつにまとめた単体の命令メモリ12として示
す。
【0021】クロック供給部24は、演算処理部16〜
22のそれぞれに供給するクロックをシステム制御装置
28にも供給する。演算処理部16〜22のそれぞれに
は、同期ポイントまでに実行すべき処理の所要時間とし
て、命令数に関する情報を出力するポートが設けられて
いる。演算処理部16〜22が命令メモリ12からそれ
ぞれ命令をフェッチおよび解析し、これを実行する過程
は、既知の技術を用いるため図示および説明を省略す
る。4個の演算処理部16〜22は以下単に「演算処理
部」とも呼ぶ。
【0022】図2は、実施の形態に係るシステム制御装
置の構成を示す機能ブロック図である。システム制御装
置28は、4つの所要時間取得部54、56、58、6
0と、4つの所要時間保持部30、32、34、36
と、最大値検出部62と、4つの周波数設定部64、6
6、68、70と、4つの電圧設定部72、74、7
6、78と、クロック制御部80と、電源制御部82
と、を含む。
【0023】第1〜4所要時間取得部54〜60は、演
算処理部16〜22が同期ポイントまでに実行すべき処
理の所要時間に関する情報として、その命令数を演算処
理部16〜22のそれぞれから受け取る。この命令数
は、ソースプログラムをコンパイルしで生成される機械
語プログラムに予め追加される。命令数の追加は、コン
バータプログラムが処理する。この追加の過程に関して
は後述する。
【0024】ここで、条件分岐命令が含まれるときのよ
うに実際の動作状況に応じて所要時間が定まる場合、所
要時間取得部54〜60は、演算処理部ごとに、所要時
間が最長となるときの命令数を最大命令数として受け取
り、所要時間が最短となるときの命令数を最小命令数と
して受け取る。動作状況にかかわらず所要時間が一定と
なる場合、所要時間取得部54〜60は、最大命令数=
最小命令数として命令数を受け取る。
【0025】第1〜4所要時間保持部30〜36は、そ
れぞれ所要時間取得部54〜60が取得した所要時間を
単位時間に換算した自然数の値として、各演算処理部の
最大命令数と最小命令数をそれぞれ保持する。さらに、
演算処理部16〜22のそれぞれに与えられるクロック
をクロック供給部24から受け取る。所要時間保持部3
0〜36は、それぞれが保持する値を、それぞれが受け
取るクロックに従ってデクリメントする。これにより、
保持される値は、各演算処理部が以降に処理する命令数
と常に一致する。
【0026】第1〜4周波数設定部64〜70は、演算
処理部16〜22に与えるクロック周波数を所要時間の
長短に応じて設定する。本実施形態においては、各クロ
ック周波数を所要時間保持部30〜36に格納された命
令数に応じて設定し、この値を所要時間の短い演算処理
部に対して与えるクロック周波数を低減させるための指
示の形でクロック制御部80がクロック供給部24に対
して送る。
【0027】動作状況にかかわらず処理の所要時間が一
定となる場合、周波数設定部64〜70は、各演算処理
部が動作可能な最大クロック周波数と、所要時間が最大
となる各演算処理部におけるその所要時間の逆数を基準
にしてクロック周波数を求める。例えば周波数設定部6
4〜70は、各演算処理部の命令数をT(nは演算処
理部の番号、n=1,2,・・・,n)とし、4つのT
の最大値をTmaxとし、最大クロック周波数をF
maxとした場合、各演算処理部に与えるクロック周波
数F(n=1,2,・・・,n)を、F=Fmax
(T/Tmax)の式で求める。最大値検出部62
は、Tmaxを検出する。
【0028】これにより、所要時間が最長となる演算処
理部は最大クロック周波数で動作する一方で、所要時間
がより短い演算処理部はより低いクロック周波数で動作
する。従って、各演算処理部はほぼ同時に同期ポイント
を迎えるとともに、消費電力を節約することができる。
【0029】動作状況に応じて処理の所要時間が異なる
場合、周波数設定部64〜70は演算処理部ごとに処理
にかかる所要時間の最長値と最短値を参照し、その最短
値のうち最大となる値よりも小さい最長値となる演算処
理部に関して、最大クロック周波数と最大値の逆数を基
準にしてクロック周波数を求める。例えば周波数設定部
64〜70は、最長値としての最大命令数をTLn(n
=1,2,・・・,n)とし、最短値としての最小命令
数をTSn(n=1,2,・・・,n)とし、4つのT
Snの最大値をTSmaxとした上で、TLn>T
Smaxを満たす場合は各演算処理部に与えるクロック
周波数F(n=1,2,・・・,n)をFn=Fma
xの式で求め、TLn≦TSmaxを満たす場合はF
=Fmax(TLn/TSmax)の式で求める。最大
値検出部62は、TSmaxを検出する。なお、TLn
はT保持部38、42、46、50のそれぞれに格納
され、TSnはT保持部40、44、48、52のそ
れぞれに格納される。
【0030】いかなる場合にもTSmaxが経過するま
では4つの処理が全て完了することはないため、少なく
ともTSmaxまで他の処理スピードを遅らせても同期
を遅らす原因にはならないことからこの値を基準のひと
つとしている。最大値TSm axとなる最大命令数T
Lnを処理する演算処理部は最大クロック周波数Fma
で動作する一方で、他の演算処理部はより低い周波数
で動作する。これにより、ほぼ同時に同期ポイントを迎
えるとともに、消費電力を節約することができる。
【0031】第1〜4電圧設定部72〜78は、演算処
理部16〜22に供給する電源電圧を低減させる場合
に、各演算処理部に与えるクロック周波数に応じた電源
電圧値を設定し、この値を各演算処理部に供給する電源
電圧を低減させるための指示の形で電源制御部82が電
源供給部26に対して送る。クロック周波数と電源電圧
値の関係は、予めテーブルで定めておいてもよいし、数
式で定めておいてもよい。本実施形態においては、演算
処理部16〜22に与えられるクロック周波数に基づい
て、そのクロック周波数の下で各演算処理部が動作可能
な最低電圧を電源電圧値として特定する。例えば、クロ
ック周波数が500MHzの場合は1.2V、600M
Hzの場合は1.3Vのように対応関係をテーブルに定
める。
【0032】ここで、所要時間取得部54〜60は、各
演算処理部が条件分岐の命令を実行したときに以降の所
要時間に関する情報として以降に処理する命令数を取得
する。この命令数を条件分岐命令の分岐先ごとに予めプ
ログラムに追加しておき、所要時間取得部54〜60は
分岐先の処理を実行するたびにそれ以降の命令数を受け
取り、所要時間保持部30〜36にセットされた値を更
新する。周波数設定部64〜70は、取得した命令数に
基づいてクロック周波数を再設定するとともに、その周
波数に応じて電圧設定部72〜78が電源電圧値を再設
定する。これにより、実際の動作状況に応じて処理の所
要時間が定まる場合にも高い精度でクロック周波数と電
源電圧値を制御でき、消費電力の低減を最適化できる。
【0033】図3は、クロック供給部の機能ブロック図
である。クロック供給部24は、4つのPLL周波数シ
ンセサイザ90、92、94、96と、システム制御I
/F98を含む。システム制御I/F98は、システム
制御装置28のクロック制御部80から各演算処理部の
クロック周波数を受け取り、これをPLL周波数シンセ
サイザ90〜96に設定する。PLL周波数シンセサイ
ザ90〜96はそれぞれに設定されたクロック周波数に
て対応する各演算処理部へクロックを出力する。
【0034】図4は、電源供給部の機能ブロック図であ
る。電源供給部26は、4つの定電圧電源回路100、
102、104、106と、4つのD/Aコンバータ1
08、110、112、114と、システム制御I/F
116とを含む。システム制御I/F116は、システ
ム制御装置28の電源制御部82から各演算処理部の電
源電圧値を受け取り、この値に応じてD/Aコンバータ
108〜114が基準電圧を発生する。定電圧電源回路
100〜106は、基準電圧を参照して各演算処理部へ
電源電圧を供給する。
【0035】図5は、実施の形態に係るコンバータプロ
グラムの動作手順を示すフローチャートである。まず、
コンバータプログラムの動作の前処理として、コンパイ
ラがソースプログラムを読み込んで(S10)、これを
コンパイルして機械語プログラムを生成する(S1
2)。これをコンバータプログラムが解析し(S1
4)、命令の中に条件分岐が含まれない場合(S16
N)、同期ポイントまでの命令数をカウントして(S2
2)、この値をプログラムに追加する(S23)。命令
の中に条件分岐が含まれる場合(S16Y)、想定され
る全パターンに関して同期ポイントまでの命令数をカウ
ントし(S17)、そのうち最大命令数と最小命令数を
プログラムに追加する(S18)。さらに、分岐先ごと
にそれ以降の命令数をプログラム上の分岐先の箇所に追
加する(S20)。このようにしてコンバータプログラ
ムによって変換されたプログラムが命令メモリ12に格
納される(S24)。
【0036】以下、プログラムの実例をもとに、実施の
形態の動作を説明する。プログラム1は、実際の動作状
況にかかわらず処理の所要時間が一定となる機械語プロ
グラムをアセンブリ表記した例である。なお、(7命令
中略)の部分に実際には7つの命令が入る。/*と*/
で囲まれた部分はコメントである。 [プログラム1] start: 1: add r0, r1, r2 2: sub r3, r4, r5 (7命令中略) 10: add r6, r7, r8 11: sync /* 同期命令 */ このプログラムは、コンバータプログラムによって変換
される前のものである。
【0037】つぎに、プログラム1をコンバータプログ
ラムによって変換したものをプログラム2に示す。 [プログラム2] start: 1: out Tport, 10 /* 同期まで10命令 */ 2: add r0, r1, r2 3: sub r3, r4, r5 (7命令中略) 11: add r6, r7, r8 12: sync /* 同期命令 */ 第1行目は、演算処理部に「命令数10」を出力させる
命令である。すなわち、コンバータプログラムは、プロ
グラム1における第11行目の「sync」命令までに
処理すべき命令数をカウントして、これをプログラム2
の第1行目に追加している。
【0038】つぎに、実際の動作状況に応じて処理の所
要時間が定まる機械語プログラムをアセンブリ表記した
例をプログラム3に示す。 [プログラム3] start: 1: br eq, label /* labelまで条件分岐 */ 2: add r0, r1, r2 3: sub r3, r4, r5 (7命令中略) 10: add r6, r7, r8 label: 11: add r9, r10, r11 12: sub r12, r13, r14 (6命令中略) 19: add r15, r16, r17 20: sync /* 同期命令 */ このプログラムは、コンバータプログラムによって変換
される前のものである。第1行目は、条件分岐命令であ
る。
【0039】つぎに、プログラム3をコンバータプログ
ラムによって変換したものをプログラム4に示す。 [プログラム4] start: 1: out TLport, 23 /* 最大で24命令 */ 2: out TSport, 12 /* 最小で12命令 */ 3: br eq, label 4: out TSport, 21 /* 命令数が多い方の分岐先 *
/ 5: add r0, r1, r2 6: sub r3, r4, r5 (7命令中略) 14: add r6, r7, r8 label: 15: out TLport, 10 /* 命令数が少ない方の分岐
先 */ 16: add r9, r10, r11 17: sub 12, r13, r14 (7命令中略) 25: add r15, r16, r17 26: sync /* 同期命令 */ 第1行目は、演算処理部に「最大命令数24」を出力さ
せる命令であり、第2行目は、演算処理部に「最小命令
数12」を出力させる命令である。すなわち、コンバー
タプログラムは、プログラム3における第20行目の
「sync」命令までに処理すべき命令数の全パターン
をカウントして、そのうち最大値と最小値をプログラム
4の第1、2行目に追加している。さらに、第3行目の
分岐命令に対応する分岐先である第4行目と第15行目
には、それぞれその時点以降の命令数が追加されてい
る。なお、プログラム4には条件分岐がひとつだけ含ま
れており、命令数のパターンは二つだけである。従っ
て、命令数が多い方の分岐先である第4行目に実際にジ
ャンプした場合はもはや第2行目で出力した最小命令数
の可能性がなくなるので、第4行目では最小命令数を更
新する形で命令数を出力する。同様に、命令数が少ない
方の分岐先である第15行目にジャンプした場合はもは
や第1行目で出力した最大命令数の可能性はなくなるの
で、第15行目では最大命令数を更新する形で命令数を
出力する。
【0040】図6は、実施の形態に係るシステム制御装
置の動作手順を示すフローチャートである。まず、所要
時間取得部54〜60が各演算処理部からTとT
値を受け取り(S30)、これを所要時間保持部30〜
36にセットする(S32)。最大値検出部62がT
の最大値を検出し(S34)、これらの数値をもとにク
ロック周波数を算出し(S36)、その値をクロック供
給部24へ送出する(S38)。電圧設定部76はクロ
ック周波数に応じて電源電圧値を特定し(S40)、こ
の値を電源供給部26へ送出する(S42)。
【0041】所要時間保持部30〜36のそれぞれは、
クロック供給部24からクロックを受け取ったときに
(S44Y)、TとTの値をデクリメントする(S
46)とともに、TまたはTの値を各演算処理部か
ら再び受け取ったときに(S48Y)、その値を更新し
(S50)、S34〜S42の処理によってクロック周
波数と電源電圧値を再設定する。S44〜S52の処理
が終了まで繰り返される(S52)。
【0042】以上、本発明を実施の形態をもとに説明し
た。この実施の形態は例示であり、それらの各構成要素
や各処理プロセスの組合せにいろいろな変形が可能なこ
と、またそうした変形例も本発明の範囲にあることは当
業者に理解されるところである。以下、そうした例を述
べる。
【0043】本実施形態においては、汎用コンパイラを
用いて機械語プログラムを生成し、これにコンバータプ
ログラムが命令数を追加する変換処理を行うが、変形例
においては上記の命令数を追加する変換機能をコンパイ
ラにもたせてもよい。
【0044】本実施形態における演算処理部には、1命
令を1クロックで実行するプロセッサを利用するが、変
形例においては1命令を2クロック以上で実行するプロ
セッサを演算処理部に用いてもよい。例えば、命令ごと
に必要とするクロック数が異なるプロセッサであっても
よく、こうした仕様をコンバータプログラムが考慮した
上で、処理の所要時間をクロック数の形で示す命令を追
加してもよい。
【0045】
【発明の効果】本発明によれば、命令を並列的に実行す
る複数の演算処理部をもつデータ処理装置において消費
電力を節約することができる。
【図面の簡単な説明】
【図1】 実施の形態に係るデータ処理装置の構成を示
す機能ブロック図である。
【図2】 実施の形態に係るシステム制御装置の構成を
示す機能ブロック図である。
【図3】 クロック供給部の構成を示す機能ブロック図
である。
【図4】 電源供給部の構成を示す機能ブロック図であ
る。
【図5】 実施の形態に係るコンバータの動作手順を示
すフローチャートである。
【図6】 実施の形態に係るシステム制御装置の動作手
順を示すフローチャートである。
【符号の説明】
10 データ処理装置、 16 第1演算処理部、 1
8 第2演算処理部、20 第3演算処理部、 22
第4演算処理部、 24 クロック供給部、26 電源
供給部、 28 システム制御装置、 30 所要時間
保持部、54 所要時間取得部、 64 周波数設定
部、 72 電圧設定部、 80クロック制御部、 8
2 電源制御部。
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B011 DA01 EA01 FF01 LL13 5B033 BC01 5B062 AA05 HH02 HH04 5B079 AA06 BA01 BA06 BC01

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 それぞれ与えられた命令を並列的に処理
    する複数の演算処理部に関し、処理の同期ポイントまで
    に実行すべき処理の所要時間に関する情報を受け取る所
    要時間取得部と、 前記所要時間が短い演算処理部に対して与えるクロック
    周波数を低減させるための指示をクロック供給部に対し
    て送るクロック制御部と、 を有することを特徴とするシステム制御装置。
  2. 【請求項2】 前記演算処理部に与えるクロック周波数
    を低減させる場合に、その演算処理部に供給する電源電
    圧を低減させるための指示を電源供給部に対して送る電
    源制御部をさらに有することを特徴とする請求項1に記
    載のシステム制御装置。
  3. 【請求項3】 前記演算処理部に与えるクロック周波数
    を低減させる場合に、そのクロック周波数を前記所要時
    間の長短に応じて設定する周波数設定部をさらに有する
    ことを特徴とする請求項1または2に記載のシステム制
    御装置。
  4. 【請求項4】 前記演算処理部に供給する電源電圧を低
    減させる場合に、その演算処理部に与えるクロック周波
    数に応じた電源電圧値を設定する電圧設定部をさらに有
    することを特徴とする請求項2または3に記載のシステ
    ム制御装置。
  5. 【請求項5】 前記電圧設定部は、演算処理部に与えら
    れるクロック周波数に基づいて、そのクロック周波数の
    下で前記演算処理部が動作可能な最低電圧を前記電源電
    圧値として特定することを特徴とする請求項4に記載の
    システム制御装置。
  6. 【請求項6】 前記周波数設定部は、各演算処理部が動
    作可能な最大クロック周波数と、前記所要時間が最大と
    なる演算処理部におけるその所要時間の逆数を基準にし
    て前記クロック周波数を求めることを特徴とする請求項
    3から5のいずれかに記載のシステム制御装置。
  7. 【請求項7】 前記所要時間取得部は、前記所要時間が
    実際の動作状況に応じて定まる場合に、演算処理部ごと
    の前記所要時間の最長値と最短値に関する情報を取得
    し、 前記周波数設定部は、前記演算処理部ごとの前記最短値
    のうちの最大値よりも前記最長値が小さい演算処理部に
    関して、各演算処理部が動作可能な最大クロック周波数
    と前記最大値の逆数を基準にして前記クロック周波数を
    求めることを特徴とする請求項3から6のいずれかに記
    載のシステム制御装置。
  8. 【請求項8】 前記所要時間取得部は、前記演算処理部
    が条件分岐の命令を実行したときに以降の所要時間に関
    する情報を取得し、 前記周波数設定部は、前記取得した所要時間に基づいて
    前記クロック周波数を再設定することを特徴とする請求
    項3から7のいずれかに記載のシステム制御装置。
  9. 【請求項9】 前記電圧設定部は、前記周波数設定部が
    前記クロック周波数を再設定したときに前記電源電圧値
    を再設定することを特徴とする請求項8に記載のシステ
    ム制御装置。
  10. 【請求項10】 前記所要時間取得部が取得した所要時
    間を、単位時間に換算した自然数の値で保持する所要時
    間保持部をさらに有し、 前記所要時間保持部は、前記演算処理部に与えられるク
    ロックに従って前記保持する値をデクリメントすること
    を特徴とする請求項1から9に記載のシステム制御装
    置。
  11. 【請求項11】 それぞれ与えられた命令を並列的に処
    理する複数の演算処理部と、これら演算処理部にクロッ
    クを与えるクロック供給部と、前記演算処理部に電源電
    圧を与える電源供給部と、前記クロック周波数と電源電
    圧を制御するシステム制御部と、を有し、 前記演算処理部は、処理の同期ポイントまでに実行すべ
    き所要時間に関する情報を前記システム制御部に送り、 前記システム制御部は、前記所要時間に関する情報を受
    け取る所要時間取得部と、前記所要時間の短い演算処理
    部に対して与えるクロック周波数を低減させるための指
    示を前記クロック供給部に対して送るクロック制御部
    と、を含むことを特徴とするデータ処理装置。
  12. 【請求項12】 演算処理部が実行可能な命令としてソ
    ースプログラムを変換して生成された複数の命令を読み
    出し、 それぞれ与えられた命令を並列的に処理する複数の演算
    処理部に関して処理の同期ポイントまでに各演算処理部
    が実行すべき処理の所要時間を算定し、 前記所要時間の短い演算処理部に対して与えるクロック
    周波数を低減させるために必要な命令を前記複数の命令
    に追加することを特徴とするデータ変換方法。
  13. 【請求項13】 前記所要時間が実際の動作状況に応じ
    て定まる場合に、その所要時間の最長値と最短値を算定
    し、 その算定された値を前記演算処理部から出力させるため
    に必要な命令を前記複数の命令に追加することを特徴と
    する請求項12に記載のデータ変換方法。
  14. 【請求項14】 前記複数の命令に条件分岐命令が含ま
    れる場合に、その分岐先ごとに前記同期ポイントまでに
    実行すべき処理の所要時間を算定し、 その算定された値を前記演算処理部から出力させるため
    に必要な命令を前記複数の命令に追加することを特徴と
    する請求項12または13に記載のデータ変換方法。
  15. 【請求項15】 演算処理部が実行可能な命令としてソ
    ースプログラムを変換して生成された複数の命令を読み
    出す処理と、 それぞれ与えられた命令を並列的に処理する複数の演算
    処理部に関して処理の同期ポイントまでに各演算処理部
    が実行すべき所要時間を算定する処理と、 前記所要時間の短い演算処理部に対して与えるクロック
    周波数を低減させるために必要な命令を前記複数の命令
    に追加するする処理と、 をコンピュータに実行させることを特徴とするコンピュ
    ータプログラム。
  16. 【請求項16】 前記所要時間が実際の動作状況に応じ
    て定まる場合に、その所要時間の最長値と最短値を算定
    する処理と、 その算定された値を前記演算処理部から出力させるため
    に必要な命令を前記複数の命令に追加する処理と、 をさらにコンピュータに実行させることを特徴とする請
    求項15に記載のコンピュータプログラム。
  17. 【請求項17】 前記複数の命令に条件分岐命令が含ま
    れる場合に、その分岐先ごとに前記同期ポイントまでに
    実行すべき処理の所要時間を算定する処理と、 その算定された値を前記演算処理部から出力させるため
    に必要な命令を前記複数の命令に追加する処理と、 をさらにコンピュータに実行させることを特徴とする請
    求項15または16に記載のコンピュータプログラム。
JP2001285842A 2001-09-19 2001-09-19 データ処理装置とこれに利用可能なシステム制御装置およびデータ変換方法 Pending JP2003099148A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001285842A JP2003099148A (ja) 2001-09-19 2001-09-19 データ処理装置とこれに利用可能なシステム制御装置およびデータ変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001285842A JP2003099148A (ja) 2001-09-19 2001-09-19 データ処理装置とこれに利用可能なシステム制御装置およびデータ変換方法

Publications (1)

Publication Number Publication Date
JP2003099148A true JP2003099148A (ja) 2003-04-04

Family

ID=19108920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001285842A Pending JP2003099148A (ja) 2001-09-19 2001-09-19 データ処理装置とこれに利用可能なシステム制御装置およびデータ変換方法

Country Status (1)

Country Link
JP (1) JP2003099148A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006521618A (ja) * 2003-03-27 2006-09-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 分岐によるアクティビティモニタ
JP2006293768A (ja) * 2005-04-12 2006-10-26 Univ Waseda マルチプロセッサシステム及びマルチグレイン並列化コンパイラ
JP2008503822A (ja) * 2004-06-21 2008-02-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電力管理
US7418358B2 (en) 2004-01-26 2008-08-26 Kabushiki Kaisha Toshiba Dynamic voltage controller
US7464379B2 (en) 2003-08-14 2008-12-09 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
JP2009277252A (ja) * 2003-05-07 2009-11-26 Mosaid Technologies Corp 電力の島を使用した集積回路での電力の管理
JP2009544097A (ja) * 2006-07-18 2009-12-10 アギア システムズ インコーポレーテッド モジュール式電力管理のシステムおよび方法
JP2011096117A (ja) * 2009-10-30 2011-05-12 Fujitsu Ltd 集積回路装置
JP2011187045A (ja) * 2010-02-09 2011-09-22 Canon Inc データ処理装置及びその制御方法、プログラム
JP2012009587A (ja) * 2010-06-24 2012-01-12 Fujitsu Ltd 半導体装置及び半導体装置の制御方法
US8972761B2 (en) 2012-02-01 2015-03-03 Lsi Corporation Systems and methods for idle clock insertion based power control

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03286213A (ja) * 1990-03-30 1991-12-17 Matsushita Electric Ind Co Ltd データ処理装置
JPH09297688A (ja) * 1996-03-06 1997-11-18 Mitsubishi Electric Corp システムクロック決定装置
JPH10222253A (ja) * 1997-02-07 1998-08-21 Hitachi Ltd 情報処理システム
JP2000047872A (ja) * 1998-08-03 2000-02-18 Hitachi Ltd 低消費電力動作機能を備えたマイクロプロセッサ
JP2000207209A (ja) * 1999-01-14 2000-07-28 Sony Corp 演算装置、情報処理装置および情報処理方法、並びに提供媒体
JP2001092661A (ja) * 1999-09-22 2001-04-06 Hitachi Ltd データ処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03286213A (ja) * 1990-03-30 1991-12-17 Matsushita Electric Ind Co Ltd データ処理装置
JPH09297688A (ja) * 1996-03-06 1997-11-18 Mitsubishi Electric Corp システムクロック決定装置
JPH10222253A (ja) * 1997-02-07 1998-08-21 Hitachi Ltd 情報処理システム
JP2000047872A (ja) * 1998-08-03 2000-02-18 Hitachi Ltd 低消費電力動作機能を備えたマイクロプロセッサ
JP2000207209A (ja) * 1999-01-14 2000-07-28 Sony Corp 演算装置、情報処理装置および情報処理方法、並びに提供媒体
JP2001092661A (ja) * 1999-09-22 2001-04-06 Hitachi Ltd データ処理装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006521618A (ja) * 2003-03-27 2006-09-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 分岐によるアクティビティモニタ
US8782590B2 (en) 2003-05-07 2014-07-15 Conversant Intellectual Property Management Inc. Power managers for an integrated circuit
US8762923B2 (en) 2003-05-07 2014-06-24 Conversant Intellectual Property Management Inc. Power managers for an integrated circuit
JP2009277252A (ja) * 2003-05-07 2009-11-26 Mosaid Technologies Corp 電力の島を使用した集積回路での電力の管理
US8087020B2 (en) 2003-08-14 2011-12-27 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
US7464379B2 (en) 2003-08-14 2008-12-09 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
US7418358B2 (en) 2004-01-26 2008-08-26 Kabushiki Kaisha Toshiba Dynamic voltage controller
JP2008503822A (ja) * 2004-06-21 2008-02-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電力管理
JP2006293768A (ja) * 2005-04-12 2006-10-26 Univ Waseda マルチプロセッサシステム及びマルチグレイン並列化コンパイラ
JP2009544097A (ja) * 2006-07-18 2009-12-10 アギア システムズ インコーポレーテッド モジュール式電力管理のシステムおよび方法
JP2011096117A (ja) * 2009-10-30 2011-05-12 Fujitsu Ltd 集積回路装置
JP2011187045A (ja) * 2010-02-09 2011-09-22 Canon Inc データ処理装置及びその制御方法、プログラム
US8972769B2 (en) 2010-02-09 2015-03-03 Canon Kabushiki Kaisha Data processing apparatus and control method for controlling clock frequency based on calculated frequency-to-response-time ratios
JP2012009587A (ja) * 2010-06-24 2012-01-12 Fujitsu Ltd 半導体装置及び半導体装置の制御方法
US8972761B2 (en) 2012-02-01 2015-03-03 Lsi Corporation Systems and methods for idle clock insertion based power control

Similar Documents

Publication Publication Date Title
JP5411587B2 (ja) マルチスレッド実行装置、マルチスレッド実行方法
JPH0922318A (ja) プロセッサ及びその制御方法
US8195975B2 (en) Semiconductor integrated circuit device and clock control method
KR20180021812A (ko) 연속하는 블록을 병렬 실행하는 블록 기반의 아키텍쳐
JP2008165815A (ja) マシン・コード・ビルダによって得られる電力消費低減
JP2003099148A (ja) データ処理装置とこれに利用可能なシステム制御装置およびデータ変換方法
EP0272705A2 (en) Loosely coupled pipeline processor
Qin et al. Energy-efficient intra-task DVFS scheduling using linear programming formulation
JP4412905B2 (ja) 低電力動作制御装置、およびプログラム最適化装置
JP4574493B2 (ja) プロセッサシステム及びマルチスレッドプロセッサ
JP2003296123A (ja) 電力制御情報を付与する命令変換装置及び命令変換方法、命令変換を実現するプログラム及び回路、変換された命令を実行するマイクロプロセッサ
JP2008282360A (ja) 低消費電力回路用高位合成装置及び高位合成方法及びそのプログラム
US8443344B1 (en) Methods for identifying gating opportunities from a high-level language program and generating a hardware definition
JP3607209B2 (ja) クロック制御方法及び当該クロック制御方法を用いた情報処理装置
KR100809294B1 (ko) 가상 머신에서 스레드 스케줄링을 수행하는 장치 및 그방법
JP2001255912A (ja) モーションプログラムの実行方法
EP3792753A1 (en) Information processing apparatus, program, and information processing method
JP2006260195A (ja) 信号処理装置
JP2007207121A (ja) データ処理装置及びその制御方法
JP2003131888A (ja) 手続き間命令スケジューリング方法
JPH04252336A (ja) プログラム最適化処理装置
JP2001117653A (ja) パワー制御装置及び方法並びにパワー制御プログラムを記録した記録媒体
JP3327598B2 (ja) データ処理方法およびデータ処理装置
JP2968749B2 (ja) マイクロプログラム調速制御回路
CN116868168A (zh) 一种加速器的运行方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110426