Not really; keep in mind that the APPLICATIONS in modern OSes
are using VIRTUAL memory, so EVERY APPLICATION has potentially
its OWN 4GB of VIRTUAL memory address space. And every 4KB
of that space is INDEPENDENTLY virtualized to any physical
address. So it's quite possible to VM map a PHYSICAL memory
region of 2GB size at physical addresses of 5GB-7GB to a VIRTUAL
address of 0GB-2GB as far as the application accesses / sees it.
So 32 bit applications running on a 64 bit OS aren't really at all
limited from using ALL of the memory the machine has.
The only potential problem is related to whether the combination
of CPU IOMMU feature giving better virtualized DMA control
(or its lack thereof), the system device drivers,
and devices 32 vs 64 bit DMA capabilities somewhat limit your
choices of memory mappings and virtualizations.
A typical application doesn't directly do I/O or need to have DMA
directly into its address space with hardware devices so even if it's
a 32 bit application that's totally virtualized on a 64 bit host it'll
be able to access any/all 4GB memory in the PC whether that
memory is broken up into any number of non-contiguous regions,
and whether any of those regions are physically above 4GB.
Also if I recall correctly even 32 bit CPUs often have significantly
more than 32 bit physical memory access capabilities and some MMU
support for mapping parts of those that > 4GB memory space into
a software addressable 4GB space that's more useful. There
are special distinct address "regions" for IO which are different
(in hardware cycles) than address regions corresponding to memory,
AGP has its own MMU / address mapping (GART) indepent of and on
top of the CPU's MMU, etc. for instance.
I know you *can* configure PCI configuration space to be memory mapped
(MMIO) as opposed to using configuration space IO cycles, though I
gather that's not entirely well / fully implemented at this point, so
it may be that the address space impact isn't as severe as it could be
if it were all mmaped.
Also notice that even my 8800GTX which has 768MB physical memory
on it, there's only a 256MB size memory window it occupies.
So today, 3GB of RAM or 4GB of RAM installed on a 64-bit OS makes absolutely no difference. Yes, the 64-bit OS will "see" it all, but it won't use it all for the applications, staying below ~3GB.
With the 6GB or 8GB (up to 128GB) of physical memory installed, the lower part up to 4GB will use the "older" 32-bit technology, and the "newly" created 64-bit applications will use the 4 - 128GB area exclusively, in perfect harmony.
Does it make sense...?