タグ比較再利用による低消費電力 命令キャッシュの設計と評価 ●田中 秀和 福岡大学 井上 弘士 モシニャガ・ワシリー 九州大学 村上 和彰 発表手順 背景 研究目的 低消費電力化手法 HBTCキャッシュ 評価 まとめ 2 背景 CPU + DRAM Cache Memory チップ全体の消費エネルギーにおいて、キャッシュが占める割合 DEC 21164 CPU * StrongARM SA-110 CPU * Bipolar ECL CPU * * 25% 43% 50% キャッシュの低消費エネルギー化は重要! * Kamble, et. Al., “Analytical energy Dissipatiion Models for Low Power Caches”, ILPED’97 ** Joouppi, et. Al., “A 300-MHz 115-W 32-b Bipolar ECL Microprocessor” ,IEEE Journal of Solid-State Circuits’93 3 背景 特に、命令キャッシュはアクセス頻度が高い ⇒消費電力に与える影響大 ARM920Tプロセッサにおける命令キャッシュの消費電力の割合† 25% † S. Segars, “Low Power Design Techniques for Microprocessors, ” ISSCC Tutorial, Feb. 2001. 命令キャッシュの低消費エネルギー化 ヒストリ・ベース・タグ比較(HBTC)キャッシュ 過去のタグ比較結果を再利用することにより 参照データが存在するウェイのみを選択的に活性化 性能に影響を与えることなく低消費エネルギー化を実現 4 現在の評価における問題点 0.8μmCMOSテクノロジを前提とした消費 エネルギー・モデルで評価 ⇒最先端テクノロジでの有効性不明瞭 評価比較対象は従来型キャッシュ ⇒過去に提案された低消費エネルギー化手法 との比較評価無し 5 研究目的 HBTCキャッシュの有効性の詳細な評価 手段 0.18μmCMOSプロセスによるSRAMアレイ実設計に 基づく消費エネルギー評価 過去に提案された低消費エネルギー化手法との比較 と組合わせに関する調査 HBTC方式採用に伴い発生する消費エネルギー・ オーバヘッド削減手法とその評価 6 従来方式と過去に提案された 低消費電力化手法 従来型 ウェイ予測型 段階型 予測されたウェイ 予測されたウェイ タグ クロック1 = データ = = = クロック1 = = = = = = = = クロック1 = = = = エンコード エンコード エンコード エンコード クロック1 <予測ヒット時> クロック2 = = = エンコード 連想度:W = クロック2 = = = = エンコード <予測ミス時> 段階型 ウェイ予測型 従来型 キャッシュ キャッシュ 予測 予測 ヒット時 ミス時 ヒット時 ミス時 1 2 1 1 アクセス時間[サイクル数] 2 W W W W 7 1 読み出されるタグ数 W W 1 0 1 読み出されるライン数 ライン間タグ比較(ILT)方式とHBTC方式 ライン間/再利用不可 タグ クロック1 = ライン内/再利用可 データ = = = クロック1 = エンコード = = = エンコード 連想度:W ILT ライン内 ライン間 アクセス時 アクセス時 1 1 アクセス時間[サイクル数] W 0 読み出されるタグ数 W 1 読み出されるライン数 HBTC 再利用可 再利用不可 1 0 1 1 W W 8 HBTCキャッシュの内部構成 分岐予測結果 WP記録レジスタ 分岐命令アドレス Biのアドレス タグ比較結果 PBAレジスタ ウェイ・ポインタ・テーブル 分岐命令アドレス Biのアドレス ウェイ ポインタ (WP) 分岐先アドレス BTB (Branch Target Buffer) Taken Not Taken Bjのアドレス I-Cache 有効フラグ ウェイ 選択 WP レジスタ Inc PC 分岐予測 結果 モード 制御回路 モード選択 9 HBTCキャッシュの内部構成 分岐予測結果 WP記録レジスタ Biのアドレス タグ比較結果 PBAレジスタ ウェイ・ポインタ・テーブル 分岐命令アドレス Biのアドレス ウェイ ポインタ (WP) 分岐先アドレス BTB (Branch Target Buffer) Taken Not Taken Bjのアドレス 通常実行 I-Cache 有効フラグ ウェイ 選択 WP レジスタ Inc PC 分岐予測 結果 モード 制御回路 モード選択 10 HBTCキャッシュの内部構成 分岐予測結果 WP記録レジスタ Biのアドレス タグ比較結果 PBAレジスタ ウェイ・ポインタ・テーブル 分岐命令アドレス Biのアドレス ウェイ ポインタ (WP) 分岐先アドレス BTB (Branch Target Buffer) Taken Not Taken Bjのアドレス I-Cache 有効フラグ ウェイ 選択 WP レジスタ Inc PC 分岐予測 結果 モード 制御回路 モード選択 11 HBTCキャッシュの内部構成 分岐予測結果 WP記録レジスタ Biのアドレス タグ比較結果 PBAレジスタ ウェイ・ポインタ・テーブル 分岐命令アドレス Biのアドレス ウェイ ポインタ (WP) 分岐先アドレス BTB (Branch Target Buffer) Taken Not Taken Bjのアドレス 再利用 I-Cache 有効フラグ ウェイ 選択 WP レジスタ Inc PC 分岐予測 結果 モード 制御回路 モード選択 12 HBTCキャッシュの内部構成 分岐予測結果 WP記録レジスタ 分岐命令アドレス タグ比較結果 PBAレジスタ ウェイ・ポインタ・テーブル 分岐命令アドレス Biのアドレス ウェイ ポインタ (WP) キャッシュ・ミス 分岐先アドレス BTB (Branch Target Buffer) Taken Not Taken Bjのアドレス I-Cache 有効フラグ ウェイ 選択 WP レジスタ Inc PC 分岐予測 結果 モード 制御回路 モード選択 13 消費エネルギー式 1個のタグ読出しに 要するエネルギー アクセス時に キャッシュ・アクセスで 発生する消費エネルギー 読出されるタグ数 1個のライン読出しに 要するエネルギー デコーダ タグ Ecache = Dnum × Edec + Tnum × Etag + Lnum × Eline + Ebtb ライン アクセス時に 駆動されるデコーダ数 1個のデコーダ駆動に 要するエネルギー BTB拡張部分に 要する消費エネルギー アクセス時に 読出されるライン数 14 消費エネルギー式 実設計 Ecache = Dnum × Edec + Tnum × Etag + Lnum × Eline + Ebtb シミュレーション 実設計+シミュレーション 15 入力アドレス BIT アドレス・デコーダ SRAMアレイ(1way) BIT ・ ・ ・ メモリ・セル Word line プロセッサへ出力 16 リセット機能付メモリセル INVALID INVALID Word line BIT BIT Reset Transistors 17 リセット機能付メモリセル BIT INVALID INVALID BIT Word line Reset Transistors 18 設計結果 命令キャッシュ[pJ] BTB拡張部分 [pJ] Edec 82.2 Ewprd 75.8 Etag 63.6 Ewpwt 229.1 Eline 814.7 Ewpinv 160.0 Ewprd:1回のWP読出しに要する消費エネルギー Ewpwt :1回のWP書込みに要する消費エネルギー Ewpinv :1回のWP無効化処理に要する消費エネルギー 19 評価 評価環境 SimpleScalar アウト・オブ・オーダ実行 スカラ度4 ベンチマークプログラム SPEC95整数プログラム Mediabench 命令キャッシュ キャッシュ・サイズ→16KB ライン・サイズ→32B 連想度→4 BTB 連想度→4 512エントリ ウェイポインタ→各4個 キャッシュ シミュレー タ 評価方法 ベンチマーク プログラム SimpleScalar 消費エネルギー 命令キャッシュ WP及び有効フラグ 評価項目 プログラム実行に要するキャッシュの総消費エネルギー 20 各キャッシュの消費エネルギー 0.9 Normalized Total Energy 0.8 0.7 ILT PREDppc HBTC PREDcpc Ebtb Etag Eline Edec 0.6 0.5 0.4 0.3 0.2 0.1 0 Benchmark Programs PREDppc:直前のPCを用いたウェイ予測型キャッシュ PREDcpc:現PCを用いた理想的なウェイ予測型キャッシュ 21 ILTならびにPREDppcとの組み合わせ Normalized Total Energy 0.9 0.8 0.7 HBTC HBTC+ILT HBTC+PREDppc Ebtb Etag Eline Edec 0.6 0.5 0.4 0.3 0.2 0.1 0 Benchmark Programs ILTとの組み合わせが効果的! 22 WP読出しエネルギーの削減手法 (1)WP数の削減 Taken BTB Not-Taken Taken 分岐成立用のみ実装 (2)BTBアクセス回数の削減 Pre-decode BTB Taken Not Taken 分岐またはジャンプ命令 フェッチ時のみBTBアクセス BTB Not Taken 分岐不成立用のみ実装 (3)WP読出し当たりの 消費エネルギー削減 BLP BTB ビットライン分割 23 WP読出しエネルギーの削減 Normalized Total Energy 1.2 1 Not-Taken Taken Pre-decode BLP 0.8 Ebtb Etag Eline Edec 0.6 0.4 0.2 0 Benchmark Programs 24 BTBアクセス回数の削減が最も効果的! まとめ 実設計に基づくHBTCキャッシュの消費エネルギー評価 ⇒従来方式に比べ、最大約63%の低消費エネルギー化 これまでに提案された手法との組合わせにより、 更なる低消費エネルギー化を実現可能 HBTC方式採用によるBTB消費エネルギー・オーバヘッドの削減 ⇒BTBアクセス回数の削減が効果的 (最大約67%の低消費エネルギー化) 今後の課題 モード制御回路の設計 HBTCキャッシュのより詳細な評価 面積、アクセス時間、消費エネルギーのオーバヘッド 25
© Copyright 2024 ExpyDoc