• 検索結果がありません。

Tri-Mode分岐予測器の提案

N/A
N/A
Protected

Academic year: 2021

シェア "Tri-Mode分岐予測器の提案"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)2005−ARC−162 (5) 2005−HPC−101 (5)     2005/3/7.   社団法人 情報処理学会 研究報告   IPSJ SIG Technical Report.  分岐予測器の提案 斎. 藤. 史. 子Ý. 山. 名. 早. 人ÝÝ. 命令間の制御依存によってパイプライン処理を滞らせないために,近年のプロセッサでは分岐予測 が採用されている.分岐予測は,未解決の分岐命令を超えた実行(投機的実行)を可能とする.一方, 近年の命令パイプライン長の深化により,分岐ミスペナルティが増大している.そのため,分岐予測 ミス率の低減はプロセッサの性能向上において不可避の課題となっている. 現在までさまざまな分岐予測器が提案されてきた.なかでも,複数の予測表で構成されたハイブリッ ド分岐予測器は高精度な予測器として知られている.代表的なハイブリッド予測器には,分岐命令の 偏向に応じて予測表を使い分ける  分岐予測器がある.  分岐予測器では, .

(2) が分岐命令の偏向を判断し,偏向に応じて採用する  

(3) 

(4) 

(5) 

(6)  を決定する.本稿では, 

(7) が  分岐 

(8) 

(9)  と判断した場合 に,分岐命令に偏向がないことに着目した.そこで, 分岐を予測するための予測表 .

(10)  を追加し,  

(11) では  

(12) が  分岐 

(13) 

(14)  と判断する分岐のみを扱うことを提案する.本稿では,

(15) を追加した  予測器 を

(16)  分岐予測器と呼ぶ.  ベンチマークの実験において, !" 容量の分岐 予測器では,

(17) #$$ 参照手法を適用した

(18)  予測器が,従来の  予測器と比 較して平均 !%&'(の予測ミス削減率を示した..    

(19)      Ý. .   

(20) ÝÝ.

(21)  )  *  $ $     * $$  + $ **%   *  $    $* ,+ - ,   * % .    /  * ** $/   )  #$$ *  *  $%

(22) ,$/ )  #$$ *   #,$ 0  $ * $$ *# % 1 / # +,$ )  * $ + ) **$% ) )  * $ #*$  #,* * $ )$ 

(23)  $0  $  ,  # #%

(24)   )  *  $  #$ #,$   ) )  * $% 2    * /   

(25) 3,$  )  )$  $ $   

(26) 

(27)   

(28) 

(29) %

(30) $ **  ,$$     $ 0    

(31) 3,$ 

(32)   

(33)  4 +  )  )$% .   +   )  5,     

(34) $/ 0 **$ 6

(35)  )  * 6   

(36) *    ) $% 2  !"

(37)  * /  )  #$$ ,   #   *  $0$ + !%&'(     *,$ ) # $#,%  はじめに 命令間の制御依存によってパイプライン処理を滞ら せないために,近年のプロセッサでは分岐予測が採用 されている.分岐予測は,未解決の分岐命令を超えた. り分岐ミスペナルティが増大する.すなわち,近年の. ∼ 段,さらには,今後の命令パイプライン長の 深化したプロセッサを性能向上させるためには,分岐 予測ミス率の低減が必要不可欠となっている. 現在までさまざまな分岐予測器が提案されてきた.. 実行(投機的実行)を可能とする.しかし,分岐予測. なかでも,複数の予測表で構成されたハイブリッド分. ミス率が等しくても,命令パイプライン長の深化によ. 岐予測器は高精度な予測器として知られている.代 表的なハイブリッド予測器には,分岐命令の偏向に. Ý 早稲田大学大学院理工学研究科.  .

(38)          . ÝÝ 早稲田大学理工学術院.          . 応じて予測表を使い分ける  分岐予測器があ る. 予測器は,分岐偏向ごとの予測表

(39) .   

(40)    とどちらの予測表を採用する かを決定する   から構成される.. −25−.

(41)  は,分岐命令ごとの成立・不成立に応じてカウ ンタ状態を遷移させる.そして,分岐命令の分岐傾向.

(42) 

(43)  に応じて予測表を選択する.  予測器では,分岐傾向ごとに予測表を分けるこ とによって,予測表競合を減少させ,予測精度を向上 させた.予測表競合とは,異なる分岐が同一の予測表 エントリに割振られる現象である..  予 測 器 で は ,  が 分 岐 命 令の偏向を判断し,偏向に応じて採用する  .  

(44) 

(45)    を決定する.本 稿 で は ,  が 

(46)  分 岐 

(47) .

(48) 

(49)  と判断した場合に,分岐命令に偏向 がないことに着目した.そこで,

(50)  分岐を予測す るための予測表 

(51)    を追加し,   では   が  分岐 

(52) 

(53)  と判断する分岐のみを扱うことを 提案する.これによって,   における 偏向のある  分岐と偏向のない 

(54)  分岐. 図.    分岐予測器. 合という現象を緩和できる.ここでは,分岐偏向に着 目したハイブリッド予測器である  予測器 を紹介する..  予測器. 予測器は,分岐命令アドレスごとに飽和カウンタを用.  予測器は, つの予測表  ( 

(55)   %

(56) &  で構成される(図 ).) つめの予測 表は分岐偏向を判断し,  と呼ばれる.残 る つの予測表は,   と呼ばれ,各々, 異なる偏向の分岐を対象に予測する.

(57)  偏向分岐 を対象とする予測表は,

(58)   ,

(59)  偏 向分岐を対象とする予測表は,

(60)   と呼 ばれる. 予測器では,  の予測 結果に基づいて,

(61) 

(62)   のどちらを 採用するか決定する.基本的な  予測器は,   に分岐命令ごとに過去数回の分岐傾向が 判る #

(63)  予測器,   に履歴を利用 した高精度な $%

(64)  予測器で構成される. 吉瀬らは, 予測器にさらに改良を加えた . 分岐命令ごとに 

(65)  強偏向を判断するカウンタ を用意し,

(66)  偏向分岐を予測器の予測対象外 とした.さらに,  で弱偏向(

(67)  分 岐)と判断される分岐に対して,  を含む 全  の予測の多数決に基づいて予測する.これに よって,*+ 容量において,従来の  予測器 と比較して予測ミス率は平均 ," -低減した.これは,  予測器の予測ミス率のうち ) ,.-を削減し. ($&

(68)  分岐履歴 ' 分 意する.$%

(69)  予測器は,. たことになる.. との競合を回避し,予測精度向上を図る.本稿では,. 

(70)   を追加した  予測器を  分岐予測器と呼ぶ. 本稿の構成を次に示す. 節は,基本的な分岐方向 予測器の構成と関連研究, 節は,  の分 岐偏向判断の信頼度, 節は,  分岐予測器 の提案,! 節は,実験結果について述べる." 節はま とめである..  分岐方向予測器 分岐方向予測器は,単一の予測表で構成される単体 予測器と複数の予測表で構成されるハイブリッド予測 器に分類できる.予測表は,分岐命令アドレスや分岐 履歴に関連付けられた飽和カウンタの表である. 以降,代表的な分岐方向予測器の構成について説明 する..  単体予測器 単体予測器は,ハイブリッド予測器の構成要素にな る.ここでは,基本的な予測器である #

(71)  予測. 器  と $%

(72)  予測器 について説明する.#

(73) . 岐命令アドレス)ごとに飽和カウンタを用意する.. . ハイブリッド予測器. ハイブリッド予測器は,複数の予測表から予測を採 用するひとつの予測表を選択する.これによって,異 なる分岐命令同士に予測表のエントリが共有される競.  

(74) の偏向判断信頼度  分岐予測器では,

(75)  偏向分岐,

(76)  偏向分岐ごとに予測表を用意し,すべての条件 分岐を

(77)  偏向,もしくは,

(78)  偏向に振り. −26−.

(79) 図. .   飽和カウンタの状態遷移図. 分ける.しかし,すべての条件分岐に偏向があるわけ ではない .そのため,偏向のない分岐が偏向のある 分岐と同一の予測表に振り分けられ,競合を起こすこ とによって悪影響を与える可能性がある. 以降,  における分岐偏向の判断が正確 であるかを確認する. 図.  予測カウンタ状態の説明. . 予測表は,複数の飽和カウンタ(予測カウンタ).    における予測カウンタ状態の割合と偏向判断 一致率 !". の集まりであり,予測カウンタの状態に応じて予測. 断一致率である.偏向判断一致率は,  の. に & 飽和カウンタの状態遷移を示す. & 飽和カウンタは,

(80)  と予測される 状態. 

(81) 

(82)  と 

(83)  と予測され る 状態 

(84)  

(85)  からなる.. 偏向判断と実際の分岐結果が一致した割合(/各状態. する.図. また,予測表エントリに割振られる分岐パターンに の場合偏向のあるパターン,

(86)  状態 

(87) . は,

(88)  状態に遷移することから,

(89)  状態の 分岐は前回の予測が失敗している.本稿では,予測カ.

(90) . 分岐,予測カウンタが 

(91)  状態である動的分岐を.   分岐と呼ぶことにする. 次節で,各予測(

(92) 

(93) )状態の  

(94)  分岐の傾向を調べる. 予測カウンタ状態ごとの傾向.

(95)  分岐 り(表. 断できる.さらに,分岐ミスすると予測カウンタ状態.  予測器は,各偏向

(96) 

(97)  に 応じた予測表を採用する.  の予測カウン タ状態が 

(98) 

(99)  の場合は

(100)  偏 向,

(101)  

(102)  の場合は 

(103) . 

(104)  の場合は分岐が 

(105)  である割合を示.  分岐の占める割合は .!,!/∼/ ,*-であ ),大多数の分岐は  分岐である. また,偏向判断一致率は,

(106)  状態で *, .∼/",) -, 

(107)  状態で .., "∼ **, *-であり(図 ),  の偏向判断は正 しいと言える. 

(108)  状態の偏向判断一 致率が 

(109)  状態よりも小さいのは,  #%% 参照手法 によって,常に 

(110)  であ.

(111) 

(112)  の場合偏向のないパターンとも判. . の場合は分岐が

(113)  である割合,

(114)  している.. 対して, 状態(

(115) 

(116) ). ウンタが  状態である動的分岐を. の分岐数)を表す.つまり,

(117) 

(118) . る分岐が除外されているためである..   分岐 

(119)  分岐の占 める割 合は ", ∼ ,)-で あ り(表 )) ,

(120)  分岐は比較的少ない.また, 偏向判断一致率は,

(121) 

(122)  状態で ".,*∼. 偏向と判断される.ここでは,各々の状態に実際に偏. * , )-,

(123)  

(124)  状態で ! , ∼.*,!-で ある(図 ).プログラムによっては

(125)  に分岐す る場合と 

(126)  に分岐する場合が半々であるた. 向があるのかを確かめる.以降,  #%% 参照. め,片方向に偏向していると判断しがたい状況になっ. 手法 を適用した +   #

(127)  予測. ている.. 器 の結果を示すが,,!+ *+ でも同様の傾向を 以上から, 分岐は強偏向分岐,

(128)  分. 示した. 本稿では,偏向のあるパターンが割振られていると 判断できる  分岐と偏向のないパターンが割振 られていると判断できる 

(129)  分岐に着目した.図. に   における予測カウンタ状態の割合と偏 向判断一致率を示す.図. に示される数字は,偏向判. 岐は弱偏向分岐であることが判った.. 

(130)  分岐予測器の提案 前節の各予測カウンタ状態の分岐傾向の解析から,.   の偏向判定のうち 

(131)  分岐には偏向. −27−.

(132)   #$  分岐の占める割合 !" 7% !8%#''$# !9% !% #*$$ :7% :!%3* 8"  

(133) ( # 予測器) &% :%'7 '8%!' '%: '%8& ''%& !8%8 9%!7 %&! 8%8& 8%: %!

(134) #$$ 参照手法 を適用. 表. 分岐の種類.  分岐  分岐. があると言えないことが判った.そこで,   において,偏向のある  分岐と偏向のな い 

(135)  分岐の競合を回避した  予測器を 提案する..   分岐予測器 偏向のない 

(136)  分岐が    に登録さ れることで, 分岐の予測に悪影響を与える可 能性がある.そこで, 分岐予測器に 

(137)  分岐を対象とする予測表 

(138)    を新たに追 加する(図 ).また,

(139)   で扱う分岐は弱 偏向のため,従来の & 飽和カウンタよりも 0

(140)  な分岐パターンを細かく解析する & 飽和カウンタ で予測できる可能性がある.. 図.    分岐予測器. . 次に,  予測器の予測方式について説明す る.  予測器では, 予測器と同様に,. 表.   の予測カウンタ状態に応じて採用する予 測表を決定する.以下に,  の予測カウン. プログラム. 7% !8%#''$# !9% !% #*$$ :7% :!%3*. タ状態と採用する予測表を示す..   の予測カウンタが

(141)    状態を示す場合.

(142)   を採用する..   の予測カウンタが     

(143)   状態を示す場合. . ベンチマーク. 入力. %&'' 万命令(. 7 ! ,% % +$#% )$% ;%$* +%**#. 全命令. :/8 8 &/&79 !97 8/9:9 9/:' :7/&7'. 条件分岐. 8 /& !/:' : /&! '/&8 /'87. した.. 

(144)   を採用する.. シミュレーション対象とした予測器の構成は, .   の予測カウンタが

(145)  

(146)    状態を示す場合. は, 6

(147)  % 

(148) %%

(149) 7 !) エントリ,分岐方向予 測器については,表 に示す.表 中の   #%%. 参照手法 とは,   の場合のみ分岐方向予測器. 

(150)   を採用する. 予測器の更新についても, 予測器と同様 に,分岐履歴は常時更新し, は予測を採用した. を利用し,  #%% の場合は 

(151)  と予測する. 場合のみ更新する.. ),!+ ) + + を実験対象にした.. 方法である.分岐方向予測器のハードウェア容量は,. .  分岐予測器の性能比較. 実験結果. 提案手法適用が予測精度に与える効果を示す..   予測ミス率. 本節では,シミュレーション環境と提案した分岐予.   #%% 参照手法 の適用によって,従来 の  予測器に対する平均予測ミス削減率は, ),!+ 容量で ,/-,) + 容量で ), -, + 容 量で ,*"-を示す(表 ). 予測器に対する 予測ミス削減率とは, 予測器の予測ミス率の うち改善できた割合(低下予測ミス率/  予. 測器の分岐予測精度を示す..  実 験 環 境 シミュレータは,#1 

(152) 

(153)  ,23 %# &1  ,ベンチマークは,4/!( 5 入力) (表 )から分岐予測ミス率の高いプログラムを採用 した.コンパイラは,23 用の  ,., , を利用. . −28−.

(154) 表. 予測器の種類. .

(155) !

(156) : >

(157). . 分岐方向予測器の構成. 構成.  

(158) <

(159) 

(160) < 

(161) 

(162) = < < の容量比.  

(163) <

(164) <

(165) .

(166) <

(167) 

(168) = < <!<! の 容量比..

(169) ! の 

(170) を :) 飽和カウンタに変更.

(171) #$$ 参照手法 を適用.. 測器の予測ミス率)である. さらに,

(172)   に & 飽和カウンタを採用し. 図. .    分岐の予測ミス率 !". 図. . $  分岐の予測ミス率 !". た  予測器は,  #%% 参照手法 と 比較して,) + 容量では, で ,) -予測ミス率が 増加してしまったが, 以外のプログラムでは,, ∼,!!-予測ミス率が低下した.従来の  予 測器に対する平均予測ミス率削減率は,),!+ 容量で. ,* -,) + 容量で ,.*-, + 容量で ,. -を. 示した. 以降,各予測器に対して,提案手法適用による予測 精度変動の要因を解析する..  . 予測精度に与える影響の解析. 本手法を適用した場合の予測精度向上/低下の要因. べるために, と  の 

(173)  分岐. を適用した予測器ごとに調べる.以降,すべてのデー タは,  #%% 参照手法. . 予測ミス率(/ 

(174)  分岐数)を比較する(図 ).. を適用している.ま. た,多くの文献で実験されている ) + 容量のハイブ.  予測器では,偏向のある  分岐が. 比較の結果,#** %# #1 %% では予測ミス率が ,)/∼,/.-低下し,それら以外のプログラムでは予測 ミス率が , !∼ ,.-増加した.#** %# #1 %%. 偏向のない 

(175)  分岐の影響を受けないように,予. の予測ミス率低下は,強偏向の分岐の影響を受けな. 測表を分割した.そこで, 分岐と 

(176)  分. くなったためと考えられる.それら以外のプログラム. 岐の予測精度から予測精度向上/低下の要因を考察す. の予測ミス率増加は,弱偏向分岐は予測カウンタの. る.また,

(177)   に & 飽和カウンタを採用. 

(178)  状態を頻繁に遷移するため, つの 

(179)  状態 

(180) 

(181) 

(182)  しかもたない &. リッド予測器のデータを示す.. した場合の効果についても解析する..

(183)  分岐の予測精度. 飽和カウンタでは充分な学習ができなかったためと考. 提案手法適用の効果を調べるために, と. えられる..  の  分岐の予測ミス率(/  分岐数)を示す(図 ).    で は    の構成が共通のため,    のデータは  としてまとめて表す. 比較の結果,#** %# では ,-予測ミス率が増 加したが,  81  では予測ミス率が ,.∼ ), "-低下した.#1 %%  の予測ミス率は殆ど変 動しなかった.このことから,

(184)  分岐が  分岐と同じ予測表を利用することによって,. そこで,

(185)   に & 飽和カウンタを採用 した効果を調べるために,  と  の 

(186)  分岐予測ミス率を比較する(図 ").比較 の結果, 以外のプログラムで予測ミス率が , * ∼), .-低下し, では予測ミス率が ), -増加し た.さらに, と  の比較の結果,  では予測ミス率が増加していた  81  で , !∼,! -予測ミス率が低下した.このことから, 

(187)   に & 飽和カウンタを採用することに よって,

(188)  状態を頻繁に遷移する弱偏向分岐が. 分岐の予測精度を低下させていたことが判る..   分岐の予測精度. 予測可能になったことが判る.. 提案手法の適用が 

(189)  分岐に及ぼした効果を調. !. −29−.

(190) 表. 予測器(表. : 参照). 7%. !8%#''$#. . !" !% #*$$. 分岐方向予測ミス率. !9% %" 7%8. 容量.  >

(191) 

(192) !

(193) :. !:%8:. :%:'. !!%&7 !!%' !:%79. :%!' :%!9 :%!8.  >

(194) 

(195) !

(196) :. '%7. :%77. '%79 &%& &%. !%9 !%8 !%!.  >

(197) 

(198) !

(199) :. %'7. !%9. % %87 % 7. !%: 9%!: !% 9% ! !%'' 9%!:

(200) : は %". %78 %7: %  !" 9%'8. 容量. 9%&& 9%&8 9%' !8" 9% . 容量. :7%. :!%3*. 平均. 削減率 ?平均@. %. 8%9. %7. 7%7'. A. % %7& '%!. 8% 8%7 8%8:. %8 %88 %:. %9' %& %9. :%8 :%98 :%':. '%89. :%. '%8. '%!. A. '%89 '%88 '%:7. :%8& :%! :%88. '%: '%7 '%'!. '% '%7 &%'. %!! %'' !%&'. '%79. :%8:. '%'. &%8. A. '%79 :%: '%7 :%8 &%! :%:: では %9!" , !". '%&8 &%8' '%': &%8& '%&8 &%:& では :" ,!8". 7%'9 7% !%:! では.!9" .. 数字 は,各構成で最も低い予測ミス率,もしくは,最も高い予測ミス削減率を示す.. る予測精度低下は #** %# 以外のプログラムでは認.  予測器   が最も高い予測精度を示し た.これは, では,   の予測精度向 上よりも,

(201)   の予測精度低下による影響. められず,殆どのプログラムで予測精度が向上した.. が大きかったためである.. 以上,

(202)   の追加による影響を確かめた..    で  分岐のみを扱うことによ. また,

(203)  分岐のみを対象とする  ( & 飽和. 謝辞 本研究の一部は,21世紀 94 プログラム 「プロダクティブ 2 アカデミア」によるものである.. カウンタ)を用意することによって,多くのプログラ ムで予測精度が向上した.ただし, では,. 参 考. 分岐の予測精度は向上したが,

(204)  分岐の予測精 度が大幅に低下したため,  の予測精度が最 も高くなっている..  お わ り に  分岐予測器の   が 

(205)  分 岐と判断した場合に分岐偏向がないことに着目し,.  予測器に 

(206)  分岐用の予測表 

(207)    を追加した  分岐予測器提案した. 

(208)   の追加によって,   にお いて,偏向のある  分岐と偏向のない 

(209)  分岐の競合を回避できる.. 4/!  5 ベ ン チ マ ー ク の 実 験 に おい て , ) + 容量の分岐予測器では,  #%% 参照手 法 を適用した  予測器   が,従 来の  予測器と比較して平均 ,.*-の予測ミ ス削減率を示した.殆どのプログラムで & 飽和カ ウンタを 

(210)   に採用した  予測器.   が最も高い予測精度を示したが, で は & 飽和カウンタを 

(211)   に採用した . 文. 献. ) # :, 4,( 3 ; 5 

(212)    

(213)   %   

(214)  11, ) !<)*. )/*),  =

(215)  ,( #& &

(216)  1 % 

(217)  > 1  " 

(218)   %  >  %

(219)  0

(220) &

(221)  )// ,  0  , ,   2, +,

(222)  ;  , ,(   

(223)         11, <) )//.,  吉瀬 片桐ほか( 極端な偏りを利用する   ??分岐予測器の提案 情処研報 ! 3>)") 11, !.<" !, ! 

(224) ;% , 

(225)   ,

(226)  =

(227)  % ,( 

(228)  

(229) % >

(230)  ( 3  6   5 2# 17  

(231)  

(232) %%@

(233)  3

(234) %%     

(235)  11, )< ! , " 斎藤 山名(   のエントリ有無を参照した分 岐予測器 情処 3 論文誌 A, ! , 2$ )) 3 . 11, .)<./ , . ;  ,

(236)  3;% , ,(  # 1 

(237) 

(238)     A % , 

(239)    1 )//.,. "4. −30−.

(240)

図   飽和カウンタの状態遷移図 分ける.しかし,すべての条件分岐に偏向があるわけ ではない  .そのため,偏向のない分岐が偏向のある 分岐と同一の予測表に振り分けられ,競合を起こすこ とによって悪影響を与える可能性がある. 以降,  における分岐偏向の判断が正確 であるかを確認する.  予測カウンタ状態の説明 予測表は,複数の飽和カウンタ(予測カウンタ) の集まりであり,予測カウンタの状態に応じて予測 する.図 に  &amp; 飽和カウンタの状態遷移を示す.  &amp; 飽和カウンタは,  と予測され
表  分岐方向予測器の構成 予測器の種類 構成  &lt; &lt;   = &lt; &lt;  の容量比. ! &lt; &lt; &lt;  = &lt; &lt;!&lt;! の 容量比. : ! の   を :) 飽和カウンタに変更. &gt;   #$$ 参照手法  を適用. 測器の予測ミス率)である. さらに,  に &amp; 飽和カウンタを採用し た 予測器は,  #%% 参照手法  と 比較して, ) + 容量では,  で ,) - 予測ミス率が 増加してしまったが,  以外のプログラム
表  分岐方向予測ミス率  !&#34; 予測器(表 : 参照) 7%  !8%#''$#  !9%    !% #*$$  :7%  :!%3* 平均 削減率 ? 平均 @  %&#34; 容量  !:%8: :%:'  7%8 %   8%9 %7  7%7' A &gt;   !!%&amp;7 :%!' %78 %   8%  %8 %9' :%8 ! !!%' :%!9 %7: %7&amp; 8%7 %88 %&amp;  :%98 : !:%79 :%!8 %  '%! 8%8: %: %9

参照

関連したドキュメント

自閉症の人達は、「~かもしれ ない 」という予測を立てて行動 することが難しく、これから起 こる事も予測出来ず 不安で混乱

統制の意図がない 確信と十分に練られた計画によっ (逆に十分に統制の取れた犯 て性犯罪に至る 行をする)... 低リスク

   騒音:伝播 ぱ

町の中心にある「田中 さん家」は、自分の家 のように、料理をした り、畑を作ったり、時 にはのんびり寝てみた

行ない難いことを当然予想している制度であり︑

3.8   ブラベンダービスコグラフィー   ブラベンダービスコグラフを用い、乾燥した試料を 450ml の水で測 定容器に流し込み、液温が

自分ではおかしいと思って も、「自分の体は汚れてい るのではないか」「ひどい ことを周りの人にしたので

2011 年度予算案について、難病の研究予算 100 億円を維持したの