23
Koji Inoue 軽軽軽WS 1 実実実実実実実実実実実実実実実実実実実実実実実実実 ROM 実実実 実実実実 ○ 軽軽軽軽 1 V. Moshynaga 1 軽軽軽軽 2 1 軽軽軽軽 軽軽軽 2 軽軽軽軽軽軽軽 軽軽軽軽軽軽軽軽軽軽軽

実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

  • Upload
    gavan

  • View
    43

  • Download
    0

Embed Size (px)

DESCRIPTION

実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化. ○ 井上弘士 1 V. Moshynaga 1  村上和彰 2 1 福岡大学 工学部 2 九州大学大学院 システム情報科学研究院. 発表手順. 1.はじめに 2.命令 ROM の消費エネルギー 3.低消費エネルギー化技術(従来手法) 4.低消費エネルギー化技術(提案手法) 5.評価 6.おわりに. はじめに . 組み込みシステムの低消費エネルギー化. E total = E cpu + E ram + E rom + E logic. 高機能化に伴う コード・サイズの増大. - PowerPoint PPT Presentation

Citation preview

Page 1: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 1

実行頻度の偏りを利用した命令コード割当てによる命令 ROMの低消費電力化

実行頻度の偏りを利用した命令コード割当てによる命令 ROMの低消費電力化

○井上弘士 1  V. Moshynaga1 村上和彰2

1福岡大学 工学部2九州大学大学院 システム情報科学研究院

Page 2: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 2

発表手順

1.はじめに2.命令 ROMの消費エネルギー3.低消費エネルギー化技術(従来手法)4.低消費エネルギー化技術(提案手法)5.評価6.おわりに

1.はじめに2.命令 ROMの消費エネルギー3.低消費エネルギー化技術(従来手法)4.低消費エネルギー化技術(提案手法)5.評価6.おわりに

Page 3: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 3

Inst.ROM

はじめに 

組み込みシステムの低消費エネルギー化Etotal = Ecpu + Eram + Erom + ElogicEtotal = Ecpu + Eram + Erom + Elogic

CPU

DataRAM

OtherLogic

アプリケーションプログラム

高機能化に伴うコード・サイズの増大

Page 4: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 4

はじめに 

組み込みシステムの低消費エネルギー化

Inst.ROM

CPU

DataRAM

OtherLogic

Etotal = Ecpu + Eram + Erom + ElogicEtotal = Ecpu + Eram + Erom + Elogic

アプリケーションプログラム

高機能化に伴うコード・サイズの増大

最大約 50%の低消費エネルギー化を達成*

最大約 50%の低消費エネルギー化を達成*

*)50%のビットライン・スイッチング回数を削減

Page 5: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 5

命令 ROMの消費エネルギー 

WL

BL0 BL1 BL2 BL3

SenseAmp.

Ref. V

SenseAmp.

SenseAmp.

SenseAmp.

読出しデータ

Erom = Edec + Ewl + Ebl + EsaErom = Edec + Ewl + Ebl + Esa0 0 0 0

1 0 1 0

1 1 1 0

Page 6: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 6

命令 ROMの消費エネルギー 

WL

BL0 BL1 BL2 BL3

SenseAmp.

Ref. V

SenseAmp.

SenseAmp.

SenseAmp.

読出しデータ

Erom = Edec + Ewl + Ebl + EsaErom = Edec + Ewl + Ebl + Esa

ビットライン・プリチャージビットライン・プリチャージ0 0 0 0

1 0 1 0

1 1 1 0

Page 7: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 7

命令 ROMの消費エネルギー 

WL

BL0 BL1 BL2 BL3

SenseAmp.

Ref. V

SenseAmp.

SenseAmp.

SenseAmp.

読出しデータ

Erom = Edec + Ewl + Ebl + EsaErom = Edec + Ewl + Ebl + Esa

ビットライン・プリチャージアドレス・デコードワードラインの活性化

ビットライン・プリチャージアドレス・デコードワードラインの活性化

0 0 0 0

1 0 1 0

1 1 1 0

Page 8: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 8

命令 ROMの消費エネルギー 

WL

BL0 BL1 BL2 BL3

SenseAmp.

Ref. V

SenseAmp.

SenseAmp.

SenseAmp.

読出しデータ

Erom = Edec + Ewl + Ebl + EsaErom = Edec + Ewl + Ebl + Esa

ビットライン・プリチャージアドレス・デコードワードラインの活性化ビットライン・ディスチャージ

ビットライン・プリチャージアドレス・デコードワードラインの活性化ビットライン・ディスチャージ

0 0 0 0

1 0 1 0

1 1 1 0

Page 9: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 9

命令 ROMの消費エネルギー 

WL

BL0 BL1 BL2 BL3

SenseAmp.

Ref. V

SenseAmp.

SenseAmp.

SenseAmp.

読出しデータ

Erom = Edec + Ewl + Ebl + EsaErom = Edec + Ewl + Ebl + Esa

ビットライン・プリチャージアドレス・デコードワードラインの活性化ビットライン・ディスチャージセンシング

ビットライン・プリチャージアドレス・デコードワードラインの活性化ビットライン・ディスチャージセンシング

0 0 0 0

1 0 1 0

1 1 1 0

Page 10: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 10

命令 ROMの消費エネルギー 

Erom = Edec + Ewl + Ebl + EsaErom = Edec + Ewl + Ebl + Esa

ビットライン・プリチャージアドレス・デコードワードラインの活性化ビットライン・ディスチャージセンシング

ビットライン・プリチャージアドレス・デコードワードラインの活性化ビットライン・ディスチャージセンシング

WL

BL0 BL1 BL2 BL3

SenseAmp.

Ref. V

SenseAmp.

SenseAmp.

SenseAmp.

読出しデータ

0 0 0 0

1 0 1 0

1 1 1 0

CBCB UCBUCB CBCB UCBUCB

CB: Conforming BitUCB: UnConforming Bit (ディスチャージ発生)

ビットライン・スイッチング回数は

格納された 0/1パタンに比例(つまり、読出される UCB数に比例)

ビットライン・スイッチング回数は

格納された 0/1パタンに比例(つまり、読出される UCB数に比例)

Page 11: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 11

従来の低消費エネルギー化手法 

バス・インバーティング技術を活用して UCB数( 0の数)を削減HSI: Horizontal Strip InversionHSI: Horizontal Strip Inversion

0 0 0 0 0 0 1 01 1 1 1 1 1 1 00 1 1 1 1 0 1 01 0 0 0 0 0 1 1

Adr.0Adr.1Adr.2Adr.3

Adr. 0, 1, 2, 3 とアクセスした場合

通常の ROM

1 1 1 1 1 1 0 11 1 1 1 1 1 1 00 1 1 1 1 0 1 00 1 1 1 1 1 0 0

HSI0110

反転フラグ( 0:反転)

#of UCBs = 16#of UCBs = 16 #of UCBs = 8 + 2#of UCBs = 8 + 2

Invert?

Page 12: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 12

提案低消費エネルギー化手法( 1/2) 

命令実行頻度の偏りを利用して UCB数( 0の数)を削減

IE: Instruction EncodingIE: Instruction Encoding

0%

20%

40%

60%

80%

100%出現頻度( OP-field)

BNEZ:SW:LW:

ADDI:Special:

000101 (4)101011 (2)100011 (3)001000 (5)000000 (6)

Base(dlxsim)

OP code binary pattern (#of UCBs)

Others

Benchmark:mpeg2dec (executed on the fast dlx simulator)0%

20%

40%

60%

80%

100%出現頻度( Rs1,Rs2,Rd-field)

R31:R3:R2:

R29:R1:

11111 (0)00011 (3)00010 (4)11101 (1)00000 (5)

Base(dlxsim)Others

110111 (1)111011 (1)111101 (1)111110 (1)111111 (0)

Encoding

10111 (1)11011 (1)11101 (1)11110 (1)11111 (0)

Encoding

Page 13: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 13

提案低消費エネルギー化手法( 2/2) 

Op-, Reg-, Func-field には IE 、 imm-field には HISを適用

HSI + IEHSI + IE

Op Rs1 Rs2 Rd sha Func

Op Rs1 Rd Imm 16

Op Imm 26

R-type

I-type

J-type

命令フォーマット( 32ビット)

HSI + IEHSI + IE

Op

Op

Op

Op

Invert?

Invert?

26bit-imm用反転フラグ

16bit-imm用反転フラグ

Imm 16

Imm 26

Page 14: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 14

命令コード割当てアルゴリズム 

1. 命令レベル・シミュレーションによりアプリケーションを実行

2. プロファイル・データの採集3. 命令出現頻度、ならびに、レジスタ参照頻度に関する

ランキング・リストを作成4. Op, Func, Reg-field に関して、出現 / 参照頻度の高い順

に UCB の少ない符号( 0 の少ないビットパタン)割り当て

5. Imm-field (即値)に関して、 HSI 手法を適用6. バイナリ・コード変換

Page 15: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 15

IE手法のまとめ 

手法 エンコード単位

エンコードアプローチ

ROMアクセスに関するオーバヘッド

HSI ワード 空間的 1ビットの反転フラグ

IE オペコードフィールド

時間的 なし

HSI+IE オペコードフィールド

空間的+時間的

2ビットの反転フラグ( 1ビットのみがUCB)

Page 16: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 17

評価 -評価対象モデルーBASE: 基本モデル(従来型 ROM )

dlxsim シミュレータで定義された命令コードを使用ROM に格納される全てのデータは反転

HSI: ワード単位で反転 / 非反転を決定命令コードは BASE と同じ

IEsp: 実行頻度に基づいた命令コードの割当て即値フィールドに関しては BASE と同じと仮定プログラムそれぞれに対し、個別に命令コードを決定

IEall: BASE に対し、実行頻度に基づいた命令コードの割当て即値フィールドに関しては BASE と同じと仮定全てのプログラム共通の命令コードを1種類決定

HSI+IEsp: HSI と IEsp の組み合わせ

HSI+IEall: HSI と IEall の組み合わせ

BASE: 基本モデル(従来型 ROM )dlxsim シミュレータで定義された命令コードを使用ROM に格納される全てのデータは反転

HSI: ワード単位で反転 / 非反転を決定命令コードは BASE と同じ

IEsp: 実行頻度に基づいた命令コードの割当て即値フィールドに関しては BASE と同じと仮定プログラムそれぞれに対し、個別に命令コードを決定

IEall: BASE に対し、実行頻度に基づいた命令コードの割当て即値フィールドに関しては BASE と同じと仮定全てのプログラム共通の命令コードを1種類決定

HSI+IEsp: HSI と IEsp の組み合わせ

HSI+IEall: HSI と IEall の組み合わせ

Page 17: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 18

評価 -命令 ROM アクセス( 1/2 )ー

00.10.20.30.40.50.60.70.80.9

11.1

BA

SE

BA

SE

HS

IH

SI

IEsp

IEsp

IEal

lIE

all

HIS

+IEs

pH

IS+I

Esp

HIS

+IEa

llH

IS+I

Eall

Nor

mal

ized

Ene

rgy

099.go

00.10.20.30.40.50.60.70.80.9

11.1

BA

SE

BA

SE

HS

IH

SI

IEsp

IEsp

IEal

lIE

all

HIS

+IEs

pH

IS+I

Esp

HIS

+IEa

llH

IS+I

Eall

Nor

mal

ized

Ene

rgy

129.compress

Invert-FlagOp-FieldFunc-FieldReg-FieldImm-Field

命令 ROMアクセス消費エネルギー

Page 18: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 19

評価 -命令 ROM アクセス( 2/2 )ー

00.10.20.30.40.50.60.70.80.9

11.1

BA

SE

BA

SE

HS

IH

SI

IEsp

IEsp

IEal

lIE

all

HIS

+IEs

pH

IS+I

Esp

HIS

+IEa

llH

IS+I

Eall

Nor

mal

ized

Ene

rgy

mpeg2dec

00.10.20.30.40.50.60.70.80.9

11.1

BA

SE

BA

SE

HS

IH

SI

IEsp

IEsp

IEal

lIE

all

HIS

+IEs

pH

IS+I

Esp

HIS

+IEa

llH

IS+I

Eall

Nor

mal

ized

Ene

rgy

adpcmdec

Invert-FlagOp-FieldFunc-FieldReg-FieldImm-Field

命令 ROMアクセス消費エネルギー

Page 19: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 20

評価 -入力データ依存性ー異なる入力データ・セットにおける命令 ROM消費エネルギー削減率

Input HSI HSI+IEsp HSI+IEall099.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%

Page 20: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 21

おわりに命令実行頻度の偏りを利用した命令 ROMの低消費エネルギー化手法を提案

従来技術との組み合わせ( HSI+IE)最大約 50%の低消費エネルギー化(ビットライン・スイッチング回数の削減)

データバス、命令デコーダにおけるオーバヘッド

今後の予定今後の予定より詳細な消費エネルギー・モデルを用いた評価

Page 21: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 22

Backup Slides…..Backup Slides…..

Page 22: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 23

評価 -データバス・オーバヘッドー

00.10.20.30.40.50.60.70.80.9

11.1

099.go 129.compress mpeg2dec adpcmdec

Nor

mal

ized

Bus

-Sw

itchi

ng A

ctiv

ity

IEspIEallIEspIEall

データバス消費エネルギー

Page 23: 実行頻度の偏りを利用した命令コード割当てによる命令 ROM の低消費電力化

Koji Inoue 軽井沢WS 24

評価 -命令デコーダ・オーバヘッドー

00.10.20.30.40.50.60.70.80.9

11.11.21.3

099.go 129.compress mpeg2dec adpcmdec

Nor

mal

ized

I-de

code

r P

ower

IEspIEallIEsp w/o RenamingIEall w/o Renaming

IEspIEallIEsp w/o RenamingIEall w/o Renaming

命令デコーダ消費エネルギー

*)全配線における負荷容量は αと仮定**)各配線のスイッチング確立=バススイッチング確立と仮定