19

I have pondered that some say "32-bit is old news" because you are limited in RAM without cutting around, such as with PAE. Assuming first that the following factors weigh in on the processor's speed itself:

  1. Microarchiterual design, meaning things like cache size, implementation of microcode (if applicable), data/address bus and register connections, and, of course, design principles or structures.

  2. Clock speed itself.

  3. Bus speeds, such as FSB speeds (front-side bus) and the related such.

  4. Special features, like parallelism, "hyper threading", "compute units", off-loading work with a co-processor or background processor, multi-core environments, etc.

Assuming (and we know all of those things weigh in on speed factors) the processor is 32-bit, would the fact that it is alone 64-bit make it faster just because of increased bit-width, memory addressing, size, etc.?

Basically, with two identical processors, would the 64-bit one be faster generally in machine code decoding, fetching, accessing memory, MMIO, computations, etc., than the prior 32-bit clone?

2
  • 7
    This is a surpisingly good question; well phrased and with, in contrast to what the title may suggest, a very limited scope. I think it's a great fit for this format and find no reason for it to be closed as 'too broad'. Mar 5, 2014 at 21:38
  • Link to the original, deleted question I am referencing (note the title is almost identical to this question): How much faster is a 64-bit CPU than a 32-bit CPU? Mar 11, 2014 at 19:32

2 Answers 2

9

Obviously, for any application with large memory requirements or involving many numbers larger than 2/4 billion, 64-bit is a huge win. For program instructions and integer calculation, which is a huge part of general computing, there is no intrinsic benefit for 64-bit. Because, honestly, who needs to count past 2/4 billion or keep track of more than the 32-bit-address-space-worth of RAM.

But why do we see such a speed up? Smart compilers. Compilers are always learning new tricks. Like why loop through and sum up 100 32-bit integers when instead you can add 50 void-casted 64-bit numbers and then add the 32-bits of each part of that "64-bit" number.

But the main contributing factor that answers "yes!" to your question is the wider data path access that 64-bit processors have to main memory.

For benchmarking and a discussion of differences in one architecture and then comparison to other architectures, please see:

http://zsmith.co/

0

Simply because... no.

A processor with a wider register size can move and process more bits in the same clock cycle.

However, that fact is independent of the clock speed. And not all tasks a computer can do benefit from being able to move more bits.