(This fact has apparently not stopped certain unscrupulous companies, coughDellcough, from allowing people to buy a computer with WinXP, 4Gb of RAM, and a pair of Nvidia's oddball 1Gb GeForce 7950 GX2 cards. Result: 56.25% of the installed memory absent without leave. You might as well have only bought 2Gb.) (来源：英语学习门户网站EnglishCN.com)
As with the Upper Memory Area problem, the 3-4Gb space must have seemed stratospherically far away when people first started buying $15,000 80386 PCs. But here we are running into it, and the result is not pretty.
That was then, this is now. 64-bit CPUs are widely available, and 64-bit OSes are starting to trickle into the mainstream market. The nightmare will, with any luck, soon be over.
A 64-bit PC running a 64-bit OS has a truly vast basic memory address space. The 4Gb 32-bit address space was 4096 times the size of the 1Mb 20-bit space, but the 64-bit address space is 4,294,967,296 times the size of the 32-bit one.
(Actual 64-bit PCs so far aren't actually able to address anything like that much memory, for reasons analogous to the restricted addressing of the old 8086; essentially, fewer memory address lines still make for a cheaper computer. But even the most restrictive current x86-64 computer and operating system combinations can still address at least 2 to the power of 44 bits, which is 16,384 gigabytes. That ought to be enough for quite a while.)
By default, an all-64-bit PC will still have the standard big holes in its memory from three to four gigabytes. But because the address space now extends above 4Gb, there's the lowest-hassle way to deal with the problem - just install more than 4Gb of memory, and live with the fact that your 8Gb PC with a 768Mb graphics card only actually has seven-point-not-much gigabytes of visible RAM.
One advantage of this is that you can still boot a 32-bit OS, if you want to. Another is that this vanilla configuration is most likely to actually work. Cleverer memory configurations aren't necessarily properly supported by hardware, operating systems and device drivers yet.
If you don't care about these factors, though, there are two ways to get the lost memory back.
Some 64-bit motherboards give you an option for "memory hole remapping". That moves the fourth-gigabyte MMIO memory holes higher into the 64-bit address space, probably way above the maximum RAM you can physically install.
Many other 64-bit boards, though, are even smarter, and can leave the memory holes where they are and remap (at least some of) the physical RAM out from under the holes and up past 4Gb. This process is often entertainingly referred to as "memory hoisting", and it used to be the preserve of server motherboards. It's been showing up in more and more desktop mobos, though. And on some of them, the memory-hoisting BIOS setting even works, and doesn't horribly crash the system as soon as something tries to use the remapped RAM.
You may only be able to "hoist" the last 512Mb of the 4Gb address space, but that's better than nothing. If it works.
I should add a note about the /3GB, /4GT and /PAE Windows boot.ini switches, too, because they often come up when people are talking about 4Gb-plus Windows PCs.
They are all useless to you. You do not want them.
/3GB and /4GT are config settings for different versions of Windows that tell the operating system to change the partitioning of the 4Gb 32-bit address space so that applications can use 3Gb and the OS kernel only 1Gb, as opposed to the standard 2Gb-each arrangement. They don't help at all with the 3Gb barrier, and most applications don't even notice them, so desktop users lose kernel memory space (and system performance) for no actual gain at all.
The /PAE boot.ini switch, on NT-descended Windows flavours, activates the Physical Address Extension mode that's existed in every PC CPU since the Pentium Pro. PAE can also be enabled by the /NoExecute entry in boot.ini, which turns on support for the NX bit which you probably also don't actually want.
PAE mode, in its proper form, cranks the memory address space up to 64 gigabytes (two to the power of 36). The computer can then give a 4Gb addressing block within that space - or even more, with extra tricks - to each of several applications.
PAE's no good to the everyday 3Gb-problem-afflicted user, though, for two reasons.
First, it presents 64-bit addresses to drivers, and thus causes exactly the same compatibility problems as a proper 64-bit operating system. Except worse, because now you need PAE-aware drivers for 32-bit Windows, instead of plain 64-bit drivers for a 64-bit OS.
From a normal user's point of view, PAE gives you the incompatibility of a 64-bit operating system when you're still running a 32-bit OS.
For this reason, Microsoft changed the behaviour of the /PAE option in almost all versions of WinXP as of Service Pack 2. They fixed the endless driver problems by, essentially, making /PAE in XP not do anything to addressing any more. All versions of WinXP except for the x64 Edition now have a hard 4Gb addressing limit, no matter what hardware you use them on and what configuration you choose. All PAE does in those versions of Windows is activate NoExecute support. Which, once again, you probably don't want.