What's up with 64 bit Linux
Chris Gehlker
canyonrat at mac.com
Fri Nov 23 11:25:18 MST 2007
On Nov 23, 2007, at 7:59 AM, Darrin Chandler wrote:
> On Fri, Nov 23, 2007 at 07:29:38AM -0700, Chris Gehlker wrote:
>> And I'm increasing under the impression that it isn't except the very
>> small area, basically the virtual memory manager, where it needs to
>> be
>> to support 64-bit applications. Windows got this wrong - basically
>> they went to an all 32-bit or all 64-bit world - and I was initially
>> under the impression that Linux did too. But now I think that linux
>> got it right. I don't know why Windows got it so wrong, those people
>> aren't stupid. If I had to speculate, AI'd guess it had something to
>> do with their ABI. Maybe you simply can't link 32-bit libraries into
>> 64-bit code in the Windows world.
>
> I've been reading along in this discussion, and it's been
> interesting so
> far. :)
>
> If it's best to use 32-bit code unless you have a compelling reason
> for
> 64-bit, doesn't the same hold true for 16-bit? It would be twice as
> compact as 32-bit code, so twice as much would fit in cache.
That's a keen observation and it leads to a story. When I got into
computing, everybody knew that the x86 architecture was dead. One of
the secrets to fast execution was fast decode and the secret to fast
decode was a simplified and consistent instruction set. So the A team
engineers went to work on Very Long Instruction Word architectures
like Itanium and Power. Then a funny thing happened. CPUs got fast
faster than cache memory. Cache memory got fast faster than main
memory. Main memory got fast fast faster than disk. And while x86
instructions may be quirky, they are also terse. They are the 16-bit
instructions you mention.
So now we have chips like the Core 2 family that are essentially a
bunch of silicon dedicated to translating x86 instructions into
Itanium instructions bolted in front of an Itanium. And they actually
work because CPUs have gotten so fast that they can do that
translation as fast as the bus can feed them instructions.
> IIRC, there
> are reasons why you want 32-bit for Intel processors to run a "real"
> OS,
> having less to do with bit width than the mode the processor is in.
According to Wikipedia, the x86-64 architecture doesn't have
"modes". It supports all the x86 instructions except for a few that
were never actually used by compiler writers. In addition it has some
64 bit instructions. I'm still unclear as to whether there were/are
some 64-bit Pentiums that do have modes. I increasingly doubt it.
>
>
> I have two 64-bit boxes running 64-bit OS. They are both in colo, and
> they run until I reboot them (i.e., they are quite stable). Two points
> about that: 1) neither box has an Intel processor (why use Intel for
> 64-bit?! they seem to suck at it), and 2) the boxes are running
> neither
> Windows nor Linux (I bring that up because I can't comment on Fedora
> stability or performace in 64-bit). I also have a couple of old 64-bit
> boxes at home. They are old enough to be slow, but one of which I used
> recently for quite a while as a desktop machine, including running
> Firefox, and it worked fine. Once again, not Windows or Linux, and not
> an Intel processor.
>
> I just find it interesting that there's all this talk of 64-bit on
> Intel
> processors. I never considered them much of a player in 64-bit. I'd
> love
> to hear how and why you people have done so. I don't want flames: I'm
> truly curious.
I think it's the whole terse is faster than elegant thing. If some
technology can along that sped up disk and main memory relative to
the CPU, the interest would fade again.
--
A young idea is a beautiful and a fragile thing. Attack people, not
ideas.
More information about the PLUG-discuss
mailing list