web-dev-qa-db-fra.com

Qu'est-ce que "banque" signifie un registre?

Lecture "Architecture des bras" sur Wikipedia et a trouvé la déclaration suivante:

Les registres R0-R7 sont les mêmes dans tous les modes CPU; Ils ne sont jamais en banque.

R13 et R14 sont mis en banque dans tous les modes de processeurs privilégiés, à l'exception du mode système.

Qu'est-ce que la banque d'un registre signifie?

30
lang2

Enregistrer la banque désigne plusieurs copies d'un registre à la même adresse.

Tiré de la section 1.4.6 du bras Docs

Le terme fait référence à une solution pour le problème que tous les registres ne peuvent pas être vus à la fois.

Il existe une autre banque de registre pour chaque mode processeur. Les registres bancaires donnent une commutation rapide au contexte pour traiter des exceptions de processeur et des opérations privilégiées.

Si vous cherchez un raisonnement plus théorique, je recommande this papier.
[.____] Edit: Une réponse beaucoup plus profonde que celle du mien est donnée ici

23
enjoylife

Lorsque le processeur entre une exception, les registres bancaires sont automatiquement commutés avec un autre ensemble de ces registres.

Pratiquement, la routine de gestion des exceptions n'a pas besoin de sauvegarder ces registres sur la pile pour les empêcher d'être classée plus tard (par les fonctions du gestionnaire d'exception). Le processeur conserve simplement une copie en toute sécurité de cet ensemble; et restaurera l'ensemble d'origine sur le retour d'exception.

12
Benoit