05-23-2009
216,
0
Join Date: Dec 2007
Last Activity: 15 December 2019, 8:10 PM EST
Posts: 216
Thanks Given: 2
Thanked 0 Times in 0 Posts
Any 32 bit OS will only see / use 3.5GB of RAM.
Remember that in the absence of the 64 bit support, the OS memory manager is limited to a 4GB physical address space. Most of that address space is filled with RAM, but not all of it. Memory-mapped devices (such as your video card) will use some of that physical address space, as will the BIOS ROMs. After all the non-memory devices have had their say, there will be less than 4GB of address space available for RAM below the 4GB physical address boundary.
the motherboard assigned the ROMs and the hardware devices to the physical address space between 3.5GB and 4GB (occupying about 0.5GB of address space). When you start plugging in your memory chips, then, they are assigned physical addresses starting at the bottom, and then skip over the address space that has already been assigned to the hardware and ROM, then resume.
On this imaginary system, then, the 0.5GB of address space used for hardware and ROMs causes that much memory to get shoved upwards, and it ends up above the 4GB boundary. Without 64 bit support, the processor is capable only of addressing memory below the 4GB boundary, which means that the memory above that boundary is inaccessible. It's consuming electricity but isn't doing anything.
The solution is to go to 64-bit OS so that the processor can access the physical address space above the 4GB boundary.
So why don't we just map the ROMs and the hardware devices to space above 4GB??
then the CPU can't access the IO devices so you have system with 4GB of RAM and no video card......
any questions??