From: Paul on
Brian V wrote:
> Hi. I have learned that a person is able to dedicate a certain amount of RAM
> to their video/graphics card.
> In 32-bit XP and Vista, there is the apparent 4Gb limit on the RAM that is
> recognized (or allocated?).
> So my question is: If I were to dedicate all the RAM my graphics card would
> take to the graphics card (It's a 512Mb possability), or another card I could
> install (we'll say 1Gb capacity for the graphics) would my system have 512 Mb
> (or 1Gb) of RAM for the graphics and 3.5Gb (or 3Gb) for the rest of the
> processes?
> Or would I have 512 Mb for the video card and be able to put up 4 Gb for the
> system equalling 4.5 Gb total? (or in the other case 1Gb for the video card
> and 4Gb for the system equalling 5Gb)?
> I think I got that math right. But this potentially deals with overclocking?
> I am kind of aware of overclocking (it's even in the motherboard manual!),
> but do not want to do this now. I need more experience, and a computer tower
> to deal with the heat, etc. I do say that the warrenty is long over, so it
> will not be voided with any overclocking anyways.

One thing you may be missing in these discussions, is the difference between
"motherboard built-in graphics" and how a separate added graphics card does it.

If you install a separate graphics card, many of those have their own memory chips
on board. That memory has to be addressable somehow, if the processor is going
to be able to access it.

Built-in graphics (inside the chipset on the motherboard), "steals" system memory.
If you look in the BIOS, there may be a setting as to how much memory you allocate
to the build-in graphics. Maybe it spans from 4MB to 256MB for example.

Say I had 1GB of RAM installed in the computer, and I set the BIOS to allocate 4MB
to the built-in graphics for it to use. Once I get in Windows, it is going to
show (1024MB - 4MB = 1020MB) or less as free memory. If I bumped up the BIOS
setting of a static chunk of memory to 256MB, the OS will see 768MB as free
for other purposes. By allocating 25% of the memory to the build-in graphics,
I'm taking quite a hit on free memory.

If a computer has built-in graphics, and the user adds a graphics card, then
just maybe, the built-in graphics can be disabled. A person could enter the
BIOS and set the allocation to the built-in graphics to zero. Or perhaps,
on some BIOS, when the BIOS detects an installed add-in video card, it
automatically disables the built-in graphics. In that case, then the whole
1GB of system memory would be available to the OS. If there weren't any other
issues (like limited address space), then the OS may report "1024MB free".

So there are options, as to how graphics can use memory. In some cases,
separate memory is provided for the graphics to use, and it doesn't have
to "steal" system memory. In other cases, the graphics "steals" memory
from the main memory pool, and the allocation may be static and unchanging.

There are also reasons for dynamic allocations of memory, such as might
happen when playing a game. When the game play is finished, the memory
would be returned to the system. So we don't have to worry about that
quite as much.

With no graphics card installed in the PCI Express x16 slot of your
particular motherboard, it may work like this.

CPU ---- dual channel
| ---- memory subsystem
Video card slot X---MCP61
(Empty) built-in graphics ("steals memory")

Now, install a video card in the PCI Express slot:

CPU ---- dual channel
| ---- memory subsystem
PCI Express Video Card X---MCP61
(has own memory) built-in graphics (disabled)

In the second case, the CPU needs to address its own (dual channel) memory,
as well as address the PCI Express Video Card memory. The total address
space limitation, as provided by WinXP 32 bit, is 4GB at the moment.

To make yet another example, let's use the second case again, and install memory,
then check how much is "free" while using WinXP 32 bit as the OS. I'll install
a graphics card that has 1GB of its own memory (such as a recent ATI video card).

CPU ---- 2GB
| ---- 2GB
PCI Express Video Card X---MCP61
(1GB private memory) built-in graphics (disabled)

The OS will report roughly "2.75GB free". Why does it do that ? The
system buses, including that graphics card, need 1.25GB of address space.
The OS has an address space of 4GB. The remainder is used to manage the CPU
memory. And that will be somewhere around 2.75GB or so. So 1.25GB of the
memory connected to the processor, simply isn't addressable and cannot
be accessed. It still draws power. It still has random contents. But
no program can reach that 1.25GB chunk of memory on the side of the
CPU. If I switch to a 64 bit OS, all of it can be used.

Is the 1GB of memory on the PCI Express Video Card doing useful work ?
Only when gaming, and even then, some games may not use all of it. You
have to research game usage, to decide whether a 512MB video card or
a 1GB video card is the right purchase.