4GB RAM support

G

Guest

Hi all,

I just got tablet pc with 4GB RAM but I only can see 3GB. Is this supposed
to be?
if not, how do I make it to see 4GB RAM?

Thanks.
 
J

John John

Other than moving to a 64-bit operating system there isn't much that you
can do to see and use the last GB of RAM. What is happening is that
32-bit Windows can only address 4GB of memory, the addressable memory is
insufficient to supply all your devices so the RAM cannot fully be used.
Memory above doesn't mean RAM only, it is memory addressing for all
the devices installed in the computer. For example, if you have 4GB of
RAM and a video card with 512MB of memory, your addressing requirements
are for 4.5GB but 32-bit Windows can only address 4GB, the memory
addresses are reserved for devices before the RAM so 512MB of addressing
space used for the video card is unavailable for other devices, the
remaining addressing space is only 3.5GB so you won't be able to fully
use the 4GB of installed RAM. In your case the addressing requirements
for your hardware is about 1GB, so these addresses are not available to
the installed RAM, you need about 5GB of memory addresses but 32-bit
Windows can only address 4GB, after the hardware addressing requirements
are met there is only 3GB of addresses left so you cannot fully use the
installed RAM in your machine.

John
 
K

Ken Blake, MVP

Hi all,

I just got tablet pc with 4GB RAM but I only can see 3GB. Is this supposed
to be?
if not, how do I make it to see 4GB RAM?


All 32-bit versions of Windows, even though they have a 4GB address
space, can only use *around* 3.1GB of RAM. That's because some of that
space is used by hardware and not available to the operating system
and applications. The amount you can use varies, depending on what
hardware you have installed, but is usually around 3.1GB.
 
U

Unknown

Your description is completely wrong. 32 bits can address 4GB but the
address can be used for any device attached to the computer---a HD for
example. The reason there is only 3GB of memory is because the 1 GB is
reserved for items
that use DMA for example.
 
J

John John

My answer is right, once again it is you who cannot read and comprehend
anything, which is something that we have come to expect from you. As I
have correctly stated, the reason the the user cannot see his whole 4GB
of RAM is because 32-Bit Windows can only address 4GB of Memory and the
devices are using addressing space within this boundary so it reduces
the available addressing space available to the RAM. Learn ho to read
or go troll elsewhere!

John
 
J

John John

For the benefit of other who may be reading this is the reason why the
user cannot see and use all the RAM in his machine.


The hardware memory issue is summed up as so by Tyan:

The problem that you are seeing is based on an older architecture
design for memory addressing. All the systems architecture up to this
point were based on a maximum of 4GB of total memory. Nobody really
thought, when this standard was designed, that this amount of memory
would actually be in use. The problem that has happened is that you
have PCI devices that require memory address ranges so that they can
properly execute their commands. These address ranges were mapped in
the upper sections of this maximum amount. Since nobody thought you
would be using up to 4GB these address ranges started around the last
500MB of the memory ranges. This range is called the T.O.M. or Top of
Memory range. This is the point in the bios where it places on hold the
amount of memory that is required by the various PCI devices that are
found on the motherboard. Thus when you have PCI cards or AGP cards
installed on your motherboard these devices hold on to memory for their
own use and take away from the maximum amount of memory that is
available for other tasks. This amount of memory can vary from a little
as 200MB all the way to 1GB of memory (or even more in select cases).
It just depends on the PCI devices you have and the amount of PCI
(including AGP) that you have installed all at once.

There is really no way to get around this basic design limitation. The
only way to get around these type of issues is to use certain new
designs that have brand new architectures (i.e 64-bit designs) that
allow memory to be mapped in area's above 4GB. The brand new Intel Xeon
designs and the AMD Opteron designs are built around 64-bit technology.
This is only ½ of the equation that you would need to find success.
You would also need to use an OS that is actually PAE or PAE aware so
that it is able to address memory above the 4GB level. To find out
about PAE you can search Microsofts website for PAE (Physical Address
Extensions) and it will explain this concept and what OS's actually are
capable of providing this benefit. Windows 2000 and Windows 2003 would
fit both of these criteria. Windows XP on the hand would not allow this
type of ability.

Microsoft has addressed this type of issue in the following Microsoft
Article (291988)
http://support.microsoft.com/default.aspx?scid=kb;en-us;291988

[End quote]

http://www.tyan.com/archive/support/html/memory_faq.html

This is exactly what I said in my earlier post, so now get lost or go
take a Remedial Reading course you troll!

John
 
G

Gerry

John

On 32-bit machines, the lower 2 GB of the virtual address space is user
space and the upper 2 GB is reserved as system space by default. If
user-mode applications require additional virtual address space, an
administrator can reserve 3 GB for user space, thus leaving only 1 GB of
system space, by applying the /3GB switch to Boot.ini and then
restarting the machine. This switch is also useful during testing to see
how a driver performs with limited system address space. The switch is
supported on Windows Server 2003 (all editions), Windows XP (all
versions), Windows 2000 Advanced Server, and Windows 2000 Datacenter
Server.
http://download.microsoft.com/download/e/b/a/eba1050f-a31d-436b-9281-92cdfeae4b45/mem-mgmt.doc

As I understand the limitation is available address spaces not the
ability to see 4 gb of RAM. The result from whichever viewpoint is the
same.

--



Hope this helps.

Gerry
~~~~
FCA
Stourport, England
Enquire, plan and execute
~~~~~~~~~~~~~~~~~~~
 
U

Unknown

I suggest you read your response. Example: You state if one has 512 meg for
video, then addressing requirement is 4.5gig.
That simply is not true. The 512 Meg can be on the video card or can be main
memory itself such as a DMA. If it were DMA then logically it cannot be used
for programs.
 
U

Unknown

Read Ken Blakes response. He explains it. Your statement that you need 4.5
GB of addressing is extremely misleading.
 
J

John John

Gerry,

That will not fix the problem of 32-bit Windows not seeing all the
installed 4GB of physical RAM. The 4GT tuning option(/3GB boot.ini
switch) will not change anything for the OP, using the switch will not
permit him to see and use all the installed RAM in the machine.

John
 
J

John John

That is true and the only way that 32-bit Windows can see all the RAM is
to shift the memory addressing for the hardware above the 4GB boundary
and use the /PAE switch with one of the 32-bit Windows version that
supports more than 4GB of RAM.

John
 
J

John John

That is not misleading that is how it is, to fully address all the
hardware memory requirements in the machine (RAM included) you need to
address more than 4GB, Windows XP 32-bit cannot address more than 4GB so
it cannot fully utilize all the RAM. Using the /PAE switch with a
Windows version that supports more than 4GB of RAM allows the processor
to use 36-bit memory addressing and allows the operating system to use
all the RAM.

John
 
J

Jim

John John said:
For the benefit of other who may be reading this is the reason why the
user cannot see and use all the RAM in his machine.


The hardware memory issue is summed up as so by Tyan:

The problem that you are seeing is based on an older architecture
design for memory addressing. All the systems architecture up to this
point were based on a maximum of 4GB of total memory. Nobody really
thought, when this standard was designed, that this amount of memory
would actually be in use. The problem that has happened is that you
have PCI devices that require memory address ranges so that they can
properly execute their commands. These address ranges were mapped in
the upper sections of this maximum amount. Since nobody thought you
would be using up to 4GB these address ranges started around the last
500MB of the memory ranges. This range is called the T.O.M. or Top of
Memory range. This is the point in the bios where it places on hold the
amount of memory that is required by the various PCI devices that are
found on the motherboard. Thus when you have PCI cards or AGP cards
installed on your motherboard these devices hold on to memory for their
own use and take away from the maximum amount of memory that is
available for other tasks. This amount of memory can vary from a little
as 200MB all the way to 1GB of memory (or even more in select cases).
It just depends on the PCI devices you have and the amount of PCI
(including AGP) that you have installed all at once.

There is really no way to get around this basic design limitation. The
only way to get around these type of issues is to use certain new
designs that have brand new architectures (i.e 64-bit designs) that
allow memory to be mapped in area's above 4GB. The brand new Intel Xeon
designs and the AMD Opteron designs are built around 64-bit technology.
This is only ½ of the equation that you would need to find success.
You would also need to use an OS that is actually PAE or PAE aware so
that it is able to address memory above the 4GB level. To find out
about PAE you can search Microsofts website for PAE (Physical Address
Extensions) and it will explain this concept and what OS's actually are
capable of providing this benefit. Windows 2000 and Windows 2003 would
fit both of these criteria. Windows XP on the hand would not allow this
type of ability.

Microsoft has addressed this type of issue in the following Microsoft
Article (291988)
http://support.microsoft.com/default.aspx?scid=kb;en-us;291988

[End quote]

http://www.tyan.com/archive/support/html/memory_faq.html

This is exactly what I said in my earlier post, so now get lost or go take
a Remedial Reading course you troll!

John
Your description is completely wrong. 32 bits can address 4GB but the
address can be used for any device attached to the computer---a HD for
example. The reason there is only 3GB of memory is because the 1 GB is
reserved for items
that use DMA for example.
In short, the "problem" is caused by memory mapped i/o.
Jim
 
G

Gerry

John

I wasn't suggesting it would. That's partly what I meant by "The result
from whichever viewpoint is the
same."


--
Regards.

Gerry
~~~~
FCA
Stourport, England
Enquire, plan and execute
~~~~~~~~~~~~~~~~~~~
 
U

Unknown

Well put. The point I make is that if a hardware device had its own memory
the 4GB addressing need not be more than 4GB. Common sense.
John John said:
For the benefit of other who may be reading this is the reason why the
user cannot see and use all the RAM in his machine.


The hardware memory issue is summed up as so by Tyan:

The problem that you are seeing is based on an older architecture
design for memory addressing. All the systems architecture up to this
point were based on a maximum of 4GB of total memory. Nobody really
thought, when this standard was designed, that this amount of memory
would actually be in use. The problem that has happened is that you
have PCI devices that require memory address ranges so that they can
properly execute their commands. These address ranges were mapped in
the upper sections of this maximum amount. Since nobody thought you
would be using up to 4GB these address ranges started around the last
500MB of the memory ranges. This range is called the T.O.M. or Top of
Memory range. This is the point in the bios where it places on hold the
amount of memory that is required by the various PCI devices that are
found on the motherboard. Thus when you have PCI cards or AGP cards
installed on your motherboard these devices hold on to memory for their
own use and take away from the maximum amount of memory that is
available for other tasks. This amount of memory can vary from a little
as 200MB all the way to 1GB of memory (or even more in select cases).
It just depends on the PCI devices you have and the amount of PCI
(including AGP) that you have installed all at once.

There is really no way to get around this basic design limitation. The
only way to get around these type of issues is to use certain new
designs that have brand new architectures (i.e 64-bit designs) that
allow memory to be mapped in area's above 4GB. The brand new Intel Xeon
designs and the AMD Opteron designs are built around 64-bit technology.
This is only ½ of the equation that you would need to find success.
You would also need to use an OS that is actually PAE or PAE aware so
that it is able to address memory above the 4GB level. To find out
about PAE you can search Microsofts website for PAE (Physical Address
Extensions) and it will explain this concept and what OS's actually are
capable of providing this benefit. Windows 2000 and Windows 2003 would
fit both of these criteria. Windows XP on the hand would not allow this
type of ability.

Microsoft has addressed this type of issue in the following Microsoft
Article (291988)
http://support.microsoft.com/default.aspx?scid=kb;en-us;291988

[End quote]

http://www.tyan.com/archive/support/html/memory_faq.html

This is exactly what I said in my earlier post, so now get lost or go
take a Remedial Reading course you troll!

John
Your description is completely wrong. 32 bits can address 4GB but the
address can be used for any device attached to the computer---a HD for
example. The reason there is only 3GB of memory is because the 1 GB is
reserved for items
that use DMA for example.


Other than moving to a 64-bit operating system there isn't much that you
can do to see and use the last GB of RAM. What is happening is that
32-bit Windows can only address 4GB of memory, the addressable memory is
insufficient to supply all your devices so the RAM cannot fully be used.
Memory above doesn't mean RAM only, it is memory addressing for all the
devices installed in the computer. For example, if you have 4GB of RAM
and a video card with 512MB of memory, your addressing requirements are
for 4.5GB but 32-bit Windows can only address 4GB, the memory addresses
are reserved for devices before the RAM so 512MB of addressing space
used for the video card is unavailable for other devices, the remaining
addressing space is only 3.5GB so you won't be able to fully use the 4GB
of installed RAM. In your case the addressing requirements for your
hardware is about 1GB, so these addresses are not available to the
installed RAM, you need about 5GB of memory addresses but 32-bit Windows
can only address 4GB, after the hardware addressing requirements are met
there is only 3GB of addresses left so you cannot fully use the
installed RAM in your machine.

John

John wrote:


Hi all,

I just got tablet pc with 4GB RAM but I only can see 3GB. Is this
supposed to be?
if not, how do I make it to see 4GB RAM?

Thanks.
In short, the "problem" is caused by memory mapped i/o.
Jim
 
U

Unknown

You would be clearer if you stated that the memory for most IO devices is
the RAM itself.
If you had an IO device that contained its own memory it can be addressed
with the 4GB addresses available.
Most users are not aware of where specific memories are. See below.
John John said:
Other than moving to a 64-bit operating system there isn't much that you
can do to see and use the last GB of RAM. What is happening is that
32-bit Windows can only address 4GB of memory, the addressable memory is
insufficient to supply all your devices so the RAM cannot fully be used.
Memory above doesn't mean RAM only, it is memory addressing for all the
devices installed in the computer.

For example, if you have 4GB of RAM and a video card with 512MB of memory,
your addressing requirements
are for 4.5GB --------Not if the 512MB were on the video card.


but 32-bit Windows can only address 4GB, the memory
addresses are reserved for devices before the RAM so 512MB of addressing
space used for the video card is unavailable for other devices, the
 
J

John John

FUD! How do you think that the video card memory is addressed? Do you
think that it runs without addresses? How do you think that the CPU
handles this? If, as you incorrectly state, all of this is the RAM
itself, why is it that a user with 2GB of RAM can see and use almost all
the RAM and as soon as he installs 4GB in the very same machine he can't
see and use all of it? Leaving SP2 changes out of the picture, why is
there not a "huge" missing amount of RAM missing when you have 2GB of
RAM, why does it only go missing when you have between 3 and 4 GB of
RAM? The memory for *ALL* the devices including the RAM and the memory
on the video card *MUST* *ALL* be addressed within the first 4GB of
available memory space for 32-bit cpu's. 64-bit architecture or 32-bit
cpu's with PAE or the AMD equivalent can get around the problem by using
memory addresses above the 4GB boundary, but that doesn't solve the
problem that 32-bit Windows that are not PAE capable will still not be
able to see or use anything above the 4GB boundary.

For example, Microsoft says this about 32-bit Vista:

"For example, if you have a video card that has 256 MB of onboard
memory, that memory must be mapped within the first 4 GB of address
space. If 4 GB of system memory is already installed, part of that
address space must be reserved by the graphics memory mapping. Graphics
memory mapping overwrites a part of the system memory. These conditions
reduce the total amount of system memory that is available to the
operating system."

http://support.microsoft.com/kb/929605

The same applies to 32-bit XP. I repeat, the reason that the user
cannot see all the installed RAM is that there is not enough addressing
space available to supply all the memory requirements for all the
hardware devices, and even if there is (64-bit architecture) 32-bit
Windows cannot see it so all the addressing requirements must come from
the lower 4GB space, what is taken there for other hardware is not
available for RAM addressing so you cannot use all of the installed RAM.

Before posting FUD you should do a bit of reading and find out why these
things are as they are, but then I am not surprised that you haven't
read up on the subject because you have proven over and over again that
you simply cannot comprehend anything that you read!

John
 
U

Unknown

Read Jims response! I agree with him.
John John said:
FUD! How do you think that the video card memory is addressed? Do you
think that it runs without addresses? How do you think that the CPU
handles this? If, as you incorrectly state, all of this is the RAM
itself, why is it that a user with 2GB of RAM can see and use almost all
the RAM and as soon as he installs 4GB in the very same machine he can't
see and use all of it? Leaving SP2 changes out of the picture, why is
there not a "huge" missing amount of RAM missing when you have 2GB of RAM,
why does it only go missing when you have between 3 and 4 GB of RAM? The
memory for *ALL* the devices including the RAM and the memory on the video
card *MUST* *ALL* be addressed within the first 4GB of available memory
space for 32-bit cpu's. 64-bit architecture or 32-bit cpu's with PAE or
the AMD equivalent can get around the problem by using memory addresses
above the 4GB boundary, but that doesn't solve the problem that 32-bit
Windows that are not PAE capable will still not be able to see or use
anything above the 4GB boundary.

For example, Microsoft says this about 32-bit Vista:

"For example, if you have a video card that has 256 MB of onboard memory,
that memory must be mapped within the first 4 GB of address space. If 4 GB
of system memory is already installed, part of that address space must be
reserved by the graphics memory mapping. Graphics memory mapping
overwrites a part of the system memory. These conditions reduce the total
amount of system memory that is available to the operating system."

http://support.microsoft.com/kb/929605

The same applies to 32-bit XP. I repeat, the reason that the user cannot
see all the installed RAM is that there is not enough addressing space
available to supply all the memory requirements for all the hardware
devices, and even if there is (64-bit architecture) 32-bit Windows cannot
see it so all the addressing requirements must come from the lower 4GB
space, what is taken there for other hardware is not available for RAM
addressing so you cannot use all of the installed RAM.

Before posting FUD you should do a bit of reading and find out why these
things are as they are, but then I am not surprised that you haven't read
up on the subject because you have proven over and over again that you
simply cannot comprehend anything that you read!

John
 
J

John John

Instead of backpedaling why don't you tell everyone reading here *why*
32-bit Windows cannot fully see and use 4GB of installed RAM in a
computer? You said earlier that the memory for the devices is the RAM
itself, (which doesn't explain how a box with 2GB of RAM can
miraculously supply the devices without loosing available RAM, yet a box
with 4GB can't) and you said that video cards with onboard memory had
nothing to do with the problem, as if video cards have some sort of
magic memory addresses that are available to the cpu without being
mapped anywhere, so do tell us, where does that last gigabyte of RAM go
to? And please, do not tell us about SP2 changes, this was happening
prior to SP2 and it is also happening with earlier Windows versions,
like Windows 2000 Professional. So, instead of beating around the bush
give us real explanations, tell us why Windows cannot see or use all of
the 4GB of installed RAM, you said that my answers were completely
wrong, so you must know something about the problem to have made that
determination, so now the simple request is that you tell us what causes
that last GB of RAM to be unavailable.

In the meantime others can read here:

Why can't I see all of the 4GB of RAM in my machine?
http://blogs.msdn.com/oldnewthing/archive/2006/08/14/699521.aspx

Memory Management - Dude where's my RAM??
http://blogs.technet.com/askperf/archive/2007/04/13/memory-management-dude-where-s-my-ram.aspx

Coding Horror - Dude, Where's My 4 Gigabytes of RAM?
http://www.codinghorror.com/blog/archives/000811.html

Server Products
Not All Memory is Available after Installing 4GB or More of System Memory
http://www.intel.com/support/motherboards/server/sb/cs-010458.htm

The 3GB-not-4GB RAM problem
http://blogs.msdn.com/hiltonl/archive/2007/04/13/the-3gb-not-4gb-ram-problem.aspx

4 GB RAM in Windows XP
http://members.cox.net/slatteryt/RAM.html

http://channel9.msdn.com/ShowPost.aspx?PageIndex=1&PostID=42545

Regardless of what you may think or say, whichever way you slice or dice
it the bottom line is that including the RAM there isn't enough
available memory space for all the hardware requirements. There is only
4GB of address space and if all of it is given to the RAM none will be
available for the other devices. The address space requirement
*EXCEEDS* 4GB and the only way that the CPU can deal with that is to
shift some of the RAM address space above the 4GB boundary but then
32-bit Windows XP cannot see or use anything above the 4GB boundary.
Never mind about the reasons why the devices are using address space,
the plain facts are that the computer needs more than 4GB of address
space to fully utilize 4GB of RAM, and the operating system has to be
able to see it.

Now put up or shut up! Explain your comments about the RAM supplying
the memory for the devices and explain about video cards with onboard
memory not needing address space! Explain that to us or go troll
somewhere else!

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