Registre de processeur

Un registre est un emplacement de mémoire interne à un processeur. Les registres se situent au sommet de la hiérarchie mémoire : il s'agit de la mémoire la plus rapide d'un ordinateur, mais dont le coût de fabrication est le plus élevé, car la place dans un microprocesseur est limitée.

Une architecture externe de processeur définit un ensemble de registres, dits architecturaux, qui sont accessibles par son jeu d'instructions. Ils constituent l'état externe (architectural) du processeur. Cependant, une réalisation donnée d'une architecture interne (microarchitecture) peut contenir un ensemble différent de registres, qui sont en général plus nombreux que les registres architecturaux. Ils stockent non seulement l'état externe du processeur, mais aussi celui de sa microarchitecture : valeurs opérandes, indicateurs, etc. Ce dernier état est utilisé exclusivement par la microarchitecture, et n'est pas visible par le jeu d'instructions (architecture)[1]. Un processeur peut contenir plusieurs centaines de registres, mais, à titre d’exemple, un processeur Intel 32 bits en contient seize[2]. Chaque registre a une capacité de 8, 16, 32 ou 64 bits[3] (couramment la taille d’un bus).

La plupart des architectures modernes sont qualifiées de load-store : les programmes transfèrent d'abord des données de la mémoire centrale vers des registres, puis effectuent des opérations sur ces registres, et enfin transfèrent le résultat en mémoire centrale.

  1. B. Shriver et B. Smith, The Anatomy of a High-Performance Microprocessor: A Systems Perspective. The IEEE Computer Society, 1998, p. 88.
  2. Alexandre Sedoglavic, « Les registres d’un processeur 32 bits de type Intel », sur fil.univ-lille1.fr, (consulté le )
  3. « Processeur », sur CommentCaMarche.net (consulté le )

Developed by StudentB