Not all memory not detected!?

phase1

Distinguished
Oct 10, 2006
6
0
18,510
I am building a new PC and have the following components:

INTEL CORE 2 DUO E6600 1066FSB SKT775
2 x ADATA 2GB DDR2 800 CL4.0 DUAL CHANNEL KIT EXTREME
ASUS SKT-775 P5B DELUXE S/L 1066FSB
XPERTVISION 256MB RADEON X550 TV/DVI PCI-E

I have 2 2GB dual channel kits so 4GB in total (4x1GB memory sticks)

However with all the memory in the board only 3008MB is detected!?

I have tried each stick independently and all are ok.

I have also moved 1 stick through each of the slots and each time 1024MB is detected.

Is it compatibility!?

Any comments greatly appreciated.

Many thanks
 

jessewmc

Distinguished
Dec 10, 2006
12
0
18,510
Using a 32bit operating system? Its a limitation of 32bit memory addressing. The maximum limit is 4gb, but your system addresses peripherals like network cards, sound cards etc and any video memory as well (when it wants to communicate with them it writes to their "memory" address), which all takes away from that limit, leaving some of your ram unaddressed. The ram is all functional, your computer just cannot access it all.

There are ways around it but most of them are very iffy. Basically you need to wait for vista or get xp 64 if you're using windows, or get a native 64bit kernel if you're using linux.

jesse
 

tmac

Distinguished
Apr 10, 2004
344
0
18,780
Using a 32bit operating system? Its a limitation of 32bit memory addressing. The maximum limit is 4gb, but your system addresses peripherals like network cards, sound cards etc and any video memory as well (when it wants to communicate with them it writes to their "memory" address), which all takes away from that limit, leaving some of your ram unaddressed. The ram is all functional, your computer just cannot access it all.

There are ways around it but most of them are very iffy. Basically you need to wait for vista or get xp 64 if you're using windows, or get a native 64bit kernel if you're using linux.

jesse

Does 32-bit have this same limitation?
What's the highest useable address for Vista 32-bit?
 

niz

Distinguished
Feb 5, 2003
903
0
18,980
Using a 32bit operating system? Its a limitation of 32bit memory addressing. The maximum limit is 4gb, but your system addresses peripherals like network cards, sound cards etc and any video memory as well (when it wants to communicate with them it writes to their "memory" address), which all takes away from that limit, leaving some of your ram unaddressed. The ram is all functional, your computer just cannot access it all.

There are ways around it but most of them are very iffy. Basically you need to wait for vista or get xp 64 if you're using windows, or get a native 64bit kernel if you're using linux.

jesse

Does 32-bit have this same limitation?
What's the highest useable address for Vista 32-bit?

Vista 32 bit will have the same limitation, or even slightly worse if it reserves more space for hardware registers.

The problem is that you can't represent an address higher than 4GB in 32 bits. its like saying you need to count to 2 using one bit. its either 0 or 1.
 

jessewmc

Distinguished
Dec 10, 2006
12
0
18,510
I'm assuming you're talking about a stripped down 32 bit version of Vista? I was not aware of such a thing, so I don't know. It depends how they deal with memory addressing, but my guess would be that if it truly is 32 bit it would not be able to address more than 4gb total which would mean less than 4gb of usable ram.

jesse

Edit: beat me to it.
 
G

Guest

Guest
2^32 = 4 gig.

I don't know but maybe Vista can use different 'trhead' to address the memory so the limitation would be 4gig per program. Just saying not quite sure!

Heard Vista 32bit would support 4gig, didn't confirm it yet...
 

tmac

Distinguished
Apr 10, 2004
344
0
18,780
2^32 = 4 gig.

I don't know but maybe Vista can use different 'trhead' to address the memory so the limitation would be 4gig per program. Just saying not quite sure!

Heard Vista 32bit would support 4gig, didn't confirm it yet...

I've been hearing conflicting reports. Rather go Vista 64-bit in Feb.
- At least by then, I'll have an idea what's working and not working.
 

phase1

Distinguished
Oct 10, 2006
6
0
18,510
I have updated to the latest bios but still the same.

It’s the bios that report 3008MB, so surely that is independent of the operating system version?

Thanks for all the support so far!
 

TabrisDarkPeace

Distinguished
Jan 11, 2006
1,378
0
19,280
Windows XP supports 4 GB of RAM, if 0 bytes are used for I/O acceleration.
With Dell Pentium D systems I've been able to map 3.50 GB of 4.00 GB as memory - it is not 'that hard'.


Can you please MSN folder share me, or post an image (not image-shack - you can MSN folder share instead) of your Device Manager in the following layout:

Device_Manager_Memory_Ranges_101.png


I suspect your "missing memory" is being mapped by other PCI/PCIe devices, thus it can not be mapped to memory for PCIe/PCI I/O acceleration.

:arrow: Quite simple, if you know hex and how the PCIe / PCI bus(es) work, but so few people actually understand it for some reason.

Get MSN Live! Messenger here: http://get.live.com/messenger/overview
 

pshrk

Distinguished
Oct 15, 2006
518
0
18,990
The simple fact that you like all of that MSN crap so much leads me to believe you are not as smart as you are trying to sound.
 

TabrisDarkPeace

Distinguished
Jan 11, 2006
1,378
0
19,280
The simple fact that you like all of that MSN crap so much leads me to believe you are not as smart as you are trying to sound.

What is wrong with MSN folder sharing ?
It is easier for most people than posting an image correctly (using ftp) hosted on their ISP provided webspace.

Image-Shack, etc 'can' (but not always) wreck the quality of images.

Once I have the image I can post it to my own web-space, and use an - It saves the original OP time and effort with an otherwise time consuming task. (After 3+ months I may remove old images, as no longer required).

I'm all about saving time mate.

You appear to be all about picking fights (bad first impression to make on a new thread, regarding 4 GB memory address space ceiling, in addition to how and why the address space mapped as memory is often less than 4 GB).

Another post like that and I'll simply [Ignore] you for this thread. Anymore than 3 pointless posts and I'll [Ignore without unIgnoring at a later stage just to save myself some time*].

* - Time I then 're-invest' in helping others + answering questions + Sharing Info - Which is what the forums are for after all.

As for [url=http://www.live.com]http://www.live.com[/url] - Well a picture is worth many words:

[img:2236676242]http://www.users.on.net/~darkpeace/forum_images/Windows_Live_Example.PNG

How is having RSS feeds streamed to a dynamic Web 2.0 page such a bad thing ? (I use other methods in MSIE and Firefox for RSS feeds too btw, but for an overall look Live! does a good job for the price - FREE)

8) - Tabris:DarkPeace
 

phase1

Distinguished
Oct 10, 2006
6
0
18,510
Down the rabbit hole we go!

There is a function in the BIOS:

Advanced -> Chipset -> Northbridge -> Memory Remap Feature

With this enabled the BIOS can see the 4GB

But Windows can now only see 2GB (previously 3GB). Have I now got my BIOS setup correct but have reached the limit for XP 32Bit as others are suggesting?

I am running XP Home SP2.

Thanks all again!
 

TabrisDarkPeace

Distinguished
Jan 11, 2006
1,378
0
19,280
Right Click "My Computer"
Select "Properties"
Go to the "Hardware" (tab)
Click "Device Manager"

Click "View" (menu) then:
- Resources by Type [or]

- Resourecs by Connection [then]
- Highlight "Memory" (branch) and press * (NumPad).

Resize the window to fit all in, and press [Alt+PrintScreen]

Load MSPAINT:
Under: Start Menu\Programs\Accessories\Paint

Press [Ctrl+V] to paste the screenshot in.

You can then File, Save As.. [Type of File: .PNG], and e-mail it over to me: mailto:darkpeace@internode.on.net

I'll be able to pin-point the problem immediately.
[Unlike some people ^ who talk big, but don't offer constructive solutions or posts, or even stay on subject].

8) - Tabris:DarkPeace
 

phase1

Distinguished
Oct 10, 2006
6
0
18,510
In the interest of keeping things of the forum for others to benefit from here is my Device Manager screen print as requested:

devman.png
 
If 4GB is installed, the recognized memory may be reduced to 3.5GB or less (depending on system configuration and memory allocation).

A 64-bit Operating System is required to utilize more than 4GB of memory.
 

pshrk

Distinguished
Oct 15, 2006
518
0
18,990
Another post like that and I'll simply [Ignore] you for this thread. Anymore than 3 pointless posts and I'll [Ignore without unIgnoring at a later stage just to save myself some time*].

* - Time I then 're-invest' in helping others + answering questions + Sharing Info - Which is what the forums are for after all.

I was advising original poster by pointing out that your advice was suspect merely from your attitude. I personally wouldn't take take advice from anyone with your "I'm so much smarter than everyone cause i know hex" attitude. So go ahead and ignore me, i wasn't talking to you anyway :?

I don't know enough about windoze to argue with you, But wouldn't the things you are suggesting negatively effect performance in some areas like I/O?

Either way, I think a much better and easier solution would be to get a 64bit OS.
 

heycarnut

Distinguished
Dec 13, 2006
8
0
18,510
32-bit XP can support 4GB of physical memory. Period. In fact, given an appropriate processor, MB, chipset, etc., and version of xp (64/server) it can suppot up to 128GB of physical memory, Period. Even after the HAL changes in XP SP2, XP (plain vanilla, normal user 32-bit XP, vs the server stuff that is mostly similar at the core to XP) can support 4GB of physical address space.

If you don't know off the top of your head what AWE, PAE, /LARGEADDRESSAWARE are, then please don't post such nonsense as "xp can only support 3gb..blah blah blah". There is a maximum of 3GB virtual address space for the application code itself, with 1GB in this case used for the kernel componenents (on top of the 3GB). The rest of the address space can be used for whatever a large address space aware application wants by dynamically remapping this memory into the application address space. (Within, in the case of the non server windows versions the 4GB physical address limit forced in for example the HAL for SP2.) Bottom line: There is no 2.2, 2.75. 3.2 or whatever GB number limit for physical memory you've perhaps seen for XP, other than 4 for a current version of XP ( or who knows for an incorrectly engineered motherboard/chipset.)

There are many subtleties to using these options. Not only must the O/S and processor support say PAE for example, but so must the chipset, and not all do. For example certain intel chipsets simply terminate the transaction for writes >4gb, and return zeroes for reads >4gb. In addition, with things like PAE on, device drivers may be presented with 64 bit addresses, which many are not built to handle. In some cases, the top 4 pins of the CPU address lines aren't even used on some motherboards, strictly limiting them to 32 bit addressing.

Now, to answer your question:

Certain hardware requires memory mapped i/o space within the 4gb physical address space because of the hardware architecture. Bios tables, PCI devices, AGP, network interface, and certain others, for example, using 32 bit base address registers, must be mapped within the 0x0-0xFFFFFFFF address space. There's no way around this with current H/W that needs to behave the way it has for many many years for backwards compatibility. This does not steal memory, per se, from you, but address space. Depending on the number of devices mapped by the system this way, and the needs of those devices (e.g., bigger GPU memory ~ more mapped space needed), you can lose a gig or so of address space.

You can look at this (roughly) by going into the device manager by getting resources by type, and expanding the memory node.

With a normal home user setup, using a normal windows XP install, you'll just have to live with the fact that some amount of memory is no longer available to you for your applications. It's still there, but part of the address space has been used for your devices, so it's just ignored.

And using the memory remapping feature of your MB bios, if it has it, won't do you any good either, at least not with a 32-bit O/S. If you're using a 64-Bit O/S, or a properly configured PAE aware 32 bit O/S, and the chipset/MB properly does the remapping (not all do), you would then be able to see and use all of the 4GB (in fact, on one of my systems using unix, the boot messages show ~4.5 GB of ram, even though the system has only 4GB. This is because of the way the system calculates RAM size combined with the use of the BIOS memory remapping for my devices.)

If you'd like to learn a bit more on this, a good place to start that's not too technical is at:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/base/large_memory_support.asp

Note: This stuff is a bit out of date as far as O/S support (e.g., XP obviously supports PAE, and in fact this is turned on by default in XP SP2 if you're on a cpu that supports hardware DEP, but XP is not listed in the documents. See, for example: http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2mempr.mspx - read the 'driver compatibility' section for an interesting tidbit on memory use >4gb on SP2 XP), but is still a great starting point to learn the details.

edit: there's also an intel paper - google/search intel for 4GB or some such thing, and it covers how deviced use memory and the advatages of PAE and large address awware apps. If I run accross it I'll link it here.

Hope this helps.

Rob
 

pshrk

Distinguished
Oct 15, 2006
518
0
18,990
Thanks for the info rob. This really makes things clearer (at least for me).

One question if you have time:

I'm not sure how windows works but I know in linux if you want to get access to alot of physical memory for a 32bit system you have to enable high memory. I would imagine windows works in a similar manner. I have the impression that high memory is slower becase you have to map and unmap it. Is there a significant performance difference between 32bit and 64bit windows when using lage amounts of physical memory?
 

TabrisDarkPeace

Distinguished
Jan 11, 2006
1,378
0
19,280
In the interest of keeping things of the forum for others to benefit from here is my Device Manager screen print as requested:

devman.png

BFE0 0000 = 2.998046875 GB = 3,070 MB = 3,143,680 KB [Assuming nothing else between 0000 0000 and BFE0 0000 is using it, which will be wrong, but fairly accurate]
D000 0000 [and above, to FFFF FFFF] - Is where you really want all your PCI/PCIe devices to be mapped.

Generally you'll lose 2 MB from BIOS shadowing and other 'features', but I am yet to meet someone else who has noticed (or noticed + cared).

If you run WINVER (Start, Run, WINVER.EXE), it'll report available memory to Windows applications.

You could get a x64 OS, but then most your games will run under WOW64, which will hurt performance. [Not to mention many games don't work under x64 correctly]. The odd game that has a 'fat' Win32 + Win.x64 executable will actually perform better - sadly most games don't do this yet.

http://search.microsoft.com/results.aspx?mkt=en-US&setlang=en-US&q=x64

Search for also: "/PAE, /3GB, /AWE, x64, WOW64, PAE-36, etc" (I am building a list of search terms for this mis-defined "4 GB Windows XP Limit" (as it is not just Windows XP [x86, IA-32] affected, and it never was).

One of my other posts on the subject contains several Microsoft.com search URLs.
 

heycarnut

Distinguished
Dec 13, 2006
8
0
18,510
At least not that I've seen. I did some quick & dirty benchmarks, and they were within the 'noise' level of the tests, that is, the few percent differences could have been artifacts of the tests. I seriously doubt there is any significant overhead for anything other than a test built to specifically maximize stressing this facility, and even then I'd be surprised if it was mre than a few percent.

R
 

pshrk

Distinguished
Oct 15, 2006
518
0
18,990
You could get a x64 OS, but then most your games will run under WOW64, which will hurt performance. [Not to mention many games don't work under x64 correctly]. The odd game that has a 'fat' Win32 + Win.x64 executable will actually perform better - sadly most games don't do this yet.

Yes, I have heard this. I thought I'd add my personal experience to the discussion for whatever its worth. I run XP Pro x64 (which is really 2003 from what I hear) and every game I have tried on it (i.e. UT2004, F.E.A.R., etc...) work flawlessly. Infact the only two pieces of software that have ever given me problems is Firefox and nTune. Additionally, while i'm sure that 32bit windows has a slight performance edge for 32bit games, I measured the framerates with fraps and cannot notice any difference.

I do look forward to native 64bit games.