3GB Barrier

3 08 2007

Are you lucky enough to have a state-of-the-art PC with 4GB of memory?  Yes?  Apparently, just like the old 640KB barrier of the DOS days, there’s a 3GB memory barrier: the memory between 3GB-4GB may be uaccessible!

CPU And Memory.
Without getting too technical, let me boil down the technical issues.  A 32-bit CPU can physically address 2 to the 32nd power of memory bytes, or 4GB of RAM.   The CPU doesn’t know the difference between accessing system memory and memory on a peripheral, say a videocard.  So memory on a periphal like a videocard has to be “mapped” to a particular address area/space.  Guess where these addresses lie?  In the 3-4GB address range.

Memory Allocation Clash.
So when a peripheral is assigned a particular address, then the coressponding address that would have been assigned to system memory is now hidden and unavailable.  I’m using the videocard as an example since most people believe that the more memory you have the better.  That’s true .. unless you have more than 3GB of memory.  In that case, the more video memory you have, the less system memory (above 3GB) is made available as system memory.

Workaround.
Currently, the only workaround is to have a 64-bit operating sytem.  A 64-bit system can “free up” all 4GB of memory by changing the addresses of the peripherals to a location higher-up in memory.  Right now, this can only be done with Windows XP 64-bit Edition, assuming all drivers are also 64-bit as well.  There are also some 64-bit editions of Linux which overcome this problem.

Recommendation.  Since a 4GB system will actually only have 3-3.5GB available, there are several options for you:

1.  Deal with it.  Get a 4GB system and a videocard with the least amount of memory for your uses.

2.  3GB.  Get a system with only 3GB of memory.

3.  64-bit.  Get a 64-bit operating system: XP 64-bit, Linux 64-bit, or wait for Vista 64-bit in 2008.

Here are articles about the subject:  Dan’s Data, Crucial, AnandTech, Wikipedia.


Actions

Informations