[3.5] Redução de Atrasos em Desvios (cont.)
3) Prever que o desvio será tomado:
- Eficiente apenas em sistemas onde o alvo do desvio pode ser determinado antes da condição de desvio
- Inútil no caso do DLX (ambas as condições em ID)
4) Utilizar desvio retardado: (delayed-branch)
- N instruções seguintes ao desvio sempre são executadas
- Desvio real ocorre somente após N instruções
- N instruções = branch-delay slot
- Não pode haver outro branch dentro do delay-slot
- Caso mais comum (inclusive DLX): N = 1
- Não há atrasos, independente de haver ou não desvio!