JP4397843B2 - プロセッサ、マルチプロセッサシステムおよび温度制御方法 - Google Patents
プロセッサ、マルチプロセッサシステムおよび温度制御方法 Download PDFInfo
- Publication number
- JP4397843B2 JP4397843B2 JP2005084845A JP2005084845A JP4397843B2 JP 4397843 B2 JP4397843 B2 JP 4397843B2 JP 2005084845 A JP2005084845 A JP 2005084845A JP 2005084845 A JP2005084845 A JP 2005084845A JP 4397843 B2 JP4397843 B2 JP 4397843B2
- Authority
- JP
- Japan
- Prior art keywords
- heat generation
- instruction
- block
- execution
- decoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 19
- 230000020169 heat generation Effects 0.000 claims description 271
- 238000010438 heat treatment Methods 0.000 claims description 9
- 230000005855 radiation Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 50
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000007257 malfunction Effects 0.000 description 5
- 206010037660 Pyrexia Diseases 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000017525 heat dissipation Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Executing Machine-Instructions (AREA)
Description
図1は、実施の形態1に係るプロセッサシステムの構成図である。このプロセッサシステムは、CPUコア100と、メインメモリ110とを含み、これらはアドレスバス28およびデータバス30に接続されている。CPUコア100は、メインメモリ110に対してアドレスを指定してデータの読み出しと書き込みを行う。CPUコア100は、命令キャッシュ12と、命令デコーダ14と、命令スケジューラ16と、実行ユニット18と、発熱係数プロファイル20と、演算ブロック発熱度数レジスタ22とを含む。メインメモリ110には、命令24と演算結果26が記憶される。
図6は、実施の形態2に係るプロセッサシステムの構成図である。本実施の形態のプロセッサシステムは、実施の形態1のCPUコア100に相当するメインプロセッサ200以外に、2つのサブプロセッサ230a、230bがバス結合したマルチプロセッサシステムである。メインプロセッサ200は、バスを介してDRAM220にアクセスしてデータを読み取り、キャッシュ210にデータをキャッシュする。メインプロセッサ200は適宜2つのサブプロセッサ230a、230bにタスクを振り分けてプログラムを実行する。
Claims (16)
- 発熱制御対象となる複数のブロックの発熱度数を保持する発熱度数保持部と、
命令の実行に関わるブロックとそのブロックの発熱量に係る発熱係数とを所定の命令単位で特定する発熱特定部と、
実行すべき命令の進行に合わせて前記所定の命令単位で、前記発熱特定部により特定されたブロックの前記発熱度数を前記発熱係数をもとに累積加算する発熱度数加算部とを含み、
前記発熱特定部は、実行すべき命令を解読するデコーダであり、
前記デコーダによりデコードされた命令について、前記デコーダが、当該プロセッサのハードウエア情報をもとに、各命令の実行に関わるブロックを特定し、そのブロックの動作による発熱量を予測し、前記発熱係数を決定することを特徴とするプロセッサ。 - 発熱制御対象となる複数のブロックの発熱度数を保持する発熱度数保持部と、
命令の実行に関わるブロックとそのブロックの発熱量に係る発熱係数とを所定の命令単位で特定する発熱特定部と、
実行すべき命令の進行に合わせて前記所定の命令単位で、前記発熱特定部により特定されたブロックの前記発熱度数を前記発熱係数をもとに累積加算する発熱度数加算部とを含み、
前記発熱特定部は、実行すべき命令を解読するデコーダであり、
前記デコーダによりデコードされた命令について、前記デコーダが、各命令の実行に関わるブロックを特定し、命令のオペランドの一部として命令コードの生成段階で埋め込まれた発熱情報を用いてそのブロックの動作による発熱量を予測し、前記発熱係数を決定することを特徴とするプロセッサ。 - 各ブロックの前記発熱度数を時間経過による放熱量にもとづいて減算する発熱度数減算部をさらに含むことを特徴とする請求項1または2に記載のプロセッサ。
- 前記発熱度数減算部は、各ブロックの前記発熱度数が大きいほど前記発熱度数の減算量を大きく設定することを特徴とする請求項3に記載のプロセッサ。
- 発熱制御対象となる複数のブロックの発熱度数を保持する発熱度数保持レジスタと、
実行すべき命令と前記命令の実行に関わるブロックとそのブロックの発熱量に係る発熱係数とを対応づけて格納する発熱係数プロファイルと、
実行すべき命令を解析して、前記命令の実行に関わる前記ブロックと前記発熱係数とを所定の命令単位で特定し、前記発熱係数プロファイルに格納するデコーダと、
前記発熱係数プロファイルにもとづいて、前記命令の進行に合わせて前記所定の命令単位で前記ブロックの前記発熱度数を累積加算する発熱度数加算器と、
各ブロックの前記発熱度数にもとづいて実行すべき命令をスケジューリングするスケジューラとを含み、
前記発熱特定部は、実行すべき命令を解読するデコーダであり、
前記デコーダによりデコードされた命令について、前記デコーダが、当該プロセッサのハードウエア情報をもとに、各命令の実行に関わるブロックを特定し、そのブロックの動作による発熱量を予測し、前記発熱係数を決定することを特徴とするプロセッサ。 - 発熱制御対象となる複数のブロックの発熱度数を保持する発熱度数保持レジスタと、
実行すべき命令と前記命令の実行に関わるブロックとそのブロックの発熱量に係る発熱係数とを対応づけて格納する発熱係数プロファイルと、
実行すべき命令を解析して、前記命令の実行に関わる前記ブロックと前記発熱係数とを所定の命令単位で特定し、前記発熱係数プロファイルに格納するデコーダと、
前記発熱係数プロファイルにもとづいて、前記命令の進行に合わせて前記所定の命令単位で前記ブロックの前記発熱度数を累積加算する発熱度数加算器と、
各ブロックの前記発熱度数にもとづいて実行すべき命令をスケジューリングするスケジューラとを含み、
前記発熱特定部は、実行すべき命令を解読するデコーダであり、
前記デコーダによりデコードされた命令について、前記デコーダが、各命令の実行に関わるブロックを特定し、命令のオペランドの一部として命令コードの生成段階で埋め込まれた発熱情報を用いてそのブロックの動作による発熱量を予測し、前記発熱係数を決定することを特徴とするプロセッサ。 - 複数のサブプロセッサとメインプロセッサとを含むマルチプロセッサシステムであって、
前記メインプロセッサは、
前記サブプロセッサ内の複数のブロックの発熱度数を保持する発熱度数保持部と、
命令の実行に関わるブロックとそのブロックの発熱量に係る発熱係数とを所定の命令単位で特定する発熱特定部と、
実行すべき命令の進行に合わせて前記所定の命令単位で、前記発熱特定部により特定されたブロックの前記発熱度数を前記発熱係数をもとに累積加算する発熱度数加算部と、
各ブロックの前記発熱度数にもとづいて、実行すべき命令を前記複数のサブプロセッサ間で振り分けるスケジューラとを含み、
前記発熱特定部は、実行すべき命令を解読するデコーダであり、
前記デコーダによりデコードされた命令について、前記デコーダが、当該プロセッサのハードウエア情報をもとに、各命令の実行に関わるブロックを特定し、そのブロックの動作による発熱量を予測し、前記発熱係数を決定することを特徴とするマルチプロセッサシステム。 - 複数のサブプロセッサとメインプロセッサとを含むマルチプロセッサシステムであって、
前記メインプロセッサは、
前記サブプロセッサ内の複数のブロックの発熱度数を保持する発熱度数保持部と、
命令の実行に関わるブロックとそのブロックの発熱量に係る発熱係数とを所定の命令単位で特定する発熱特定部と、
実行すべき命令の進行に合わせて前記所定の命令単位で、前記発熱特定部により特定されたブロックの前記発熱度数を前記発熱係数をもとに累積加算する発熱度数加算部と、
各ブロックの前記発熱度数にもとづいて、実行すべき命令を前記複数のサブプロセッサ間で振り分けるスケジューラとを含み、
前記発熱特定部は、実行すべき命令を解読するデコーダであり、
前記デコーダによりデコードされた命令について、前記デコーダが、各命令の実行に関わるブロックを特定し、命令のオペランドの一部として命令コードの生成段階で埋め込まれた発熱情報を用いてそのブロックの動作による発熱量を予測し、前記発熱係数を決定することを特徴とするマルチプロセッサシステム。 - 実行すべき命令を解読するデコーダに、前記命令の実行に関わるプロセッサ内のブロックの発熱を解析する機能をもたせ、
前記デコーダによりデコードされた命令について、前記デコーダが、当該プロセッサのハードウエア情報をもとに、各命令の実行に関わるブロックを特定し、そのブロックの動作による発熱量を予測し、前記発熱係数を決定することを特徴とするプロセッサ。 - 実行すべき命令を解読するデコーダに、前記命令の実行に関わるプロセッサ内のブロックの発熱を解析する機能をもたせ、
前記デコーダによりデコードされた命令について、前記デコーダが、各命令の実行に関わるブロックを特定し、命令のオペランドの一部として命令コードの生成段階で埋め込まれた発熱情報を用いてそのブロックの動作による発熱量を予測し、前記発熱係数を決定することを特徴とするプロセッサ。 - 命令コードの進行に合わせて所定の命令単位で前記命令の実行に関わるブロックの発熱度数を累積加算してレジスタに保持することにより、命令コードの進行による発熱をブロック単位で検出するステップを含み、
前記検出するステップは、実行すべき命令を解読するデコーダによりデコードされた命令について、当該プロセッサのハードウエア情報をもとに、各命令の実行に関わるブロックを特定し、そのブロックの動作による発熱量を予測し、前記発熱係数を決定することを特徴とする温度制御方法。 - 命令コードの進行に合わせて所定の命令単位で前記命令の実行に関わるブロックの発熱度数を累積加算してレジスタに保持することにより、命令コードの進行による発熱をブロック単位で検出するステップを含み、
前記検出するステップは、実行すべき命令を解読するデコーダによりデコードされた命令について、各命令の実行に関わるブロックを特定し、命令のオペランドの一部として命令コードの生成段階で埋め込まれた発熱情報を用いてそのブロックの動作による発熱量を予測し、前記発熱係数を決定することを特徴とする温度制御方法。 - 命令コードの進行に合わせて所定の命令単位で前記命令の実行に関わるブロックの発熱度数を累積加算してレジスタに保持するステップと、
前記レジスタに保持された各ブロックの前記発熱度数にもとづいて命令コードの進行による発熱をブロック単位で検出するステップとをコンピュータに実行させ、
前記検出するステップは、実行すべき命令を解読するデコーダによりデコードされた命令について、当該プロセッサのハードウエア情報をもとに、各命令の実行に関わるブロックを特定し、そのブロックの動作による発熱量を予測し、前記発熱係数を決定することを特徴とするプログラム。 - 命令コードの進行に合わせて所定の命令単位で前記命令の実行に関わるブロックの発熱度数を累積加算してレジスタに保持するステップと、
前記レジスタに保持された各ブロックの前記発熱度数にもとづいて命令コードの進行による発熱をブロック単位で検出するステップとをコンピュータに実行させ、
前記検出するステップは、実行すべき命令を解読するデコーダによりデコードされた命令について、各命令の実行に関わるブロックを特定し、命令のオペランドの一部として命令コードの生成段階で埋め込まれた発熱情報を用いてそのブロックの動作による発熱量を予測し、前記発熱係数を決定することを特徴とするプログラム。 - 命令コードの進行に合わせて所定の命令単位で前記命令の実行に関わるブロックの発熱度数を累積加算してレジスタに保持するステップと、
前記レジスタに保持された各ブロックの前記発熱度数にもとづいて命令コードの進行による発熱をブロック単位で検出するステップとをコンピュータに実行させ、
前記検出するステップは、実行すべき命令を解読するデコーダによりデコードされた命令について、当該プロセッサのハードウエア情報をもとに、各命令の実行に関わるブロックを特定し、そのブロックの動作による発熱量を予測し、前記発熱係数を決定するプログラムを格納したことを特徴とする記録媒体。 - 命令コードの進行に合わせて所定の命令単位で前記命令の実行に関わるブロックの発熱度数を累積加算してレジスタに保持するステップと、
前記レジスタに保持された各ブロックの前記発熱度数にもとづいて命令コードの進行による発熱をブロック単位で検出するステップとをコンピュータに実行させ、
前記検出するステップは、実行すべき命令を解読するデコーダによりデコードされた命令について、当該プロセッサのハードウエア情報をもとに、各命令の実行に関わるブロックを特定し、そのブロックの動作による発熱量を予測し、前記発熱係数を決定するプログラムを格納したことを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005084845A JP4397843B2 (ja) | 2005-03-23 | 2005-03-23 | プロセッサ、マルチプロセッサシステムおよび温度制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005084845A JP4397843B2 (ja) | 2005-03-23 | 2005-03-23 | プロセッサ、マルチプロセッサシステムおよび温度制御方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004096410A Division JP3830491B2 (ja) | 2004-03-29 | 2004-03-29 | プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005285117A JP2005285117A (ja) | 2005-10-13 |
JP2005285117A5 JP2005285117A5 (ja) | 2007-05-10 |
JP4397843B2 true JP4397843B2 (ja) | 2010-01-13 |
Family
ID=35183364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005084845A Expired - Fee Related JP4397843B2 (ja) | 2005-03-23 | 2005-03-23 | プロセッサ、マルチプロセッサシステムおよび温度制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4397843B2 (ja) |
-
2005
- 2005-03-23 JP JP2005084845A patent/JP4397843B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005285117A (ja) | 2005-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3830491B2 (ja) | プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法 | |
Shen et al. | Learning based DVFS for simultaneous temperature, performance and energy management | |
Coskun et al. | Static and dynamic temperature-aware scheduling for multiprocessor SoCs | |
Coskun et al. | Temperature-aware MPSoC scheduling for reducing hot spots and gradients | |
Chantem et al. | Temperature-aware scheduling and assignment for hard real-time applications on MPSoCs | |
Sheikh et al. | An overview and classification of thermal-aware scheduling techniques for multi-core processing systems | |
Coskun et al. | Proactive temperature management in MPSoCs | |
US8595525B2 (en) | On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors | |
Haghbayan et al. | Performance/reliability-aware resource management for many-cores in dark silicon era | |
Lee et al. | Thermal-Aware Scheduling for Integrated CPUs--GPU Platforms | |
Ranjbar et al. | Power-aware runtime scheduler for mixed-criticality systems on multicore platform | |
Wächter et al. | Predictive thermal management for energy-efficient execution of concurrent applications on heterogeneous multicores | |
Rahmani et al. | adBoost: Thermal aware performance boosting through dark silicon patterning | |
Salami et al. | Proactive task migration with a self-adjusting migration threshold for dynamic thermal management of multi-core processors | |
Zhou et al. | Performance-aware thermal management via task scheduling | |
Alsafrjalani et al. | Tasat: Thermal-aware scheduling and tuning algorithm for heterogeneous and configurable embedded systems | |
Krishna et al. | Thermal-aware management techniques for cyber-physical systems | |
JP4397843B2 (ja) | プロセッサ、マルチプロセッサシステムおよび温度制御方法 | |
Chien et al. | A thermal-aware scheduling for multicore architectures | |
Kumar et al. | Thermal aware learning based CPU governor | |
Patnaik et al. | Prowatch: a proactive cross-layer workload-aware temperature management framework for low-power chip multi-processors | |
Dowling et al. | Regulating CPU temperature with thermal-aware scheduling using a reduced order learning thermal model | |
KR100838438B1 (ko) | 태스크 관리방법, 태스크 관리장치, 반도체 집적회로, 전자장치, 태스크 관리 시스템, 및 프로그램을 격납한 기록매체 | |
Ghiasi | Aide de camp: asymmetric multi-core design for dynamic thermal management | |
JP5444964B2 (ja) | 情報処理装置及びスケジューリング方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070319 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070319 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090609 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090716 |
|
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: 20091020 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091021 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121030 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131030 Year of fee payment: 4 |
|
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 |