Question:
32-bit chips can only use about 3.5GB of RAM?
anonymous
2009-05-03 05:53:47 UTC
I read in several places that 32-bit chips (or is it OS?) can only use 3.5GB of installed memory and that any more memory is of no use unless one switches to 64-bit. Question is what is the calculation that produces this number of 3.5GB? Thanks
Three answers:
Bennybear
2009-05-03 06:50:05 UTC
@David, good for you. I can also edit office files in my telephone which has a total of 1GB memory card installed. Aren't we clever?



Binary system - adjust numbers because 1kb is actually 1024



so for one bit, your value is 2.

bit 2=2*2=4

bit 3=2*4=8

bit 4=2*8=16

bit 5=2*16=32



and so on... so you fo 64. 128. 512. 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 32768, 65536



That's up to 16 bit. 65,536 divided by 1024 gives 64 MB



but now we're up to 32 bit.

if you keep multiplying by 2, you get 4294967296

divide by 1024 and you get 4194304



Actually that's a little more than 4GB - so something has been stolen.



Some further investigation shows that Microsoft operating systems had trouble with using the memory - so BIOS is set up to reserve memory for it's own use and only allows about 3.5GB to the operating system.



Unfortunateley (as is normal for Microsoft) this messes things up for the rest of us.



Actually, my operating system is quite capable of addressing much much more - 1,840,000,000,000 GB I think. More than I can afford anyway, but I wouldn't mind being able to put 8GB or 16GB in my computer - as I can sometimes run out of memory if I am hosting Virtual machines.



So basically the calculation starts with current home PC's limited to suit Microsoft to around 3.5GB, and when you buy computers you should try to avoid the '4GB' limit for allowed RAM installations.
anonymous
2009-05-03 14:11:22 UTC
@BennyBear - Since Microsoft was not into chip design, this isn't a Windows problem-- it's an x86 hardware problem. Everyone likes to blame Microsoft for everything.



Anyway, for many years, it's been normal for personal computers to include a Memory Management Unit (MMU). MMUs were expensive add-ons for old computers, but modern CPUs all have one built in. A primary function of an MMU is to allow a computer to have "virtual memory", which in the PC world means "swapping" or "paging" data in and out of however much actual RAM you have as needed, keeping the swapped-out data in a file, or files, on hard drives.



Virtual memory is what allows your PC to have more than 4Gb of total memory, including the swap file(s). Memory management lets the computer augment its physical RAM, and lets programs running on that computer feel as if they've each got a simple solid space of memory available to them without treading on each others' toes. But virtual memory doesn't increase the amount of physical RAM you can have.



The explanation for the three-to-four-gigabyte problems is that modern computers include an arrangement conceptually similar to the old Upper Memory Area one. Many of the original Upper Memory Area MMIO reserved areas still exist today (for backward-compatibility reasons - otherwise you couldn't install DOS on a new PC), and a few more little ones sprouted above 1Mb as PCs went through their growing pains. Those are preserved today as well.



For this reason, a modern "3Gb" computer, which has 3,145,728 kilobytes of physical memory, is only likely to show something like 3,145,192 kilobytes available (look at the Performance tab in the Windows Task Manager, for instance). MMIO ranges "shadow" some of the physical memory, and so the system can't even see that RAM, at the hardware level.



3,145,728 minus 3,145,192 is only a shortfall of 536 kilobytes, though. So this 3Gb computer gives you 99.983% of the memory you paid for. Install more expansion cards in the computer, each of which is likely to eat some MMIO space for itself, and you'll lose a bit more memory. But you'll have to try pretty hard to lose even one whole megabyte.



I, for one, am OK with that.



But things get worse above 3Gb.



Large areas of the memory between three and four gigabytes are cordoned off for system devices in exactly the same way that chunks of the Upper Memory Area were purloined in the old days. Once again, the processor (and other system components) can talk with some devices by reading and writing memory addresses up above 3Gb.
anonymous
2009-05-03 13:09:29 UTC
I can't really answer the question the way you would like but I would ask how much memory is enough for what you do. I have a computer here (not windows) that I have used for 3 years with a 160 GB hard drive. In the 3 years I've used 9.9 GB or 6% and I do all of my personal business, spreadsheets, documents,letters, and research. Everybody wants the greatest computer they can get but nobody actually accesses what they will need.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...