1 / 43

タグ比較結果の再利用に基づく メディア・アプリケーション向け低消費電力キャッシュ

タグ比較結果の再利用に基づく メディア・アプリケーション向け低消費電力キャッシュ. ○ 井上弘士 1 V. Moshynaga 1  村上和彰 2 1 福岡大学 工学部 2 九州大学大学院 システム情報科学研究院. 発表手順. はじめに 従来型キャッシュにおける問題点 ヒストリ・ベース・ルックアップ・キャッシュ 定量的評価 おわりに. はじめに. キャッシュの大容量化. → キャッシュ消費エネルギーが増大!. チップ全体の消費電力において、キャッシュが占める割合. DEC 21164 CPU*. StrongARM SA-110 CPU*.

kellan
Download Presentation

タグ比較結果の再利用に基づく メディア・アプリケーション向け低消費電力キャッシュ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. タグ比較結果の再利用に基づく メディア・アプリケーション向け低消費電力キャッシュ ○井上弘士1V. Moshynaga1 村上和彰2 1福岡大学 工学部 2九州大学大学院 システム情報科学研究院

  2. 発表手順 • はじめに • 従来型キャッシュにおける問題点 • ヒストリ・ベース・ルックアップ・キャッシュ • 定量的評価 • おわりに

  3. はじめに キャッシュの大容量化 →キャッシュ消費エネルギーが増大! チップ全体の消費電力において、キャッシュが占める割合 DEC 21164 CPU* StrongARM SA-110 CPU* Bipolar ECL CPU** 50% 25% 43% * Kamble, et. Al., “Analytical energy Dissipation Models for Low Power Caches”, ISLPED’97 ** Joouppi, et. Al., “A 300-MHz 115-W 32-b Bipolar ECL Microprocessor” ,IEEE Journal of Solid-State Circuits’93

  4. 従来型4ウェイ・アソシアティブ・キャッシュー 動作と消費エネルギー ー従来型4ウェイ・アソシアティブ・キャッシュー 動作と消費エネルギー ー タグ・サブアレイ ライン・サブアレイ Way 0 Way 1 Way 2 Way3 Step1. アドレス・デコード Step2.全ウェイにおけるタグと ラインを同時読み出し Step3. タグ比較 Step4.不一致の場合、 ラインのリプレイス

  5. 従来型4ウェイ・アソシアティブ・キャッシュー 動作と消費エネルギー ー従来型4ウェイ・アソシアティブ・キャッシュー 動作と消費エネルギー ー タグ・サブアレイ ライン・サブアレイ Way 0 Way 1 Way 2 Way3 Step1. アドレス・デコード Index Step2.全ウェイにおけるタグと ラインを同時読み出し Step3. タグ比較 Step4.不一致の場合、 ラインのリプレイス

  6. 従来型4ウェイ・アソシアティブ・キャッシュー 動作と消費エネルギー ー従来型4ウェイ・アソシアティブ・キャッシュー 動作と消費エネルギー ー タグ・サブアレイ ライン・サブアレイ Way 0 Way 1 Way 2 Way3 Step1. アドレス・デコード Index Step2.全ウェイにおけるタグと ラインを同時読み出し Step3. タグ比較 Step4.不一致の場合、 ラインのリプレイス

  7. 従来型4ウェイ・アソシアティブ・キャッシュー 動作と消費エネルギー ー従来型4ウェイ・アソシアティブ・キャッシュー 動作と消費エネルギー ー タグ・サブアレイ ライン・サブアレイ Way 0 Way 1 Way 2 Way3 Step1. アドレス・デコード Index Tag Step2.全ウェイにおけるタグと ラインを同時読み出し Step3. タグ比較 Step4.不一致の場合、 ラインのリプレイス

  8. 従来型4ウェイ・アソシアティブ・キャッシュー 動作と消費エネルギー ー従来型4ウェイ・アソシアティブ・キャッシュー 動作と消費エネルギー ー タグ・サブアレイ ライン・サブアレイ Way 0 Way 1 Way 2 Way3 Step1. アドレス・デコード Index Tag Step2.全ウェイにおけるタグと ラインを同時読み出し Step3. タグ比較 Step4.不一致の場合、 ラインのリプレイス

  9. Way 0 Way 1 Way 2 Way3 アクセス当たりの 平均消費エネルギー ライン読み出し タグ読み出し Ecache = Etag + Eline Tnum×Etag_sa Lnum×Eline_sa タグ サブアレイアクセス 読み出されるライン数 読み出されるタグ数 ライン サブアレイアクセス 従来型4ウェイ・アソシアティブ・キャッシュー 動作と消費エネルギー ー タグ・サブアレイ ライン・サブアレイ Step1. アドレス・デコード Step2.全ウェイにおけるタグと ラインを同時読み出し Step3. タグ比較 Step4.不一致の場合、 ラインのリプレイス

  10. 従来型4ウェイ・アソシアティブ・キャッシュー 問題点 ー従来型4ウェイ・アソシアティブ・キャッシュー 問題点 ー Way 0 Way 1 Way 2 Way3 参照データは唯一のウェイに存在するにも関わらず全てのウェイを活性化 本来データ読み出しのために消費すべきエネルギー Eline_sa 高速データ検索のために消費する無駄なエネルギー 4×Etag_acc + (4-1)×Eline_acc

  11. 提案型4ウェイ・アソシアティブ・キャッシュー 本研究の狙い ー提案型4ウェイ・アソシアティブ・キャッシュー 本研究の狙い ー ヒストリ・ベース・ルックアップ・キャッシュを提案 • 目的:命令キャッシュにおける無駄な消費エネルギーを削減! • 手段:過去のタグ比較結果を再利用! • 効果:0.2%の性能低下をもたらすだけで、最大68%の消費エネルギーを削減!

  12. 命令A参照 命令A参照 命令A参照 命令A参照 命令A参照 Miss! Miss! どの Way? どの Way? どの Way? どの Way? どの Way? 時刻 HBLキャッシュー 基本概念 (1/3) ー 事実1:命令キャッシュのヒット率は極めて高い →キャッシュ内容の更新は稀にしか発生しない 事実2:プログラムはループ構造に基づく →多くの命令は繰り返し実行される キャッシュ・ミス・インターバル キャッシュの内容は変更されていないにも関わらず 同一命令へのアクセス時、毎回検索を行っているのでは?

  13. HBLキャッシュー 基本概念 (2/3) ー キャッシュ・ミス・インターバル当たりの平均アクセス回数 (無駄なキャッシュ検索はどの程度存在するのか?) 16 KB 4-way set-associative cache with 32 B line size

  14. HBLキャッシュー 基本概念 (3/3) ー 1. 時刻 T にてある命令Aを参照 way3 way2 way1 way0 • タグ比較を実行 • タグ比較結果を保存 Index Hit!

  15. HBLキャッシュー 基本概念 (3/3) ー 1. 時刻 T にてある命令Aを参照 way3 way2 way1 way0 • タグ比較を実行 • タグ比較結果を保存 Index (命令Aのヒット・ウェイ=2) Hit!

  16. HBLキャッシュー 基本概念 (3/3) ー 1. 時刻 T にてある命令Aを参照 way3 way2 way1 way0 • タグ比較を実行 • タグ比較結果を保存 Index (命令Aのヒット・ウェイ=2) Hit! 2.キャッシュ・ミスが発生したら記録した全てのタグ比較結果を無効化

  17. HBLキャッシュー 基本概念 (3/3) ー 1. 時刻 T にてある命令Aを参照 way3 way2 way1 way0 • タグ比較を実行 • タグ比較結果を保存 Index (命令Aのヒット・ウェイ=2) Hit! 2.キャッシュ・ミスが発生したら記録した全てのタグ比較結果を無効化 3.時刻T+x において命令Aを再度参照 way3 way2 way1 way0 • 有効なタグ比較結果が保存されていれば再利用 Index (命令Aのヒット・ウェイ=2) Hit!

  18. HBLキャッシュー 内部構造 ー 前分岐予測結果 検索履歴レジスタ Tag Check Result 前PC保存用レジスタ Write Address 検索履歴テーブル Branch-Inst. Addr. Target Addr. I-Cache BTB (Branch Target Buffer) PC Not Taken Taken Branch-Inst. Addr. Target Addr. WP レジスタ 分岐予測 結果 検索履歴テーブル のエントリ valid WP valid flag n way pointers モード 制御 Miss?

  19. HBLキャッシュー 動作モード ー • 検索省略モード:ウェイ・ポインタ(WP)レジスタに格納されたWPの値に従って、キャッシュはウェイ選択を行う. • 検索記録モード:従来型キャッシュと同様にウェイ検索を行う.ただし,検索履歴レジスタ(Look-up History Reg.)にタグ比較結果(ヒット・ウェイ番号)を記録する. • 通常モード:従来型キャッシュと同様にウェイ検索を行う.タグ比較結果の記録は行わない.

  20. HBLキャッシュー 動作モード ー • 検索省略モード:ウェイ・ポインタ(WP)レジスタに格納されたWPの値に従って、キャッシュはウェイ選択を行う. • 検索記録モード:従来型キャッシュと同様にウェイ検索を行う.ただし,検索履歴レジスタ(Look-up History Reg.)にタグ比較結果(ヒット・ウェイ番号)を記録する. • 通常モード:従来型キャッシュと同様にウェイ検索を行う.タグ比較結果の記録は行わない.

  21. HBLキャッシュー 動作(検索省略モード) ーHBLキャッシュー 動作(検索省略モード) ー 前分岐予測結果 検索履歴レジスタ Tag Check Result 前PC保存用レジスタ Write Address 検索履歴テーブル Branch-Inst. Addr. Target Addr. I-Cache BTB (Branch Target Buffer) PC Not Taken Taken Branch-Inst. Addr. Target Addr. WP レジスタ 分岐予測 結果 検索履歴テーブル のエントリ valid WP valid flag n way pointers モード 制御 Miss?

  22. HBLキャッシュー 動作(検索省略モード)  ー 前分岐予測結果 検索履歴レジスタ Tag Check Result 前PC保存用レジスタ Write Address 検索履歴テーブル Branch-Inst. Addr. Target Addr. I-Cache BTB (Branch Target Buffer) PC Not Taken Taken Branch-Inst. Addr. Target Addr. WP レジスタ 分岐予測 結果 検索履歴テーブル のエントリ Valid == 1 WP valid flag n way pointers モード 制御 Miss?

  23. HBLキャッシュー 動作モード ー • 検索省略モード:ウェイ・ポインタ(WP)レジスタに格納されたWPの値に従って、キャッシュはウェイ選択を行う. • 検索記録モード:従来型キャッシュと同様にウェイ検索を行う.ただし,検索履歴レジスタ(Look-up History Reg.)にタグ比較結果(ヒット・ウェイ番号)を記録する. • 通常モード:従来型キャッシュと同様にウェイ検索を行う.タグ比較結果の記録は行わない.

  24. HBLキャッシュー 動作(検索記録モード)  ー 前分岐予測結果 検索履歴レジスタ Tag Check Result 前PC保存用レジスタ Write Address 検索履歴テーブル Branch-Inst. Addr. Target Addr. I-Cache BTB (Branch Target Buffer) PC Not Taken Taken Branch-Inst. Addr. Target Addr. WP レジスタ 分岐予測 結果 検索履歴テーブル のエントリ Valid == 0 WP valid flag n way pointers モード 制御 Miss?

  25. HBLキャッシュー 動作(検索記録モード)  ー 前分岐予測結果 検索履歴レジスタ Tag Check Result 前PC保存用レジスタ Write Address BTB Hit! 検索履歴テーブル Branch-Inst. Addr. Target Addr. I-Cache BTB (Branch Target Buffer) PC Not Taken Taken Branch-Inst. Addr. Target Addr. WP レジスタ 分岐予測 結果 検索履歴テーブル のエントリ valid WP valid flag n way pointers モード 制御 Miss?

  26. HBLキャッシュー 動作モード ー • 検索省略モード:ウェイ・ポインタ(WP)レジスタに格納されたWPの値に従って、キャッシュはウェイ選択を行う. • 検索記録モード:従来型キャッシュと同様にウェイ検索を行う.ただし,検索履歴レジスタ(Look-up History Reg.)にタグ比較結果(ヒット・ウェイ番号)を記録する. • 通常モード:従来型キャッシュと同様にウェイ検索を行う.タグ比較結果の記録は行わない.

  27. (連想度が4の場合) Ecache = Tnum×Etag_acc + Lnum×Eline_acc 4 4 従来型 1 省略 0 4 4 記録 / 通常 HBLキャッシュー 動作モード ー • 検索省略モード:ウェイ・ポインタ(WP)レジスタに格納されたWPの値に従って、キャッシュはウェイ選択を行う. • 検索記録モード:従来型キャッシュと同様にウェイ検索を行う.ただし,検索履歴レジスタ(Look-up History Reg.)にタグ比較結果(ヒット・ウェイ番号)を記録する. • 通常モード:従来型キャッシュと同様にウェイ検索を行う.タグ比較結果の記録は行わない.

  28. BTBヒット 省略モード 通常モード 記録モード HBLキャッシュー 動作モード遷移 ー CONDtoNM: 命令キャッシュ・ミス or BTBリプレースメント or 分岐予測ミスからの復帰 or RASアクセス Valid==1 WP読出しオーバフロー CONDtoNM Valid==0 WP書込みオーバフロー CONDtoNM • BTBヒット時に省略モードか記録モードかを決定 • キャッシュ・ミス発生時には全てのvalidフラグをリセット    (記録したタグ比較結果を無効化)

  29. HBLキャッシュー 利点と欠点のまとめ ー • 利点: • タグ比較結果の再利用により無駄なウェイ・アクセ スを回避して低消費エネルギー化(省略モード時) • 欠点: • 記録モードや通常モード時には従来型と同じ数の タグ / ライン・サブアレイを活性化 • BTB拡張に伴う消費エネルギー・オーバヘッド • 記録したタグ比較結果の無効化処理時における CPUからのBTBアクセス禁止(ストール発生) • タグ比較結果の検索履歴テーブル書込み時におけるCPUからのBTBアクセス禁止(ストール発生)

  30. 評価ー評価環境ー • SimpleScalarによるサイクル・ベース・シミュレーション • 16KBの4ウェイ・セットアソシアティブ・キャッシュを想定 • BTBアクセスは分岐(又はジャンプ)実行時のみ発生 • 消費エネルギーに関してはKambleのモデル*を使用 • BTB拡張に伴う消費エネルギー・オーバヘッドも含む Benchmark Programs SPECint95 099.go, 124.m88ksim, 126.gcc, 129.compress,130.li, 132.ijpeg SPECfp95 102.swim Mediabench mpeg2encode, mpeg2decode, adpcm_enc, adpcm_dec *) M.B.Kamble and K.Ghose, ”Analytical Energy Dissipation Models For Low Power Caches,” ISLPED97

  31. 評価ー実験結果ー # of WPs = 4 1.2 0.2% 1.2 62% 1.0 1.0 0.8 0.8 0.6 Normalized Energy (Joule) 0.6 Normalized Exe. Time (cycle) 0.4 0.4 0.2 0.2 0.0 0.0 099.go 126.gcc 130.li 102.swim adpcm(d) mpeg2(d) 124.m88ksim 129.comp. 132.ijpeg adpcm(e) mpeg2(e)

  32. 評価ーWP数が消費エネルギーに与える影響 ー 126.gcc w/o Pre-Decoding w/ Pre-Decoding 1.0 0.8 0.6 Normalized Energy (Joule) 0.4 0.2 0.0 1 2 4 8 16 32 1 2 4 8 16 32 # of Way Pointer Energy for Cache Access Energy Overhead at BTB

  33. 評価ー連想度が消費エネルギーに与える影響ー評価ー連想度が消費エネルギーに与える影響ー Eothers Etag Edata,bl Edata,prectl mpeg2decode Conventional HBL Cache Energy (Joule) 1 2 4 8 16 32 64 1 2 4 8 16 32 64 Associativity 0.8um CMOS* ** *) M.B.Kamble and K.ghose, “Energy-Efficiency of VLSI Caches: A Comparative Study,” 10th Int. Conf. On VLSI Design **) S.J.E.Wilton and N.P.Jouppi, “An Enhanced Access and Cycle Time Model for On-Chip Caches,” WRL Research Report 93/5

  34. 評価ー他方式との比較ー ITC:Interline Look-up Cache HBLC:History-Based Look-up Cache ITC+HBLC 0.8 0.7 0.6 0.5 Normalized Tag-Compare Count 0.4 0.3 0.2 0.1 0.0 099.go 126.gcc 130.li 102.swim adpcm(d) mpeg2(d) 124.m88ksim 129.comp. 132.ijpeg adpcm(e) mpeg2(e)

  35. おわりに • セット・アソシアティブ命令キャッシュの低消費電力化を目的としたキャッシュ・アーキテクチャを提案 • 2%の性能低下をもたらすだけで最大62%のキャッシュ・アクセス消費エネルギーを削減 • 性能ならびに消費エネルギーに関する詳細な評価・解析 今後の予定 実設計に基づくより詳細な消費エネルギーの評価

  36. Backup Slides

  37. 評価ーWP数が消費エネルギーに与える影響 (1/2)ー 132.ijpeg w/o Pre-Decoding w/ Pre-Decoding 1.0 0.8 0.6 Normalized Energy (Joule) 0.4 0.2 0.0 1 2 4 8 16 32 1 2 4 8 16 32 # of Way Pointer Energy for Cache Access Energy Overhead at BTB

  38. Cache Miss Penalty 評価ーWP無効化が性能に与える影響ー 126.gcc Normalized Exe. Time (cycle) 099.go BTB Replacement Cache Miss mpeg2(d) 132.ijpeg WP Invalidation Penalty (cycle) Breakdown of WP invalidations 099.go 126.gcc 130.li 102.swim adpcm(d) mpeg2(d) 124.m88ksim 129.comp.132.ijpeg adpcm(e) mpeg2(e)

  39. 評価ー連想度が消費エネルギーに与える影響ー評価ー連想度が消費エネルギーに与える影響ー Eothers Etag Edata,bl Edata,prectl 099.go Conventional HBL Cache Energy (Joule) 1 2 4 8 16 32 64 1 2 4 8 16 32 64 Associativity 0.8um CMOS* ** *) M.B.Kamble and K.ghose, “Energy-Efficiency of VLSI Caches: A Comparative Study,” 10th Int. Conf. On VLSI Design **) S.J.E.Wilton and N.P.Jouppi, “An Enhanced Access and Cycle Time Model for On-Chip Caches,” WRL Research Report 93/5

  40. 評価ー連想度が消費エネルギーに与える影響ー評価ー連想度が消費エネルギーに与える影響ー Eothers Etag Edata,bl Edata,prectl 132.ijpeg Conventional HBL Cache Energy (Joule) 1 2 4 8 16 32 64 1 2 4 8 16 32 64 Associativity 0.8um CMOS* ** *) M.B.Kamble and K.ghose, “Energy-Efficiency of VLSI Caches: A Comparative Study,” 10th Int. Conf. On VLSI Design **) S.J.E.Wilton and N.P.Jouppi, “An Enhanced Access and Cycle Time Model for On-Chip Caches,” WRL Research Report 93/5

  41. 評価ー連想度が消費エネルギーに与える影響ー評価ー連想度が消費エネルギーに与える影響ー Eothers Etag Edata,bl Edata,prectl 126.gcc Conventional HBL Cache Energy (Joule) 1 2 4 8 16 32 64 1 2 4 8 16 32 64 Associativity 0.8um CMOS* ** *) M.B.Kamble and K.ghose, “Energy-Efficiency of VLSI Caches: A Comparative Study,” 10th Int. Conf. On VLSI Design **) S.J.E.Wilton and N.P.Jouppi, “An Enhanced Access and Cycle Time Model for On-Chip Caches,” WRL Research Report 93/5

  42. 評価ーWP数が消費エネルギーに与える影響 (1/2)ー w/ Pre-Decoding (BTB access occurs only at branch, or jump, executions) 1.0 126.gcc 132.ijpeg 0.8 0.6 Normalized Energy (Joule) 0.4 0.2 0.0 1 2 4 8 16 32 1 2 4 8 16 32 # of Way Pointer Energy for Cache Access Energy Overhead at BTB

  43. 評価ーWP数が消費エネルギーに与える影響 (2/2)ー w/o Pre-Decoding (BTB access occurs for all instructions) 1.0 126.gcc 132.ijpeg 0.8 0.6 Normalized Energy (Joule) 0.4 0.2 0.0 1 2 4 8 16 32 1 2 4 8 16 32 # of Way Pointer Energy for Cache Access Energy Overhead at BTB

More Related