You don't understand why your OS "doesn't see" all 4gb of the memory, instead of starting the "4 millionth thread on this" please read this Microsoft article that explains the issue in detail. If it still doesn't make sense, please search the forum or google the problem. I'm posting this as I tried to find answer to a separate memory problem and all I found was a gazillion threads on this matter.
This article answers your questions.
http://support.microsoft.com/kb/929605/en-us
Mods, can you please take this thread or one like it and turn it into a sticky? If you must persist, here's an article in regards to PAE that may allow you to get closer to see 4gb in your 32bit OS if you must.
For anybody interested in PAE check out.
http://www.microsoft.com/whdc/syst [...] AEdrv.mspx
http://msdn2.microsoft.com/en-us/library/aa366796.aspx
(If you don't undertand what PAE what that means, please read the article.)
Why can't it read all 4?
Basically it's saying that the hardware I/O needs to keep a certian amount of system memory for itself.The amount of memory it uses depends on the hardware in the computer and how it's configured.
Dahak
You want to run all 4GB of RAM, you need a 64-bit OS. This issue is becoming a dead horse on this forum.
To the Moderators: CAN WE PLEASE HAVE A STICKY ON THIS ONE?
Haha, I kid...I kid. Because it is posted so much, you would think that people would actually have the attention span to AT LEAST make it to page 2 (because you know it gets asked about once a week) to look up an answer. But do they...NOOOOOO... Do they even google it? NOOOOO...
I agree with the sticky but I think people go right to posting and do no research what so ever. It is sad though...it is like watching lemmings march over a cliff but annoying because you can't prevent it.
At very least maybe we should link those threads to a sticky or thread at the very least instead of spoon feeding everytime.
I don't think a sticky should imply that pae is useful on xp and vista to go beyond 4G, because it isn't. On xp/sp2 and vista, pae is used only for dep support
hmmm the question is, do current AMD based offerings such as the x2 and phenom support the PAE hardware abilities? I think it should, due to how long ago the Pent pro came out.
yes, all amd and intel processors support pae. But that doesn't do much, if Windows doesn't make full use of it
thanks for starting another thread on it
It is cruel irony isn't it? Just pretend it is the elephant in the room...no one talk about it...we can only refer to this as "it" or "that thing that gets posted twice a week."
Doh...I said it...I said it again...thats two its...
hehe this old favourite...
Here's the answer for any morons that post because their 'precious new 4gb build doesn't see all 4 gb'.
RMA whole computer and go to www.dell.com
cyberjock, why do you call them morons? It is a very natural thing to wonder why this happens. Not all people is this world know the architecture of a pc
This is why when I ordered my laptop and was asked to pay and extra $200 for 4GB of RAM over the 3GB, I said no. I probably wont run 64-bit OS for one reason: driver support. Its just not there 100%...yet.
| cyberjock wrote : Here's the answer for any morons that post because their 'precious new 4gb build doesn't see all 4 gb'.
|
| dengamle wrote : cyberjock, why do you call them morons? It is a very natural thing to wonder why this happens. Not all people is this world know the architecture of a pc |
i think what he's trying to say is...if you don't know this, and still insist on building your own...well....
seriously! it even says this on the box your ram comes in, as well as your 32 bit os!
remember that far side comic, with the kid trying to enter the "school for the gifted" by pushing with all his might on the door clearly marked "pull"?
i believe that was the sentiment expressed. if you can't read/accept instructions (or even the freakin' box your components came in!!!), dude, you're gettin' a dell.
| Quote : Mods, can you please take this thread or one like it and turn it into a sticky? If you must persist, here's an article in regards to PAE that may allow you to get closer to see 4gb in your 32bit OS if you must. |
We already have about two dozen better candidates for a sticky about this. So this was basically a waste.
Unless I and about ten million geeks are wrong about this PAE will NOT get you any more RAM on a MS consumer OS. Server, yes, consumer no, not anymore at least. It was causing driver problems so MS killed it, or so the story goes.
If you want to use your 4 gig on XP or Vista go 64 bit. Period.
BTW Vista, after sp1, is going to report 4 gig in system properties on 32 bit. You won't actually have any more use of your 4 gig then before but the system will show it in properties.
| runswindows95 wrote : You want to run all 4GB of RAM, you need a 64-bit OS. This issue is becoming a dead horse on this forum. |
This is simply not true. I run a 32-bit operating system and have access to the full 4GB of RAM in my system. However, if we are talking about 32 bit versions of XP SP2 or Vista, you will indeed not be able to access all 4 GB.
PAE was added to processors way back in the days of the Pentium Pro. That and a decent operating system is all you need to access 4 GB or more of memory. Indeed, even some of Microsoft's 32-bit OS's support 8 GB or more; 2000 Advanced Server, 2000 Datacenter Server, Server 2003, etc. Not exactly what you want for your desktop computer, but it shows that you do NOT need a 64-bit OS to access the full 4 GB (or more) of memory. Please stop spreading this misinformation.
How about a link to what users can expect if upgrading to a 64 bit os. What incompatabilities, and what shortcomings can we expect?
Some drivers, some older hardware...I'd like to see an article on just what exactly are the current pitfalls and when can we reasonably expect these issues to be ironed out.
I'm ready to adopt 64 bit now, but it would be nice to know what to expect beforehand. Especially for non-experts.
And what about sp3, how will that change the current landscape?
| buzznut wrote : How about a link to what users can expect if upgrading to a 64 bit os. What incompatabilities, and what shortcomings can we expect?
|
Come on in, the water is fine.
| supremelaw wrote :
|
That is a rather common way to address memory, one address = one byte. And it is not something Microsoft chose to do. That is how the hardware in a pc works
At the very beginning XP was allowed to go beyond 4GB, with the use of PAE. With PAE you still have one address = one byte.
Microsoft changed how PAE worked with the introduction of SP2, because of the issue with too many badly written drivers
ktheripper...now look what you started.
| yamla wrote : This is simply not true. I run a 32-bit operating system and have access to the full 4GB of RAM in my system. However, if we are talking about 32 bit versions of XP SP2 or Vista, you will indeed not be able to access all 4 GB. |
Okay, what's your OS? I've ran both versions of XP 32-bit, Home and Pro, as well as many Linux distros with 4GB of RAM, and they all only said 3.2GB was available.
| runswindows95 wrote : Okay, what's your OS? I've ran both versions of XP 32-bit, Home and Pro, as well as many Linux distros with 4GB of RAM, and they all only said 3.2GB was available. |
You need to have hardware support for more than 4GB of address space and memory remapping. In Linux you then enable PAE ...
Ah, then again, Linux is fast enough on 2GB anyway. so didn't bother with running 4GB on it.
| supremelaw wrote :
|
Yea that is basically correct. 32-bit systems only have enough address space for 4GB of allocated memory. However, allocated memory is made up of total physical memory and I/O address space. In this case the addresses required for physical space and I/O mapping overlap and I/O takes precedence. So the memory you see is the result of total physical memory - I/O addressed space.
| runswindows95 wrote : Okay, what's your OS? I've ran both versions of XP 32-bit, Home and Pro, as well as many Linux distros with 4GB of RAM, and they all only said 3.2GB was available. |
This is due to the fact that it is a limitation of 32-bit addressing used in IA-32 systems
| sweetpants wrote : This is due to the fact that it is a limitation of 32-bit addressing used in IA-32 systems |
I thought it was already covered in this thread. in x86 systems you just need to change mode, to be able to address more than 4GB. Linux supports this completely
| dengamle wrote : I thought it was already covered in this thread. in x86 systems you just need to change mode, to be able to address more than 4GB. Linux supports this completely |
I don't know enough about Linux to argue that, I'm just reiterating what I've learned over the years.
| dengamle wrote : I thought it was already covered in this thread. in x86 systems you just need to change mode, to be able to address more than 4GB. Linux supports this completely |
I'm also confused by what you mean when you say "change mode"
Translation mode. The process of translating virtual addresses into physical ones. PAE mode expands the address space from 32 to 36 bit.
AMD64 takes it even further. It has support for 52-bit physical addresses in PAE mode.
A link: http://technet2.microsoft.com/wind [...] x?mfr=true
| runswindows95 wrote : Okay, what's your OS? I've ran both versions of XP 32-bit, Home and Pro, as well as many Linux distros with 4GB of RAM, and they all only said 3.2GB was available. |
uname -a
Linux greed 2.6.20-16-server #2 SMP Tue Dec 18 05:52:19 UTC 2007 i686 GNU/Linux
free
total used free shared buffers cached
Mem: 4148616 3982832 165784 0 145156 3370996
-/+ buffers/cache: 466680 3681936
Swap: 7815580 1812 7813768
I'm not aware of any Linux distribution which does not include kernels to support 4 GB or more of RAM, though some of them do not make this immediately obvious. Right now, I'm using Ubuntu 7.04.
| sweetpants wrote : Yea that is basically correct. 32-bit systems only have enough address space for 4GB of allocated memory. However, allocated memory is made up of total physical memory and I/O address space. In this case the addresses required for physical space and I/O mapping overlap and I/O takes precedence. So the memory you see is the result of total physical memory - I/O addressed space. |
This has not been true since the Pentium Pro CPU. All modern x86 CPUs support 36 bit addressing modes.
supremelaw, i think there is something wrong with your math. You conclude that to address 4GB of address space you need 34 bits? You only need 32. Each combination of those bits points to a byte, which gives ... 4GB
Don't confuse how you then address a byte in a word og dword you have stored in a register or something, that is something else.
Edit: The PAE switch has always been available. So you cannot blame Microsoft for that. Driver developers just didn't figure (i guess) that home users some day would break the 4G barrier. And when you don't follow the proper guidelines for writing lowlevel software, you end up here ...
I cannot see how all that is relevant here. Itsn't that just to confuse everybody?
If you have an address bus with 32 lines, then you can reach 2^32 bytes. It doesn't need to be more complicated than that.
With PAE, you can use more than 32 lines because the structure of the page table allows it
This is all too much for my brain to comprehend... I paid for 4GB and I only have 3.25 GB. I'm gonna start another topic and see if I get a better response.
| supremelaw wrote : This is my understanding of the "problem":
|
I think you have a good understanding of the problem. I've worked with computers since the Air Force introduced me to them in 1970. I've seen this question over the ram come up from time to time and I too have tried to explain it as a M$ problem. I've been called an idiot, moron, and suggestion has been made that I have no understanding of computers. I gave up trying to explain it.
You are correct that if Bill Gates had wanted to allow 4 gig of ram to be recognized and used, that's what would have happened. At the same time, when XP came out 512 mb was a lot of ram and no one knew any good reason to buy 1 gb of ram. Had XP been replaced during a normal 3-4 year cycle and a 64 bit OS replaced it, none of these questions about ram use would have come up. A 64 bit OS would have easily allowed 16 gig of ram.
In fact, M$ did give a half hearted try to replace XP with XP64, but for reasons unknown to me, Gates decided to drop support of the idea. AMD had a processor that would support a 64 bit OS, and Intel developed one shortly after that, so the basic hardware was there. Unfortunately, without pressure from M$, few third party hardware companies bothered to develope drivers to run on a 64 bit OS, which contributed to XP64 never becoming popular.
Even now with Vista, since M$ made a 32 bit version, there has not been the imputous to develope drivers as there would have been if Vista was 64 bit only. Thus the problem remains one that is created by Gates and M$, not one that is caused by deficiencies of hardware, beyond the necessary drivers.
How can it be Microsofts' fault, that the programmers don't follow the guidelines? If they did, it wouldn't be a problem
| dengamle wrote : How can it be Microsofts' fault, that the programmers don't follow the guidelines? If they did, it wouldn't be a problem |
I think you've got it backwards. The programers did follow the guidelines, guidelines that were made by M$. M$ made an OS (XP) and gave its parameters to the programers, who then wrote programs and drivers to suit the OS. If M$ had made the OS slightly differently and then given those parameters to the programers, then they would have written the programs and drivers to suit that different OS. I place no fault on the programers, only on those who gave them the OS for which they were to write.
How does that make sense? If the driver lets Windows do all the address translation and stuff, then the driver wouldn't know about it, regardless of the mode.
ok, so maybe IBM should have went with I/O mapped I/O (like the 8080 and z-80 used) instead of memory mapped I/O. that way we can have all of our memory address space for program use (either in ram or rom). However, you still wouldn't get full use of 4 gig of ram, due to bios and addon cards roms taking up space.
Also, the progression of fetching 8 bit data to 32 bit data has confused it a bit as well. In reality, we are not addressing 4 gig worth of doublewords, but 1 gig unique locations, 4 bytes at a time (4 gigaBYTES). yes, you can access 1, 2 or 4 bytes at a time if you program properly, but when was the last time anyone has done that?? LOL
oh, how I miss the days of simple, flat memory maps.. you knew where everything was gonna be, didn't have to select a memory page to access the data.. I miss non-x86 stuff...
| michiganteddybear wrote : oh, how I miss the days of simple, flat memory maps.. you knew where everything was gonna be, didn't have to select a memory page to access the data.. I miss non-x86 stuff... |
But the physical memory space IS flat, in any mode you run it in
There are 1297 identified and unidentified users. To see the list of identified users, Click here.
You are about to answer a thread that has been inactive for more than 6 months.
If you still wish to proceed, please ensure that your posting is original and does not duplicate or overlap any prior responses to this thread.

