What is the difference between a 32-bit processor and a 64-bit processor?
The fundamental difference between a 32-bit and 64-bit microprocessor is what their names suggest: the size of the basic integer operations, also called the 'native' size of a CPU's calculations. The native size of a CPU determines a whole bunch of related characteristics.
For instance, all integer calculations are done using the native size; this matters in terms of performance for several reasons:
- if you add two integers smaller than the native size, it requires only a single operation.
- if you add two integers larger than the native size, you must perform 3 operations (add the upper values, add the lower values, then combine).
For instance, if you wanted to add two 20-bit numbers, on both the 32-bit CPU and 64-bit CPU it would require a single operation. However, if you wanted to add two 40-bit numbers, it would require only 1 operation on a 64-bit CPU, but 3 operations on a 32-bit CPU.
The native size of a CPU also determines things like the maximum addressable memory - thus, a 32-bit CPU can address up to 2^32 = 4GB of memory, while a 64-bit system can address up to 16 Exabytes. It also determines the minimum size of information that has to be processed - when fetching information from caches and memory, no operation can be done with information less than the native size. Thus, 64-bit CPUs are more demanding on memory subsystems, as they need to process information in 64-bit chunks, rather than 32-bit ones.