Léxico de TI › Hardware › Risco de controle

Risco de controle

Hardware Svenska → Atualizado: 2026-09-28

Quando o pipeline não sabe qual instrução buscar em seguida porque o resultado de um desvio (um branch) ainda não foi decidido. O salto pode ser tomado ou não — e até isso ser resolvido, a CPU não sabe de onde continuar buscando.

Problema: um pipeline profundo busca novas instruções a cada ciclo, mas um desvio condicional (um if, um loop) só é resolvido vários estágios depois. Esperar pela resposta criaria uma bolha enorme a cada desvio — e código é cheio de desvios (a cada 5 ou 10 instruções, em média). Solução: predição de desvio — chutar o resultado e buscar especulativamente pelo caminho adivinhado. Se o preditor acerta (o que acontece em mais de 95% das vezes nas CPUs modernas), o pipeline flui sem interrupção; se erra, todas as instruções buscadas especulativamente precisam ser descartadas (um "branch misprediction flush" — tipicamente 15 a 20 ciclos desperdiçados). É por isso que a predição de desvio é tão crucial para o desempenho, e por que desvios imprevisíveis (ifs sensíveis aos dados) custam caro. Um dos três tipos de hazard. Relacionado a pipeline stall e predição de desvio.

← Voltar ao léxico