Qu'est-ce qu'un jeu d'instructions?
Un jeu d'instructions, ou une architecture de jeux d'instructions, est l'ensemble collectif de commandes qu'un processeur d'ordinateur peut exécuter. Tout ce que fait un ordinateur, de l'exécution d'une application de traitement de texte au codage de fichiers vidéo, est réductible à une combinaison de ces commandes. Les programmeurs ne créent pas directement de programmes via ces instructions, mais utilisent un type de logiciel spécial appelé compilateur, qui traduit le code de programmation en instructions machine. La plupart des ordinateurs personnels utilisent un jeu d'instructions qui a été utilisé pour la première fois dans les années 1970, tandis que les smartphones, tablettes et autres appareils utilisent des jeux d'instructions plus simples optimisés pour les environnements à faible consommation d'énergie.
Les ordinateurs peuvent sembler capables de tâches illimitées, mais les microprocesseurs qu’ils contiennent ne peuvent exécuter qu’un nombre limité de commandes prédéfinies, appelées instructions. En soi, chaque instruction est relativement simple et peut-être dire au processeur d’ajouter deux nombres ou de déplacer une donnée d’un emplacement à un autre. Lorsqu'elles sont combinées, ces instructions de base deviennent assez puissantes et servent de base à tous les types de logiciels. Les performances et la compatibilité d'une CPU sont directement liées au nombre et au type d'instructions prises en charge par la CPU, ce qui fait du jeu d'instructions un élément essentiel du succès ou de l'échec commercial de toute nouvelle conception.
Une CPU ne peut exécuter que des fonctions faisant partie de son jeu d'instructions, mais très peu de programmeurs informatiques intègrent ces commandes dans leur logiciel. Au lieu de cela, une étape intermédiaire appelée compilation est utilisée. Dans ce processus, un programme appelé compilateur traduit le code convivial utilisé par les programmeurs en un «code machine» que le processeur comprend. Étant donné que différents processeurs informatiques prennent en charge différents jeux d'instructions, un compilateur doit être conçu pour le type de processeur sur lequel le programme est destiné à être exécuté. Avec des microprocesseurs modernes capables d'exécuter des centaines, voire des milliards, d'instructions en une seconde, les compilateurs sont devenus le seul moyen pratique de créer des logiciels pour ordinateurs.
Les microprocesseurs utilisés dans presque tous les ordinateurs personnels vendus depuis les années 1980 utilisent un jeu d'instructions appelé x86, conçu à l'origine pour un processeur Intel® lancé au milieu des années 1970. La volonté de compatibilité ascendante a permis de conserver la dominance x86 sur le marché des ordinateurs personnels, même si de nouvelles instructions sont parfois ajoutées via des extensions. De nombreux smartphones, tablettes et autres types d'appareils électroniques grand public utilisent des microprocesseurs basés sur le jeu d'instructions ARM, ce qui est plus simple et consomme moins d'énergie que le x86. Les serveurs haut de gamme, les super-ordinateurs et d'autres appareils spécialisés tels que les consoles de jeux peuvent utiliser différents jeux d'instructions.