Bienvenido! - Willkommen! - Welcome!

Bitácora Técnica de Tux&Cía., Santa Cruz de la Sierra, BO
Bitácora Central: Tux&Cía.
Bitácora de Información Avanzada: Tux&Cía.-Información
May the source be with you!

Friday, April 23, 2010

Windows 7 x86 Memory Hack


modern 32-bit versions of Windows can support more than 4GB RAM (up to 64GB of as shown here

PAE is not the whole story. While the processor and OS might well support more than 4GB of physical memory, the memory controller needs to have the appropriate number of address lines. In all but the latest Intel CPUs, the memory controller was a par of the chipset. Latest chipsets have more than 32 address lines, but some older ones (which were still used in new models some 2 years ago or even less, i.e. Intel 945PM) have only 32 (which amounts to 2^32 bytes or 4GB of physical address space). Those address lines need to be shared with other hardware (mainly the GPU), so there's no way you can address 4GB of physical RAM on those chipsets, no matter the OS.

32bit versions of windows use 64 bit physical addresses since NT 4. It can't use more than 4GB in a single virtual address space, but there are always multiple virtual address spaces, one per process actually.
It doesn't truly support over 4GB, it "fakes" it. Older OS's also had this feature but removed for some odd reason. Its called PAE or Physical Address Extension. There are limits though, for example with PAE, 1 Application can only use upto 4GB of ram.
In a true 64bit system, a application can use more than 4GB of RAM.
I remember prior to XP SP1 or SP2 they allowed to you activate PAE via the bootloader, but removed it in later Service Packs.
PAE can cause problems with your system, for consumer purposes it causes problems you can read online as to why, however for server purposes they have more things to "limit" it which works a lot better.
PAE can be turned on if you ran the following command in command prompt, but i highly recommend you not to:
BCDEdit /set PAE forceenable
Support and Using are 2 totally different things.
Architecturally, there is no way that 32bit windows can use more than 4GB or ram, since it just doesn't have enough bits to allocate that much ram. its only 2^32, which is the actual "hard" limit on the Operating System and in some older computers which doesn't support 2^64 (64bit).
Anyways why dont you just install 64bit Operating system instead of attempting to hack it? 
The other option of using more than 4GB of ram on a 32Bit OS is to "enable" the PSE-36
option of the CPU. In this mode the CPU uses 36-Bit values to adress the RAM and offers the OS RAM-frames so the 32-Bit OS can handle it.
Oh and yes.. your chipset must be able to handle 4GB or more...

No comments: