In 8051 RAM size is 128 bytes which is divided in to 3 areas like register bank ,Bit addressable are and scratch pad area. what is the location for SFR ? many literature stating that 8051 has 256 byte memory in it 128 byte for general purpose and rest 128 for special purpose which one is true ? i am confused about (1)what is the RAM size of 8051 weather 128 bytes or 256 bytes? (2) if the RAM size is 128 bytes what are location for the SFR ?
The 8051 has many different memory regions, that each has it's own set of addresses and processor instructions for access.
It has 256 byte of RAM. 128 byte may be directly accessed. 128 byte may only be indirectly accessed, because "on top" of this RAM is 128 byte of SFR region.
It's also possible for an 8051 chip to have external RAM - that is yet another address range with unique processor instructions to access.