Why is 64 bit faster. RE: [Beowulf] Win64 Clusters!!!!!!!!!!!!

Andrew Shewmaker agshew at gmail.com
Sat Apr 14 00:55:21 PDT 2007

On 4/12/07, Mark Hahn <hahn at mcmaster.ca> wrote:
> > 1.) Why is a 64 bit cpu faster?  I had assumed the main benefit was the
> > memory that could be addressed, obviously a bad assumption.
> being able to address more memory is indeed critical for some codes.
> certainly not all; in fact, the larger pointers hurt some codes.
> 64b mode also enables a lot more registers, of which the compiler can
> make very good use.  and some codes like the extra register width.

Real World Technologies has some good threads on what makes x86-64
better than x86.

People have mentioned the extra registers you get when going to
x86-64, but I don't
think anyone mentioned how that was related to the x87 unit.  x86-64's ABI
forces people off of the x87 unit (mostly), and that's a good thing
for several reasons.


Increasing the number of logical registers beyond a certain point can
have negative
consequences (increased write-back of intermediate values).  Register renaming
in hardware works pretty well.


For those worried about 64-bit pointers, they also talk about
"compressed pointers"
(aka indexes).


And why 64-bit pointers don't necessarily hurt performance that much even if
you don't compress them.


One nice benefit of x86-64 is that it allowed the Linux kernel
developers to clean up.


There's tons of other discussion about how 32-bits of virtual space
isn't enough, how PAE
sucked, why simple flat address spaces are good, and why x86-64 made sense even
if only a small percentage of the market required 64-bits.

Andrew Shewmaker

More information about the Beowulf mailing list