[wplug] (OT) 32 more bits

Patrick Wagstrom pwagstro at andrew.cmu.edu
Tue Apr 26 21:36:57 EDT 2005


> AFAIK, it doesn't solve any x86 design issues.  What it does solve is
> effectively doubling the maximum size of on-die registers (i.e. EAX,
> EBX, ECX, EDX, ESP, et al).  This will allow 64 bits of information to
> be stored in each register, versus the 32 bits on current chips like
> AthlonXP.  The biggest problem is/was lack of software available to take
> advantage of these registers.  I have not read too much about the 64 bit
> architecture, but I would assume this will work much like the transition
> from 16bit to 32bit.  Old applications (in this case, 32bit) could still
> access the 'old' 32bit registers (EAX, EBX, etc), and therefore run as
> they did before with no performance gain.  Meanwhile, the 'new' 64bit
> apps would use the 64bit registers.  
> 
> >From a performance standpoint, you are moving twice as much data in the
> same amount of time.  This would reduce the amount of times you would
> access other subsystems (RAM, HDD, etc).  
> 
> There may be more additional registers and functions implemented in the
> 64bit architecture that I'm unaware of.  My comparison is based solely
> on expanding the existing 32bit registers.  

x86-64 does add additional registers, so instead of 8 general purpose
registers the processor now has 16.  In addition, all of these are 64
bit (at least when in 64 bit mode).  It also has 8 additional 128 bit
SSE registers.

It's a mistake to think that all of this adds up to a faster system.
Many of the current applications that have both 32 and 64 bit modes are
slower on 64 bit systems.  There are two reasons for this, the first is
that compilers are not yet optimized for the new architectures.  The
second is that pointers now occupy twice the space, and I don't believe
that bus width to memory has been doubled.

So where is this going to be helpful?  Well, intel has a hokey problem
when you get up to about 1G of ram, which many systems are reaching
today (in Linux you need to install a BigMem kernel to get around this).
The x86-64 gets around this nicely.  Also, with the additional SIMD
registers multimedia stuff should get a nice little improvement.

Of course, in a year or so this whole thing will be moot because it will
be increasingly difficult to even purchase a 32 bit processor.

--Patrick




More information about the wplug mailing list