第10回 プロセッサの省電力技術

高性能コンピューティング論2
1
高性能コンピューティング論2
第10回 プロセッサの省電力技術
(前編)
高性能コンピューティング学講座
三輪 忍
[email protected]
高性能コンピューティング論2
本日の講義内容
• ディジタル回路の消費電力
• 省電力回路技術
• 省電力アーキテクチャ技術
2
高性能コンピューティング論2
3
ディジタル回路の消費電力
高性能コンピューティング論2
4
省電力化の目的
• 電池駆動のデバイス(e.g., スマートフォン,ノートPC)
• 電池の持ち時間の延長
• 放熱部品の小型化/静音化
• コンセント接続のパーソナル・デバイス
• (システムそのものの)電気料金の節約
• 放熱部品の小型化/静音化
• 大規模システム(e.g., スパコン,データ・センター)
• 電気料金の節約(e.g., 1MW を1年間消費 ⇒ 電気料金は1億円)
• システムそのもの
• 冷房代
• 電力供給
• あまりに大きいと発電所が隣りに必要?
高性能コンピューティング論2
5
CMOS 回路の消費電力
• P = PD + PS
• PD : 動的電力 (Dynamic)
• PS : 静的電力 (Static)
スイッチングに伴う成分
スイッチングに伴わない成分
電力
O
動作周波数
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
6
動的消費電力
• PD = α f CV2 + α f ISV
• α :スイッチング率
• f
:動作周波数
• C :負荷容量
• V :電源電圧
• IS:貫通電流(積分値)
p MOS
n MOS
充電
放電
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
7
静的消費電力
• PS = IL V
• IL:リーク電流
• V :電源電圧
ゲート
リーク
サブスレッショルド
リーク
ゲート
リーク
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
8
リーク電流
石橋 孝一郎:低消費電力プロセッサ・回路技術とその動向,SACSIS 2007
高性能コンピューティング論2
9
モバイル機器の消費電力の傾向
• 以前: 動的消費電力 > 静的消費電力
• 将来: 動的消費電力 ≦ 静的消費電力
• LSIの微細化の影響
http://electroiq.com/blog/2011/01/itrs-2010__taking/ より
高性能コンピューティング論2
LSI の微細化とリーク電流
• LSI が微細化するとリーク電流は増大
• 微細化: ゲート長の短縮,ゲート酸化膜の薄膜化
• 短チャネル効果(I5),トンネル電流(I7)の増大など
Gate
I7 I8
Source
Drain
n+
n+
I2 I3 I6
I5
I1
I4
Bulk
p
10
高性能コンピューティング論2
省電力化の要諦
• ディジタル回路の消費電力
• P = α f CV2 + α f ISV + IL V
動的
静的
• 動的消費電力を削減するためには,
• スイッチング率( α )を下げる
• 周波数( f )を下げる
• 電圧( V )を下げる
• 静的消費電力を削減するためには,
• リーク電流( IL )を減らす
• 電圧( V )を下げる
11
高性能コンピューティング論2
省電力回路技術
12
高性能コンピューティング論2
13
省電力化技術
• 対動的
• クロック・ゲーティング etc
• DFS
• DVFS
• 対静的
• DVS
• Multi-VT
• パワー・ゲーティング
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
14
対動的
• PD = α f CV2 + α f ISV
• α :スイッチング率
• f
:動作周波数
• C :負荷容量
• V :電源電圧
• IS :貫通電流(積分値)
• 対動的
• α を下げる
• f を下げる
• V を下げる
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
15
α を下げる
• ???
• 使用しない回路ブロックへの入力の変化を抑制する
• 簡単
• 効果は限定的
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
16
クロック・ゲーティング
原発信
• 使用しない回路ブロック
へのクロック供給を断つ
クロック・ドライバ
• 専用設計が必要
• 効果大
• ファンアウト大 → 容量大
• 注:以下とは違う:
• FF(ラッチ)のライト・イ
ネーブルを,クロックを
ゲーティングすることで実
現すること
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
17
f を下げる ― DFS
• Dynamic Frequency Scaling
• 動的に,動作周波数を制御
• 処理時間も増える
• 消費電力は下がるが,
• 電力量は下がらない(むしろ増える)
• これだけでは,あまり意味がない
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
18
V を下げる ― DVFS
• Dynamic Voltage & Frequency Scaling
• 動的に,電源電圧と動作周波数を制御
• 動作速度:V に比例 → f も下げる
• 動的電力:V 2 に比例
• 予め定められた V と F のペア(数~十数段階)から,最適なペアを選ぶ
• 最適制御:
• 動的電力: デッドラインにぎりぎり間に合うようにすると
• 静的電力: 全速でやって,電源を切るほうがよい
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
19
DVFS可能な商用プロセッサ
Processor
Clock range
Voltage range
Transition Time
Transmeta Crusoe
200 - 700[MHz]
1.1- 1.65 [v]
300 [us]
AMD Mobile K6
192 – 588[MHz]
0.9 – 2.0 [v]
200 [us]
Intel PXA250
100 – 400[MHz]
0.85 – 1.3 [v]
500 [us]
Compaq Itsy
59.0 – 206.4 [MHz]
1.0 – 1.55 [v]
189 [us]
IBM 405LP
66 – 333 [MHz]
1.0 – 1.8 [v]
13– 95 [us]
Intel Pentim M 760
0.8 – 2.0 [GHz]
1.356 – 0.988 [v]
20 – 500 [us]
AMD Mobile Athlon 4
0.6 – 1.2 [GHz]
1.15 – 1.45 [v]
50[us]?
※ 近藤正章,「高性能コンピューティング論2」,講義資料「Low Power Techniques 1」より
高性能コンピューティング論2
20
対静的
• PS = IL V
• IL:リーク電流
• V :電源電圧
• 対静的
• V
を下げる
• DVS
• パワー・ゲーティング
• (V を下げずに)IL を減らす
• Multi-VT
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
21
対静的
• 静的電力
• 静的電力 ∝ Tr 数 ∝ 回路面積
• 多くの Tr,広い面積に適用することが肝要
• ハイエンド・プロセッサなら (L2+) キャッシュ
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
22
パワー・ゲーティング
• 使用しない回路ブロックの
電源を切る
• リーク対策としては(ほぼ)完璧
• ON/OFF 時にエネルギーを消費
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
23
Multi-VT
• VT: 閾値電圧=Tr が ON になる電圧
• 低い:高性能
• 高い:低リーク
• Multi-VT:VT の異なる Tr を混ぜる
• クリティカル・パス: 高性能
• それ以外のパス:
低リーク
• VT の異なる Tr の作り方
• 不純物濃度:
静的
• 基盤バイアス:
静的/動的
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
24
省電力アーキテクチャ技術
高性能コンピューティング論2
25
省電力アーキテクチャ技術
• 省電力アーキテクチャ技術:
• 省電力回路技術の使いどころを見つける
• 要は,「なるべく大きな,使わない or ゆっくり動かしてもよい回路ブロック」を
見つける
• 「使わない回路ブロック」:
• 使わない演算器(整数乗除算器など)
• アクセスされないキャッシュ・ライン
• メモリを待ってストールしているパイプライン
• その他
• 「ゆっくり動かしてもよい回路ブロック」
• 最下位キャッシュなど
高性能コンピューティング論2
26
省電力アーキテクチャ技術
• 省電力アーキテクチャ技術:
• 省電力回路技術の使いどころを見つける
• 要は,「なるべく大きな,使わない or ゆっくり動かしてもよい回路ブロック」を
見つける
• 「なるべく大きな」:粒度
• 「回路ブロック」の
• 面積 × 時間
• ある程度大きくないと,ON/OFF 時のオーバヘッドが問題
高性能コンピューティング論2
27
省電力アーキテクチャ技術
• アーキテクチャによる省電力制御の時間粒度
• おおよそミリ秒以下の「使われない or ゆっくり動かしてよい回路ブロッ
ク」が対象
• ミリ秒を超えるような制御は OS の仕事
• 例) 使わないコアをパワー・ゲーティング
I/O 待ちで遅くなっている CPU の周波数と電圧を下げる
28
高性能コンピューティング論2
省電力アーキテクチャ技術
• 使わないと分かった回路ブロックを OFF
• 回路技術的
• 使わない可能性が高い回路ブロックを OFF
• アーキテクチャ技術的
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
29
省電力キャッシュ
• リーク対策の効果大
• 面積広い
• レギュラー
• 使わない可能性が高いライン
• 電源を切る
• 内容も消える(SRAM は揮発性)
• 電圧を下げる
• 内容は消えないが読めない電圧
• 回路的には難しいらしい
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
30
Cache Decay
•
基本アプローチ
•
•
動作:アクティブモードと省電力モード(電源OFF)
モード切替
• →アクティブモード: ラインへのアクセス時
• →省電力モード: 一定期間アクセスが無い時
ラインAをキャッ
シュにロード
ラインAへのアクセス
従来型キャッシュ
Cache Decay
ラインAへの最
後のアクセス
ラインAは
「Deadライン」
ラインA
の追出し
t
アクティブ・モード(高リーク)
アクティブ・モード(高リーク)
Decay
インターバル
省電力モード
[Kaxiras01] S. Kaxiras, et. al., "Cache Decay: Exploiting Generational Behavior to Reduce Cache Leakage Power," ISCA2001
高性能コンピューティング論2
31
Cache Decay
•
性能へのインパクト
•
キャッシュ・ミスの増加
• Decayインターバルの間アクセスが無ければ、それ以降もアクセスが発
生しない(dead)と予測
• 予測が外れた場合には存在するはずのデータが無効化(破壊)されて
いる
ラインAをキャッ
シュにロード
ラインA
の追出し
ラインAへのアクセス
従来型キャッシュ
Cache Decay
ヒット
t
アクティブ・モード(高リーク)
ミス
アクティブ・モード(高リーク)
Decay
インターバル
省電力モード
※ 近藤正章,「高性能コンピューティング論2」,講義資料「Low Power Techniques 2」より
高性能コンピューティング論2
32
省電力モードの実現方法
• 電源ラインとSRAMセルを高閾値トランジスタで切り離し
• 電源供給が停止するため内部状態(記憶データ)が破壊される
bit line
bit line
VDD
word line
Gated Vdd
Control
0.18μ[email protected]
GND
スリープ
トランジスタ
※ 近藤正章,「高性能コンピューティング論2」,講義資料「Low Power Techniques 2」より
高性能コンピューティング論2
33
Cache Decay の効果
• リーク削減効果
•
Decayインターバルに大きく依存
• 「如何にしてdeadラインを正
しく検出するか」が重要
• 1Kサイクルの場合は90%
以上のリーク削減の見込み
•
最適なDecayインターバルは
アプリケーションによって異なる
(性能制約条件下)
32KB D-Cache for SPEC2000int
※ 近藤正章,「高性能コンピューティング論2」,講義資料「Low Power Techniques 2」より
高性能コンピューティング論2
34
Drowsy Cache
•
基本アプローチ
•
•
動作:アクティブモードと省電力モード(状態保持)
モード切替(Simple Policy)
• →アクティブ・モード:ラインへのアクセス時
• →省電力モード:一定時間経過後(updateウィンド毎)
全ラインを
ラインAをキャッシュ
スリープ・モードへ
にロード
updateウィンド
ラインAへの
アクセス
t
従来型キャッシュ
Drowsy Cache
アクティブ・モード(高リーク)
アクティブ・モード
省電力モード
[Flautner02] Krisztian Flautner,et. al, "Drowsy Caches: Simple Techniques for Reducing Leakage Power," ISCA2002.
※ 近藤正章,「高性能コンピューティング論2」,講義資料「Low Power Techniques 2」より
高性能コンピューティング論2
35
省電力モードの実現方法
• SRAMセルの内部状態(記憶データ)が破壊されない程度(た
だし読み出しは不可)に電源電圧を低下
• アクセス時には通常電圧に戻す
Vdd Control
High Vth
VDD
VDDlow
word line
Vdd Control
High Vth
GND
bit line
bit line
高性能コンピューティング論2
36
Drowsy Cache の効果
4way OOO実行、Simple Policy、4000サイクル
Updateウィンド、32KB 4way SA L1-Dcache
• 効果
• キャッシュの消費エネルギーを
平均54%削減
• 動的消費エネルギーも含む
• リーク消費エネルギーに関して
は平均で71%削減
• 実行時間の増加は平均で
1%以下
※ 近藤正章,「高性能コンピューティング論2」,講義資料「Low Power Techniques 2」より
37
高性能コンピューティング論2
アーキテクチャの省電力評価尺度
• PDP (Power-Delay Product,電力遅延積)
• Delay:「プログラムの実行時間」
• ∴ PDP = 消費電力量,消費エネルギー
• ゆっくり実行したほうが有利な値に
• EDP (Energy-Delay Product) = PD2P ∵ E = PD
• 早く終わった方が有利になる
電力
• 物理的な意味はない
• 以下同様:
• ED2P
• ED3P
O
実行時間
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
38
高性能 と 省電力
• 「高性能」
• 「とにかく性能」
• 時代遅れ
性能
• 「高効率」
• 「省電力」
• 「とにかく省電力」?
O
電力,Tr
※ 五島正裕,「アドバンストコンピュータアーキテクチャ」,講義資料「プロセッサの省電力技術」より
高性能コンピューティング論2
本日のまとめ
39
高性能コンピューティング論2
まとめ
• ディジタル回路の消費電力
• 省電力回路技術
• 省電力アーキテクチャ技術
40
高性能コンピューティング論2
次回
• 1/21(木) 10:40~
• 「プロセッサの省電力技術(後編)」について解説
41