En termes de matériel informatique, un registre d'instruction est un élément de l'unité centrale de traitement (CPU) d'un ordinateur ou autre dispositif qui contient l'instruction de programmation qui sera exécutée au début du cycle d'horloge suivant que dicté par d'autres parties de l' CPU. D'autres éléments de la CPU, tels que le décodeur d'instructions, compte sur le registre d'instruction pour contenir ces informations afin qu'il puisse être décodé, résolu et finalement exécuté. Avec certains types de l'architecture des microprocesseurs, il ne peut y avoir plus d'un registre d'instruction si plusieurs instructions peuvent être traitées en même temps, la formation d'un style à la chaîne de la logique qui est connu comme un pipeline. En règle générale, de nouvelles instructions sont données au registre d'instruction d'une autre partie de la CPU connu comme le compteur de programme, qui joue un rôle très similaire, mais peut aller de l'avant à l'instruction suivante alors que l'information est le registre d'instruction de maintien est exécuté.
Un registre est un ensemble de commutateurs physiques sur une carte à microprocesseur ou un circuit qui peut être activé ou désactivé, ce qui rend chaque commutateur équivalent à un bit. Lorsque plusieurs des commutateurs, aussi appelé verrous, sont liés, ils sont capables de stocker des données binaires telles que des nombres, qui peuvent être transformées en adresses mémoire ou codes d'instruction. Dans le processeur, le registre d'instruction peut contenir soit l'adresse en mémoire d'ordinateur de l'instruction en cours d'exécution ou par l'efficacité, il peut contenir l'instruction elle-même. Cette information est transmise au registre intermédiaire d'un autre registre appelé compteur de programme, qui, dans la plupart des cas saute vers l'avant à l'instruction suivante à exécuter après passage sur l'instruction courante.
Les types d'instructions traitées par les registres sont en général de faible niveau de commandes en langage d'assemblage qui sont par la suite traduits en code machine, ou byte-code. Ceux-ci sont nettement différentes des instructions des langages de programmation de haut niveau, parce que les instructions de montage fonctionner 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 pour exprimer. Lorsque le code est compilé, une douzaine ou plus de ces instructions peut être généré pour compléter la tâche, avec chaque instruction étant quelque chose de simple, comme traînant des valeurs comprises entre mémoire à accès aléatoire ordinateur (RAM) et un registre d'utilité.
Une fois qu'une instruction est référencée par le registre d'instruction, il est transmis au décodeur d'instruction si l'instruction peut être convertie en code machine. Les références aux emplacements mémoire pouvant contenir des variables ou d'autres informations sont résolus et que l'information est parfois placé dans d'autres registres. Enfin, l'instruction elle-même sera exécutée. Pendant ce temps, le compteur de programme sera incrémenté par le CPU pour qu'il pointe vers la prochaine instruction qui sera détenu par le registre d'instruction afin que le processus peut se répéter jusqu'à l'ensemble du programme a été exécutée.