Prédiction de branchement
Retour à la page precedente
La prédiction de branchement consiste à essayer d’éviter les aléas dans un pipeline, c’est-à-dire réduire la perte de cycles induite par un branchement conditionnel. Cette prédiction se base sur un historique, et sa qualité dépend donc de la capacité à prendre en compte cet historique.
La prédiction de branchement, qui permet à un processeur de gagner du temps en estimant quels instructions vont arriver, consiste pour un processeur à repérer les instructions machine de branchement conditionnel à l’entrée du pipeline et à prédire si le branchement est pris, afin de charger le pipeline avec le bon flux d’instructions. Si la prédiction échoue, le pipeline doit être vidé, et l’autre flux doit être chargé, ce qui occasionne une perte de temps proportionnelle à la longueur du pipeline.
Dans le cas le plus simple, la prédiction de branchement est statique. Par exemple, selon Wikipedia, elle prévoit que tous les branchements en arrière sont pris. Ainsi une instruction conditionnelle placée en fin de boucle pour tester la condition de répétition est bien prédite pour une boucle fréquemment répétée. Une prédiction de branchement plus élaborée repose sur un cache de branchements.