View Single Post
Old 07/18/2007, 09:49 AM   #19 (permalink)
scoliosis
"I dunno" guy
 

Join Date: Jan 2002
Location: Seattle
Vehicle: 2009 BMW 328i Coupe
Posts: 1,269
scoliosis has a few friends herescoliosis has a few friends herescoliosis has a few friends herescoliosis has a few friends herescoliosis has a few friends herescoliosis has a few friends herescoliosis has a few friends herescoliosis has a few friends herescoliosis has a few friends herescoliosis has a few friends here
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.
__________________
My Blog

Last edited by scoliosis; 07/18/2007 at 09:52 AM.
scoliosis is offline   Reply With Quote