What does 'bank'ing a register mean?

Register banking refers to providing multiple copies of a register at the same address.

Taken from section 1.4.6 of the arm docs

The term is referring to a solution for the problem that not all registers can be seen at once.

There is a different register bank for each processor mode. The banked registers give rapid context switching for dealing with processor exceptions and privileged operations.

If your looking for a more theoretical reasoning, I recommend this paper.
Edit: A much deeper answer than mine is given here


When the processor enters an exception, the banked registers are switched automatically with another set of these registers.

Virtually, the exception handler routine doesn't have to save these registers on the stack to prevent them from being clobbered later on (by the exception handler functions). The processor just keeps a safe copy of that set; and will restore the original set on exception return.

Tags:

Cpu

Arm