Windows 7 Forums
Welcome to Windows 7 Forums. Our forum is dedicated to helping you find support and solutions for any problems regarding your Windows 7 PC be it Dell, HP, Acer, Asus or a custom build. We also provide an extensive Windows 7 tutorial section that covers a wide range of tips and tricks.


Windows 7: 32bit 4Gb Memory Limit Explained

11 Oct 2009   #11
Dinesh

Windows® 8 Pro (64-bit)
 
 

Now i m confused whether H2SO4 is right or the OP.


My System SpecsSystem Spec
.
11 Oct 2009   #12
zigzag3143

Win 8 Release candidate 8400
 
 

I think H2SO4 and the OP are saying similar things. OP says its possible in hardware and it is but its microsofts fault. Sulphuric is saying its possible but here is why it wasnt done and shouldn't be done.

Im sure if I have mis represented either they will let me know. Im no expert

Ken
My System SpecsSystem Spec
11 Oct 2009   #13
logicearth

Windows 10 Pro (x64)
 
 

Quote   Quote: Originally Posted by Dinesh View Post
Now i m confused whether H2SO4 is right or the OP.
Simple really if you want lots of RAM and huge performance 64 bit. Not only do you get larger address tables, but the processor can handle bigger numbers at one time versus 32 bit.
My System SpecsSystem Spec
.

11 Oct 2009   #14
jimbo45

Linux CENTOS 7 / various Windows OS'es and servers
 
 

Hi there
This issue is slightly more complicated than would seem at first sight.
From a purely Mathematical standpoint 4GB is the maximum address that a 32 bit system can address -- 2 **32.

However some OS'es can "poodle fake" the addressing scheme to allow a higher range than this -- it also needs some extra hardware BTW.

What Server 2003 R2 (32 bit system) does for example (it can address up to 64GB RAM) is to arrange the addressing scheme as follows.

Instead of using a 32 bit address it takes the First 4 bits and uses these like a telephone area code for example 213 / 450 etc etc.

This means that the other 28 bits can be used as an address but you can have up to 16 banks of these.

So your address ranges could be something like this
1FFF FFFF
2FFF FFFF etc.

Note the OS must have methods of saving and "switching" the prefix byte to correctly address the the correct range of memory -- and it needs to be FAST otherwise the OS suffers.

I believe the hardware feature is called something like PAE and it must be enabled in the CPU for this to work -- I'm not sure of the exact name but that's conceptually how it works.

This feature isn't really of any use in 32 bit desktop os'es but was implemented for servers --when you have large Databases / servers with lots of concurrent users you DO need a load more RAM -- and at that time 64 bit CPU's weren't generally available so the method outlined above was a bit of a workaround.

Cheers
jimbo
My System SpecsSystem Spec
11 Oct 2009   #15
H2SO4

Win7x64
 
 

Quote   Quote: Originally Posted by logicearth View Post
Quote   Quote: Originally Posted by Dinesh View Post
Now i m confused whether H2SO4 is right or the OP.
Simple really if you want lots of RAM and huge performance 64 bit. Not only do you get larger address tables, but the processor can handle bigger numbers at one time versus 32 bit.
What logicearth said. That's the crux of the matter.


Quote   Quote: Originally Posted by zigzag3143
I think H2SO4 and the OP are saying similar things. OP says its possible in hardware and it is but its microsofts fault. Sulphuric is saying its possible but here is why it wasnt done and shouldn't be done.

Im sure if I have mis represented either they will let me know. Im no expert
Ken
My disagreement is primarily with the author of the referenced article. His conclusions are painted in such a way as to encourage people to feel ripped off, even though I suspect he probably has sufficient technical knowledge to understand that he's being deliberately biased. Longer version:

No pure 32-bit system can EVER go beyond 4GB (using the flat memory model). There are insufficient bits to describe any bigger numbers.

In the mid-90s, Intel recognised a looming problem and released processors capable of 36-bit addressing. When plugged into a corresponding motherboard, such processors could theoretically address up to 2^36 or 64GB of memory. It required the OS and drivers to support a mechanism known as PAE remapping so that regions of memory above 4GB became visible and usable.

This is not a trivial thing to support from a driver's point of view. Many of the numerous consumer-grade drivers (NICs, audio, video, AV, whatever...) were fine in a pure 32-bit environment, but they exhibited severe problems when attempting to deal with the complexities of PAE remapping. These issues manifested themselves as BSODs or silent data corruption.

Eventually, MS came to the conclusion that the 99% of home/small business Windows users who had 4GB of RAM or less were paying a BSOD penalty for the other 1% to be able to enjoy their >4GB machines. Their response was to deactivate PAE remapping functionality in "client" versions of Windows (XP, Vista, Win7).

"Server" flavours are different because the drivers are generally written to a much higher standard, plus the onus is on the (expert) system administrator to be judicious in their driver selection. Hence, 32(36)-bit "Server" Windows builds can still utilise PAE remapping to go beyond 4GB and all the way up to 64GB for the "Enterprise" and "Datacenter" versions.
My System SpecsSystem Spec
11 Oct 2009   #16
pallesenw

Windows
 
 

Before you guys write more about x86 architecture, PAE and driver development in Windows, why don't you try and research it first? Not much of what has been said here is true.
My System SpecsSystem Spec
11 Oct 2009   #17
logicearth

Windows 10 Pro (x64)
 
 

Quote   Quote: Originally Posted by pallesenw View Post
Before you guys write more about x86 architecture, PAE and driver development in Windows, why don't you try and research it first? Not much of what has been said here is true.
So what is not true? Care to enlighten us?
My System SpecsSystem Spec
11 Oct 2009   #18
pallesenw

Windows
 
 

The driver issue: as long as you write your driver according to the rules (and proper API), you don't need to care about what mode you might or might not run in, and how much ram there is installed. Some driver developers just think they are smarter than Windows and know every possible hardware configuration out there (which they don't and therefore might crash).

You said something about integer and register size. That is not relevant. PAE is about physical addressing only, not virtual.
My System SpecsSystem Spec
11 Oct 2009   #19
H2SO4

Win7x64
 
 

Quote   Quote: Originally Posted by pallesenw View Post
The driver issue: as long as you write your driver according to the rules (and proper API), you don't need to care about what mode you might or might not run in, and how much ram there is installed. Some driver developers just think they are smarter than Windows and know every possible hardware configuration out there (which they don't and therefore might crash).
I think it's a tautology to say that perfect software behaves perfectly.

Quote   Quote: Originally Posted by pallesenw View Post
You said something about integer and register size. That is not relevant. PAE is about physical addressing only, not virtual.
Surely you didn't join this fine forum just now only to point out that the 'P' in PAE stands for "physical"? If you believe there are technical inaccuracies in the information provided, please consider expanding on your points and providing details so that everyone can learn.
My System SpecsSystem Spec
11 Oct 2009   #20
Corpsecrank

Win7 64bit Ultimate
 
 

Quote   Quote: Originally Posted by logicearth View Post
Quote   Quote: Originally Posted by pallesenw View Post
Before you guys write more about x86 architecture, PAE and driver development in Windows, why don't you try and research it first? Not much of what has been said here is true.
So what is not true? Care to enlighten us?
Yeah good call because I think most of us are in agreement in this thread so far.

Most of what has been said is in agreement with posts before it and simply adds more facts to the discussion. And what has been said so far is in fact truth not just blabber from people that have not done homework on this.

Where did the original topic come from? Research into the subject how else would this all have been brought about.

Anyways so far those who have contributed to the discussion have all pretty much been stating the same thing except with added bits and pieces that help fill this all in nicely.

I think there is a lot to be learned reading this thread so far.

As for the author of the article? Well I won't say I completely agree with the view he has because he makes microsoft out to be a bad guy when really they never sat there and conjured up some way to limit ram so that we would have to pay more money to get more performance. I think that over the years developing the OS things just kind of fell in place to be what they are today.

But this thread is only intended as a learning experience because there is so much misleading information floating around the net related to PAE (Physical Address Extension) and memory mapping in general. I figured perhaps we could all gain a bit of knowledge from this. I think we have accomplished just that.
My System SpecsSystem Spec
Reply

 32bit 4Gb Memory Limit Explained




Thread Tools




Similar help and support threads
Thread Forum
MTU Limit - Test and change your connection's MTU limit
An MTU limit that is set too high can cause fragmented packets and packet loss on your connection. This tutorial will explain how to test if your MTU limit is sending fragmented packets and will explain how to find what value you should be using. 1) Open an elevated command prompt and type: ...
Tutorials
Uncertain about memory changes - 32bit to 64bit;
Greetings, people! :thumbsup: After moreless a year making this idea into a decision, I came to the conclusion I was really silly not to ever upgrade or change my basic OS stats, and thus, always suffered with this under-the-average performance, overall - which led me to see I really need more...
Installation & Setup
memory limit on 32-bit applications running on 64-bit windows?
It is my understanding that, with Windows 32-bit, the OS can only access up to 4gb of Ram. To get access to larger amounts of Ram (such as 8, 16, or 32gb), one must have Windows 64-bit installed. Regarding applications though... if running a 32-bit application on 64-bit Windows, is the...
Performance & Maintenance
Can't see all my memory - not a 4GB limit problem.
I have an old HP A1030N with a PGTD1-LA (Goldfish3) motherboard and a P4 3GHz HT processor. I have an Audigy Soundblaster something-or-other sound card and an NVidia GeForce 9400GT video card. I'm running Windows 7 32-bit Ultimate. For a long time I've been running with 1.5GB DDR2 RAM (2x256 +...
Hardware & Devices
Windows 7 memory limit
Does anyone know if the 32bit version of windows 7 is going to have the 4GB memory limit that previous installs have? Installed onto Dell Latitude D630 with no issues. LOVE the new control panel. I think windows has finally done something real good here, as long as they write drivers like a mother....
General Discussion
mem test finding errors outside my memory limit...
is this normal??? yes or no http://i3.photobucket.com/albums/y85/sotorious2000/IMG00018-20091129-1328.jpg
Performance & Maintenance


Our Sites

Site Links

About Us

Find Us

Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd

All times are GMT -5. The time now is 06:01.
Twitter Facebook Google+ Seven Forums iOS App Seven Forums Android App