July 5, 2019

64 bit mobile device are actually a pretty stupid idea

Double the bits, twice the speed? Sounds logical, doesn't it?

Do CPUs actually get faster when they have “more bits”? Hm, not really, quite the opposite, actually. Programs get larger by about one third, causing longer loading times. In practise, what makes a 64 bit CPU perform better than its 32 bit ancestor is larger caches and a higher step rate. Having to use the bus less often in order to get RAM data will save valuable time. However, larger caches and a higher frequency is nothing, that couldn’t be done with a 32 bit architecture as well.

The “number of bits” only indirectly affects the execution speed of of a processor. The real reason to switch from a 32 to a 64 Bit architecture is the larger possible address range. A 32 Bit processor can, at most access 232 Bit, that is, 4 Gigabyte of unsegmented RAM.

Is it really reasonable to have more than 4 GB of RAM in a smartphone? Actually not - and that has little to do with modesty, but the way, DRAM works. With DRAM, a memory cell is build from a transistor and a capacitor. The capacitor holds the data (1 or 0) in terms of state (charged or not charged). This is a cheap design with two issues:

  1. Reading is a destructive operation. The cell’s capacitor gets discharged, so the memory controller has to write back the value after reading.
  2. All capacitors leak charge. The memory controller has to refresh every cell several times per second by reading and writing back its contents.

(Re)Charging a DRAM cell requires power. In mobile devices this translates to: the more (D)RAM a device has, the higher the drain on the battery.