I was under the impression that x86 has a 4 GB RAM limit...

Elledan

Banned
Jul 24, 2000
8,880
0
0
Apparently I was wrong: the thread

As can be seen on this page with technical specifications of Intel CPUs, starting with the Pentium Pro CPU, an x86-based system could address up to 64 GB of RAM (plus 64 TB of virtual memory (which is?)).

As Jerboy stated in the thread I linked to: " It depends on chipset support, motherboard support, operating system support and architectual limit."

Now, what I'm wondering is what the exact relationships between those parts is regarding RAM, and what is responsible for the limit in each of these parts (the NB contains the memory controller, for example, but why does the CPU itself have a RAM limit?).

Thank you for any answers :)
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
This is the size of total _address_ space, not RAM. Of course this first of all is limited by the CPU - if the assembly language uses 32-bit registers for the address, then it's 4 GBytes (2^32).

PentiumPro and its descendants have 36-bit addressing extensions. However, they still can't access more than 4 GBytes linearly. But you can have 64 GBytes total in your machine.

There are chipset arrangements in the server market that allow for more than 4 GBytes of RAM. You need 36-bit aware operating systems for this - a suitably compiled Linux kernel or something.

regards, Peter
 

Elledan

Banned
Jul 24, 2000
8,880
0
0


<< This is the size of total _address_ space, not RAM. Of course this first of all is limited by the CPU - if the assembly language uses 32-bit registers for the address, then it's 4 GBytes (2^32). >>

Stupid question, but what's the difference between address space and RAM?



<< PentiumPro and its descendants have 36-bit addressing extensions. However, they still can't access more than 4 GBytes linearly. >>

Linearly accessing? How does that work, and why is it limited to 4 GB?


<< But you can have 64 GBytes total in your machine. >>

Which would then need both the right chipset and OS if you want to use this RAM, correct?



<< There are chipset arrangements in the server market that allow for more than 4 GBytes of RAM. You need 36-bit aware operating systems for this - a suitably compiled Linux kernel or something. >>

Hmm... so a simple patch plus the right hardware and you've got your own database server? ;)

Thanks :)
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Stupid question, but what's the difference between address space and RAM?

I may have 4G of addressable memory, but only 128M of physical memory. The OS keeps mapping of all the virtual addresses and their associated physical address (or if they're paged to disk).

Linearly accessing? How does that work, and why is it limited to 4 GB?

If I can linearly address a piece of memory I can read from it without going through any hoops, I just ask the processor for the data at the address. And on 32-bit machine's it's limited to 4G because that's what 2^32 equals, on 64-bit processors it's 2^64.

Which would then need both the right chipset and OS if you want to use this RAM, correct?
Hmm... so a simple patch plus the right hardware and you've got your own database server?


Yes you need a chipset that supports that much memory and an OS that knows how to address the memory above the 2^32 mark. For NT you need to buy a really expensive version of the OS, for Linux you recompile the kernel =)

Although there are issues with large memory, drivers have to be aware of how to use it or alteast to know how to specifically not use it. Some Linux drivers still have issues with DMA and high memory. I have no idea how MS deals with this.
 

Elledan

Banned
Jul 24, 2000
8,880
0
0
Thank you, Nothinman! A most useful explanation :)

One more question, though: what is different about a chipset which supports more than 4 GB? In other words: how does the chipset deal with memory (physical/virtual?) and why is it limited to 4 GB in most chipsets?
 

Locutus4657

Senior member
Oct 9, 2001
209
0
0
Intel chips since at least the PIII and AMD Athlons have a 36bit addressing mode which lets them use up too 64GB of memory. But from what I've heard from programmers who have actually done this it isn't exactly the nicest solution and they're really waiting for AMD's Hammer too come out.




<< Apparently I was wrong: the thread

As can be seen on this page with technical specifications of Intel CPUs, starting with the Pentium Pro CPU, an x86-based system could address up to 64 GB of RAM (plus 64 TB of virtual memory (which is?)).

As Jerboy stated in the thread I linked to: " It depends on chipset support, motherboard support, operating system support and architectual limit."

Now, what I'm wondering is what the exact relationships between those parts is regarding RAM, and what is responsible for the limit in each of these parts (the NB contains the memory controller, for example, but why does the CPU itself have a RAM limit?).

Thank you for any answers :)
>>

 

Elledan

Banned
Jul 24, 2000
8,880
0
0


<< Intel chips since at least the PIII and AMD Athlons have a 36bit addressing mode which lets them use up too 64GB of memory. But from what I've heard from programmers who have actually done this it isn't exactly the nicest solution and they're really waiting for AMD's Hammer too come out. >>

Yeah, 2^32 bytes (without the 36-bit extension) vs. 2^64 makes quite a difference ;)

Hammer CPUs will become available around Q3-Q4 of this year, right?
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
But from what I've heard from programmers who have actually done this it isn't exactly the nicest solution and they're really waiting for AMD's Hammer too come out.

Perhap those programmers should look into solutions that are already available and time tested, like Alpha or Sparc based systems? Waiting for Hammer is stupid, it's brand new and will inevitably have some problems.
 

Agent004

Senior member
Mar 22, 2001
492
0
0


<< But from what I've heard from programmers who have actually done this it isn't exactly the nicest solution and they're really waiting for AMD's Hammer too come out.

Perhap those programmers should look into solutions that are already available and time tested, like Alpha or Sparc based systems? Waiting for Hammer is stupid, it's brand new and will inevitably have some problems.
>>



Good point, Hammer is far from 'matured'. But why haven't the programmers done that then, is it so much more diffficult?
 

Locutus4657

Senior member
Oct 9, 2001
209
0
0
Alpha is dead thanks too Compaq and Sparc may or may not be able to compete in the future... So yeah, they're curiouse as to what the market is going to look like once all the new 64bit platforms are out...



<< But from what I've heard from programmers who have actually done this it isn't exactly the nicest solution and they're really waiting for AMD's Hammer too come out.

Perhap those programmers should look into solutions that are already available and time tested, like Alpha or Sparc based systems? Waiting for Hammer is stupid, it's brand new and will inevitably have some problems.
>>

 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Alpha is dead thanks too Compaq and Sparc may or may not be able to compete in the future... So yeah, they're curiouse as to what the market is going to look like once all the new 64bit platforms are out...

Alpha is far from dead, Compaq may be using IA64 boxes in the future but they still support and sell Alpha servers. My company has a lot of OpenVMS Alphas and a few GS160s, and we're not looking to get rid of them any time soon.

Sparc has as much chance of not being able to compete as IA64 and hammer, infact it has a better chance of being able to compete because it has name recognition and has already been in use for many years. The target audience of IA64 and Hammer aren't your average Q3 players, they're the people who really need 64-bit computing and those people already know Alphas and Sparcs work great and are skeptical of Intel and AMD's offerings.

Good point, Hammer is far from 'matured'. But why haven't the programmers done that then, is it so much more diffficult?

Maybe just expensive, Sun's compiler isn't cheap and gcc isn't the best optimizer. Or perhaps they just don't know about anything but WinTel...
 

Locutus4657

Senior member
Oct 9, 2001
209
0
0
I don't know... With IBM's Power4 already on the Market and quickly becomming a very attractive high end solution (espeacially thanks to the fact that IBM is so vertically integrated). And then there's hammer which is looking like a very strong mid range solution espeacially since AMD is planning to make commadity chips based on this solution which should help too keep the cost of all their Hammer products very low. Lowering the TCO of hammer low is the fact that AMD has decided to make sure that hammer is an open architecture and has done thier best (and not such a bad job) of getting all kinds of companies (possibly even intel) excited or at least interested in the technology. It really seems like Sun is at quite a disadvantage on the hardware level.



<< Alpha is dead thanks too Compaq and Sparc may or may not be able to compete in the future... So yeah, they're curiouse as to what the market is going to look like once all the new 64bit platforms are out...

Alpha is far from dead, Compaq may be using IA64 boxes in the future but they still support and sell Alpha servers. My company has a lot of OpenVMS Alphas and a few GS160s, and we're not looking to get rid of them any time soon.

Sparc has as much chance of not being able to compete as IA64 and hammer, infact it has a better chance of being able to compete because it has name recognition and has already been in use for many years. The target audience of IA64 and Hammer aren't your average Q3 players, they're the people who really need 64-bit computing and those people already know Alphas and Sparcs work great and are skeptical of Intel and AMD's offerings.

Good point, Hammer is far from 'matured'. But why haven't the programmers done that then, is it so much more diffficult?

Maybe just expensive, Sun's compiler isn't cheap and gcc isn't the best optimizer. Or perhaps they just don't know about anything but WinTel...
>>

 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
You seem to be ignoring or missing the fact that a lot of people already have a lot of money sunk into Sparc, Alpha, PARISC, etc solutions and there's not a whole lot of motivation to switch from a known good platform to an untested new one. Sure some of the new companies just starting out and looking for cheap solutions will use hammer, but the already established companies that aren't starting with a blank slate will stick with what they know works.

As much as I like AMD they're going to have serious problems moving to the 64-bit and even 32-bit server space, no matter how much better technically their products are. We've seen over and over how little technical superiority means in the current market.