4.3 Exécution superscalaire

Les CPU modernes ont plusieurs unités de calcul, qui peuvent effectuer un nombre limité d'instructions en parallèle.

Le matériel examine les instructions pour repérer des opportunités d'optimisation.

Le pipeline :

1
2
3
i = i + 1;
j = j + 1;
a = b * c;

Les branches limitent ces opportunités et les unités d'exécution sont laissées en attente pendant l'évaluation des conditions.

Les CPU essayent toutes sortes d'autres astuces, comme la prédiction de branches, l'exécution spéculative ou autres, dont le compilateur et le CPU s'occupent.