[3.5] Redução de Atrasos em Desvios
1) Paralizar o pipeline: (solução já vista antes)
- Vantagem: simplicidade, em hardware e software
- Desvantagem: Sempre se perde um ciclo por branch
2) Prever que o desvio não será tomado:
- Tratar um branch como outra instrução qualquer
- Se o desvio não for tomado, não há nada a fazer!
- Se o desvio for tomado, deve-se inserir stall no pipeline
- Atraso (um ciclo) ocorre apenas quando o desvio é tomado