JP2002189602A - プロセッサ及びプロセッサの発熱予測制御プログラムを記録した記録媒体 - Google Patents

プロセッサ及びプロセッサの発熱予測制御プログラムを記録した記録媒体

Info

Publication number
JP2002189602A
JP2002189602A JP2000390506A JP2000390506A JP2002189602A JP 2002189602 A JP2002189602 A JP 2002189602A JP 2000390506 A JP2000390506 A JP 2000390506A JP 2000390506 A JP2000390506 A JP 2000390506A JP 2002189602 A JP2002189602 A JP 2002189602A
Authority
JP
Japan
Prior art keywords
processor
temperature
heat generation
tickets
register
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
JP2000390506A
Other languages
English (en)
Inventor
Takashi Fujiwara
崇 藤原
Shigehiro Asano
滋博 浅野
Atsushi Kunimatsu
敦 国松
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000390506A priority Critical patent/JP2002189602A/ja
Publication of JP2002189602A publication Critical patent/JP2002189602A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 この発明は、発熱量とパフォーマンスを調和
させて制御するプロセッサ及びプロセッサの発熱予測制
御プログラムを記録した記録媒体を提供することを課題
とする。 【解決手段】 この発明は、素子または機能ブロック2
毎に発熱量と相関関係のある発熱ポイントを設け、活性
化している素子または機能ブロック2の発熱ポイントを
カウントしてチップ全体の発熱量およびチップ温度を予
測し、プログラムの実行を制御するように構成される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、発熱量及びチップ
温度を予測し、予測をプログラムの実行に反映させたプ
ロセッサ及びプロセッサの発熱予測制御プログラムを記
録した記録媒体に関する。
【0002】
【従来の技術】マイクロプロセッサに代表される半導体
機器は近年の高周波数化に伴い、素子から発せられる発
熱量が増大する傾向にある。素子の温度が上昇すること
で、一時的な動作不良あるいは半永久的な故障を引き起
こすことがある。この問題を回避するために、従来では
一般的に次のような対策がとられていた。
【0003】(1)素子が最大の発熱をしたときにも温
度が規定値以上に上がらないように機器に十分な放熱処
理および放熱装置を付ける。
【0004】(2)機器の放熱が一定という制約に基づ
いて、素子の動作周波数を下げる。
【0005】(3)素子の温度変化を監視し、規定値以
上に温度が上昇した場合にはダイナミックに動作周波数
を下げる。
【0006】一方、家庭用ゲーム機などで代表される一
般消費者向けの半導体機器においては、高性能と同時に
低価格であることが求められている。そこで、上記
(1)の対策では十分な放熱を施すにはコストがかさ
み、現実的ではない。また、上記(2)の対策では必要
な性能が達成できない。
【0007】さらに、動作周波数をダイナミックに変更
する上記(3)の対策では、機器の放熱能力に応じた最
大の周波数で動作せることができるという長所がある。
しかしながら、この対策ではクリティカルな処理が必要
なときに周波数が低下していたり、逆にクリティカルで
ないのに最大の周波数で動作していたりという、要求性
能と動作周波数のミスマッチが起こる可能性がある。例
えばゲーム機においては、動作周波数の低下が反応速度
を悪化させたり、描画能力の低下により動画のこま落ち
が発生する。また、素子の温度に基づいて動作周波数を
変更した場合には、素子のばらつきにより素子毎に温度
上昇が異なる可能性があり、製品毎の動作が異なること
が考えられ、ゲーム機には向いていなかった。
【0008】
【発明が解決しようとする課題】以上説明したように、
低価格指向の半導体機器における従来の発熱対策にあっ
ては、温度上昇に伴って動作周波数をダイナミックに変
化させるといった対策が有効であった。しかし、このよ
うな対策にあっては、機器のパフォーマンスと動作周波
数との間にミスマッチが発生するおそれがあり、十分な
パフォーマンスを得ることができないといった不具合を
招いていた。また、動作時の温度上昇の違いにより製品
毎に動作が異なってしまうおそれもあった。
【0009】そこで、この発明は、上記に鑑みてなされ
たものであり、その目的とするところは、発熱量とパフ
ォーマンスを調和させて制御するプロセッサ及びプロセ
ッサの発熱予測制御プログラムを記録した記録媒体を提
供することにある。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、課題を解決するための第1の手段は、機能ブロック
が活性化されているか否かを検出する検出回路と、前記
検出回路により前記機能ブロックの活性化が検出されて
前記機能ブロックが発熱した時に、前記機能ブロックの
発熱量に対応した発熱ポイントを出力する発熱ポイント
出力レジスタとを備えた複数の機能ブロックと、プロセ
ッサ全体の発熱ポイントを保持する発熱ポイント保持レ
ジスタと、前記発熱ポイント保持レジスタに保持された
値を、時間経過による放熱量に基づいて補正し、補正し
た値に活性化されている前記機能ブロックの発熱ポイン
ト出力レジスタから出力された発熱ポイントを加え、前
記発熱ポイント保持レジスタの値を更新する演算器とを
具備し、前記発熱ポイント保持レジスタに保持された発
熱ポイントに基づいて現在のプロセッサの予測温度を求
め、以後実行可能な複数の特定の処理のいずれか1つの
特定の処理を実行した場合のプロセッサの上昇温度を、
前記特定の処理に対応した発熱ポイントを上昇温度に換
算して求め、前記予測温度に前記上昇温度を加えた値か
ら、時間経過の放熱による下降温度を差し引いた値が、
前記プロセッサの動作温度の許容制限値を越えない前記
特定の処理が選択されて実行されることを特徴とする。
【0011】第2の手段は、プロセッサの単位時間あた
りの放熱量に対応した枚数のチケットが単位時間毎に増
加又は減少し、増加又は減少する前記チケットを保持す
るチケット保持レジスタと、機能ブロックが活性化され
ているか否かを検出する検出回路と、前記検出回路によ
り前記機能ブロックの活性化が検出されて前記機能ブロ
ックが発熱した時に、前記機能ブロックの発熱量に対応
した枚数のチケットを出力するチケット出力レジスタを
備えた複数の機能ブロックと、前記機能ブロックのチケ
ット出力レジスタから出力されたチケットの枚数を加え
て前記機能ブロックの総チケット数を求め、前記チケッ
ト保持レジスタの値から前記総チケット数を引き、引い
た値に単位時間あたりのチケット増加分又は減少分を加
えて前記チケット保持レジスタを更新する演算器とを具
備し、前記チケット保持レジスタに保持されたチケット
枚数の範囲内で、処理に必要なチケット枚数がそれぞれ
決められた複数の特定の処理の中から、前記プロセッサ
の動作温度の許容制限値を越えない1つの前記特定の処
理が選択されて実行されることを特徴とする。
【0012】第3の手段は、機能ブロックが活性化され
ているか否かを検出する検出回路と、前記検出回路によ
り前記機能ブロックの活性化が検出されて前記機能ブロ
ックが発熱した時に、前記機能ブロックの発熱量に対応
した発熱ポイントを出力する発熱ポイント出力レジスタ
とを備えた複数の機能ブロックと、プロセッサ全体の発
熱ポイントを保持する発熱ポイント保持レジスタと、前
記発熱ポイント保持レジスタに保持された値を、時間経
過による放熱量に基づいて補正し、補正した値に活性化
されている前記機能ブロックの発熱ポイント出力レジス
タから出力された発熱ポイントを加え、前記発熱ポイン
ト保持レジスタの値を更新する演算器とを具備したプロ
セッサが実行する発熱予測制御プログラムを記録した記
録媒体であって、前記発熱ポイント保持レジスタに保持
された発熱ポイントに基づいて現在のプロセッサの予測
温度を求め、以後実行可能な複数の特定の処理のいずれ
か1つの特定の処理を実行した場合のプロセッサの上昇
温度を、前記特定の処理に対応した発熱ポイントを上昇
温度に換算して求め、前記予測温度に前記上昇温度を加
えた値から、時間経過の放熱による下降温度を差し引い
た値が、前記プロセッサの動作温度の許容制限値を越え
ない前記特定の処理を選択して実行させることを特徴と
する。
【0013】第4の手段は、プロセッサの単位時間あた
りの放熱量に対応した枚数のチケットが単位時間毎に増
加又は減少し、増加又は減少する前記チケットを保持す
るチケット保持レジスタと、機能ブロックが活性化され
ているか否かを検出する検出回路と、前記検出回路によ
り前記機能ブロックの活性化が検出されて前記機能ブロ
ックが発熱した時に、前記機能ブロックの発熱量に対応
した枚数のチケットを出力するチケット出力レジスタを
備えた複数の機能ブロックと、前記機能ブロックのチケ
ット出力レジスタから出力されたチケットの枚数を加え
て前記機能ブロックの総チケット数を求め、前記チケッ
ト保持レジスタの値から前記総チケット数を引き、引い
た値に単位時間あたりのチケット増加分又は減少分を加
えて前記チケット保持レジスタを更新する演算器とを具
備したプロセッサが実行する発熱予測制御プログラムを
記録した記録媒体であって、前記チケット保持レジスタ
に保持されたチケット枚数の範囲内で、処理に必要なチ
ケット枚数がそれぞれ決められた複数の特定の処理の中
から、前記プロセッサの動作温度の許容制限値を越えな
い1つの前記特定の処理を選択して実行させることを特
徴とする。
【0014】
【発明の実施の形態】以下、図面を用いてこの発明の一
実施形態を説明する。
【0015】本発明のプロセッサは、チップが大規模、
高周波数化するにつれて問題となる発熱を考慮し、プロ
グラム的に並列度が余りなくクリティカルな部分でない
時は発熱を抑え、並列度が大きくプログラム的にクリテ
ィカルとなる部分では最高のパフォーマンスを出せるよ
うに、発熱をソフトウェアから制御可能としたものであ
る。
【0016】本発明では、チップ内部の活性化している
素子または機能ブロック毎に発熱量に応じた発熱ポイン
トを設定する。発熱量そのものを発熱ポイントとしても
よく、また全ての素子の発熱量が等しければ、チップ活
性化率で代用することもできる。命令実行中に活性化し
ている部分の発熱ポイントをカウントすることにより、
ある時点でのチップ全体の発熱ポイントを算出する。素
子や機能ブロック等の発熱ポイントは設計時にCADツ
ールなどで見積もった発熱量を基に決定する。このカウ
ントしたチップの発熱ポイントをプログラムの動作にフ
ィードバックすることで不要な発熱を抑え、クリティカ
ルな処理が必要なときに周波数が低下することがないよ
うにする。
【0017】ここで、素子の直接的な温度ではなく、素
子または機能ブロックの活性化状態に応じた発熱ポイン
トを用いることにより、異なるチップであっても同じプ
ログラムであれば同じ動作をすることが保証され、実際
の温度を測定しそれをプログラムにフィードバックした
場合のようにチップ毎のばらつきによる動作の違いは発
生しなくなる。
【0018】プログラムは、チップの発熱ポイントまた
はこれを基に予測されたチップ温度を読み出すことによ
り、機器の性能と発熱量のトレードオフを選択できるよ
うにする。このように、チップの発熱量をプログラムか
ら知ることができる手段を設けることにより、プログラ
ムのクリティカルでない部分では発熱を十分抑えたプロ
グラムを実行し、クリティカルな部分では発熱と性能の
トレードオフを考慮したプログラムを実行するようにす
る。
【0019】図1はこの発明の一実施形態に係るプロセ
ッサの発熱ポイントをプログラムが認識する様子を示す
図である。
【0020】図1において、上述したように、チップ1
の機能ブロック2毎に発熱ポイントを設ける。この発熱
ポイントは、上述したようにプロセッサの設計時にCA
Dやシミュレーション等により見積もり評価して予め用
意する。例えば図1において機能ブロック2(-1)の発
熱ポイントは「1」、機能ブロック2(-2)及び機能ブ
ロック2(-3)の発熱ポイントは「3」、機能ブロック
2(-4)の発熱ポイントは「4」、機能ブロック2(-
5)の発熱ポイントは「5」、機能ブロック2(-6)の
発熱ポイントは「7」、機能ブロック2(-7)の発熱ポ
イントは「10」とする。このように設定された発熱ポ
イントを例えばメモリマップしたレジスタ3(以下、K
レジスタと呼ぶ)に割り付けておき、プログラム4から
読めるようにする。図1では、例えば機能ブロック2
(-1)、(-5)、(-6)、(-7)が活性化されている
と、それぞれの機能ブロック2の発熱ポイントが加算さ
れて、加算値23(=1+5+7+10)がKレジスタ
3に保持される。
【0021】このKレジスタ3の値はチップ1の放熱に
相当し、規定した周囲の温度(常温)とKレジスタ3の
値の差に比例した割合で値(温度)を減少させる。素子
の放熱では温度が下がっても周囲温度まで下がるのが限
界なので、周囲温度に相当するKレジスタ3の下限値を
設け、この下限値に達した場合はKレジスタ3の値の減
少を中止する。また、予測温度がある一定以上に達した
場合には動作周波数を低下させる機構を設けておく。
【0022】図2は図1に示すKレジスタ3の内容を更
新する構成を示す図である。図2において、更新に必要
な構成として、減算器21、加算器22を有し、それぞ
れの機能ブロック2は、活性化検出回路23ならびに発
熱ポイントレジスタ24を備えている。減算器21は、
現在のKレジスタ3の値からチップ全体の単位時間あた
りに減少する発熱ポイントを減じる回路である。単位時
間あたりに減少する発熱ポイントは、現在のKレジスタ
3の値と外界の温度により決定される値、もしくはある
決められた固定値とする。
【0023】各機能ブロック2に備えられた活性化検出
回路23は、機能ブロック2が活性化しているか否かを
判定する回路である。また、活性化検出回路23は機能
ブロック2が活性化していると判定した場合は、発熱ポ
イントレジスタ24に格納されている対応する機能ブロ
ック2の発熱ポイントを加算器22に出力する。加算器
22は、活性化している機能ブロック2の発熱ポイント
レジスタ24から出力された発熱ポイントと、現在のK
レジスタ3の値を補正した値、すなわち減算器21の出
力を加算し、加算値をKレジスタ3の更新値とする。
【0024】図3は活性化している機能ブロックを検出
する検出例を示す図である。この例では、機能ブロック
となる例えば各コプロセッサ31は、コアモジュール3
2と結合しており、コアモジュール32が各コプロセッ
サ31を必要に応じて起動する。起動されたコプロセッ
サ31はコアモジュール32から与えられたデータを使
い計算し、結果をコアモジュール32に与える。この場
合に、コアモジュール32はコプロセッサ31を起動し
た時に、各コプロセッサ31に備えられたビジーレジス
タ33のビジーフラグを立てる。ビジーフラグは、コア
モジュール32がコプロセッサ31から処理結果を与え
られた時、もしくはコプロセッサ31がコアモジュール
32に処理結果を与えた時に落とされる。図2に示す活
性化検出回路23は、このビジーフラグを検出すること
により各機能ブロックのコプロセッサ31の活性化状況
を判定する。
【0025】このようにして得られるチップ1の発熱ポ
イントに基づいて、チップ1の温度上昇を予測する。プ
ログラム4がこのチップ温度を知ることでプログラムの
動作を変更し、処理量を可変にすることで発熱を制御す
る。例えば、プログラム4のクリティカルな部分の直前
で温度が規定した値に近づいていることがわかれば、画
像の質を落とすなどして処理量を減らし、温度上昇を抑
えることでクリティカルな部分でも素子の温度が規定値
より上がらないようにする。
【0026】次に、プログラムが素子又は機能ブロック
2の温度を知ることによってどのように制御を行うの
か、具体例を挙げて説明する。
【0027】一般に発熱は、プロセッサで行われる様々
なアクティビティによって変動する。理想的には、プロ
セッサで行われる様々な命令毎に機能ブロック2や素子
の発熱ポイントを求め、この発熱ポイントに基づいて各
命令の発熱量を予測して温度上昇が見積もれるようにす
ることである。しかし、この方法では発熱量を見積もる
ために命令毎に発熱量の加算を行わなければならず、効
率がよくない。そこで、発熱量を見積もる単位を命令毎
ではなく、プログラムの中の関数コールや、サブルーチ
ンレベルで行うことで発熱量の加算の手間を減らすこと
ができる。この方法では、予めシミュレーションなどに
おいてプログラム中の関数やサブルーチンが実行された
時に活性化される機能ブロック2や素子の発熱ポイント
を算出し、プログラムの実行時にこの見積もりに見合っ
た処理を行うことで温度上昇を一定に抑える。
【0028】例えばプロセッサが以下に示すような状態
にあるとする。
【0029】(1)現在のチップ1の温度が110℃
で、115℃までが許容される動作範囲である。
【0030】(2)単位時間当たりのチップ1の発熱ポ
イントが40の場合にはチップ1の温度は3℃上昇し、
発熱ポイントが60の場合にはチップ1の温度は5℃上
昇し、発熱ポイントが80の場合にはチップ1の温度は
8℃上昇する。
【0031】(3)周囲温度を25℃と考え、これから
実行しようとするサブルーチンA,B,Cの違いによる
温度低下の割合は誤差範囲と仮定し、単位時間当たり1
℃チップ温度が下がる。
【0032】このような状態において、これから呼び出
そうとするサブルーチンにサブルーチンA,B,Cの3
つの選択肢があったとする。サブルーチンAの単位時間
当たりのチップ発熱ポイントは40、サブルーチンBの
それは60、サブルーチンCのそれは80とすると、そ
れぞれのサブルーチンA,B,Cを実行した場合のチッ
プ1の予測温度は、以下に示すようになる。なお、各サ
ブルーチンの発熱ポイントは予めシミュレーションなど
で求めておく。
【0033】サブルーチンA=110(現在のチップの
温度)+3(発熱ポイントに基づいて換算した上昇温
度)−1(放熱による下降温度)=112<115(許
容動作温度) サブルーチンB=110(同上)+5(発熱ポイントに
基づいて換算した上昇温度)−1(同上)=114<1
15(許容動作温度) サブルーチンC=110(同上)+8(発熱ポイントに
基づいて換算した上昇温度)−1(同上)=117>1
15(許容動作温度) このような処理のプログラム例を図4に示す。図4にお
いて、 LIMITTEMP :許容動作温度 RISETEMPA :サブルーチンAの発熱ポイント RISETEMPB :サブルーチンBの発熱ポイント RISETEMPC :サブルーチンCの発熱ポイント Point2Temp() :発熱ポイントを温度に変換する関数 GetKReg() :Kレジスタ3の値を得る関数 EstimateP2T() :各機能ブロックの発熱ポイントを温度
に変換し、かつ現在のチップの予測温度から放熱温度を
見積もる関数 である。上記Point2Tempの関数により現在のチップの予
測温度が認識でき、EstimateP2T の関数により各機能ブ
ロック2の発熱ポイントが温度に換算され、さらに現在
のチップ温度から放熱温度が見積もられる。
【0034】このようなプログラムを実行して得られる
予測結果から、実行できるサブルーチンは、サブルーチ
ンAまたはBであることがわかる。これにより、チップ
の温度が動作許容範囲内に収まる範囲でプロセッサが最
大の性能を達成するように次に実行する処理を選択する
ようにすればよい。
【0035】従って、このような実施形態においては、
直接測定したチップの温度を用いるのではなく、発熱ポ
イントを用いることにより、チップのばらつきによるプ
ログラム動作の違いを無くすことができる。また、チッ
プの素子や機能ブロックの活性化の度合をプログラムに
フィードバックすることにより不要な発熱を抑制するこ
とが可能となり、プログラムでクリティカルな処理が必
要な場合には動作周波数が低下することがないように制
御することが可能となる。
【0036】次に、この発明の他の実施形態を説明す
る。
【0037】この実施形態の特徴とするところは、温度
を直接プログラムに見せるのではなく、温度と相関をも
ったチケットという概念を導入したことにある。チケッ
トは、例えばレジスタ(以下、Tレジスタと呼ぶ)に保
存され、このTレジスタはプログラムから見えるように
しておく。ある目標とする定常状態の温度(Ts)での
単位時間当たりの放熱量QTsとバランスした発熱ポイ
ントに基づいて発行するチケット数tを求める。チケッ
ト数tを全て消費した場合には、放熱量QTsの熱を発
生するが、放熱とのバランスが取れてるので温度Ts以
上にはならないことが保証される。チケットと発熱ポイ
ントの間は比例関係にあればよいので、ここでは、チケ
ット数=発熱ポイントと考える。
【0038】チケットは、単位時間毎に決められた枚数
(ここではt枚)増加し、命令列を実行する場合にそれ
に対応したチケットを所得して実行を行い、チケット数
はその分だけ自動的に減少する。ただし、チケットを節
約して実行しているとチケット枚数がどんどん増えてし
まい、大量に一度にチケットを使用して命令列を実行し
てしまうと、制限している温度を一時的に越えてしまう
ことが考えられる。そこで、チケットの保持できる枚数
は一度にチケットを大量に使用しても、制限温度を越え
ないようなチケット枚数を上限値とする。
【0039】また、発熱ポイントとチップ温度との相関
関係が正しくなく予想温度と実際の温度がずれている場
合に備え、実際のチップ温度も測定しておき、チップの
温度が上限値を越えてしまった場合には、動作周波数を
落としてチップ温度を下げる機能、もしくはチップの動
作そのものを停止する機能を備えている。リセットがか
かった場合には、Tレジスタの値は0になる。Tレジス
タの値は一般のプログラムからは設定できないようにし
て、プログラマの不注意もしくは故意に変更できない。
例えば、Tレジスタはスーパーバイザモードでしか変更
できず、一般のアプリケーションプログラムで設定でき
ないようにすることは容易に実現できる。
【0040】このようにチケットにより発熱量を制限す
ることで温度をある一定以上にならないようにし、プロ
グラムの並列度があまりなくクリティカルでない部分で
はチケットを温存し、並列度が多くあるプログラムの部
分やクリティカルな部分では温存していたチケットをフ
ルに使い多くの機能ブロックを使って処理を行うことが
可能になる。なお、Tレジスタの値は、単位時間毎に減
少するようにし、各機能ブロックや素子が動作するとそ
の発熱量に相当したチケット枚数が自動的に増加し、減
少の割合を周囲温度を一定として目標とした温度での放
熱量と等しい熱を発生する分のチケット枚数にしてチケ
ットの増減を反転し、指定した温度以上にならないよう
制御するようにしてもよい。この場合に、Tレジスタの
下限値は0とし、リセット時には一度にチケットを発行
しても規定温度を超えない枚数とする。
【0041】図5は上記Tレジスタの値を更新する構成
を示す図である。図5において、各機能ブロック2の検
出回路51は、図2に示す検出回路23と同様に機能ブ
ロック2の活性化を検出し、FTレジスタ52に保存さ
れている発熱ポイントと相関を持った実行に必要なチケ
ット数を出力する回路である。各機能ブロック2の消費
チケット数を加算器53で加算して総チケット数を求め
る。この加算値が、実行にかかった総チケット数であ
る。現在のTレジスタ54の値からこの総チケット数を
減算器55を用いて引き、加算器56により単位時間あ
たりのチケット増加分を加えたものが、次のTレジスタ
54の値となる。
【0042】次に、上記チケットを採用した場合のプロ
グラムの制御例を図6を参照して説明する。なお、図6
において、CurTicket() は、Tレジスタの値を参照する
関数であり、GetTicket() は、最初の項目が関数を実行
するために必要なチケットの枚数であり、次の項目がし
きい値となる。
【0043】図6において、現在のチケット数は200
とし、単位時間あたりのチケットの増加を60とし、関
数FuncA及び関数FuncBの実行には2単位時間かかるも
のとする。従って、FuncA及びFuncBの実行後にはチケ
ットは120増加することになる。FuncA及びFuncBは
同様な処理を行う関数とし、例えばFuncBはFuncAより
も処理が軽いが画質が多少落ちる関数である。FuncA、
FuncB、CriticalFuncはそれぞれチケットを140、6
0、300消費するものとする。図6に示すプログラム
例では、Point Aでの選択例を示し、いずれの選択例に
おいても同様な処理を行っている。Point AでのCurTic
ket() の戻り値は、200+60=260である。Crit
icalFuncを実行するにはチケットを300必要とするの
で、Point AではFuncBを実行することになる。
【0044】このように、上記実施形態においても、先
の実施形態で得られる効果と同様の効果を得ることがで
きる。
【0045】
【発明の効果】以上説明したように、この発明によれ
ば、素子または機能ブロック毎に発熱量と相関関係のあ
る発熱ポイント又はチケットを設け、活性化している素
子または機能ブロックの発熱ポイント又はチケットに基
づいてチップ全体の発熱量およびチップ温度を予測し、
プログラムの実行を制御するようにしたので、チップの
ばらつきによるプログラム動作の違いをなくし、かつ不
要な発熱を抑制し、クリティカルな処理が必要なときに
動作周波数が低下することを防止することができる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係るプロセッサの発熱
ポイントをプログラムが認識する様子を示す図である。
【図2】Kレジスタを更新する構成を示す図である。
【図3】活性化している機能ブロックを検出する検出例
を示す図である。
【図4】この発明の一実施形態に係るプログラム例を示
す図である。
【図5】この発明の他の実施形態に係るプロセッサのT
レジスタを更新する構成を示す図である。
【図6】この発明の他の実施形態に係るプログラム例を
示す図である。
【符号の説明】
1 チップ 2 機能ブロック 3 Kレジスタ 4 プログラム 21,55 減算器 22,53,56 加算器 23,51 検出回路 24 発熱ポイントレジスタ 31 コプロセッサ 32 コアモジュール 33 ビジーレジスタ 52 FTレジスタ 54 Tレジスタ
フロントページの続き (72)発明者 国松 敦 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝マイクロエレクトロニクスセン ター内 Fターム(参考) 5B076 AB17

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 機能ブロックが活性化されているか否か
    を検出する検出回路と、前記検出回路により前記機能ブ
    ロックの活性化が検出されて前記機能ブロックが発熱し
    た時に、前記機能ブロックの発熱量に対応した発熱ポイ
    ントを出力する発熱ポイント出力レジスタとを備えた複
    数の機能ブロックと、 プロセッサ全体の発熱ポイントを保持する発熱ポイント
    保持レジスタと、 前記発熱ポイント保持レジスタに保持された値を、時間
    経過による放熱量に基づいて補正し、補正した値に活性
    化されている前記機能ブロックの発熱ポイント出力レジ
    スタから出力された発熱ポイントを加え、前記発熱ポイ
    ント保持レジスタの値を更新する演算器とを具備し、 前記発熱ポイント保持レジスタに保持された発熱ポイン
    トに基づいて現在のプロセッサの予測温度を求め、 以後実行可能な複数の特定の処理のいずれか1つの特定
    の処理を実行した場合のプロセッサの上昇温度を、前記
    特定の処理に対応した発熱ポイントを上昇温度に換算し
    て求め、 前記予測温度に前記上昇温度を加えた値から、時間経過
    の放熱による下降温度を差し引いた値が、前記プロセッ
    サの動作温度の許容制限値を越えない前記特定の処理が
    選択されて実行されることを特徴とするプロセッサ。
  2. 【請求項2】 プロセッサの単位時間あたりの放熱量に
    対応した枚数のチケットが単位時間毎に増加又は減少
    し、増加又は減少する前記チケットを保持するチケット
    保持レジスタと、 機能ブロックが活性化されているか否かを検出する検出
    回路と、前記検出回路により前記機能ブロックの活性化
    が検出されて前記機能ブロックが発熱した時に、前記機
    能ブロックの発熱量に対応した枚数のチケットを出力す
    るチケット出力レジスタを備えた複数の機能ブロック
    と、 前記機能ブロックのチケット出力レジスタから出力され
    たチケットの枚数を加えて前記機能ブロックの総チケッ
    ト数を求め、前記チケット保持レジスタの値から前記総
    チケット数を引き、引いた値に単位時間あたりのチケッ
    ト増加分又は減少分を加えて前記チケット保持レジスタ
    を更新する演算器とを具備し、 前記チケット保持レジスタに保持されたチケット枚数の
    範囲内で、処理に必要なチケット枚数がそれぞれ決めら
    れた複数の特定の処理の中から、前記プロセッサの動作
    温度の許容制限値を越えない1つの前記特定の処理が選
    択されて実行されることを特徴とするプロセッサ。
  3. 【請求項3】 機能ブロックが活性化されているか否か
    を検出する検出回路と、前記検出回路により前記機能ブ
    ロックの活性化が検出されて前記機能ブロックが発熱し
    た時に、前記機能ブロックの発熱量に対応した発熱ポイ
    ントを出力する発熱ポイント出力レジスタとを備えた複
    数の機能ブロックと、 プロセッサ全体の発熱ポイントを保持する発熱ポイント
    保持レジスタと、 前記発熱ポイント保持レジスタに保持された値を、時間
    経過による放熱量に基づいて補正し、補正した値に活性
    化されている前記機能ブロックの発熱ポイント出力レジ
    スタから出力された発熱ポイントを加え、前記発熱ポイ
    ント保持レジスタの値を更新する演算器とを具備したプ
    ロセッサが実行する発熱予測制御プログラムを記録した
    記録媒体であって、 前記発熱ポイント保持レジスタに保持された発熱ポイン
    トに基づいて現在のプロセッサの予測温度を求め、 以後実行可能な複数の特定の処理のいずれか1つの特定
    の処理を実行した場合のプロセッサの上昇温度を、前記
    特定の処理に対応した発熱ポイントを上昇温度に換算し
    て求め、 前記予測温度に前記上昇温度を加えた値から、時間経過
    の放熱による下降温度を差し引いた値が、前記プロセッ
    サの動作温度の許容制限値を越えない前記特定の処理を
    選択して実行させることを特徴とするプロセッサの発熱
    予測制御プログラムを記録した記録媒体。
  4. 【請求項4】 プロセッサの単位時間あたりの放熱量に
    対応した枚数のチケットが単位時間毎に増加又は減少
    し、増加又は減少する前記チケットを保持するチケット
    保持レジスタと、 機能ブロックが活性化されているか否かを検出する検出
    回路と、前記検出回路により前記機能ブロックの活性化
    が検出されて前記機能ブロックが発熱した時に、前記機
    能ブロックの発熱量に対応した枚数のチケットを出力す
    るチケット出力レジスタを備えた複数の機能ブロック
    と、 前記機能ブロックのチケット出力レジスタから出力され
    たチケットの枚数を加えて前記機能ブロックの総チケッ
    ト数を求め、前記チケット保持レジスタの値から前記総
    チケット数を引き、引いた値に単位時間あたりのチケッ
    ト増加分又は減少分を加えて前記チケット保持レジスタ
    を更新する演算器とを具備したプロセッサが実行する発
    熱予測制御プログラムを記録した記録媒体であって、 前記チケット保持レジスタに保持されたチケット枚数の
    範囲内で、処理に必要なチケット枚数がそれぞれ決めら
    れた複数の特定の処理の中から、前記プロセッサの動作
    温度の許容制限値を越えない1つの前記特定の処理を選
    択して実行させることを特徴とするプロセッサの発熱予
    測制御プログラムを記録した記録媒体。
JP2000390506A 2000-12-22 2000-12-22 プロセッサ及びプロセッサの発熱予測制御プログラムを記録した記録媒体 Pending JP2002189602A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000390506A JP2002189602A (ja) 2000-12-22 2000-12-22 プロセッサ及びプロセッサの発熱予測制御プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000390506A JP2002189602A (ja) 2000-12-22 2000-12-22 プロセッサ及びプロセッサの発熱予測制御プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2002189602A true JP2002189602A (ja) 2002-07-05

Family

ID=18856856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000390506A Pending JP2002189602A (ja) 2000-12-22 2000-12-22 プロセッサ及びプロセッサの発熱予測制御プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2002189602A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9459680B2 (en) 2012-07-26 2016-10-04 Samsung Electronics Co., Ltd. System on chip and temperature control method thereof
US9482584B2 (en) 2012-03-28 2016-11-01 Samsung Electronics Co., Ltd. System and method for predicting the temperature of a device
US9588577B2 (en) 2013-10-31 2017-03-07 Samsung Electronics Co., Ltd. Electronic systems including heterogeneous multi-core processors and methods of operating same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9482584B2 (en) 2012-03-28 2016-11-01 Samsung Electronics Co., Ltd. System and method for predicting the temperature of a device
US9459680B2 (en) 2012-07-26 2016-10-04 Samsung Electronics Co., Ltd. System on chip and temperature control method thereof
US9588577B2 (en) 2013-10-31 2017-03-07 Samsung Electronics Co., Ltd. Electronic systems including heterogeneous multi-core processors and methods of operating same

Similar Documents

Publication Publication Date Title
EP2073097B1 (en) Transitioning a processor package to a low power state
US8695002B2 (en) Multi-threaded processors and multi-processor systems comprising shared resources
US8909961B2 (en) Method and apparatus for adjusting power consumption level of an integrated circuit
US7814489B2 (en) Processor system with temperature sensor and control method of the same
US7007180B2 (en) System and method for switching a computer system to a first or second power saving mode based on whether or not there exists a timer-expiration-waiting event in an event queue
US6854064B2 (en) ACPI complaint computer system and overtemperature protection method therefor
JP3830491B2 (ja) プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法
JP4476876B2 (ja) 並列計算装置
US7454631B1 (en) Method and apparatus for controlling power consumption in multiprocessor chip
JP5167844B2 (ja) プロセッサ、電子機器、割込み制御方法及び割込み制御プログラム
US7962774B2 (en) Over-provisioned multicore processor
US9218044B2 (en) Computing system frequency target monitor
US20060129881A1 (en) Compiling method, apparatus, and program
JP4874140B2 (ja) ジョブスケジューラ、ジョブスケジュール方法、及び、ジョブ制御プログラム
US7523229B2 (en) Memory protection during direct memory access
US20110016247A1 (en) Multiprocessor system and multiprocessor system interrupt control method
TW509843B (en) Control method and system for dynamically adjusting processor
US8281171B2 (en) Adjustment of power-saving strategy depending on working state of CPU
JP2002189602A (ja) プロセッサ及びプロセッサの発熱予測制御プログラムを記録した記録媒体
US10409354B2 (en) Multi-core processor, power control method, and program
JP2010009258A (ja) ソフトウエアの異常検出装置
JP5783348B2 (ja) 制御装置、制御プログラム、画像形成装置
US7415625B2 (en) Policy table rule based processor side bus signaling
US20160291670A1 (en) Multi-core processor, information processing method, and program
US6336191B1 (en) Method and system for clock compensation in instruction level tracing in a symmetrical multi-processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071024

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071113