Résumé
La prédiction de branchement est une fonctionnalité d'un processeur qui lui permet de prédire le résultat d'un branchement. Cette technique permet à un processeur de rendre l'utilisation de son pipeline plus efficace. Avec cette technique, le processeur va faire de l’exécution spéculative : il va parier sur le résultat d'un branchement, et va poursuivre l’exécution du programme avec le résultat du pari. Si le pari échoue, les instructions chargées par erreur dans le pipeline sont annulées. Le processeur peut parier sur deux paramètres d'un branchement : son adresse de destination : c'est la prédiction de direction de branchement ; le fait qu'il soit pris ou non : c'est la prédiction de branchement. Par pari, on veut dire que le branchement fera poursuivre l’exécution du programme à une instruction différente de celle qui est placée immédiatement après le branchement en mémoire. Ces deux problèmes sont délégués à l'unité de prédiction de branchement, qui travaille de concert avec l'unité qui charge les instructions. Cette unité détermine les branchements à effectuer, et donc les instructions à charger. Une mauvaise prédiction aura pour effet de charger des instructions inutiles, qui devront être annulées. Bien évidemment, le processeur peut se tromper en faisant ses prédictions : il peut se tromper d'adresse de destination par exemple. C'est une erreur de prédiction. Lorsque le résultat du branchement est connu, une telle erreur peut être détectée. Le processeur doit alors faire en sorte que les instructions chargées par erreur dans le pipeline ne modifient pas l'état du processeur. En clair, elles ne doivent pas enregistrer leurs résultats dans les registres, ou alors ces modifications doivent être annulées. Ces mécanismes de correction ou d'annulation peuvent reposer sur l'usage d'un Reorder Buffer, d'un Future File, d'un History Buffer, ou sur la base de sauvegarde régulière des registres du processeur. La prédiction de direction de branchement permet de prédire l'adresse de destination d'un branchement.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.