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

Lecture 'ARM Architecture' sur Wikipedia et trouvé la déclaration suivante:

Les registres R0-R7 sont les mêmes pour tous les modes CPU; ils ne le sont jamais Banks.

R13 et R14 sont mis en banque sur tous les modes CPU privilégiés sauf le système mode.

Que signifie un registre bancaire?

28
demandé sur lang2 2012-11-17 20:10:53

2 réponses

Registre bancaire désigne la fourniture de plusieurs copies d'un registre à la même adresse.

Prises à partir de la section 1.4.6 du bras docs

Le terme se réfère à une solution au problème que tous les registres ne peuvent pas être vus à la fois.

Il existe une banque de Registre différente pour chaque mode de processeur. Les registres mis en banque permettent une commutation de contexte rapide pour traiter les exceptions de processeur et les opérations privilégiées.

Si votre à la recherche d'un raisonnement plus théorique, je recommande Cet article.
Edit: une réponse beaucoup plus profonde que la mienne est donnée ici

22
répondu enjoylife 2017-04-13 12:32:45

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

Virtuellement, la routine du gestionnaire d'exceptions n'a pas besoin d'enregistrer ces registres sur la pile pour les empêcher d'être bloqués plus tard (par les fonctions du gestionnaire d'exceptions). Le processeur conserve juste une copie sécurisée de cet ensemble; et restaurera l'ensemble d'origine lors du retour d'exception.

12
répondu Benoit 2014-02-15 15:33:58