JP4549652B2 - プロセッサシステム - Google Patents
プロセッサシステム Download PDFInfo
- Publication number
- JP4549652B2 JP4549652B2 JP2003366042A JP2003366042A JP4549652B2 JP 4549652 B2 JP4549652 B2 JP 4549652B2 JP 2003366042 A JP2003366042 A JP 2003366042A JP 2003366042 A JP2003366042 A JP 2003366042A JP 4549652 B2 JP4549652 B2 JP 4549652B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- instruction
- power supply
- clock
- supply voltage
- 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
- 238000012545 processing Methods 0.000 claims description 286
- 230000002829 reductive effect Effects 0.000 claims description 64
- 239000000758 substrate Substances 0.000 claims description 50
- 238000004458 analytical method Methods 0.000 claims description 47
- 238000000034 method Methods 0.000 claims description 40
- 238000001514 detection method Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 19
- 238000012360 testing method Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 34
- 238000005457 optimization Methods 0.000 description 23
- 238000006243 chemical reaction Methods 0.000 description 17
- 230000015654 memory Effects 0.000 description 16
- 230000004048 modification Effects 0.000 description 16
- 238000012986 modification Methods 0.000 description 16
- 238000003860 storage Methods 0.000 description 15
- 239000004065 semiconductor Substances 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 11
- 238000001816 cooling Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 9
- 230000009467 reduction Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008707 rearrangement Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000000593 degrading effect Effects 0.000 description 2
- 239000012535 impurity Substances 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
- Advance Control (AREA)
Description
互いに機能および性能が異なる複数のプロセッサを備えたプロセッサシステムであって、
上記プロセッサに実行させる命令を読み込み、プロセッサシステムで実行される命令の合計実行時間、上記プロセッサの性能、および上記命令に含まれる割り当て情報に基づいて、上記命令が実行される上記プロセッサの割り当てを制御する割り当て制御手段と、
上記割り当てにより各上記プロセッサに実行される上記命令に応じて、上記各プロセッサに供給するクロック信号の周波数を制御し、各プロセッサの所定の処理時間に基づいて、消費電力が小さくなるように、各プロセッサに供給するクロック信号の周波数を低下させるクロック制御手段と、
上記クロック制御手段による上記クロック信号の周波数の制御に対応して、上記各プロセッサに供給する電源電圧、および上記各プロセッサを構成するトランジスタの基板ノードに供給する基板電圧のうちの少なくとも何れか1つを制御する電圧制御手段とを備え、
上記クロック制御手段、および電圧制御手段は、上記割り当て制御手段によって、その命令を実行させることが可能な第1の数のプロセッサよりも多い第2の数のプロセッサに並列して命令を実行させる際に、それぞれ、所定の基準の周波数よりも低い周波数のクロック信号、および所定の基準電圧よりも低い電源電圧または所定の基準の閾値電圧よりも高い閾値電圧を与える基板電圧を供給するように構成されていることを特徴とする。
請求項1のプロセッサシステムであって、
上記割り当て制御手段、クロック制御手段、および電圧制御手段は、上記命令に含まれる制御情報に基づいて、上記プロセッサの割り当て、クロック信号の周波数、および電源電圧または基板電圧を制御するように構成されていることを特徴とする。
請求項2のプロセッサシステムであって、
上記制御情報は、上記プロセッサの割り当て、クロック信号の周波数、および電源電圧または基板電圧の複数種類の組み合わせのうちの何れかを示す情報であることを特徴とする。
請求項1のプロセッサシステムであって、
さらに、上記命令が、複数のプロセッサによって並列に実行可能かどうかを解析する命令解析手段を備え、
上記割り当て制御手段、クロック制御手段、および電圧制御手段は、上記命令解析手段の解析結果に基づいて、上記プロセッサの割り当て、クロック信号の周波数、および電源電圧または基板電圧を制御するように構成されていることを特徴とする。
請求項4のプロセッサシステムであって、
上記命令解析手段は、さらに、上記命令による処理が所定の高負荷処理であるかどうかを解析するように構成されていることを特徴とする。
請求項5のプロセッサシステムであって、
上記所定の高負荷処理は、所定回数以上のループ処理を含むことを特徴とする。
請求項2および請求項4のうちの何れか1項のプロセッサシステムであって、
上記複数のプロセッサは、所定の上記基板電圧に対して、第1の閾値電圧を有するトランジスタを含むプロセッサと、上記第1の閾値電圧よりも高い第2の閾値電圧を有するトランジスタを含むプロセッサとを含み、
上記割り当て制御手段、クロック制御手段、および電圧制御手段は、上記命令に含まれる制御情報または上記命令解析手段の解析結果、および各プロセッサに含まれるトランジスタの閾値電圧に基づいて、上記プロセッサの割り当て、クロック信号の周波数、および電源電圧または基板電圧を制御するように構成されていることを特徴とする。
請求項1のプロセッサシステムであって、
上記電圧制御手段は、上記割り当て制御手段によって命令の実行を割り当てられないプロセッサへの電源電圧の供給を停止させるように構成されていることを特徴とする。
請求項1のプロセッサシステムであって、
さらに、上記各プロセッサが正常に動作するかどうかを示す情報を保持する故障情報保持手段を備え、
上記割り当て制御手段は、正常に動作するプロセッサにだけ、命令の実行を割り当てるように構成されていることを特徴とする。
請求項9のプロセッサシステムであって、
さらに、上記各プロセッサにテスト動作をさせて各プロセッサが正常に動作するかどうかを検出する故障検出手段を備えたことを特徴とする。
請求項10のプロセッサシステムであって、
上記故障検出手段は、各プロセッサに所定のテストプログラムを実行させ、その実行結果に基づいて、正常に動作するかどうかを検出するように構成されていることを特徴とする。
まず、本発明によって消費電力が低減されるメカニズムに関連する消費電力等とクロック周波数等との関係について説明する。
CMOSトランジスタ回路の消費電力と、クロック周波数および電源電圧との間には、リーク電流を無視すれば、概ね次のような関係がある。
ここで、
P :消費電力
K :トランジスタのスイッチング確率
C :駆動される負荷容量
Vdd:電源電圧
f :クロック周波数(トランジスタの動作周波数)である。
回路の遅延時間(ゲート遅延時間)と、電源電圧およびトランジスタの閾値電圧との間には、次のような関係がある。
ここで、
td :回路の遅延時間
C :駆動される負荷容量
Vdd:電源電圧
Vt :トランジスタの閾値電圧である。
電源電圧が2.5 Vのときの遅延時間をtd1、
電源電圧が1.75Vのときの遅延時間をtd2とすると、
td2/td1≒1.69となる。つまり、電源電圧が2.5Vから1.75Vに低下すると、遅延時間は約1.69倍になる。そこで、電源電圧が2.5Vでクロック周波数がfのときに適切に動作する回路は、電源電圧が1.75Vに低下しても、クロック周波数が約f/1.69≒0.59×f以下であれば動作させることができ、逆に、約0.59×fのクロック周波数で動作させる場合には、電源電圧を1.75Vまで低下させることができる。したがって、前記式(1)に示したように、クロック周波数を低くすることによって、そのこと自体による消費電力の低減効果に加えて、電源電圧を低下させることによる消費電力の低減効果が得られる。
ここで、
Ileak :リーク電流
S :Sファクタである。
実施形態1として、半導体集積回路で構成されたプロセッサシステムにおいて、命令に付加されたフラグに基づいて、命令をCPUとハードウェアエンジン(HWE)との何れのモジュール(機能ブロック)に実行させるかの割り当て、およびクロック周波数の制御が行われる例について説明する。
上記記憶部100は、実行される命令の命令コードが格納されるもので、例えばあらかじめ命令コードが記憶されたROMや、ハードディスクに記憶された命令コードがロードされるRAMなどによって構成される。上記命令コードには、CPU103およびHWE104のクロック周波数に関する動作モードを示す情報が含まれている。具体的には、例えば図2に示すように、命令コードは、命令の内容を示す命令コード本体に、その命令がCPU103またはHWE104の何れで実行されるかを示す割り当て制御フラグと、CPU103またはHWE104をそれぞれ動作させるクロック信号の周波数を示すクロック制御フラグとが付加されて成っている。上記クロック制御フラグは、より詳しくは、例えば図3に示すように、上位2ビットがCPU103に供給されるクロック信号の周波数を示し、下位2ビットがHWE104に供給されるクロック信号の周波数を示すようになっている。このようなフラグは、例えばプログラム設計者が付加することなどもできるが、後述する命令列最適化装置によって自動的に付加させることもできる。なお、必ずしも上記のようにCPU103とHWE104とで独立に全てのクロック周波数を指定し得るようにするのに限らず、所定のクロック周波数の組み合わせを指定し得るようにしてもよい。また、特にクロック周波数の指定がない場合に、最高のクロック周波数になるようにしてもよい。
一方、HWE104は、例えば、1つのまたは一連の命令による、MPEG−4演算や、ビタビ復号演算、積和演算などの特定の演算処理(定型処理)を高速に(少ない処理サイクル数で)、かつ、CPU103の処理とは独立して(いわゆる突き放しで)行うプロセッサである。(ここでは説明の簡単のために、例えば図2に示すアドレス0000〜0003のようなループ処理を高速に行えるとして説明する。)
SRAM105は、バス107を介してCPU103およびHWE104と接続され、CPU103やHWE104の処理における一時的なデータなどが格納される共有メモリである。なお、このようなメモリとしては、通常、高速な動作が可能なSRAM(Static RAM)が用いられるが、これに限るものではない。
次に、上記のような、各プロセッサの割り当ておよびクロック周波数を制御するためのフラグが付加された命令コードを生成する命令列最適化装置の例について説明する。
これによって、各割り当ての組み合わせごとに、各プロセッサによる各命令の実行に対して、その実行の際のクロック周波数が対応付けられるので、各割り当ての組み合わせについての消費電力(実際には各命令の実行に必要なクロック数の合計などでもよい)がそれぞれ求められる。
上記実施形態2の命令列最適化装置と同様に、命令コードにフラグを付加する、他の命令列最適化装置について説明する。なお、以下、前記実施形態1、2等と同様の機能を有する構成要素については同一の符号を付して説明を省略する。
次に、前記実施形態1のように命令コードに付加されたフラグに基づいてクロック周波数等を制御するのではなく、フラグを有しない通常の命令コードを用いても、同様に消費電力を低減できるプロセッサシステムの例を説明する。すなわち、このプロセッサシステムは、命令コードに付加されたフラグを検出する代わりに、実施形態2の命令列最適化装置のような命令の割り当ておよびクロック周波数を決定する機能を持たせて、その決定に基づいて、命令の割り当ておよびクロック周波数を制御するようになっている。
このプロセッサシステムの動作は、図15に示すように、概ね実施形態1、2(図5、9)の動作を組み合わせたものと同様である。
上記実施形態3のプロセッサシステムと同様に、フラグを有しない通常の命令コードを用いても消費電力を低減できる、他のプロセッサシステムについて説明する。
(S1151) 標準実行時間の算出(S1002)がなされた後、上記標準実行時間に基づいて、双方のプロセッサによって実行可能な命令が、それぞれ標準実行時間の短い方のプロセッサで実行されるように、割り当てが決定される。
前記実施形態1では、プロセッサの割り当て、およびクロック周波数の制御が共に命令コードに付加されたフラグに基づいて行われる一方、実施形態3では、共にプロセッサシステムによる命令コードの解析に基づいて行われる例を示したが、プロセッサの割り当てだけをフラグに基づいて行い、クロック周波数の制御は解析に基づいて行うようにしてもよい。
上記実施形態4のような、各プロセッサの割り当てを制御するためのフラグだけが付加された命令コードは、例えば図20に示すような命令列最適化装置によって生成することができる。
上記のようにクロック周波数が制御されるとともに、さらに、CPU103等に供給される電源電圧が制御されるプロセッサシステムの例について説明する。すなわち、クロック周波数が低くなると、回路の遅延マージンが大きくなるため、回路の遅延時間を長くすることができ、したがって、電源電圧を低くすることができる。そして、消費電力は電源電圧の2乗に比例するので、大幅な低消費電力化が可能になる。
上記のように電源電圧を制御するのに代えて、CPU103等が形成される半導体基板の基板電圧を制御するようにしてもよい。すなわち、半導体基板上に形成されたトランジスタの閾値電圧が高くなるように基板電圧を制御すると、回路の遅延時間は長くなる一方、トランジスタのリーク電流が小さくなる。そこで、クロック周波数が低くなって回路の遅延マージンが大きくなる際には、これに応じて閾値電圧が高くなるように基板電圧を制御することによって消費電力を低減することができる。
また、例えば図27に示すように、電源電圧制御部701と基板電圧制御部801とを両方とも設けて、電源電圧および基板電圧を共にクロック周波数に応じて制御するようにしてもよい。この場合、電源電圧制御部701および基板電圧制御部801にクロック周波数と対応して設定される電源電圧と基板電圧との組み合わせを半導体集積回路の特性等に応じて最適化することができる。
上記のようにクロック周波数が決定されると、消費電力およびプロセッサシステムの発熱量もほぼ定まることになる。そこで、例えば、図28に示すように半導体集積回路900を冷却する冷却ファンなどを有するクーリング装置901(冷却手段、冷却制御手段)をクロック制御信号に基づいて制御するようにしてもよい。より詳しくは、上記クーリング装置901は、例えばクロック周波数と対応させて所定の制御値が登録されたテーブルを参照して、冷却ファンの回転速度を制御することにより、クロック周波数、電源電圧(これは上記のようにクロック周波数に応じて決定される。)、およびリーク電流(これはクロック周波数に応じて決定された基板電圧によって定まる。)に応じた冷却能力で半導体集積回路900を冷却するようになっている。これにより、半導体集積回路900の熱暴走を確実に防止し、かつ、冷却のために要する消費電力を小さく抑えることができる。
上記の例では、複数のプロセッサ(CPU103およびHWE104)のうちの何れかを例えば最高クロック周波数で動作させる一方、他を上記最高クロック周波数よりも低いクロック周波数で動作させることによって、処理能力を低下させることなく消費電力を低減する例を示したが、複数のプロセッサに最高クロック周波数よりも低い周波数のクロック信号、および定格電圧よりも低い電源電圧を供給して並列に動作させることにより、やはり消費電力を低減するとともに、処理能力と消費電力との関係を柔軟に設定することができる。
上記のように構成されたプロセッサシステムでは、CPU910が命令コードに付加されたモード設定情報を検出し、電源電圧制御レジスタ701aおよび周波数制御レジスタ106cに図30に示すような値を設定することにより、動的に動作モードが変更され、各動作モードに応じた処理エンジン911〜914の割り当て、クロック周波数、および電源電圧で命令の実行がなされる。
上記実施形態10で説明したようなモード設定情報が付加された命令コードの生成方法は特に限定されず、例えばプログラム設計者がソースプログラム中に並列演算命令や単一プロセッサ演算命令などのアセンブラ命令とともに動作モードを指示する情報を記述し、これに基づいてコンパイラ等が生成するようにしてもよいが、プログラム設計者が、プログラム全体や所定の単位のプログラムモジュール等ごとに、高い処理能力を優先させるか、または低消費電力を優先させるかを指定するだけで、その指定に基づいて生成されるようにしてもよい。以下、そのような命令コードを生成する命令列最適化装置について説明する。
(S1605〜S1607) また、上記(S1601)の判定で並列処理が可能でなければ、例えばコンパイル時のオプション指定などとして、低消費電力を優先させる指示がなされているかどうかを判定し、低消費電力指示がなされていれば、超低消費モードで動作させることが決定される(S1606)一方、低消費電力指示がなされていなければ、Normalモードで動作させることが決定される(S1607)。なお、上記処理速度優先指示と低消費電力指示とは、択一的に指示されるものなので、実際には例えば処理速度優先指示がなされることによって低消費電力指示はなされていないと判定したり、処理速度優先指示がなされていないことによって低消費電力指示はなされていると判定したりするようにしてもよい。さらに、例えば高負荷処理であることを示す情報(従って処理速度が優先されるべきことが示される)など、実質的に処理速度や消費電力に対応する指示に応じて、上記のような判定がなされればよい。また、プロセッサシステムの仕様等に応じて、通常は(特に指示がない場合には)低消費モードが指定されるようにしたりしてもよい。
前記実施形態3のプロセッサシステムと同様に、モード設定情報が付加されていない通常の命令コードを用いても、同様に消費電力を低減できるプロセッサシステムの例を説明する。
それぞれのプロセッサを構成するトランジスタの閾値が互いに異なるプロセッサシステムの例を説明する。このプロセッサシステムは、図37に示すように、前記実施形態10(図29)の処理エンジン913・914に代えて、処理エンジン923・924を備えている。また、電源電圧制御部917に代えて、電源電圧制御部927を備えている。
複数の処理エンジンのうちの何れかに故障がある場合でも、処理能力を確保するとともに消費電力を低減できるプロセッサシステムについて説明する。
上記のように、故障している処理エンジンがあっても、それを補償する並列動作を行わせることにより、プロセッサシステムの性能を保証するとともに消費電力をある程度低減することができ、製造歩留まりを向上させることができる。
上記のように製造時などにだけテストするのに限らず、電源がONになるごとなどに、プロセッサシステム自体で処理エンジンの動作不良を検出して、故障している処理エンジンに演算処理が割り当てられないようにしてもよい。このプロセッサシステムには、例えば図44に示すように、実施形態14のフラッシュメモリ931に代えて故障レジスタ941(故障情報保持手段)が設けられるとともに、さらに、パターン発生器942と、比較回路943(故障検出手段)とが設けられている。
に出力される信号などを比較し、これらが一致するかどうかにより故障している処理エンジン911〜914を検出して、故障情報を故障レジスタ941に保持させるようになっている。
なお、テストパターンはランダムに発生させるものに限らず、あらかじめ設定されたテストパターンと、そのテストパターンが処理エンジン911〜914に入力された場合に出力されるべき出力パターン(期待値)とをフラッシュメモリなどの不揮発性メモリに記憶させておき、上記期待値と実際の出力パターンとを比較して、故障している処理エンジン911〜914を検出するようにしてもよい。また、上記のようなランダムテストパターン等がプロセッサシステムの外部から与えられるようにするなどしてもよい。さらに、所定のテストプログラムを実行させて、その演算結果で動作不良を検出するなどしてもよい。
101 フラグ検出部
102 命令割り当て制御部
103 CPU
104 HWE
105 SRAM
106 クロック制御部
106a クロックジェネレータ
106b 分周器
106c 周波数制御レジスタ
106c0〜106c3 周波数制御ビット
106d セレクタ
107 バス
201 記憶装置
202 命令解析部
203 標準実行時間推定部
204 換算実行時間算出部
205 割り当て・クロック周波数決定部
206 フラグ付加部
311 割り当て決定部
312 クロック周波数決定部
402 命令解析部
403 標準実行時間推定部
404 換算実行時間算出部
405 割り当て・クロック周波数決定部
511 割り当て決定部
512 クロック周波数決定部
601 フラグ検出部
602 命令解析部
701 電源電圧制御部
701a 電源電圧制御レジスタ
701a0〜701a3 アクティブ制御ビット、電源遮断制御ビット
701a4〜701a7 電源電圧制御ビット
701b 電源
706 フラグ付加部
801 基板電圧制御部
900 半導体集積回路
901 クーリング装置
910 CPU
911〜914 処理エンジン
916 クロック制御部
916d セレクタ
917 電源電圧制御部
923・924 処理エンジン
927 電源電圧制御部
931 フラッシュメモリ
936 クロック制御部
936d セレクタ
941 故障レジスタ
942 パターン発生器
943 比較回路
Claims (11)
- 互いに機能および性能が異なる複数のプロセッサを備えたプロセッサシステムであって、
上記プロセッサに実行させる命令を読み込み、プロセッサシステムで実行される命令の合計実行時間、上記プロセッサの性能、および上記命令に含まれる割り当て情報に基づいて、上記命令が実行される上記プロセッサの割り当てを制御する割り当て制御手段と、
上記割り当てにより各上記プロセッサに実行される上記命令に応じて、上記各プロセッサに供給するクロック信号の周波数を制御し、各プロセッサの所定の処理時間に基づいて、消費電力が小さくなるように、各プロセッサに供給するクロック信号の周波数を低下させるクロック制御手段と、
上記クロック制御手段による上記クロック信号の周波数の制御に対応して、上記各プロセッサに供給する電源電圧、および上記各プロセッサを構成するトランジスタの基板ノードに供給する基板電圧のうちの少なくとも何れか1つを制御する電圧制御手段とを備え、
上記クロック制御手段、および電圧制御手段は、上記割り当て制御手段によって、その命令を実行させることが可能な第1の数のプロセッサよりも多い第2の数のプロセッサに並列して命令を実行させる際に、それぞれ、所定の基準の周波数よりも低い周波数のクロック信号、および所定の基準電圧よりも低い電源電圧または所定の基準の閾値電圧よりも高い閾値電圧を与える基板電圧を供給するように構成されていることを特徴とするプロセッサシステム。 - 請求項1のプロセッサシステムであって、
上記割り当て制御手段、クロック制御手段、および電圧制御手段は、上記命令に含まれる制御情報に基づいて、上記プロセッサの割り当て、クロック信号の周波数、および電源電圧または基板電圧を制御するように構成されていることを特徴とするプロセッサシステム。 - 請求項2のプロセッサシステムであって、
上記制御情報は、上記プロセッサの割り当て、クロック信号の周波数、および電源電圧または基板電圧の複数種類の組み合わせのうちの何れかを示す情報であることを特徴とするプロセッサシステム。 - 請求項1のプロセッサシステムであって、
さらに、上記命令が、複数のプロセッサによって並列に実行可能かどうかを解析する命令解析手段を備え、
上記割り当て制御手段、クロック制御手段、および電圧制御手段は、上記命令解析手段の解析結果に基づいて、上記プロセッサの割り当て、クロック信号の周波数、および電源電圧または基板電圧を制御するように構成されていることを特徴とするプロセッサシステム。 - 請求項4のプロセッサシステムであって、
上記命令解析手段は、さらに、上記命令による処理が所定の高負荷処理であるかどうかを解析するように構成されていることを特徴とするプロセッサシステム。 - 請求項5のプロセッサシステムであって、
上記所定の高負荷処理は、所定回数以上のループ処理を含むことを特徴とするプロセッサシステム。 - 請求項2および請求項4のうちの何れか1項のプロセッサシステムであって、
上記複数のプロセッサは、所定の上記基板電圧に対して、第1の閾値電圧を有するトランジスタを含むプロセッサと、上記第1の閾値電圧よりも高い第2の閾値電圧を有するトランジスタを含むプロセッサとを含み、
上記割り当て制御手段、クロック制御手段、および電圧制御手段は、上記命令に含まれる制御情報または上記命令解析手段の解析結果、および各プロセッサに含まれるトランジスタの閾値電圧に基づいて、上記プロセッサの割り当て、クロック信号の周波数、および電源電圧または基板電圧を制御するように構成されていることを特徴とするプロセッサシステム。 - 請求項1のプロセッサシステムであって、
上記電圧制御手段は、上記割り当て制御手段によって命令の実行を割り当てられないプロセッサへの電源電圧の供給を停止させるように構成されていることを特徴とするプロセッサシステム。 - 請求項1のプロセッサシステムであって、
さらに、上記各プロセッサが正常に動作するかどうかを示す情報を保持する故障情報保持手段を備え、
上記割り当て制御手段は、正常に動作するプロセッサにだけ、命令の実行を割り当てるように構成されていることを特徴とするプロセッサシステム。 - 請求項9のプロセッサシステムであって、
さらに、上記各プロセッサにテスト動作をさせて各プロセッサが正常に動作するかどうかを検出する故障検出手段を備えたことを特徴とするプロセッサシステム。 - 請求項10のプロセッサシステムであって、
上記故障検出手段は、各プロセッサに所定のテストプログラムを実行させ、その実行結果に基づいて、正常に動作するかどうかを検出するように構成されていることを特徴とするプロセッサシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003366042A JP4549652B2 (ja) | 2003-10-27 | 2003-10-27 | プロセッサシステム |
US10/971,122 US7624295B2 (en) | 2003-10-27 | 2004-10-25 | Processor system, instruction sequence optimization device, and instruction sequence optimization program |
CNB2004100871066A CN1322397C (zh) | 2003-10-27 | 2004-10-27 | 处理器系统、指令序列优化装置和指令序列优化程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003366042A JP4549652B2 (ja) | 2003-10-27 | 2003-10-27 | プロセッサシステム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005128937A JP2005128937A (ja) | 2005-05-19 |
JP2005128937A5 JP2005128937A5 (ja) | 2006-10-12 |
JP4549652B2 true JP4549652B2 (ja) | 2010-09-22 |
Family
ID=34543761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003366042A Expired - Fee Related JP4549652B2 (ja) | 2003-10-27 | 2003-10-27 | プロセッサシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7624295B2 (ja) |
JP (1) | JP4549652B2 (ja) |
CN (1) | CN1322397C (ja) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005102047A (ja) * | 2003-09-26 | 2005-04-14 | Renesas Technology Corp | クロック入力回路 |
US20070083870A1 (en) * | 2005-07-29 | 2007-04-12 | Tomochika Kanakogi | Methods and apparatus for task sharing among a plurality of processors |
US7490254B2 (en) * | 2005-08-02 | 2009-02-10 | Advanced Micro Devices, Inc. | Increasing workload performance of one or more cores on multiple core processors |
CN100428114C (zh) * | 2005-09-15 | 2008-10-22 | 中芯国际集成电路制造(上海)有限公司 | 降低功耗的自适应电源系统与方法 |
JP5282349B2 (ja) * | 2006-02-15 | 2013-09-04 | 富士通株式会社 | マルチプロセッシングシステム |
JP4328334B2 (ja) | 2006-03-13 | 2009-09-09 | パナソニック株式会社 | 半導体集積回路装置 |
JP4808108B2 (ja) * | 2006-08-29 | 2011-11-02 | パナソニック株式会社 | プロセッサシステム |
KR101282139B1 (ko) | 2006-09-11 | 2013-07-04 | 삼성전자주식회사 | 별도 버튼을 이용하여 성능모드 변경이 가능한컴퓨터시스템 및 그 제어방법 |
JP4894915B2 (ja) * | 2007-03-29 | 2012-03-14 | 富士通株式会社 | 情報処理装置設計方法、情報処理装置設計プログラム |
EP2147362B1 (en) * | 2007-04-23 | 2011-12-14 | ST-Ericsson SA | Electronic device and method of performing a power management in an electronic device |
US9052892B2 (en) | 2007-06-04 | 2015-06-09 | Ericsson Modems, SA | Power supply management integrated circuit |
JP4975544B2 (ja) * | 2007-07-20 | 2012-07-11 | 富士通セミコンダクター株式会社 | シミュレーション装置及びプログラム |
JP4972522B2 (ja) * | 2007-10-31 | 2012-07-11 | 株式会社日立製作所 | データ処理システム |
JP4667443B2 (ja) * | 2007-11-21 | 2011-04-13 | パナソニック株式会社 | 半導体集積回路装置 |
JP5459207B2 (ja) * | 2008-06-30 | 2014-04-02 | 富士通株式会社 | 情報処理装置の性能調整装置及び方法 |
US8516293B2 (en) * | 2009-11-05 | 2013-08-20 | Novell, Inc. | System and method for implementing a cloud computer |
US8255010B2 (en) * | 2008-09-17 | 2012-08-28 | Qualcomm Incorporated | Methods and systems for state-driven power savings for WiMAX |
US8028181B2 (en) * | 2008-09-19 | 2011-09-27 | Intel Corporation | Processor power consumption control and voltage drop via micro-architectural bandwidth throttling |
JP5576605B2 (ja) | 2008-12-25 | 2014-08-20 | パナソニック株式会社 | プログラム変換装置およびプログラム変換方法 |
US8289981B1 (en) * | 2009-04-29 | 2012-10-16 | Trend Micro Incorporated | Apparatus and method for high-performance network content processing |
US9529864B2 (en) * | 2009-08-28 | 2016-12-27 | Microsoft Technology Licensing, Llc | Data mining electronic communications |
US20110145559A1 (en) * | 2009-12-16 | 2011-06-16 | Thomson Steven S | System and method for controlling central processing unit power with guaranteed steady state deadlines |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US8650426B2 (en) | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
US8775830B2 (en) | 2009-12-16 | 2014-07-08 | Qualcomm Incorporated | System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature |
US8689037B2 (en) | 2009-12-16 | 2014-04-01 | Qualcomm Incorporated | System and method for asynchronously and independently controlling core clocks in a multicore central processing unit |
US9176572B2 (en) | 2009-12-16 | 2015-11-03 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9563250B2 (en) | 2009-12-16 | 2017-02-07 | Qualcomm Incorporated | System and method for controlling central processing unit power based on inferred workload parallelism |
US9128705B2 (en) | 2009-12-16 | 2015-09-08 | Qualcomm Incorporated | System and method for controlling central processing unit power with reduced frequency oscillations |
US8909962B2 (en) | 2009-12-16 | 2014-12-09 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
JP2012138020A (ja) * | 2010-12-27 | 2012-07-19 | Panasonic Corp | マルチチップシステム、通信機器、映像音声装置および自動車 |
US8468373B2 (en) * | 2011-01-14 | 2013-06-18 | Apple Inc. | Modifying performance parameters in multiple circuits according to a performance state table upon receiving a request to change a performance state |
US8627021B2 (en) * | 2011-08-31 | 2014-01-07 | Qualcomm Incorporated | Method and apparatus for load-based prefetch access |
JP5226848B2 (ja) * | 2011-11-07 | 2013-07-03 | 富士通セミコンダクター株式会社 | シミュレーション装置及びプログラム |
EP2775395B1 (en) | 2013-03-07 | 2020-11-25 | Nxp B.V. | Integrated circuit, electronic device and instruction scheduling method |
JP6338379B2 (ja) * | 2014-01-20 | 2018-06-06 | キヤノン株式会社 | 情報処理装置及び情報処理装置の制御方法 |
EP2927806B1 (en) * | 2014-04-01 | 2018-12-26 | Nxp B.V. | Integrated circuit, electronic device and ic operation method |
US9378536B2 (en) * | 2014-04-30 | 2016-06-28 | Qualcomm Incorporated | CPU/GPU DCVS co-optimization for reducing power consumption in graphics frame processing |
US9678529B2 (en) * | 2014-09-02 | 2017-06-13 | Nvidia Corporation | Efficiency-based clock frequency adjustment |
CN105653004A (zh) * | 2014-11-12 | 2016-06-08 | 鸿富锦精密工业(深圳)有限公司 | 电源控制装置 |
JP6072090B2 (ja) * | 2015-01-16 | 2017-02-01 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、データ処理方法 |
GB2539189B (en) * | 2015-06-05 | 2019-03-13 | Advanced Risc Mach Ltd | Determining a predicted behaviour for processing of instructions |
US10579125B2 (en) * | 2016-02-27 | 2020-03-03 | Intel Corporation | Processors, methods, and systems to adjust maximum clock frequencies based on instruction type |
JP6823251B2 (ja) * | 2016-10-13 | 2021-02-03 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP7166884B2 (ja) * | 2018-11-14 | 2022-11-08 | キヤノン株式会社 | ソフトウェアの改ざんを検知することが可能な情報処理装置 |
US11355005B2 (en) * | 2019-07-22 | 2022-06-07 | Battelle Memorial Institute | Aquatic organism tracking devices, systems and associated methods |
CN114222084B (zh) * | 2021-12-01 | 2023-05-23 | 联想(北京)有限公司 | 一种控制方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002169790A (ja) * | 2000-12-01 | 2002-06-14 | Sharp Corp | 半導体集積回路 |
JP2003131873A (ja) * | 1995-05-02 | 2003-05-09 | Hitachi Ltd | マイクロコンピュータ |
JP2003263311A (ja) * | 2002-03-07 | 2003-09-19 | Seiko Epson Corp | 並列演算処理装置及び並列演算処理用の命令コードのデータ構造、並びに並列演算処理用の命令コードの生成方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3648253A (en) * | 1969-12-10 | 1972-03-07 | Ibm | Program scheduler for processing systems |
US5452401A (en) | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US5867726A (en) | 1995-05-02 | 1999-02-02 | Hitachi, Ltd. | Microcomputer |
JP3520611B2 (ja) | 1995-07-06 | 2004-04-19 | 株式会社日立製作所 | プロセッサの制御方法 |
JPH0934599A (ja) | 1995-07-21 | 1997-02-07 | Toshiba Corp | プロセッサシステム |
JPH09138716A (ja) | 1995-11-14 | 1997-05-27 | Toshiba Corp | 電子計算機 |
US5630110A (en) * | 1996-03-01 | 1997-05-13 | Samsung Electronics Co., Ltd. | Method and apparatus for enhancing performance of a processor |
TW382670B (en) * | 1996-11-21 | 2000-02-21 | Hitachi Ltd | Low power processor |
US5889947A (en) * | 1996-12-16 | 1999-03-30 | International Business Machines Corporation | Apparatus and method for executing instructions that select a storage location for output values in response to an operation count |
US6463550B1 (en) * | 1998-06-04 | 2002-10-08 | Compaq Information Technologies Group, L.P. | Computer system implementing fault detection and isolation using unique identification codes stored in non-volatile memory |
JP2000112756A (ja) | 1998-10-08 | 2000-04-21 | Toshiba Corp | Cpu動作制御装置および方法 |
WO2000079405A1 (fr) * | 1999-06-21 | 2000-12-28 | Hitachi, Ltd. | Processeur de donnees |
US6611918B1 (en) * | 1999-12-21 | 2003-08-26 | Intel Corporation | Method and apparatus for changing bias levels to reduce CMOS leakage of a real time clock when switching to a battery mode of operation |
JP3850234B2 (ja) | 2000-06-13 | 2006-11-29 | 旭化成ケミカルズ株式会社 | エアバッグ用基布およびエアバッグ |
WO2002039242A1 (en) * | 2000-10-31 | 2002-05-16 | Millennial Net, Inc. | Networked processing system with optimized power efficiency |
JP3877518B2 (ja) | 2000-12-13 | 2007-02-07 | 松下電器産業株式会社 | プロセッサの電力制御装置 |
US6993669B2 (en) | 2001-04-18 | 2006-01-31 | Gallitzin Allegheny Llc | Low power clocking systems and methods |
JP3685401B2 (ja) * | 2001-12-26 | 2005-08-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Cpu制御方法、これを用いたコンピュータ装置及びcpu並びにプログラム |
US7191350B2 (en) * | 2002-01-30 | 2007-03-13 | Matsushita Electric Industrial Co., Ltd. | Instruction conversion apparatus and instruction conversion method providing power control information, program and circuit for implementing the instruction conversion, and microprocessor for executing the converted instruction |
EP1351117A1 (en) * | 2002-04-03 | 2003-10-08 | Hewlett-Packard Company | Data processing system and method |
US7634668B2 (en) | 2002-08-22 | 2009-12-15 | Nvidia Corporation | Method and apparatus for adaptive power consumption |
JP2004288025A (ja) * | 2003-03-24 | 2004-10-14 | Fuji Xerox Co Ltd | サービス処理装置、サービス処理システム、サービス処理システムの元データ保管方法、及びサービス処理プログラム |
US7334142B2 (en) * | 2004-01-22 | 2008-02-19 | International Business Machines Corporation | Reducing power consumption in a logically partitioned data processing system with operating system call that indicates a selected processor is unneeded for a period of time |
US7206950B2 (en) * | 2004-06-16 | 2007-04-17 | Matsushita Electric Industrial Co., Ltd. | Processor system, instruction sequence optimization device, and instruction sequence optimization program |
-
2003
- 2003-10-27 JP JP2003366042A patent/JP4549652B2/ja not_active Expired - Fee Related
-
2004
- 2004-10-25 US US10/971,122 patent/US7624295B2/en active Active
- 2004-10-27 CN CNB2004100871066A patent/CN1322397C/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003131873A (ja) * | 1995-05-02 | 2003-05-09 | Hitachi Ltd | マイクロコンピュータ |
JP2002169790A (ja) * | 2000-12-01 | 2002-06-14 | Sharp Corp | 半導体集積回路 |
JP2003263311A (ja) * | 2002-03-07 | 2003-09-19 | Seiko Epson Corp | 並列演算処理装置及び並列演算処理用の命令コードのデータ構造、並びに並列演算処理用の命令コードの生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1322397C (zh) | 2007-06-20 |
US7624295B2 (en) | 2009-11-24 |
CN1612088A (zh) | 2005-05-04 |
US20050102560A1 (en) | 2005-05-12 |
JP2005128937A (ja) | 2005-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4549652B2 (ja) | プロセッサシステム | |
US7571342B2 (en) | Processor system, instruction sequence optimization device, and instruction sequence optimization program | |
JP4082706B2 (ja) | マルチプロセッサシステム及びマルチグレイン並列化コンパイラ | |
US9244883B2 (en) | Reconfigurable processor and method of reconfiguring the same | |
US7539879B2 (en) | Register file gating to reduce microprocessor power dissipation | |
US7500126B2 (en) | Arrangement and method for controlling power modes of hardware resources | |
US9619240B2 (en) | Core-level dynamic voltage and frequency scaling in a chip multiprocessor | |
US8051412B2 (en) | Global compiler for controlling heterogeneous multiprocessor | |
JP4764026B2 (ja) | ダイナミック電圧スケーリングによる低消費電力集積回路装置 | |
JP2009069921A (ja) | マルチプロセッサシステム | |
US10551868B2 (en) | Multiprocessor systems having processors with different processing capabilities connecting to a clock generator | |
JP2004199139A (ja) | プロセッサシステム、命令列最適化装置、および命令列最適化プログラム | |
US20020112193A1 (en) | Power control of a processor using hardware structures controlled by a compiler with an accumulated instruction profile | |
JP2007305148A (ja) | マルチプロセッサシステム | |
JP2011129147A (ja) | プロセッサシステム、命令列最適化装置、および命令列最適化プログラム | |
US9389914B2 (en) | Information processing apparatus and control method thereof | |
WO2003090055A1 (en) | Power control of a processor using hardware structures controlled by a compiler with an accumulated instruction profile | |
JP2014052918A (ja) | 演算装置およびその制御方法 | |
JP5247037B2 (ja) | 半導体集積回路及びその制御方法 | |
JP2004199630A (ja) | データ処理装置 | |
JP2004334641A (ja) | 情報処理装置および記録媒体、並びにプロセッサ | |
JP2009193243A (ja) | プロセッサ、プロセッサの実行制御方法及びそのプロセッサのためのプログラム生成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060830 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060830 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090324 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090522 |
|
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: 20100615 |
|
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: 20100707 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4549652 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130716 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |