ブランチングが正しく(x86)分かっていると、プロセッサは時には推測的にコードパスをとり、命令を実行し、間違ったパスの結果を 'キャンセル'します。間違ったコードパスの操作がキャッシュミスや高価な数学演算の原因となるメモリ読み込みのように非常に高価な場合はどうでしょうか?プロセッサが先に高価なものを実行しようとしますか?プロセッサーはこれをどのように扱いますか? if (likely) {
私はコンピュータアーキテクチャに関する本を読んでいます。この章では、分岐予測について説明します。 私はそれの周りに私の頭を包み込むのに苦労しているこの小さな練習があります。 ループ for (j = 0; j < 2; j++)
{
for (i = 10; i > 0; i = i-1)
x[i] = x[i] + s
}
ための内部以下------->内部ループ検