# 4GB RAM and 2GB GPU RAM on XP



## Jiniix

As the title says, this question is about Windows XP 32-bit.

I have a PC with the following setup:


AMD Phenom II X2 555 Black Edition 3.2GHz @ 4.0GHz 1.375v
Asus M3A32-MVP Deluxe AM2+
4x1GB Hynix 800MHz DDR2 RAM
AMD HD Radeon 5770 1GB
Samsung 320GB 7.200rpm
CoolerMaster SilentPro 600W Modular
CoolerMaster Elite 430

The motherboard has plenty of express lanes, that won't be an issue.
As far as I know Windows 32-bit (XP, Vista, 7 etc) only accepts 4GB RAM, including graphics RAM. So I tecnically only have 3GB available.
My question is whether adding an extra 5770 1GB will reduce me to 2GB, and I might as well remove 2x1GB and use them in another rig.
What should I do?


----------



## johnb35

The only time video will take away from the system ram is when you are using onboard video.  When you have a dedicated card, all installed ram can be used by the system.  But again when a 32 bit OS is installed like XP which can only address up to about 3.25-3.5 gb of ram.


----------



## Jiniix

Cool beans! Good to know, thank you.
Guess I'ma CrossFire it up then


----------



## larsch

A graphics card does take up some address space (typically 256 MB pr gpu). 32bit XP only has 4 GB of address space, so there will be less space available for system ram.


----------



## Okedokey

johnb35 said:


> The only time video will take away from the system ram is when you are using onboard video.  When you have a dedicated card, all installed ram can be used by the system.  But again when a 32 bit OS is installed like XP which can only address up to about 3.25-3.5 gb of ram.



This isn't correct.

If you install another 1GB graphics card (ie 2 x 1GB), the operating system can still only address a total of 4GB (2^32) - regardless of source.  That means you will only have 2GB (probably less when you factor in HDD buffer memory etc) available as system memory with XP 32bit OS installed (which is a non-PAE-aware OS).  Whats worse, in crossfire and sli, it doesn't double the amount of GPU VRAM - you will still only have 1GB of VRAM.

Essentially it will address all hardware requirements for memory, and what ever is left over can be addressed in RAM (in this case probably around 1.9GB), regardless of the amount of RAM physically installed.


----------



## johnb35

bigfellla said:


> This isn't correct.
> 
> If you install another 1GB graphics card (ie 2 x 1GB), the operating system can still only address a total of 4GB (2^32) - regardless of source.  That means you will only have 2GB (probably less when you factor in HDD buffer memory etc) available as system memory with XP 32bit OS installed (which is a non-PAE-aware OS).  Whats worse, in crossfire and sli, it doesn't double the amount of GPU VRAM - you will still only have 1GB of VRAM.
> 
> Essentially it will address all hardware requirements for memory, and what ever is left over can be addressed in RAM (in this case probably around 1.9GB), regardless of the amount of RAM physically installed.



If that is true, I've never seen it happen.  I know it wasn't true when I was running XP 32 bit with my 1gb 6870.  Still showed up as 3.25 or 3.5 I do believe.  I would have to boot back into my xp install to verify.


----------



## Okedokey

No need mate. Its been true forever.  Also, I find it intriguing that you haven't seen it before.  There are loads of threads on this forum, with the same issue.



> Devices have to map their memory below 4 GB for compatibility with non-PAE-aware Windows releases. Therefore, if the system has 4GB of RAM, some of it is either disabled or is remapped above 4GB by the BIOS.


 http://msdn.microsoft.com/en-us/lib...vs.85).aspx#physical_memory_limits_windows_xp

and here



> For example, if you have a video card that has 256 MB of onboard memory, that memory must be mapped within the first 4 GB of address space. If 4 GB of system memory is already installed, part of that address space must be reserved by the graphics memory mapping. Graphics memory mapping overwrites a part of the system memory. These conditions reduce the total amount of system memory that is available to the operating system.


 http://support.microsoft.com/kb/929605

It makes sense though if you think about it, 2^32 is 4 billion (e.g. 4GB), thats the max, regardless of where it comes from.

There is PAE (essentially allows for 2^37), but the OS needs to be compatiable (32bit XP isn't).  Its just easier to install a 64 bit os (i.e. 2^64).

Secondly, what Windows 'reports' isnt necessarily the truth 

http://support.microsoft.com/kb/929605


----------



## Jiniix

Bigfella, on the first link you posted, this was stated further down:
_"lots of misinformation here 
note that memory on our graphics cards DOES NOT COUNT towards the physical memory limit because it does not occupy address space as seen by the cpu."_
It seems the post is about onboard memory (from the CPU's built in GPU), which is what John said.



bigfellla said:


> Its just easier to install a 64 bit os (i.e. 2^64).



I would install Windows 7 x64 in a heartbeat, but I can't decide if the chipset drivers for the motherboard is either incredibly bad or just not working. It doesn't seem like it's Windows 7 compatible, and to be honest, I don't think Windows XP 64-bit is viable. Can't even install iTunes as an example.


----------



## Okedokey

Yeah, ok, listen to some dude, or MS.  lol.

The quotes I made above are from MS.

But by all means go for it


----------



## Okedokey

Well, thats your decision (however if this is your mobo it does have Win 7 64bit BIOS and driver support), but to answer you specific question, yes, if you add additional VRAM, it will reduce your system RAM capacity available to the OS under Win XP 32bit.  Fact.


----------



## Jiniix

I will definitely do it either way, I just don't trust the OS to report to actual available memory, and I wanted to know if I could use 2x1GB sticks in a different PC. (My Minecraft server runs with a 2GB stick of 667MHz memory, that would be an upgrade)


----------



## Okedokey

Thats fine, but the OS will certainly not be able to use anything more than 4GB minus hardware addressed space, regardless of what the OS reports.


----------



## larsch

johnb35 said:


> If that is true, I've never seen it happen.  I know it wasn't true when I was running XP 32 bit with my 1gb 6870.  Still showed up as 3.25 or 3.5 I do believe.  I would have to boot back into my xp install to verify.



That is because the mapping between vram and cpu address space is not 1:1, so it will use less than 1 GB of address space.


----------



## larsch

Jiniix said:


> Bigfella, on the first link you posted, this was stated further down:
> _"lots of misinformation here
> note that memory on our graphics cards DOES NOT COUNT towards the physical memory limit because it does not occupy address space as seen by the cpu."_
> It seems the post is about onboard memory (from the CPU's built in GPU), which is what John said.



He is right, it can just be unclear to understand what he means.

The graphics card reserve address space (a window) that points to its vram. That "window" can be much smaller than the amount of vram. That is why he says that.


----------



## Okedokey

larsch said:


> He is right, it can just be unclear to understand what he means.
> 
> The graphics card reserve address space (a window) that points to its vram. That "window" can be much smaller than the amount of vram. That is why he says that.



The only time the 'window' is smaller than the physical addressable space is when PAE (physical address extension) - which is virutalisation is enabled.  This cannot be done in Win XP 32 bit.


----------



## larsch

I'm not sure what you mean 

If you look in device manager, you can see how much address space the graphics card has reserved. If you have 1 GB vram, I bet it has reserved much less than that. Usually it is 256 MB per gpu plus a small amount. That is also why johnb35 sees more than 3 GB system ram with 1 GB vram in 32bit xp.


----------



## Okedokey

Dude, he was talking about onboard graphics.  You cannot see what is addressed in windows as this is done via the BIOS.  If the OS can virtualise or address via being 64bit, you then dont have a problem.

If your technical know-how is better than the people who write the OS, you should let them know.  Otherwise let me know how you get beyond 2^32 mathematically without virtualisation, or as linux does, by not reserving the full amount.  In XP, all memory is addressed.


----------



## larsch

John was talking about his own system with 1 GB vram. He still sees more than 3 GB system ram.

I'm not talking about addressing more than 4 GB. What I'm saying is that 1 GB vram doesn't necessarily mean it takes up 1 GB in the cpu's address space. The point is: depending on how the graphics card reserves address space, you can still have 3 GB system ram available in 32bit XP - even if you have 2 GB vram on your graphics card.

You can see the allocated address space ranges in device manager. View > resource by type


----------



## Okedokey

No, what John said is that regardless of system ram and OS, the VRAM is independant.  This is not true.  Regardless of whether you have a different ratio of VRAM mapping or not, the OS can only address 4GB of ram at the expense of the system memory.  That was what the OP is asking.  Having had 5770 in CF i can also confirm the annomaly you refer to is not the case in this situation or very many others...


----------



## larsch

I was referring to this post by john:



johnb35 said:


> I know it wasn't true when I was running XP 32 bit with my 1gb 6870.  Still showed up as 3.25 or 3.5 I do believe.  I would have to boot back into my xp install to verify.



The point I was making later is that the mapping is not 1:1. Which is also what the guy was talking about in that Microsoft kb.


----------



## Okedokey

And im answering the OPs question, how about you try that.  But if you're right, may be you should write to MS and correct them


----------



## larsch

bigfellla said:


> And im answering the OPs question, how about you try that.



I think I have already done that. The address space reserved by the graphics card is usually smaller than the amount of vram (if more than 256 MB).


----------



## Okedokey

A 5770 CF set up will reserve 2GB, you know how I know, I had that set up.

Secondly, the moment that GPU set up requires 1GB as in gaming (easily done), your system memory availability will drop to what I say. It has to.  Which is the point of the OPs question.


----------



## larsch

The picture is a bit bigger. A lot of stuff will be assigned address space, not just the graphics card. Then there is alignment and stuff. Then there is where the bios makes the cut between mmio and system ram space / remapping line.

The result of the total equation can be that you have 2 GB left to system ram below the 4 G address line.

To add a bit more about remapping: Depending on the bios, if you have 2.x GB available address space for system ram below 4 G, you will probably end up with only 2 GB, if you enable memory remapping in bios. Just an example.

Edit:



bigfellla said:


> Secondly, the moment that GPU set up requires 1GB as in gaming (easily done), your system memory availability will drop to what I say. It has to.  Which is the point of the OPs question.



The graphics driver can address whatever vram it needs to by writing to the control registers. The "window" (address space allocated in the cpu's address space) is not fixed to a specific area in the vram. Also, the gpu can easily address all the vram internally. The address space allocated doesn't grow.


----------



## Jiniix

M3A32 MVP Deluxe This is the motherboard. 
Be my guest to find chipset drivers for this boards, I'd like to know how you can say it's compatible.
With both this and the Wifi-AP board, there are no drivers under Windows 7 x32 and x64 available for download.
I've also manually downloaded SB600 drivers from AMD's webiste as well as tried using DriverGenius (which works flawlessly 9 out of 10 times in my experience)


----------



## johnb35

For the most part Vista drivers will work for windows 7 as well.


----------

