100% and slowing

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Quiksilver

Diamond Member
Jul 3, 2005
4,725
0
71
Originally posted by: PolymerTim
Ok, it's not really that complicated. The thing to remember is that you're not subtracting the 512MB from the amount of installed RAM, but rather from the 4GB address limit that is in place for all 32-bit systems regardless of how much RAM you have installed.

Now it makes sense.
 

PolymerTim

Senior member
Apr 29, 2002
383
0
0
And just for fun, here is my favorite part mentioned in the above linked Dan's Data article. The previous address limit before 32-bit systems was 16-bit systems, although they could address 20-bits of memory. For those that prefer decimal numbers, let me do a little quick math:

16-bit systems could address 2^20 bytes = 1MB (reduced to 640kB due to system addresses)
32-bit systems can address 2^32 bytes = 4GB (reduced to 2.8-3.3GB in most systems)
64-bit systems can address 2^64 bytes = 16EB (exabytes)

Note that an exabyte = 1 billion gigabytes. In other words, the transition from 16-bit to 32-bit increased our capacity by 4 thousand times. The transition to 64-bit increases our capacity 4 billion times. I think 64-bit should last us a while, at least in the memory department!
 

myocardia

Diamond Member
Jun 21, 2003
9,291
30
91
Originally posted by: PolymerTim
(Note that SLI'd cards do not double the address space requirement since their video RAM is essentially duplicated with the same addresses).

That's correct.

I'm not certain about the numbers, but I'm pretty sure I've got the concept right. Maybe that 768MB for the system is comprised of many things that vary from one system to another... I really don't know.

You are completely right about everything but the numbers. With a 32MB video card, you'll have 3.5 GB of address space left, on a motherboard made in the last 4 or 5 years. Like I said earlier, everything inside your case requires address space, except for drives (the drives' addess space comes from how they connect to the motherboard, not the drive itself), RAM slots, and fans. Everything else, including floppy disk controller, USB ports, PCI slots, PCIe slots, parallel ports (old style printer connection), PS/2 ports (what most of us still connect our motherboards and mice into), and even the CPU require address space, along with the RAM. If they didn't have address space, your motherboard wouldn't realize they existed, and they would be utterly useless.

64-bit systems can address 2^64 bytes = 16EB (exabytes)

While that's technically true, it isn't possible to access anywhere near that today, and not just because RAM density isn't high enough. It's because Intel's processors are only 36-bit, and AMD's are 40-bit, so the actual numbers today are much lower. As a matter of fact, the limit on an Intel processor is only ~68 billion bytes, and ~110 billion bytes for AMD's chips. Interesting topic, huh?:)
 

PolymerTim

Senior member
Apr 29, 2002
383
0
0
Thanks very much for the clarification. It is an interesting topic. I remember seeing that Windows "artificially" limits RAM to 16GB, but I hadn't heard about the 36/40-bit Intel/AMD limits. Is that kind of like the 16-bit systems having 20 bits of address space? I guess the new chips are called 64-bit because of the size of their registers and not really the size of the address space.
 

myocardia

Diamond Member
Jun 21, 2003
9,291
30
91
Originally posted by: PolymerTim
Is that kind of like the 16-bit systems having 20 bits of address space? I guess the new chips are called 64-bit because of the size of their registers and not really the size of the address space.

Even though I've had a computer since 1980 (which had an 8-bit processor, BTW), I honestly can't tell you how the new processors compare to 16-bit processors, as far as address space goes. I was 10 years old in 1980, and CPU architecture was far from a concern then, and in the next few years, while 16-bit was prevalent. Once I got older, and started becoming more interested in that type of thing, there was still no such thing as the internet (public internet, that is), and by the time there was an internet, it was ancient history in the CPU world.

As far as why the newer CPU's are called 64-bit, it's only because they can execute a 64-bit data path, as far as I know. I'm sure that they could be redesigned slightly, to be able to address more, but we haven't gotten to the point yet where it's advantageous to have that much RAM per CPU. I'm sure that in the next few generations, at least Intel will expand their processors' address space. If they don't they'll start to fall behind, I'm sure, since the Athlon64/Phenom/Barcelonas can address more than 100 billion bytes.

Also, I was going to ask if anyone knew whether the Itanium 2's had the same 36-bit limitation, but according to Wikipedia, it has the full 2^64 bytes available. Interesting. Anyone know for sure whether that's accurate?
 

timot

Member
Feb 26, 2008
152
0
0
Originally posted by: PolymerTim
Now when you install 3GB memory, you only see 2.8GB. Upgrading to 4GB still only lets you access 2.8GB, because there is no address space left over for any more RAM. And as myocardia hinted at earlier, imagine if you put one (or two!) of those 1GB video cards in! (Note that SLI'd cards do not double the address space requirement since their video RAM is essentially duplicated with the same addresses).

but..... in my 3gb system, i see the whole 3072MB RAM though.... i might be wrong, but i remember seeing the whole amount... i will double check tonight...
 

PolymerTim

Senior member
Apr 29, 2002
383
0
0
Originally posted by: timot
Originally posted by: PolymerTim
Now when you install 3GB memory, you only see 2.8GB. Upgrading to 4GB still only lets you access 2.8GB, because there is no address space left over for any more RAM. And as myocardia hinted at earlier, imagine if you put one (or two!) of those 1GB video cards in! (Note that SLI'd cards do not double the address space requirement since their video RAM is essentially duplicated with the same addresses).

but..... in my 3gb system, i see the whole 3072MB RAM though.... i might be wrong, but i remember seeing the whole amount... i will double check tonight...

I think you're taking my statement out of context. Don't forget that your 3GB system only has 256MB of video RAM, while your 4GB system has 512MB of video RAM. Let me requote the part you bolded including the sentence immediately before it:

Originally posted by: PolymerTim
Now you install a 512MB video card and the 3.0GB number above drops to 2.8GB. Now when you install 3GB memory, you only see 2.8GB.

I think you keep ignoring the effect of the video card so let me summarize with a few different scenarios and see if that makes more sense. Keep in mind that these exact numbers can vary from one system to another a bit, but seem to be about what you have seen in your systems.

With 32-bit OS:
-AND 256MB video card, system can recognize up to 3GB RAM
-AND 512MB video card, system can recognize up to 2.8GB RAM

With 64-bit OS:
-AND 256MB video card, system can recognize at least 16GB RAM
-AND 512MB video card, system can recognize at least 16GB RAM

It seems that with your 3GB system (which includes a 256MB video card) that your installed RAM just fits your remaining address space and so is all accessible. Adding another 1G RAM to that system would most likely result in almost no gain in accessible RAM. Changing out the video card for a 512MB model would most likely reduce your accessible memory to below 3GB regardless of whether you had 3GB or 4GB installed.

Does that make more sense?