Résumé
En informatique, l'exécution spéculative correspond au lancement anticipé d'une instruction, c'est-à-dire sans être certain que celle-ci ait réellement besoin d'être exécutée. Généralement, on peut distinguer trois types d'instructions et de déclarations dans un programme : celles qui doivent être exécutées de manière obligatoire. celles qui n'ont pas besoin d'être exécutées car elles ne sont pas pertinentes. celles qui ne sont de manière certaine dans aucun des deux groupes précédents. Le premier groupe ne peut pas bénéficier de l'exécution spéculative car ses membres doivent dans tous les cas être exécutés. Le second groupe peut être facilement écarté, comme le ferait l'évaluation paresseuse. Le troisième groupe quant à lui est bien la cible de l'exécution spéculative, ses membres peuvent en effet être exécutés en concurrence avec les instructions du premier groupe jusqu'à ce qu'on puisse juger si elles sont utiles, ou si l'on doit les ranger dans le deuxième groupe. Cette concurrence signifie que l'exécution spéculative peut être parallélisée. L'exécution spéculative est une optimisation en performance qui est utile uniquement lorsque l'exécution prématurée d'une instruction prend moins de temps et de place que son exécution normale, et ce suffisamment pour compenser la possibilité que cette instruction ait donné un résultat qui ne sera finalement pas utilisé. Les microprocesseurs modernes utilisant un pipeline se servent de l'exécution spéculative pour réduire le coût des instructions de branchement conditionnel. Quand une instruction de branchement conditionnel est rencontrée, le processeur devine quelle voie du branchement le programme est susceptible de suivre (c'est ce que l'on appelle la prédiction de branchement), et commence à exécuter les instructions correspondantes. Si la supposition s'avère être incorrecte, tous les calculs qui ont eu lieu après le branchement sont rejetés. L'exécution prématurée est relativement peu coûteuse du fait que, sans celle-ci, les étages du pipeline impliqués dans le calcul seraient restés inactifs jusqu'à ce que le résultat du branchement soit connu.
À 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.