|
If you have either 64 bit processor (A64 or EM64) PAE is enabled by default and will allow addressing 4GB of memory address space (notice I didn't say RAM, just memory address space). If you don't have it, you have to force enable PAE and that execute protection feature thingamy to enable 4GB memory address space.
Now that's out of the way -
XP SP2 onwards, no matter what you do, you only see 2GB of available RAM to your applications. That's MSFT's doing, they hard coded the kernel to do that so that users won't run into issues with badly written drivers. PAE enabled systems requires double pointers (or was it double address jumps, I can't remember for sure) to do DMA, but a lot of driver writers cheat and just assumes no one has more than 2GB of RAM and that all the addresses are strictly <2GB.
Vista32
Since the new Vista drivers have to be written from scratch and MSFT actually forces checks on the above issue, they allow more addressable RAM. However, the amount of RAM you will see is affected by how much other types of addressable memory you have in your system. Typical rule of thumb is Total system RAM - total video RAM - PCI address space overhead = Total addressable RAM. So say you have 4GB and you have 2 8800GTX with 768MB each, you will only ever see a MAX of 2.5GB (1.5GB of total video RAM). Sucky eh?
On my system with 4GB of system RAM, I see 2GB in XP and 3.4GB in Vista32.
Last edited by scoliosis; 07/18/2007 at 09:52 AM.
|