32bit CPU with 4GB of RAM

MidoBan

Distinguished
Sep 30, 2009
61
0
18,630
Hi, i just upgraded my ram to 4GB. After i installed it, i noticed that i only see 2.87GB of ram in windows (xp 32bit).
Now, i realized that the 32bit windows has a limitation of ram and i cant see all the 4GB that i got.
I also read that Intel motherboards take the graphics card's memory from the ram, and i have a 1GB graphics card.
Now, I'm thinking of upgrading my CPU to a 64bit one and install win xp 64bit, will i be able to see the whole 4GB after that? Will it improve the performance? If the fact about the Intel's motherboards is true, won't it still take the memory out of the ram?

CPU: Intel Pentium 4 530
Motherboard: Intel D915PCY

Thank you!
 
Solution
It's less a matter of a limitation on the motherboard (though there clearly are some that do have limits), and more a matter of how much address space the OS has. The limit for a 32 bit Microsoft desktop OS is 4GB of address space - but this includes *everything* that's installed, and not just RAM: devices, communications, video.. Anything with Memory Mapped I/O takes a portion of that address space, and RAM is last in line for it's share. I've seen people argue they want their memory addressed first, and although that would give RAM it's full allocation what would happen is nothing else on the computer would work - because the OS doesn't have an address to use to communicate to/from it.

Now - Going to a 64 bit OS will...
The cost of changing motherboards, cpu, and operating system isn't worth it. Your board probably won't take a 64 bit cpu. It's too old. I had virus attacks with xp 64; I won't use it again. I would wait until windows 7 comes out for a complete upgrade or get a cheap oem system with 7 already installed and go from there.
 

MidoBan

Distinguished
Sep 30, 2009
61
0
18,630

my board does support a 64bit CPU, What i dont understand, is how is it that if i'll upgrade to win xp 64, the memory wont be taken by all the devices (graphics card, sound card, and etc'...), and in 32bit it will?
 

MidoBan

Distinguished
Sep 30, 2009
61
0
18,630

i know, thats y i said i wanna buy a new CPU, thats not my quastion..
 

dunklegend

Distinguished
Apr 7, 2005
2,079
0
19,810


With 32 bits, the OS can only address 4GB of total memory including RAM and video, with the 64 bits OS you will be able to address 16GB or more depending on the motherboard.

Theoretically, the number that can be addressed is much higher, but it's held back by the motherboards.
 

MidoBan

Distinguished
Sep 30, 2009
61
0
18,630


Ok thanks for the answare, but after i'll upgrade to 64bit, i'm still not planning on buying more then 4GB of ram, so those devices will still take memory from the 4GB and i wont be able to use it all, right?
 

MarkG

Distinguished
Oct 13, 2004
841
0
19,010


The 32-bit CPU in Windows can access 4GB of memory (physically it can access 64GB or 128GB, I forget, but desktop versions of Windows don't support that). When you plug in a graphics card or whatever, the card says that it requires xMB of memory addresses, and the operating system then allocates addresses to that card: for example, if the card requires 512MB of memory addresses so that programs can directly write to its memory, then the operating system might locate that card at 3.5GB up to 4GB, so then only 3.5GB of actual RAM would be available for program use.

With a 64-bit OS, the operating system can remap the 512MB of RAM which is physically at 3.5GB up to 4GB, so you then see:

0-3.5GB - RAM
3.5GB-4GB - video RAM on GPU
4GB-4.5GB - RAM

Then the OS has full use of all the RAM in the system (usually there's some overhead so you don't get exactly all of it, but within a few megabytes).

With a newer graphics card and host chipset, the OS can map the video RAM to a 64-bit address, so that it might map the card to the top of memory instead, and you'd see RAM at 0-4GB and then the video RAM at some huge high memory address.
 
Well, my bad if you can find a 64 bit cpu for your board; it's difficult to find specs on Intel's website. But do you really want to put another p4 cpu when you can change boards and use a core2 duo or quad core? It still doesn't make sense just to use the 64 bit xp version. Do your upgrade right and get a newer board and use core2 duo instead of another p4.
 
It's less a matter of a limitation on the motherboard (though there clearly are some that do have limits), and more a matter of how much address space the OS has. The limit for a 32 bit Microsoft desktop OS is 4GB of address space - but this includes *everything* that's installed, and not just RAM: devices, communications, video.. Anything with Memory Mapped I/O takes a portion of that address space, and RAM is last in line for it's share. I've seen people argue they want their memory addressed first, and although that would give RAM it's full allocation what would happen is nothing else on the computer would work - because the OS doesn't have an address to use to communicate to/from it.

Now - Going to a 64 bit OS will *very* effectively solve the address space issue {XP64 supports 128GB of address space, which is waaaaay higher than anything commercially available for desktop usage}. A 64 bit Windows OS will run your 32 bit Windows code pretty much unsullied. While not perfect, IMHO Microsoft deserve a LOT of credit for making this work as well as it does. Performance~wise, it's pretty much a wash because there's a little bit of extra work that needs to be done by the OS to run 32 bit apps, and 64 bit registers consume a little extra address space than 32 bit ones. It's not a big overhead, like some may want you to believe, since the binaries run still natively. But there is a second set of libraries and some 'traffic cop' redirection going on in the background.

The catch is that a 64 bit OS requires native 64 bit drivers. For newer hardware, this isn't an issue because Microsoft issued an Edict along the lines of "Thou Shalt Write Native 64 Bit Drivers For Everythhing With A Windows Logo, Forever and Anon. Praise Be to The Great Gates". But for older devices, it's.... different. In your case, for the hardware you listed, I would strongly advise you stick with XP. If you are going with a new build from scratch, then I would advise going straight to Win 7 X64 (available on pre-order - Oct 23 release date), and planning your build for the end of the month.



As far as "taking memory out of the RAM" - I'm unclear what you mean by this. RAM is memory. The limitation I referred to in the beginning of the post covers this: You have a 4 liter(GB) bottle that all the computer's 'stuff' needs to fit inside. So you put some in the bottle for communications. Put some more in the bottle for Installed devices. Then put even more in the bottle for Memory Mapped Video... At that point, there's clearly much less than 4 liters worth of space left over. If you then try to add 4 liters of Memory to the already partially full bottle, it doesn't all fit. That's the 'issue' with 32 bit desktop Operating Systems: The address book is only so big.
 
Solution

MidoBan

Distinguished
Sep 30, 2009
61
0
18,630

yeh i thought of that, but than i found a pentium 4 64bit used CPU for 40$.. So what the heck, 40$, it worth the ram usage..
 

MidoBan

Distinguished
Sep 30, 2009
61
0
18,630

THANK YOU!! Now i understand, The bottle metaphor did it.. Thanks again! I'm going for a used eBay 40$ 64bit pentium 4 and win xp 64bit! SOLVED!