http://www.tomshardware.com/forum/258528-30-explained
A 32-bit OS only has 4GB address space, or space where memory addresses can be mapped. After space is put aside for the motherboard (256MB is what I use for my comparisions), any device that takes up RAM needs to be subtracted. As such, if you have a 512MB video card, you get:
4GB - 256MB - 512MB = 3.25GB of avaliable system memory.
Note, dual GPU cards behave diffrently; a 1GB dual card only takes up 512MB address space, as the second 512MB is not used (and not mapped as a result), which is why a 32-bit OS can boot 2x 4870X2's (2GB each).