JP2006133995A - プロセッサシステム及びその制御方法 - Google Patents

プロセッサシステム及びその制御方法 Download PDF

Info

Publication number
JP2006133995A
JP2006133995A JP2004321123A JP2004321123A JP2006133995A JP 2006133995 A JP2006133995 A JP 2006133995A JP 2004321123 A JP2004321123 A JP 2004321123A JP 2004321123 A JP2004321123 A JP 2004321123A JP 2006133995 A JP2006133995 A JP 2006133995A
Authority
JP
Japan
Prior art keywords
processor
temperature
task
processors
main memory
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.)
Granted
Application number
JP2004321123A
Other languages
English (en)
Other versions
JP3914230B2 (ja
Inventor
Takeshi Kamimura
剛 上村
Kenichi Nagai
健一 永井
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 JP2004321123A priority Critical patent/JP3914230B2/ja
Priority to US11/062,670 priority patent/US7814489B2/en
Priority to EP05004025A priority patent/EP1655655A2/en
Priority to CNB2005100592880A priority patent/CN100422942C/zh
Publication of JP2006133995A publication Critical patent/JP2006133995A/ja
Application granted granted Critical
Publication of JP3914230B2 publication Critical patent/JP3914230B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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

Abstract

【課題】処理能力を低下させることなくプロセッサの温度上昇を抑制出来るプロセッサシステム及びその制御方法を提供すること。
【解決手段】各々が独立してタスクを処理する複数の第1プロセッサ11−1〜11−(m−1)と、前記第1プロセッサ11−1〜11−(m−1)の各々の温度を測定する温度センサ12−1〜12−(m−1)と、前記第1プロセッサで処理される前記タスクのプログラム、及び前記タスクとその優先順位との関係を保持するタスク優先順位テーブル22とを記憶するメインメモリ20と、前記優先順位テーブル22と、前記温度センサ12−1〜12−(m−1)で測定した各々の前記第1プロセッサ11−1〜11−(m−1)の温度とに基づいて、前記タスクのプログラムを前記第1プロセッサの各々に割り当てる第2プロセッサ11−mとを具備する。
【選択図】 図1

Description

この発明は、プロセッサシステム及びその制御方法に関するもので、例えば複数のプロセッサを備えたLSIにおいて、プロセッサ温度が上昇した場合におけるLSIの管理方法に関する。
従来から、複数のCPU(プロセッサ)を備えた半導体集積回路が知られている(以下マルチコアプロセッサと呼ぶ)。マルチコアプロセッサにおいては複数のプロセッサが各々独自のタスクを実行しており、その動作状況に応じてそれぞれのプロセッサの温度が上昇する。プロセッサは、ある規定の温度に達するまで上昇すると、正常動作が不能となったり、物理的に破壊されたりするおそれがある。
そこで、プロセッサがある一定温度に達した場合、プロセッサの動作を停止させる、または処理を軽減させることによって、それ以上の温度上昇を抑制する提案がなされている(例えば特許文献1乃至3参照)。
しかしながら、上記従来の提案であると、プロセッサを利用したシステム側では、アプリケーションの処理が滞ることになる。特に、動作停止されたプロセッサがアプリケーションにおいて重要な処理を実行していた場合には、システム側において重大な障害が発生するおそれがあった。
特開平8−314578号公報 特開平10−312225号公報 特開2000−40067号公報
この発明の目的は、処理能力を低下させることなくプロセッサの温度上昇を抑制出来るプロセッサシステム及びその制御方法を提供することにある。
この発明の一態様に係るプロセッサシステムは、各々が独立してタスクを処理する複数の第1プロセッサと、前記第1プロセッサの各々の温度を測定する温度センサと、前記第1プロセッサで処理される前記タスクのプログラム、及び前記タスクとその優先順位との関係を保持するタスク優先順位テーブルとを記憶するメインメモリと、前記優先順位テーブルと、前記温度センサで測定した各々の前記第1プロセッサの温度とに基づいて、前記タスクを前記第1プロセッサの各々に割り当てる第2プロセッサとを具備する。
またこの発明の一態様に係るプロセッサシステムの制御方法は、複数のプロセッサを備えたプロセッサシステムの制御方法であって、前記複数のプロセッサの温度を計測するステップと、処理の優先順位と各プロセッサの温度とに応じて、各々の前記プロセッサにタスクを割り当てるステップと、前記タスクを処理した際に各々の前記プロセッサが達する温度を予測するステップと、前記予測した温度が規定温度を超える場合、当該プロセッサに割り当てたタスクをメインメモリに退避させるステップと、前記予測した温度が規定温度を超えない前記プロセッサが、それぞれに割り当てられた前記タスクを処理するステップとを具備する。
この発明によれば、処理能力を低下させることなくプロセッサの温度上昇を抑制出来るプロセッサシステム及びその制御方法を提供できる。
以下、この発明の実施形態を図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
この発明の第1の実施形態に係るプロセッサシステム及びその制御方法について、図1を用いて説明する。図1は、本実施形態に係るプロセッサシステムのブロック図である。
図示するように、本実施形態に係るプロセッサシステム1は、マルチコアプロセッサ10、メインメモリ20、システムコントローラ40、周辺温度センサ50−1〜50−l(l:1以上の自然数)、DMA(Direct Memory Access)コントローラ60、ハードディスクドライブ70、及びLANアダプタ80を備えている。これらは、バスによって互いにデータ通信可能に接続されている。
マルチコアプロセッサ10は、m個(m:2以上の自然数)のプロセッサ11−1〜11−m、及びプロセッサ11−1〜11−m毎に設けられた温度センサ12−1〜12−mを備えている。
各プロセッサ11−1〜11−mは、内部バスによりそれぞれデータ通信可能に接続されている。そしてプロセッサ11−1〜11−mの各々は、インターフェース13、処理ユニット14、レジスタ15、及びメモリ16を備えている。インターフェース13は、当該プロセッサ11−1〜11−mと外部との間の信号の授受を制御する。メモリ16は、メインメモリ20からプログラムを読み出し保持する。処理ユニット14は、メモリ16に読み出したプログラムに基づいてタスクを実行する。レジスタ15は、処理ユニット14がタスクを処理する際に用いる様々なパラメータを一時的に保持し、制御レジスタや演算レジスタを含む。上記構成のプロセッサ11−1〜11−mの各々は、互いに独立してプログラムを実行し、与えられたタスクを処理する。またプロセッサ11−1〜11−mは、例えば同一チップ内に形成され、各メモリ16はeDRAM(embededd Dynamic Random Access Memory)等を使用することが出来る。温度センサ12−1〜12−mは、それぞれ対応するプロセッサ11−1〜11−mの温度を測定する。
メインメモリ20は、上記プロセッサ11−1〜11−mが動作するために必要なプログラムやデータを保持する。メインメモリ20の保持するプログラムやデータに関しては、後に詳述する。
システムコントローラ40は、例えばマルチコアプロセッサ10内のプロセッサ11−1〜11−m間の調停を行う。またシステムコントローラ40には周辺温度センサ50−1〜50−lが接続され、周辺環境温度を計測出来る。
DMAコントローラ60は、データを、マルチコアプロセッサ10内のプロセッサ11−1〜11−mの備えるメモリ16間、またはメモリ16とメインメモリ20との間等でDMA転送する。
ハードディスクドライブ70は、マルチコアプロセッサ70が動作する為に必要なデータを保持する。
LANアダプタ80は、システムプロセッサ1をLANやインターネットに接続する。
上記構成のプロセッサシステム1において、各プロセッサ11−1〜11−mはメインメモリ20を共有することも出来るし、また各プロセッサ11−1〜11−mが単独で動作することも出来る。また、各プロセッサ11−1〜11−mの温度情報は、各プロセッサ11−1〜11−m経由で読み出すことも出来る。但し、下記ではプロセッサ11−1〜11−mのいずれかにおいてオペレーティングシステムが動作し、その他のプロセッサの制御を行うものとし、上記温度情報も該プロセッサによって処理される場合を例に挙げて説明する。
次に、上記プロセッサシステム1におけるマルチコアプロセッサ10の動作について、特に温度変化とタスクの割り当てとの関係に着目して以下説明する。図2は、メインメモリ20の内部構成を示す概念図であり、メインメモリ20の保持する、タスク割り当てに関して必要な情報について示している。
図示するようにメインメモリ20は、タスクコントロールブロック21、プロセッサ発熱テーブル26、低下温度テーブル27、タスクプログラム28−1〜28−n(nは1以上の自然数)、温度情報テーブル29、タスク管理プログラム30、オペレーティングシステム31、及びコンテキストセーブエリア(Context save area)32を有している。
タスクコントロールブロック21は、優先順位テーブル22、ディスパッチテーブル(Dispatch table)23、上昇温度テーブル24、及び処理時間テーブル25を有している。優先順位テーブル22は、複数のタスクの処理すべき優先順位情報を保持する。ディスパッチテーブル23は、タスクとプロセッサ11−1〜11−mとの対応関係情報を保持する。上昇温度テーブル24は、タスクと、各タスクを実行した際のプロセッサ11−1〜11−mの上昇温度との関係情報を保持する。処理時間テーブル25は、タスクと、各タスクを実行するために必要な処理時間との関係情報を保持する。
プロセッサ発熱テーブル26は、プロセッサ11−1〜11−mがディスパッチテーブル23に保持される対応関係に基づいてタスクを処理した際に最終的に達するプロセッサ11−1〜11−mの温度情報について保持する。
低下温度テーブル27は、プロセッサ11−1〜11−mががディスパッチテーブル23に保持される対応関係に基づいてタスクを処理した際、処理後の空き時間に応じてプロセッサ11−1〜11−mが低下する温度情報について保持する。
タスクプログラム28−1〜28−nはそれぞれ、n個のタスクの実行プログラムである。なおタスクの数nは、プロセッサ11−1〜11−mの数mより多くても少なくてもいずれでも良い。
温度情報テーブル29は、プロセッサ11−1〜11−mの動作が保証される温度範囲や、破壊されるおそれのある上限温度情報などを保持する。
タスク管理プログラム30は、上記n個のタスクをプロセッサ11−1〜11−mに割り当てるためのプログラムである。
コンテキストセーブエリア32は、プロセッサ11−1〜11−mからタスクを退避させる際、タスクの再スタートに必要なデータを保持する。タスクの退避に関しては後に後述する。
なお、メインメモリ20に保持される上記情報の具体的な例に関しては、タスクの割り当て方法と共に説明する。以下、マルチコアプロセッサ11の動作について、順を追って説明する。
<システム初期化>
最初に(例えば電源投入時)、システムの初期化が行われる。初期化にあたってオペレーティングシステム31は、システムにて動作させるタスク情報をメインメモリ20内に作成、またはロードする。タスク情報とは、図2を用いて説明した優先順位テーブル22、ディスパッチテーブル23、上昇温度テーブル24、処理時間テーブル25、プロセッサ発熱テーブル26、低下温度テーブル27、タスクプログラム28−1〜28−n、温度情報テーブル29、及びタスク管理プログラム30等である。更にメインメモリ20内に、コンテキストセーブエリア32を確保する。またオペレーティングシステム31は、タスク処理の周期設定(1サイクルの長さなど)の設定も実施する。
更に、初期化の段階において、各プロセッサの制御、タスクの割り当て、データ退避、またプロセッサ間の調停等を行うプロセッサが決定される。以下ではプロセッサ11−mが上記の役割を行うものとして説明する。勿論、上記役割をその他のプロセッサ11−1〜11−(m−1)のいずれか、またはシステムコントローラ40が行っても良い。
まずプロセッサ11−mはメインメモリ20からタスク管理プログラム30を読み出す。そしてタスク管理プログラム30に従って、図3のフローチャートに示す処理を行う。まずプロセッサ11−mは、温度センサ12−1〜12−(m−1)によってプロセッサ11−1〜11−(m−1)の温度を監視する(ステップS10)。そして、メインメモリ20から温度情報テーブル29を読み出し、温度情報テーブル29内の安全温度と、動作停止中のプロセッサの温度とを比較する(ステップS11)。温度情報テーブル29の一例について図4を用いて説明する。図4は温度情報テーブル29の概念図である。
図示するように、温度情報テーブル29はプロセッサ11−1〜11−mの、例えば安全温度、注意温度、危険温度、及び絶対危険温度に関する情報を有している。安全温度とは、プロセッサの温度が十分に低く、プロセッサの正常動作が完全に確保される温度であり、図4の例では温度T1未満の温度である。注意温度とは、プロセッサの温度が安全温度よりも上昇し、プロセッサの正常動作は保証されるものの、温度の高い状態を示す範囲の温度であり、図4の例ではT1以上T2未満の温度である。危険温度とは、プロセッサの温度が注意温度よりも上昇し、プロセッサの正常動作が保証できない温度であり、図4の例ではT2以上T3未満の温度である。絶対危険温度とは、更にプロセッサの温度が上昇し、プロセッサが熱によって破壊されるおそれのある温度であり、図4の例ではT3以上の温度である。なお、図4では上記温度情報テーブル29が1種類しかない、すなわち各プロセッサ11−1〜11−mで温度情報テーブル29を共通にする場合を示している。しかし、各プロセッサ11−1〜11−mに関して、それぞれ温度情報テーブル29を設けても良い。温度情報テーブル29は、予め事前の計算機シミュレータや実機上での動作により求めておく。
ステップS11において、安全温度よりも温度の低い停止中プロセッサは、その使用が再開される(ステップS12)。安全温度よりも高いプロセッサは、引き続き使用不可とされる。
次に、その他のプロセッサ、すなわち動作中のプロセッサがあれば、そのプロセッサの温度と危険温度とを比較する(ステップS13)。危険温度範囲にあるプロセッサが無ければ、初期化を終了する。危険温度範囲のプロセッサがある場合、当該プロセッサに関してデータ退避を行い(ステップS14)、そのプロセッサの使用を停止する(ステップS15)。データ退避に関しては後に詳述する。
なお、ステップS10〜S15まではシステムコントローラ40が行い、その後に、タスクの割り当てや調停の役割をいずれかの使用可能なプロセッサ(上記ではプロセッサ11−m)に移行しても良い。
<タスクの割り当て>
初期化が終了すると、プロセッサ11−mは、プロセッサ11−1〜11−(m−1)に対してタスクの割り当てを開始する。まず、温度センサ12−1〜12−(m−1)で得られる各プロセッサ11−1〜11−(m−1)の現在温度と、メインメモリ20から読み出した優先順位テーブル22とに基づき、タスクの実行順序と、いずれのプロセッサにどのタスクを割り当てるかを決定する(ステップS16、これを以下スケジューリングと呼ぶ)。
スケジューリングの方法としては、プロセッサの動作中に動的に割り付け順序を変更する方法と、プロセッサの動作前に静的に割り付けを決定する方法がある。割り付けは主にタスクの優先度情報を元に行われる。本システムにおいては、優先度だけで無く、発熱量も考慮して、静的にスケジューリングを行った後、プロセッサへの割り当て(ディスパッチ)を行い、実際に処理を実行させながら、その後の温度変化を考慮しながら、動的に再スケジューリング、ディスパッチを行う事とする。ディスパッチは、該当プロセッサコアのメモリに対して、もしくは、主メモリの該当プロセッサコア領域に対して、主メモリからDMAなどにより転送する
以下詳細に説明する。まずスケジューリングにあたって、プロセッサ11−mは優先順位テーブル22をメインメモリ20から読み出す。優先順位テーブル22の一例について図5を用いて説明する。図5は優先順位テーブル22の概念図である。
図示するように、優先順位テーブル22は、各タスクと、各タスクの処理すべき優先順位との関係を有している。本実施形態では、例えばn個のタスクTASK-1〜TASK-nの優先順位が、1位〜n位の順番であったとする。
そしてプロセッサ11−mは、各タスクの優先順位と、各プロセッサ11−1〜11−(m−1)の温度に基づいてスケジューリングを行う。ここで、各プロセッサ11−1〜11−(m−1)の温度が図6に示すようであったとする。すなわち、プロセッサ11−1の温度が最も低かったとする。するとプロセッサ11−mは、最も優先順位の高いタスクTASK-1をプロセッサ11−1で実行させ、以下優先順位の順番に基づいて、温度の低いプロセッサから順にタスクを実行させるように決定する。
以上のようにスケジューリングが完了すると、プロセッサ11−mはメインメモリ20から読み出したディスパッチテーブル23を更新する(ステップS17)。図7はディスパッチテーブルの一例である。図示するように、ディスパッチテーブル23は、各プロセッサ11−1〜11−(m−1)と、それぞれのプロセッサに処理させるべきタスクとの関係を保持する。なお図7の例では、各プロセッサが処理するタスクは1つだけであるが、1つのプロセッサに対して複数のタスクを実行させるようにしても良い。
次にプロセッサ11−mは、ステップS17で更新したディスパッチテーブル22に基づいて、実際に各プロセッサ11−1〜11−(m−1)に対してタスクを割り当てる(ステップS18)。すなわち、図7に示すように、タスクTASK-1〜TASK-(m-1)が、それぞれプロセッサ11−1〜11−(m−1)に割り当てられる。
図8は、タスクの割り当て時におけるマルチコアプロセッサ10、メインメモリ20、及びDMAコントローラ60のブロック図である。図示するように、プロセッサ11−mはDMAコントローラ60に対して、メインメモリ20から各プロセッサ11−1〜11−(m−1)にタスクプログラム28−1〜28−(m−1)をそれぞれ転送するよう命令する。するとDMAコントローラ60から、各タスクプログラムが格納されているメインメモリ20内のアドレスADD(Sr)と、そのデータサイズ、及び各プロセッサ11−1〜11−(m−1)のメモリ16のアドレスADD(De)とがメインメモリ20に与えられ、各プログラムが各プロセッサのメモリ16へと転送される。この際、タスクプログラム28−1〜28−(m−1)だけでなく、タスクの実行に必要なデータも同時にプロセッサ11−1〜11−(m−1)へ転送される。
次にプロセッサ11−mは、各プロセッサ11−1〜11−(m−1)が、各々に割り当てられたタスクTASK-1〜TASK-(m-1)を処理した際に達するであろう温度(予測温度)を計算する(ステップS19)。ステップS19について図9を用いて説明する。図9は予測温度を計算する方法のフローチャートであり、ステップS19を更に細かく表したものである。
まずプロセッサ11−mは、メインメモリ20から読み出した処理時間テーブル25に基づいて空き時間を算出する(ステップS40)。処理時間テーブルの一例について図10を用いて説明する。図10は処理時間テーブルの概念図である。図示するように、処理時間テーブル25は、各タスクTASK-1〜TASK-nと、それぞれのタスクを処理するのに必要な時間p1〜pnの情報を有している。すると、処理時間テーブル25から各タスクの処理に必要な時間が分かるため、サイクルタイムから処理時間を減算することで空き時間が算出出来る。空き時間について図11を用いて説明する。図11は、時間に対するプロセッサの状態を示すタイムチャートである。
図示するように、例えばプロセッサ11−1があるサイクルタイムでタスクTASK-1を実行したとする。実行開始時刻が時刻t0であり、タスクTASK-1の処理に時間p1がかかった結果、処理終了時刻がt1だったとする。すると、時刻t1から、当該サイクルの終了時刻t4までの期間は、プロセッサ11−1は何も処理をしないことになる。この処理をしない時間が「空き時間」である。なお「サイクル」とは、各プロセッサが処理を行うための単位時間幅であって、このサイクル毎にスケジューリングやタスク割り当てが行われる。
プロセッサ11−mは、以上のようにして算出した空き時間から、各プロセッサ11−1〜11−(m−1)の低下温度を算出する(ステップS41)。この「低下温度」について図12を用いて説明する。図12は、プロセッサ11−1〜11−(m−1)が処理を行わなかった場合における、経過時間と温度変化との関係について示したグラフである。図示するように、例えば時刻tから時刻tまでの期間が空き時間だったとする。すると、この期間、プロセッサは何らの処理も行わないので発熱せず、プロセッサの温度は温度TからTへと低下する。この低下幅を「低下温度」と呼ぶ。図12の関係と、プロセッサの現在温度とにより、各プロセッサにおける低下温度が算出出来る。
その結果、図13に示すような低下温度テーブルが作成出来る。図13は低下温度テーブル27の一例を示す概念図である。図示するように、各プロセッサ11−1〜11−(m−1)について、処理すべきタスクと現在温度とから、低下温度Td1〜Td(m−1)が分かる。実際には、上記低下温度の計算を行う必要はない。なぜなら、サイクルタイム及びタスクの処理時間は予め分かっており、また図12の関係も、半導体チップの特性から判明しているため、メインメモリ20内に最初から図13に示すような低下温度テーブルを作成しておくことが出来るからである。従ってプロセッサ11−mは、メインメモリ20から読み出した低下温度テーブル27を参照することによって、各プロセッサ11−1〜11−(m−1)の低下温度Td1〜Td(m−1)を知ることが出来る。
次にプロセッサ11−mは実際に予測温度の算出を行う(ステップS42)。予測温度の計算に際しては、上記低下温度テーブル27及び上昇温度テーブル24と現在温度を用いて行う。上昇温度テーブルの一例について図14を用いて説明する。図14は上昇温度テーブルの概念図である。
図示するように、上昇温度テーブル24は、各タスクTASK-1〜TASKnを実行した際にプロセッサが上昇する温度Ti1〜Tinを保持している。この上昇温度テーブル24を参照することによって、各タスクを実行した際にプロセッサの温度がどれだけ上昇するかを知ることが出来る。
そこでプロセッサ11−mは、各プロセッサ11−1〜11−(m−1)について、現在温度Tm1〜Tm(m−1)に、各タスクTASK-1〜TASK-(m-1)を実行した際に上昇する上昇温度Ti1〜Ti(m−1)を加算し、更に加算結果から低下温度Td1〜Td(m−1)を減算する。その結果、各プロセッサ11−1〜11−(m−1)が、タスクTASK-1〜TASK-(m-1)を実行した結果達するであろう予測温度Theat1〜Theat(m-1)を得ることが出来る。
予測温度Theat1〜Theat(m-1)の算出が完了すると、プロセッサ11−mはプロセッサ発熱テーブル26を更新する(ステップS43)。プロセッサ発熱テーブル26の一例について図15を用いて説明する。図15はプロセッサ発熱テーブル26の概念図である。図示するように、プロセッサ発熱テーブル26は、各プロセッサ11−1〜11−(m−1)が、ステップS18で割り当てられたタスクを処理した後に達するであろう予測温度Theat1〜Theat(m-1)を保持する。
以上のステップS40〜S43の処理を、各プロセッサ11−1〜11−(m−1)について行う(ステップS44)。
ステップS20の次にプロセッサ11−mは、各プロセッサ11−1〜11−(m−1)の予測温度Theat1〜Theat(m-1)と、温度情報テーブル29を参照して得られる注意温度とを比較する(ステップS21)。全てのプロセッサ11−1〜11−(m−1)について、予測温度が注意温度よりも低ければ、プロセッサ11−mはタスクを正常に実行できると判断する。そして各プロセッサ11−1〜11−(m−1)はタスクの実行を開始する。
他方、予測温度が注意温度よりも大きいプロセッサが存在した場合、プロセッサ11−mは、当該プロセッサについてデータ退避させる(ステップS22)。ステップS22について図16を用いて説明する。図16はデータ退避の方法のフローチャートであり、ステップS22を更に細かく表したものである。
まずプロセッサ11−mは、オペレーティングシステムに対してコンテキストセーブを依頼する。コンテキストセーブとは、当該プロセッサの状態をそのまま保存させることである。そしてDMAコントローラ60に対してデータの転送命令が出されることで、データの転送を開始する(ステップS51)。以下、プロセッサ11−1において、予測温度が注意温度を超えていた場合を例に挙げ、図17を用いて説明する。図17は、プロセッサ11−1についてデータ退避を行う際のマルチコアプロセッサ10、メインメモリ20、及びDMAコントローラ60のブロック図である。
図示するように、DMAコントローラ60は、プロセッサ11−1内のレジスタ15及びメモリ16に保持されているプログラムやデータを、メインメモリ20内のコンテキストセーブエリア32にDMA転送にする(ステップS52、S53)。同時に、メインメモリ20内において、プロセッサ11−1が使用していたタスクデータ、スタックがあれば、これらもコンテキストセーブエリア32に転送する。これにより、プロセッサ11−1の現在の状態がメインメモリ20に保存、保護される(ステップS54)。コンテキストセーブエリア32に保存されたデータ等は、タスクの再割り当ての際に使用される。再割り当てについては後述する。
以上のステップS51〜S54の処理を、全ての該当プロセッサに対して行う(ステップS55)。そして、該当プロセッサの使用を停止(使用不可)する(ステップS23)。上記データ退避の方法は、先に述べたステップS14でも同様である。
<再スケジューリング>
上記ステップS21において予測温度が注意温度を超えたプロセッサに割り当てられていたタスクが高優先順位であった場合(ステップS24)、既に割り当てたタスクの処理を開始する前に、再スケジューリングを行う(ステップS25)。再スケジューリングは、プロセッサ11−mがオペレーティングシステムからコンテキストセーブ完了の通知を受けた後に行う。
例えば図17で説明したプロセッサ11−1は、最も優先順位の高いタスクTASK-1が割り当てられていた。そこでプロセッサ11−mは、プロセッサ11−1以外で、タスクTASK-1が割り当て可能なプロセッサを探し、割り当て可能なプロセッサがあった場合には、新たにタスクTASK-1をそのプロセッサに割り当てるよう決定する。再スケジューリングは、基本的にはタスクTASK-1を危険温度以下の空きプロセッサに割り当てるようにすれば良いが、空きプロセッサが複数ある場合には、最も温度の低いプロセッサに割り当てればよい。また、最も温度の低いプロセッサに既にタスクが割り当てられている場合には、そのタスクを退避させて、新たにタスクTASK-1を割り当てても良い。このようにしてスケジューリングをやり直す。そして再スケジューリングを行った後、ディスパッチテーブルを更新する(ステップS17)。
図18は、再スケジューリングの後に更新されたディスパッチテーブルの概念図である。プロセッサ1は使用停止とされているのでタスクは割り当てられない。そして他のプロセッサのいずれかは、先に割り当てられたタスクとは別のタスクが割り当てられる。
ここで、タスクTASK-1のプロセッサ11−5への再割り当てが決定されたとする。すると、プロセッサ11−mは、上記ステップS18で説明したようにタスクの割り当てを行う。この際、タスクTASK-1に関しては、データやプログラムはコンテキストセーブエリア32からプロセッサ11−5に転送される。この様子を示しているのが図19である。図19は、タスクTASK-1をプロセッサ11−5に割り当てる際のマルチコアプロセッサ10、メインメモリ20、及びDMAコントローラ60のブロック図である。
図示するように、プロセッサ11−mから出される転送命令に従って、メインメモリ20のコンテキストセーブエリア32から、プロセッサ11−5のレジスタ15及びメモリ16でデータやプログラムが転送される。その結果、データ退避直前におけるプロセッサ11−1の状態が、プロセッサ11−5に復元される。
<タスクの実行>
以上のように、ステップS21で全てのプロセッサにおいて予測温度<注意温度と判定された後、または予測温度>注意温度であって、再スケジューリングを行った後、タスクの実行が開始される(ステップS26)。なお、ステップS25において再スケジューリングを行った結果、やはり高優先順位のタスクの割り当てが不可能であった場合には、当該タスクをコンテキストセーブエリア32に保存した状態でステップS26に進む。
上記の例で、プロセッサ11−1のみがステップS23で使用停止とされた場合を例に説明する。プロセッサ11−mは、タスクを実行中のプロセッサ11−2〜11−(m−1)の温度を定期的に監視する(ステップS27)。ある特定の周期にて処理が繰り返されるリアルタイムアプリケーションを動作させている場合は、その周期間隔にて監視する。そして、温度センサ12−2〜12−(m−1)から得られるプロセッサ11−2〜11−(m−1)の現在温度と、温度情報テーブル29から得られる危険温度とを比較する(ステップS28)。
現在温度が危険温度よりも低ければ、プロセッサ11−2〜11−(m−1)は引き続きタスクの実行を継続する(ステップS29)。しかし、環境温度の急激な変化や、プロセッサの特性バラツキ、または予測し得ない過度の負荷などによって、プロセッサの現在温度が危険温度に達する場合がある。この場合には、プロセッサ11−mは当該プロセッサについてデータの退避を行い(ステップS31)、プロセッサの動作を停止させる。データ退避の手法はステップS22で説明したとおりである。動作停止されたプロセッサは、以後そのサイクル内で動作を再開することはない。
そして、その他のプロセッサが、現在温度が危険温度よりも高くなることなく当該サイクルを無事終了した場合(ステップS30)、プロセッサ11−mはプロセッサ発熱テーブル26を更新する(ステップS33)。ステップS33においては、プロセッサ11−mは、プロセッサ発熱テーブル26から発熱予測情報を減算する。従って、プロセッサ発熱テーブル内のデータは現在温度に変更される。
その後は、全てのタスクについて処理が完了するまでステップS25からステップS33を繰り返す(ステップS34)。
上記のように、この発明の第1の実施形態に係るプロセッサシステム及びその制御方法によれば、下記(1)乃至(3)の効果を得ることが出来る。
(1)プロセッサシステムの動作性能を向上出来る(その1)。
通常、複数のプロセッサを搭載したマルチコアプロセッサにおいては、各プロセッサのリーク電流、放熱熱抵抗の不均一、プロセッサの物理的配置、更には動作させている処理の違いなどに起因して、プロセッサ毎にその温度が異なる。そこで本実施形態では、タスクの優先順位と、プロセッサ温度とに基づいて、各プロセッサにタスクを割り当てている。例えば、優先度の一番高いタスクを、一番温度の低い動作可能なプロセッサに割り当てる。例えばリアルタイムアプリケーションがある場合、その優先度を高く設定しておけば、優先的に当該タスクがプロセッサ割り当てられる為、リアルタイムアプリケーションの動作に支障が出ない。この様子を示しているのが図20である。図20でタスクTASK-1、TASK-10、TASK-20がリアルタイムアプリケーションである。リアルタイムアプリケーションが、例えばビデオアプリケーションやオーディオアプリケーションなどの、あるサイクルタイムで処理が終了し且つあるサイクルで繰り返される必要のあるタスクの場合には、当該タスクが定期的にプロセッサに割り当てられる。
このように、優先順位の高いタスクを優先してプロセッサに割り当てている。換言すれば、優先度の高いタスクがその他のタスクに優先して実行されるようにスケジューリングがなされている。従って、優先度の高いタスクが途中で停止されることを効果的に防止できる。その結果、プロセッサを利用したシステム側において重大な障害が発生することを抑制でき、プロセッサシステムの動作性能が向上できる。
(2)プロセッサシステムの動作性能を向上出来る(その2)。
本実施形態に係る構成であると、タスクを実行する前に、タスクを実行した後に達するであろうプロセッサの予測温度を計算している。そして計算結果によりプロセッサ発熱テーブルを作成している。そして、予測温度が注意温度に達しないようにタスクの割り当てを行っている。従って、実際にタスクを実行した後にプロセッサが注意温度以上に上昇する可能性は低い。しかし、周囲環境などの影響によりプロセッサが危険温度に達した場合には、当該プロセッサが実行しているタスクを退避させ、メインメモリ20内のコンテキストセーブエリア32に状態保存している。従って、例えプロセッサがタスク完了前に動作停止とされた場合であっても、次のサイクルでこのタスクが優先的にプロセッサに割り当てられ、且つ動作停止した段階から処理を再開出来る。
この様子を示しているのが図21である。図示するように、タスクTASK-1は、サイクル1ではプロセッサ11−1で実行されているが、処理途中で動作停止されたとする。すると、次のサイクル2でプロセッサ11−3に再度割り当てられ、且つプロセッサ11−1で処理を完了した段階から処理を始める。またプロセッサ11−3でも処理途中で動作停止とされ、且つサイクル3で割り当て可能なプロセッサが存在しない場合には、更に次のサイクル4でプロセッサ11−1に割り当てられる。
このように、タスクの処理が途中で停止されたとしても、当該サイクル以降で優先的にプロセッサに割り当てられ、且つ途中から処理を再開出来るため、プロセッサを利用したシステム側において発生する障害を抑制出来る。従って、プロセッサシステムの動作性能を向上できる。
(3)プロセッサシステムの温度上昇を抑制できる。
本実施形態に係るプロセッサシステムであると、危険温度に達したプロセッサの動作を停止させている。従って、プロセッサシステム全体としての温度上昇を抑制できる。
また上記(2)で説明したように、いずれかのプロセッサがタスク実行中に動作停止されたとしても、当該プロセッサの状態(演算途中のデータ等を含む)はメインメモリにコンテキストセーブされるため、動作性能の低下を最小限にすることが出来る。
なお、上記実施形態では、ステップS17の処理において、ディスパッチテーブル23を図18に示すように全て書き換える場合を例に挙げて説明した。しかしこの際、古いディスパッチテーブルも保存しておいても良い。この場合、再スケジューリングによっても割り当ての変更が為されなかったタスクについては、当該タスクの割り当て処理を省略することが出来る。
次に、この発明の第2の実施形態に係るプロセッサシステム及びその制御方法について説明する。本実施形態は、上記第1の実施形態において予測温度の計算をタスク割り当ての前に行うものである。プロセッサシステムの構成は上記第1の実施形態で説明したとおりであるので説明は省略する。以下では、図22のフローチャートを用いてプロセッサシステムの動作について説明する。なお、第1の実施形態と同様の点については説明を省略する。
まず、第1の実施形態で説明したステップS10〜S15の処理を行って初期化を済ませる。初期化が完了した後、本実施形態ではまず予測温度の計算を行う(ステップS60)。ステップS60の予測温度の計算方法は、基本的には第1の実施形態で説明したステップS19と同じであるが、本実施形態では各プロセッサにつき複数のタスクを実行した場合について予測温度を計算する。そのため、予測温度の計算には、第1の実施形態で図14を用いて説明した上昇温度テーブル24と、図23に示す低下温度テーブル27を用いる。本実施形態で使用する低下温度テーブル27の第1の実施形態と異なる点は、プロセッサ11−1〜11−(m−1)について、全てのタスクTASK-1〜TASK-nを実行した場合の低下温度を保持している点にある。各プロセッサが、タスクTASK-1〜TASK-nを処理した場合の低下温度の算出方法は第1の実施形態と同様である。すなわち、本実施形態ではプロセッサ11−1〜11−(m−1)とタスクTASK-1〜TASK-nの全ての組み合わせについて低下温度を計算して、図23に示すような低下温度テーブル27を作成する。
そして、プロセッサ11−mは図23の低下温度テーブル27を用いて、プロセッサ11−1〜11−(m−1)の予測温度を計算する。計算方法は第1の実施形態と同様である。しかし低下温度テーブル27と同様、予測温度に関しても、全てのプロセッサ11−1〜11−(m−1)と、全タスクTASK-1〜TASK-nとの全組み合わせについて計算する。その結果、図24に示すようなプロセッサ発熱テーブル26が完成する(ステップS61)。すなわち、プロセッサ発熱テーブル26を参照することで、プロセッサ11−1がタスクTASK-1〜TASK-nを実行した場合の予測温度Theat11〜Theat1n、プロセッサ11−2がタスクTASK-1〜TASK-nを実行した場合の予測温度Theat21〜Theat2n、プロセッサ11−3がタスクTASK-1〜TASK-nを実行した場合の予測温度Theat31〜Theat3n、…プロセッサ11−(m−1)がタスクTASK-1〜TASK-nを実行した場合の予測温度Theat(m-1)1〜Theat(m-1)nを知ることが出来る。
プロセッサ発熱テーブル26を更新した後に、プロセッサ11−mはスケジューリングを行う(ステップS62)。スケジューリングは、優先順位テーブル22から得られる各タスクの優先度、各プロセッサ11−1〜11−(m−1)の現在温度、プロセッサ発熱テーブル26から得られる各プロセッサ11−1〜11−(m−1)の予測温度、及び温度情報テーブルから得られる注意温度を用いて行われる。基本的には第1の実施形態と同様に、最も現在温度の低いプロセッサに対して、最も優先度の高いタスクを割り当てるようにしてスケジューリングを行う。スケジューリングの過程で予測温度と注意温度(ステップS63)との比較を行い、高優先度のタスクに関して予測温度が注意温度を超えた場合(ステップS64)には再スケジューリングを行う(ステップS66)。この段階ではタスクをプロセッサに実際には割り当てていないため、予測温度が注意温度を超えたプロセッサの動作を停止する必要はない。プロセッサ11−mは、タスクの優先順位と現在温度とを考慮しつつ、可能な限り非動作プロセッサが生じないように効率的にスケジューリングを行う。
スケジューリングが完了すると、プロセッサ11−mはディスパッチテーブル23を更新する(ステップS65)。そしてプロセッサ11−mはディスパッチテーブル23に基づいて、各プロセッサ11−1〜11−(m−1)にタスクを割り当てる。
その後は第1の実施形態と同様にステップS26以降の処理が行われる。
上記のように本実施形態に係るプロセッサシステム及びその制御方法であると、第1の実施形態で説明した(1)乃至(3)の効果に加えて、下記(4)の効果をあわせて得ることが出来る。
(4)プロセッサシステムの性能を向上できる(その3)
本実施形態に係る構成及び方法であると、タスクをプロセッサに割り当てる前に、各プロセッサについて、複数のタスクをそれぞれ実行した際の予測温度を計算している。従って、タスク割り当てを行うプロセッサ(またはシステムコントローラ)は、プロセッサとタスクとの全ての組み合わせについての予測温度を知ることが出来る。そのため、タスクの優先度を考慮しつつ、各プロセッサへの効率的なタスク割り当てが可能となり、プロセッサシステムとしての処理能力を向上できる。
次に、この発明の第3の実施形態に係るプロセッサシステム及びその制御方法について説明する。本実施形態は、上記第1、第2の実施形態において、マルチコアプロセッサ温度上昇を更に抑制するための方法に関する。プロセッサシステムの構成は第1の実施形態と同様であるので説明は省略する。以下、本実施形態に係るプロセッサシステムの動作について図25を用いて説明する。図25は、本実施形態に係るプロセッサシステムの一部動作のフローチャートである。
まず、上記第1の実施形態で説明したステップS21、S24、または第2の実施形態で説明したステップS18の後、プロセッサ11−1〜11−(m−1)がタスクの実行を開始する(ステップS26)。そしてプロセッサ11−mは、プロセッサ11−1〜11−(m−1)がタスクの温度を定期的に監視する(ステップS27)。そして、上記第1、第2の実施形態では、ステップS28において現在温度と危険温度とを比較していたが、本実施形態ではステップS70において、現在温度と注意温度とを比較する。現在温度が注意温度より低ければ当該プロセッサにタスクの実行を継続させ(ステップS29)、注意温度以上であればデータを退避させて(ステップS31)、当該プロセッサの動作を停止させる(ステップS32)。
その後の処理は第1、第2の実施形態と同様である。
本実施形態に係る方法であると、上記第1、第2の実施形態で説明した(1)乃至(4)の効果に加えて、下記(5)の効果を得ることが出来る。
(5)マルチコアプロセッサの温度上昇を効果的に抑制できる。
この点について図26を用いて説明する。図26は、時間に対するプロセッサの状態と、プロセッサの温度とを示したグラフである。以下、タスクが時刻t0で開始され、サイクルタイムが時刻t0からt3の期間であり、且つプロセッサ温度が危険温度よりも上昇する場合を考える。
プロセッサがタスクを実行中、当該プロセッサ温度を危険温度と比較する場合、図26に示すように、プロセッサは時刻t2でその動作を停止される。従って、時刻t2から時刻t3までの期間Δt1が空き時間となり、この空き時間の期間、プロセッサの温度は低下する。しかし、プロセッサに対して動作停止命令が出されたとしても、当該プロセッサはその命令と同時に動作を停止することは出来ず、命令から実際の動作停止までの間には一定のタイムラグが存在する。従って、プロセッサの温度は時刻t2を経過してもすぐには低下せず、一定時間経過した後に低下し始める。すると、図中のCASE3として示したように、空き時間Δt1の期間では十分にプロセッサの温度が低下せず、次のサイクルタイムが始まる時刻t3になっても危険温度以上である場合が発生する。更には図中のCASE4として示したように、プロセッサの温度が絶対危険温度に達する可能性もある。プロセッサが絶対危険温度に達すれば、もはや当該プロセッサは物理的に動作不能となるおそれもある。
しかし本実施形態では、タスク実行中のプロセッサの温度を、危険温度よりも低い注意温度と比較している。すると図26に示すように、プロセッサは時刻t1で動作を停止する。従って、時刻t1から時刻t3までの期間Δt2(>Δt1)が空き時間となる。よって、当該プロセッサは空き時間Δt2の期間に十分冷却され、CASE2のように安全温度以下まで低下するか、最悪の場合でも注意温度よりは必ず低い温度となる(CASE1)。
以上のように、本実施形態に係る方法であると、十分にプロセッサを冷却することが出来、その結果、プロセッサの熱暴走や破壊を防止出来る。また、プロセッサは空き時間で十分冷却されるため、次のサイクルタイムにタスクを割り当てることが可能となる。従って、プロセッサシステムとしての処理効率を向上できる。
次に、この発明の第4の実施形態に係るプロセッサシステム及びその制御方法について説明する。本実施形態は、上記第1乃至第3の実施形態において、予測温度の算出精度を向上する方法に関する。
図27はマルチコアプロセッサ10のブロック図である。各プロセッサ11−1〜11−mは、互いに隣接するプロセッサから熱伝播の影響を受け、この影響によって温度が上昇する。例えば図27のように配置されている場合、プロセッサ11−1は、プロセッサ11−1との距離が最も小さい(d1)プロセッサ11−2、11−3から熱伝播の影響を強く受ける。また次に距離の小さい(d2)プロセッサ11−4からも少なからず熱伝播の影響を受ける。その他のプロセッサ11−5〜11−mからも、程度の差はあるが熱伝播の影響を受ける。
そこで本実施形態では、上記第1乃至第3の実施形態におけるステップS19、S60の予測温度算出の際に、隣接プロセッサからの熱伝播の影響を加味する。例えば図27におけるプロセッサ11−1に着目すると、予測温度Theatは図28に示すようになる。すなわち、プロセッサ11−2、11−3、11−4からの熱伝播による影響によって上昇する温度をそれぞれ影響温度Taff12、Taff13、Taff14とすれば、
Theat1=Tm1+(Ti−Td)+Taff12+Taff13+Taff14
となる。
上記のように、予測温度の算出の際に影響温度を更に加算するために、メインメモリ20に影響温度テーブルを保持させる。影響温度テーブルの一例を図29に示す。図29は影響温度テーブルの概念図である。
図示するように影響温度テーブルは、各プロセッサ11−1〜11−mが、その他のプロセッサから受ける熱伝播の影響を係数cとして保持している。この係数cは、予めシミュレーションや実機での計測により求めておく。そして、この係数と各プロセッサの現在温度を掛け合わせることにより影響温度Taffが算出される。例えばプロセッサ11−1がプロセッサ11−2から受ける熱伝播の影響の係数をc12とし、プロセッサ11−2の現在温度がTm2だったとすると、プロセッサ11−1がプロセッサ11−2の影響によって上昇する影響温度Taff1は(Tm2×c12)として算出される。この計算を、プロセッサ11−mがステップS19、S60、またはそれ以前に行い、影響温度テーブルを完成させる。そして実際に予測温度Theatを算出する際には、上昇温度テーブル及び低下温度テーブルだけでなく影響温度テーブルを参照する。
本実施形態に係る方法であると、上記第1乃至第2の実施形態で説明した(1)乃至(5)の効果に加えて、下記(6)の効果を得ることが出来る。
(6)プロセッサシステムの性能を向上出来る(その4)。
本実施形態に係る方法であると、その他のプロセッサの持つ熱による影響を加味して予測温度Theatを算出している。従って、予測温度Theatの精度が向上する、すなわち、予測温度Theatと、実際にタスクを実行させた際の温度との誤差を少なくできる。従って、タスクを実行させた際にプロセッサの温度が危険温度(または注意温度)を超えるケースを少なくできる。従って、より効率的なプロセッサの使用が可能となり、プロセッサシステムの性能を向上できる。
なお上記ではプロセッサ11−1を例に挙げて、プロセッサ11−2〜11−4からの熱伝播を考慮する場合について説明したが、考慮に入れるプロセッサの数を増やすほど精度は向上する。しかし当該プロセッサから遠くなるほど熱伝播の影響は小さくなる。従って、どのプロセッサまで考慮に入れるかは、望まれる予測精度と、その計算量とを総合的に勘案しつつ決定すればよい。
また影響温度に関しては、フィードバックの影響を考慮してもよい。例えばプロセッサ11−1とプロセッサ11−2との関係に着目する。プロセッサ11−1はプロセッサ11−2からの熱伝播によって温度が上昇する。するとプロセッサ11−2も、温度が上昇したプロセッサ11−1からの熱伝播によって温度が上昇する。更にプロセッサ11−1は、温度の上昇したプロセッサ11−2の影響によって温度が上昇する。このように、プロセッサが互いに影響しあって温度が上昇する場合を考慮に入れて影響温度テーブルを作成しても良い。この場合には更に精度良く予測温度を算出出来る。
次に、この発明の第5の実施形態に係るプロセッサシステム及びその制御方法について説明する。本実施形態は、マルチコアプロセッサ10内において、意図的に動作させないプロセッサを設けることによって、マルチコアプロセッサ全体の温度上昇を抑制するものである。
図30は本実施形態に係るマルチコアプロセッサ10のブロック図であり、時間と共にプロセッサの動作が変化する様子を示す図である。図示するように、本実施形態に係るマルチコアプロセッサ10は、いずれか1つ以上のプロセッサが強制的に動作停止とされ、サイクルタイム毎に動作停止されるプロセッサが変化する。
図31は、各プロセッサ11−1〜11−mの動作の様子を示すタイムチャートであり、動作停止とされるプロセッサは図30に対応している。図30、図31に示すように、サイクルタイム1ではプロセッサ11−1が動作停止とされ、次のサイクルタイム2ではプロセッサ11−2が動作停止とされ、次のサイクルタイム3ではプロセッサ11−3が動作停止とされる。動作停止とされたプロセッサは、当然ながら何らの処理も行わず、その期間は空き時間となる。
上記のように、プロセッサを順次動作停止とするためには、タスク管理を行うプロセッサ、またはシステムコントローラがディスパッチテーブルを保持する。そしてディスパッチテーブル内においていずれかのプロセッサに強制的にタスクを割り当てないようにすると共に、サイクルが切り替わる毎にプロセッサ番号をインクリメントまたはデクリメントすることで、動作停止プロセッサを切り替えていく。
本実施形態に係るプロセッサシステム及びその制御方法によれば、上記第1乃至第4の実施形態で説明した(1)乃至(6)の効果に加えて、下記(7)の効果が得られる。
(7)マルチコアプロセッサの温度上昇を抑制できると共に、温度を均一に出来る。
本実施形態によれば、動作させないプロセッサを意図的に設け、それを動的に変化させている。従って、まず動作させないプロセッサを設けることで、マルチコアプロセッサ10の温度上昇を効果的に抑制できる。また、サイクルが切り替わる毎に、動作停止とするプロセッサも順次切り替える。従って、マルチコアプロセッサの温度分布が局所的に高くなったり低くなったりすることなく、均一にすることができる。
以上の結果、温度に応じた各プロセッサの特性がマルチコアプロセッサ10内においてほぼ等しくなり、プロセッサの特性が場所によってばらつくことを防止出来る。
なお上記方法は、図32に示すように専用のハードウェアを用いて行っても良い。図32はマルチコアプロセッサ10のブロック図である。図示するように、マルチコアプロセッサ10は、プロセッサ11−1〜11−mを制御するコントローラ17を備えている。コントローラ17は、内部にプロセッサ番号を保持しており、当該プロセッサ番号に対応するプロセッサ11−1〜11−mのいずれかを強制的に動作停止の状態とする。そして、例えばタスク割り当てなどをプロセッサ11−mが行う場合には、いずれのプロセッサを動作停止にさせるかをプロセッサ11−mに通知する。またコントローラ17はインクリメントユニットまたはデクリメントユニット18を備え、サイクルが切り替わる毎にプロセッサ番号をインクリメントまたはデクリメントする。そしてプロセッサ11−mは、コントローラ17によって動作停止とされたプロセッサを除いたプロセッサに対してタスクの割り当てを行う。
次に、この発明の第6の実施形態に係るプロセッサシステム及びその制御方法について説明する。本実施形態は上記第1乃至第5の実施形態において、優先度の高いタスクを緊急避難的に動作させるためのプロセッサを設けるものである。
本実施形態に係るマルチコアプロセッサ10の動作について図33を用いて説明する図33はマルチコアプロセッサ10のブロック図であり、時間と共に動作が変化する様子を示している。図示するように、プロセッサ11−mはプロセッサ11−1を緊急避難用プロセッサとして扱い、サイクルタイム1〜3においてプロセッサ11−1をタスクのスケジューリング対象からはずす。そしてプロセッサ11−2〜11−(m−1)を対象にしてスケジューリング及びタスク割り当てを行う。
動作が進行するに従ってマルチコアプロセッサ10の温度が全体的に上昇し始め、サイクルタイム4において再スケジューリング先が無くなったと仮定する。するとプロセッサ11−mは、緊急避難用としてスケジューリング対象からはずしていたプロセッサ11−1に最も優先度の高いタスクを割り当てる。同時にその他のプロセッサ11−2〜11−(m−1)の動作を停止させる。
その後、マルチコアプロセッサ10の温度が低下したら、サイクルタイム1〜3と同じように、プロセッサ11−1を停止させ、プロセッサ11−2〜11−(m−1)をスケジューリング対象としてにタスクを割り当てる。
図34は、プロセッサの動作状態とマルチコアプロセッサ10の温度の時間変化を示している。図示するように、サイクルタイム1〜3の期間でマルチコアプロセッサ10の温度が上昇する。しかしサイクルタイム4でプロセッサ11−2〜11−(m−1)の動作を停止させるため、マルチコアプロセッサ10の温度は急激に低下する。
上記のように、本実施形態に係るプロセッサシステム及びその制御方法であると、上記第1乃至第5の実施形態で説明した(1)乃至(7)の効果に加えて、下記(8)の効果が得られる。
(8)アプリケーションの停滞を防止しつつプロセッサシステムの温度上昇を抑制できる。
本実施形態に係るマルチコアプロセッサ10は、緊急避難用のプロセッサ11−1を有している。このプロセッサ11−1は通常動作時には動作停止とされており、その他の通常動作用プロセッサ11−2〜11−(m−1)によってタスクが実行されている。しかし、マルチコアプロセッサ10の温度が一定以上に達した場合には、全ての通常動作用プロセッサ11−2〜11−(m−1)を動作停止させる。これによりマルチコアプロセッサは急激に冷却され、十分に温度が低下させる。通常動作用プロセッサ11−2〜11−(m−1)が動作停止されている期間は、緊急避難用プロセッサ11−1が動作状態される。そしてプロセッサ11−1によって、最も優先度の高いタスクが実行される。従って、アプリケーションの停滞を最小限にすることが出来る。
なお本実施形態においても、上記第5の実施形態と同様に、プロセッサの動作停止を専用のコントローラによって行っても良い。すなわち図35に示すように、マルチコアプロセッサ10内にコントローラ19を設ける。コントローラ19は、マルチコアプロセッサ10の温度が一定以下である場合には緊急避難用プロセッサ11−1の動作を停止させる。この情報はプロセッサ11−mに与えられる。そして、マルチコアプロセッサ10の温度が一定以上に達した場合には、プロセッサ11−2〜11−(m−1)の動作を停止させ、プロセッサ11−1の動作を開始させる。タスクの割り付けなどの制御をプロセッサ11−mが行っている場合には、プロセッサ11−1だけでなくプロセッサ11−mを動作状態にしておいても良いが、コントローラ19が一時的にプロセッサ11−mの役割を果たすことでプロセッサ11−mの動作を停止させても良い。
以上のように、この発明の第1乃至第6の実施形態に係るプロセッサシステム及びその制御方法であると、各プロセッサの現在温度とタスクの優先順位とに応じてタスクの割り当てを行っている。そしてプロセッサの温度が上昇した場合には、当該プロセッサの動作を停止させると共にその状態をメインメモリにコンテキストセーブし、次以降のサイクルタイムで処理途中の段階から処理を再開させる。従って、熱上昇に伴うプロセッサシステムの処理能力の低下を抑制出来る。
なお、上記第1の実施形態ではまず最低温度のプロセッサに最高優先順位のタスクを割り当てた後、当該プロセッサにおいて予測温度が注意温度を上回った場合には当該プロセッサを動作停止としていたが、勿論、優先順位が次順位以降のタスクを再割り当てしても良い。
また、上記第1乃至第6の実施形態では、各プロセッサ11−1〜11−m毎に温度センサ12−1〜12−mが設けられる場合を例に挙げて説明した。しかし、温度センサは必ずしもプロセッサ毎に必要ではない。すなわち、1つの温度センサを複数のプロセッサ同士で共有して、1つの温度センサで複数のプロセッサ温度を測定する構成であっても良い。また温度センサをチップのホットスポット(他の部分に比べて温度の高い領域)に配置することによって、ホットスポット近辺のプロセッサの温度を測定しても良い。
上記第1乃至第6の実施形態に係るプロセッサシステムは、例えばゲーム機、ホームサーバー、テレビ、または携帯情報端末などに搭載することが出来る。図36は上記第1乃至第6の実施形態で説明したプロセッサシステムを搭載したデジタルテレビの備えるデジタルボードのブロック図である。デジタルボードは、画像・音声などの通信情報を制御するためのものである。図示するように、デジタルボード100は、フロントエンド部110、画像描画プロセッサシステム120、デジタル入力部130、A/Dコンバータ140、180、ゴーストリダクション部150、三次元YC分離部160、カラーデコーダ170、LAN処理LSI190、LAN端子200、ブリッジメディアコントローラ210、カードスロット220、フラッシュメモリ230、及び大容量メモリ(例えばDRAM:Dynamic Random Access Memory)240を備えている。フロントエンド部110は、デジタルチューナーモジュール111、112、OFDM(Orthogonal Frequency Division Multiplex)復調部113、QPSK(Quadrature Phase Shift Keying)復調部114を備えている。
画像描画プロセッサシステム120は、送受信回路121、MPEG2デコーダ122、グラフィックエンジン123、デジタルフォーマットコンバータ124、及びプロセッサ125を備えている。そして、例えばグラフィックエンジン123及びプロセッサ125が、上記第1乃至第6の実施形態で説明したマルチコアプロセッサ10及びメインメモリ20がプロセッサ125に対応する。
上記構成において、地上デジタル放送波、BSデジタル放送波、及び110°CSデジタル放送波は、フロントエンド部110で復調される。また地上アナログ放送波及びDVD/VTR信号は、3次元YC分離部160及びカラーデコーダ170でデコードされる。これらの信号は、画像描画プロセッサシステム120に入力され、送受信回路121で、映像・音声・データに分離される。そして、映像に関しては、MPEG2デコーダ122を介してグラフィックエンジン123に映像情報が入力される。
図37は、上記第1乃至第6の実施形態で説明したプロセッサシステムを備えた録画再生機器のブロック図である。図示するように、録画再生機器300はヘッドアンプ310、モータードライバ320、メモリ330、画像情報制御回路340、ユーザI/F用CPU350、フラッシュメモリ360、ディスプレイ370、ビデオ出力部380、及びオーディオ出力部390を備えている。
画像情報制御回路340は、メモリインターフェース341、デジタル信号プロセッサ342、プロセッサ343、映像処理用プロセッサ344、及びオーディオ処理用プロセッサ345を備えている。
上記構成において、ヘッドアンプ310で読み出された映像データが画像情報制御回路340に入力される。そして、デジタル信号処理プロセッサ342から映像情報用プロセッサに図形情報が入力される。すると映像情報用プロセッサ345は図形情報に基づいて物体を描画する。そして上記第1乃至第6の実施形態で説明したマルチコアプロセッサ10がプロセッサ343に対応し、メインメモリ20がメモリ330に対応する。
上記のように、この発明の一態様に係るプロセッサシステムは、
1.各々が独立してタスクを処理する複数の第1プロセッサと、
前記第1プロセッサの各々の温度を測定する温度センサと、
前記第1プロセッサで処理される前記タスクのプログラム、及び前記タスクとその優先順位との関係を保持するタスク優先順位テーブルとを記憶するメインメモリと、
前記優先順位テーブルと、前記温度センサで測定した各々の前記第1プロセッサの温度とに基づいて、前記タスクを前記第1プロセッサの各々に割り当てる第2プロセッサとを具備する。
2.上記1において、前記第2プロセッサは、前記タスクを処理した際に各々の前記プロセッサが達する温度を予測し、前記予測した温度が規定温度を超える場合には当該プロセッサに割り当てたタスクを前記メインメモリに退避させて、当該プロセッサの動作を停止させる。
3.上記1において、前記第2プロセッサは、前記タスクを処理した際に各々の前記プロセッサが達する温度を予測し、前記予測した温度が規定温度を超えない前記プロセッサにのみ前記タスクを割り当てる。
また、この発明の一態様に係るプロセッサシステムの制御方法は、
4.複数のプロセッサを備えたプロセッサシステムの制御方法であって、
前記複数のプロセッサの温度を計測するステップと、
処理の優先順位と各プロセッサの温度とに応じて、各々の前記プロセッサにタスクを割り当てるステップと、
前記タスクを処理した際に各々の前記プロセッサが達する温度を予測するステップと、
前記予測した温度が規定温度を超える場合、当該プロセッサに割り当てたタスクをメインメモリに退避させるステップと、
前記予測した温度が規定温度を超えない前記プロセッサが、それぞれに割り当てられた前記タスクを処理するステップとを具備する。
更に、この発明の一態様に係るプロセッサシステムの制御方法は、
5.複数のプロセッサを備えたプロセッサシステムの制御方法であって、
前記複数のプロセッサの温度を計測するステップと、
処理の優先順位と各プロセッサの温度とに応じて、各々の前記プロセッサに割り当てるべきタスクを決定するステップと、
前記割り当てるべきタスクを決定するステップにおいて決定された前記タスクを、各々の前記プロセッサが処理した際に達する温度を予測するステップと、
前記予測した温度が規定温度を超える前記プロセッサには前記タスクを割り当てず、前記予測した温度が規定温度を超えない前記プロセッサに前記タスクを割り当てるステップと、
前記タスクを割り当てられた前記プロセッサが、該タスクを処理するステップとを具備する。
6.上記1において、前記メインメモリは、前記第1プロセッサと、各々の前記第1プロセッサに割り当てるべき前記タスクとの対応関係情報を保持するタスク割り当てテーブルを更に記憶し、
前記第2プロセッサは、前記温度センサによって測定された温度が最も低い前記第1プロセッサに対して、前記タスク優先順位テーブルにおいて最も優先順位の高いタスクを割り当てるように前記タスク割り当てテーブルを書き換え、
前記第2プロセッサは、前記タスク割り当てテーブルの情報に従って、前記タスク割り当てテーブルの情報に応じて、前記タスクを前記第1プロセッサに割り当てる。
7.上記2または3において、前記規定温度は、前記第1プロセッサが動作を許容する上限温度であって、
前記メインメモリは、各々の前記第1プロセッサの上限温度情報を保持する上限温度テーブルと、
前記タスクを処理した際における前記第1プロセッサの上昇温度情報を保持する上昇温度テーブルと、
前記タスクを処理した際に発生する空き時間に応じて低下する前記第1プロセッサの低下温度情報を保持する低下温度テーブルと、
前記タスクを処理した結果達する前記第1プロセッサの温度情報を保持する予測温度テーブルとを更に記憶し、
前記第2プロセッサは、前記温度センサから得られる現在温度と、前記上昇温度テーブルから得られる上昇温度と、前記低下温度テーブルから得られる低下温度とを用いて、前記第1プロセッサの各々に前記タスクを割り当てた際に達する前記第1プロセッサの前記予測温度を計算して前記予測温度テーブルに保持させ、該予測温度テーブルと、前記上限温度テーブルに保持される前記上限温度とを比較する。
8.上記2または3において、前記第2プロセッサは前記温度センサを監視し、前記タスクの処理中にいずれかの前記第1プロセッサが前記規定温度に達した場合、処理途中の当該タスクをメインメモリに退避させて当該プロセッサの動作を停止させ、
前記メインメモリは、退避された前記タスクの情報を保持すべきコンテキストセーブ領域を備える。
9.上記1において、前記メインメモリは、各々の前記第1プロセッサが、その他の隣接する前記第1プロセッサからの熱伝播によって上昇する前記第1プロセッサの影響温度情報を保持する影響温度テーブルを更に記憶し、
前記第2プロセッサは、前記現在温度に対して前記上昇温度及び前記影響温度を加算し、更に前記低下温度を減算することにより前記予測温度を計算する。
10.上記4または5において、前記温度を計測するステップにおいて計測された温度が最も低い前記プロセッサに対して、最も優先順位の高い前記タスクが割り当てられる。
11.上記4において、前記優先順位の高い前記タスクが退避させられた場合、他のいずれかの前記プロセッサに該タスクを再度割り当てるステップを更に備える。
12.上記4または5において、前記タスクを処理するステップの後、いずれかの前記プロセッサが規定温度に達した場合、当該プロセッサで処理途中の前記タスクをメインメモリに退避させるステップと、
前記規定温度に達した前記プロセッサの動作を停止させるステップと、
前記退避されたタスクを、異なる前記プロセッサに再度割り当てるステップとを更に備える。
13.上記12において、前記タスクをメインメモリに退避させるステップは、前記プロセッサの備えるレジスタ及びメモリの内容を前記メインメモリに格納することにより、前記プロセッサの状態を保存し、
前記異なるプロセッサに再度割り当てるステップは、前記タスクをメインメモリに退避させるステップにおいて保存した前記プロセッサの状態をメインメモリから読み出すことにより、前記異なるプロセッサに対して前記タスクを途中から再開させる。
14.上記4または5において、前記温度を予測するステップは、前記温度を計測するステップで得られた現在温度と、前記タスクを処理した際に予想される上昇温度とを加算するステップと、
前記現在温度と前記上昇温度を加算した加算結果から、1つの処理を実行するための単位時間内における空き時間に基づいて求められる前記プロセッサの下降温度を減算するステップとを含み、前記減算するステップで得られた減算結果を予測温度とする。
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
この発明の第1の実施形態に係るプロセッサシステムのブロック図。 この発明の第1の実施形態に係るプロセッサシステムの備えるメインメモリの概念図であり、メインメモリに保持されるメモリ空間と保持される情報とを示す図。 この発明の第1の実施形態に係るプロセッサシステムの制御方法のフローチャート。 この発明の第1の実施形態に係るプロセッサシステムの備えるメインメモリに保持される温度情報テーブルの概念図。 この発明の第1の実施形態に係るプロセッサシステムの備えるメインメモリに保持される優先順位テーブルの概念図。 この発明の第1の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサ内の各プロセッサと現在温度との関係を示す図。 この発明の第1の実施形態に係るプロセッサシステムの備えるメインメモリに保持されるディスパッチテーブルの概念図。 この発明の第1の実施形態に係るプロセッサシステムのブロック図であり、メインメモリからタスクプログラムがDMA転送される様子を示す図。 この発明の第1の実施形態に係るプロセッサシステムの制御方法において、予測温度を算出してプロセッサ発熱テーブルを作成するための処理の流れを示すフローチャート。 この発明の第1の実施形態に係るプロセッサシステムの備えるメインメモリに保持される処理時間テーブルの概念図。 この発明の第1の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサの状態を示すタイムチャート。 この発明の第1の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサ内のプロセッサの、空き時間と低下温度との関係を示すグラフ。 この発明の第1の実施形態に係るプロセッサシステムの備えるメインメモリに保持される低下温度テーブルの概念図。 この発明の第1の実施形態に係るプロセッサシステムの備えるメインメモリに保持される上昇温度テーブルの概念図。 この発明の第1の実施形態に係るプロセッサシステムの備えるメインメモリに保持されるプロセッサ発熱テーブルの概念図。 この発明の第1の実施形態に係るプロセッサシステムの制御方法において、データ退避の際の処理の流れを示すフローチャート。 この発明の第1の実施形態に係るプロセッサシステムのブロック図であり、プロセッサからメインメモリにデータの退避を行う様子を示す図。 この発明の第1の実施形態に係るプロセッサシステムの備えるメインメモリに保持されるディスパッチテーブルの概念図。 この発明の第1の実施形態に係るプロセッサシステムのブロック図であり、タスクを再割り当てする際に、メインメモリからプロセッサにデータをDMA転送する様子を示す図。 この発明の第1の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサの状態を示すタイムチャート。 この発明の第1の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサの状態を示すタイムチャート。 この発明の第2の実施形態に係るプロセッサシステムの制御方法のフローチャート。 この発明の第2の実施形態に係るプロセッサシステムの備えるメインメモリに保持される低下温度テーブルの概念図。 この発明の第2の実施形態に係るプロセッサシステムの備えるメインメモリに保持されるプロセッサ発熱テーブルの概念図。 この発明の第3の実施形態に係るプロセッサシステムの制御方法において、タスク実行中の処理の流れを示すフローチャート。 この発明の第3の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサの状態を示すタイムチャート。 この発明の第4の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサのブロック図。 この発明の第4の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサのプロセッサ温度を示す概念図。 この発明の第4の実施形態に係るプロセッサシステムの備えるメインメモリに保持される影響温度テーブルの概念図。 この発明の第5の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサのブロック図であり、時間と共に動作の変化を示す図。 この発明の第5の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサの状態を示すタイムチャート。 この発明の第5の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサのブロック図。 この発明の第6の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサのブロック図であり、時間と共に動作の変化を示す図。 この発明の第6の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサの状態を示すタイムチャート。 この発明の第6の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサのブロック図であり、時間と共に動作の変化を示す図。 この発明の第1乃至第6の実施形態に係るプロセッサシステムをを備えるデジタルテレビのデジタルボードのブロック図。 この発明の第1乃至第6の実施形態に係るプロセッサシステムを備える録画再生機器のブロック図。
符号の説明
1…プロセッサシステム、10…マルチコアプロセッサ、11−1〜11−m…プロセッサ、12−1〜12−m…温度センサ、13…インターフェース、14…処理ユニット、15…レジスタ、16…メモリ、17、19…コントローラ、18…インクリメント部、デクリメント部、20…メインメモリ、21…タスクコントロールブロック、22…優先順位テーブル、23…ディスパッチテーブル、24…上昇温度テーブル、25…処理時間テーブル、26…プロセッサ発熱テーブル、27…低下温度テーブル、28−1〜28−n…タスクプログラム、29…温度情報テーブル、30…タスクマネジメントプログラム、31…オペレーティングシステム、32…コンテキストセーブエリア、40…システムコントローラ、60…DMAコントローラ、70…ハードディスクドライブ、80…LANアダプタ

Claims (5)

  1. 各々が独立してタスクを処理する複数の第1プロセッサと、
    前記第1プロセッサの各々の温度を測定する温度センサと、
    前記第1プロセッサで処理される前記タスクのプログラム、及び前記タスクとその優先順位との関係を保持するタスク優先順位テーブルとを記憶するメインメモリと、
    前記優先順位テーブルと、前記温度センサで測定した各々の前記第1プロセッサの温度とに基づいて、前記タスクを前記第1プロセッサの各々に割り当てる第2プロセッサと
    を具備することを特徴とするプロセッサシステム。
  2. 前記第2プロセッサは、前記タスクを処理した際に各々の前記プロセッサが達する温度を予測し、前記予測した温度が規定温度を超える場合には当該プロセッサに割り当てたタスクを前記メインメモリに退避させて、当該プロセッサの動作を停止させる
    ことを特徴とする請求項1記載のプロセッサシステム。
  3. 前記第2プロセッサは、前記タスクを処理した際に各々の前記プロセッサが達する温度を予測し、前記予測した温度が規定温度を超えない前記プロセッサにのみ前記タスクを割り当てる
    ことを特徴とする請求項1記載のプロセッサシステム。
  4. 複数のプロセッサを備えたプロセッサシステムの制御方法であって、
    前記複数のプロセッサの温度を計測するステップと、
    処理の優先順位と各プロセッサの温度とに応じて、各々の前記プロセッサにタスクを割り当てるステップと、
    前記タスクを処理した際に各々の前記プロセッサが達する温度を予測するステップと、
    前記予測した温度が規定温度を超える場合、当該プロセッサに割り当てたタスクをメインメモリに退避させるステップと、
    前記予測した温度が規定温度を超えない前記プロセッサが、それぞれに割り当てられた前記タスクを処理するステップと
    を具備することを特徴とするプロセッサシステムの制御方法。
  5. 複数のプロセッサを備えたプロセッサシステムの制御方法であって、
    前記複数のプロセッサの温度を計測するステップと、
    処理の優先順位と各プロセッサの温度とに応じて、各々の前記プロセッサに割り当てるべきタスクを決定するステップと、
    前記割り当てるべきタスクを決定するステップにおいて決定された前記タスクを、各々の前記プロセッサが処理した際に達する温度を予測するステップと、
    前記予測した温度が規定温度を超える前記プロセッサには前記タスクを割り当てず、前記予測した温度が規定温度を超えない前記プロセッサに前記タスクを割り当てるステップと、
    前記タスクを割り当てられた前記プロセッサが、該タスクを処理するステップと
    を具備することを特徴とするプロセッサシステムの制御方法。
JP2004321123A 2004-11-04 2004-11-04 プロセッサシステム及びその制御方法 Expired - Fee Related JP3914230B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004321123A JP3914230B2 (ja) 2004-11-04 2004-11-04 プロセッサシステム及びその制御方法
US11/062,670 US7814489B2 (en) 2004-11-04 2005-02-23 Processor system with temperature sensor and control method of the same
EP05004025A EP1655655A2 (en) 2004-11-04 2005-02-24 Processor system with temperature sensor and control method of the same
CNB2005100592880A CN100422942C (zh) 2004-11-04 2005-03-25 具有温度传感器的处理器系统及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004321123A JP3914230B2 (ja) 2004-11-04 2004-11-04 プロセッサシステム及びその制御方法

Publications (2)

Publication Number Publication Date
JP2006133995A true JP2006133995A (ja) 2006-05-25
JP3914230B2 JP3914230B2 (ja) 2007-05-16

Family

ID=35207793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004321123A Expired - Fee Related JP3914230B2 (ja) 2004-11-04 2004-11-04 プロセッサシステム及びその制御方法

Country Status (4)

Country Link
US (1) US7814489B2 (ja)
EP (1) EP1655655A2 (ja)
JP (1) JP3914230B2 (ja)
CN (1) CN100422942C (ja)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323347A (ja) * 2006-05-31 2007-12-13 Toshiba Corp 情報処理装置、冷却システム、および冷却方法
JP2009134716A (ja) * 2007-11-28 2009-06-18 Internatl Business Mach Corp <Ibm> マルチプロセッサ・データ処理システムにおいて共有キャッシュ・ラインを与える方法、コンピュータ読み取り可能な記録媒体及びマルチプロセッサ・データ処理システム
JP2009193509A (ja) * 2008-02-18 2009-08-27 Fujitsu Ltd 情報処理装置、情報処理方法、情報処理プログラム
JP2010500693A (ja) * 2006-08-14 2010-01-07 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド プロセッサのパフォーマンスを制限するシステム及び方法
JP2010020743A (ja) * 2008-07-10 2010-01-28 Internatl Business Mach Corp <Ibm> 複数のコアを含むプロセッサを有するコンピュータ・システムの制御
WO2010010723A1 (ja) * 2008-07-22 2010-01-28 トヨタ自動車株式会社 マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
JP2011150694A (ja) * 2009-12-28 2011-08-04 Intel Corp 非効率なコアホッピングを回避し、ハードウェア(補助)による低電力状態選択を提供するメカニズム
JP2011153764A (ja) * 2010-01-27 2011-08-11 Fujitsu Ltd 空調制御システム、空調制御方法および空調制御プログラム
JP2012037193A (ja) * 2010-08-11 2012-02-23 Fujitsu Ltd 空調システム
JP2012047378A (ja) * 2010-08-25 2012-03-08 Fujitsu Ltd 冷却システム、及び冷却方法
JP2012511788A (ja) * 2008-12-11 2012-05-24 クアルコム,インコーポレイテッド 非対称マルチプロセッサに対する適応型スレッドスケジューリングのための装置および方法
WO2012098683A1 (ja) * 2011-01-21 2012-07-26 富士通株式会社 スケジューリング方法およびスケジューリングシステム
JP5158447B2 (ja) * 2007-03-02 2013-03-06 日本電気株式会社 タスク群割当方法、タスク群割当装置、タスク群割当プログラム、プロセッサ及びコンピュータ
JP2013073413A (ja) * 2011-09-28 2013-04-22 Hitachi Ltd データセンタの負荷割当て方法及び情報処理システム
WO2013140518A1 (ja) * 2012-03-19 2013-09-26 富士通株式会社 スケジューリングプログラム、マルチコアプロセッサシステム、およびスケジューリング方法
JP2014096024A (ja) * 2012-11-09 2014-05-22 Esol Co Ltd マルチコアプロセッサの制御プログラム、電子機器及び制御方法
JP2014521140A (ja) * 2011-07-07 2014-08-25 クアルコム,インコーポレイテッド 主体的な負荷操作により熱負荷をあらかじめ回避するための方法およびシステム
KR20140113926A (ko) * 2012-12-28 2014-09-25 인텔 코포레이션 우선순위 기반 지능형 플랫폼 패시브 열 관리
US8887165B2 (en) 2010-02-19 2014-11-11 Nec Corporation Real time system task configuration optimization system for multi-core processors, and method and program
JP2014533859A (ja) * 2011-11-21 2014-12-15 クアルコム,インコーポレイテッド ヘテロジニアスマルチプロセッサシステムオンチップにおける熱駆動作業負荷スケジューリング
JP2015164052A (ja) * 2015-04-15 2015-09-10 イーソル株式会社 マルチコアプロセッサの制御プログラム、電子機器及び制御方法
JP2016126458A (ja) * 2014-12-26 2016-07-11 富士通株式会社 ジョブ割当プログラム、方法及び装置
JP2016534423A (ja) * 2013-10-11 2016-11-04 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチコアプロセッサのための加速された熱緩和
US9557797B2 (en) 2014-05-20 2017-01-31 Qualcomm Incorporated Algorithm for preferred core sequencing to maximize performance and reduce chip temperature and power
JP2017539037A (ja) * 2014-12-22 2017-12-28 クゥアルコム・インコーポレイテッドQualcomm Incorporated 複数の処理ユニットを持つデバイスにおける熱緩和
JP2020113194A (ja) * 2019-01-16 2020-07-27 トヨタ自動車株式会社 情報処理装置
WO2021019356A1 (ja) * 2019-07-31 2021-02-04 株式会社半導体エネルギー研究所 情報処理システム、及びその動作方法
JP2021536047A (ja) * 2018-06-11 2021-12-23 ルシード サーキット,インコーポレイテッド 自律ハードウェア計算回復力のシステムおよび方法

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812169B2 (en) * 2005-10-31 2014-08-19 Hewlett-Packard Development Company, L.P. Heat sink verification
US7441949B2 (en) * 2005-12-16 2008-10-28 Micron Technology, Inc. System and method for providing temperature data from a memory device having a temperature sensor
DE102006040417A1 (de) * 2006-08-29 2007-08-30 Siemens Ag Einrichtung zur Steuerung und/oder Regelung einer Maschine
DE102006040416A1 (de) * 2006-08-29 2008-03-20 Siemens Ag Einrichtung zur Steuerung und/oder Regelung einer Maschine
KR100834408B1 (ko) * 2006-09-14 2008-06-04 한국전자통신연구원 분산처리시스템에서의 태스크 할당방법 및 시스템
JP2008084009A (ja) * 2006-09-27 2008-04-10 Toshiba Corp マルチプロセッサシステム
JP4723465B2 (ja) * 2006-11-29 2011-07-13 富士通株式会社 ジョブ割当プログラム及びジョブ割当方法
US7886172B2 (en) * 2007-08-27 2011-02-08 International Business Machines Corporation Method of virtualization and OS-level thermal management and multithreaded processor with virtualization and OS-level thermal management
TWI357257B (en) * 2007-10-19 2012-01-21 Mstar Semiconductor Inc Information processing system and related method t
JP5211778B2 (ja) * 2008-03-17 2013-06-12 富士通株式会社 ジョブ割当装置、並列計算機システム、ジョブ割当方法、及び、ジョブ割当プログラム
US8589931B2 (en) * 2009-03-18 2013-11-19 International Business Machines Corporation Environment based node selection for work scheduling in a parallel computing system
US8311683B2 (en) 2009-04-29 2012-11-13 International Business Machines Corporation Processor cooling management
US8064197B2 (en) * 2009-05-22 2011-11-22 Advanced Micro Devices, Inc. Heat management using power management information
JP4585598B1 (ja) 2009-06-30 2010-11-24 株式会社東芝 情報処理装置
JP5549131B2 (ja) * 2009-07-07 2014-07-16 富士通株式会社 ジョブ割当装置、ジョブ割当方法及びジョブ割当プログラム
US8397088B1 (en) * 2009-07-21 2013-03-12 The Research Foundation Of State University Of New York Apparatus and method for efficient estimation of the energy dissipation of processor based systems
KR101032469B1 (ko) * 2009-08-03 2011-05-03 엠텍비젼 주식회사 멀티미디어 데이터 재생 장치 및 방법
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
US8996330B2 (en) * 2011-01-06 2015-03-31 Qualcomm Incorporated Method and system for managing thermal policies of a portable computing device
US9047067B2 (en) * 2011-04-22 2015-06-02 Qualcomm Incorporated Sensorless detection and management of thermal loading in a multi-processor wireless device
RU2011117765A (ru) * 2011-05-05 2012-11-10 ЭлЭсАй Корпорейшн (US) Устройство (варианты) и способ реализации двухпроходного планировщика задач линейной сложности
US8688883B2 (en) 2011-09-08 2014-04-01 Intel Corporation Increasing turbo mode residency of a processor
US9472085B2 (en) * 2012-05-31 2016-10-18 Hewlett-Packard Development Company, L.P. Ambient and processor temperature difference comparison
US9075611B2 (en) 2012-09-12 2015-07-07 Htc Corporation Electronic device with power management mechanism and power management method thereof
US9152473B2 (en) * 2012-12-29 2015-10-06 Intel Corporation Table driven multiple passive trip platform passive thermal management
US9170631B2 (en) * 2013-02-05 2015-10-27 Advanced Micro Devices, Inc. Adaptive temperature and power calculation for integrated circuits
US20140344827A1 (en) * 2013-05-16 2014-11-20 Nvidia Corporation System, method, and computer program product for scheduling a task to be performed by at least one processor core
US9430014B2 (en) 2013-07-18 2016-08-30 Qualcomm Incorporated System and method for idle state optimization in a multi-processor system on a chip
US20150121387A1 (en) * 2013-10-30 2015-04-30 Mediatek Inc. Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
US9858115B2 (en) * 2013-10-30 2018-01-02 Mediatek Inc. Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
CN103577270B (zh) * 2013-10-30 2017-05-17 宇龙计算机通信科技(深圳)有限公司 控制分体式移动终端的使用方法及分体式移动终端
KR20150050135A (ko) 2013-10-31 2015-05-08 삼성전자주식회사 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법
CN103970239A (zh) * 2014-04-22 2014-08-06 上海华力微电子有限公司 片上动态智能温度控制系统
CN105320587A (zh) * 2014-06-24 2016-02-10 鸿合科技有限公司 一种智能电子大屏处理器高温预警方法和装置
KR102223158B1 (ko) 2014-09-12 2021-03-05 삼성전자주식회사 넓은 온도 범위에서 작동할 수 있는 메모리 장치와 이를 포함하는 데이터 처리 시스템
US10671131B2 (en) * 2015-06-05 2020-06-02 Apple Inc. Predictive control systems and methods
CN105045359A (zh) * 2015-07-28 2015-11-11 深圳市万普拉斯科技有限公司 散热控制方法和装置
US9749740B2 (en) * 2015-11-17 2017-08-29 Motorola Solutions, Inc. Method and apparatus for expanded temperature operation of a portable communication device
US9848515B1 (en) 2016-05-27 2017-12-19 Advanced Micro Devices, Inc. Multi-compartment computing device with shared cooling device
CN106294078A (zh) * 2016-09-05 2017-01-04 英业达科技有限公司 温度监控系统与温度监控方法
US10599873B2 (en) 2016-09-23 2020-03-24 Apple Inc. Method for rate-limiting interactions based on dynamically calculated values by supplying problems of varying difficulty to be solved
US9753773B1 (en) 2016-10-19 2017-09-05 International Business Machines Corporation Performance-based multi-mode task dispatching in a multi-processor core system for extreme temperature avoidance
US9747139B1 (en) 2016-10-19 2017-08-29 International Business Machines Corporation Performance-based multi-mode task dispatching in a multi-processor core system for high temperature avoidance
US11742038B2 (en) * 2017-08-11 2023-08-29 Advanced Micro Devices, Inc. Method and apparatus for providing wear leveling
US11551990B2 (en) * 2017-08-11 2023-01-10 Advanced Micro Devices, Inc. Method and apparatus for providing thermal wear leveling
KR102442921B1 (ko) * 2017-12-11 2022-09-13 삼성전자주식회사 디지털 시그널 프로세서(dsp)의 태스크 관리 효율을 높일 수 있는 전자 장치
CN110515790A (zh) * 2018-05-21 2019-11-29 重庆理工大学 终端温度预测及优化系统和方法
DE102019205079A1 (de) 2018-06-19 2019-12-19 Robert Bosch Gmbh Selektive Deaktivierung von Recheneinheiten für künstliche neuronale Netzwerke
CN108897611A (zh) * 2018-07-03 2018-11-27 中国人民解放军国防科技大学 一种堆叠式多处理器中热量优化的任务分配方法及装置
EP3757525B1 (de) * 2019-06-24 2021-11-03 Pepperl+Fuchs Gmbh Sensor und verfahren zum betreiben eines sensors
US11899564B2 (en) * 2022-05-19 2024-02-13 Renesas Electronics Corporation Debug apparatus and recording medium

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339445A (en) * 1992-11-16 1994-08-16 Harris Corporation Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption
US5502838A (en) * 1994-04-28 1996-03-26 Consilium Overseas Limited Temperature management for integrated circuits
CN1153563A (zh) * 1994-04-28 1997-07-02 文鲁奈克斯技术公司 集成电路的温度管理
JPH0816531A (ja) 1994-06-28 1996-01-19 Hitachi Ltd プロセススケジュール方式
JPH08202468A (ja) * 1995-01-27 1996-08-09 Hitachi Ltd マルチプロセッサシステム
JP3165001B2 (ja) 1995-05-23 2001-05-14 甲府日本電気株式会社 マルチプロセッサー型電子装置
US5860137A (en) * 1995-07-21 1999-01-12 Emc Corporation Dynamic load balancing
JPH09138716A (ja) 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
JP3637181B2 (ja) * 1997-05-09 2005-04-13 株式会社東芝 コンピュータシステムおよびそのクーリング制御方法
JP2000040067A (ja) 1998-07-24 2000-02-08 Mitsubishi Electric Corp 計算機システム
US6363490B1 (en) * 1999-03-30 2002-03-26 Intel Corporation Method and apparatus for monitoring the temperature of a processor
JP2000298782A (ja) * 1999-04-14 2000-10-24 Mitsubishi Electric Corp プラント監視装置
JP3557947B2 (ja) * 1999-05-24 2004-08-25 日本電気株式会社 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体
EP1182538B1 (en) * 2000-08-21 2010-04-07 Texas Instruments France Temperature field controlled scheduling for processing systems
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US6889332B2 (en) * 2001-12-11 2005-05-03 Advanced Micro Devices, Inc. Variable maximum die temperature based on performance state
US6934864B2 (en) * 2002-01-11 2005-08-23 International Business Machines Corporation System and method for co-operative thermal management of electronic devices within a common housing
JPWO2003083693A1 (ja) * 2002-04-03 2005-08-04 富士通株式会社 分散処理システムにおけるタスクスケジューリング装置
US7086058B2 (en) * 2002-06-06 2006-08-01 International Business Machines Corporation Method and apparatus to eliminate processor core hot spots
US20050044429A1 (en) * 2003-08-22 2005-02-24 Ip-First Llc Resource utilization mechanism for microprocessor power management
US7069189B2 (en) * 2002-12-31 2006-06-27 Intel Corporation Method and apparatus for controlling multiple resources using thermal related parameters
JP2004240669A (ja) 2003-02-05 2004-08-26 Sharp Corp ジョブスケジューラおよびマルチプロセッサシステム
US7272732B2 (en) * 2003-06-30 2007-09-18 Hewlett-Packard Development Company, L.P. Controlling power consumption of at least one computer system
US7174469B2 (en) * 2003-09-30 2007-02-06 International Business Machines Corporation Processor power and energy management
US7072805B2 (en) * 2003-10-17 2006-07-04 International Business Machines Corporation Mechanism for on-line prediction of future performance measurements in a computer system
JP4213572B2 (ja) * 2003-11-28 2009-01-21 株式会社東芝 電子機器およびプロセッサ速度制御方法
US7360102B2 (en) * 2004-03-29 2008-04-15 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processor manipulation
US8224639B2 (en) * 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
JP3805344B2 (ja) * 2004-06-22 2006-08-02 株式会社ソニー・コンピュータエンタテインメント プロセッサ、情報処理装置およびプロセッサの制御方法
US20060156041A1 (en) * 2005-01-07 2006-07-13 Lee Zaretsky System and method for power management of plural information handling systems

Cited By (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323347A (ja) * 2006-05-31 2007-12-13 Toshiba Corp 情報処理装置、冷却システム、および冷却方法
JP2010500693A (ja) * 2006-08-14 2010-01-07 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド プロセッサのパフォーマンスを制限するシステム及び方法
US8429663B2 (en) 2007-03-02 2013-04-23 Nec Corporation Allocating task groups to processor cores based on number of task allocated per core, tolerable execution time, distance between cores, core coordinates, performance and disposition pattern
JP5158447B2 (ja) * 2007-03-02 2013-03-06 日本電気株式会社 タスク群割当方法、タスク群割当装置、タスク群割当プログラム、プロセッサ及びコンピュータ
JP2009134716A (ja) * 2007-11-28 2009-06-18 Internatl Business Mach Corp <Ibm> マルチプロセッサ・データ処理システムにおいて共有キャッシュ・ラインを与える方法、コンピュータ読み取り可能な記録媒体及びマルチプロセッサ・データ処理システム
JP2009193509A (ja) * 2008-02-18 2009-08-27 Fujitsu Ltd 情報処理装置、情報処理方法、情報処理プログラム
JP2010020743A (ja) * 2008-07-10 2010-01-28 Internatl Business Mach Corp <Ibm> 複数のコアを含むプロセッサを有するコンピュータ・システムの制御
US7757233B2 (en) 2008-07-10 2010-07-13 International Business Machines Corporation Controlling a computer system having a processor including a plurality of cores
JP4620768B2 (ja) * 2008-07-10 2011-01-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のコアを含むプロセッサを有するコンピュータ・システムの制御
US8856196B2 (en) 2008-07-22 2014-10-07 Toyota Jidosha Kabushiki Kaisha System and method for transferring tasks in a multi-core processor based on trial execution and core node
WO2010010723A1 (ja) * 2008-07-22 2010-01-28 トヨタ自動車株式会社 マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
JP5195913B2 (ja) * 2008-07-22 2013-05-15 トヨタ自動車株式会社 マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
JP2012511788A (ja) * 2008-12-11 2012-05-24 クアルコム,インコーポレイテッド 非対称マルチプロセッサに対する適応型スレッドスケジューリングのための装置および方法
US9043795B2 (en) 2008-12-11 2015-05-26 Qualcomm Incorporated Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor
JP2011150694A (ja) * 2009-12-28 2011-08-04 Intel Corp 非効率なコアホッピングを回避し、ハードウェア(補助)による低電力状態選択を提供するメカニズム
JP2011153764A (ja) * 2010-01-27 2011-08-11 Fujitsu Ltd 空調制御システム、空調制御方法および空調制御プログラム
US8887165B2 (en) 2010-02-19 2014-11-11 Nec Corporation Real time system task configuration optimization system for multi-core processors, and method and program
JP2012037193A (ja) * 2010-08-11 2012-02-23 Fujitsu Ltd 空調システム
JP2012047378A (ja) * 2010-08-25 2012-03-08 Fujitsu Ltd 冷却システム、及び冷却方法
WO2012098683A1 (ja) * 2011-01-21 2012-07-26 富士通株式会社 スケジューリング方法およびスケジューリングシステム
JP2014521140A (ja) * 2011-07-07 2014-08-25 クアルコム,インコーポレイテッド 主体的な負荷操作により熱負荷をあらかじめ回避するための方法およびシステム
KR101501537B1 (ko) * 2011-07-07 2015-03-13 퀄컴 인코포레이티드 사전 로드 조정에 의해 열 로드를 프림프트하기 위한 방법 및 시스템
JP2013073413A (ja) * 2011-09-28 2013-04-22 Hitachi Ltd データセンタの負荷割当て方法及び情報処理システム
US9442774B2 (en) 2011-11-21 2016-09-13 Qualcomm Incorporated Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
US9442773B2 (en) 2011-11-21 2016-09-13 Qualcomm Incorporated Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
JP2014533859A (ja) * 2011-11-21 2014-12-15 クアルコム,インコーポレイテッド ヘテロジニアスマルチプロセッサシステムオンチップにおける熱駆動作業負荷スケジューリング
KR101747308B1 (ko) * 2011-11-21 2017-06-14 퀄컴 인코포레이티드 이종의 다중-프로세서 시스템 온 칩에서 열 구동식 작업로드 스케줄링
WO2013140518A1 (ja) * 2012-03-19 2013-09-26 富士通株式会社 スケジューリングプログラム、マルチコアプロセッサシステム、およびスケジューリング方法
JPWO2013140518A1 (ja) * 2012-03-19 2015-08-03 富士通株式会社 スケジューリングプログラム、マルチコアプロセッサシステム、およびスケジューリング方法
US9715407B2 (en) 2012-03-19 2017-07-25 Fujitsu Limited Computer product, multicore processor system, and scheduling method
JP2014096024A (ja) * 2012-11-09 2014-05-22 Esol Co Ltd マルチコアプロセッサの制御プログラム、電子機器及び制御方法
JP2015513147A (ja) * 2012-12-28 2015-04-30 インテル・コーポレーション 優先度ベースのインテリジェントプラットフォームの受動的熱管理
KR101682985B1 (ko) 2012-12-28 2016-12-06 인텔 코포레이션 우선순위 기반 지능형 플랫폼 패시브 열 관리
KR20140113926A (ko) * 2012-12-28 2014-09-25 인텔 코포레이션 우선순위 기반 지능형 플랫폼 패시브 열 관리
JP2016534423A (ja) * 2013-10-11 2016-11-04 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチコアプロセッサのための加速された熱緩和
US9557797B2 (en) 2014-05-20 2017-01-31 Qualcomm Incorporated Algorithm for preferred core sequencing to maximize performance and reduce chip temperature and power
JP2017539037A (ja) * 2014-12-22 2017-12-28 クゥアルコム・インコーポレイテッドQualcomm Incorporated 複数の処理ユニットを持つデバイスにおける熱緩和
US10528117B2 (en) 2014-12-22 2020-01-07 Qualcomm Incorporated Thermal mitigation in devices with multiple processing units
US11340689B2 (en) 2014-12-22 2022-05-24 Qualcomm Incorporated Thermal mitigation in devices with multiple processing units
JP2016126458A (ja) * 2014-12-26 2016-07-11 富士通株式会社 ジョブ割当プログラム、方法及び装置
US10095204B2 (en) 2014-12-26 2018-10-09 Fujitsu Limited Method, medium, and system
JP2015164052A (ja) * 2015-04-15 2015-09-10 イーソル株式会社 マルチコアプロセッサの制御プログラム、電子機器及び制御方法
JP2021536047A (ja) * 2018-06-11 2021-12-23 ルシード サーキット,インコーポレイテッド 自律ハードウェア計算回復力のシステムおよび方法
JP2020113194A (ja) * 2019-01-16 2020-07-27 トヨタ自動車株式会社 情報処理装置
JP7172625B2 (ja) 2019-01-16 2022-11-16 トヨタ自動車株式会社 情報処理装置
US11526378B2 (en) 2019-01-16 2022-12-13 Toyota Jidosha Kabushiki Kaisha Information processing device and information processing method
WO2021019356A1 (ja) * 2019-07-31 2021-02-04 株式会社半導体エネルギー研究所 情報処理システム、及びその動作方法

Also Published As

Publication number Publication date
JP3914230B2 (ja) 2007-05-16
CN100422942C (zh) 2008-10-01
EP1655655A2 (en) 2006-05-10
US7814489B2 (en) 2010-10-12
US20060095911A1 (en) 2006-05-04
CN1770111A (zh) 2006-05-10

Similar Documents

Publication Publication Date Title
JP3914230B2 (ja) プロセッサシステム及びその制御方法
KR101529419B1 (ko) 휴대용 컴퓨팅 디바이스에서의 열 로드 관리
JP5781255B1 (ja) ポータブルコンピューティングデバイスにおける適応型熱管理のためのシステムおよび方法
US7770176B2 (en) Multiprocessor computer and program
JP3805344B2 (ja) プロセッサ、情報処理装置およびプロセッサの制御方法
US20030009701A1 (en) Computer system and computer-readable recording medium
JP2010039655A (ja) コンピュータの放熱システム
JP2014530414A (ja) ヘテロジニアスマルチコアプロセッサにおける熱エネルギーの発生を管理するためのシステムおよび方法
JP2006106807A (ja) マルチプロセッサ計算機及びプログラム
JP2009131073A (ja) 電力制御システム、電力制御装置、電力制御方法及びプログラム
JP2008198072A (ja) リアルタイム計算機
JP2009193509A (ja) 情報処理装置、情報処理方法、情報処理プログラム
TWI595353B (zh) 用於控制處理器核心之電力模式的基於延遲電力模式單元以及相關方法及系統
JP2010277171A (ja) タスク割当装置、および、タスク割当方法
JP5783348B2 (ja) 制御装置、制御プログラム、画像形成装置
JP2007102313A (ja) 制御装置およびマルチプロセッサ制御方法
JP4719087B2 (ja) 情報処理装置、冷却システム、および冷却方法
JP2007109109A (ja) メディア処理装置
JP6172735B2 (ja) ブレードサーバ、電力供給制御方法および電力供給制御プログラム
US20180067768A1 (en) System and method for data path aware thermal management in a portable computing device
JPH11353291A (ja) マルチプロセッサシステム及びタスク交換プログラムを記録した媒体
JP6391309B2 (ja) マルチ画面表示システム、及びマルチ画面表示方法
JP2010231511A (ja) 情報処理装置および情報処理方法
JP7062142B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2007219925A (ja) バス制御装置、バス制御プログラム及び記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061010

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061211

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070201

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

Free format text: PAYMENT UNTIL: 20100209

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110209

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees