Exécution out-of-order

Exécution out-of-order

L'exécution out-of-order (« dans le désordre » en anglais) d'instructions par un processeur consiste à réorganiser l'ordre dans lequel les instructions d'un programme vont s'exécuter. Ces instructions ne sont alors pas forcément exécutées dans l'ordre dans lequel elles apparaissent dans le programme[1].

Cela permet de mieux exploiter les ressources d'un processeur, comme le pipeline, et ainsi de gagner du temps de calcul.

Pour permettre cela, les processeurs Out_of_order intègrent un circuit électronique, capable de réorganiser l'ordre dans lequel les instructions vont s'exécuter.

Il existe plusieurs algorithmes d'exécution Out-of-order, notamment l'algorithme de Tomasulo.

On peut l'opposer à l'exécution in-order, qui consiste à exécuter les instructions dans l'ordre prévu par le programmeur/compilateur. Cela permet de diminuer les coûts en supprimant la puce qui s'occupe de cette tâche. C'est par exemple le cas dans le processeur Intel Atom.

Notes et références

  1. « OOO execution unit » sur onversity.com

Voir aussi

Articles connexes