Qu'est-ce qu'un registre d'instructions?
En termes de matériel informatique, un registre d’instructions est un élément de l’unité centrale de traitement d’un ordinateur ou autre dispositif contenant l’instruction de programmation qui sera exécutée au début du cycle suivant, comme le dictent d’autres parties du système. CPU. D'autres éléments de la CPU, tels que le décodeur d'instructions, dépendent du registre d'instructions pour conserver ces informations afin qu'elles puissent être décodées, résolues et éventuellement exécutées. Avec certains types d'architecture de microprocesseur, il peut exister plusieurs registres d'instruction de sorte que plusieurs instructions puissent être traitées en même temps, formant ainsi un style de logique de chaîne d'assemblage appelé pipeline. Généralement, de nouvelles instructions sont données au registre d’instructions par l’intermédiaire d’une autre partie de la CPU appelée compteur de programme, qui remplit un rôle très similaire, mais peut passer à l’instruction suivante tant que les informations que le registre d’instructions est en train d’exécuter sont exécutées.
Un registre est une série de commutateurs physiques sur un microprocesseur ou une carte de circuit imprimé pouvant être activés ou désactivés, chaque commutateur étant équivalent à un bit. Lorsque plusieurs des commutateurs, également appelés verrous, sont liés, ils peuvent stocker des données binaires, telles que des nombres, pouvant être transformées en adresses de mémoire ou en codes d’instruction. Dans la CPU, le registre d’instructions peut contenir l’adresse en mémoire de l’instruction en cours d’exécution ou, pour plus d’efficacité, il peut contenir l’instruction elle-même. Cette information est transmise au registre par l’intermédiaire d’un autre registre appelé compteur de programme qui, dans la plupart des cas, passe à l’instruction suivante à exécuter après le passage de l’instruction en cours.
Les types d'instructions traitées par les registres sont généralement des commandes de langage d'assemblage de bas niveau qui sont finalement traduites en code machine ou en octet. Celles-ci diffèrent nettement des instructions des langages de programmation de niveau supérieur, car les instructions de montage fonctionnent sur une très petite échelle directe. Un exemple est une ligne de code de haut niveau qui ajoute deux nombres et stocke les résultats dans une variable, qui ne prend qu'une seule ligne de code de haut niveau à exprimer. Lorsque le code est compilé, une douzaine ou plus d'instructions peuvent être générées pour terminer la tâche, chaque instruction étant quelque chose de simple, telle que la répartition aléatoire des valeurs entre la mémoire vive (RAM) et un registre d'utilitaires.
Une fois qu'une instruction est référencée par le registre d'instructions, elle est transmise au décodeur d'instruction afin que l'instruction puisse être convertie en code machine. Les références aux emplacements mémoire susceptibles de contenir des variables ou d'autres informations sont résolues et ces informations sont parfois placées dans d'autres registres. Enfin, l'instruction réelle sera exécutée. Pendant ce temps, la CPU incrémentera le compteur de programme afin de pointer sur l'instruction suivante qui sera conservée par le registre d'instructions afin que le processus puisse se répéter jusqu'à l'exécution complète du programme.