Vista 32-bit and 4GB ram
Built up my system, and trying to find out how much ram windows says I have. I kept reading how 32-bit vista would only report ~3GB ram if I had, say, 4GB physical ram installed along with a 512MB video card. The welcome screen in vista keeps saying 3.5GB. Is there somewhere else I can see this value that is more accurate, or what's the deal?
A 32-bit system can only use 32-bits to reference a memory address. So a 32-bit system can theoretically reference 4,294,967,295 addresses which would allow in reality it to reference just over 4gbs of memory. Pretty much every component in a pc needs to be assigned memory addresses by the OS, most only need a few kb but graphics cards can take up many mb's of addresses. Once all your components have been assigned their required memory any and all addresses left over will go towards main memory (RAM) which might be less than the amount of memory actually installed.
64-bit systems allow you to reference alot more memory but in return take up more memory as their addresses are longer and require more memory to be stored. So 64-bit systems are not recommended unless you are going for well above 4gb of memory.
In 32 bit Windows operating systems, the total addressable space available is 4GB. If you install a total of 4GB worth of RAM, the system will detect/use/display less than 4GB of total memory because of address space allocation for other critical functions, such as:
- System BIOS (including motherboard, add-on cards, etc..)
- Motherboards resources
- Memory mapped I/O
- Configuration for AGP/PCI-Ex/PCI
- Other memory allocations for PCI devices
Different onboard devices and different add-on cards (devices) will result of different total memory size. e.g. more PCI cards installed will require more memory resources, resulting of less memory free for other uses.
This limitation applies to most chipsets & Windows XP/Vista 32-bit version operating systems. Again, this is a limitation of the Operating System not having enough address space to allocate to the system *and* the RAM. Not allocating address space to devices renders them inoperable. Not allocating addresses to RAM simply results in the unaddressed section not being used in an otherwise fully functional computer. Therefore the OS designers assign RAM last.
We can have long debates about mathematical fundamentals and discussions about why the original Windows designers couldn't allocate the full theoretical max of 36 bits of address space so that users today would be able to use more resource. But at the end of the day, the designers and engineers 'Didn't Then'. So we 'Can't Now'.
If you install a Windows operating system, and if more than 3GB memory is required for your system, then the below conditions must be met:
1. A memory controller which supports memory swap functionality is used. The latest chipsets like Intel 975X, 955X, Nvidia NF4 SLI Intel Edition, Nvidia NF4 SLI X16, AMD K8 and newer architectures can support the memory swap function.
2. Installation of Windows XP Pro X64 Ed. (64-bit), Windows Vista 64, or other OS which can provide more than 4GB worth of address space.
Note: According to the latest Change Log published by Microsoft, Windows Vista 32bit SP1 will display the installed amount of RAM. This is a display change only.
I don't think that's what he was asking. It sounds like he knew about the issue, but he's seeing 3.5 gb's and assumed he would only have 3 gb's. So it's actually a reverse of the very common question—he hopefully understood the memory addressing issue beforehand, still went with a 32 bit OS, and now has more RAM than he thought he would. And therefore, he just wants to confirm that he actually does have 3.5 available.
Assuming I read your post correctly, to the OP: yes, the 3.5 gb figure should be accurate, if your graphics card uses 512. Programs like CPU-Z should confirm this.
Honestly, right now there's really no reason to go above 32-bit and 4gb of ram in the common desktop setup, and even in lots of high end setups. I'm going to fix my mobo issue and have 4gb running on XP, and then in six months, I'll get Vista. And I can't say I'd have any reason to go to 64-bit.
Seriously, people will go through so much just to see their system show them 4+gb of ram. It's ridiculous.
Wow, you all completely missed the point of this thread. Except for Othellomcbane and Jim_L9, you guys understood my question.
I was expecting to see 3 GB (as reported by windows) because I read, in the thread below, that with 32-bit windows COMBINED with a 512MB video card that your video card ram will take up part of the 3.5GB available for windows (3.5 - 512MB).
But instead, windows is STILL showing 3.5 GB (I was expecting to see only 3 GB).
Here is the thread, and the quote:
"4Gb with a 32-bit OS will still work fine, you're just going to not going to be able to use more then just over 3gb of it. And that's system memory, so it includes the 512mb from the vid card in the 3gb 32bit OS's can see."
"And as we've already pointed out, it's not 3.5 that you'll see... more like 3."
Quote: I was expecting to see 3 GB (as reported by windows) because I read, in the thread below, that with 32-bit windows COMBINED with a 512MB video card that your video card ram will take up part of the 3.5GB available for windows (3.5 - 512MB).
But instead, windows is STILL showing 3.5 GB (I was expecting to see only 3 GB). :end Quote
I'm playing stupid here, but isn't video memory aperature adjustable within the BIOS? I've always wondered what would happen if I set that aperature smaller than the memory installed on the video card. ....Sigh
I did some researched and discovered my assumption was way off. AGP used memory aperatures to increase available memory to the GPU. The video addressing was decoded by the Northbridge. On PCIx, the video address decoding is handled by the GPU which does not map the video memory byte per address. Perhaps this would explain configurations where people have two 512M video cards in SLI mode, yet do not lose 1 gig of memory address. I'll need to look into this with a bit more detail.
lschmidt said:Built up my system, and trying to find out how much ram windows says I have. I kept reading how 32-bit vista would only report ~3GB ram if I had, say, 4GB physical ram installed along with a 512MB video card. The welcome screen in vista keeps saying 3.5GB. Is there somewhere else I can see this value that is more accurate, or what's the deal?
Currently Vista shows Installed ram - Video card ram on that screen. In your case 3.5GB. From what I understand as well, other processes that require memory addresses aren't taken into account on that screen as well which is typically another .2-.3GB depending on hardware involved.
With SP1 that will change to the amount of physical ram installed on the motherboard. So if you have 4GB installed that's what it'll show.
guys I just upgraded to windows vista SP2 and I just got my 2nd stick of RAM on my system after that. Vista and CPU-Z shows that I have 4GB ram. Does that mean it will be using the 4GB of ram or is it just all for show?
My video card has 896 Mb of RAM, will the system also deduct that from my RAM max total of 4GB?
If you got 64 bit Vista then it will use it all, if you didnt then no it wont it will only use ~3.2GB, however there was a patch released to make vista show the correct amount. No one should be installing 32 bit OS's on new machines these days, its just a bad idea eventually we will need more than 4 GB of ram.