JP3805344B2 - プロセッサ、情報処理装置およびプロセッサの制御方法 - Google Patents

プロセッサ、情報処理装置およびプロセッサの制御方法 Download PDF

Info

Publication number
JP3805344B2
JP3805344B2 JP2004183988A JP2004183988A JP3805344B2 JP 3805344 B2 JP3805344 B2 JP 3805344B2 JP 2004183988 A JP2004183988 A JP 2004183988A JP 2004183988 A JP2004183988 A JP 2004183988A JP 3805344 B2 JP3805344 B2 JP 3805344B2
Authority
JP
Japan
Prior art keywords
temperature
processor
processing blocks
current
operating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004183988A
Other languages
English (en)
Other versions
JP2006011548A (ja
Inventor
健一 安達
和明 矢澤
巖 瀧口
敦彦 今井
哲司 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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
Priority to JP2004183988A priority Critical patent/JP3805344B2/ja
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to US10/575,041 priority patent/US7831842B2/en
Priority to CNB2005800011005A priority patent/CN100432943C/zh
Priority to EP20050728541 priority patent/EP1783608B1/en
Priority to KR1020067014031A priority patent/KR100878660B1/ko
Priority to PCT/JP2005/006965 priority patent/WO2005124550A1/ja
Priority to TW094112930A priority patent/TWI307013B/zh
Publication of JP2006011548A publication Critical patent/JP2006011548A/ja
Application granted granted Critical
Publication of JP3805344B2 publication Critical patent/JP3805344B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Cooling Or The Like Of Semiconductors Or Solid State Devices (AREA)
  • Control Of Temperature (AREA)

Description

この発明はプロセッサ技術に関し、チップの温度に応じでパフォーマンスを制御するプロセッサ、およびプロセッサの制御方法に関する。
LSI設計において製造プロセスの微細化と素子の高集積化が一段と進み、チップの性能限界として発熱量を考慮することが設計上非常に重要になってきている。チップが高温になると、動作不良を起こしたり、長期信頼性が低下するため、様々な発熱対策がとられている。たとえば、チップの上部に放熱フィンを設けて、チップから発生する熱を逃がす方法がとられる。
また、チップの消費電力分布にもとづいて、プロセッサのタスクをスケジューリングすることも検討されている(たとえば、特許文献1参照)。
米国特許出願公開第2002/0065049号明細書
急峻な温度上昇が起きた場合等には、上述したような対策では対応しきれない場合もある。そのような場合、チップの動作周波数を下げる等の処理によりパフォーマンス自体を低下させて、対処する手法が考えられる。しかしながら、パフォーマンスを必要以上に低下させることは、無駄である。
本発明はこうした課題に鑑みてなされたものであり、その目的は、パフォーマンスの低下を抑えながら、正常動作が保証される範囲に温度を保つことができるプロセッサ、情報処理装置およびプロセッサの制御方法を提供することにある。
本発明のある態様はプロセッサの制御方法に関する。この方法は、プロセッサの内部に設けられた複数の処理ブロックの並列利用度を、温度に応じて切り替える。並列利用度と動作周波数の組合せをプロセッサの温度に応じて切り替えてもよい。タスクごとに定まる複数の処理ブロックの並列利用可能数を考慮して、タスクを割り振ってもよいし、複数の処理ブロックのうち、少なくとも最も低い温度の処理ブロックに、タスクを割り振ってもよい。
「処理ブロック」は、複数のサブプロセッサを搭載したプロセッサの場合、各サブプロセッサに対応させてもよい。「並列利用度」は、当該サブプロセッサの稼働数に対応させてもよい。
本発明の別の態様もプロセッサの制御方法に関する。この方法は、プロセッサの内部に設けられた複数の処理ブロックの並列利用度と動作周波数の組合せを所定のテーブルを参照して切り替える。
テーブルは前記組合せのそれぞれについて、処理のパフォーマンスを記述していてもよい。また、プロセッサの温度が所定のしきい値を越えると予測されるとき、または超えたとき、前記組合せの中で現在選択されている組合せより発熱量が低い組合せを検出し、検出された組合せへの切替を行ってもよい。さらに、検出された組合せが複数存在する場合、パフォーマンスが最大になる組合せへの切替を行ってもよい。
本発明のさらに別の態様はプロセッサに関する。このプロセッサは、複数の処理ブロックと、温度を測定するセンサと、測定された温度に応じて、複数の処理ブロックの並列利用度を切り替える制御部と、を備える。制御部は、温度に応じて、並列利用度と動作周波数の組合せを切り替えてもよい。制御部は、タスクごとに定まる前記複数の処理ブロックの並列利用可能数を考慮して、タスクを割り振ってもよいし、複数の処理ブロックのうち、少なくとも最も低い温度の処理ブロックに、タスクを割り振ってもよい。
本発明のさらに別の態様はプロセッサに関する。このプロセッサは、複数の処理ブロックと、本プロセッサの温度を測定するセンサと、測定された温度に応じ、複数の処理ブロックの並列利用度と動作周波数の組合せを切り替える制御部と、を備える。
テーブルは前記組合せのそれぞれについて、処理のパフォーマンスを記述していてもよい。また、プロセッサの温度が所定のしきい値を越えると予測されるとき、または超えたとき、制御部は、前記組合せの中で現在よりも発熱量が低い組合せを選択し、その組合せへの切替を行ってもよい。
本発明のさらに別の態様は情報処理装置に関する。この装置は、各種のタスクを実行するプロセッサを備える情報処理装置であって、プロセッサは、複数の処理ブロックと、温度を測定するセンサと、測定された温度に応じて、複数の処理ブロックの並列利用度を切り替える制御部と、を備える。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、パフォーマンスの低下を抑えながら、正常動作が保証される範囲にプロセッサの温度を保つことができる。
(第1実施形態)
図1は、第1実施形態におけるプロセッサの構成を示す図である。プロセッサ1は、チップ内に、メインプロセッサ100、4個の第1〜4サブプロセッサ200a〜d、記憶部300、および温度センサ400を含む。これらは、図示しないバスにより接続されている。また、サブプロセッサ200の数は、4個に限るものではなく任意の数を設けることができる。たとえば、8個設けてもよい。また、これらの配置パターンも、図1に示したものに限るものではなく、任意に配置することができる。クロック生成部500は、プロセッサ1に基本周波数を与える。
メインプロセッサ100は、プロセッサ1全体を制御する。特に、第1〜4サブプロセッサ200a〜dの管理を行い、これらに適宜タスクを振り分ける。また、温度管理、電力管理、およびパフォーマンス管理を行う。第1〜4サブプロセッサ200a〜dは、メインプロセッサ100から割り振られたタスクを実行する。温度センサ400は、測定した温度をメインプロセッサ100に出力する。温度センサ400は、パッケージの外に設けてもよいが、急峻な温度変化を測定するために、パッケージ内のダイ(die)に設けるとよい。
図2は、第1実施形態における主にメインプロセッサ100、記憶部300および記憶部300にロードされたソフトウエアの連携によって実現される機能ブロック図である。この機能ブロックがハードウエアとソフトウエアとの組み合せによっていろいろな形で実現できることは、当業者に理解されるところである。図2において、温度センサ400は、現在のチップの温度を温度制御部120に出力する。温度制御部120は、温度センサ400から入力される現在の温度と、発熱量推定部110から入力される推定発熱量とを基に、Δt期間後の温度を推定する。この関係式を下記(式1)に示す。
t+Δt=f(T,E)…(式1)
t+ΔtはΔt期間後の温度、Tは現在の温度、Eは当該Δt期間に生じる推定発熱量を示す。このように、当該Δt期間後の温度Tt+Δtを、現在の温度Tと推定発熱量Eの関数として求める。
発熱量推定部110は、サブプロセッサ制御部130から現在稼働しているサブプロセッサ200の数を取得し、周波数制御部140から現在の動作周波数を取得する。そして、それらを基に、推定発熱量Eを求める。この関係式を下記(式2)に示す。
E=∫[α・C・Vdd ・f]dt…(式2)
αは所定の比例定数、Cは負荷を容量で等価的に示した変数、Vddは電源電圧、fは動作周波数である。電源電圧Vddは2乗して用いる。これらを掛け合わせたものを上記Δtで積分した値が推定発熱量Eとなる。
本実施形態の負荷の容量Cは、下記(式3)で表される。
C=C+NC…(3)
はメインプロセッサの容量、Cはサブプロセッサ200の容量、Nはサブプロセッサ200の稼働数である。
発熱量推定部110は、以上の計算により求めた推定発熱量Eを温度制御部120に渡す。温度制御部120は、上記(式1)に示したように、温度センサ400から取得した現在の温度Tと、上記推定発熱量Eとを基に、上記Δt期間後の温度Tt+Δtを推定する。そして下記(式4)に示すように、この推定温度Tt+Δtが所定のしきい値温度以上に達したか否かを判断する。所定のしきい値温度は、プロセッサ1全体の正常動作が保証されなくなる温度である。
t+Δt≧Tth…(4)
図3は、動作周波数とサブプロセッサ200の稼働数の組み合わせによる動作ポイントを示す図である。図3において、横軸に遷移可能な動作周波数として、4GHz,2GHz,1GHzを設定している。縦軸に遷移可能なサブプロセッサ200の稼働数として、4個〜0個を設定している。0個の場合は、メインプロセッサ100のみが稼働している状態である。したがって、図3は15個の動作ポイントa〜oを有する。一番右上の動作ポイントaのパフォーマンスが最も高く、一番左下の動作ポイントoのパフォーマンスが最も低い。通常のフル稼働の場合、動作ポイントaで動作し、サブプロセッサ200の稼働数が4で、動作周波数が4GHzとなる。
タスク管理部121は、上記Δt期間後のタスクの実行状況を把握し、その時点のサブプロセッサ200の並列利用可能数を特定する。そして、当該並列利用可能数を温度制御部120に渡す。タスクの実行状況には、1つのタスクを実行している場合や複数のタスクを実行している場合がある。また、各タスクの性質により1つのサブプロセッサ200でしか実行できないタスクや、複数のサブプロセッサ200で実行可能なタスクがある。
図4は、パフォーマンステーブル122を示す図である。サブプロセッサ200の並列利用数に対する動作ポイントの候補が登録されている。動作ポイントは、上からパフォーマンスが高い順に登録されている。たとえば、サブプロセッサ200を2つ利用する場合の動作ポイントは、パフォーマンスが高い順にd→g→h→j→k→l→m→n→oとなる。なお、パフォーマンステーブル122には、予め各動作ポイントの上記Δt期間に生じる発熱量を記述しておいてもよい。
温度制御部120は、推定温度Tt+Δtが所定のしきい値温度に達した場合、並列利用しているサブプロセッサ200の稼働数を減らすか、プロセッサ1全体の動作周波数を下げて、発熱量を下げなければならない。その際、温度制御部120は、タスク管理部121から入力される上記Δt期間後のサブプロセッサ200の並列利用可能数を取得し、それを基にパフォーマンステーブル122を参照して、遷移する動作ポイントの候補を特定する。サブプロセッサ制御部130は、温度制御部120の指示によりサブプロセッサ200の稼働数を切り替える。周波数制御部140は、温度制御部120の指示により上記動作周波数を切り替える。
図5は、図2に示した機能ブロックの動作を説明するためのフローチャートである。まず、温度制御部120は、温度センサ400からチップ内の現在の温度を取得する(S10)。次に、発熱量推定部110は、サブプロセッサ制御部130から現在のサブプロセッサ200の稼働数を取得し、周波数制御部140から現在のプロセッサ1全体の動作周波数を取得する。そして、それらを上記(式2),(式3)に代入して、上記Δt期間に生じる発熱量を推定し、温度制御部120に渡す(S11)。温度制御部120は、温度センサ400から取得した現在の温度と、発熱量推定部110により推定された発熱量とを基に、上記Δt期間後の温度を推定する(S12)。
次に、温度制御部120は、当該推定温度と、所定のしきい値温度とを比較する(S13)。当該推定温度が所定のしきい値温度に達していない場合(S13のN)、上記Δt期間後の温度に対する正常な動作が保証されるため、現在のサブプロセッサ200の稼働数および動作周波数を切り替える必要はない。
当該推定温度が所定のしきい値温度以上の場合(S13のY)、タスク管理部121から、当該Δt期間後のサブプロセッサ200の並列利用可能数を取得する(S14)。そして、パフォーマンステーブル122を参照する(S15)。より具体的には、パフォーマンステーブル122の中の、上記並列利用可能数の項目を参照し、現在の動作ポイントから遷移する次の動作ポイントの候補を特定する。パフォーマンステーブル122は、上記並列利用可能数の項目ごとに、遷移可能な動作ポイントを、パフォーマンスを損なわない順に登録されている。したがって、次の動作ポイントの候補は、現在の動作ポイントのパフォーマンスに対し、パフォーマンスの低下が最も小さい動作ポイントとなる。温度制御部120は、当該動作ポイントのサブプロセッサ200の稼働数とプロセッサ1全体の動作周波数とを取得し、発熱量推定部110に渡す。
発熱量推定部110は、温度制御部120から渡されたサブプロセッサ200の稼働数とプロセッサ1全体の動作周波数とを上記(式2),(式3)に代入して、上記Δt期間に生じる発熱量を再度推定し、温度制御部120に返す(S16)。なお、パフォーマンステーブル122に予め各動作ポイントの上記Δt期間に生じる発熱量が記述されている場合は、それを用いればよい。温度制御部120は、温度センサ400から取得した温度と、発熱量推定部110により推定された発熱量とを基に、上記Δt期間後の温度を再度推定する(S17)。
次に、温度制御部120は、当該推定温度と、所定のしきい値温度とを再度比較する(S18)。当該推定温度が所定のしきい値温度に達していない場合(S18のN)、現在の動作ポイントの候補に遷移すれば、上記Δt期間後の温度に対する正常な動作が保証される。したがって、温度制御部120は、当該動作ポイントの候補に遷移するために、サブプロセッサ制御部130に指示してサブプロセッサ200の稼働数を減らすか、周波数制御部140に指示してプロセッサ1全体の動作周波数を下げる。または、その両方を行う(S19)。
S18において、当該推定温度が所定のしきい値温度以上の場合(S18のY)、S15に遷移して、再度パフォーマンステーブル122を参照する(S15)。そして、現在の動作ポイントの候補から次の動作ポイントの候補に変更する。以後、S16,S17と上述した処理が繰り返され、S17において推定した温度が、所定のしきい値温度未満になるまで(S18のN)、行う。
このように、本実施形態によれば、プロセッサ1の温度が所定のしきい値温度以上になると推定される場合に、サブプロセッサ200の稼働数を減らすか、プロセッサ1全体の動作周波数を下げるかして、これを事前に回避することができる。またその際、パフォーマンステーブル122を参照することによって、最もパフォーマンスを損なわない動作ポイントに遷移することができる。
なお、上述した1GHz,2GHz,4GHzといった動作周波数は、チップに与えられる周波数であり、チップ内のメインプロセッサ100およびサブプロセッサ200がこの周波数で動作している訳ではない。動作に有効に活用されている周波数、即ち実効周波数は、上述した周波数より低いものである。この実効周波数は、タスクによって異なる。そこで、上記(式2)により発熱量を推定する際、fに実効周波数を代入してもよい。タスク管理部121は、現在から上記Δt期間後までに実行するタスクを特定し、そのタスクに応じた実効周波数を求める。発熱量推定部110は、その実効周波数を上記(式2)に代入して推定発熱量Eを算出する。これによれば、推定発熱量Eを算出する段階でも、タスクを考慮することができ、より精度の高い温度推定を行うことができる。
(第2実施形態)
第2実施形態は、第1実施形態のように推定発熱量Eを計算で求めるのではなく、予めテーブルに登録しておく例である。図6は、第2実施形態における主にメインプロセッサ100、記憶部300および記憶部300にロードされたソフトウエアの連携によって実現される機能ブロック図である。タスクテーブル115は、各タスクごとにサブプロセッサ200の並列利用可能数と発熱量を格納している。図7は、タスクテーブル115を示す図である。タスクの種別としては、たとえばキー入力待ち、MPEGデータのデコード、音声認識等がある。サブプロセッサ200の並列利用可能数は、タスクによって異なる。メインプロセッサ100のみで実行しなければならないタスクは0となる。並列処理可能なタスクは1以上となる。発熱量は、各タスクごとに上記(式1)におけるΔt期間に生じる発熱量である。予め実験的に得た値を登録しておけばよい。
タスク管理部121は、上記Δt期間のタスクの実行状況を把握して、当該Δt期間に実行される1以上のタスクを特定し、発熱量推定部110に渡す。発熱量推定部110は、タスク管理部121により特定されたタスクの種別を基に、タスクテーブル115を参照し、プロセッサ1全体の推定発熱量Eを求める。複数のタスクが実行される場合は、各タスクの発熱量を足せばよい。温度センサ400は、現在のチップの温度を温度制御部120に出力する。
温度制御部120は、上記(式1)に示したように、温度センサ400から取得した現在の温度Tと、上記推定発熱量Eとを基に、上記Δt期間後の温度Tt+Δtを推定する。そして上記(式4)に示すように、この推定温度Tt+Δtが所定のしきい値温度以上に達したか否かを判断する。所定のしきい値温度以上に達した場合、動作ポイントの遷移を行う。動作ポイントの遷移は、第1実施形態において説明したように、図3および図4に示したパフォーマンステーブル122を参照して行う。
タスク管理部121は、上記Δt期間後のタスクの実行状況を把握し、その時点のサブプロセッサ200の並列利用可能数を特定する。そして、当該並列利用可能数を温度制御部120に出力する。温度制御部120は、パフォーマンステーブル122を参照して動作ポイントの遷移を行う際、タスク管理部121から取得したサブプロセッサ200の並列利用可能数も考慮する。動作ポイントの遷移に際し、サブプロセッサ制御部130は、温度制御部120の指示によりサブプロセッサ200の稼働数を切り替える。周波数制御部140は、温度制御部120の指示により上記動作周波数を切り替える。
なお、図6に示した機能ブロックの動作は、第1実施形態において図5のフローチャートを用いた説明部分と基本的に同様である。S11において、ある上記Δt期間に生じる発熱量を推定する際、発熱量推定部110がタスクテーブル115とタスク管理部121から得られるタスクの実行状況を基に発熱量を推定する点が相違する。
このように第2実施形態によれば、予めタスクごとの発熱量が記述されたタスクテーブルを参照して、チップ全体の発熱量の推定を行うことにより、タスクを考慮した精度の高い温度推定を簡易な処理で行うことができる。
(第3実施形態)
第3実施形態は、温度センサ400をチップ内に複数設ける例である。図8は、第3実施形態におけるプロセッサの構成を示す図である。プロセッサ1は、チップ内に、メインプロセッサ100、4個の第1〜4サブプロセッサ200a〜d、記憶部300、および4個の第1〜4温度センサ400a〜dを含む。第1温度センサ400aは、ブロックaの温度を測定し、第2温度センサ400bは、ブロックbの温度を測定する。第3温度センサ400cおよび第4温度センサ400dも同様である。温度センサ400の数は、4個に限るものではなく任意の数を設けることができる。たとえば、2個設けてもよい。また、これらの配置パターンも、図1に示したものに限るものではなく、任意に配置することができる。その他は、図1の説明と同様である。
第3実施形態は、図2や図6に示した機能ブロック図と同様の構成で実現可能である。温度センサ400が複数になる点が第1実施形態および第2実施形態と異なる。即ち、温度制御部120には、各ブロックの現在の温度が入力される。
図9は、第3実施形態を説明するためのフローチャートである。まず、温度制御部120は、複数の温度センサ400から各ブロックの現在の温度を取得する(S20)。温度制御部120は、それを基に最高温度のブロックを特定する(S21)。次に、発熱量推定部110は、サブプロセッサ制御部130から現在のサブプロセッサ200の稼働数を取得し、周波数制御部140から現在のプロセッサ1の動作周波数を取得する。そして、それらを上記(式2),(式3)に代入して、上記Δt期間に生じる発熱量を推定し、温度制御部120に渡す(S22)。なお、発熱量推定部110は、タスク管理部121により特定されたタスクの種別を基に、タスクテーブル115を参照し、プロセッサ1全体の発熱量を推定してもよい。温度制御部120は、特定した最高温度と、発熱量推定部110により推定された発熱量とを基に、上記Δt期間後の温度を推定する(S23)。
次に、温度制御部120は、当該推定温度と、所定のしきい値温度とを比較する(S24)。当該推定温度が所定のしきい値温度に達していない場合(S24のN)、上記Δt期間後の温度に対する正常な動作が保証されるため、現在のサブプロセッサ200の稼働数および動作周波数を切り替える必要はない。
当該推定温度が所定のしきい値温度以上の場合(S24のY)、タスク管理部121から、当該Δt期間後のサブプロセッサ200の並列利用可能数を取得する(S25)。そして、パフォーマンステーブル122を参照する(S26)。温度制御部120は、パフォーマンステーブル122から遷移する動作ポイントの候補を特定し、当該動作ポイントのサブプロセッサ200の稼働数とプロセッサ1の動作周波数とを取得し、発熱量推定部110に渡す。
発熱量推定部110は、温度制御部120から渡されたサブプロセッサ200の稼働数とプロセッサ1の動作周波数とを上記(式2),(式3)に代入して、上記Δt期間に生じる発熱量を再度推定し、温度制御部120に返す(S27)。温度制御部120は、上記最高温度と、発熱量推定部110により推定された発熱量とを基に、上記Δt期間後の温度を再度推定する(S28)。
次に、温度制御部120は、当該推定温度と、所定のしきい値温度とを再度比較する(S29)。当該推定温度が所定のしきい値温度以上の場合(S29のY)、S26に遷移して、再度パフォーマンステーブル122を参照する(S26)。そして、現在の動作ポイントの候補から次の動作ポイントの候補に変更する。以後、S27,S28と上述した処理が繰り返され、ステップS28において推定した温度が、所定のしきい値温度未満になるまで(S29のN)、行う。
S29において、上記推定温度が所定のしきい値温度に達していない場合(S29のN)、現在の動作ポイントの候補に遷移すれば、上記Δt期間後の温度に対する正常な動作が保証される。したがって、温度制御部120は、当該動作ポイントに遷移するように、サブプロセッサ制御部130もしくは周波数制御部140、または両方に指示する。まず、当該動作ポイントに遷移するために、サブプロセッサ200の稼働数を削減しなければならない場合(S30のY)、サブプロセッサ制御部130は、温度制御部120から指示されたサブプロセッサ200を停止する(S31)。
ここで、温度制御部120は、最高温度のブロックに属しているサブプロセッサ200の停止を指示する。当該ブロックのサブプロセッサ200が停止している場合、当該ブロックに最も近い位置のサブプロセッサ200の停止を指示する。たとえば、図8においてブロックaが最高温度のブロックの場合で、サブプロセッサ200が4個稼働から2個稼働に遷移する場合、第1サブプロセッサ200aと第2サブプロセッサ200bを停止させる。このように、最高温度のブロックに属しているサブプロセッサ200、当該ブロックに近い位置のサブプロセッサ200の順番で停止させていく。また、各ブロックが最高温度になった場合の、サブプロセッサ200を停止させる順番は、予めテーブルに記述しておいてもよい。その場合、温度制御部120は、当該テーブルを参照してサブプロセッサ制御部130に指示する。
次に、上記動作ポイントに遷移するために、プロセッサ1全体の動作周波数を変更しなければならない場合(S32のY)、周波数制御部140は、温度制御部120から指示された動作周波数に変更する(S33)。
このように第3実施形態によれば、動作ポイントを遷移する際に、最高温度のブロックに属する、または近い位置のサブプロセッサから停止させることにより、チップ内の温度分布を平準化する方向で、チップ内の温度を制御することができる。
(第4実施形態)
第4実施形態は、各ブロックの温度に応じてタスクを割り振る例である。第4実施形態におけるプロセッサの構成は、図8の説明と同様である。図10は、第4実施形態における主にメインプロセッサ100、記憶部300および記憶部300にロードされたソフトウエアの連携によって実現される機能ブロック図である。複数の温度センサ400は、各サブプロセッサ200a〜dの現在の温度、またはチップ内の領域を分割して設定した各ブロックa〜dの現在の温度を温度制御部120に出力する。複数の温度センサ400の配置は、各サブプロセッサ200a〜dの温度を直接測る位置にあってもよく、各ブロックa〜dの温度を測る位置にあってもよい。
タスク管理部121は、現在のタスクの実行状況や待ち行列状況を把握し、次に実行すべきタスクの並列利用可能数を温度制御部120に渡す。並列利用可能数は、各タスクの性質により異なる。
温度制御部120は、複数の温度センサ400から入力される温度を基に、各サブプロセッサ200a〜dのテーブルを低温度順に作成する。図11は、第4実施形態における低温度順にソートされたテーブルを示す図である。図11では、温度の低い順に、第4サブプロセッサd→第2サブプロセッサb→第3サブプロセッサc→第1サブプロセッサaとソートされている。この順番は、複数の温度センサ400から入力される温度により、適応的に変更される。なお、このテーブルは、各サブプロセッサ200a〜dの温度順番のみならず、各サブプロセッサ200a〜dの実際のまたは推定の温度を管理してもよい。
複数の温度センサ400から各ブロックのa〜dの温度が入力される場合、複数の温度センサ400と、各サブプロセッサ200a〜dとの距離関係を基に、計算で各サブプロセッサ200a〜dの温度を推定してもよい。
温度制御部120は、上記テーブルを参照して、次に実行すべきタスクを低温度のサブプロセッサに割り振る。その際、次に実行すべきタスクの並列利用数を考慮し、割り振るサブプロセッサを決定する。即ち、並列利用度が2の場合、上記テーブルを参照して、低温度順に上から2つのサブプロセッサに当該タスクを割り振る。これによれば、パフォーマンスの低下を抑えながら、温度の平準化を行うことができる。勿論、1つのサブプロセッサにのみタスクを割り振ってもよい。なお、上記テーブルが各サブプロセッサ200a〜dの温度も管理している場合、並列利用可能数により割り振り候補となるサブプロセッサであっても、そのサブプロセッサが所定の閾値温度を超える温度であるときは、割り振り候補から除外してもよい。その場合、並列利用可能数より少ないサブプロセッサでタスクを実行することになる。当該閾値温度は、実測やシミュレーションにより最適値を求めて設定するとよいが、割り振るタスクの実行後の温度上昇を加味して、若干低めに設定してもよい。これによれば、スポット的な発熱を抑えることができる。
温度制御部120は、タスクを割り振るサブプロセッサをサブプロセッサ制御部130に指示する。サブプロセッサ制御部130は、温度制御部120の指示により各サブプロセッサ200a〜dの稼働/非稼働を制御する。
図12は、第4実施形態を説明するためのフローチャートである。まず、温度制御部120は、複数の温度センサ400から各サブプロセッサ200a〜dの温度、または各ブロックa〜dの現在の温度を取得する(S40)。次に、すべてのサブプロセッサ200a〜dを低温度順にソートする(S41)。そして、次に実行すべきタスクを低温度順に1つ以上のサブプロセッサに割り振る(S42)。その際、当該タスクにおけるサブプロセッサの並列利用可能数、各サブプロセッサ200a〜dの温度が所定の閾値温度を超えないか等を考慮することができる。
このように第4実施形態によれば、低温度のサブプロセッサに優先的にタスクを割り振って、複数のサブプロセッサの温度を平準化するように制御することにより、チップ内の温度分布を平準化することができる。また、スポット的な発熱を事前に防止することもできる。なお、本実施形態において、各サブプロセッサの温度を基に、タスクを割り振るサブプロセッサを決定した。この点、各サブプロセッサを、チップ内の領域を分割して設定した各ブロックに読み替えてもよい。この場合、各ブロックの温度を低温度順にソートし、低温度のブロックに近接するサブプロセッサにタスクを割り振ることなる。
以上、本発明を実施形態をもとに説明した。これらの実施形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
各実施形態においては、上記Δt期間後の推定温度と所定のしきい値温度とを比較した。この点、温度センサ400から取得する現在の温度と所定のしきい値温度とを比較してもよい。この場合、所定のしきい値温度は、各実施形態における温度より低めに設定するとよい。
上記(式1)において、上記Δt期間後の温度Tt+Δtは、現在の温度Tと推定発熱量Eとの関数であると説明した。この点、サブプロセッサ200のコンビネーションを要素に追加してもよい。上記Δt期間後の温度Tt+Δtは、主としてタスクの実行状況に依存する。これに加えて、隣接するサブプロセッサ200に同時にタスクが割り振られると、離れたサブプロセッサ200にタスクが分散する場合よりも熱が発生しやすいなどの物理的な性質からの影響も受ける。温度制御部120は、タスクの実行によるサブプロセッサ200のコンビネーションも考慮して、上記Δt期間後の温度Tt+Δtを推定することができる。
第3実施形態において説明したブロックは、スポット的に発熱のピークが現れる領域の大きさに合わせて区切られることが理想であるが、当該ブロックの大きさは、発熱制御の目標精度やプロセッサ1の要求仕様によって自由に決めてよい。また、当該ブロックは同一サイズで規則的に区切られてもよいが、各種プロセッサの境界に合わせて不規則に区切られてもよい。
サブプロセッサ200の数、その配置位置、および温度センサ400の数、その配置位置は、任意に設定可能である。また、パフォーマンステーブル122に記述される遷移可能な動作周波数、および遷移可能なサブプロセッサ200の稼働数も、任意に設定可能である。さらに、所定のテーブルに記述されるサブプロセッサ200を停止させる順番も任意に設定可能である。主に最高温度のブロックからの位置により、停止させる順番を定めるが、重要な回路素子からの位置関係も考慮して、順番を定めてもよい。
なお、本発明のプロセッサは、PC、ワークステーション、ゲーム機、PDA、携帯電話機等の情報処理装置の制御部に適用可能なことはいうまでもない。また、ネットワーク上に分散された資源を共有してシステムを構築するような形態の情報処理システムにも適用可能である。
第1実施形態におけるプロセッサの構成を示す図である。 第1実施形態を説明するための機能ブロック図である。 動作周波数とサブプロセッサの稼働数の組み合わせによる動作ポイントを示す図である。 パフォーマンステーブルを示す図である。 図2の機能ブロックの動作を説明するためのフローチャートである。 第2実施形態を説明するための機能ブロック図である。 タスクテーブルを示す図である。 第3実施形態におけるプロセッサの構成を示す図である。 第3実施形態を説明するためのフローチャートである。 第4実施形態を説明するための機能ブロック図である。 第4実施形態における低温度順にソートされたテーブルを示す図である。 図10の機能ブロックを説明するためのフローチャートである。
符号の説明
1 プロセッサ、 100 メインプロセッサ、 110 発熱量推定部、 115 タスクテーブル、 120 温度制御部、 121 タスク管理部、 122 パフォーマンステーブル、 130 サブプロセッサ制御部、 140 周波数制御部、 200 サブプロセッサ、 300 記憶部、 400 温度センサ、 500 クロック生成部。

Claims (22)

  1. プロセッサの内部に設けられた複数の処理ブロックの遷移可能な並列利用度と遷移可能な動作周波数の組合せにより決まる動作ポイントであって、並列利用度と動作周波数とから推定される発熱量がそれぞれ対応付けられた複数の動作ポイントのうちの現在の動作ポイント、前記複数の処理ブロックのうちの現在稼動している処理ブロックの数と現在の動作周波数とから推定される所定時間後のプロセッサの温度が前記複数の処理ブロックの正常動作が保証されなくなるしきい値温度より高い場合、前記現在の動作ポイントに対応する発熱量より小さい発熱量に対応づけられた動作ポイントに切り替えることを特徴とするプロセッサの制御方法。
  2. 請求項1に記載の方法において、前記並列利用度と動作周波数の組合せを推定した温度に応じて切り替えることを特徴とするプロセッサの制御方法。
  3. 請求項1に記載の方法において、タスクごとに定まる前記複数の処理ブロックの並列利用可能数を考慮して、前記タスクを割り振ることを特徴とするプロセッサの制御方法。
  4. 請求項1に記載の方法において、前記複数の処理ブロックのうち、少なくとも最も低い温度の処理ブロックに、タスクを割り振ることを特徴とするプロセッサの制御方法。
  5. プロセッサの内部に設けられた複数の処理ブロックの遷移可能な並列利用度と遷移可能な動作周波数の組合せより決まる動作ポイントであって、並列利用度と動作周波数とから推定される発熱量がそれぞれ対応付けられた複数の動作ポイントのうちの現在の動作ポイントを、前記複数の処理ブロックのうちの現在稼動している処理ブロックの数と現在の動作周波数とから推定される所定時間後のプロセッサの温度が前記複数の処理ブロックの正常動作が保証されなくなるしきい値温度より高い場合、前記並列利用度に対する動作ポイントの候補が登録されているテーブルを参照して、前記現在の動作ポイントに対応する発熱量より小さい発熱量に対応づけられた動作ポイントに切り替えることを特徴とするプロセッサの制御方法。
  6. 請求項に記載の方法において、前記テーブルは前記並列利用度ごとの動作ポイントの切り替え候補をパフォーマンスが高い順に登録していることを特徴とするプロセッサの制御方法。
  7. 請求項に記載の方法において、プロセッサの温度が所定のしきい値を越えると予測されるとき、または超えたとき、前記組合せによる複数の動作ポイントの中で現在選択されている動作ポイントより発熱量が低い動作ポイントを検出し、検出された動作ポイントへの切替を行うことを特徴とするプロセッサの制御方法。
  8. 請求項に記載の方法において、検出された動作ポイントが複数存在する場合、前記テーブルを参照して、前記現在の動作ポイントに対応する発熱量より小さい発熱量に対応づけられた動作ポイントのうち、パフォーマンスが最大になる動作ポイントへの切替を行うことを特徴とするプロセッサの制御方法。
  9. 複数の処理ブロックと、
    温度を測定するセンサと、
    測定された温度に応じて、複数の処理ブロックの並列利用度を切り替える制御部と、
    を備え、
    前記制御部は、前記温度と前記複数の処理ブロックのうちの現在稼動している処理ブロックの数と現在の動作周波数とから推定される所定時間後の温度が、前記複数の処理ブロックの正常動作が保証されなくなるしきい値温度より高い場合、遷移可能な前記並列利用度と遷移可能な動作周波数の組合せにより決まる動作ポイントであって、並列利用度と動作周波数とから推定される発熱量がそれぞれ対応付けられた複数の動作ポイントのうちの現在の動作ポイントを、前記現在の動作ポイントに対応する発熱量より小さい発熱量に対応づけられた動作ポイントに切り替えることを特徴とするプロセッサ。
  10. 請求項に記載のプロセッサにおいて、前記制御部は、推定した温度に応じて、前記並列利用度と動作周波数の組合せを切り替えることを特徴とするプロセッサ。
  11. 請求項9に記載のプロセッサにおいて、前記制御部は、タスクごとに定まる前記複数の処理ブロックの並列利用可能数を考慮して、前記タスクを割り振ることを特徴とするプロセッサ。
  12. 請求項9に記載のプロセッサにおいて、前記制御部は、前記複数の処理ブロックのうち、少なくとも最も低い温度の処理ブロックに、タスクを割り振ることを特徴とするプロセッサ。
  13. 請求項9に記載のプロセッサにおいて、前記センサは所定の配置パターンに複数設けられ、前記制御部は、前記処理ブロックの稼働数を削減する場合、複数の温度をもとに最高温度の処理ブロックを特定して、その処理ブロックを停止させることを特徴とするプロセッサ。
  14. 複数の処理ブロックと、
    前記複数の処理ブロックの遷移可能な並列利用度と遷移可能な動作周波数の組合せにより決まる動作ポイントであって、並列利用度と動作周波数とから推定される発熱量がそれぞれ対応付けられた複数の動作ポイントを記述する第1テーブルと、
    前記並列利用度に対する動作ポイントの候補を登録する第2テーブルと、
    前記複数の処理ブロックの現在の温度と前記複数の処理ブロックのうちの現在稼動している処理ブロックの数と現在の動作周波数とから推定される所定時間後の温度が、前記複数の処理ブロックの正常動作が保証されなくなるしきい値温度より高い場合、前記第2テーブルを参照し、前記複数の動作ポイントのうちの現在の動作ポイントを、前記現在の動作ポイントに対応する発熱量より小さい発熱量に対応づけられた動作ポイントに切り替える制御部と、
    を備えることを特徴とするプロセッサ。
  15. 請求項14に記載のプロセッサにおいて、前記第2テーブルは前記並列利用度に対する動作ポイントの候補をパフォーマンス順に登録していることを特徴とするプロセッサ。
  16. 請求項15に記載のプロセッサにおいて、当該プロセッサの温度が所定のしきい値を越えると予測されるとき、または超えたとき、前記制御部は、前記組合せによる複数の動作ポイントの中で現在よりも発熱量が低い動作ポイントを選択し、その動作ポイントへの切替を行うことを特徴とするプロセッサ。
  17. 各種のタスクを実行するプロセッサを備える情報処理装置であって、
    前記プロセッサは、
    複数の処理ブロックと、
    前記複数の処理ブロックの遷移可能な並列利用度と遷移可能な動作周波数の組合せにより決まる動作ポイントであって、並列利用度と動作周波数とから推定される発熱量がそれぞれ対応付けられた複数の動作ポイントを記述する第1テーブルと、
    前記並列利用度に対する動作ポイントの候補を登録する第2テーブルと、
    前記プロセッサの現在の温度と前記複数の処理ブロックのうちの現在稼動している処理ブロックの数と現在の動作周波数とから推定される所定時間後の温度が、前記複数の処理ブロックの正常動作が保証されなくなるしきい値温度より高い場合、前記第2テーブルを参照し、前記複数の動作ポイントのうちの現在の動作ポイントを、前記現在の動作ポイントに対応する発熱量より小さい発熱量に対応づけられた動作ポイントに切り替える制御部と、
    を含むことを特徴とする情報処理装置。
  18. 各種のタスクを実行するプロセッサを備える情報処理システムであって、
    前記プロセッサは、
    複数の処理ブロックと、
    前記複数の処理ブロックの遷移可能な並列利用度と遷移可能な動作周波数の組合せにより決まる動作ポイントであって、並列利用度と動作周波数とから推定される発熱量がそれぞれ対応付けられた複数の動作ポイントを記述する第1テーブルと、
    前記並列利用度に対する動作ポイントの候補を登録する第2テーブルと、
    前記複数の処理ブロックの現在の温度と前記複数の処理ブロックのうちの現在稼動している処理ブロックの数と現在の動作周波数とから推定される所定時間後の温度が、前記複数の処理ブロックの正常動作が保証されなくなるしきい値温度より高い場合、前記第2テーブルを参照し、前記複数の動作ポイントのうちの現在の動作ポイントを、前記現在の動作ポイントに対応する発熱量より小さい発熱量に対応づけられた動作ポイントに切り替える制御部と、
    を含むことを特徴とする情報処理システム。
  19. プロセッサの内部に設けられた複数の処理ブロックの遷移可能な並列利用度と遷移可能な動作周波数の組合せにより決まる動作ポイントであって、並列利用度と動作周波数とから推定される発熱量がそれぞれ対応付けられた複数の動作ポイントのうちの現在の動作ポイント、前記複数の処理ブロックのうちの現在稼動している処理ブロックの数と現在の動作周波数とから推定される所定時間後のプロセッサの温度が、前記複数の処理ブロックの正常動作が保証されなくなるしきい値温度より高い場合、前記現在の動作ポイントに対応する発熱量より小さい発熱量に対応づけられた動作ポイントに切り替えることをプロセッサに実行させるための制御プログラム。
  20. 請求項19に記載のプログラムにおいて、タスクごとに定まる前記複数の処理ブロックの並列利用可能数を考慮して、前記タスクを割り振ることをプロセッサに実行させるための制御プログラム。
  21. 請求項19に記載のプログラムにおいて、前記複数の処理ブロックのうち、少なくとも最も低い温度の処理ブロックに、タスクを割り振ることをプロセッサに実行させるための制御プログラム。
  22. プロセッサの内部に設けられた複数の処理ブロックの遷移可能な並列利用度と遷移可能な動作周波数の組合せにより決まる動作ポイントであって、並列利用度と動作周波数とから推定される発熱量がそれぞれ対応付けられた複数の動作ポイントのうちの現在の動作ポイントを、前記複数の処理ブロックの現在の温度と前記複数の処理ブロックのうちの現在稼動している処理ブロックの数と現在の動作周波数とから推定される所定時間後のプロセッサの温度が、前記複数の処理ブロックの正常動作が保証されなくなるしきい値温度より高い場合、前記並列利用度に対する動作ポイントの候補が登録されているテーブルを参照して、前記現在の動作ポイントに対応する発熱量より小さい発熱量に対応づけられた動作ポイントに切り替えることをプロセッサに実行させるための制御プログラム。
JP2004183988A 2004-06-22 2004-06-22 プロセッサ、情報処理装置およびプロセッサの制御方法 Expired - Fee Related JP3805344B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2004183988A JP3805344B2 (ja) 2004-06-22 2004-06-22 プロセッサ、情報処理装置およびプロセッサの制御方法
CNB2005800011005A CN100432943C (zh) 2004-06-22 2005-04-08 处理器、信息处理装置和处理器的控制方法
EP20050728541 EP1783608B1 (en) 2004-06-22 2005-04-08 Processor, information processor and control method of processor
KR1020067014031A KR100878660B1 (ko) 2004-06-22 2005-04-08 프로세서, 정보처리장치, 정보처리시스템, 프로세서의 제어방법, 및 프로세서의 제어 프로그램을 격납한 기록매체
US10/575,041 US7831842B2 (en) 2004-06-22 2005-04-08 Processor for controlling performance in accordance with a chip temperature, information processing apparatus, and method of controlling processor
PCT/JP2005/006965 WO2005124550A1 (ja) 2004-06-22 2005-04-08 プロセッサ、情報処理装置およびプロセッサの制御方法
TW094112930A TWI307013B (en) 2004-06-22 2005-04-22 Processor, information processing device, and control method of processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004183988A JP3805344B2 (ja) 2004-06-22 2004-06-22 プロセッサ、情報処理装置およびプロセッサの制御方法

Publications (2)

Publication Number Publication Date
JP2006011548A JP2006011548A (ja) 2006-01-12
JP3805344B2 true JP3805344B2 (ja) 2006-08-02

Family

ID=35509891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004183988A Expired - Fee Related JP3805344B2 (ja) 2004-06-22 2004-06-22 プロセッサ、情報処理装置およびプロセッサの制御方法

Country Status (7)

Country Link
US (1) US7831842B2 (ja)
EP (1) EP1783608B1 (ja)
JP (1) JP3805344B2 (ja)
KR (1) KR100878660B1 (ja)
CN (1) CN100432943C (ja)
TW (1) TWI307013B (ja)
WO (1) WO2005124550A1 (ja)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3914230B2 (ja) * 2004-11-04 2007-05-16 株式会社東芝 プロセッサシステム及びその制御方法
US7502948B2 (en) 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US7721128B2 (en) 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US7460932B2 (en) 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7512513B2 (en) 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US7681053B2 (en) 2005-11-29 2010-03-16 International Business Machines Corporation Thermal throttle control with minimal impact to interrupt latency
US7480586B2 (en) 2005-11-29 2009-01-20 International Business Machines Corporation Thermal interrupt generation
US7512530B2 (en) 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US7603576B2 (en) 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
US7848901B2 (en) 2005-11-29 2010-12-07 International Business Machines Corporation Tracing thermal data via performance monitoring
JP2007241376A (ja) * 2006-03-06 2007-09-20 Fujitsu Ten Ltd 情報処理装置
US7596430B2 (en) 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US8037893B2 (en) 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
US7552346B2 (en) 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
JP4819600B2 (ja) * 2006-06-30 2011-11-24 富士通株式会社 情報処理装置の試験装置及び方法及びプログラム
US9015501B2 (en) 2006-07-13 2015-04-21 International Business Machines Corporation Structure for asymmetrical performance multi-processors
US8806228B2 (en) 2006-07-13 2014-08-12 International Business Machines Corporation Systems and methods for asymmetrical performance multi-processors
JP2008097280A (ja) * 2006-10-11 2008-04-24 Denso Corp 移動体用マルチコアcpuの制御装置、移動体用マイクロコンピュータ及び移動体操縦支援装置
CN101689106B (zh) 2007-06-12 2013-10-09 松下电器产业株式会社 多处理器控制装置、多处理器控制方法以及多处理器控制电路
US8027798B2 (en) 2007-11-08 2011-09-27 International Business Machines Corporation Digital thermal sensor test implementation without using main core voltage supply
JP4804490B2 (ja) * 2008-02-18 2011-11-02 富士通株式会社 情報処理装置、情報処理方法、情報処理プログラム
JP5189921B2 (ja) 2008-08-02 2013-04-24 レノボ・シンガポール・プライベート・リミテッド コンピュータの放熱システム
JP5245852B2 (ja) * 2009-01-17 2013-07-24 日本電気株式会社 サーバ処理分散装置、サーバ処理分散方法及びサーバ処理分散プログラム
US9128705B2 (en) 2009-12-16 2015-09-08 Qualcomm Incorporated System and method for controlling central processing unit power with reduced frequency oscillations
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
US8650426B2 (en) 2009-12-16 2014-02-11 Qualcomm Incorporated System and method for controlling central processing unit power in a virtualized system
US8909962B2 (en) 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US9104411B2 (en) 2009-12-16 2015-08-11 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
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
US8356194B2 (en) * 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events
US8826049B2 (en) 2010-11-16 2014-09-02 International Business Machines Corporation Minimizing airflow using preferential memory allocation by prioritizing memory workload allocation to memory banks according to the locations of memory banks within the enclosure
JP5713029B2 (ja) * 2011-02-10 2015-05-07 富士通株式会社 スケジューリング方法、設計支援方法、およびシステム
US8942857B2 (en) * 2011-04-22 2015-01-27 Qualcomm Incorporated Method and system for thermal load management in a portable computing device
JP2012243274A (ja) * 2011-05-24 2012-12-10 Mitsubishi Electric Corp 情報処理装置および消費電力制御方法
US8688289B2 (en) * 2011-07-07 2014-04-01 Qualcomm Incorporated Method and system for preempting thermal load by proactive load steering
JP5729197B2 (ja) * 2011-07-28 2015-06-03 富士通株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
US8575993B2 (en) * 2011-08-17 2013-11-05 Broadcom Corporation Integrated circuit with pre-heating for reduced subthreshold leakage
CN102981439B (zh) * 2011-09-07 2017-06-06 技嘉科技股份有限公司 电子元件工作频率的监控方法及其监控装置与电子装置
KR101885857B1 (ko) 2012-01-04 2018-08-06 삼성전자주식회사 온도 관리 회로, 이를 포함하는 시스템 온 칩 및 온도 관리 방법
TWI617988B (zh) * 2013-01-31 2018-03-11 聯想企業解決方案(新加坡)有限公司 根據處理器位置之熱條件進行排程的電腦系統與方法
US9170631B2 (en) * 2013-02-05 2015-10-27 Advanced Micro Devices, Inc. Adaptive temperature and power calculation for integrated circuits
US9639359B2 (en) * 2013-05-21 2017-05-02 Advanced Micro Devices, Inc. Thermal-aware compiler for parallel instruction execution in processors
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
CN103577270B (zh) * 2013-10-30 2017-05-17 宇龙计算机通信科技(深圳)有限公司 控制分体式移动终端的使用方法及分体式移动终端
KR20150050135A (ko) 2013-10-31 2015-05-08 삼성전자주식회사 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법
US9703613B2 (en) * 2013-12-20 2017-07-11 Qualcomm Incorporated Multi-core dynamic workload management using native and dynamic parameters
US10082847B2 (en) * 2014-04-01 2018-09-25 Qualcomm Incorporated Method and system for optimizing performance of a PCD while mitigating thermal generation
JP2016010112A (ja) * 2014-06-26 2016-01-18 オリンパス株式会社 画像処理装置
KR20160027757A (ko) * 2014-09-02 2016-03-10 삼성전자주식회사 전자 장치 내의 발열을 관리하기 위한 방법 및 이를 위한 전자 장치
CN104199529A (zh) * 2014-09-16 2014-12-10 山东超越数控电子有限公司 一种计算机智能风扇控制方法
CN104536483B (zh) * 2014-12-11 2017-12-12 上海卓悠网络科技有限公司 一种通讯终端的温度控制方法与装置
US9760402B2 (en) * 2015-07-23 2017-09-12 Dell Products L.P. Systems and methods for input/output traffic shaping for optimal performance under thermal constraints
CN105278647B (zh) * 2015-10-20 2018-07-06 福州瑞芯微电子股份有限公司 一种芯片温控管理方法及系统
US9749740B2 (en) * 2015-11-17 2017-08-29 Motorola Solutions, Inc. Method and apparatus for expanded temperature operation of a portable communication device
KR102599653B1 (ko) 2015-11-20 2023-11-08 삼성전자주식회사 냉각 알고리즘을 수행하는 집적 회로와 이를 포함하는 모바일 장치
US9817697B2 (en) * 2016-03-25 2017-11-14 International Business Machines Corporation Thermal-and spatial-aware task scheduling
US10359820B2 (en) 2016-05-31 2019-07-23 Lenovo (Beijing) Co., Ltd. Electronic device and control method thereof
CN106095640B (zh) * 2016-05-31 2019-07-26 联想(北京)有限公司 一种控制方法及电子设备
JP2018106591A (ja) * 2016-12-28 2018-07-05 ルネサスエレクトロニクス株式会社 半導体装置、動作制御方法、及びプログラム
CN107357385B (zh) * 2017-06-09 2020-04-28 努比亚技术有限公司 基于频率控制温度的方法、终端及计算机可读存储介质
US11086371B2 (en) * 2018-06-06 2021-08-10 Lenovo (Singapore) Pte. Ltd. Heat suppression in an information processing device in an initial setting mode
KR20220028443A (ko) 2020-08-28 2022-03-08 삼성전자주식회사 주변장치 인터페이스를 포함하는 장치 및 그것의 동작 방법
CN114528083B (zh) * 2022-02-17 2023-03-21 珠海星云智联科技有限公司 数据处理单元dpu业务数据的调度处理方法及相关产品
CN116638017B (zh) * 2023-06-26 2024-04-12 深圳市欣茂鑫实业有限公司 一种基于自动化锻压冲压模的远程控制方法及系统

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09138716A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
US5940785A (en) * 1996-04-29 1999-08-17 International Business Machines Corporation Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit
JP3567354B2 (ja) 1996-12-26 2004-09-22 株式会社リコー マルチプロセッサシステムおよび命令作成装置
JPH11237933A (ja) 1998-02-20 1999-08-31 Mitsubishi Electric Corp 生産管理システム
US6091255A (en) * 1998-05-08 2000-07-18 Advanced Micro Devices, Inc. System and method for tasking processing modules based upon temperature
US6345240B1 (en) * 1998-08-24 2002-02-05 Agere Systems Guardian Corp. Device and method for parallel simulation task generation and distribution
JP2000322259A (ja) 1999-05-11 2000-11-24 Hitachi Ltd データ処理装置
JP2001147730A (ja) * 1999-09-10 2001-05-29 Sony Computer Entertainment Inc 電子機器
US6198245B1 (en) 1999-09-20 2001-03-06 O2 Micro International Ltd. Look-ahead closed-loop thermal management
US6501999B1 (en) * 1999-12-22 2002-12-31 Intel Corporation Multi-processor mobile computer system having one processor integrated with a chipset
EP1182556B1 (en) * 2000-08-21 2009-08-19 Texas Instruments France Task based adaptive profiling and debugging
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
KR100830747B1 (ko) * 2000-10-25 2008-05-20 텍사스 인스트루먼츠 인코포레이티드 분산된 프로세싱 시스템을 위한 인텔리젼트 전력 관리
US6988211B2 (en) * 2000-12-29 2006-01-17 Intel Corporation System and method for selecting a frequency and voltage combination from a table using a selection field and a read-only limit field
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6836849B2 (en) * 2001-04-05 2004-12-28 International Business Machines Corporation Method and apparatus for controlling power and performance in a multiprocessing system according to customer level operational requirements
US7111178B2 (en) * 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US6938176B1 (en) * 2001-10-05 2005-08-30 Nvidia Corporation Method and apparatus for power management of graphics processors and subsystems that allow the subsystems to respond to accesses when subsystems are idle
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
CA2365729A1 (en) * 2001-12-20 2003-06-20 Platform Computing (Barbados) Inc. Topology aware scheduling for a multiprocessor system
WO2003083693A1 (fr) * 2002-04-03 2003-10-09 Fujitsu Limited Planificateur de taches dans un systeme de traitement distribue
US7254812B1 (en) * 2002-05-31 2007-08-07 Advanced Micro Devices, Inc. Multi-processor task scheduling
US7086058B2 (en) * 2002-06-06 2006-08-01 International Business Machines Corporation Method and apparatus to eliminate processor core hot spots
US7076671B2 (en) * 2002-08-12 2006-07-11 Hewlett-Packard Development Company, L.P. Managing an operating frequency of processors in a multi-processor computer system
US6908227B2 (en) * 2002-08-23 2005-06-21 Intel Corporation Apparatus for thermal management of multiple core microprocessors
JP2004126968A (ja) * 2002-10-03 2004-04-22 Fujitsu Ltd 並列計算機のジョブスケジューリング装置
KR100935574B1 (ko) * 2002-11-04 2010-01-07 삼성전자주식회사 Cpu 과열방지시스템
US20040128663A1 (en) * 2002-12-31 2004-07-01 Efraim Rotem Method and apparatus for thermally managed resource allocation
US20050046400A1 (en) * 2003-05-21 2005-03-03 Efraim Rotem Controlling operation of a voltage supply according to the activity of a multi-core integrated circuit component or of multiple IC components
US7360102B2 (en) * 2004-03-29 2008-04-15 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processor manipulation
US7386739B2 (en) * 2005-05-03 2008-06-10 International Business Machines Corporation Scheduling processor voltages and frequencies based on performance prediction and power constraints

Also Published As

Publication number Publication date
WO2005124550A1 (ja) 2005-12-29
KR100878660B1 (ko) 2009-01-15
EP1783608A4 (en) 2010-09-08
TW200604790A (en) 2006-02-01
KR20070033952A (ko) 2007-03-27
TWI307013B (en) 2009-03-01
CN100432943C (zh) 2008-11-12
EP1783608A1 (en) 2007-05-09
JP2006011548A (ja) 2006-01-12
CN1860447A (zh) 2006-11-08
EP1783608B1 (en) 2015-05-20
US20070143763A1 (en) 2007-06-21
US7831842B2 (en) 2010-11-09

Similar Documents

Publication Publication Date Title
JP3805344B2 (ja) プロセッサ、情報処理装置およびプロセッサの制御方法
CN106170742B (zh) 多处理器片上系统中的能效感知热管理的方法和系统
KR101534449B1 (ko) 이기종 멀티 코어 프로세서에서의 열 에너지 생성을 관리하는 시스템 및 방법
US9442774B2 (en) Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
US8942857B2 (en) Method and system for thermal load management in a portable computing device
KR102210355B1 (ko) 적응적 전력 제어 루프
Chaudhry et al. Thermal-aware scheduling in green data centers
US8996902B2 (en) Modal workload scheduling in a heterogeneous multi-processor system on a chip
JP5109799B2 (ja) 情報処理システム、負荷制御方法、および負荷制御プログラム
EP3295276B1 (en) Reducing power by vacating subsets of cpus and memory
JP5444964B2 (ja) 情報処理装置及びスケジューリング方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060310

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: 20060509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060509

R150 Certificate of patent or registration of utility model

Ref document number: 3805344

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: 20100519

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120519

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130519

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20140519

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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