Previsão de desvio
CPUs modernas adivinham qual ramo de um if será tomado e começam a executá-lo especulativamente. Se a previsão falhar, o trabalho é descartado.
Pipelines com mais de 15 estágios precisam continuar trabalhando mesmo quando instruções de desvio ficam paradas esperando a condição. Um erro de previsão custa de 15 a 20 ciclos. Preditores: contador saturante de 2 bits, preditor de torneio, perceptron neural (AMD Zen). Código sem desvios (branchless, via cmov, manipulação de bits) evita os desvios por completo — mais rápido quando o preditor lida mal com os dados. O ataque Spectre (2018) explorou a execução especulativa para vazar dados através de efeitos colaterais no cache.