It was thus said that the Great Hans Franke once stated:
(*1) Often the term real memory is used, but that's
not correct. Physical memory is the memory installed
in a machine, while real address space is the addressable
amount of RAM by a CPU without using virtual addressing.
Virtual address space can never excede real address space
(After all, it's the maximum address range generated by
the (logical) CPU), while physical memory can go beyond
real or virual address space.
Virtual address space *can* exceed physical address space---the 80386 (and
therefore, on topic) is a good example. A segmented architecture, the
segment registers use 14 bits [1] as an index into a table giving the
physical address, while each segment can be 4G in size. 14+32 gives you a
46-bit logical address, meaning you can virtually address 64 terrabytes in
the whole system; a bit more than just the 4G physical address space the
chip puts out.
Now, are there systems that take advantage of this? That, I don't
know---I know that most OS that use the 386 (and above) skip the segments
and use a flat virtual address space (with the paging unit that the 386 also
has) but there could be the odd-ball OS that uses the segmentation as well.
-spc (And attempting to use all 64TB would probably cosume huge amounts
of physical RAM just for the lookup tables ... )
[1] 13 bits make the actual offset, with one bit set aside for a
global-wide table, or a process-local table of segment/physical
addresses. For all intended purposes, this gives you 14 bits of
address space.