To the best of my knowledge the main reason is necessity.
A 32bit CPU could only address a total of 4GB of system memory as 2³² gives us 4,294,967,296 addresses.
A 64bit CPU gives us 2⁶⁴ which is 18,446,744,073,709,551,616 values such would allow us to use about 16ExaBytes of system memory and we’re nowhere near requiring it.
Bear in mind that an Exabyte is 1024 Petabytes, a Petabyte is 1024 Terabytes and a terabyte is 1024 Gigabytes.
We’re a long way off.
The main issue people seem to have is that we live in a decimal world where 64 is just 2 X 32.
Computers (hardware) live in binary where each bit l or BInary digiT can be a 0 or 1.
So 1 bit is 2 addresses (0 or 1)
2 bit is 4 addresses (00,01,10,11)
3 bits would be 8 addresses (000, 001, 010, 011,100,101,110,111)
And so on.
Latest Answers