Accessable RAM - 32it XP

A

Alan T

XP SP3.
If I have 4GB RAM XP can only access ~2.6GB RAM, because there are RAM
memory mapped to by drivers like video card, ...etc?

What if I have a 1 GB memory video card? Is that mean my accessable RAM will
be lesser than 2.6 GB?

How the memory amount of video card affect the accessable RAM?
 
D

Daave

Alan said:
XP SP3.
If I have 4GB RAM XP can only access ~2.6GB RAM, because there are RAM
memory mapped to by drivers like video card, ...etc?

It's closer to 3.1 or 3.2 GB. A 32-bit OS can only use 4 GB of RAM
theoretically, but in practice your hardware is using RAM, too.
What if I have a 1 GB memory video card? Is that mean my accessable
RAM will be lesser than 2.6 GB?

Actually, if you have an *onboard* video card, Windows will wind up with
less memory. A standalone video card, however, uses its own memory, so
it will not take away any from what would otherwise be used by Windows.
 
P

Patrick Keenan

Alan T said:
XP SP3.
If I have 4GB RAM XP can only access ~2.6GB RAM, because there are RAM
memory mapped to by drivers like video card, ...etc?

With 4 gig, properly configured, the maximum avalable is around 3.2 gig.
What if I have a 1 GB memory video card? Is that mean my accessable RAM
will be lesser than 2.6 GB?

No, in that case, you have more of the RAM available to you.
How the memory amount of video card affect the accessable RAM?

If the memory is onboard to the video card, it doesn't affect the system RAM
at all.

It's on systems with embedded video chips that *share the system RAM* where
you will see a reduction in available RAM, based on the amount of memory the
video chip claims from the system RAM.

HTH
-pk
 
D

dennis

Alan said:
How the memory amount of video card affect the accessable RAM?

It depends. Usually, it will reduce the total address space (which is
4GB) by 256MB per GPU plus some small amount.
 
M

Mike Torello

dennis said:
It depends. Usually, it will reduce the total address space (which is
4GB) by 256MB per GPU plus some small amount.

Bullshit. If the video card has dedicated memory, there will be no
hit. If it uses "shared memory", that amount will be the hit.
 
J

Jon

"If the video card has dedicated memory, there will be no hit".

I don't think that true. Yes, a video card with dedicated memory will use this dedicated memory
rather than share part of the motherboard RAM, but, there will still be a hole in the motherboard
RAM address space that simply won't be used since the video card RAM still uses up part of the
4GByte address space. The larger the amount the video card internal RAM, the less motherboard RAM is
available. 32-bit versions of Windows don't use it since some drivers might crash the OS if it did
use it.



dennis said:
It depends. Usually, it will reduce the total address space (which is
4GB) by 256MB per GPU plus some small amount.

Bullshit. If the video card has dedicated memory, there will be no
hit. If it uses "shared memory", that amount will be the hit.
 
J

John John - MVP

Mike said:
Bullshit. If the video card has dedicated memory, there will be no
hit...

That is not true. The video card (and other PCI devices) will reserve
exclusive address space at the processor and in turn this reserved
address space will not be available to the RAM, the RAM in effect will
go unused because it has no address space available at the processor.
The only way around that problem is to map the memory without addresses
above the 4GB arena and use PAE. (DEP aside) PAE is not available on
Windows 32-bit client versions, this feature is only available on some
of the Server versions. The only way around this for client operating
systems is to move to the 64-bit platform.

John
 
P

Paul

Mike said:
Bullshit. If the video card has dedicated memory, there will be no
hit. If it uses "shared memory", that amount will be the hit.

It is based on available address space. All devices have to fit in the
address space. The amount of RAM that can be accessed, is whatever is
left after peripherals such as video cards (with their own private memory)
have been provided for. If you have 4GB memory and a 1GB video card,
the total address space required is 5GB. A 32 bit Windows which can only
support a 4GB address space, can't handle it all. What happens is, the
1GB video card private memory is fully addressible, plus 3GB of the system
memory can be seen. 1GB of memory is lost to the OS and cannot be used.

The 256MB quantity Dennis is referring to, is the smallest block
size allocated by the BIOS. The BIOS does initial address space
planning for the system. If there is a PCI bus, 256MB may be
allocated to it, even if only one byte of storage is sitting
there on the PCI bus (like the registers on some PCI chip).

The PCI Express bus works in a similar way, with a round up to
the next largest 256MB sized quantity. So the atatement in the first
paragraph, about 1+3, is not quite correct. The usable memory might
end up being slightly less than 3GB. And that is what makes the
~2.6GB number mentioned, quite believable.

Paul
 
P

Paul

Paul said:
It is based on available address space. All devices have to fit in the
address space. The amount of RAM that can be accessed, is whatever is
left after peripherals such as video cards (with their own private memory)
have been provided for. If you have 4GB memory and a 1GB video card,
the total address space required is 5GB. A 32 bit Windows which can only
support a 4GB address space, can't handle it all. What happens is, the
1GB video card private memory is fully addressible, plus 3GB of the system
memory can be seen. 1GB of memory is lost to the OS and cannot be used.

The 256MB quantity Dennis is referring to, is the smallest block
size allocated by the BIOS. The BIOS does initial address space
planning for the system. If there is a PCI bus, 256MB may be
allocated to it, even if only one byte of storage is sitting
there on the PCI bus (like the registers on some PCI chip).

The PCI Express bus works in a similar way, with a round up to
the next largest 256MB sized quantity. So the atatement in the first
paragraph, about 1+3, is not quite correct. The usable memory might
end up being slightly less than 3GB. And that is what makes the
~2.6GB number mentioned, quite believable.

Paul

Page 8 here, has an example address space allocation. I wish Intel
would release a new version of this document, because there are
many useful examples they could include, which are not covered
here in detail. This document is a little too old, to be really
useful (needs newer chipset examples).

http://dlsvr01.asus.com/pub/ASUS/mb/4GB_Rev1.pdf

Paul
 
U

Unknown

Did you eat an extra bowl of stupid lately?
Mike Torello said:
Bullshit. If the video card has dedicated memory, there will be no
hit. If it uses "shared memory", that amount will be the hit.
 
K

Ken Blake, MVP

XP SP3.
If I have 4GB RAM XP can only access ~2.6GB RAM,


The amount varies, depending on your hardware configuration. It's
usually more than 2.6GB. See below.

because there are RAM
memory mapped to by drivers like video card, ...etc?

What if I have a 1 GB memory video card? Is that mean my accessable RAM will
be lesser than 2.6 GB?


No.

Here's the scoop on this:

All 32-bit client versions of Windows (not just Vista/XP) have a 4GB
address space. That's the theoretical upper limit beyond which you can
not go.

But you can't use the entire 4GB of address space. Even though you
have a 4GB address space, you can only use *around* 3.1GB of RAM.
That's because some of that space is used by hardware and is not
available to the operating system and applications. The amount you can
use varies, depending on what hardware you have installed, but can
range from as little as 2GB to as much as 3.5GB. It's usually around
3.1GB.

Note that the hardware is using the address *space*, not the actual
RAM itself. The rest of the RAM goes unused because there is no
address space to map it too.
 
A

Alan T

Here's the scoop on this:
All 32-bit client versions of Windows (not just Vista/XP) have a 4GB
address space. That's the theoretical upper limit beyond which you can
not go.

But you can't use the entire 4GB of address space. Even though you
have a 4GB address space, you can only use *around* 3.1GB of RAM.
That's because some of that space is used by hardware and is not
available to the operating system and applications. The amount you can
use varies, depending on what hardware you have installed, but can
range from as little as 2GB to as much as 3.5GB. It's usually around
3.1GB.

Note that the hardware is using the address *space*, not the actual
RAM itself. The rest of the RAM goes unused because there is no
address space to map it too.

May ask more about the:
If I have only 2GB RAM, then is this ~2GB will be 'used' by XP?
How about the address *space*? Will it used by the hardware?

Or how about if I install 3GB RAM?
 
M

Mike Hall - MVP

May ask more about the:
If I have only 2GB RAM, then is this ~2GB will be 'used' by XP?
How about the address *space*? Will it used by the hardware?

Or how about if I install 3GB RAM?


Depends on how many memory slots you have.

If only 2 slots, you can install what you like up to the limit of the total
of the two slots.

If 4 slots, you can install 3gb but would need to install 2 x 1gb and 2 x
512mb memory modules. You may find it cheaper to buy 2 x2gb modules assuming
that your computer is able to handle them.

Bear in mind that the 4gb address space only applies to a 32bit operating
system running on a 64bit system. A 64bit operating system can address more
memory.

One also has to note that the 64bit Vista Basic is choked to 8gb total, but
all others will address at least 16gb, I believe...
 
K

Ken Blake, MVP

May ask more about the:
If I have only 2GB RAM, then is this ~2GB will be 'used' by XP?
How about the address *space*? Will it used by the hardware?


If you have 2GB of RAM then Windows will use all of it. The 2GB of RAM
gets mapped to the first 2GB of the 4GB address space, and that leaves
2GB for the hardware to use. 2GB is almost always more than enough for
the hardware.

Or how about if I install 3GB RAM?


Again, Windows will very likely use all 3GB, because the remaining 1GB
of address is enough for almost all computers. However, it's
*possible* (but unlikely) that your computer might need a little more
than 1GB of address space, so you end up with a little less than 3GB
of usable RAM.

But unless you have an unusual high-end hardware configuration, I
wouldn't worry about this with 3GB.
 
B

Bob I

If you have 2GB of RAM then Windows will use all of it. The 2GB of RAM
gets mapped to the first 2GB of the 4GB address space, and that leaves
2GB for the hardware to use. 2GB is almost always more than enough for
the hardware.






Again, Windows will very likely use all 3GB, because the remaining 1GB
of address is enough for almost all computers. However, it's
*possible* (but unlikely) that your computer might need a little more
than 1GB of address space, so you end up with a little less than 3GB
of usable RAM.

But unless you have an unusual high-end hardware configuration, I
wouldn't worry about this with 3GB.

True, the worst box I've heard of was 2.25 GB available, but had
multiple video adapters installed.
 
A

Alan T

If you have 2GB of RAM then Windows will use all of it. The 2GB of RAM
gets mapped to the first 2GB of the 4GB address space, and that leaves
2GB for the hardware to use. 2GB is almost always more than enough for
the hardware.

Is that because the hardware will not map to these 2GB RAM so that XP 32bit
OS can use all these 2GB RAM?
Again, Windows will very likely use all 3GB, because the remaining 1GB
of address is enough for almost all computers. However, it's
*possible* (but unlikely) that your computer might need a little more
than 1GB of address space, so you end up with a little less than 3GB
of usable RAM.

Is that because the hardwares are going to map the "address" beyond 2GB
mark?
 
Joined
Apr 22, 2009
Messages
1
Reaction score
0
Mike Torello said:
wrote:

Bullshit. If the video card has dedicated memory, there will be no
hit. If it uses "shared memory", that amount will be the hit.

So it is bullshit because you don't understand the archictecture, and understand how memory mapped IO uses memory address space - which reduces the amount usable for system RAM?
 
J

John John - MVP

Alan said:
Is that because the hardware will not map to these 2GB RAM so that XP 32bit
OS can use all these 2GB RAM?


Is that because the hardwares are going to map the "address" beyond 2GB
mark?

The address for the PCI devices is taken from the "Top of Memory"
(T.O.M.) range. Sometime ago this was typically described as the range
between the 3.5 and 4 GB range. With PCI devices making more and more
demand on address space this T.O.M. range is a bit of a moving target,
the PCI devices are going to be assigned whatever they need from the
upper memory address range, that means that the so called "Top of
Memory" range could very be just about anything between 2.5 (or even
less) and 4 GB. This is a bit of a mute point, for users it doesn't
really matter where the address space is taken from, the end result is
still that the RAM doesn't have available addresses so it goes unused.
It's like saying that you have ten apples in a row and that I am going
to take away one, to you it doesn't matter which one I take away, it
could be the first one or the last one, or even the one in the middle of
the row, you are still going to end up with nine apple instead of ten.

John
 
A

Alan T

The address for the PCI devices is taken from the "Top of Memory" (T.O.M.)
range. Sometime ago this was typically described as the range between the
3.5 and 4 GB range. With PCI devices making more and more demand on
address space this T.O.M. range is a bit of a moving target, the PCI
devices are going to be assigned whatever they need from the upper memory
address range, that means that the so called "Top of Memory" range could
very be just about anything between 2.5 (or even less) and 4 GB. This is
a bit of a mute point, for users it doesn't really matter where the
address space is taken from, the end result is still that the RAM doesn't
have available addresses so it goes unused. It's like saying that you have
ten apples in a row and that I am going to take away one, to you it
doesn't matter which one I take away, it could be the first one or the
last one, or even the one in the middle of the row, you are still going to
end up with nine apple instead of ten.

So if I have 2GB RAM for 32bit OS, the PCI driver is not taking the
'address' from it because the range is 2.5GB or above?

But if even I have 64bit OS, 8 GB RAM, then the PCI driver will still
'steal' the 'address' to make it less than 8GB RAM?
 
J

John John - MVP

Alan said:
So if I have 2GB RAM for 32bit OS, the PCI driver is not taking the
'address' from it because the range is 2.5GB or above?

No, it's more of a math kind of thing. The processor has a 4GB address
space, the hardware devices reserve whatever they need and the RAM can
have what's leftover. In your example above if the hardware were to
need a total of 2.25GB of space there would only be 1.75GB of space left
and that is all that the RAM would get. This is just an example, I have
never yet seen that much demand being made by the hardware devices, the
most I have ever seen reported by users in these groups was the hardware
using 1.75GB and the RAM being left with 2.25GB, that is not often seen,
most reports are that the hardware is using about.75 to 1.25GB, that
leaves about 2.75 to 3.25GB available for the RAM.
But if even I have 64bit OS, 8 GB RAM, then the PCI driver will still
'steal' the 'address' to make it less than 8GB RAM?

No, 64-bit architecture is different, in theory a 64-bit processor has a
16 Exabyte address space, but at the present time most 64-bit processors
only use 48-bit addressing, this allows for 256 Terabytes of address
space, there will be no contention for address space between the RAM and
PCI devices for a while!

John
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top