La prévision de branche est une technique utilisée dans l'architecture informatique pour améliorer le flux d'exécution de l'instruction en devinant le résultat d'une branche (comme une décision si-else) avant qu'elle soit connue pour être sûre.

Types de prévision de la branche

Il existe plusieurs méthodes de prédiction des branches, chacune avec différents niveaux de complexité et de précision. Les types les plus courants comprennent la prédiction statique et la prédiction dynamique.

Prédiction statique et dynamique

La prédiction statique repose sur des règles fixes, comme la prédiction toujours qu'une branche sera prise ou non. La prédiction dynamique utilise l'historique matériel pour faire des devinettes plus informées basées sur le comportement passé des branches.

Exemple pratique de prévision dynamique

Considérez un compteur saturant 2 bits utilisé pour la prédiction dynamique de branche. Le compteur peut avoir quatre états: 00, 01, 10, 11. États 00 et 01 prédisent «non pris», tandis que 10 et 11 prédisent «prise».

Si le compteur est à 10 et que la branche est prise, il passe à 11. Si la branche n'est pas prise, il passe à 01. Ce système aide à améliorer la précision de prédiction au fil du temps.

Calcul de l'exactitude de la prévision

La précision de la prévision peut être mesurée par le pourcentage de prévisions correctes par rapport aux prévisions totales. Par exemple, si sur 100 branches, 90 sont prédites correctement, la précision est de 90 %.

  • Prévisions correctes: 90
  • Prévisions totales: 100
  • Précision = (Correct / Total) × 100 = 90 %