Out-of-orderスーパースカラプロセッサ 4 instructions Instruction flow Instruction Instruction cache cache 計算機アーキテクチャ特論 (Advanced Computer Architectures) Branch Branch handler handler Fetch Fetch Decode Decode Rename Rename Register Register file file RS 6.先端の分岐予測 吉瀬 謙二 計算工学専攻 kise _at_ cs.titech.ac.jp www.arch.cs.titech.ac.jp W611講義室 木曜日 15:00 – 16:30 Store queue Data Data cache cache Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 分岐方向の予測(分岐予測) 分岐成立の場合にのみ,分岐先アドレスを登録する. 通常は valid bit は利用しない. Byte 31 30 Tag Hit ... 13 12 11 ... 20 2 1 0 offset Target Address 10 Index Index Valid Tag プログラムカウンタ Branch Target 0 1 2 . . . 1021 1022 1023 分岐予測 32 Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 Bimodal (ISCA 1981) シンプルな分岐予測 2ビットカウンタ方式 Taken(1), Not Taken(0) トレースデータ (分岐アドレス,分岐結果) 0040d89c 0040d89c 0040d89c 0040d89c 0040d89c 0040d89c 0040d89c 0040d8a2 0040d8c0 0040d8c4 0040d8cd 0040d8c0 0040d8c4 0040d8cd 0040d8c0 0040d8c4 0040d8cd 0040d8e7 0040d923 0040d7ab 0040d7cd 0040d7f9 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 0 1 0 0 0 B1 2ビットカウンタ方式 大域的な偏り,局所性の利用 2ビットカウンタの状態に応じて予測 予測のためのメモリは2ビット 状態の更新 Taken 2 bit Strongly Taken (11) Taken Untaken Taken Prediction Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 Weakly Untaken (01) B3 B3 0 Untaken Strongly Untaken (00) Untaken 1 BE B2 BE B2 BE B2 0 BE: 0 B2: 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 B3 分岐アドレス(プログラムカウンタ)毎に履歴を切り替える パターン履歴表は2ビットカウンタの配列. 分岐アドレスによりパターン履歴表(PHT)のインデックスを作成 Pattern History Table (PHT) Program Counter 2n entry Taken Strongly Taken (11) Untaken Taken B2 0 B2 Weakly Taken (10) B3 0 BE Taken Untaken Taken n … 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 分岐方向 (成立/不成立) 分岐履歴など の情報 20 0040d6c5 0040d6b8 0040d6bc 0040d6c5 0040d6df 0040d71f 0040d736 0040d7ab 0040d7cd 0040d7f9 0040d81e 0040d7f9 0040d81e 0040d7f9 0040d81e 0040d83d 0040d86d 0040d86d 0040d86d 0040d86d 0040d86d 0040d86d Memory dataflow Memory Register dataflow 分岐先アドレスの予測, Branch Target Buffer (BTB) Operand Operand Fetch Fetch Floating-point Reorder buffer 1 Integer Prediction Weakly Untaken (01) 2 bit Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 Weakly Taken (10) Untaken Taken Untaken Strongly Untaken (00) Untaken Gshare (TR-DEC 1993) 分岐履歴 B3 B3 Not Taken (0) B2 Not Taken (0) Taken (1) B2 B2 B2 B2 1 1 1 0 グローバル分岐履歴と分岐アドレスとの排他的論理和によりパターン履歴表 へのインデックスを作成 パターン履歴表は2ビット飽和型カウンタの配列で,選択された2ビットカウンタの 値により分岐方向を予測(bimodalと同じ) B3 分岐結果を用いて,予測に利用したカウンタを更新 010101000 (シフトレジスタ) B2の分岐履歴 B1 B2 *C = *C + (*A + *B) i++ A++ B++ C++ i<4 False, not taken B3 Branch History Register (BHR) return Weakly Untaken (01) 分岐不成立に偏っているものをUntaken PHTに格納 Prediction Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 予測精度(予測ミス率) 2 bit Pattern History Table 40 8KB hardware budget Prediction SERV-3 SERV-2 Benchmark for CBP(2004) by Intel MRL and IEEE TC uARCH. Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 MM-5 MM-4 MM-3 MM-2 MM-1 INT-5 INT-4 INT-3 0 INT-2 Untaken PHT 5 SERV-1 (d) Bimode Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 Choice PHT 10 FP-5 … Taken PHT Prediction … … XOR 15 INT-1 … Pattern History Table 20 FP-4 XOR Branch History Register Bimode 25 FP-3 (b) Bimodal Gshare 30 FP-1 Branch History Program Counter Register Mispredictions Rate (%) … Prediction Bimodal 35 Prediction (a) 2ビットカウンタ方式 (c) Gshare Untaken PHT Taken PHT Not Taken(0) ここまでの分岐予測器 Choice PHT … … Choice PHT は命令アドレス Taken PHT, Untaken PHT は命令アドレスと分岐履歴 Prediction Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 Program Counter Program Counter XOR インデックスを工夫 Gshare Program Counter Branch History Choice PHT の内容で, どちらのテーブルを利用 するか選択 Taken(1) XOR n 分岐成立に偏っているものをTaken PHTに格納 m n 2n entry … XOR Branch History Register (BHR) Program Counter 偏りを利用して競合の悪影響を緩和 Average PHT Branch History Register (BHR) m Untaken … n Strongly Untaken (00) Untaken Bimode (MICRO 1997) 分岐成立に偏っているもの 分岐不成立に偏っているもの Program Counter Untaken Taken 2 bit FP-2 Prediction Weakly Taken (10) Untaken Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 PHTの競合が発生して性能が低下 PCとBHRによって特定される予測(成立,不成立)には偏りが存在する ので,これらを別のテーブルに格納することで競合の悪影響を緩和 Taken Strongly Taken (11) Taken n True, taken Gshare の改良 Pattern History Table (PHT) 2n entry XOR Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 Taken m n … 1110 ? 11101 ? 111011 ? 1110111 ? 11101110 ? Program Counter i=0 SERV-5 B1 B3 Not Taken (0) SERV-4 Taken(1), Not Taken(0) Benchmark for CBP(2004) by Intel MRL and IEEE TC uARCH 5.5 算術演算などの分岐命令以外の命令を含む数で ある. 5.0 表の3列目(静的分岐)には,各ベンチマークプロ グラムの実行における静的な条件分岐命令の 数を示す. SpecFPでは条件分岐命令の数が1000以下と少 ない,一方,サーバ系のベンチマークでは,静的 な条件分岐命令の数が1万以上と多い. 表の4列目(All-taken)に,全ての条件分岐命令 の実行回数に占める,極端な偏りのある成立分 岐命令の動的な割合を示す. 6.0 表の2列目に,各ベンチマークプログラムの実行 命令数(単位は百万命令)を示す. コンテキストスイッチの影響 表の1列目にベンチマークの名前を示す. Mispredictions Per Kilo Instructions MM-3 の値が最も高く,その割合は35%に達する. また,サーバ系の全てのベンチマークで9%以上と 高い. Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 FP-1の場合には65%,サーバ系の全てのベンチ マークで44%以上と非常に高い. 4.0 3.5 3.0 2.5 1.5 0.5 0.0 8KB Bimode-Plus, WIDE Mispredictions/KI Bimode, WIDE 3.0 2.5 2.0 1.5 1.0 0.5 Hmean twolf bzip2 vortex gap eon parser crafty mcf gcc 0.0 gzip IPC (Retired Instructions Per Cycle) 4.0 Gshare, WIDE 8.0 7.8 7.6 7.4 7.2 7.0 6.8 6.6 6.4 6.2 6.0 5.8 5.6 5.4 5.2 5.0 4.8 SPEC CINT95 Average Gshare.best Bimode.best Bimode-Plus.best 1 10 Hardware budget in kilobytes IPSJ Journal 20005, Kise Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 2レベル分岐予測 他の分岐(ローカルあるいはグローバル)の振る舞いを 利用する分岐予測を2レベル分岐予測,相関を利用する 分岐予測と呼ぶ. Correlating predictor BHR Pattern History Table Pattern History Table XOR XOR BHRs … Two-level predictor PC Program Counter … Prediction Gshare 2レベル分岐予測の構成 100 SWoPP-2003 Kise Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 2レベル分岐予測 64KB IPSJ Journal 20005, Kise 分岐予測精度 (SPEC CINT95の平均) 深い命令パイプライン,大規模な投機処理プロセッサ 3.5 16KB 32KB Hardware Budget Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 分岐予測精度とプロセッサ性能 Gshare, 8M Bimode, 8M Bimode-Plus(Untaken), BHR_NOB, 8M Gshare Bimode Bimode-Plus(Untaken), BHR_NOB 2.0 1.0 表の5列目(All-untkn)に,全ての条件分岐命令 の実行回数に占める,極端な偏りのある不成立 分岐命令全の動的な割合を示す. 4.5 BHR Prediction Pshare Program Counter PC PC Pattern History Table XOR … Gshare Prediction BHRs BHR GAs Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 Prediction Prediction Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 PAs ハイブリッド方式 Alpha 21264 (1998 DEC) 複数の分岐予測の利点 (トーナメント予測) Alpha 21264 多数決(Majority vote)により最終予測を決定 Program Counter Global History Choice Prediction (4,096 x 2 bit) Program Counter ハイブリッド方式 E-gskew (ISCA 1997) BIM … Local Prediction (1,024 x 3 bit) G0 … … … Prediction F2 Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 研究レベルの分岐予測 ここまでの話は商用化されている.または,商用化しよう として設計された例がある. ハードウェア量と分岐履歴の長さ パターン履歴表のハードウェアが支配的 2ビットカウンタのNエントリのテーブル 分岐履歴レジスタのとりうる最大長を n bit とすると G1 Gshare-base Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 ここからは研究レベルの話 … Global Prediction (4,096 x 2 bit) Pshare-base Prediction … F1 Majority vote BHR Program Counter … Local History Table (1,024 x 10bit) N × 2 bit (例えば,32Kエントリで8KB) 2n × 2 bit (例えば,n = 15 で8KB) すぐには実現できないかもしれないが Program Counter Branch History Register Pattern History Table XOR … Prediction (c) Gshare Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 Perceptron (HPCA 2001) パーセプトロン パーセプロロンモデル x1からxnまでのnビットの分岐履歴を入力とする. y を計算する. w は符号付きの整数で表現 y の値がある閾値より高い場合に成立と予測する. 分岐アドレスによりパーセプトロンを選択 グローバル分岐履歴を用いて予測 分岐ミス,|y| < θ の時にトレーニング 8KBのハードウェア量で,34ビットの分岐履歴 Program Counter 1 w0 x1 w1 x2 w2 ... Branch History (x) xn wn … Selected Perceptron y Perceptron Model Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 y Compute y Prediction Table of Perceptrons (w) 計算と更新の作業が複雑 Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 パターンマッチングを用いた分岐予測 パターンマッチングの可能性 マッチングの対象となる分岐履歴の長さ N 予測: 0 or 1? 分岐履歴 1 0 最長一致長 M 最長一致パターン N = 1024 x 1024 (one million) に設定 0 1 M = 16, 32, 64, 128, 256, 512, 1024 に設定 0 最長一致パターン 0 1 0 過去の履歴との最長一致のパターンを見つける. それぞれの最長一致パターンの次に出現する0と1の回数を数え,多い方 を予測値とする. Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 テーブルのエントリ数を非常に大きく設定した Gshare の予測ミス率は4.71 信学会ソサイエティ大会,2005, Kise, Iwata Partial Pattern Matching (CBP 2004) 予測精度(予測ミス率) Table 4 Table 3 Table 2 Table 1 Table 0 20 pc pc h[0:9] pc h[0:19] pc h[0:39] pc h[0:79] 18 8KB hardware budget hash u 3b ctr 8 8 8 bit tag 10 3b ctr u 8 =? 1 8 8 bit tag 10 3b ctr u 8 =? Gshare 1 u 8 =? 1 8 8 bit tag =? 1 1 Bimode hash 1 1 14 PPM 12 10 8 6 4 2 1 Bimodal ISCA 1981 branch history, hash function Gshare TR-DEC 1993 Agree ISCA 1997 Gskew, E-gskew ISCA 1997 Bimodal Gshare Bimode ハイブリッド方式 パーセプトロン パターンマッチング (PPM) PPM CBP 2004 2Bc-gskew TR-INRIA 1999 Bimode YAGS MICRO 1997 MICRO 1998 de-alias Perceptron Fast-Neural HPCA 2001 MICRO 2003 Variable Length Path ASPLOS 1998 table element history length optimization ISCA (International Symposium on Computer Architecture) MICRO (International Symposium on Microarchitecture) PACT (International Conference on Parallel Architectures and Compilation Techniques) ASPLOS (International Conference on Architectural Support for Programming Languages and Operating Systems) Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 2ビットカウンタの配列,プログラムカウンタ グローバル分岐履歴の利用 偏りを用いて表を分離,メタな予測器 複数の予測方式の利用,多数決 パーセプトロンモデル,長い分岐履歴の利用 最長一致パターンの利用 Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 Average SERV-5 SERV-4 SERV-3 SERV-2 MM-5 SERV-1 分岐予測のまとめ hybrid Two-level adaptive MICRO 1991 MM-4 Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 分岐予測のまとめ hash function, hybrid MM-3 Benchmark for CBP(2004) by Intel MRL and IEEE TC uARCH. prediction 0/1 重要な分岐予測の根底にあるアイデアとその構成を解説 Filter BTB, de-alias PACT 1996 MM-2 パターンマッチングを利用する現実的な分岐予測 Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 INT-5 1 MM-1 FP-1 CBP2004プレゼンテーションスライド INT-4 0 1 INT-3 1 hash INT-2 1 hash FP-5 8 bit tag 10 hash INT-1 3b ctr 8 hash FP-4 10 hash Mispredictions Rate (%) hash Bimodal 16 12 3b m ctr 計算時間が莫大 Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 FP-3 FP-2 Prediction 参考書(1),教科書 分岐予測に関する今後の展望 新しい予測方式の開発 参考書 分岐予測の精度の計算機性能 予測精度の向上 投機的な更新 パーセプトロンの実現 高い予測精度,複雑なハードウェア 分岐予測の精度と計算機アーキテクチャ 他の予測への適用 コンピュータアーキテクチャ, 村岡 洋一 著, 近代科学社,1989 計算機システム工学, 富田 真治,村上 和彰 著,昭晃堂,1988 コンピュータハードウヱア, 富田 真治,中島 浩 著,昭晃堂,1995 計算機アーキテクチャ, 橋本 昭洋 著,昭晃堂,1995 教科書 Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 コンピュータの構成と設計 第3版、 パターソン&ヘネシー(成田光彰 訳)、 日経BP社、2006 命令レベル並列処理, 安藤秀樹 コロナ社 Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 参考書(2) アナウンス Computer Architecture, Fourth Edition: A Quantitative Approach, Fourth Edition ISBN-10: 0123704901 ISBN-13: 978-0123704900 11月22日(木)は金曜日授業のため講義はありません. 第 7回 11月29日(木) 12月6日(木)は休講予定 第 8回 12月13日(木) 第 9回 12月20日(木) 第10回 1月10日(木) 講義スライド Publisher: Morgan Kaufmann; 4 edition (September 13, 2006) Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 32 33 www.arch.cs.titech.ac.jp Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 34
© Copyright 2024 ExpyDoc