3

実行中のプログラムが繰り返し命令を最適化するために使用される確率データを生成すると言われました。
たとえば、if-then-else制御構造がTRUEで8/10倍評価され、次にif-then-else文が評価されるときに、条件が80% TRUEになります。この統計は、結果がTRUEであると仮定して、レジスタに適切なデータをロードするようにハードウェアに促すために使用されます。その目的はプロセスをスピードアップすることです。文がTRUEと評価されると、データはすでに適切なレジスタにロードされています。ステートメントがFALSEと評価された場合、他のデータがロードされ、「可能性が高い」と判断されたものに単純に書き込まれます。
私は、確率計算が改善しようとしている意思決定のパフォーマンスコストをどう見積もっていないかを理解するのに苦労しています。これは本当に起こることですか?それはハードウェアレベルで起こりますか?この名前はありますか? 私はそのトピックに関する情報を見つけることができます。実行中のプログラムの動的最適化

答えて

4

これが行われます。これは分岐予測と呼ばれています。コストは重要ではありませんが、でもであるため、専用ハードウェアで処理されるため、ほとんどの場合余分な回路が必要です。コードの実行には影響しません。

つまり、実際のコストは失われた機会の1つになります。つまり、他の目的でこの量の回路を使用していたCPUを設計する方法が他にもある場合です。私の直ちに推測するのは、答えは通常ブランチ予測ではないと一般的にはであり、投資回収率に関してはかなりです。

+0

分岐予測。ああ、ありがとう。 –

関連する問題