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é de traitement centrale (CPU) d'un ordinateur ou d'un autre appareil qui contient l'instruction de programmation qui sera exécutée au début du cycle d'horloge suivant comme dicté par d'autres parties du CPU. D'autres éléments du CPU, tels que le décodeur d'instructions, comptent sur le registre d'instructions pour contenir ces informations afin qu'il puisse être décodé, résolu et finalement exécuté. Avec certains types d'architecture de microprocesseur, il peut y avoir plus d'un registre d'instructions afin que les instructions multiples puissent être traitées en même temps, formant un style de logique de ligne d'assemblage connue sous le nom de pipeline. Généralement, de nouvelles instructions sont données au registre d'instructions à travers une autre partie du CPU connu sous le nom de compteur du programme, qui sert un objectif très similaire mais peut passer à l'instruction suivante tandis que les informations du registre d'instructions sont exécutées.
Un registre est une série de commutateurs physiques sur un microprocesseur ou une carte de circuit imprimé qui peut être activé ou désactivé, ce qui rend chaque commutateur équivalent à un peu. Lorsque plusieurs des commutateurs, également appelés verrous, sont liés, ils sont capables de stocker des données binaires telles que les nombres, qui peuvent être transformés en adresses mémoire ou codes d'instruction. Dans le processeur, le registre d'instructions peut contenir soit l'adresse dans la mémoire informatique de l'instruction qui est exécutée ou, pour l'efficacité, il peut conserver l'instruction elle-même. Ces informations sont transmises au registre via un autre registre connu sous le nom de compteur de programme, qui, dans la plupart des cas, saute vers l'instruction suivante à exécuter après avoir transmis l'instruction actuelle.
Les types d'instructions traités 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 code d'octet. Ce sont nettement différents des instructions dansLes langages de programmation de niveau supérieur, car les instructions d'assemblage fonctionnent sur une très petite échelle directe. Un exemple est une ligne de code de haut niveau qui ajoute deux nombres ensemble 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 d'instructions ou plus peuvent être générées pour terminer la tâche, chaque instruction étant quelque chose de simple, comme les valeurs de mélange entre la mémoire d'accès aléatoire (RAM) et un registre des services publics.
Une fois qu'une instruction est référencée par le registre d'instructions, elle est transmise au décodeur d'instructions afin que l'instruction puisse être convertie en code machine. Les références aux emplacements de mémoire qui pourraient contenir des variables ou d'autres informations sont résolues et que les informations sont parfois placées dans d'autres registres. Enfin, l'instruction réelle sera exécutée. Pendant ce temps, le compteur du programme sera incrémenté du CPU pour pointer vers l'instruction suivante qui sera HELD par le registre d'instructions afin que le processus puisse se répéter jusqu'à ce que l'ensemble du programme ait exécuté.