Now with regards to Deacon's statement, yes, you loose up to a gig worth of memory since the 32 bit architecture will not allow you to address the full 4 gigs, at the very most 3.5 gigs if you are lucky.
The only reason to totally lose that RAM is to accept Windows' assertion that it is 'Hardware Reserved' and somehow inaccessible. We all know this is no more true now than it was when Microsoft deliberately disabled PAE with XP-SP2.
Of course there are various kernel patches around that may or may not coerce Windows7 into using PAE (or more likely cause your machine not to boot), but there also exists a very simple way to put the 'Hardware Reserved' RAM to good use.
Install Gavotte's RRamDisk 1.0.4096.5 (latest)
Possible source
Run ramdisk.exe and create a 'Fixed Media' type RamDisk. The size doesn't much matter as far as I can see since the next step causes it to resize to fill the available 'unusable' RAM, but 768M is a good guess for a 4G system. Mine was sized at 768M, but in PAE mode it grew to 990MB.
Merge the included ram4g.reg to tell RRamDisk to use PAE. The .reg file contains nothing more than a setting for the RRamDisk driver that isn't on the GUI - it does not attempt to alter Windows behaviour in any way. Reboot.
Volume label of RamDisk should now be 'RamDisk-PAE'.
Create as large as possible permanent pagefile on the RAM Disk. (Don't change any other pagefile settings) Reboot.
Done - The start of Virtual Memory is now on a RAM Disk since Windows will automatically prefer this pagefile as the fastest, least trafficked volume. It isn't as fast as having the memory accessible in the conventional way, but it's orders of magnitude faster than disk based virtual memory.
Note that memory stats in Task Manager, Resource Monitor or whatever will be no different than before. Windows simply ignores that memory while RRamDisk does not.
Usage and preference of the RamDisk pagefile can easily be verified using SysInternals Process Monitor.
I've been running 7-x86 like this since forever. Totally stable.
Caveat: Hibernation
will not work since a huge chunk of virtual memory has no power-off persistence. 'Sleep' is perfectly fine.