実行頻度の偏りを利用した命令コード割当て による命令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
© Copyright 2024 ExpyDoc