Difference Between 64-bit and 32-bit Computing and What It Means for Phones

September 15, 2013 | By Rakhitha | Filed in: Tech.

You can probably notice that discussions are popping up on advantages of 64-bit systems. It is mostly linked with Apples 64-bit A7 processor in new iPhone. If you just search the web for iPhone and 64-bit, you will find that some call it innovation, some say it gives huge advantages including major performance boosts. And some try to explain it to laymen using oversimplified if not completely incorrect examples.

I am not a fanboy of Apple or Android. In case you want to know, I am still using a Nokia phone which I purchased when Nokia was still the industry leader. However I am developing software that push the limits of 32-bit and need 64-bit to run at their best. So I know a thing or two about what I am going to say. Here is my take on differences of 64-bit and 32-bit. I cannot make it too simple, because then it will not give the correct information. But I’ll try to keep it as simple as possible.

Innovation or Evolution

First of all, let me address the innovation aspect. 64-bit computing is not an innovation. It’s an evolution from 32-bit to 64-bit. Which took place more than 10 years ago. Now 32-bit is being completely phased out from computers and we are starting to get 64-bit processors in phones. In near future all general purpose computing processors will be 64-bit or higher. Because when most chip manufactures move on to manufacture 64-bit chips, due to economics of scale manufacturing 32-bit systems will simply be too expensive.

What does 64-bit means compared to 32-bit

It’s a measurement, just like any other number such as your height or weight. It talks about the width of the address bus of a computer system and its word size. When a system is 32-bit, it means the word size and address bus width is 32-bit. When a system is 64-bit, that means the word size and address bus is twice as large as that of a 32-bit system.

Ok what is word size? In a memory, every memory cell can store an either a ‘1’ or a ‘0’. It’s called a bindery digit or Bit. Word size is the smallest number of bits the CPU can access at once. Bigger the word size more data that come in to the CPU in a single fetch. But this does not essentially give an advantage to a 64-bit CPU over a 32-bit CPU. Because modern 32-bit CPU has 64-bit data buses and registers. This allow them to fetch 64-bit blocks of data from memory to CPU registers in a single fetch.

However address bus size is a different matter. Memory consist of individual bits (which store a ‘1’ or a ‘0’). 8-bits make up a byte. Each byte has an address so that it can be accessed directly from CPU. This address is just a number.  Just like your phone number which is used to identify your phone.

Imagine if there are only 4 digits in a phone number, at-most you can have 10000 different phone numbers (assuming 0000 is a valid phone no). If you add one more digit you will have ten times more phone numbers. Address bus size is the number of digits that a memory address can have. A 32-bit address bus gives you 32 binary digits to write your memory address. That’s 4 Gigabytes of addressable memory. A 64-bit system has 2^64 bytes of addressable memory. That is 16 petabytes (16×1024 Terabytes) of addressable memory.

But 4Gb limit in 32-bit systems is not a system wide limit. Limit is per program/application that you use. Total memory a system can have can go up to 64Gb using a feature called Physical Address Extension. One thing to add here is, in each program, a range of memory addresses will be reserved to access system resources. This reduce addressable memory per program to 3Gb or 2Gb.

64-bit advantages over 32-bit

If I haven’t lost you already with technical descriptions, you can probably realize that the only significant difference between a 32-bit and a 64-bit system is the total amount of memory a program can use. And it matters only if your program need more than 2GB of RAM.

Does 64-bit give more performance over 32-bit

Not really. It only expand the amount of data that you can handle in memory. Not how fast.

You could get better performance on heavy data crunching applications which use data structures larger than 32 bits. Because in theory a 64-bit system will be fetching 64-bits of data to CPU in a single fetch. But 32-bit processors are doing this already, using extra wide data buses and registers. So you will not notice a difference.

If your programs need more addressable memory than what a 32-bit system can give, it will have to run in a 64-bit system. Otherwise you can run it in a 32-bit platform with similar performance.

What does 64-bit means for Phones

IMO not much for the users but there are plenty of benefits to manufacturers.

What was the last time you used a software on a phone which takes anything close to 2GB of RAM? That should answer this question. We will eventually get there and probably have such software. But it’s very unlikely that such heavy memory centric use cases exist for personal mobile applications. Remember we are talking about RAM per Application, Not total RAM or Storage.

You might have read on web about more registers, and cache will give you more performance. Well yes. More registers and cache means more performance. But it got nothing to do with 64-bit vs 32-bit argument. Because this is true regardless of address bus size.

However there is an economic advantages of going for 64-bit for phone manufactures. Because 32-bit is a thing in the past. Chip manufacturers will manufacture lot more 64-bit chips compared to 32-bit chips. Soon using 32-bit chips will be more expensive.

Even though phones may not have real 64-bit use cases. Laptops and Desktops already does have. And tablets might also have some 64-bit use cases. We are also seeing same software running in phones, laptops, tablets and TVs. This become technically less complicated and cheaper to do, if all these platforms has same/similar hardware architectures. This give economical and engineering benefits to manufacturers. And possibly savings to users if the manufacturers are kind enough to pass some of those savings down the sales channel.

Well this is all I got. Turned out little too complex than I expected. Any comments?

/Rakhitha


Tags: , , , , , , , , , , , , , , ,