If i remember correctly... 32-bit systems can only address 4GB.
Problem is PCI cards also use address space, working out to about
250meg worth each i think. So you probably have 4 PCI cards in your
machine (4x250MB = 1GB missing RAM). If you take 1 PCI card out, you
should notice windows reporting your RAM as 3.25GB.
Somebody correct me if i'm wrong here, but there is no way around this
unless you upgrade to a 64-bit OS, which of course comes with its own
limitations
There seems to be some minimum allocation. So if a PCI card needed a
megabyte of address space, the BIOS would allocate 256MB. And if the
PCI cards needed a total of 257MB of address space, the BIOS would
allocate 512MB. PCI Express might cause something similar to happen.
And AGP aperture also takes a chunk, if AGP is present. (The various
Intel documents, like the chipset datasheets, usually have a section
that explains it.)
About the best you can do, is unplug all PCI Express cards, disable
PCI Express peripheral chips, unplug an AGP card if present, and use
a PCI video card. Then the address space might be 3.5GB or a bit
more. But who wants to completely hobble the computer, for a few
extra bytes ?
For some people who had two PCI Express video cards (for SLI usage),
I think they got 2.75GB in Windows. But if they want SLI and decent
sized texture memory, that is the price they pay.
The OP should continue to use the four sticks, because the memory
controller will run in dual channel mode that way. 4x1GB matched,
runs in dual channel. 3x1GB is unbalanced, and runs in virtual
single channel. 2x1GB + 2x512MB runs in dual channel mode, with the
loss of the ability to use certain interleaved memory controller
modes (but the performance loss in that case is minimal, so that
is a viable alternative config). But if you've already paid for
the memory, and the vendor won't take it back, 4x1GB with a little
wasted, isn't so bad.
Paul