Hello Codex let me see if I can explain.
Ok I will explain Vista but it is same princible as XP.
The princible of limitations is due to many things.Which include hardware,chipset,
CPU,even the manufacuture setting limitaions on there hardware even down to choice of installed OS.
Ths simplist idea of the limitations is also a persons budget.Manufacturers will make cheaper boards that take smaller CPUs,less
RAM ,less hard drive connections,less CD/DVD rom drives than can be installed.
Back in the day most people got by with 256MB or less of
RAM and if you were a bit of a power user, you might have gone for 512MB or even 1GB. However, PCs are starting to appear with much more
RAM and it's cheaper than ever to upgrade a PC with some serious amounts of memory. How much is actually usable though is another matter and there are a few limitations you need to be aware of to avoid disappointment when you find that even though you installed 4GB in a PC, your PC either can't see it all or won't let you use it.
Version32bit Limit 64bit Limit
Windows Vista Ultimate 4 GB128 GB
Windows Vista Enterprise 4 GB128 GB
Windows Vista Business4 GB128 GB
Windows Vista Home Premium4 GB16 GB
Windows Vista Home Basic4 GB8 GB
Windows Vista Starter1 GB n/a
Windows Vista and Memory
Vista comes in two main flavours 32bit and 64bit. 32bit Vista can, in theory cope with up to 4GB of
RAM with 64bit Vista going to 128GB. In that respect it broadly mirrors Windows XP. However, things aren't quite that straight forward as this table shows. The limits are fairly sensible though at this point in time and not many people with 64bit Vista Home Basic are going to feel hard done by with an 8GB limit. Any real power users are going to have Vista Home Premium or Vista Ultimate and these have quite enough capacity for any current or foreseeable uses.
So, you go out, buy 4GB of nice fast
RAM for your PC, load it up and reboot. With trembling hands you check how much memory you have and Windows reports 3GB. Huh?
This is where is starts getting messy. Just how much memory you actually get depends on many things. Let's start at the most basic level.
BIOS
Your BIOS may limit how much memory your system can use. Even if you can physically put in 4GB, the BIOS may only recognise 2GB or some other value. If you're lucky, you can update the BIOS and get access to more but not always so check your motherboard and BIOS's specs first. Most decent manufacturers continue to produce updated BIOS's for boards long after they've stopped making them so if your PC is a year or two old, you are probably going to be in luck if this is your problem.
Hardware
The motherboard itself may have constraints from the chipset which could limit the maximum amount it can cope with - some boards can only cope with 8GB, some much less, again, check first. More of an issue is that a large chunk of a PC's address space (the range of memory locations it can use) are reserved for use by the different bits of hardware you can have plugged in. Your graphics card, sound card and other bits of kit all reserve ranges of addresses for communicating with the system via memory mapped I/O or MMIO. To help get around any clashes, Vista's 32bit versions actually limit how much memory you can use in practice to 3.25GB (See
support.microsoft.com/kb/929605)
Most hardware is designed to map itself above the 2GB area as historically, the chances of any real memory being there, especially in a consumer environment was vanishingly small. On a typical system, according to Microsoft, you'll lose between 200MB and 1GB of address space and thus usable memory to your hardware. One of the worst culprits is graphics cards - they might not use 512MB of actual memory but they will use 512MB of address space stopping you using the memory that is physically there.
You can see here a typical PC's MMIO usage. You can check your own by going to the device manager and selecting the "View Resources by Type" menu option.
If you use a 64bit version of Windows Vista you'll be able to use more than 4GB of memory but you'll still get hit by the MMIO issues so if you install 8GB of
RAM, expect to use perhaps 7GB.
Conclusion
We'd say that if you're running a 32bit version of Vista (or XP for that matter), not to bother putting in more than 3GB of memory - you just won't get the use of anything more. Certain companies such as Dell actively market PCs with 32bit Vista and 4GB of
RAM - surely a waste although their small print does warn you'll only get to use 3GB of it.
On the other hand, if you are running a 64bit version, you are better placed but make sure your BIOS and motherboard are able to cope with the amount of memory you intend installing to avoid disappointment and don't forget, you'll still be losing some of it to MMIO.
I have marked your thread as "Open" so others can give there opinion on this for you.
JB.