A “flat” address space means that the virtual 32-bit space used for each program is independently and directly accessible in successive offsets, starting at byte 0, all the way through xFFFFFFFF.
Contrast this with what is commonly called “segmented” address spaces, where the address consists of a segment or descriptor number, and then fewer bits as an offset to that segment / descriptor.
The memory management system performs a routine to translate a 32-bit address link to a specific location within the actual 52-bit address space provided by the underlying architecture.
source share