I think you need to grasp the basic concept. Processor doesn't know where the physical memory is. All it does, is sets the address on an address bus and sets up a signal that it wants the memory read. It's up to the perihery memory devices (regardless of whether on the same chip or not) to read the address on the bus, fetch the data and put in on data bus. Once this is done, the device signals to the processor and the processor does with the data whatever the instruction says to do. Processor may have to wait for the memory to respond, so it may add some time to the execution.
Memory can be put on the same chip or outside of the chip. It may be ROM or RAM. It may be slow or fast. But processor knows nothing about that. You look at your map and figure that out.
What happens if I instruct the processor to fetch XDATA from address 0xdf82. What device will respond to the call? You look on the left side of your map and you see the XDATA block. You follow it to the right and see that this address is mapped to SFR. The processor's call will be answred by a device connected to the SFR 0xo2 (note that this could've been accessed in a different way, through SFR data space 0x82).
And conversely, how do I access RAM at address 0x1f10? Find this address on the right and follow to the keft. There are two ways to access this memory! XDATA instruction with address 0xff10 or fast DATA instruction at address 0x10. Take your pick.
Or you want to access RAM at address 0x0500? Unfortunately there's only one way - through XDATA at address 0xe500. That's why this part of the memory is called slow.
Or you want to access flash memory at address 0xf000. How do you do that? No way. Processor doesn't have any access to it through its memory spaces. Must be some other way to access it. Look at the datasheet.
Pick a different device. Look. Everything is different, but the principle is the same.