24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

p ─ 分岐予測 (Branch Predict) 書式 : brp.ipwh.ih target 25 , tag 13 ip_relative_form B6 brp.indwh.ih b 2 , tag 13 indirect_form B7 brp.ret.indwh.ih b 2 , tag 13 return_form, indirect_form B7 説明 : この命令を使用して、 将来の分岐に関する情報を前も ってハー ド ウ ェアに与える こ と が で き る。 こ の命令は、 パ フ ォ ー マン ス上の効果以外は nop 命令 と して動作するため、 アーキテ クチャ上のマシン状態に影響を与えない。 tag13 オペラ ン ド は、 アセンブ リ 内で、 こ の予測情報が適用 さ れる分岐命令のア ド レ ス を 指定する。 この命令を含むバン ド ルから予測される分岐を含むバン ド ルまでの変位を計 算し、 符号付き即値 (timm9 ) と して分岐予測命令内にエン コ ー ド さ れる (timm9 = tag13 - IP >> 4)。 target25 オペラン ド は、 アセンブ リ内で、 予測される分岐の分岐先のラベルを指定する。 分岐命令の場合 と 全 く 同じ よ う に、 こ の命令を含むバン ド ルか ら 分岐先バン ド ル ま での 変位を計算し、 符号付き即値 (imm21 ) と して分岐予測命令内にエン コ ー ド さ れる (imm21 = target25 - IP >> 4)。 indirect_form を使用して、 間接分岐を予測で き る。 indirect_form では、 予測 さ れる分岐の タ ー ゲ ッ ト は、 BR b2 で指定される。 return_form を使用して、 予測される分岐がリ ターンであるこ とを指示できる。 予測 さ れる分岐について、 その他の ヒ ン ト を指定で き る。 各種の ヒ ン ト ・ コ ンプ リ ー タ の値を以下の表に示す。 詳細は、 第 1 巻、 第 1 部の 4.5.2 項 「分岐予測 ヒ ン ト 」 を参照の こと。 ipwh および indwh コ ンプ リ ー タ は、 分岐条件の最 も 良い予測方法 と 、 分岐に到達す る時 間に関する情報を指定する。 表 2-11. IP 相対分岐有無予測ヒント ipwh コンプリータ IP 相対分岐有無予測ヒント sptk 予測される分岐は、「静的に処理」で予測される。 loop 予測される分岐は、br.cloop、br.ctop、または br.wtop である。 exit 予測される分岐は、br.cexit または br.wexit である。 dptk 予測される分岐は、「動的」に予測される。 表 2-12. 間接分岐有無予測ヒント indwh コンプリータ 間接分岐有無予測ヒント sptk 予測される分岐は、「静的に処理」で予測される。 dptk 予測される分岐は、「動的」に予測される。 ih コンプリータを使用して、 少数の非常に重要な分岐( 例えば、 内側ル ー プの分岐 ) を マ ー ク で き る。 これに よ っ て、 重要な分岐に対して、 高速で小 さ い予測構造を使用す る よ う に、 ハー ド ウ ェアに通知でき る。 表 2-13. 重要度ヒント ih コンプリータ 分岐重要度予測ヒント none 重要度が低い imp 重要度が高い 3:28 第 3 巻 : 命令リファレンス brp

p 操作 : tmp_tag = IP + sign_ext((timm 9

p ─ 分岐予測 (Branch Predict)<br />

書式 : brp.ipwh.ih target 25 , tag 13 ip_relative_form B6<br />

brp.indwh.ih b 2 , tag 13 indirect_form B7<br />

brp.ret.indwh.ih b 2 , tag 13 return_form, indirect_form B7<br />

説明 : この命令を使用して、 将来の分岐に関する情報を前も ってハー ド ウ ェアに与える こ と が<br />

で き る。 こ の命令は、 パ フ ォ ー マン ス上の効果以外は nop 命令 と して動作するため、<br />

アーキテ クチャ上のマシン状態に影響を与えない。<br />

tag13 オペラ ン ド は、 アセンブ リ 内で、 こ の予測情報が適用 さ れる分岐命令のア ド レ ス を<br />

指定する。 この命令を含むバン ド ルから予測される分岐を含むバン ド ルまでの変位を計<br />

算し、 符号付き即値 (timm9 ) と して分岐予測命令内にエン コ ー ド さ れる (timm9 = tag13 - IP<br />

>> 4)。<br />

target25 オペラン ド は、 アセンブ リ内で、 予測される分岐の分岐先のラベルを指定する。<br />

分岐命令の場合 と 全 く 同じ よ う に、 こ の命令を含むバン ド ルか ら 分岐先バン ド ル ま での<br />

変位を計算し、 符号付き即値 (imm21 ) と して分岐予測命令内にエン コ ー ド さ れる (imm21 =<br />

target25 - IP >> 4)。 indirect_form を使用して、 間接分岐を予測で き る。 indirect_form では、<br />

予測 さ れる分岐の タ ー ゲ ッ ト は、 BR b2 で指定される。<br />

return_form を使用して、 予測される分岐がリ ターンであるこ とを指示できる。<br />

予測 さ れる分岐について、 その他の ヒ ン ト を指定で き る。 各種の ヒ ン ト ・ コ ンプ リ ー タ<br />

の値を以下の表に示す。 詳細は、 第 1 巻、 第 1 部の 4.5.2 項 「分岐予測 ヒ ン ト 」 を参照の<br />

こと。<br />

ipwh および indwh コ ンプ リ ー タ は、 分岐条件の最 も 良い予測方法 と 、 分岐に到達す る時<br />

間に関する情報を指定する。<br />

表 2-11. IP 相対分岐有無予測ヒント<br />

ipwh コンプリータ IP 相対分岐有無予測ヒント<br />

sptk 予測される分岐は、「静的に処理」で予測される。<br />

loop 予測される分岐は、br.cloop、br.ctop、または br.wtop である。<br />

exit 予測される分岐は、br.cexit または br.wexit である。<br />

dptk 予測される分岐は、「動的」に予測される。<br />

表 2-12. 間接分岐有無予測ヒント<br />

indwh コンプリータ 間接分岐有無予測ヒント<br />

sptk 予測される分岐は、「静的に処理」で予測される。<br />

dptk 予測される分岐は、「動的」に予測される。<br />

ih コンプリータを使用して、 少数の非常に重要な分岐( 例えば、 内側ル ー プの分岐 ) を<br />

マ ー ク で き る。 これに よ っ て、 重要な分岐に対して、 高速で小 さ い予測構造を使用す る<br />

よ う に、 ハー ド ウ ェアに通知でき る。<br />

表 2-13. 重要度ヒント<br />

ih コンプリータ 分岐重要度予測ヒント<br />

none 重要度が低い<br />

imp 重要度が高い<br />

3:28 第 3 巻 : 命令リファレンス<br />

brp

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!