Where is SFR in AT89C51RC2 located

8051microcontroller

It's said the microcontroller AT89C51RC2 has 256 B RAM for data, 32 kB Flash for program, 1 kB XRAM and 2 kB BOOT ROM.

enter image description here

The RAM adrressing area is 00h to 0FFh, which takes all 256 B. SFR has adresses from 80h to 0FFh, which means 127 B. Now where, physically, this memory is?

enter image description here

Best Answer

The SFR space refers to physical device registers. It has 128 words worth of addresses, but not all of that is actually implemented. What is implemented is built in discrete flip flops that are directly connected to the peripherals and I/O ports. The SFRs sit on the device internal data bus. They are physically located all over the chip, local to the peripherals that they are connected to. This address space is also orthogonal to the RAM address space as it is accessed with different instructions and/or different addressing modes.