Registres
Les registres du processeurs sont des cellules mémoire situé directement dans le processeur ou le microprocesseur. Ainsi, l'accès à ses cellules mémoire est beaucoup plus rapide qu'avec la mémoire situé à l'extérieur du processeur. Par contre, le nombre de registres sont beaucoup moins nombreux que les cellules de mémoire externe. En général, le nombre total de registres est inférieur à 100 et ils ont une moyen de 20 registres. Ils sont donc loin de la quantité de mémoire externe étant souvent des millions ou voir des milliards de cellules mémoires disponibles.
Dépendamment du jeu d'instructions que choisira le processeur entre CISC ou RISC, car le premier prône la spécialisation des registres tandis que le second prône la généralisation des registres, on pourra les classés selon les classes suivantes :
Classe | Description |
---|---|
Les registres de travail | Ces registres sont généralement des registres de nombre entier utilisé pour faire des traitements de logique et d'arithmétique. |
Les registres de nombre réel | Ces registres permettent l'entreposage de nombre à virgule flottante. Cette classe de registres n'est pas nécessairement présente dans le processeur. |
Les registres d'adressage | Ces registres d'adresses sont utilisés pour indiquer des positions de cellules mémoire à l'extérieur du processeur peut contenir les registres de segment et de déplacement. |
Les registres d'index | Ces registres permettent de calculer des positions. Elles sont généralement utilisé sur des processeurs avec des jeu d'instructions CISC. |
Les registres à prédicats | Ces registres sont aussi appelé le registre des drapeaux, lesquels sont utilisés pour entreposer le résultat de comparaisons et divers état du processeur. |
Remarque
- Lorsqu'un processeur ne dispose pas de coprocesseur mathématique ou de registres de nombre réel, comme par exemple avec les 6502, 8088 et 8086, il devra utilisé un «émulateur de coprocesseur mathématique» lequel est géré directement par le compilateur. Le traitement manuel de ses calculs par le code produit par le compilateur est généralement beaucoup moins rapide que ceux fournit directement dans le processeur.