ehcastro3

Distinguished
Aug 25, 2009
102
0
18,680
Forgive me for asking...

I planned on making a gaming rig, I plan on having around 4gb RAM then add more in the next months. The thing is, 32-bit OS's can only 'read' 3GB RAM (correct me if I am wrong), so I opted to get a 64-bit OS instead (maybe like Vista). The problem with 64-bit is (according to my friend), not all programs are designed to run on 64-bit OS's...

So should I get a 64-bit OS for it to read the 4gb RAM my rig has? or should I stay at 32bit OS with 3 GB ram?
 

amnotanoobie

Distinguished
Aug 27, 2006
1,493
0
19,360
What are these programs that don't work on Win 7-64?

I am curious as I haven't found anything that I commonly use that doesn't work on Win 7-64. (One exception is AutoCad 2009 as AutoDesk specifically locked out Win 7, but it works on Vista)
 

wathman

Distinguished
Jun 22, 2009
853
0
19,010
32-bit programs have not been a huge issue for 64-bit OSes because of the compatibility mode, occasionally a program won't like the compatibility mode, but it's pretty rare. The larger issue has always been hardware driver support with everything from host controllers to printers. Things are much better for 64-bit driver support these days fortunately.
 

leo2kp

Distinguished
32bit OS can't address more than 4GB memory, which includes the total sum of system, video, cache, and ROM memory. Since you have more system RAM than any of those, it will subtract from that to be able to address the rest of those components. That means, if you have a 512mb video card and 4GB RAM, it will subtract 512mb from your 4GB to to make room for the card. That's why you typically see anywhere from 3-3.5GB RAM on a 32bit OS. As you know, a 64bit OS can address many many times more than that.
 

wathman

Distinguished
Jun 22, 2009
853
0
19,010
The 512MB video card thing is true if you are talking about an integrated graphics card, or one that uses shared memory. Most discrete desktop graphics card have their own onboard memory, and do not share with the system's available memory resources.
 

Paperdoc

Polypheme
Ambassador


Right but wrong. The issue in 32-bit OS's is that, irrespective of whether the RAM is on the video card or just main board RAM devoted to video tasks, it still is accessed by memory address. A 32-bit system can use addresses only up to 4 GB no matter where they are. When a video card has its own RAM, what happens is the system sets a small pointer so that any attempts to access a specified range of RAM are re-directed to the video card, rather than the mainboard RAM.

Suppose you're a mail deliverer in a weird post office system that uses stickers on each package allowing house numbers up to 4 characters long. And that's ALL the address info you get, because there is only one street in town. You have no problem on 1st Avenue with the first 9,999 houses. But the people on that street with house numbers of 10,000 or higher will never get any mail because the addresses that high cannot be written on the envelope. By decree all artists live in house numbers from 8,000 to 9,999 and they get their mail that way. Everyone else has to live in house numbers from 0 to 7,999. This is using mainboard RAM. Wisely, town council is not hiring any contractors to build new houses beyond 9,999 on 1st Avenue.

Now along comes a developer who creates a new small 2nd Avenue out at the end f town with houses only from 8,000 to 9,999. He also changes the roads so that there's a permanent detour after 7,999 from 1st Avenue over to 2nd. Then they decree all the artists will live over on 2nd Avenue in the new houses. You still have no problem delivering their mail, but you can never get to the high end of 1st Avenue. That's OK, because nobody is living there, anyway. This is the model with dedicated RAM on the video card. But note that this upgrade for the artists does not free up any extra housing space for the rest of the people, because the end of 1st Avenue is unreachable.

But you move to a smaller town in which the builders have only made houses up to the 4,999 place and there still is no 2nd Avenue yet. Similar to the first town, here artists all live in numbers form 3,000 to 4,999, and there are only 2,999 places for other people to live. Your only minor issue is somebody has to be sure nobody tries to send a letter to house numbers from 5,000 to 9,999 because there are none - only empty lots! This town has unpopulated RAM slots on its motherboard.

Next comes that enterprising developer friend of the artists and builds that 2nd Avenue piece and the road detour. Nobody cares about the fact that the end of 1st Avenue is inaccessible, because there are no houses built out there anyway. You still have no problem delivering mail. Sure, the guy back in the main post office who checks the addresses now has to revise his rules so that only addresses from 5,000 to 7,999 are prohibited. However, moving those artists from their original locations to a new ones at 8,000 to 9,999 2nd Avenue has freed up all the houses numbered 3,000 to 4,999 on the part of 1st Avenue that still can be accessed, so the town can now accommodate more workers living there. It is more productive!

Along comes a second developer, VERY stubborn, who offers to build houses on ALL the vacant lots on the far half of 1st Avenue. Town council says why do that? Nobody can get to the end of the street beyond 7,999! The developer says "Not my problem, baby! That's my offer!" So town council has to decide whether to have those 5,000 houses built so that only 3,000 of them actually will be available for new workers. Whatever happens, you as the mail deliverer still have no trouble doing your job.

Meanwhile in the background the rumors are circulating that there's a really BIG town over to the west that makes all their mailing labels with 8 characters, not 4!
 

wathman

Distinguished
Jun 22, 2009
853
0
19,010
Your explanation makes sense, in a communist sort of way. The government keeps segregating the artists, evicting them from their homes, and making them live in a special area. Anyways, how does dedicated video memory size fit into this picture? For example, if I were to for some crazy reason decide to buy a Gfx card with 2GB onboard dedicated RAM on a 32-bit OS system, would that reduce available system memory to only 2GB assuming 4GB was installed? If I were to drop down to 2GB system memory, what happens then?
 
Paperdoc sure took the long way around his explanation, but he's right. The GPU RAM is subtracted from the available system RAM in a 32-bit OS regardless of whether the RAM is on the GPU or shared.

I've seen people come on here wondering why their new i7 system with a 32-bit OS, 6GB of RAM, and SLI GTX 275's is running like crap. :)
 

jared51182

Distinguished
Aug 14, 2009
307
0
18,810


So yeah, basically, with 4gb system, and a 2gb card, you end up with 2gb system and 2 gb card. If you dropped down to 2gb system, then your total system would be at 4gb (2gb system, 2gb card).

What I don't know is why the vid card takes precedence over the system memory. Anyone know?
 

wathman

Distinguished
Jun 22, 2009
853
0
19,010
Seems like no answer yet. I haven't upgraded to 64-bit OS yet, so I have 4 GB system RAM on a 32-bit edition of Vista. I'll be getting a Radeon 5XXX series when available, so it should have at least 1GB RAM. When I get one, I can do a quick test to see what happens if I try to Run the system with 1 GB RAM and 1 GB video.
 
The answer to why the video card takes precedence isn't easy to answer. The GPU RAM is always allocated first. That's just the way that Microsoft decided to set the RAM priority. It makes sense to me since if your GPU doesn't have enough RAM to do its job then bad things will happen. System RAM is a little more forgiving since it can use the page file. There's more reading material on the 4GB 32-bit OS limit than you could ever read, but here's a couple links and quotes:

http://www.vistaclues.com/reader-question-32-bit-vista-memory-limits/

"no 32 bit operating system will be able to see more than 4 GB total memory of any sorts. This means if you plug a 640MB video card in, a 32MB sound card, and have assorted ROM and cache on your motherboard equalling about 16 MB, the most of your RAM you’ll be able to see is 4096MB – 640MB – 32 – 16, or, approximately 3408MB. If you’re running SLI 640MB video cards, you’ll be lucky to get 2.7gig of your 4 gigs. SLI 768 cards, you’ll be lucky to see 2.2GB. There is no fix, no magical patch, or ability for any general use 32bit operating system to go beyond this number."

That quote was posted by user "Rich".

http://www.tomshardware.com/forum/237236-45-recognise-ddr2

"XP 32 can use up to 4 gig of memory, that is total memory in your system, counting everything else that has memory on it, in, or attached to it, not just the RAM you are looking at.

For instance, if you have a video card with 512meg of memory, it's address space be allocated first, leaving only ~3.5 gig of main memory available for Windows to use.

Add a HDD with an 8 meg buffer, there goes another 8 meg, add a sound card with on board memory like 525k, there goes another half a meg.

These systems will have their memory allocated first, what ever is left over up to the 4 gig is what you will have available for XP to use from your main memory, or RAM.

On most commonly configured systems, with a couple of hard drives, a 512 meg video card, sound card card, controller cards, etc. Most people wind up with around 3-3.4 gig of main memory available for XP to use."

That quote was from jitpublisher.
 

Paperdoc

Polypheme
Ambassador


Not merely communist - more like any form of authoritarian "government". Nazi Germany's government in the 1930's and -40's did these things all the time. What do you think Apartheid was all about, and NOBODY would consider the South African power holders of those days to have any sympathies for communism.

Anyway, leave aside the politics of a mythical town. In a 32-bit system the OS can only use addresses up to 4GB. If you have 2 GB of mainboard RAM plus 1 GB or 2 GB of RAM on a video card, the video card memory space can be fit into the empty space above the mainboard RAM and there is no overlap in terms of addresses. So ALL your mainboard RAM is available for the system to use, plus the video RAM. Well, except a small part this way: in fact, your OS will reserve a certain amount of real mainboard RAM for its own purposes - typically 0.2 to 0.4 GB - that won't be free for use by applications, no matter how much RAM exists. So, with 2GB of mainboard RAM plus a video card with 1 GB of its own RAM, your system will operate with about 1.6 GB of Free Space in the RAM for applications and data to use.

Now, stick in 2GB more of main RAM, total 4 GB. The video card still has to be in that address space (usually at the top of the range), so the system CANNOT use the mainboard RAM that happens to fall in the same address space. It can only access 3 GB; of that, maybe 0.4 GB is reserved by the OS, so apps and data have access to 2.6 GB. For this reason, some people put in 3 GB of mainboard RAM because it provides for apps and data exactly the same space as 4 GB, but ONLY if you have a 1 GB video card. More recently many have not bothered with this because 2 x 1 GB became almost as cheap as 2 x 512 MB. However, if you have a 512 MB video card plus 4 GB of mainboard RAM, there is a difference. In that case only 512 MB of addresses are used up, leaving 3.5 GB available in main RAM. Of that, 0.4 GB is reserved for the OS, leaving 3.1 GB for apps and data.

If you switch to 64-bit OS the addressing capabilities are HUGE; however, current 64-bit Window caps itself off at 16 GB. That still means that you can easily install 8 GB of RAM (assuming you have the mobo sockets and the RAM modules) and the video RAM of whatever size (haven't seen any over 2 GB) still has lots of space to be located outside that 8 GB region. So the OS can use all 8 GB, less its own reserved area, making about 7.6 GB free for apps and data.
 

wathman

Distinguished
Jun 22, 2009
853
0
19,010
That explanation really helps complete the picture on the limitation of 32-bit OSes. When I was upgrading to Vista, I really wanted to make the switch to 64-bit then, but all the horror stories of driver support of 64-bit XP users caused me to choose Vista 32-bit. Since I do clean installs on OS updates anyway, I'll be migrating over to 64-bit land when my copy of windows 7 comes in.
 

caqde

Distinguished
What I would like to see is (for the hell of it), is what happens when someone puts a HD 5870x2 (2GBx2 - 4GB video memory) or similar into their SLI/Crossfire setup into their system and tries to run a 32bit OS.. What will windows XP/Vista/7 32bit do?