SysteMorph

実行頻度の偏りを利用した命令コード割当て
による命令ROMの低消費電力化
○井上弘士1 V. Moshynaga1 村上和彰2
1福岡大学
工学部
2九州大学大学院 システム情報科学研究院
Koji Inoue 軽井沢WS
1
発表手順
1.はじめに
2.命令ROMの消費エネルギー
3.低消費エネルギー化技術(従来手法)
4.低消費エネルギー化技術(提案手法)
5.評価
6.おわりに
Koji Inoue 軽井沢WS
2
はじめに
組み込みシステムの低消費エネルギー化
Etotal = Ecpu + Eram + Erom + Elogic
高機能化に伴う
アプリケーション コード・サイズの増大
プログラム
Inst.
ROM
CPU
Other Data
Logic RAM
Koji Inoue 軽井沢WS
3
はじめに
組み込みシステムの低消費エネルギー化
Etotal = Ecpu + Eram + Erom + Elogic
高機能化に伴う
アプリケーション コード・サイズの増大
プログラム
Inst.
ROM
CPU
Other Data
Logic RAM
最大約50%の低消費
エネルギー化を達成*
*)50%のビットライン・スイッチング回数を削減
Koji Inoue 軽井沢WS
4
命令ROMの消費エネルギー
BL0 BL1 BL2 BL3
WL
0
0
0
0
1
0
1
0
1
1
1
0
Sense
Amp.
Sense
Amp.
Erom = Edec + Ewl + Ebl + Esa
Ref. V
Sense
Amp.
Sense
Amp.
読出しデータ
Koji Inoue 軽井沢WS
5
命令ROMの消費エネルギー
BL0 BL1 BL2 BL3
WL
0
0
0
0
1
0
1
0
1
1
1
0
Sense
Amp.
Sense
Amp.
Erom = Edec + Ewl + Ebl + Esa
ビットライン・プリチャージ
Ref. V
Sense
Amp.
Sense
Amp.
読出しデータ
Koji Inoue 軽井沢WS
6
命令ROMの消費エネルギー
BL0 BL1 BL2 BL3
WL
0
0
0
0
1
0
1
0
1
1
1
0
Sense
Amp.
Sense
Amp.
Erom = Edec + Ewl + Ebl + Esa
ビットライン・プリチャージ
アドレス・デコード
ワードラインの活性化
Ref. V
Sense
Amp.
Sense
Amp.
読出しデータ
Koji Inoue 軽井沢WS
7
命令ROMの消費エネルギー
BL0 BL1 BL2 BL3
WL
0
0
0
0
1
0
1
0
1
1
1
0
Sense
Amp.
Sense
Amp.
Ref. V
Sense
Amp.
Erom = Edec + Ewl + Ebl + Esa
ビットライン・プリチャージ
アドレス・デコード
ワードラインの活性化
ビットライン・ディスチャージ
Sense
Amp.
読出しデータ
Koji Inoue 軽井沢WS
8
命令ROMの消費エネルギー
BL0 BL1 BL2 BL3
WL
0
0
0
0
1
0
1
0
1
1
1
0
Sense
Amp.
Sense
Amp.
Ref. V
Sense
Amp.
Sense
Amp.
Erom = Edec + Ewl + Ebl + Esa
ビットライン・プリチャージ
アドレス・デコード
ワードラインの活性化
ビットライン・ディスチャージ
センシング
読出しデータ
Koji Inoue 軽井沢WS
9
命令ROMの消費エネルギー
BL0 BL1 BL2 BL3
WL
0
0
0
0
1
0
1
0
CB UCB CB UCB
1
1
Sense
Amp.
Sense
Amp.
1
Ref. V
Sense
Amp.
読出しデータ
Sense
Amp.
0
Erom = Edec + Ewl + Ebl + Esa
ビットライン・プリチャージ
アドレス・デコード
ワードラインの活性化
ビットライン・ディスチャージ
センシング
ビットライン・スイッチング回数は
格納された0/1パタンに比例
(つまり、読出されるUCB数に比例)
CB: Conforming Bit
UCB: UnConforming Bit(ディスチャージ発生)
Koji Inoue 軽井沢WS
10
従来の低消費エネルギー化手法
HSI: Horizontal Strip Inversion
バス・インバーティング技術を活用してUCB数(0の数)を削減
通常のROM
Adr.0
Adr.1
Adr.2
Adr.3
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
反転フラグ(0:反転)
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
HSI
01
10
10
00
Invert?
Adr. 0, 1, 2, 3とアクセスした場合
#of UCBs = 16
#of UCBs = 8 + 2
Koji Inoue 軽井沢WS
11
提案低消費エネルギー化手法(1/2)
IE: Instruction Encoding
命令実行頻度の偏りを利用してUCB数(0の数)を削減
出現頻度(OP-field)
100%
80%
60%
40%
20%
0%
Others
OP code binary pattern (#of UCBs)
Base
Encoding
(dlxsim)
BNEZ:
SW:
LW:
ADDI:
Special:
000101
101011
100011
001000
000000
(4)
(2)
(3)
(5)
(6)
110111
111011
111101
111110
111111
(1)
(1)
(1)
(1)
(0)
出現頻度(Rs1,Rs2,Rd-field)
100%
80%
60%
40%
20%
0%
Others
R31:
R3:
R2:
R29:
R1:
Base
(dlxsim)
11111
00011
00010
11101
00000
(0)
(3)
(4)
(1)
(5)
Benchmark:mpeg2dec (executed on the fast dlx simulator)
Encoding
10111
11011
11101
11110
11111
(1)
(1)
(1)
(1)
(0)
Koji Inoue 軽井沢WS
12
提案低消費エネルギー化手法(2/2)
HSI + IE
Op-, Reg-, Func-fieldにはIE、imm-fieldにはHISを適用
命令フォーマット(32ビット)
R-type
Op
Rs1 Rs2 Rd sha Func
Rs1 Rd
Imm 16
Op
Op
Op
J-type
16bit-imm用
反転フラグ
Op
Op
I-type
Op
26bit-imm用
反転フラグ
Imm 16
Imm 26
Imm 26
HSI + IE
Invert?
Invert?
Koji Inoue 軽井沢WS
13
命令コード割当てアルゴリズム
1. 命令レベル・シミュレーションによりアプリケーションを実行
2. プロファイル・データの採集
3. 命令出現頻度、ならびに、レジスタ参照頻度に関するラン
キング・リストを作成
4. Op, Func, Reg-fieldに関して、出現/参照頻度の高い順に
UCBの少ない符号(0の少ないビットパタン)割り当て
5. Imm-field(即値)に関して、HSI手法を適用
6. バイナリ・コード変換
Koji Inoue 軽井沢WS
14
IE手法のまとめ
手法
エンコード
単位
エンコード ROMアクセスに関す
アプローチ るオーバヘッド
HSI
ワード
空間的
1ビットの反転フラグ
IE
オペコード
フィールド
時間的
なし
HSI+IE
オペコード
フィールド
空間的+
時間的
2ビットの反転フラグ
(1ビットのみがUCB)
Koji Inoue 軽井沢WS
15
評価 -評価対象モデルー
BASE: 基本モデル(従来型ROM)
dlxsimシミュレータで定義された命令コードを使用
ROMに格納される全てのデータは反転
HSI:
ワード単位で反転/非反転を決定
命令コードはBASEと同じ
IEsp: 実行頻度に基づいた命令コードの割当て
即値フィールドに関してはBASEと同じと仮定
プログラムそれぞれに対し、個別に命令コードを決定
IEall: BASEに対し、実行頻度に基づいた命令コードの割当て
即値フィールドに関してはBASEと同じと仮定
全てのプログラム共通の命令コードを1種類決定
HSI+IEsp: HSIとIEspの組み合わせ
HSI+IEall: HSIとIEallの組み合わせ
Koji Inoue 軽井沢WS
17
命令ROMアクセス
消費エネルギー
HIS+IEall
HIS+IEsp
IEall
IEsp
129.compress
HSI
1.1
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
BASE
Normalized Energy
HIS+IEall
HIS+IEsp
Invert-Flag
Op-Field
Func-Field
Reg-Field
Imm-Field
IEall
IEsp
099.go
HSI
1.1
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
BASE
Normalized Energy
評価 -命令ROMアクセス(1/2)ー
Koji Inoue 軽井沢WS
18
命令ROMアクセス
消費エネルギー
HIS+IEall
HIS+IEsp
IEall
IEsp
adpcmdec
HSI
1.1
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
BASE
Normalized Energy
HIS+IEall
HIS+IEsp
Invert-Flag
Op-Field
Func-Field
Reg-Field
Imm-Field
IEall
IEsp
mpeg2dec
HSI
1.1
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
BASE
Normalized Energy
評価 -命令ROMアクセス(2/2)ー
Koji Inoue 軽井沢WS
19
評価 -入力データ依存性ー
異なる入力データ・セットにおける
命令ROM消費エネルギー削減率
Input
HSI
HSI+IEsp
HSI+IEall
099.go
Test input
5.03%
51.51%
51.43%
129.compress
Test input
39.85%
60.79%
60.77%
mpeg2dec
Verify
4.72%
46.03%
43.69%
Tennis
3.59%
45.11%
42.45%
Koji Inoue 軽井沢WS
20
おわりに
命令実行頻度の偏りを利用した命令ROMの低
消費エネルギー化手法を提案
従来技術との組み合わせ(HSI+IE)
最大約50%の低消費エネルギー化(ビットライン・
スイッチング回数の削減)
データバス、命令デコーダにおけるオーバヘッド
今後の予定
より詳細な消費エネルギー・モデルを用いた評価
Koji Inoue 軽井沢WS
21
Backup Slides…..
Koji Inoue 軽井沢WS
22
評価 -データバス・オーバヘッドー
Normalized Bus-Switching Activity
データバス消費エネルギー
1.1
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
IEsp
IEall
099.go
129.compress
mpeg2dec
adpcmdec
Koji Inoue 軽井沢WS
23
Normalized I-decoder Power
評価 -命令デコーダ・オーバヘッドー
1.3
1.2
1.1
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
IEsp
IEall
命令デコーダ IEsp w/o Renaming
消費エネルギー IEall w/o Renaming
099.go
129.compress
mpeg2dec
*)全配線における負荷容量はαと仮定
**)各配線のスイッチング確立=バススイッチング確立と仮定
adpcmdec
Koji Inoue 軽井沢WS
24