Assuming you mean 4GB of RAM, the only TRUE way to have access to all 4GB is to run a 64-bit operating system, which would point you to Windows XP 64-bit.
Windows XP Pro/Home has issues with allocating physical address space for devices. Windows XP, being a 32-bit OS, only has 4GB of memory space. Hardware devices will take I/O address resources from this 4GB. For example, the 3.75GB-4GB (256MB) memory space is reserved for I/O APIC and BIOS EPROM; 3.5GB-3.75GB is reserved for configuration-space memory-mapping access for PCI Express; 3.25GB-3.5GB is reserved for PCI bridge devices such as the IDE Controller, USB devices, and onboard audio. When you have a PCI Express graphics card with 256MB of RAM, 3GB-3.25GB will be allocated to the first PCI Express graphic card. A second PCI-E card would take another 256MB in the 2.7GB-3GB range.
You could play with drivers and try to enable the physical address extension, but that could cause some drivers to fail.
EDIT: Also, future OS'es like Vista should correct this problem, but your wait will be awhile as it was pushed back to early 2007. Rumors are speculating it won't be the final delay either