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.

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.