Welcome to MSDN Blogs Sign in | Join | Help

When 4 = 3

I just built a new machine and loaded it up with RAM to 4 GB. Little did I know that I would need a 64 bit version of Windows to use it all. After all 32 bits allows for 4 GB of address space, and the Microsoft web site says Windows 32 bit can handle up to 4 GB. But in most cases, if you want to use more than 3 GB of RAM, you will need to use a 64 bit version of Windows, and even then you may still be stuck at around 3 GB depending on your hardware (Even if it says it supports up to 4 GB).  More
Published Sunday, August 13, 2006 2:14 AM by Chad Z. Hower aka Kudzu

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

Sunday, August 13, 2006 4:19 AM by 64bitter

# re: When 4 = 3

I think that's a bit misleading. The system is using all the RAM, it's just that some of it is reserved for certain devices. As I understand it, anyway.
Sunday, August 13, 2006 4:38 AM by Chad Z. Hower aka Kudzu

# re: When 4 = 3

No, thats not correct. What is happening is that the devices need memory addresses, not memory. This is used to communicate with the devices is my guess. ie for a video card to map its RAM into a space that Windows can see, or for SCSI to map its cache, etc... But absolutely it is not using the physical RAM and I've confirmed this with Microsoft engineers. The RAM gets hidden and is NOT usable.

Also if this were the case, then upgrading my machine to 64 bit I would still see the same amount of memory available, but I don't. I see more.
Sunday, August 13, 2006 12:20 PM by 64bitter

# re: When 4 = 3

So, you are saying that there is a physical chunk of RAM into which the kernel never maps  any address space  ?
When you say the RAM is not usable, what exactly do you mean ? It it obviously used by the kernel to talk to these devices.  

What I was driving at, was that this chunk of memory is probably a virtual address-space region that is always reserved for certain devices (DMA, maybe).  When you have less than 4GB, you don't see it. When your physical address space is equal to your VM space, you suddenly see "holes".

I would bet that if you were able to load a 64-bit system with memory equal to its address space, there would be "holes" in it as well. They would just be at a different place.



Tuesday, August 15, 2006 10:27 AM by 64bitter

# re: When 4 = 3

please disregard my previous comment(s). I now understand what you meant (via Raymond Chen's blog). Thanks !
Wednesday, August 16, 2006 3:16 AM by Chad Z. Hower aka Kudzu

# re: When 4 = 3

Is there a specific post in Raymond's blog that helped and might be worth linking to?

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker