Register banks


Joined Oct 29, 2009
can anyone explain why the registers in 8051 are divided in to 4 register banks.what is the advantage of this?

Because the MCU only has so many address lines. It is a way to address far more memory than the MCU can actually access.

This was done years ago on the IBM PC with products like the Above Board. The 8086 could only address 1M of memory, There was a small window somewhere abouve 640K. The Above Board contained many banks that fit into this section. It allowed the PC to address far more memory then it was actually capable.


Joined Feb 24, 2006
I'm not in agreement with the given answer. The number of address lines in a single chip microcontroller is quite simply irrelevant. The reason for having register banks in a microcontroller, like the 8051, is to do fast context switching without having to save too many registers on the stack. The internal memory is limited to just 128 bytes. This limit comes from the amount of silicon real estate required for memory when the 8051 was announced in 1978.