Logical Address Space vs. Physical Address Space

The address used by the CPU is a logical address, whereas the address actually seen by the memory hardware is a physical address.

Addresses that are bound at compilation time or load time have identical logical and physical addresses, while those bound at execution time have different logical and physical addresses.

When the addresses are different, we also call logical addresses virtual addresses.

The set of all logical addresses used by a program composes the logical address space, and the set of all corresponding physical addresses composes the physical address space.

The run time mapping of logical to physical addresses is handled by a computer hardware component called the memory-management unit (MMU).