XP Memory Hole Help

actrinh

Distinguished
May 14, 2006
2
0
18,510
Hi,

I'm sure there's a thread on this but I can't seem to find the answer to it. I have 4 Gigs of DDR RAM running on XP (32-bit). But Windows system only sees 2 gigs. I'm a newbie and not tech savvy at all. How can I make XP see all 4 gigs? I'm running Premiere Pro CS3 and it crashes whenever I try to render a 1080p movie. Here are my system specs in a nutshell. Any help would be greatly appreciated as I have a hot project for a class that is due soon. Thanks in advance.


Windows XP Professional (32-bit)
Service Pack 3
Intel Core 2 Duo E6750 (2.66)
2.67Ghz, 4 GB of RAM (only 2 recognized by XP)
approximately 1.5 TB HDD space
 

505090

Distinguished
Sep 22, 2008
1,575
0
19,860
32bit os's utilize 4 gb, but that space is first taken up by everything else in your comp before it gets to the sys memory. So when the comp gets to assign memory you get whats left of the starting 4 gb. My install actually sees 3.5. What i would do is verify in the bios the chips are being seen. And if that dosn't fix it strip the comp down and add one part at a time till you find what holding the addresses.
 
Mine sees 3.3 GB in XP, but my video card only has 256 MB of memory. actrinh didn't provide any info about the video card, but it has to be taken into account. I wouldn't recommend stripping the system down until we know about all hardware components that are installed.
 

actrinh

Distinguished
May 14, 2006
2
0
18,510
Thanks everyone. Yeah, I think because I have 2x (512MB video RAM) that it will take up some of the allocation of the physical ram.
 
I've noticed a trend: a SLI setup seems to eat twice as much address space is it should.

Based on his specs, he should have (4GB - 256MB (System/Mobo) - 1024MB (GFX Cards)) 2.75GB, but he only sees 2GB. I see this a lot with SLI setups, where its almost like they eat twice as much space as they should...
 
In a computer all bytes in the memory system need a unique name. This is called an address. For example, if you have 2 GB of main memory, then there are 2147483648 bytes of RAM in your machine, each of which require an address for the operating system to communicate to it. To give these all an address you need 31 bits to do it. Now, if/when you have 32 bits, you can name 4 GB (2 bytes to the 32nd power = 4GB).

This is why the total addressable space available in a 32 bit OS is 4GB – the OS runs out of addresses and cannot communicate/locate any more bytes of memory because of that.

You may think ”Hey, 4GB of address space… 4GB of RAM… What’s the problem” The problem is that memory isn’t the only thing needing an address. 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.