ppdemo :
i need if you can remove all doubt because I think there is much confusion over the network, this is the point:
If I have w7 64bit and programs / application that I run is 32 bits (most are installed on the x86) it can use more ram if the 32-bit program was installed on a 32-bit OS?
I ask because I am not clear about the limitation of memory, the ram memory come to be limited only by the operating system i used or also by a 32 bits applications?
because otherwise I do not understand why i would add more ram on a 64bit OS (example 8 gb) if the majority of the games are 32 bits and I have seen these are installed in x86 folder ... well I hope answers and Greetings community
On x86 microprocessors running in protected mode (AKA 32-bit mode), long mode (AKA 64-bit mode), or compatibility mode (32-bit on 64-bit mode), program code executes in what's known as a virtual address space. Virtual memory addresses are translated into physical addresses through two mechanisms, segmentation and paging. Combined, these form a process known as Virtual to Physical Address Translation.
Segmented addressing is fast but obsolete, and is completely depreciated in 64-bit mode. Paging is where the fun stuff happens. The page translation process (called a page table walk) translates a virtual address into a physical address.
In protected mode and compatibility mode, the virtual address is 32-bits in size (4 bytes); this means that any single virtual address space (each process has its own) can address at most 4GiB of memory regardless of how that memory is laid out. The size of the physical address space varies though. Starting with the first 32-bit microprocessor (30386) it was 32-bits, and this continued through the Pentium MMX. These platforms could not support more than 4GiB of memory without using complicated bank-switching hardware.
In 1995 Intel introduced the Pentium Pro which featured the Physical Address Extension (PAE) technology which, when enabled, allows the size of the physical address space to exceed 32-bits. When PAE is not enabled, the physical address space is 32 bits and is each address is represented by 4-byte values so a protected-mode/compatibility-mode address translation without PAE is 32-bits to 32-bits. With PAE the physical address space is 36-bits or greater (44 bits is the current maximum used in Intel's high end Xeon E7 microprocessors) and each address is represented by an 8-byte (64-bit value). Ergo, when PAE is enabled, a protected-mode or compatibility-mode translation is 32-bit to 64-bit (of which at most 44 are used right now).
What this means is that if an operating system gives each process its own unique virtual address space, each process can address at most 4GiB of memory, but if PAE is enabled a 32-bit operating system can manage much more than 4GiB of memory. If more than 4GiB of memory is installed, a single process can't possibly address all of it at once but two or more processes might be able to. This is very useful for servers which may have many services running at once, but less useful for consumer platforms which typically focus on one application at a time.
Microsoft has supported PAE since Windows 2000, and 32-bit versions of Windows 8 require PAE to operate. Client versions of Windows are limited to 4GiB of physical address space even when PAE is enabled; this is done primarily for marketing reasons to push users to adopt the more secure 64-bit versions of Windows. Server versions of Windows are not affected by this limitation.
In long-mode, the virtual address space is increased to 48 bits, with virtual addresses being represented by 8-bytes (some of the bits aren't used). Physical addresses remain at 36 bits or greater and are similarly represented by 8-byte values (again, some bits just aren't used). When long-mode is used, each memory translation is 64-bit to 64-bit (of which 48 and 36+ are used). Ergo, when in long mode a process can address essentially all of the memory in the machine.