投機実行
条件の結果など、コードがどちらへ進むかをCPUが先読みし、確定する前に命令の実行を始めること。当たれば時間が節約でき、外れれば結果は破棄される。現代のCPUの速さを支える最重要技術の一つであり、Spectre/Meltdownの根源でもある。
理由は単純で、条件の結果やメモリからのデータを待てばパイプラインが止まってしまうからだ。そこで分岐予測器が最も可能性の高い経路を予測し、CPUはそのまま投機的に先へ進む。外れたら、何事もなかったかのように状態を巻き戻す。利点は、深いパイプラインを満たし続けられ、スループットが大きく向上することだ。欠点は、アーキテクチャ上の状態は巻き戻されても投機の痕跡がキャッシュに残り、サイドチャネル攻撃(2018年のSpectre、Meltdown)でタイミングから秘密を読み取れてしまうことである。緩和策には性能低下が伴い、研究の大きな波を生んだ。アウトオブオーダー実行や分岐予測と関連が深い。