PC 4GB RAM limit
The cheaper motherboards (ie. most of them) for P4 or Athlon 64 support a
maximum of 4GB RAM, even if the motherboards and processors support the AMD64 extensions that can address sqillions of GB. On the other hand, more upmarket boards support more RAM - up to 24GB or maybe more - for Xeon and Opteron. If you buy one of these 4GB boards and install 4GB RAM, you don't get the use of all of it. The top of the 4GB address space gets shadowed by system functions such as PCI Express addressing. This is not just a small detail - typically you lose 1GB of your 4GB. See: http://www.itwriting.com/blog/?postid=152 I can't at the moment find a clear explanation of this. I understand about the shadowing, but the question of course is why a modern board can't use a higher range of addresses to make the full 4GB available to the OS. The manufacturers mutter about "PC Architecture", but then again they also make boards that *do* overcome this limit. With PAE, PC processors have been able to address more than 4GB for years. So why are we still running into this limit? Tim |
"Tim Anderson" wrote in message ...
The cheaper motherboards (ie. most of them) for P4 or Athlon 64 support a maximum of 4GB RAM, even if the motherboards and processors support the AMD64 extensions that can address sqillions of GB. On the other hand, more upmarket boards support more RAM - up to 24GB or maybe more - for Xeon and Opteron. If you buy one of these 4GB boards and install 4GB RAM, you don't get the use of all of it. The top of the 4GB address space gets shadowed by system functions such as PCI Express addressing. This is not just a small detail - typically you lose 1GB of your 4GB. See: http://www.itwriting.com/blog/?postid=152 I can't at the moment find a clear explanation of this. I understand about the shadowing, but the question of course is why a modern board can't use a higher range of addresses to make the full 4GB available to the OS. The manufacturers mutter about "PC Architecture", but then again they also make boards that *do* overcome this limit. With PAE, PC processors have been able to address more than 4GB for years. So why are we still running into this limit? Because *applications* have to be written to be PAE-aware, and have to be written in 64-bit address space to make use of anything over 4GB. This was (and still is) very much a niche market -- very few desktop/workstation users will come close to using 2GB, let alone 4, which is why MS originally split the 4GB address range between 2GB user space and 2GB system space. |
"Rick" wrote in message
t... Because *applications* have to be written to be PAE-aware, and have to be written in 64-bit address space to make use of anything over 4GB. This was (and still is) very much a niche market -- very few desktop/workstation users will come close to using 2GB, let alone 4, which is why MS originally split the 4GB address range between 2GB user space and 2GB system space. Rick, Thanks for the response. I understand about that; what I'm talking about is the hardware issue. When you boot with 4GB installed on one of these motherboards, typically 1GB is not made available to the OS at all; it is "consumed" before the OS boots (because of address shadowing). Even with an AMD64 (EM64T) CPU installed. Tim |
"Tim Anderson" wrote in message ...
"Rick" wrote in message t... Because *applications* have to be written to be PAE-aware, and have to be written in 64-bit address space to make use of anything over 4GB. This was (and still is) very much a niche market -- very few desktop/workstation users will come close to using 2GB, let alone 4, which is why MS originally split the 4GB address range between 2GB user space and 2GB system space. Rick, Thanks for the response. I understand about that; what I'm talking about is the hardware issue. When you boot with 4GB installed on one of these motherboards, typically 1GB is not made available to the OS at all; it is "consumed" before the OS boots (because of address shadowing). Even with an AMD64 (EM64T) CPU installed. The Intel D915PBL (the board referenced in your link) is a desktop board: ftp://download.intel.com/design/moth...l/C6859901.pdf The board utilizes 4 GB of addressable system memory. Typically the address space that is allocated for PCI Conventional bus add-in cards, PCI Express configuration space, BIOS (firmware hub), and chipset overhead resides above the top of DRAM (total system memory). On a system that has 4 GB of system memory installed, it is not possible to use all of the installed memory due to system address space being allocated for other system critical functions. These functions include the following: BIOS/firmware hub (2 MB) Local APIC (19 MB) Digital Media Interface (40 MB) Front side bus interrupts (17 MB) PCI Express configuration space (256 MB) MCH base address registers, internal graphics ranges, PCI Express ports (up to 512 MB) Memory-mapped I/O that is dynamically allocated for PCI Conventional and PCI Express add-in cards The amount of installed memory that can be used will vary based on add-in cards and BIOS settings. Figure 14 shows a schematic of the system memory map. All installed system memory can be used when there is no overlap of system addresses. |
Thanks again Rick; yes, I'm familiar with that document and I've read it
before. My question was, to quote from my original message: "I can't at the moment find a clear explanation of this. I understand about the shadowing, but the question of course is why a modern board can't use a higher range of addresses to make the full 4GB available to the OS. The manufacturers mutter about "PC Architecture", but then again they also make boards that *do* overcome this limit. With PAE, PC processors have been able to address more than 4GB for years. So why are we still running into this limit?" Tim |
In article ,
Rick wrote: "Tim Anderson" wrote in message ... The cheaper motherboards (ie. most of them) for P4 or Athlon 64 support a maximum of 4GB RAM, even if the motherboards and processors support the AMD64 extensions that can address sqillions of GB. On the other hand, more upmarket boards support more RAM - up to 24GB or maybe more - for Xeon and Opteron. If you buy one of these 4GB boards and install 4GB RAM, you don't get the use of all of it. The top of the 4GB address space gets shadowed by system functions such as PCI Express addressing. This is not just a small detail - typically you lose 1GB of your 4GB. See: http://www.itwriting.com/blog/?postid=152 I can't at the moment find a clear explanation of this. I understand about the shadowing, but the question of course is why a modern board can't use a higher range of addresses to make the full 4GB available to the OS. The manufacturers mutter about "PC Architecture", but then again they also make boards that *do* overcome this limit. With PAE, PC processors have been able to address more than 4GB for years. So why are we still running into this limit? Because *applications* have to be written to be PAE-aware, and have to be written in 64-bit address space to make use of anything over 4GB. This was (and still is) very much a niche market -- very few desktop/workstation users will come close to using 2GB, let alone 4, which is why MS originally split the 4GB address range between 2GB user space and 2GB system space. Real (tm) operating systems, such as VMS, have done something splitting the address space this for decades. What OS were you running? So what happens on a dual CPU opteron system with 8 memory slots (and a 64 bit OS)? I think you'll find that on a PAE mobo the CPU never sees a hardware address higher than the 4GB limit. Hardware registers external to the CPU are set by the PAE drivers and memory mapping is done to show different segments of physical memory to the CPU. What OS are you using, -- a d y k e s @ p a n i x . c o m Don't blame me. I voted for Gore. |
"Al Dykes" wrote in message
... Real (tm) operating systems, such as VMS, have done something splitting the address space this for decades. What OS were you running? This is not an OS issue, the memory is made unavailable before the OS boots. But for the record, dual boot Win XP x64 and Suse Linux 9.3 64-bit. So what happens on a dual CPU opteron system with 8 memory slots (and a 64 bit OS)? That's what I'm wondering, as these systems support more than 4GB RAM successfully. Tim |
Rick writes:
These functions include the following: BIOS/firmware hub (2 MB) Local APIC (19 MB) Digital Media Interface (40 MB) Front side bus interrupts (17 MB) PCI Express configuration space (256 MB) MCH base address registers, internal graphics ranges, PCI Express ports (up to 512 MB) Memory-mapped I/O that is dynamically allocated for PCI Conventional and PCI Express add-in cards Looks like PCI Express is a staggering waste of memory space. -- Transpose hotmail and mxsmanic in my e-mail address to reach me directly. |
"Mxsmanic" wrote in message
... Rick writes: Looks like PCI Express is a staggering waste of memory space. Yes, PCI Express is the main guilty party here. But *why* does this address space have to be in the first 4GB? Sounds like a 32-bit issue; but especially for boards that support AMD64 this is all very unfortunate. Tim |
Tim Anderson wrote:
"Rick" wrote in message Because *applications* have to be written to be PAE-aware, and have to be written in 64-bit address space to make use of anything over 4GB. This was (and still is) very much a niche market -- very few desktop/workstation users will come close to using 2GB, let alone 4, which is why MS originally split the 4GB address range between 2GB user space and 2GB system space. Thanks for the response. I understand about that; what I'm talking about is the hardware issue. When you boot with 4GB installed on one of these motherboards, typically 1GB is not made available to the OS at all; it is "consumed" before the OS boots (because of address shadowing). Even with an AMD64 (EM64T) CPU installed. Because once you assign a group of memory addresses for non-memory (i.e. i/o) use you have to decode that range. Not only do you have to designate a range for i/o, you also have to designate the complementary range for actual memory. The decoders involve added loads on the address lines, and added propagation delay. So you want to minimize the bits used in this, and possibly strengthen their output buffers on the CPU chip. All of which costs time, power, and performance. I expect the main problems are due to the added capacitance from added fan-out. This is similar to the often encountered difficulties when further memory modules are added to a system. All of this deals with the physical addresses, not the virtual addresses that the software sees. -- Chuck F ) ) Available for consulting/temporary embedded and systems. http://cbfalconer.home.att.net USE worldnet address! |
"Tim Anderson" wrote in message ...
"Mxsmanic" wrote in message ... Rick writes: Looks like PCI Express is a staggering waste of memory space. Yes, PCI Express is the main guilty party here. But *why* does this address space have to be in the first 4GB? To maintain compatibility with OS's that are limited to 4GB. I came across this note in one of Intel's server motherboard manuals (which supports up to 8GB): ftp://download.intel.com/support/mot.../sp2gp2tps.pdf Note: Memory between 4GB and 4GB minus 512MB will not be accessible for use by the operating system and may be lost to the user, because this area is reserved for BIOS, APIC configuration space, PCI adapter interface, and virtual video memory space. This means that if 4GB of memory is installed, 3.5GB of this memory is usable. The chipset should allow the remapping of unused memory above the 4GB address, but this memory may not be accessible to an operating system that has a 4GB memory limit. |
"Rick" wrote in message
. net... 3.5GB of this memory is usable. The chipset should allow the remapping of unused memory above the 4GB address, but this memory may not be accessible to an operating system that has a 4GB memory limit. Yes, this is helpful. Thanks. So the proper question may be this: Why don't these 4GB boards remap this memory to make it usable by 64-bit operating systems? Tim |
"CBFalconer" wrote in message
... All of this deals with the physical addresses, not the virtual addresses that the software sees. Thanks Chuck. Can you expand on that last remark? How difficult would it be to make this wasted RAM available to the OS? For the board deisgner, that is. I'm not expecting any workaround for the motherboard I'm using. Tim |
Tim Anderson wrote:
"Rick" wrote in message 3.5GB of this memory is usable. The chipset should allow the remapping of unused memory above the 4GB address, but this memory may not be accessible to an operating system that has a 4GB memory limit. Yes, this is helpful. Thanks. So the proper question may be this: Why don't these 4GB boards remap this memory to make it usable by 64-bit operating systems? Because it is an unnecessary expense. While there may be uses for addressing over 4GB to conveniently handle large databases etc., there is virtually no real need for that much actual memory. The function can be efficiently served by virtual memory systems at little performance cost. About the only area where I can conceive such real memory to be useful is in high performance video processing. -- Some informative links: news:news.announce.newusers http://www.geocities.com/nnqweb/ http://www.catb.org/~esr/faqs/smart-questions.html http://www.caliburn.nl/topposting.html http://www.netmeister.org/news/learn2quote.html |
Tim Anderson wrote:
"CBFalconer" wrote in message All of this deals with the physical addresses, not the virtual addresses that the software sees. Thanks Chuck. Can you expand on that last remark? How difficult would it be to make this wasted RAM available to the OS? For the board deisgner, that is. I'm not expecting any workaround for the motherboard I'm using. If you don't install memory in a physical area it isn't wasted. Virtual memory systems involve remapping memory anyhow, so the software doesn't see any gaps. There is no real problem. -- Some informative links: news:news.announce.newusers http://www.geocities.com/nnqweb/ http://www.catb.org/~esr/faqs/smart-questions.html http://www.caliburn.nl/topposting.html http://www.netmeister.org/news/learn2quote.html |
"CBFalconer" wrote in message ...
Tim Anderson wrote: "Rick" wrote in message 3.5GB of this memory is usable. The chipset should allow the remapping of unused memory above the 4GB address, but this memory may not be accessible to an operating system that has a 4GB memory limit. Yes, this is helpful. Thanks. So the proper question may be this: Why don't these 4GB boards remap this memory to make it usable by 64-bit operating systems? Because it is an unnecessary expense. While there may be uses for addressing over 4GB to conveniently handle large databases etc., there is virtually no real need for that much actual memory. The function can be efficiently served by virtual memory systems at little performance cost. About the only area where I can conceive such real memory to be useful is in high performance video processing. Even for that, apps (at least if they're written properly) process smaller chunks of ram at a time. |
There are several other reasons for the 4GB limit:
o Historically, motherboards were limited by RAM VRM ---- lots of RAM sockets = lots of DIMMs = lots of watts = 30W+ ---- RAM VRMs are limited - indeed BTX tackles their cooling o Historically, memory is relatively expensive ---- PC industry focuses products around usage segments ---- multi-GB buyers tended to buy servers, not general PCs As always, the computer industry migrates downwards. Applications using multi-GB were once small & niche: o dBase servers = RAM determinant ---- more RAM = more index keys, more caching ---- contrast with slow electromechanical HD rotation & seek ---- however such PCs are 1) Servers 2) 64-bit o Photoshop production machines = RAM determinant ---- historically most pre-press is done on Apples ---- recently reinforced by the Dual G5 Apple re OS-X + 8GB+ ---- Photoshop on the PC has deteriorating benefit of 2GB Remember the focus of the IT industry: o Create as many interfaces with buyers as possible per unit time o Eg, CD, DVD, DVD-II speed & iteration, or mobile phone iterations So some limits are based on guesswork "no-one will need 640KB" and also one of creating a build-up of pressure for an obsolescence replacement cycle as opposed to the migratory upgrade cycle. So there are inherent assumptions in the PC architecture at work: o Hardware both "internal" & from plug-in devices needs address space ---- efficiency has not been great here - PCI-Express has high demands o Assumptions by the O/S come into play ---- XP may be based on NT, but it still makes relatively "old" assumptions A lot of the assumptions are still valid somewhat: o Most economic buyers of multi-GB = 64-bit = Dual-Opteron/Xeon64 Servers o Many multi-GB buyers are after somewhat niche machines ---- Apple Dual G5 -- re Photoshop pre-press ---- downsized *nix box -- re displacing IBM/SUN/SGI boxes o Eventually multi-GB buyers will migrate down to the commodity PC It comes down to usage/economics: o Yes CPUs can gobble memory vastly faster than a HD can move it ---- a typical RAID-10 array can manage 150MB/sec ---- a typical P4 CPU can manage 40x that on RAM to CPU transfers o In reality very few applications run into that as a bottleneck ---- it's a tail-end of the usage distribution - few buyers, high cost, low margin ---- an error is to assume it remains that way - it never does :-) Adding lots of memory to PCs has various electrical limitations, RAM VRM, and various electrical dependencies required to maintain a stable I/O system. That moves you away from mainstream buyer requirements re what they pay. -- Dorothy Bradbury www.dorothybradbury.co.uk for quiet NMB & Panaflo fans |
In article ,
Dorothy Bradbury wrote: There are several other reasons for the 4GB limit: o Historically, motherboards were limited by RAM VRM ---- lots of RAM sockets = lots of DIMMs = lots of watts = 30W+ ---- RAM VRMs are limited - indeed BTX tackles their cooling o Historically, memory is relatively expensive ---- PC industry focuses products around usage segments ---- multi-GB buyers tended to buy servers, not general PCs Are we talking virtual address space or physical memory here? I think the latter. Processes on a 64 bit OS see the same huge address space no matter how much physical RAM you have. It's CPU and Mobo model implementation specific.) I just looked at amd.com and see that one of their Opteron chips has a 48 bit virtual address space and a 40 bit physical space. The amount of memory you need depends on the working set of your application mix. -- a d y k e s @ p a n i x . c o m Don't blame me. I voted for Gore. |
I think the latter.
Yes - physical memory. The amount of memory you need depends on the working set of your application mix. Which currently still makes multi-GB requirements somewhat niche. Dbase servers, Photoshop pre-press - few boxes versus generic PCs. Some Photoshop filters do require physical RAM to be a quite high multiple of the image size for completion. Upgrading from 2GB to 4GB can be frustrating in that considerably less than 4GB is realisable. Still XP 2012 probably has some obscene memory requirements. -- Dorothy Bradbury |
Tim Anderson wrote:
The cheaper motherboards (ie. most of them) for P4 or Athlon 64 support a maximum of 4GB RAM, even if the motherboards and processors support the AMD64 extensions that can address sqillions of GB. On the other hand, more upmarket boards support more RAM - up to 24GB or maybe more - for Xeon and Opteron. If you buy one of these 4GB boards and install 4GB RAM, you don't get the use of all of it. The top of the 4GB address space gets shadowed by system functions such as PCI Express addressing. This is not just a small detail - typically you lose 1GB of your 4GB. See: http://www.itwriting.com/blog/?postid=152 I can't at the moment find a clear explanation of this. I understand about the shadowing, but the question of course is why a modern board can't use a higher range of addresses to make the full 4GB available to the OS. The manufacturers mutter about "PC Architecture", but then again they also make boards that *do* overcome this limit. With PAE, PC processors have been able to address more than 4GB for years. So why are we still running into this limit? Three reasons: 1) Chipset support 2) BIOS support 3) Application support Because we still have (or rather, had) a 32-bit virtual address space, and there are very few apps which can use PAE. Use of addresses above the 4GB mark requires a bit of fancy footwork from the OS, and memory above this limit cannot be used in a general-purpose way. For example, it cannot be shared among processes. Because of this, it has to be allocated/deallocated/mapped using a different API than the usual malloc() or whatever your language uses. Large database application and the like support PAE, but your normal "consumer" application does not, and hence all your consumer applications still have to fit into the original 4GB address space. On top of this, many chipsets simply do not support PAE. To support it, they must support mapping memory banks above the 4GB line, and some only support 32-bit addresses for bank base addresses. Finally, the motherboard manufacturer has to set up things correctly in the BIOS and due to the lack of demand for 4GB RAM in the consumer space, I suspect it hasn't been at the top of their list. With a larger virtual address space (and the larger physical address space for PCIe), most of these problems are removed. I don't know about support in NF4 and other chipsets (manufacturers won't even tell you the most basic interface details nowadays :( ) but given the NF4 Pro motherboards support a large address space, I suspect it's more of a BIOS issue than anything. -- Michael Brown www.emboss.co.nz : OOS/RSI software and more :) Add michael@ to emboss.co.nz ---+--- My inbox is always open |
"CBFalconer" wrote in message
... Because it is an unnecessary expense. While there may be uses for addressing over 4GB to conveniently handle large databases etc., there is virtually no real need for that much actual memory. Well, maybe. Personally I want to run multiple virtual PC machines on a 64-bit OS. I reckon the extra RAM will bring real benefits, as I want to give each virtual PC 1GB RAM. Of course what you say is true for everyday apps. On the other hand, I'm irritated because Intel, in this particular case, give you no warning in the assembly manual that the 4th GB will be wasted and that you should not install more than 3GB. This information is in the technical spec (PDF on the CD) but should be highlighted in the printed guide IMO. Tim |
"CBFalconer" wrote in message
... If you don't install memory in a physical area it isn't wasted. Virtual memory systems involve remapping memory anyhow, so the software doesn't see any gaps. There is no real problem. The "real problem" is a bunch of motherboards that are advertised as 4GB, accept 4GB, but only make 3GB available (could be more than that, but in my case a full 1GB is lost). Tim |
"Michael Brown" wrote in message
... With a larger virtual address space (and the larger physical address space for PCIe), most of these problems are removed. That's what I figured. With PCIe and AMD64 extensions (and a 64-bit OS) I was surprised to run into this problem. Tim |
Tim Anderson wrote:
The cheaper motherboards (ie. most of them) for P4 or Athlon 64 support a maximum of 4GB RAM, even if the motherboards and processors support the AMD64 extensions that can address sqillions of GB. On the other hand, more upmarket boards support more RAM - up to 24GB or maybe more - for Xeon and Opteron. If you buy one of these 4GB boards and install 4GB RAM, you don't get the use of all of it. The top of the 4GB address space gets shadowed by system functions such as PCI Express addressing. This is not just a small detail - typically you lose 1GB of your 4GB. See: http://www.itwriting.com/blog/?postid=152 I can't at the moment find a clear explanation of this. I understand about the shadowing, but the question of course is why a modern board can't use a higher range of addresses to make the full 4GB available to the OS. The manufacturers mutter about "PC Architecture", but then again they also make boards that *do* overcome this limit. With PAE, PC processors have been able to address more than 4GB for years. So why are we still running into this limit? Tim If you need more than 4 GB of RAM then you need a specialized motherboard and operating system to be able to take advantage of it. Windows XP was not really designed for a high-end environment, it was designed for big business and the consumer market. Maybe a 64 bit operating system can do a lot better. The OS plays an integral part of the total package. Even if you can address more RAM on the hardware side, your OS has to be able to use it. There are a lot of processes that are running in the background for an OS to operate properly. All of these take RAM. If you throw 2 processors into the mix and are using the porper type of OS to take advantage of the situation it will take more memory and cache space to manage the extra processor. Then you may want to look at things like Massive Parallel Processing MPP, Symmetrical Multi-Processing SMP, and non-standard memory allocation between the processors NUMAQ. This is why the software licensing on a mainframe is around $100,000 annualy. |
In article ,
Tim Anderson wrote: "CBFalconer" wrote in message ... Because it is an unnecessary expense. While there may be uses for addressing over 4GB to conveniently handle large databases etc., there is virtually no real need for that much actual memory. Well, maybe. Personally I want to run multiple virtual PC machines on a 64-bit OS. I reckon the extra RAM will bring real benefits, as I want to give each virtual PC 1GB RAM. Of course what you say is true for everyday apps. On the other hand, I'm irritated because Intel, in this particular case, give you no warning in the assembly manual that the 4th GB will be wasted and that you should not install more than 3GB. This information is in the technical spec (PDF on the CD) but should be highlighted in the printed guide IMO. Tim The decision to limit user's physical memory is a cost and marketing decision on the part of the mobo manufacturer. There may be an AMD64 mobo that allows more than 4GB memory but I doubt it. The number of home users that need this much memory noy is about zero, and business users can be hit up for a more expensive mobo. If you get an dual-Opteron Mobo you can stuff 8GB into it and I'm pretty sure that a single CPU system will access all 8GB and you'll have the option of adding a second CPU later. (The second memory bank will be slightly slower than the one closest to the CPU.) -- a d y k e s @ p a n i x . c o m Don't blame me. I voted for Gore. |
"Al Dykes" wrote in message
... The decision to limit user's physical memory is a cost and marketing decision on the part of the mobo manufacturer. I have no problem with that. I do have an issue with marketing a board as "4GB" when it is in effect 3GB. Tim |
"Last Boy Scout" wrote in message
... If you need more than 4 GB of RAM Actually is was just the 4GB I wanted, not "more than". Windows XP was not really designed for a high-end environment, it was designed for big business and the consumer market. Maybe a 64 bit operating system can do a lot better. As I also mentioned, this is not an OS issue; and in any case I'm using 64-bit operating systems. Tim |
Tim Anderson wrote:
"Al Dykes" wrote in message ... The decision to limit user's physical memory is a cost and marketing decision on the part of the mobo manufacturer. I have no problem with that. I do have an issue with marketing a board as "4GB" when it is in effect 3GB. Tim Unless there's something odd about the motherboard it *is* 4GB. What happens is the BIOS should remap the top 1G above the I/O area so you end up with 3GB RAM - 1GB I/O - 1GB RAM. XP/2000 Pro won't see it, however, because they're limited to a 4 gig space and remapping the top 1G above 4 puts it 'out of range'. Win2k Advanced Server and the Win2k3 variants can use it, though, as they support 8 and 16GB address spaces (with PAE switch). With Linux you have to make sure the kernel (2.4.x or higher) is compiled with the PAE option enabled or else you have the same 4GB situation as XP. |
In article ,
David Maynard wrote: Tim Anderson wrote: "Al Dykes" wrote in message ... The decision to limit user's physical memory is a cost and marketing decision on the part of the mobo manufacturer. I have no problem with that. I do have an issue with marketing a board as "4GB" when it is in effect 3GB. Tim Unless there's something odd about the motherboard it *is* 4GB. What happens is the BIOS should remap the top 1G above the I/O area so you end up with 3GB RAM - 1GB I/O - 1GB RAM. XP/2000 Pro won't see it, however, because they're limited to a 4 gig space and remapping the top 1G above 4 puts it 'out of range'. Win2k Advanced Server and the Win2k3 variants can use it, though, as they support 8 and 16GB address spaces (with PAE switch). With Linux you have to make sure the kernel (2.4.x or higher) is compiled with the PAE option enabled or else you have the same 4GB situation as XP. This sounds like a 32 bit system. I assume that PAE doesn't exist in a 64 bit system (or for backward compatibility the OS simply maps PSE segemnts into normal chucks of 64 bit address space. ) PAE is slow becasue of the context switches. A package like Oracle can make efficient use of it but it's no replacemnt for a flat 64 bit address space. -- a d y k e s @ p a n i x . c o m Don't blame me. I voted for Gore. |
"David Maynard" wrote in message ... Unless there's something odd about the motherboard it *is* 4GB. What happens is the BIOS should remap the top 1G above the I/O area so you end up with 3GB RAM - 1GB I/O - 1GB RAM. This it is *not* doing. I tend to agree with you though. XP/2000 Pro won't see it, however, because they're limited to a 4 gig space and remapping the top 1G above 4 puts it 'out of range'. I'm running 64-bit Operating systems (Windows x64 and Linux) that have no problem addressing this range. Tim |
what motherboard is it? my Asus A8V has some option somewhere in the bios to
"enable" 4gig or disable (ie "steal" memory for itselfs) i think. -- From Adam Webb, Overlag www.tacticalgamer.com CS:SOURCE server now active :D "Tim Anderson" wrote in message ... The cheaper motherboards (ie. most of them) for P4 or Athlon 64 support a maximum of 4GB RAM, even if the motherboards and processors support the AMD64 extensions that can address sqillions of GB. On the other hand, more upmarket boards support more RAM - up to 24GB or maybe more - for Xeon and Opteron. If you buy one of these 4GB boards and install 4GB RAM, you don't get the use of all of it. The top of the 4GB address space gets shadowed by system functions such as PCI Express addressing. This is not just a small detail - typically you lose 1GB of your 4GB. See: http://www.itwriting.com/blog/?postid=152 I can't at the moment find a clear explanation of this. I understand about the shadowing, but the question of course is why a modern board can't use a higher range of addresses to make the full 4GB available to the OS. The manufacturers mutter about "PC Architecture", but then again they also make boards that *do* overcome this limit. With PAE, PC processors have been able to address more than 4GB for years. So why are we still running into this limit? Tim |
Al Dykes wrote:
In article , David Maynard wrote: Tim Anderson wrote: "Al Dykes" wrote in message ... The decision to limit user's physical memory is a cost and marketing decision on the part of the mobo manufacturer. I have no problem with that. I do have an issue with marketing a board as "4GB" when it is in effect 3GB. Tim Unless there's something odd about the motherboard it *is* 4GB. What happens is the BIOS should remap the top 1G above the I/O area so you end up with 3GB RAM - 1GB I/O - 1GB RAM. XP/2000 Pro won't see it, however, because they're limited to a 4 gig space and remapping the top 1G above 4 puts it 'out of range'. Win2k Advanced Server and the Win2k3 variants can use it, though, as they support 8 and 16GB address spaces (with PAE switch). With Linux you have to make sure the kernel (2.4.x or higher) is compiled with the PAE option enabled or else you have the same 4GB situation as XP. This sounds like a 32 bit system. Yes I assume that PAE doesn't exist in a 64 bit system (or for backward compatibility the OS simply maps PSE segemnts into normal chucks of 64 bit address space. ) PAE is slow becasue of the context switches. A package like Oracle can make efficient use of it but it's no replacemnt for a flat 64 bit address space. |
Tim Anderson wrote:
"David Maynard" wrote in message ... Unless there's something odd about the motherboard it *is* 4GB. What happens is the BIOS should remap the top 1G above the I/O area so you end up with 3GB RAM - 1GB I/O - 1GB RAM. This it is *not* doing. How did you determine that? I tend to agree with you though. XP/2000 Pro won't see it, however, because they're limited to a 4 gig space and remapping the top 1G above 4 puts it 'out of range'. I'm running 64-bit Operating systems I see. (Windows x64 I don't know what capabilities and bugs might exist in a pre beta O.S. and Linux) that have no problem addressing this range. I'm not sure but what you may be jumping to premature conclusions. By that I mean there are still configuration issues and 'limits' in addition to the 'theoretical maximums'. For example, it may be that certain assumptions the O.S. is making about memory allocation are different than the ones the motherboard is doing. I'm afraid I can't debug your situation as I don't have that motherboard nor 4 gig of ram but I've seen various problems mentioned about 4gig and '64-bit' linux. One person, for example, complained that 4 gig was fine till he 'upgraded' to the 64 bit kernel and, in that case, it seemed he ended up with a mix of 64 bit addressing and PAE which, of course, are two different things. Not saying that's your problem but it's an example of how things are sometimes not as they seem nor as simple as the 'theory'. You sure something isn't causing a 32 bit 'compatibility' mode? Tim |
In message David Maynard
wrote: (Windows x64 I don't know what capabilities and bugs might exist in a pre beta O.S. You must not get much news up whereever it is you live, Windows x64 has been in beta for over a year and went RTM several weeks ago. In short, it hasn't been pre-beta for many many months. -- Prayer has no place in the public schools, just like facts have no place in organized religion. -- Superintendent Chalmers |
"David Maynard" wrote in message ... How did you determine that? Because the BIOS reports "1048 MB consumed by system" on boot up, before the OS loads. The problems is also documented in the tech. spec. (Windows x64 I don't know what capabilities and bugs might exist in a pre beta O.S. Full release build. and Linux) that have no problem addressing this range. Suse Linux 64-bit can't see the RAM either - not surprising, as it it lost before the OS boots. Tim |
"David Maynard" wrote in message ... How did you determine that? Because the BIOS reports "1048 MB consumed by system" on boot up, before the OS loads. The problems is also documented in the tech. spec. (Windows x64 I don't know what capabilities and bugs might exist in a pre beta O.S. Full release build. and Linux) that have no problem addressing this range. Suse Linux 64-bit can't see the RAM either - not surprising, as it it lost before the OS boots. Tim |
"Adam Webb" wrote in message
... what motherboard is it? my Asus A8V has some option somewhere in the bios to "enable" 4gig or disable (ie "steal" memory for itselfs) i think. This is an Intel board unfortunately. But yes, it sounds like that would fix it. Tim |
DevilsPGD wrote:
In message David Maynard wrote: (Windows x64 I don't know what capabilities and bugs might exist in a pre beta O.S. You must not get much news up whereever it is you live, Windows x64 has been in beta for over a year and went RTM several weeks ago. In short, it hasn't been pre-beta for many many months. Right. The problem was me doing a half dozen things at the same time and thinking of something other than XP/64. |
Tim Anderson wrote:
"David Maynard" wrote in message ... How did you determine that? Because the BIOS reports "1048 MB consumed by system" on boot up, before the OS loads. The problems is also documented in the tech. spec. I see. Well, since you hadn't mentioned it again I threaded back to see if you said what board it was and from the docs it appears to not be a '64 bit' board. By that I mean, it apparently doesn't have anything to support 64 bit specific features and, in particular, no more than the traditional 4 GB address space, which could explain why it doesn't remap HiMem. The literature targets it at 'desktops' and, specifically, XP/2000 as the supported O.S. and neither of them would be able to use remapped memory even if the board did it, which might also explain why they didn't bother. I was thinking in terms of a board that actually supports (part of) the 64 bit address space, in some form and if, for example, you look at the documentation for the Intel server board that was posted earlier in this thread you'll see it has a BIOS option for mapping, or not, that space to above installed memory. (It also supports 8 GB.) (Windows x64 I don't know what capabilities and bugs might exist in a pre beta O.S. Full release build. and Linux) that have no problem addressing this range. Suse Linux 64-bit can't see the RAM either - not surprising, as it it lost before the OS boots. Tim |
"David Maynard" wrote in message
... I see. Well, since you hadn't mentioned it again I threaded back to see if you said what board it was and from the docs it appears to not be a '64 bit' board. By that I mean, it apparently doesn't have anything to support 64 bit specific features and, in particular, no more than the traditional 4 GB address space, which could explain why it doesn't remap HiMem. Not entirely true. The board specifically supports processors with EM64T extensions. The literature targets it at 'desktops' and, specifically, XP/2000 as the supported O.S. and neither of them would be able to use remapped memory even if the board did it, which might also explain why they didn't bother. OTOH Intel offers downloads *for this board* for WinXP x64. So apparently Intel does expect this to be an OS that you might use with this board. So this isn't the explanation. Tim |
All times are GMT +1. The time now is 05:52 PM. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
HardwareBanter.com