• # Out of order

    Posté par (site web personnel, Mastodon) . En réponse au journal Le début de la fin pour Intel ?. Évalué à 10.

    Pour l'exécution out of order, faire l'ordonnancement dans le compilateur fonctionne bien quand on cible un cpu spécifique. Le problème, c'est que le code ainsi optimisé ne sera peut-être pas optimal sur une autre architecture (nouvelle génération, puce développée par un concurrent...). C'est pour ça que le cpu se permet d'intervenir.

    C'est sûr que si on réfléchit en terme d'une architecture cible stable et bien connue, plein de choses pourraient être faites complètement en statique. Par exemple on pourrait laisser le compilateur gérer lui-même la mémoire cache. Sauf que si le compilateur optimise pour 1Mo de cache et que la génération de cpu suivante en a 2Mo, ce code ne l'exploitera pas. Et du coup les gains de performance ne seront pas trop visibles.