4GB of RAM in a 32bit system?

why can’t you have more than 3.5GB of RAM in a 32bit system?

Remember that in the absence of the 64 bit support, the Windows 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……

Advertisement

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.