Compilateurs

Quel est le principal objectif de l'ordonnancement des instructions par le compilateur ?

  1. ARéduire à tout prix le nombre d'instructions, même si le résultat du programme change
  2. BRéordonner les instructions sans changer le résultat afin de masquer les temps d'attente
  3. CRéordonner les instructions dans l'ordre choisi par l'ordonnanceur du système d'exploitation
Afficher la réponse et l'explication

Réponse : B. Réordonner les instructions sans changer le résultat afin de masquer les temps d'attente

Lorsque le résultat d'un chargement ou d'une multiplication n'est pas immédiatement disponible, placer juste après l'instruction qui l'utilise fait attendre le CPU. L'ordonnancement des instructions réordonne les instructions, dans la limite des dépendances de données et sans changer le résultat, pour intercaler d'autres instructions indépendantes et exploiter ces temps d'attente. L'effet est particulièrement important sur les CPU à exécution dans l'ordre. Les transformations changeant le résultat ne sont pas admises, et l'ordonnanceur du système d'exploitation, qui décide de la commutation des processus, est un autre mécanisme.

S'entraîner sur ce thème Retour au thème

Autres questions sur Compilateurs

  1. Quel effet produit l'optimisation des appels terminaux appliquée au dernier appel récursif de la fonction ci-dessus ?
  2. Quelle différence entre compilateur et interpréteur est correcte ?
  3. Quelle caractéristique d'un environnement d'exécution utilisant la compilation JIT est correcte ?
  4. Quelle est l'architecture de base de LLVM ?
  5. Dans quelle situation utilise-t-on souvent l'option de niveau d'optimisation désactivant l'optimisation (-O0, etc.) ?

Comparatifs sur ce thème