Linked by Thom Holwerda on Fri 30th Oct 2009 12:07 UTC

Thread beginning with comment 392013
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.
I don't know that much about CPU design, but I think the current design of X86 and AMD64 has a lot of limitations because of backwards compatibility.
My impression is that the main problem with x86 was its register-starved nature, and lack of 64 bit instructions. Both fixed by X86_64. The rest of the complaints about x86 seem pretty ivory tower. On a computing power per dollar basis, X86_64 looks to be sweeping pretty much all the competition either into the dirt bin, or into little niches in the corners.
Would some other instruction set be a little better in some way? Does it matter?
You don't need any changes to the processor to do this. As I understand it, a few different JVMs can operate in this mode (32-bit pointers stored in memory, plus some base offset). FWIW, Itanium actually has special instructions to make 32-bit pointer size systems fast, so Intel has clearly thought about the strategy.
Member since:
2006-01-04
Yes, you are right. 64bit kernel and 32 bit apps would be optimal in most cases.
AFAIK modern CPUs get their speed from running stuff in cpu cache and 64bit pointers etc take way more cache memory.
I don't know that much about CPU design, but I think the current design of X86 and AMD64 has a lot of limitations because of backwards compatibility.
Maybe when FOSS gets more popular AMD or Intel will introduce an "X86 unleashed" mode where you have can 16 64bit registers and 32 bit pointers and GCC and go wild with its optimizations. Might be just a brainfart, though.