Related articles |
---|
32-bit vs. 64-bit x86 Speed jlforrest@berkeley.edu (Jon Forrest) (2007-04-11) |
Re: 32-bit vs. 64-bit x86 Speed gah@ugcs.caltech.edu (glen herrmannsfeldt) (2007-04-13) |
Re: 32-bit vs. 64-bit x86 Speed marcov@stack.nl (Marco van de Voort) (2007-04-13) |
Re: 32-bit vs. 64-bit x86 Speed anton@mips.complang.tuwien.ac.at (2007-04-13) |
Re: 32-bit vs. 64-bit x86 Speed DrDiettrich1@aol.com (Hans-Peter Diettrich) (2007-04-13) |
Re: 32-bit vs. 64-bit x86 Speed ian.rogers@manchester.ac.uk (Ian Rogers) (2007-04-13) |
Re: 32-bit vs. 64-bit x86 Speed meissner@the-meissners.org (Michael Meissner) (2007-04-13) |
Re: 32-bit vs. 64-bit x86 Speed georgeps@xmission.com (George Peter Staplin) (2007-04-13) |
Re: 32-bit vs. 64-bit x86 Speed tmk@netvision.net.il (Michael Tiomkin) (2007-04-13) |
Re: 32-bit vs. 64-bit x86 Speed dot@dotat.at (Tony Finch) (2007-04-13) |
Re: 32-bit vs. 64-bit x86 Speed kenney@cix.compulink.co.uk (2007-04-13) |
Re: 32-bit vs. 64-bit x86 Speed DrDiettrich1@aol.com (Hans-Peter Diettrich) (2007-04-14) |
Re: 32-bit vs. 64-bit x86 Speed DrDiettrich1@aol.com (Hans-Peter Diettrich) (2007-04-14) |
Re: 32-bit vs. 64-bit x86 Speed gah@ugcs.caltech.edu (glen herrmannsfeldt) (2007-04-18) |
[6 later articles] |
From: | George Peter Staplin <georgeps@xmission.com> |
Newsgroups: | comp.compilers |
Date: | 13 Apr 2007 01:36:42 -0400 |
Organization: | nil |
References: | 07-04-031 |
Keywords: | architecture, performance |
Posted-Date: | 13 Apr 2007 01:36:42 EDT |
Jon Forrest wrote:
> I don't think it's worth messing with 64-bit computing for apps that
> don't need the address space."
This is an interesting claim. I've heard from several people that the
64-bit x86-64 architecture can be slower with some code patterns.
The 32-bit x86/IA-32 instruction set is translated on modern processors
to a more efficient form, and modern IA-32/x86-64 processors have >= 160
internal registers, and register replacement algorithms that run
automatically.
There are several other things to consider:
1. The 2038 bug generally is fixed by a 64-bit computer. Computers
doing bank transactions and many automated calculations may have issues
with a 32-bit computer. Consider long loans, and contracts.
2. The x86-64 instruction set may translate more directly to the
underlying architecture than the x86 instruction set.
Cray uses SRAM with the AMD x86-64 CPUs, so the RAM state doesn't need
to be updated after a period of cycles, and thus doesn't block the bus
during some loads/stores from what I understand. Most consumer RAM is
much cheaper, and does require periodic updates to retain the data
patterns. SRAM is also rated at a higher speed than DDR or SDRAM
generally. Note: the modern CPUs use some form of SRAM for the high
speed caches builtin to the CPU.
> Let's say you're a Linux user who never needs to run programs that
> don't fit in 32-bits. Would you run a 32-bit or a 64-bit version of
> Linux? You compiler people probably have intimate knowledge of the ISA
> issues here so I'm interested in what you have to say.
It would depend on what I was using it for. Compatibility is a big
reason to use the 32-bit x86/IA-32.
I think it's very difficult to compare CPUs, especially modern CPUs,
because of variable cycles-per-instruction, cache patterns and
algorithms effecting the cache replacement, register replacement
algorithms, branch prediction algorithms, operating system differences
for x86 vs. x86-64, and many other variables. You might find a clear
winner with one program, and the same machine might be a clear loser
with another.
So, I guess the primary reasons to use the x86-64 are address space,
2038, and possibly a performance increase depending on the programs and
toolchain.
-George
Return to the
comp.compilers page.
Search the
comp.compilers archives again.